Archive for August, 2009

Cengkerang Interaktif untuk PHP

Posted by mkhairul

Salah satu benda yang pertama sekali seorang pengaturcara jumpa apabila mencuba sesuatu bahasa pengaturcaraan adalah cengkerang interaktif (interactive shell). Kalau python, dia akan terus run shell ini apabila anda menaip python (itupun jika dah register pada System variables pada Windows kalau tidak, harus taip laluan penuhnya mungkin di C:\Python2.5\python.exe),

python_cmd

jika Perl anda perlu menaip arahannya iaitu perl -d -e 1.

perl_cmd

Tetapi, jika untuk PHP, saya menggunakan PHPInteractive (install di local sahaja, jangan install di server, merbahaya :D ). Aplikasi ini digunakan untuk memudahkan anda menguji idea baru dan sebagainya. Boleh ke function ini berbuat sebegini? cuba sahaja di PHPInteractive. Tetapi untuk menguji data didalam database, anda harus menaip semula connectionnya. Agak tidak sesuai (saya tak test database melalui phpinteractive, cuma function dan idea yang kurang pasti seperti menguji snippet yang diambil dari internet, fungsi recursive dan sebagainya).

phpinteractive

Apakah yang anda gunakan sebagai cengkerang interaktif anda?

Mempercepatkan interaksi dengan komputer

Posted by mkhairul

Pada mereka yang menggunakan Windows XP, klik pada start menu anda, pergi ke ‘All Programs’. Berapa banyak software yang terdapat dalam komputer anda? Apabila saya berbuat demikian, ia memaparkan 5 column yang penuh dengan software yang berada dalam komputer saya. Jika saya run perisian melalui start menu, sudah tentu ia memakan masa dan mengganggu produktiviti saya (dengan kata lain, berjanggut la gamaknya).

Jadi bagaimana? Buang perisian yang tidak selalu pakai? (tidak selalu tak bermakna tak pakai)

Jawapannya adalah menggunakan perisian yang dikenali sebagai ‘launchers‘. Launcher adalah perisian yang membolehkan anda menaip sebahagian daripada nama perisian untuk anda melancarkan perisian tersebut.

Walaupun terdapat pelbagai perisian ‘launcher’, berikut adalah yang selalu digunakan:

launchySaya menggunakan Launchy. Agak mudah, ringan dan UI pun ok la (walaupun tak tgk sangat pun UI). Slickrun pun ok juga, tapi ia lebih dari ‘launcher’ ia mempunyai keupayaan untuk diprogram menggunakan bahasa makro nya sendiri yang dipanggil sebagai MagicWords.

Cuba-cubalah menggunakan perisian ‘launcher’, yang mana sesuai untuk anda saya tidak tahu (sebab tulah kena cuba) tetapi yang pasti ia dapat mempercepatkan anda berinteraksi dengan komputer serta meningkatkan produktiviti anda (dan juga mengurangkan sakit jari kena klik banyak sangat).

Selamat Mencuba!

Integrated Development Environment (IDE)

Posted by mkhairul

Salah satu peralatan yang penting dalam perjuangan seseorang pengaturcara adalah IDE. Jika anda menggunakan Notepad++ ataupun Textpad, perisian tersebut bukanlah IDE, ianya adalah text editor. Sesuai untuk menyunting (edit) kod tetapi tidak sesuai untuk membangunkan perisian.

screencap_24-08-2009-22.32.04Saya tidak menterjemah IDE kerana saya takut akan hasil daripada terjemahan saya :D , dan jika ianya diterjemahkan pun anda tidak mungkin akan digunakan kebanyakan masa (99% daripada masa anda membangunkan perisian/bekerja), melainkan anda vendor kerajaan ataupun kakitangan kerajaan, itupun didalam kertas kerja. Kalau anda tahu, dialu-alukan memberitahu saya didalam ruangan komen. :D

Jadi, apa yang anda cari didalam IDE? Sudah tentulah fungsi untuk memudahkan aktiviti pengaturcaraan, tetapi apakah itu? Jikalau anda mempunyai ’swiss army knife’ tetapi tidak tahu apa yang boleh dilakukannya selain memotong, anda berada dalam keadaan yang rugi. Rugi kerana tidak menggunakan IDE anda dengan sepenuhnya (50% pun oklah). Anda tidak perlu mengenali kesemua fungsi didalam IDE anda, setakat tahu apa yang anda mahu, itu pun memadai.

