<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sembang Programming &#187; Tip</title>
	<atom:link href="http://sembangprogramming.com/category/tip/feed/" rel="self" type="application/rss+xml" />
	<link>http://sembangprogramming.com</link>
	<description>Sembangan mengenai pengaturcaraan</description>
	<lastBuildDate>Mon, 22 Aug 2011 06:49:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Manipulasi kandungan didalam elemen</title>
		<link>http://sembangprogramming.com/2011/08/manipulasi-kandungan-didalam-elemen/</link>
		<comments>http://sembangprogramming.com/2011/08/manipulasi-kandungan-didalam-elemen/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 06:49:04 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=577</guid>
		<description><![CDATA[Post kilat.. Katakan ada elemen macam ni.. &#60;a href=&#34;#&#34;&#62;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer augue augue, 64GB-DDRAM scelerisque vitae convallis consequat, fringilla quis urna.&#60;/a&#62; &#60;a href=&#34;#&#34;&#62;Nullam consequat molestie metus, vel fermentum mauris molestie eu. Aenean ornare lectus quis turpis congue condimentum.&#60;/a&#62; Dan katakan pulak kandungan anchor ni kita takleh nak tukar awal-awal [...]]]></description>
			<content:encoded><![CDATA[<p>Post kilat.. Katakan ada elemen macam ni..</p>
<pre class="brush: xml; title: ;">
&lt;a href=&quot;#&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer augue augue, 64GB-DDRAM scelerisque vitae convallis consequat, fringilla quis urna.&lt;/a&gt;
&lt;a href=&quot;#&quot;&gt;Nullam consequat molestie metus, vel fermentum mauris molestie eu. Aenean ornare lectus quis turpis congue condimentum.&lt;/a&gt;
</pre>
<p>Dan katakan pulak kandungan anchor ni kita takleh nak tukar awal-awal (dari service lain ataupun dari database). So, kita hanya boleh tukar bila page tu dah generate. Apa nak buat sekarang ialah nak letak 64GB-DDRAM atau perkataan seangkatan dengannya dalam elemen <span>.</p>
<p>Guna javascript macam ni.. jangan lupa include jQuery!</p>
<pre class="brush: jscript; title: ;">
$(document).ready(function(){
  pattern = new RegExp(/[A-Za-z0-9]*[-]+[A-Za-z0-9]*/)
  $('a').each(function(v){
    tmp = $(this).html().match(pattern);
    if(tmp)
    {
      str = $(this).html().replace(pattern, '&lt;span class=&quot;something&quot;&gt;' + tmp + '&lt;/span&gt;');
      $(this).html(str);
    }
  })
})
</pre>
<p>Nak explain ke tak, aku rasa agak simple kod ni untuk difahami. Kalo ade soklan tanya la dalam comment. </p>
<p>Ni kita guna sihir regex sikit. Untuk cari pattern yang match 64GB-DDRAM. Nak cari pattern lain pun boleh, mahir-mahirkan lah diri dalam regex. Nanti leh jadi superhero macam ni..</p>
<p><a href="http://xkcd.com/208/"><img alt="REGEX HERO" src="http://imgs.xkcd.com/comics/regular_expressions.png" title="REGEX HERO" class="aligncenter" width="600" height="607" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2011/08/manipulasi-kandungan-didalam-elemen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error apabila terdapat kod console.log di IE 7 dan 8</title>
		<link>http://sembangprogramming.com/2011/08/error-apabila-terdapat-kod-console-log-di-ie-7-dan-8/</link>
		<comments>http://sembangprogramming.com/2011/08/error-apabila-terdapat-kod-console-log-di-ie-7-dan-8/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 08:21:24 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=568</guid>
		<description><![CDATA[Platform utama aku untuk web development, sudah tentu si musang berapi, Firefox bersama dengan serangga setia dia (lipas atau kutu), Firebug. Jadi kadang-kadang aku terbawak bila guna console.log() ni ke IE 7 dan 8 (IE 9 ok, dia takde problem), tapi memang bagus pun pakai console.log() nih, senang nak menjalankan proses menyahpejat (debug). IE 7/8 [...]]]></description>
			<content:encoded><![CDATA[<p>Platform utama aku untuk web development, sudah tentu si musang berapi, Firefox bersama dengan serangga setia dia (lipas atau kutu), Firebug. Jadi kadang-kadang aku terbawak bila guna console.log() ni ke IE 7 dan 8 (IE 9 ok, dia takde problem), tapi memang bagus pun pakai console.log() nih, senang nak menjalankan proses menyahpejat (debug). IE 7/8 ni tak suka bila ada pembolehubah yang terus pakai, yang tak assign apa apa. Undefined variable ni dia campak error.. nampak macam ni.. </p>
<p><a href="http://www.flickr.com/photos/25768438@N07/6021400818/"><img alt="" src="http://farm7.static.flickr.com/6002/6021400818_4c0d857885_m.jpg" title="Javascript Error" class="aligncenter" width="240" height="162" /></a></p>
<p>Kod problem dia lebih kurang gini,</p>
<pre class="brush: jscript; title: ;">
// ... bla bla bla
console.log('jadi ke tak?')

$.functionPentingYangMestiRun();
</pre>
<p>Bila kat Firefox dan seangkatan dengannya, ok je benda ni. Function penting tu run. Tapi bila IE 7/8, dia stop! Dia campak error, pastu dia takmo run dah, setakat tu je.</p>
<p>Maka takmo la jadi macam tu, kena la letak condition.</p>
<pre class="brush: jscript; title: ;">
if(window.console)
{
  console.log('jadi ke tak?');
}

// ataupun

if(typeof console != 'undefined')
{
  console.log('jadi ke tak?');
}
</pre>
<p>Tak pun letak console.log tu dalam function.</p>
<pre class="brush: jscript; title: ;">
function habaq_kat_console(msg)
{
   if(window.console)
   {
      console.log(msg);
   }
}

// Bila nak pakai

habaq_kat_console('Tak leh la..');
</pre>
<p>Setakat ni saja.. ada lagi beberapa post dalam pipeline. Akan ku usahakan untuk post!</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2011/08/error-apabila-terdapat-kod-console-log-di-ie-7-dan-8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pembayang (watermark/input hint) pada input box</title>
		<link>http://sembangprogramming.com/2011/01/pembayang-watermarkinput-hint-pada-input-box/</link>
		<comments>http://sembangprogramming.com/2011/01/pembayang-watermarkinput-hint-pada-input-box/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 20:02:50 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=476</guid>
		<description><![CDATA[Kalau ada input box sahaja, tak banyak membantu. Kena ada pembayang, apa yang harus aku taip pada input box ni, label sahaja pun kadang-kadang tak membantu, kalau boleh, user ni nak kita pegang jari dia tolong tekan kan untuk dia. Tapi melampau la kan, kita pun ada kerja lain.. so kita beri pembayang, tentang apa [...]]]></description>
			<content:encoded><![CDATA[<p>Kalau ada input box sahaja, tak banyak membantu. Kena ada pembayang, apa yang harus aku taip pada input box ni, label sahaja pun kadang-kadang tak membantu, kalau boleh, user ni nak kita pegang jari dia tolong tekan kan untuk dia. Tapi melampau la kan, kita pun ada kerja lain.. so kita beri pembayang, tentang apa yang perlu dimasukkan.</p>
<p>Contohnya, input box dibawah<br />
<a href="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-2.21.39.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-2.21.39.jpg" alt="" title="Capture23-01-2011-2.21.39" width="266" height="49" class="aligncenter size-full wp-image-477" /></a></p>
<p>Memang simple habis. Tapi kalau ditambah, &#8220;hint&#8221; dibawahnya, jadi gini pulak..<br />
<a href="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-2.38.30.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-2.38.30-300x60.jpg" alt="" title="Capture23-01-2011-2.38.30" width="300" height="60" class="aligncenter size-medium wp-image-479" /></a></p>
<p>Ok la tu.. ada hint. Tapi disesetengah situasi, nak kena hint tu ada DALAM text box tu. Macam ni..<br />
<a href="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-2.45.47.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-2.45.47.jpg" alt="" title="Capture23-01-2011-2.45.47" width="313" height="37" class="aligncenter size-full wp-image-481" /></a></p>
<p>Ni dia panggil <a href="http://code.google.com/p/jquery-watermark/">watermark</a>. Aku pun tak pasti apsal dia panggil watermark, aku lagi suka &#8220;input hint&#8221; tapi ape-ape je lah. </p>
<p>Jadi, watermark tu digunakan seperti berikut.. </p>
<pre class="javascript" name="code">
<script type="text/javascript">
$(function(){
  $('#input_name").watermark("Numbers only");
})
</script>
</pre>
<p>Haaaaa.. tu dia. Nanti ko mesti pasti teriak, TAPI APSAL DIA MACAM BIASA JE, TAK KELABU PUN WATERMARK TU. Aku, kalau ada sebelah ko, aku pasti akan membuat look of disapproval.</p>
<div style="font-size: 2em; font-weight: bold; text-align: center; height: 40px;">ಠ_ಠ</div>
<p>Ye lah, ko tak apply CSS dia, macam mana dia nak jadi kelabu. So, taruk nih.</p>
<pre class="css" name="code">
.watermark{ color: #999999 !important; font-style: italic; }
</pre>
<p>Yang ni aku implement dalam aplikasi aku.</p>
<p><a href="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-3.31.24.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2011/01/Capture23-01-2011-3.31.24-300x137.jpg" alt="" title="Capture23-01-2011-3.31.24" width="300" height="137" class="aligncenter size-medium wp-image-486" /></a></p>
<p>Ha, gitu lah kisahnya watermark dan &#8220;input hint&#8221; untuk setakat ni. Pembayang ni takde hal nak letak mana pun, bawah ke, dalam ke, asalkan ada. Baru nampak &#8220;canggih&#8221; sket. Haha. </p>
<p>Takde la, kadang-kadang benda kecik ni orang tak perasan, tapi kalau ada, ianya membantu. Dan benda-benda kecik ni memang banyak (sikit kat situ, sikit kat sini) dan aku kategorikan sebagai &#8220;remeh&#8221;. Tapi tu la, remeh ni la yang buat aplikasi jadi best. Macam sikit-sikit jadi bukit gitu. IT ALL ADDS UP TO DA TOTAL USER EXPERIENCE (walaupun usernya aku sorang je). Ha..  jadi setakat ni saja semoga berjumpa lagi untuk bersembang di post yang akan datang.</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2011/01/pembayang-watermarkinput-hint-pada-input-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apakah itu $() didalam Javascript?</title>
		<link>http://sembangprogramming.com/2011/01/apakah-itu-didalam-javascript/</link>
		<comments>http://sembangprogramming.com/2011/01/apakah-itu-didalam-javascript/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 16:57:09 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=435</guid>
		<description><![CDATA[Bila kita dok guna javascript, selalu nampak $(&#8216;.kelas&#8217;), dan sebagainya. Tapi apakah itu $() ? Suatu hari sedang berlegar-legar di ruangan opis, rakan sekerja ku bertanya. Apa benda simbol dollar ni? Terkedu sikit aku. Rasa macam nak call Robert Langdon pun ada, symbologist terkenal, untuk meminta pertolongan beliau didalam hal ini, tapi sekretari dia kata [...]]]></description>
			<content:encoded><![CDATA[<p>Bila kita dok guna javascript, selalu nampak $(&#8216;.kelas&#8217;), dan sebagainya. Tapi apakah itu <strong><em>$()</em></strong> ?</p>
<p>Suatu hari sedang berlegar-legar di ruangan opis, rakan sekerja ku bertanya. Apa benda simbol dollar ni? Terkedu sikit aku. Rasa macam nak call <a href="http://www.imdb.com/title/tt0808151/">Robert Langdon</a> pun ada, symbologist terkenal, untuk meminta pertolongan beliau didalam hal ini, tapi sekretari dia kata dia takdak la pulak. </p>
<p>Aku pun buka almari ku yang berhabuk dan bersawang dengan sarang tarantula gergasi dimana bermulanya pertempuran sebegini. Ngeri bai. Nasib baik aku dapat belasah labah-labah tu, level up sikit.<br />
<div id="attachment_437" class="wp-caption aligncenter" style="width: 310px"><a href="http://sembangprogramming.com/wp-content/uploads/2011/01/playstation_Final_Fantasy_VII-Combat.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2011/01/playstation_Final_Fantasy_VII-Combat-300x211.jpg" alt="" title="playstation_Final_Fantasy_VII-Combat" width="300" height="211" class="size-medium wp-image-437" /></a><p class="wp-caption-text">Peristiwa aku menyerang raksasa..</p></div></p>
<p>Ok, terbabas ke gaung jalan cerita ni. Dimana ya? Oh, $(). $() ni selalu digunakan didalam Javascript Library dan orang menggelarnya <a href="http://en.wikipedia.org/wiki/Factory_(software_concept)">Factory</a> Function<sup><a href="#factory_function">1</a></sup>. Sebenarnya bukan $(), cuma simbol $ yang dijadikan function sebab tu jadi $(). $ ni macam satu gudang besar yang misteri. Kita masukkan lembu kedalam gudang tu, dia keluarkan rendang daging. Masukkan ayam, keluar jadi KFC. Haaaa&#8230; misteri sungguh gudang ni.</p>
<p>So anyway, simbol ni cuma shorthand untuk library yang memakainya. Kalau kita buat gini,</p>
<pre class="javascript" name="code">
$('.some-class')
</pre>
<p>maknanya kita hantar argument <strong>&#8220;.some-class&#8221;</strong> ke function $, dan katakan disituasi ni kita pakai jQuery, kita hantar &#8220;.some-class&#8221; ke jQuery dan mintak dia tolong proseskan dimana jQuery akan amik semua elemen yang berkelaskan <strong>&#8220;some-class&#8221;</strong>. Adeh, aku pun makin konpius la. Takpe, satu lagi contoh.. katakan aku buat library javascript nama dia <strong><em>janganKacau.js</em></strong>, tapi aku ni hipster sikit, takmo mainstream-mainstream ni, jadi aku nak guna simbol lain yang menyusahkan!</p>
<pre class="javascript" name="code">
var ಠ_ಠ = function(s){
  alert('ish, jangan la kaco');
};
</pre>
<p>So, kacau disituasi ni, kita nak panggil semua elemen berkelaskan <strong>&#8220;some-class&#8221;</strong>, kita buat macam ni.</p>
<pre class="javascript" name="code">
ಠ_ಠ('.some-class');
</pre>
<p>Ish, nak panggil library ni pun dia dah kerut kening dia dengan pandangan yang penuh dengan ketidakselesaan. Pastu kita diberitahu supaya jangan kacau dia. Ok, ok, sorry bro, wa tak kacau lu lagi.</p>
<p><sup><a name="factory_function">1</a></sup> Johnathan C. and Swedberg K., Learning jQuery, Packt Publishing, 2007.</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2011/01/apakah-itu-didalam-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Z-Index bug di Microsoft Internet Explorer</title>
		<link>http://sembangprogramming.com/2010/12/z-index-bug-di-microsoft-internet-explorer/</link>
		<comments>http://sembangprogramming.com/2010/12/z-index-bug-di-microsoft-internet-explorer/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 08:58:06 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=402</guid>
		<description><![CDATA[Dah lama betul aku tak buat bahagian UI ni. Kali ni, bug pada dropdown menu. Tak perasan pulak dengan bug (Z-Index bug) ni. Tapi bukan bug ni sahaja, ada yang lain, macam :hover behaviour tak trigger. So aku guna jQuery untuk bug ni seperti berikut if($.browser.msie) { $('.menu li ul').css('position', 'absolute'); $('.menu li ul').css('left', '0'); [...]]]></description>
			<content:encoded><![CDATA[<p>Dah lama betul aku tak buat bahagian UI ni. Kali ni, bug pada dropdown menu. Tak perasan pulak dengan bug (<a href="http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/">Z-Index bug</a>) ni. Tapi bukan bug ni sahaja, ada yang lain, macam :hover behaviour tak trigger. So aku guna jQuery untuk bug ni seperti berikut</p>
<pre class="javascript" name="code">
if($.browser.msie)
{
	$('.menu li ul').css('position', 'absolute');
	$('.menu li ul').css('left', '0');
	$('.menu li').css('z-index', '2000');
	$('.menu li ul').css('z-index', '1000');
	$('.menu li').hover(
		function(){
			$(this).find('ul').css('display', 'block');
		},
		function(){
			$(this).find('ul').css('display', 'none');
		}
	)
}
</pre>
<p>Semoga dapat memperingatkan diri bila terjumpa balik bug ni.</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/12/z-index-bug-di-microsoft-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mengubahsuai javascript yang telah di minify</title>
		<link>http://sembangprogramming.com/2010/10/mengubahsuai-javascript-yang-telah-di-minify/</link>
		<comments>http://sembangprogramming.com/2010/10/mengubahsuai-javascript-yang-telah-di-minify/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 06:22:39 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=378</guid>
		<description><![CDATA[Minify atau lebih dikenali sebagai &#8216;minification&#8216; adalah proses membuang segala character yang tak diperlukan tanpa mengubah fungsi skrip tersebut. Kalau nak tau javascript tu telah di &#8216;pack&#8216; (atau minify), bila buka sumber kod dengan menggunakan text editor, dia keluar macam ni&#8230; Ni contoh regex selector untuk jQuery. jQuery.expr[':'].regex=function(elem,index,match){var matchParams=match[3].split(','),validLabels=/^(data&#124;css):/,attr={method:matchParams[0].match(validLabels)?matchParams[0].split(':')[0]:'attr',property:matchParams.shift().replace(validLabels,'')},regexFlags='ig',regex=new RegExp(matchParams.join('').replace(/^\s+&#124;\s+$/g,''),regexFlags);return regex.test(jQuery(elem)[attr.method](attr.property));} Susah nak edit kalau [...]]]></description>
			<content:encoded><![CDATA[<p>Minify atau lebih dikenali sebagai &#8216;<strong><a href="http://en.wikipedia.org/wiki/Minification_(programming)">minification</a></strong>&#8216; adalah proses membuang segala character yang tak diperlukan tanpa mengubah fungsi skrip tersebut.</p>
<p>Kalau nak tau javascript tu telah di &#8216;<a href="http://jscompress.com/">pack</a>&#8216; (atau minify), bila buka sumber kod dengan menggunakan text editor, dia keluar macam ni&#8230;</p>
<p>Ni contoh regex selector untuk jQuery.</p>
<pre class="javascript" name="code">jQuery.expr[':'].regex=function(elem,index,match){var matchParams=match[3].split(','),validLabels=/^(data|css):/,attr={method:matchParams[0].match(validLabels)?matchParams[0].split(':')[0]:'attr',property:matchParams.shift().replace(validLabels,'')},regexFlags='ig',regex=new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''),regexFlags);return regex.test(jQuery(elem)[attr.method](attr.property));}</pre>
<p>Susah nak edit kalau dah pack (bukan mustahil, tapi memang susah dan tak disyorkan demi kesihatan jangka masa panjang)</p>
<p>Kita kena mencantikkan kembali kod tersebut (ataupun unpack) dengan menggunakan <a href="http://jsbeautifier.org/">javascript beautifier</a>.</p>
<p>Bila dah rupa macam ni, senang la kita mengubahsuai.<br />
<a href="http://sembangprogramming.com/wp-content/uploads/2010/10/Capture10-12-2010-2.18.51-PM.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/10/Capture10-12-2010-2.18.51-PM.jpg" alt="" title="Capture10-12-2010-2.18.51 PM" width="450" height="87" class="aligncenter size-full wp-image-387" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/10/mengubahsuai-javascript-yang-telah-di-minify/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CamelCase</title>
		<link>http://sembangprogramming.com/2010/07/camelcase/</link>
		<comments>http://sembangprogramming.com/2010/07/camelcase/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 03:58:04 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[pengalaman]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=371</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Apa itu CamelCase?</strong><br />
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).</p>
<p>Contohnya jika anda mempunyai fungsi yang dipanggil..</p>
<blockquote><p>get_items_in_list</p></blockquote>
<p>Dalam CamelCase, ia ditulis sebegini,</p>
<blockquote><p>GetItemsInList</p></blockquote>
<p>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.</p>
<p>Tapi yang penting, kena konsisten. Jangan sekejap CamelCase sekejap , sekejap benda lain. Kena ada <a href="http://code.google.com/p/soc/wiki/PythonStyleGuide#Naming">guideline</a> 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.</p>
<p>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.</p>
<p>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).</p>
<p>Selamat Programming!</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/07/camelcase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apakah itu cheatsheet?</title>
		<link>http://sembangprogramming.com/2010/06/apakah-itu-cheatsheet/</link>
		<comments>http://sembangprogramming.com/2010/06/apakah-itu-cheatsheet/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 04:30:40 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Umum]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=351</guid>
		<description><![CDATA[Masa peperiksaan atau ujian dibangku sekolah ataupun university, pernahkah anda menggunakan nota kecil yang terselindung sebagai rujukan? Ha! Itulah cheatsheet. Sekeping kertas yang mempunyai nota ringkas mengenai sesuatu topik. Dalam pembangunan perisian ni, terlalu banyak perkara yang perlu dirujuk (HTML, CSS, Javascript, OOP, Domain Driven Design, dan sebagainya), kalau nak rujuk setiap satu topic pada [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sembangprogramming.com/wp-content/uploads/2010/06/800px-Cheating.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/06/800px-Cheating-150x150.jpg" alt="" title="800px-Cheating" width="150" height="150" class="alignright size-thumbnail wp-image-353" /></a>Masa peperiksaan atau ujian dibangku sekolah ataupun university, pernahkah anda menggunakan nota kecil yang terselindung sebagai rujukan?</p>
<p>Ha! Itulah <strong>cheatsheet</strong>. Sekeping kertas yang mempunyai nota ringkas mengenai sesuatu topik. Dalam pembangunan perisian ni, terlalu banyak perkara yang perlu dirujuk (HTML, CSS, Javascript, OOP, Domain Driven Design, dan sebagainya), kalau nak rujuk setiap satu topic pada buku, memang jenuh la nak membelek buku-buku tu.</p>
<p>Sekarang ni, dah banyak cheatsheet yang terdapat di internet, taip je apa kat pakcik Google, mesti ada punya. SVN? Git? Mercurial? CMS kegermaran seperti Drupal? Joomla? Semua ada cheatsheet.</p>
<p>Antara website yang saya selalu pergi untuk mendapatkan cheatsheet adalah <a href="http://www.addedbytes.com/cheat-sheets/">Addedbytes</a> (dulu dikenali sebagai ilovejackdaniels.com tapi lawyer Jack Daniels dok hantar cease and desist letter kat owner suruh tukar nama).<br />
Antara Cheatsheet yang ada kat situ:</p>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>PHP</li>
<li>Python</li>
<li>Subversion</li>
<li>mod_rewrite</li>
<li>Regular Expressions</li>
<li>Ruby on Rails</li>
<li>MySQL</li>
</ul>
<p>Tak cukup? Nak lagi? Haaa ni dia, <a href="http://refcardz.dzone.com/">RefCardz</a> (Free Cheatsheets for developers)<br />
Print dan letak la kat cubicle anda supaya senang untuk dirujuk.</p>
<p>Selamat programming!</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/06/apakah-itu-cheatsheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tor</title>
		<link>http://sembangprogramming.com/2010/06/tor/</link>
		<comments>http://sembangprogramming.com/2010/06/tor/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 03:45:22 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=342</guid>
		<description><![CDATA[Sebelum ni, ada tempat yang tidak membenarkan saya untuk download daripada Sourceforge. Bila saya gunakan Tor, ia tidak dapat menyekat saya daripada download kerana sumber data yang datang dan pergi adalah bukan daripada/kepada sourceforge, ianya datang daripada rangkaian Tor. Oleh kerana data melalui rangkaian Tor, ianya akan menjadi agak perlahan. Terpaksa berkompromi lah kalau nak [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sembangprogramming.com/wp-content/uploads/2010/06/tor-logo.png"><img src="http://sembangprogramming.com/wp-content/uploads/2010/06/tor-logo.png" alt="" title="tor-logo" width="168" height="100" class="alignright size-full wp-image-343" /></a>Sebelum ni, ada tempat yang tidak membenarkan saya untuk download daripada Sourceforge. Bila saya gunakan <a href="https://www.torproject.org/">Tor</a>, ia tidak dapat menyekat saya daripada download kerana sumber data yang datang dan pergi adalah bukan daripada/kepada sourceforge, ianya datang daripada rangkaian Tor.</p>
<p>Oleh kerana data melalui rangkaian Tor, ianya akan menjadi agak perlahan. Terpaksa berkompromi lah kalau nak akses kepada benda-benda yang di halang (youtube, facebook, etc).</p>
<p>Ada beberapa cara untuk menggunakan Tor (apabila anda telah <a href="https://www.torproject.org/easy-download.html.en">install</a>), dan cara yang paling mudah adalah dengan menggunakan plugin firefox, <a href="https://addons.mozilla.org/en-US/firefox/addon/2275/">Torbutton</a>.</p>
<p>Setakat ni tidak berkesempatan untuk mencubanya ditempat-tempat yang menghalang website seperti youtube dan facebook. Kerana bergantung juga pada cara website-website tersebut dihalang. Jika trafik HTTP dihalang secara &#8220;<a href="http://en.wikipedia.org/wiki/Tor_(anonymity_network)#Traffic_analysis">traffic analysis</a>&#8220;, maka tak boleh juga la. </p>
<p>Ada discussion dalam BM kat <a href="http://forums.ubuntu.com.my/viewtopic.php?f=4&#038;t=960">ubuntu malaysia</a>.</p>
<p>Selamat memuat turun!</p>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/06/tor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reset borang menggunakan jQuery</title>
		<link>http://sembangprogramming.com/2010/04/reset-borang-jquery/</link>
		<comments>http://sembangprogramming.com/2010/04/reset-borang-jquery/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:06:43 +0000</pubDate>
		<dc:creator>mkhairul</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://sembangprogramming.com/?p=324</guid>
		<description><![CDATA[Post kali ini agak pendek, hanya untuk mencatatkan sesuatu tentang jQuery iaitu cara untuk reset borang. Reset borang adalah antara elemen-elemen yang dimasukkan kedalam borang (selain input validation, input constraint, etc) tetapi ianya bukanlah mandatori, bergantung pada jenis borang. Jika tak kena cara, menambakah serabut dan rimas pada pengguna. Dibawah adalah contoh kod javascript yang [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sembangprogramming.com/wp-content/uploads/2010/04/reset.jpg"><img src="http://sembangprogramming.com/wp-content/uploads/2010/04/reset-150x150.jpg" alt="" title="reset" width="150" height="150" class="alignright size-thumbnail wp-image-326" /></a>Post kali ini agak pendek, hanya untuk mencatatkan sesuatu tentang jQuery iaitu cara untuk reset borang. Reset borang adalah antara elemen-elemen yang dimasukkan kedalam borang (selain input validation, input constraint, etc) tetapi ianya bukanlah mandatori, bergantung pada jenis borang. </p>
<p>Jika tak kena cara, menambakah serabut dan rimas pada pengguna. Dibawah adalah contoh kod javascript yang menggunakan library jQuery.</p>
<pre class="javascript" name="code">
$('#reset_button').click(function(){
  $(':input','#myform')
    .not(':button, :submit, :reset, :hidden')
    .val('')
    .removeAttr('checked')
    .removeAttr('selected');
})
</pre>
<p>Tetapi terdapat kelemahan didalam cara diatas dimana jika sesuatu elemen mempunyai <strong>nilai lalai</strong> (default value), ianya akan dipadamkan sekali. Dibawah adalah contoh input yang mempunyai nilai lalai.</p>
<pre class="html" name="code">
<input type="text" name="something" value="W00t!" />
</pre>
<p>Maka cara terbaik adalah menggunakan function reset dimana nilai untuk elemen akan dikembalikan kepada nilai yang berada didalam attribute &#8216;value&#8217;.</p>
<pre class="javascript" name="code">
$('#reset_button').click(function(){
   $('#myform')[0].reset();
})
</pre>
<p><strong>Tips:</strong> Jika anda menggunakan cara yang kedua (iaitu menggunakan function reset()), elakkan daripada mengguna &#8216;reset&#8217; sebagai ID elemen anda. Nanti tak jadi!</p>
<p>Selamat programming!</p>
<p>Sumber:</p>
<ul>
<li><a href="http://stackoverflow.com/questions/680241/reset-form-with-jquery">Reset form with jQuery</a></li>
<li><a href="http://groups.google.com/group/jquery-dev/msg/2e0b7435a864beea?pli=1">Form reset retain default value</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sembangprogramming.com/2010/04/reset-borang-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

