Kategori: Slackware

Beberapa Perangkat Lunak untuk Membantu Pekerjaan

Bismillaah,

  1. Skype : komunikasi secara text, video, kirim file, berbagi layar dan lain-lain.
  2. Teamviewer : remote desktop rekan kerja / klien dan untuk presentasi pekerjaan.
  3. Dropbox : media simpan online.
  4. Pocket : menyimpan artikel-artikel penting untuk dibaca di kemudian waktu.
  5. Evernote : mencatat segala sesuatu (foto, file, suara, text).
  6. Todo List: Wunderlist
  7. ImTranslator (versi web) / trs (versi terminal) : penerjamah kata yang tidak diketahui.
  8. Terminal
  9. Grafik : Inkscape dan GIMP
  10. Mockup, Sketsa, dan Skema: Evolus pencil, yEd, dan Freemind
  11. Code Editor: Sublime Text 2, Qt Creator dan Vim
  12. FileZilla
  13. Firefox dan Google Chrome

Semoga bermanfaat

Perintah untuk mengetahui program/software yang sedang akses file tertentu

Mungkin dari kita pernah mengalami sewaktu me-copy file, me-install software atau me-remove software di linux muncul pesan kesalahan bahwa file tertentu sedang digunakan oleh program lain, dan proses tersebut tidak dapat dilanjutkan lagi. Sebagian dari kita juga sudah mengetahui untuk melihat proses-proses yang sedang berjalan di linux bisa menggunakan perintah top atau ps -aux, namun jika perintah-perintah tersebut belum bisa menampilkan program apa saja yang sedang mengakses file tertentu, maka kita bisa menggunakan perintah-perintah berikut:


lsof path-file

fuser -v path-file

contoh penggunaan:


lsof /var/cache/debconf/config.dat

fuser -v /var/cahce/debconf/config.dat

Semoga bermanfaat.