Sebuah IDE terdiri daripada:

  • source code editor
  • a compiler and/or an interpreter
  • build automation tools
  • a debugger (ataupun dalam BM, pengayahpijat)

(more…)

Persiapan dalam Pembangunan Perisian

Posted by mkhairul

Bagaimana anda bersiap sedia untuk pergi ke shopping complex dengan awek? Gel letak banyak-banyak (kasi bersinar sikit), minyak wangi satu botol (dari jauh orang dah boleh tau), kasut branded, tali pinggang, check kat cermin supaya kemas, baca bismillah dan kemudian bertolak.

Begitu juga dalam programming, terdapat beberapa langkah persediaan yang perlu dilaksanakan sebelum memulakan aktiviti ini.

Jika hanya anda seorang:

Jika lebih dari seorang:

  • version control
  • issue tracking (jika lebih dari seorang) ataupun mana mana perisian yang dapat senaraikan tugas / isu.
  • wiki
  • coding guideline
  • terdapat beberapa lagi yang tidak akan disentuh disini seperti automated testing, automated build/deployment

(more…)

Peranan Firefox dalam Pembangunan Web

Posted by mkhairul
firefoxSiapa tidak kenal akan perisian untuk melayari web Mozilla Firefox? (Sila ikuti link untuk maklumat lanjut). Tidak ramai yang mengenali betapa besarnya peranan Firefox dalam pembangunan web. Saya tidak menggunakan Firefox sepenuhnya untuk melayari web kerana Google Chrome memenuhi kehendak saya untuk itu, akan tetapi, dalam membangunkan aplikasi atau laman web, tiada pengganti bagi Firefox.
Kenapa?
Semuanya kerana sambungan-sambungan (extension) yang terdapat pada Firefox. Terutamanya Firebug. Add-on ini dapat berkali ganda memudahkan pembangunan web.
  • Anda boleh meneliti sesuatu elemen dengan mudah kerana firebug menyenaraikan sebarang rujukan CSS yang digunakan oleh elemen tersebut.
  • Mengedit HTML secara terus melalui antaramuka (User Interface) firebug.
  • Memudahkan proses nyahpijat (english: debug; aduh, pening dengan istilah-istilah nih) javascript melalui console firebug.
  • dan pelbagai lagi kemudahan, anda harus cuba untuk lebih memahami dan merasai nikmat yang dapat diberikannya :D .
firebug
Selain dari firebug, terdapat beberapa lagi sambungan yang penting dalam pembangunan web.

Mungkin ada banyak lagi yang digunakan oleh pengaturcara-pengaturcara web diluar sana, tapi yang kerap saya gunakan adalah firebug, web developer extension dan juga selenium. Ia bergantung pada keperluan masing-masing.

Buat masa ini saya memberi ulasan ringkas mengenai Firebug, tetapi penggunaannya amatlah penting dalam proses debugging. SeleniumIDE yang tidak ramai mengetahui mengenainya juga amat penting dalam proses testing kerana ia memberi keupayaan untuk melakukan automated testing (tak perlu letih-letih buat benda yang sama berulang-ulang).

Video Rekabentuk Web dalam 2 minit

Posted by mkhairul

Antara video kegemaran saya. Video ‘time-lapse‘ yang menunjukkan proses rekabentuk / pembangunan laman web. Musiknya juga amat menenangkan.

Web Design in 2 Minutes

Saya ada merekod beberapa video ditempat kerja saya sebelum ni dalam membangunkan perisian untuk institusi pendidikan swasta. Malangnya video-video tersebut hilang entah ke mana.

Selamat Datang ke Sembang Programming!

Posted by mkhairul

Selamat datang ke laman web SembangProgramming. Disini saya akan post tips, artikel dan juga coretan mengenai pengaturcaraan. Kebanyakannya adalah mengenai aplikasi web.

Laman web ini agak baru dibangunkan, sebarang soalan dialu-alukan. Untuk maklumat lanjut mengenai laman web ini, sila pergi ke Tentang SembangProgramming.