Archive for the ‘programming’ Category

Form Validation: jQuery + CodeIgniter (validation engine codeigniter)

Posted by mkhairul

Post kali ni nak kasi demo sikit, form validation guna jQuery dan juga CodeIgniter. Komponen untuk server side,

Kali ni, kod overload. Kalau ada rasa loya-loya sikit bila tengok kod banyak sangat, sila undur ke belakang perlahan-lahan dan cari beg plastik sebagai persiapan untuk muntah, pastu teruskan membaca.

Untuk makluman semua, kod dibawah digunakan bersama dengan Validation Engine 1.6.3. Untuk version 2.0 ni, tak berapa pasti, tapi mengikut firasat aku, takde beza kot (nanti la aku test).

So kalau nak tengok demo untuk validation engine tu, gi la ke demo page dia.

Validation Engine
Plugin ni ada client-side validation, tapi aku ni, malas sikit nak buat client side validation ni kerana server-side validation kena buat jugak. Oleh kerana aku lebih suka meluangkan masa di reddit daripada buat client-side validation, aku buat server-side je lah.

Kalau nak buat client-side validation, kat site dia ada cerita, dalam docs tu dan bila invalid data, dia keluar pop-up macam ni,

Amacam? Menarik? Hehehe.

Oh, benda ni bukan limit pada codeigniter je, kalau php biasa pun leh guna. Sebab aku guna codeigniter, aku kasi spotlight la kat CodeIgniter. Hehehe.

Ok, first sekali kena set jquery form plugin.

var options = {
  beforeSubmit:  loading,  // pre-submit callback
  dataType: 'json',
  success: cleanup  // post-submit callback
};
$('#nama_form').ajaxForm(options);

Form dia, aku kasi contoh, gini la rupa dia

<?php echo form_open('register/create', array('id' => 'registration_form')); ?>
	<h3>Account Info</h3>
	<div>
		<label>Email Address<span class="required">*</span></label>
		<input type="text" class="email-address text" id="username" name="username" value="" />
		<span class="field_info">Type in your email address, an email will be sent afterwards</span>
	</div>
</form>

Ha, simple je. Pastukan, kita taruk ni pulak
(more…)

CamelCase

Posted by mkhairul

Apa itu CamelCase?
Di wikipedia dia tulis, gabungan perkataan dimana setiap element (perkataan) dicantum tanpa menggunakan ruang kosong (space) dan setiap huruf di permulaan perkataan adalah besar (capital letter).

Contohnya jika anda mempunyai fungsi yang dipanggil..

get_items_in_list

Dalam CamelCase, ia ditulis sebegini,

GetItemsInList

Saya lebih menggemari pemisahan perkataan dengan menggunakan underscore ( _ ), dalam penamaan fungsi (function). Senang nak baca, walaupun agak panjang, tapi senang nak baca tu yang penting.

Tapi yang penting, kena konsisten. Jangan sekejap CamelCase sekejap , sekejap benda lain. Kena ada guideline untuk cara penulisan. Kalau setiap programmer ada style masing-masing (ada yang takdak style, ikut sedap hati dan mood.  Sekejap camelcase, sekejap hungarian notation, etc) haru-biru la gamaknya.  Dan kalau kena maintain sistem, programmer sebelum ni dah pakai CamelCase secara konsisten terpaksa la ikut.

Oleh kerana saya telah menulis pelbagai kod sebagai projek sampingan (pet project) yang tidak dapat disiapkan (tiba-tiba banyak pulak kerja) dan dibiarkan terbengkalai selama 3-6 bulan (ada yang sampai bertahun) dan kemudiannya saya sambung balik, ianya secara tidak langsung melatih saya untuk menulis kod dengan lebih teliti supaya  pada masa akan datang saya dapat memahami kod yang ditulis dan sambung menulis kod tersebut.

Ok, setakat tu sahaja untuk hari ni. Nak kena sambung baca kod orang (dan baiki indentation, *sigh*, masih ramai tak reti guna IDE dengan betul).

Selamat Programming!

Asas dan Pengenalan C++

Posted by mkhairul

E-buku yang disediakan oleh En. Najmi (teruskan usaha!) dan diuploadkan oleh beliau ke Scribd.
Asas dan Pengenalan C++ dalam Bahasa Melayu

Asas dan Pengenalan C++ dalam Bahasa Melayu_1258991179845

Saya pun tak berapa reti C++, maklumlah selama bekerja ni tak berpeluang nak guna.

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…)