setting htaccess untuk redirect https codeigniter

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HOST_NAME}%{REQUEST_URI} [R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1

Penjelasan:

RewriteCond %{HTTPS} off

Cek apakah https aktif atau tidak, apakah kita request menggunakan http:// ataukah https://. Jika menggunakan http:// maka redirect ke https:// melalui rule dibaris selanjutnya. yaitu:

RewriteRule ^(.*)$ https://%{HOST_NAME}%{REQUEST_URI} [R=301]

Pada baris ini:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1

menghilangkan index.php dari url codeigniter. Default-nya url codeigniter adalah  http://namadomain.tld/index.php/controller/param atau http://namadomain.tld/index.php?/controller/param. Dan dengan rule di atas url menjadi http://namadomain.tld/controller/param. Pada artikel ini kami hanya menjelaskan isi file htaccess, dan agar htaccess ini bekerja perlu dilakukan beberapa perubahan di file config.php dan route.php codeigniter.

Semoga bermanfaat …

Belajar SCM (Source Code Management) Software : Git untuk pribadi (1)

Tentang SCM (Source Code Management)

Source Code Management software adalah software yang berfungsi mengendalikan perubahan-perubahan yang terjadi dalam proses pengembangan software. Salah satu aktivitas SCM adalah Revision Control, yaitu pengelolaan terhadap perubahan-perubahan yang terjadi pada artifak (dokumen, source code) oleh banyak programmer  dalam proses pengembangan software. Sedangkan software yang digunakan untuk membantu aktivitas Revision Control disebut dengan Version Control System (VCS). VCS dikelompokkan menjadi 3 kelompok yaitu:

  • Client-Server

Semua programmer harus tersinkronisasi pada server terpusat. Contoh: Subversion, SVN, dan CVS.

  • Terdistribusi (DRCS / Distributed Revision Control System)

Mirip dengan sistem peer-to-peer, sinkronisasi dilakukan dengan mempertukarkan patches-set antar peer. Contoh: git, mercurial, baazar dan lain-lain.

  • Lokal

Semua programmer harus berada pada komputer yang sama. Contoh:  RCS (Remote Control System) dan SCCS (Source Code Control System).

Git merupakan VCS dengan kategori DRCS (Distributed Revision Control System) yang awalnya dikembangkan oleh Linus Trovalds untuk pengembangan kernel Linux. Git merupakan proyek opensource dan dapat diperoleh di http://www.git-scm.org.

Selain install sendiri di lokal komputer, kita juga bisa memanfaatkan DRCS Source Code Hosting. Berikut beberapa DRCS Source Code Hosting yang bersifat bebas dan sering digunakan dalam project open source:

Kami memanfaatkan Atlassian Bitbucket (https://bitbucket.org) yang bersifat free baik untuk project private dan public selama jumlah user yang terdaftar tidak lebih dari 5 user. Sebelum menggunakan git secara remote kita harus bisa menggunakan git secara lokal terlebih dahulu, yaitu hanya satu orang programmer saja. Selanjutnya akan dibahas bagaimana menggunakan git untuk pribadi atau individu.

Git untuk pribadi / individu

Persiapan yang harus kita lakukan adalah instalasi git di komputer, pada OS Slackware 13.37 kami git telah terinstall secara default. Sedangkan di OS Ubuntu 10.04, git dapat diinstall dengan cara:

sudo apt-get install git-core
sudo apt-get install git-gui
suod apt-get install git-doc

Pada artikel ini kita akan belajar git untuk pribadi yaitu tidak ada kolaborasi / campur tangan programmer lain dalam mengembangkan software. Atau dengan kata lain programmer bekerja secara sendirian. Artikel ini mencakup beberapa aktivitas-aktivitas dasar dan penting dalam menggunakan git.

Inisialisasi User

Sebelum melakukan apapun dengan git sebaiknya kita mendaftarkan user-user yang akan menggunakan git. Untuk inisialisasi user gunakan perintah berikut:

$ git config --global user.name "Ibnu Kholid"

$ git config --global user.email "debipraharadika@gmail.com"

pada perintah di atas kita menambahkan user dengan nama Ibnu Kholid dengan emailnya debipraharadika@gmail.com.

Konfigurasi git dapat dilihat di direktori /$HOME/.gitconfig/, contoh isi dari .gitconfig:

[user]
blacknaml = Debi Praharadika
name = Ibnu Kholid
email = debipraharadika@gmail.com

Membuat Repositori

Membuat repositori adalah dengan membuat direktori baru, kita akan membuat direktori baru git_lokal di /media/box/Project/belajar_git/. Buka terminal, gunakan perintah mkdir untuk membuat direktori baru dan perintah cd untuk berpindah direktori.

mkdir /media/box/Project/belajar_git/git_lokal

cd /media/box/Project/belajar_git/git_lokal

Inisialisasi git dengan perintah git init

debi@blacknaml:/media/box/Project/belajar_git/git_lokal$ git init
Initialized empty Git repository in /media/box/Project/belajar_git/git_lokal/.git/

debi@blacknaml:/media/box/Project/belajar_git/git_lokal$

Insya ALLAH, bersambung …

Lock wait timeout exceeded; try restarting transaction

Saat kami mengembangkan aplikasi software, kami mendapati error report operasi database innodb yang melibatkan transaction dengan peringatan error sbb, “Lock wait timeout exceeded; try restarting transaction”. Kami cek pada show processlist apakah ada process transaction mysql yang masih berjalan, dan hasilnya tidak ada process transaction yang bekerja.

Selanjutanya mari kita analisa masalahnya, pada pesan tersebut dikatakan wait timeout, kami berpikir apakah time nya kurang panjang.  Terpintas ide solusi, apakah mungkin ada yang salah dengan konfigurasi innodb-nya. Ternyata memang benar <code>innodb_lock_wait_timeout</code> -nya kurang lama, setelah kami perbesar menjadi 500 dari nilai defaultnya yaitu 50, software yang kami kembangkan kembali bekerja normal.

Berikut langkah-langkah yang kami lakukan:

  • Buka dan edit file my.cnf

Karena ini adalah klien pekerjaan freelance kami maka kami menggunakan OS Linux Slackware, dimana letak konfigurasi my.cnf berada di direktori /etc/my.cnf .

$ cd /etc/
$ vim my.cnf
  • Uncomment semua parameter yang terdapat kata-kata innodb.

Hilangkan semua comment dengan keyword innodb, sehingga konfigurasi menjadi seperti ini:

innodb_data_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
  • Perbesar nilai innodb_lock_wait_timeout (dengan satuan detik), pada konfigurasi kami sebesar 500.
innodb_lock_wait_timeout = 50

Menjadi

innodb_lock_wait_timeout = 500
  • Simpan konfigurasi my.cnf
  • Restart mysql daemon.
# /etc/rc.d/rc.mysqld restart

— Selesai —
Walhamdulillah, semoga bermanfaat, aamiin.