Tuesday, December 28, 2010

Outstation.... lagi....

besar kemungkinan aku kene pegi outstation lg... from 22hb hingga 31 hb jan 2011 nanti....

tapi the best part nya... tpt outstation tu dkt jer dgn kampung aku..... hahahhahaha.... ada yg aku stay rumah mak & abah aku jer ni kang.... huhuhuhuhu....

apapun masih x confirm... tapi kemungkinan tu besar la... tgk la macamana nanti.

Monday, December 13, 2010

my Workstation@home

akhirnya...

aku ada workstation aku sendiri kat rumah. yg proper.. maksud aku meja and kerusi utk mengadap laptop.

sebelum ni aku gunakan sofa & meja kopi... ataupun aku tumpang workstation wife aku.

x la complete sgt. tapi cukup utk 2 biji lappy & 1 mac mini + monitor.

nanti ada masa aku snap gambar nya.

Sunday, December 12, 2010

im passing 30 today

hari ini genap umur ku 30 tahun... alhamdulillah aku bersyukur dgn nikmat & kurnia yg Allah berikan kepada aku setakat ini.

seorg isteri & 3 org hero yg comel.. cukup mengembirakan aku.

ahli keluarga & keluarga mentua... semua menyenangkan aku...

cuma azam aku selepas ini utk terus memperbaiki diri dr semua aspek kehidupan.

amin...

* terima kasih kepada isteri tercinta belanja aku makan malam di san francisco....
*thanxs to all wishes kat wall facebook aku.

Thursday, December 9, 2010

Simple MySQL tips

MySQL merupakan satu pelayan pengkalan data yang bagus.

tetapi walau sehebat mana pun sesuatu aplikasi pelayan pengkalan data itu tidak akan ada maknanya kalau kita salah mereka bentuk struktur pengkalan data kita.

masalah utama utk pengkalan data berasakan sql adalah capaian masa untuk sesuatu 'query' itu selesai.

kalau didalam pembangunan berasakan web, masa amat penting. proses timeout merupakan mimpi ngeri yg tak nak dihadapi oleh pembangun aplikasi berasakan web. ada 2 penyumbang besar kepada jumlah masa yg diperlukan utk sesuatu halaman itu berjaya dipaparkan di pelayar pengguna selain dari jangkauan dan limitasi capaian internet ialah masa yg diambil oleh bahasa pengatucara utk memproses sesuatu permintaan dan masa yg diambil oleh query utk mendapatkan keputusan dari pengkalan data.

didalam satu permintaan mungkin akan ada 1 atau lebih query yg perlu dilakukan utk mendapatkan data2 yg didinginkan. disini, masa akan menjadi panjang kalau kita tidak menstrukturkan 'table' pengkalan data dgn betul.

paling penting, 'PRIMARY KEY' ataupun kunci utama data kita. jangan ketawa jika ada yg x buat pun bende ni. byk kegunaan primary key ini. bukan shj untuk mengelakkan pengulangan data ia juga mempercepatkan carian/query kita. kesan mungkin tidak nampak jika kita bermain dgn data berskala kecil.. tetapi bila ia menjangkau ratusan ribu baris... anda akan tepuk dahi memikirkannya...

untuk mempercepatkan carian/query, kalau boleh.. column yang penting & selalu dicari setkan ia dalam kombinasi primary key. sebagai cth.

kod untuk bilik darjah : 010305
dimana:
01 mewakili id blok
03 mewakili id tingkat
05 mewakili id bilik darjah.

pendekatan yg paling sesuai adalah memecahkan kod bilik darjah itu kepada 3 column berasingan. dan gabungkan 3 column itu sebagai primary key.

ini juga memudahkan anda membuat carian bedasarkan blok atau tingkat atau bilik darjah atau mana2 gabungan mengikut keperluan. adalah lebih cepat masa yang diambil mengunakan standard operator seperti =,!= daripada mengunakan 'LIKE %someting%'.

kurangkan pengunaan varchar/char sebagai primary key. lebih sesuai jika mengunakan int atau tinyint bergantung kepada keperluan. praktikan pengunaan data rujukan yang amat membantu jika anda membangunkan aplikasi yg byk mengunakan data rujukan.

sebagai cth lg, jika anda mengunakan NO KP tai NO IC (benda yg sama) sebagai primary key. ia betul.. sesuatu yg unik. tetapi dalam format no kp lama, ada char disitu. ini akan melambatkan masa pencarian anda walaupun anda dah kenalpasti colum itu sebagai primary key.

apa yg boleh anda buat ialah. ciptakan 1 colum baru. bg nama cth 'idorang' dgn column type 'BIGINT' dgn kapasiti column sebanyak '20' dan column type 'UNSIGNED'.

gunakan query ini.

update table
SET `idorg` = CONV(SUBSTRING(CAST(SHA(TRIM(no_kp)) AS CHAR), 1, 16), 16, 10)

query diatas akan automatik ciptakan 1 unik id utk manusia yg mengunakan no kp sebagai identiti mereka bedasarkan nilai didalam column no_kp. dan ia semua int.

setakat ini sahaja tip utk mempercepatkan masa diambil utk carian didalam pengkalan data MySQL.

ada byk lg tip yg boleh dipraktikan dan diamalkan. bergantung kepada keperluan.

sekian.... salam.....