<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ha--Dhiku--suma Wahab Blog</title>
	<atom:link href="http://dhiku.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dhiku.wordpress.com</link>
	<description>braindump --username dhiku T_SHARING &#62; dhiku.wordpress.com</description>
	<pubDate>Mon, 21 Jul 2008 16:54:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Help..kena virus plurk nih</title>
		<link>http://dhiku.wordpress.com/2008/07/21/helpkena-virus-plurk-nih/</link>
		<comments>http://dhiku.wordpress.com/2008/07/21/helpkena-virus-plurk-nih/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 16:30:09 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/2008/07/21/helpkena-virus-plurk-nih/</guid>
		<description><![CDATA[Okay, join now and follow me
I need aid, do you have any medicine for plurkache?
       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_73" class="wp-caption aligncenter" style="width: 337px"><a href="http://dhiku.files.wordpress.com/2008/07/dhiku-first-plurk.png"><img class="size-full wp-image-73" src="http://dhiku.files.wordpress.com/2008/07/dhiku-first-plurk.png?w=327&h=470" alt="nge-plurk" width="327" height="470" /></a><p class="wp-caption-text">nge-plurk</p></div>
<p style="text-align:center;">Okay, <a href="http://www.plurk.com">join now</a> and <a href="http://plurk.com/redeemByURL?from_uid=383412&amp;check=-675293753&amp;s=1">follow me</a></p>
<p style="text-align:center;">I need aid, do you have any medicine for plurkache?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/62/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/62/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=62&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/07/21/helpkena-virus-plurk-nih/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>

		<media:content url="http://dhiku.files.wordpress.com/2008/07/dhiku-first-plurk.png" medium="image">
			<media:title type="html">nge-plurk</media:title>
		</media:content>
	</item>
		<item>
		<title>Test Driven Development featuring Spartan Programming</title>
		<link>http://dhiku.wordpress.com/2008/07/18/test-driven-development-featuring-spartan-programming/</link>
		<comments>http://dhiku.wordpress.com/2008/07/18/test-driven-development-featuring-spartan-programming/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 15:29:34 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/?p=56</guid>
		<description><![CDATA[In the spacecraft business no design can survive the review process, without first answering the question—how are we going to test this thing? - Glen B. Alleman
Jeff Atwood memberikan posting menarik mengenai Spartan Programming, sebuah praktek pemrograman yang mengedepankan konsep minimalis. Hal ini tentu akan membuat beberapa orang yang menyukai membaca code yang verbose jadi [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p><em>In the spacecraft business no design can survive the review process, without first answering the question—how are we going to test this thing? - Glen B. Alleman</em></p></blockquote>
<p><a href="http://www.codinghorror.com">Jeff Atwood</a> memberikan posting menarik mengenai <a href="http://www.codinghorror.com/blog/archives/001148.html">Spartan Programming</a>, sebuah praktek pemrograman yang mengedepankan konsep minimalis. Hal ini tentu akan membuat beberapa orang yang menyukai membaca code yang verbose jadi &#8216;mati kutu&#8217;.</p>
<p>Setelah saya melihat seperti apa <a href="http://ssdl-wiki.cs.technion.ac.il/wiki/index.php/SendAnEmail_case_study">Spartan Programming ini diterapkan di Java</a>, sebenarnya praktek ini sangat cocok sekali jika digabungkan dengan praktek <a href="http://en.wikipedia.org/wiki/Test-driven_development">Test Driven Development</a> (TDD) dan ini ternyata sering saya praktekan secara tidak sadar selama menganut ajaran TDD. Oke mari kita bahas dahulu mengenai TDD.</p>
<p>Pepatah cina pernah mengatakan,</p>
<p><em>Experience is a hard teacher because she gives the test<br />
first, the lesson afterward</em><span id="more-56"></span></p>
<p>Dari situlah konsep TDD, TDD mewajibkan kita untuk menulis code test terlebih dahulu, baru bikin code implementasinya. Siklusnya adalah Test, Code, Refactor. Misalkan, fungsi penambahan. Sebelum membuat fungsinya kita buat dulu unit testnya yang mengatakan bahwa 1 + 1 harusnya 2, 2 + 2 harusnya 4. Jalankan unit testnya pasti akan error. Kemudian baru buat implementasinya misalkan return x + y. Jalankan lagi unit testnya, hasilnya sukses. TDD tidak berhenti sampai situ, biasanya kita akan melakukan code yang penting test kita sukses tanpa mementingkan bagaimana kita memperoleh hasilnya. Sehingga di step terakhir ada yang disebut Refactor. Merubah mekanisme atau alogritma dari suatu code program tanpa mengubah fungsi program itu sendiri untuk membuat code program menjadi lebih efisien dan sederhana. Ingat sekali lagi siklusnya,  Test - Code - Refactor. Read out loud please. Again.</p>
<p>Kemudian dalam Spartan Programming ada beberapa hal yang harus diminimalisir misalnya jumlah variable, visibility variable, accessibility variable, keragaman variable, lifetime varible, dan penggunaan array. Silahkan lihat contohnya.</p>
<p>Jika digabung dengan Spartan Programming maka akan memberikan &#8216;taste&#8217; tersendiri dalam praktek TDD. seperti iklan salah satu rokok, &#8220;lebih punya Taste!&#8221;. Minimalis.</p>
<p>So the new spirit of TDD,</p>
<p><strong>Test - Code - and SPARTAAAAN!</strong></p>
<p>*Jadi inget film 300. Leonidas: Spartans, tonight, we dine in hell!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/56/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/56/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=56&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/07/18/test-driven-development-featuring-spartan-programming/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Road to JSF: Part I</title>
		<link>http://dhiku.wordpress.com/2008/05/18/road-to-jsf-part-i/</link>
		<comments>http://dhiku.wordpress.com/2008/05/18/road-to-jsf-part-i/#comments</comments>
		<pubDate>Sun, 18 May 2008 16:59:49 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/?p=55</guid>
		<description><![CDATA[Jika itu adalah batasanmu, kau takkan dapat melampauinya. Tetapi jika kau melampauinya, itu bukanlah batasanmu. Andrew Poon
JSF (Java Server Faces) itu mudah, learning curvenya pendek, banyak yg bisa langsung bikin aplikasi dengan JSF tanpa harus ngerti konsep Servlet, tapi tidak banyak yang mengerti dasar2nya shg akan kesulitan nantinya. Artikel ini gw buat untuk temen2 yang [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>Jika itu adalah batasanmu, kau takkan dapat melampauinya. Tetapi jika kau melampauinya, itu bukanlah batasanmu. Andrew Poon</p></blockquote>
<p>JSF (Java Server Faces) itu mudah, learning curvenya pendek, banyak yg bisa langsung bikin aplikasi dengan JSF tanpa harus ngerti konsep Servlet, tapi tidak banyak yang mengerti dasar2nya shg akan kesulitan nantinya. Artikel ini gw buat untuk temen2 yang mau memulai membangun aplikasi web dengan JSF. Lupakan JSP. Buang jauh2 itu barang, JSP telah bergerak dari Momentum menjadi Monumen.</p>
<p>Sudah cukup lama gw bekerja dengan JSF untuk setiap aplikasi Java yang gw develop. Pertama kali gw kenal JSF melalui Oracle ADF yang menggunakan JSF sebagai controllernya, sekitar thn 2006. Lucunya adalah saat itu gw ga tau konsep dari JSF, gw cuma klak klik dari Oracle JDeveloper, salah satu IDE Java yang dibuat oleh Oracle. Untungnya juga gw ga perlu oprek sampe ke dalam JSF-nya. Jadi praktis saat itu gw ga banyak tau soal JSF. Tapi aplikasi tetap berjalan sesuai dengan yang client mau <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Dan beberapa waktu lalu gw mengerjakan projek dengan JSF dan juga sekaligus menjadi JSF Trainer, jadi gw akan mencoba membahas konsep dari JSF.</p>
<p>Apa itu JSF? JSF adalah sebuah web framework standard dari Sun Microsystems. Zaman dulu, ketika kaum Java mengenal konsep MVC (Model View Controller) mereka membuat sebuah framework yang terkenal yaitu Struts. Dalam dunia MVC kita bisa bagi menjadi 2 bagian, yaitu Action-based dan Component-based.<span id="more-55"></span> Action-based memapping antara URL dengan Action, misalnya sebuah form yang mempunyai atribut action, atau kalo yang sudah biasa dengan Struts, pasti kenal dengan kelas Action-nya, tempat dimana kita definisikan method yang akan dijalankan dan apa yang akan ditampilkan setelah itu. Spring MVC juga masuk ke dalam spesies ini. Selanjutnya metode tsb berevolusi mengikuti kebutuhan lingkungan dimana user menginginkan interaksi yang lebih rich dengan aplikasinya. Mereka juga menginginkan suatu cara yang lebih mudah dalam membangun aplikasi dikenal dengan RAD (Rapid Application Development). Lahirlah Component-based MVC Framework. Setiap halaman dari aplikasi merupakan sebuah komponen, button, form, textfield, label, dsb. Dan setiap komponen tsb dapat berinteraksi dengan user (event dan listener). Perbedaan yang cukup mencolok dengan saudaranya adalah proses mappingnya, setiap method dimapping dengan komponen. Misalnya, jika komponen tsb ditekan dia akan lakukan method A, jika komponen B berubah dia akan panggil method C, dst.</p>
<p>Hmm, para penggemar desktop mulai berpikir, kayanya itu yang biasa kita lakukan selama ini? Yap memang mirip sekali dengan Swing. Jadi bukan hal yang sulit bagi desktop apps developer untuk menggunakan framework jenis ini. Beberapa saudara dekat JSF adalah Wicket dan Tapestry.</p>
<p>Dengan konsep komponen spt ini, banyak sekali sekumpulan komponen yang tersedia dan bisa digunakan secara cuma2. Mulai dari komponen non-AJAX sampai AJAX. Sebut saja komponen2 seperti, Tomahawk, Richfaces, ICEfaces, DynaFaces, dan masih banyak lagi. Bingung? coba cek <a href="http://www.jsfmatrix.net/">matriks yang membandingkan fitur2 dari semua komponen JSF yang ada</a>.</p>
<p>Sebelum lebih jauh mempelajari JSF, harus mengerti terlebih dahulu konsep dan istilah2 di-dalamnya.</p>
<ul>
<li> Renderer</li>
<li> Managed Bean</li>
<li> Event dan Listener</li>
<li> Validator dan konverter</li>
<li> Messages</li>
<li> Navigation</li>
</ul>
<p>Kita akan bahas semuanya di bagian ke 2 dari artikel ini. Kalo yang ga sabar, silahkan googling <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dan terakhir yang perlu benar2 dipahami request-response lifecycle dari JSF, yang ga sabar silahkan lihat <a href="http://www.ibm.com/developerworks/library/j-jsf2/?S_TACT=105AGX01&amp;S_CMP=LP">di sini</a>.</p>
<p>Mulai darimana belajar JSF?</p>
<ul>
<li><a href="http://www-128.ibm.com/developerworks/spaces/jsf">Artikel JSF di IBM</a></li>
<li><a href="http://www.netbeans.org/kb/61/web/jastrologer-intro.html">Tutorial JSF di Netbeans</a></li>
<li><a href="http://balusc.blogspot.com">Kumpulan JSF Tips dari Balusc (JSF Developer</a>)</li>
<li><a href="http://balusc.blogspot.com/2008/01/jsf-tutorial-with-eclipse-and-tomcat.html">Tutorial BalusC untuk newbie</a></li>
<li><a href="http://forum.java.sun.com/forum.jspa?forumID=427&amp;start=0">JSF Sun Forum</a></li>
<li><a href="http://www.jsfcentral.com/">JSF Central Forum</a></li>
<li><a href="http://www.thearcmind.com/confluence/dashboard.action">ArcMind</a></li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=55&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/05/18/road-to-jsf-part-i/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>BitNami: One-click-install Open Source Apps</title>
		<link>http://dhiku.wordpress.com/2008/04/24/bitnami-one-click-install-open-source-apps/</link>
		<comments>http://dhiku.wordpress.com/2008/04/24/bitnami-one-click-install-open-source-apps/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 05:08:34 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/?p=54</guid>
		<description><![CDATA[Hi all, lama ga ngeblog lagi. Sebenarnya uda ada banyak draft posting tapi ga sempet selesai2 juga. Stay tune guys.
Oke sedikit pertanyaan dari gw sebagai introduction,

Pernah merasa sulit untuk install open source apps seperti, trac, drupal, roller, liferay, redmine, tracks, alfresco, moodle?
Pernah merasa pusing ketika diminta install open source apps selain di windows?
Pernah merasa kesal [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><em>Hi all, lama ga ngeblog lagi. Sebenarnya uda ada banyak draft posting tapi ga sempet selesai2 juga. Stay tune guys.</em></p>
<p>Oke sedikit pertanyaan dari gw sebagai introduction,</p>
<ul>
<li>Pernah merasa sulit untuk install open source apps seperti, <a href="http://trac.edgewall.org">trac</a>, <a href="http://drupal.org">drupa</a>l, <a href="http://www.rollerweblogger.org">roller</a>,<a href="http://www.liferay.com"> liferay</a>, <a href="http://redmine.org">redmine</a>, <a href="http://www.rousette.org.uk">tracks</a>, <a href="http://www.alfresco.com/">alfresco</a>, <a href="http://moodle.org">moodle</a>?</li>
<li>Pernah merasa pusing ketika diminta install open source apps selain di windows?</li>
<li>Pernah merasa kesal ketika ingin install open source apps lalu butuh package ini itu?</li>
<li>Pernah mengalami proses instalasi diluar dari skenario instalasi manual yang diberikan oleh open source apps? kemudian googling, tanya forum, dan akhirnya bisa atau akhirnya menyerah?</li>
</ul>
<p>Tenang, skrng ada solusi yang membantu teman2 semua, mari kita sambut &#8230; <a href="http://bitnami.org/">Bitnami</a>.<span id="more-54"></span></p>
<p>Apa itu? BitNami menyediakan solusi supaya kita dapat dengan mudah menginstall hampir open source apps yang umum digunakan hanya dengan one-click-install. BitNami mendukung multiplatform, jadi kita bisa one-click-install on any platform.</p>
<p>Selain untuk open source apps, BitNami juga dukung untuk one-click-install untuk infrastructure, seperti Apache, PHP, MySQL, Ruby, JRuby, dan Django.</p>
<p>Gw adalah pecandu open-source apps spt RedMine untuk project management dan Tracks untuk GTD. Keduanya based on Ruby-on-Rails. <a href="http://dhiku.wordpress.com/2007/10/23/installing-redmine-di-windows/">Step untuk instalasinya kalo dilakukan di ubuntu memang panjang</a> dan tentu suka ada hal2 di luar dugaan. Akhirnya gw test download Tracks untuk linux, btw gw pake ubuntu. Dan gw cukup lakukan,</p>
<ol>
<li>Beri permission pd file untuk bisa di-execute, chmod +x tracks_installer.bin</li>
<li>Jalankan tracks_installer.bin</li>
<li>Next -&gt; Next -&gt; Finish <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>Kekurangan dari BitNami adalah ga bisa akses shared resources. Misalnya gw install drupal dan joomla yang biasanya apache, php, mysql nya dipake bareng2. Kalo kita mau drupal jalan di port 8080, dan joomla di port 8081, maka kita harus install joomla dulu baru drupal. Kalo ga, 22nya ga bisa jalan bareng <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Selamat mencoba untuk stack lainnya <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/54/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/54/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=54&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/04/24/bitnami-one-click-install-open-source-apps/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Going to Enterprise with Java Training</title>
		<link>http://dhiku.wordpress.com/2008/03/10/going-to-enterprise-with-java-ee/</link>
		<comments>http://dhiku.wordpress.com/2008/03/10/going-to-enterprise-with-java-ee/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 16:13:47 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Learning]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/2008/03/10/going-to-enterprise-with-java-ee/</guid>
		<description><![CDATA[Hi all, bagi teman-teman yang tidak sempat mengikuti Training Java di liburan Imlek kemaren, kami membuka lagi training Java EE, kali ini bertempat di Jakarta selama liburan panjang di bulan Maret. Materi training sama dengan training sebelumnya dengan beberapa perbaikan tentunya. Bagi yang penasaran, silahkan lihat detail informasinya,
Pelaksanaan:
Waktu   : Kamis - Minggu, 20 [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi all, bagi teman-teman yang tidak sempat mengikuti <a href="http://dhiku.wordpress.com/2008/01/31/training-java-ee-di-liburan-imlek/">Training Java di liburan Imlek</a> kemaren, kami membuka lagi training Java EE, kali ini bertempat di Jakarta selama liburan panjang di bulan Maret. Materi training sama dengan training sebelumnya dengan beberapa perbaikan tentunya. Bagi yang penasaran, silahkan lihat detail informasinya,</p>
<p>Pelaksanaan:<br />
Waktu   : Kamis - Minggu, 20 - 23 Maret 2008<br />
Pukul   : 9.00 - 16.00 WIB<br />
Tempat  : Jln. Gedung Hijau Raya SF 07 No. 74, Pondok Indah, Jakarta Selatan. Dekat Restaurant Obonk Steak</p>
<p>Materi Training:<br />
1. Java Fundamental<br />
2. JDBC dan DAO Pattern<br />
3. Spring 2.5 JDBC<br />
4. Java Server Faces 1.2<br />
5. Richfaces Component<br />
6. JasperReports<br />
7. NetBeans 6.0</p>
<p>Trainer :<br />
Endy Muhardin (http://endy.artivisi.com)<br />
Ifnu Bima (http://nagasakti.or.id/roller/ifnu)<br />
Hadikusuma Wahab (http://dhiku.wordpress.com)</p>
<p>Fasilitas:<br />
1. Makan siang serta snack<br />
2. Modul &amp; CD Training<br />
3. Sertifikat<br />
4. Satu buah Pin Artivisi<br />
5. Infocus<br />
6. Fasilitas penginapan untuk tiga malam (tempat terbatas)<span id="more-53"></span></p>
<p>Biaya: 750 ribu rupiah.<br />
Pembayaran:<br />
No. Rekening 4980057262<br />
BCA cabang Pondok Indah<br />
a/n Hadikusuma Wahab</p>
<p>Batas Pendaftaran:<br />
Pendaftaran ditutup pada tanggal 19 Maret jam 12 siang.</p>
<p>Ketentuan Lain:<br />
1. Jika anda lupa mendaftar kemudian langsung datang di tempat<br />
training, kami akan welcome tetapi harus dimaklumi jika anda harus<br />
merelakan fasilitas seperti meja, kursi, PC, dll yang diutamakan bagi yang mendaftar terlebih dahulu.<br />
2. Karena konsep training ini adalah &#8220;Bring your own laptop&#8221;, jadi diharapkan untuk membawa laptop dengan spec minimal 1GB demi kenyamanan training <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> bagi yang tidak punya laptop, kami bisa menyediakan PC namun dalam jumlah yang terbatas dan ada tambahan biaya.</p>
<p>Buruan daftar! Peserta terbatas dan jangan lewatkan kesempatan ini untuk kedua kalinya. See u all guys.</p>
<p>Contact Person (Dhiku):<br />
Email: dh1ku.ilkom@gmail.com<br />
GSM: 08568868805<br />
CDMA: 02193115521</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/53/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/53/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=53&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/03/10/going-to-enterprise-with-java-ee/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Training Java EE di Liburan Imlek</title>
		<link>http://dhiku.wordpress.com/2008/01/31/training-java-ee-di-liburan-imlek/</link>
		<comments>http://dhiku.wordpress.com/2008/01/31/training-java-ee-di-liburan-imlek/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 03:40:36 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/?p=52</guid>
		<description><![CDATA[Hi all,
Liburan imlek nanti tanggal 7, 8, 9, 10 Februari akan diadakan training Java EE.
Berikut detail trainingnya.
Trainer :
Ifnu Bima (http://nagasakti.or.id/roller/ifnu)
Endy Muhardin (http://endy.artivisi.com)
Hadikusuma Wahab (http://dhiku.wordpress.com)
Waktu dan tempat:
Tanggal : 7 - 10 Februari 2008
Jam : 9.00 - 16.00
Tempat : Jl. Palupuh 3 dalam no 2, Bantar Jati Bogor.
Materi Training:
1. Java Fundamental
2. JDBC dan Dao Pattern
3. Spring 2.5 [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi all,</p>
<p>Liburan imlek nanti tanggal 7, 8, 9, 10 Februari akan diadakan training Java EE.</p>
<p>Berikut detail trainingnya.</p>
<p>Trainer :<br />
Ifnu Bima (http://nagasakti.or.id/roller/ifnu)<br />
Endy Muhardin (http://endy.artivisi.com)<br />
Hadikusuma Wahab (http://dhiku.wordpress.com)</p>
<p>Waktu dan tempat:<br />
Tanggal : 7 - 10 Februari 2008<br />
Jam : 9.00 - 16.00<br />
Tempat : Jl. Palupuh 3 dalam no 2, Bantar Jati Bogor.</p>
<p>Materi Training:<br />
1. Java Fundamental<br />
2. JDBC dan Dao Pattern<br />
3. Spring 2.5 JDBC<br />
4. Java Server Faces<br />
5. Richfaces Component<br />
6. JasperReports<br />
7. NetBeans 6.0</p>
<p>Informasi lebih lanjut dapat dilihat <a href="http://www.nagasakti.or.id/roller/Ifnu/entry/training_java_ee_4_hari">disini</a></p>
<p>Karena gw ngasi materi JSF dan Jasperreport, sedikit bocoran untuk silabusnya,<span id="more-52"></span></p>
<p><b>J</b><b>ava Server Faces</b></p>
<ul>
<li>Pengenalan JSF</li>
<li>Konsep dalam JSF
<ul>
<li>UI Component</li>
<li>RenderKit</li>
<li>Backing bean atau managed bean</li>
<li>Validator</li>
<li>Converter</li>
<li>Event Listener</li>
<li>Messages</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Aplikasi sederhana dengan JSF (Kalkulator)
<ul>
<li>Memilih implementasi JSF</li>
<li>Menyiapkan aplikasi JSF</li>
<li>Membuat managed bean</li>
<li>Memahami scope managed bean</li>
<li>Membuat navigasi halaman</li>
<li>Membuat view</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Siklus Request dengan JSF</li>
<li>Komponen dalam JSF
<ul>
<li>Komponen layout</li>
<li>Komponen input</li>
<li>Komponen output</li>
<li>Komponen action dan link</li>
<li>Komponen non-visual</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Validasi dengan JSF
<ul>
<li>Standard validator</li>
<li>Membuat custom validator</li>
<li>Mengenal regular expression</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Konversi Objek dengan JSF
<ul>
<li>Standard converter</li>
<li>Membuat custom converter</li>
<li>Memahami penggunaan validator dan converter</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>I18n dan application message
<ul>
<li>messages.properties</li>
<li>Meng-akses messages.properties melalui view</li>
<li>Application message</li>
<li>Menampilkan pesan sukses atau error</li>
<li>Mengakses file properties melalui kode Java</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>JSF Context
<ul>
<li>FacesContext</li>
<li>FacesMessage</li>
<li>ExternalContext</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Event Handling
<ul>
<li>Value change event</li>
<li>Action event</li>
<li>Komponen immediate</li>
<li>Komponen Input</li>
<li>Komponen Command</li>
<li>Phase event</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Aplikasi CRUD dengan JSF
<ul>
<li>Implementasi phase listener untuk logging</li>
<li>Implementasi validator dan converter</li>
<li>Implementasi I18n</li>
<li>Implementasi templating dengan facelets</li>
<li>Implementasi JSF Context</li>
<li>Implementasi komponen datatable</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Komponen Tambahan untuk JSF
<ul>
<li>Tomahawk</li>
<li>Richfaces</li>
<li>ICEFaces</li>
<li>Woodstock</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Aplikasi CRUD dengan AJAX
<ul>
<li>Implementasi dengan RichFaces</li>
<li>Implementasi file upload dengan Tomahawk</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<p><b>JasperReport</b></p>
<ul>
<li>Pengenalan JasperReport</li>
<li>Visual designer tool dengan iReport</li>
<li>Menampilkan report dengan,
<ul>
<li>  Inline SQL query</li>
<li>  Data Source</li>
</ul>
</li>
</ul>
<blockquote></blockquote>
<ul>
<li>Subreport</li>
<li>Scriptlet</li>
<li>Integrasi JasperReport dengan JSF</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/52/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/52/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=52&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/01/31/training-java-ee-di-liburan-imlek/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Development Stack</title>
		<link>http://dhiku.wordpress.com/2008/01/24/software-development-stack/</link>
		<comments>http://dhiku.wordpress.com/2008/01/24/software-development-stack/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 16:21:59 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/2008/01/24/software-development-stack/</guid>
		<description><![CDATA[Based on discussion in JUG Indonesia mailing list, there are currently two persons have shared their favorite development stack,

Endy Muhardin 
Thomas Wiradikusuma

Now its my turn to share my favorite stack,
Presentation
Mojarra 1.2 with RichFaces + Tomahawk component
Templating
Facelets (really good with JSF)
Reporting Tools
JasperReport and iReport for visual designer
Business and Integration Layer
Spring Framework
Data Access
Hibernate, please note without JPA [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Based on discussion in <a href="http://jug.or.id/">JUG Indonesia</a> mailing list, there are currently two persons have shared their favorite development stack,</p>
<ul>
<li><a href="http://endy.artivisi.com/blog/java/stack-2008-1/">Endy Muhardin </a></li>
<li><a href="http://jroller.com/wiradikusuma/entry/my_current_development_stack">Thomas Wiradikusuma</a></li>
</ul>
<p>Now its my turn to share my favorite stack,</p>
<p><b>Presentation</b><br />
<a href="https://javaserverfaces.dev.java.net">Mojarra 1.2</a> with <a href="labs.jboss.com/jbossrichfaces/">RichFaces </a>+ <a href="http://dhiku.wordpress.com/wp-admin/myfaces.apache.org/tomahawk/">Tomahawk </a>component</p>
<p><b>Templating</b><br />
<a href="https://facelets.dev.java.net">Facelets </a>(really good with JSF)</p>
<p><b>Reporting Tools</b><br />
JasperReport and iReport for visual designer</p>
<p><b>Business and Integration Layer</b><br />
<a href="http://www.springframework.org/">Spring Framework</a></p>
<p><b>Data Access</b><br />
<a href="http://www.hibernate.org">Hibernate</a>, please note without JPA <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><b>Security</b><br />
<a href="http://www.acegisecurity.org/">Spring Security</a>, yeah it can secure your app based on URL, method, object, also EVERY component in JSF <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> sluuurp</p>
<p><b>Testing</b><br />
Unit testing with <a href="http://www.junit.org/">JUnit 4</a>  + <a href="http://dhiku.wordpress.com/2007/12/11/unit-test-mock-objek-dengan-easymock/">EasyMock</a><br />
Integration testing with <a href="http://www.dbunit.org/">DBUnit</a><br />
Coverage testing with <a href="http://cobertura.sourceforge.net/">Cobertura</a><br />
Planning to implement <a href="http://labs.jboss.com/jsfunit">JSFUnit </a>for presentation testing</p>
<p><b>Build system</b><br />
<a href="http://ant.apache.org">Apache Ant</a></p>
<p><b>Continuous integration server</b><br />
<a href="https://hudson.dev.java.net">Hudson</a></p>
<p><b>App Server</b><br />
Tomcat for development, Glassfish for production</p>
<p><b>Database</b><br />
MySQL for development, PostgreSQL for production</p>
<p><b>Project Management Tools</b><br />
<a href="http://dhiku.wordpress.com/2007/10/23/installing-redmine-di-windows/">Redmine </a>(task and bug tracking and wiki)</p>
<p><b>IDE</b><br />
Eclipse is okay, but Netbeans rocks :))</p>
<p>Done! Your turn  please <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/51/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/51/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=51&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/01/24/software-development-stack/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Drupal Deployment dan Backup dengan Capistrano</title>
		<link>http://dhiku.wordpress.com/2008/01/19/drupal-deployment-dan-backup-dengan-capistrano/</link>
		<comments>http://dhiku.wordpress.com/2008/01/19/drupal-deployment-dan-backup-dengan-capistrano/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 05:42:42 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/2008/01/19/drupal-deployment-dan-backup-dengan-capistrano/</guid>
		<description><![CDATA[Setelah bermain2 dengan drupal untuk project web collaboration, gw selalu melakukan kegiatan  yang sifatnya administratif dan berulang2. Parahnya lagi ini ga bisa gw lakukan  lewat administrator interface. Beberapa hal tsb misalnya,

Karena project disimpan di subversion maka  untuk memulai project, gw dan anggota tim harus,

Checkout project dari repository
Memindahkan hasil checkout ke direktori /var/www/
Setelah [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Setelah bermain2 dengan <a href="http://drupal.org/">drupal</a> untuk <a href="http://dhiku.wordpress.com/2007/10/26/membuat-web-collaboration-dengan-drupal/">project web collaboration</a>, gw selalu melakukan kegiatan  yang sifatnya administratif dan berulang2. Parahnya lagi ini ga bisa gw lakukan  lewat administrator interface. Beberapa hal tsb misalnya,</p>
<ul>
<li>Karena project disimpan di <a href="http://subversion.tigris.org/">subversion</a> maka  untuk memulai project, gw dan anggota tim harus,
<ul>
<li>Checkout project dari repository</li>
<li>Memindahkan hasil checkout ke direktori /var/www/</li>
<li>Setelah kerjaan selesai, tinggal commit  hasilnya</li>
</ul>
</li>
<li>Deployment ke server
<ul>
<li>SSH ke server</li>
<li>Export project (last stable) dari repository</li>
<li>Backup project sebelumnya dengan me-rename namanya  menjadi project-backup. Misalnya dari /var/www/project ke  /var/www/project-backup</li>
<li>Memindahkan hasil export project ke direktori  /var/www</li>
</ul>
</li>
<li>Backup data
<ul>
<li>SSH ke server</li>
<li>Copy project ke direktori backup. Misalnya, copy dari  direktori /var/www/project ke /backup/project-[tanggal_hari_ini]</li>
<li>Dump database dan simpan di dalam direktori backup  (/backup/project-[tanggal_hari_ini])</li>
</ul>
</li>
</ul>
<p>Kegiatan tsb kalo dilakukan terus menerus akan sangat  membosankan. Nah maka itu gw pgn semua proses di atas bisa diotomasi. Maka gw  ketemu sama yang namanya <a href="http://www.capify.org/">Capistrano</a>, tools yang dibuat di atas <a href="http://en.wikipedia.org/wiki/Ruby_programming_language">ruby</a> dan bertugas untuk melakukan otomasi kegiatan2  yang sifatnya repetitif seperti, instalasi, deployment, mengatur konfigurasi2,  backup, dsb. Karena dibuat dengan ruby maka capistrano ini mudah di-extend  dengan menambah ruby module. Capistrano ini bisa melakukan otomasi project yang  dibangun selain ruby (walaupun awalnya ditujukan khusus ruby).</p>
<p>Maka dari itu gw mau share script capistrano untuk  melakukan deployment dan backup pada projek drupal. Dengan asumsi OS yang  digunakan adalah <a href="http://www.ubuntu.com/">Ubuntu</a>.<span id="more-50"></span></p>
<p>1. Install ruby dan rubygems<br />
<code>apt-get install ruby rubygems</code></p>
<p>2. Install capistrano lewat gems<br />
<code>gem install capistrano</code></p>
<p>3. Buat file dengan nama capfile (ini adalah  nama default untuk capistrano)</p>
<p>4. Definisikan nama role untuk diasosiasikan ke  host yang akan di-remote. Misalnya role root akan melakukan kegiatan2 pada host  dhiku.wordpress.com</p>
<pre name="code" class="ruby">

    role :root, &quot;dhiku.wordpress.com&quot;
    role :localhost, &quot;localhost&quot;
</pre>
<p>5. Karena gw menggunakan Subversion untuk  checkout dan export maka capistrano harus meminta username dan password SVN. Caranya cukup dengan kode di bawah yang artinya variable :svn_user akan diisi oleh input dari user, begitu juga dengan :svn_password, namun bedanya karena svn_password tipenya password maka tentu harus dihidden.</p>
<pre name="code" class="ruby">

    set :svn_user do
      Capistrano::CLI.ui.ask &quot;SVN username?&quot;
    end

    set :svn_password do
      Capistrano::CLI.password_prompt &quot;SVN Password for #{svn_user}?&quot;
    end
</pre>
<p>6. Sekarang kita mulai mendefinisikan task untuk  masing2 kegiatan yang biasa dilakukan, deployment, checkout dari repository, dan  backup data.<br />
Mendefinisikan task sangat mudah dengan capistrano,</p>
<pre name="code" class="ruby">

   task :nama_task , :roles =&gt; :nama_role do
      # lakukan task disini
   end
</pre>
<p>7. Definisikan task untuk deployment</p>
<pre name="code" class="ruby">

   # Tentukan deployment direktori
   set :deploy_to do
      Capistrano::CLI.ui.ask &quot;Deployment path of project website e.g /var/www/project?&quot;
   end   

   # Tentukan alamat repository
   set :repository, &quot;https://project.dhiku.com/svn/project&quot;

   # Tentukan alamat direktori temporary
   temp_dir = &#039;tmp/export/project&#039;

   # Berikan deskripsi untuk task deployment
   desc &quot;Deployment ke server&quot;
   # Definisikan task untuk deployment dan yang melakukan adalah role dengan nama root
   task :deploy , :roles =&gt; :root do
        # Jalankan svn export ke direktori tmp/export/project
        run &quot;svn export --username #{svn_user} --password #{svn_password} #{repository} #{temp_dir}&quot;

        # Backup project sebelumnya dengan me-rename namanya menjadi project-backup
        sudo &quot;mv #{deploy_to} #{deploy_to}-backup&quot;

        # Memindahkan hasil export project ke direktori deployment
        sudo &quot;mv #{temp_dir} #{deploy_to}&quot;
   end
</pre>
<p>8. Definisikan task untuk checkout</p>
<pre name="code" class="ruby">

   # Berikan deskripsi untuk task checkout
   desc &quot;Checkout dari server&quot;
   # Definisikan task untuk checkout dan yang melakukan ini adalah role localhost
   task :checkout, :roles =&gt; :localhost  do

     # Jalankan svn export ke direktori temp
     run &quot;svn checkout --username #{svn_user} --password #{svn_password} #{repository} #{temp_dir}&quot;

     # Backup project sebelumnya dengan me-rename namanya menjadi project-backup
     sudo &quot;mv #{deploy_to} #{deploy_to}-backup&quot;

     # Memindahkan hasil export project ke direktori deployment
     sudo &quot;mv #{temp_dir} #{deploy_to}&quot;
   end
</pre>
<p>9. Definisikan task untuk backup</p>
<pre name="code" class="ruby">

   # Berikan deskripsi untuk task backup
   desc &quot;Backup project site dan DB ke direktori backup/project-[date]&quot;

   task :backup , :roles =&gt; :root do
     db_name = &#039;project&#039;
     db_user = &#039;project&#039;
     backup_dir = &quot;backup/project-#{Date.today}&quot;

     # Backup project site
     run &quot;cp -r #{deploy_to} #{backup_dir}&quot;

     # Backup DB
     set :db_password do
       Capistrano::CLI.password_prompt &quot;Database password for #{db_user}?&quot;
     end
     run &quot;mysqldump -u #{db_user} -p#{db_password} #{db_name} &gt; #{backup_dir}/#{db_name}.sql&quot;
   end
</pre>
<p>10. Capistrano siap dijalankan, dan kita bisa liat daftar task yang  sudah dibuat sebelumnya dengan,<br />
<code>cap -T</code><br />
Outputnya kira2 seperti ini,<br />
<code>cap deploy   #Deployment ke server<br />
cap checkout #Checkout dari server<br />
cap backup   #Backup project site dan DB ke direktori backup/project-[date]</code>Capistrano siap untuk dijalankan, untuk menjalankan task backup, cukup dengan <b>cap backup</b>. Selamat mencoba dan nikmati hidup dengan hal2 lain yang lebih bermanfaat :))</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=50&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/01/19/drupal-deployment-dan-backup-dengan-capistrano/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Menggunakan DataSource dengan JasperReport</title>
		<link>http://dhiku.wordpress.com/2008/01/07/menggunakan-datasource-dengan-jasperreport/</link>
		<comments>http://dhiku.wordpress.com/2008/01/07/menggunakan-datasource-dengan-jasperreport/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 15:08:55 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/2008/01/07/menggunakan-datasource-dengan-jasperreport/</guid>
		<description><![CDATA[Akhir2 ini di milis netbeans-indonesia, sering yang bertanya tentang reporting dengan menggunakan jasperreport. Oleh karena itu gw mau sedikit sharing tentang reporting tools ini. Okay, sebelumnya sharing ini gw asumsikan pembaca sudah pernah menggunakan atau setidaknya pernah mencoba untuk menampilkan report dengan data yang berasal dari database.
Ada banyak cara untuk menampilkan report, yang pertama adalah [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Akhir2 ini di milis netbeans-indonesia, sering yang bertanya tentang reporting dengan menggunakan jasperreport. Oleh karena itu gw mau sedikit sharing tentang reporting tools ini. Okay, sebelumnya sharing ini gw asumsikan pembaca sudah pernah menggunakan atau setidaknya pernah mencoba untuk menampilkan report dengan data yang berasal dari database.</p>
<p>Ada banyak cara untuk menampilkan report, yang pertama adalah dengan memasukkan seluruh SQL ke dalam JRXML, namun pendekatan ini menurut gw kurang fleksibel. Kenapa? karena setiap ada perubahan pada tabel database kita harus mengubah kode tsb di JRXML, compile ulang menjadi jasper file, dan memastikan query ditampilkan dengan sempurna. Selain itu manipulasi dan kalkulasi terhadap row-pun sulit dilakukan, dan juga bagaimana kalo pake ORM seperti hibernate? apa mau kembali nulis SQL lagi setelah terbiasa dengan HQL? Thanks but no thanks <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>JasperReport sudah memfasilitasi hal ini dengan menggunakan konsep DataSource. Intinya adalah proses pengambilan data dipindahkan ke kode Java, dimasukkan ke dalam DataSource, dan DataSource ini tinggal diumpan ke Jasper file (hasil compile JRXML) untuk diisi(fill) dan selanjutnya diexport dalam bentuk report yang diinginkan. Jadi tidak perlu compile2 ulang JRXML lagi jika ada perubahan SQL.</p>
<p>Ada banyak jenis DataSource yang disediakan oleh JasperReport, namun yang paling sering gw gunakan adalah JRBeanCollectionDataSource. Dari namanya pasti bisa ditebak bahwa DataSource ini untuk menyimpan Collection of Object. Selain itu ada juga,</p>
<ul>
<li> JRMapArrayDataSource untuk datasource dari array of map</li>
<li> JRMapCollectionDataSource untuk datasource dari collection of map</li>
<li> JRBeanArrayDataSource untuk datasource dari array of bean</li>
<li> JRTableModelDataSource untuk datasource dari tablemodel di swing</li>
<li>JRXmlDataSource untuk datasource dari xml</li>
</ul>
<p>Oke langsung saja ke contoh,</p>
<p>Objectivenya adalah menampilkan report seluruh user yang terdaftar (yang ada dalam database).<span id="more-46"></span></p>
<p>User.java</p>
<pre name="code" class="java">

public class User {
   private String name;
   private String email;
   private String address;

   // Generate getter and setter
}
</pre>
<p>asumsi kita mempunyai tabel</p>
<pre name="code" class="sql">

CREATE TABLE T_USER (
  u_id INT NOT NULL AUTO_INCREMENT,
  u_name VARCHAR( 255 ) NOT NULL,
  u_email VARCHAR( 255 ) NOT NULL,
  u_address VARCHAR( 255 ) NOT NULL,
  PRIMARY KEY ( u_id )
)
</pre>
<p>Jika menggunakan SQL maka file user.jrxml kira2 sebagai berikut,</p>
<pre name="code" class="xml">

&lt;jasperReport name=&quot;UserReport&quot;&gt;

  &lt;queryString&gt;
      &lt;![CDATA[select * from T_USER]]&gt;
  &lt;/queryString&gt;
  &lt;field name=&quot;u_name&quot; class=&quot;java.lang.String&quot;/&gt;
  &lt;field name=&quot;u_email&quot; class=&quot;java.lang.String&quot;/&gt;
  &lt;field name=&quot;u_address&quot; class=&quot;java.lang.String&quot;/&gt;

  &lt;!-- desain report --&gt;

&lt;/jasperReport&gt;
</pre>
<p>jika menggunakan DataSource, langkah2 yang dilakukan adalah,<br />
1. Hilangkan tag queryString<br />
2. Sesuaikan nama field dan tipenya dengan property pada class User<br />
sehingga user.jrxml menjadi,</p>
<pre name="code" class="xml">

&lt;jasperReport name=&quot;UserReport&quot;&gt;

  &lt;field name=&quot;name&quot; class=&quot;java.lang.String&quot;/&gt;
  &lt;field name=&quot;email&quot; class=&quot;java.lang.String&quot;/&gt;
  &lt;field name=&quot;address&quot; class=&quot;java.lang.String&quot;/&gt;

  &lt;!-- desain report --&gt;

&lt;/jasperReport&gt;
</pre>
<p>Terakhir adalah membuat class UserReport untuk generate report,</p>
<pre name="code" class="java">

public class UserReport {

	public static void main(String[] args) throws JRException {
 	// Siapkan datasource
 	JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(
 			prepareDataSource());

	// Compile JRXML menjadi Jasper
 	JasperReport jasperReport = JasperCompileManager
 			.compileReport(&quot;/path_to_jrxml/user.jrxml&quot;);

	// Fill report dengan datasource
 	JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
 			new HashMap(), dataSource);

	// Export report
 	JasperExportManager.exportReportToPdfFile(jasperPrint, &quot;path_to_dest/user.pdf&quot;);
 }

  /**
  * Untuk real-case seharusnya nilai ini diambil melalui SQL dengan JDBC atau
  * dengan ORM seperti Hibernate.
  *
  * @return List
  */
 public static List prepareDataSource() {
 	List users = new ArrayList();
 	users.add(new User(&quot;Hadikusuma Wahab&quot;, &quot;dh1ku.ilkom@gmail.com&quot;, &quot;Jakarta&quot;));
 	users.add(new User(&quot;Endy Muhardin&quot;, &quot;emuhardin@gmail.com&quot;, &quot;Bogor&quot;));
 	users.add(new User(&quot;Ifnu Bima&quot;, &quot;ifnubima@gmail.com&quot;, &quot;Bogor&quot;));

	return users;
 }
}
</pre>
<p>Silahkan dicoba, mudah2an membantu <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/46/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/46/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=46&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/01/07/menggunakan-datasource-dengan-jasperreport/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>
	</item>
		<item>
		<title>Whatever You Think, Think The Opposite</title>
		<link>http://dhiku.wordpress.com/2008/01/05/whatever-you-think-think-the-opposite/</link>
		<comments>http://dhiku.wordpress.com/2008/01/05/whatever-you-think-think-the-opposite/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 14:03:32 +0000</pubDate>
		<dc:creator>dhiku</dc:creator>
		
		<category><![CDATA[Book]]></category>

		<category><![CDATA[Change Manajemen]]></category>

		<category><![CDATA[Manajemen]]></category>

		<guid isPermaLink="false">http://dhiku.wordpress.com/2008/01/05/whatever-you-think-think-the-opposite/</guid>
		<description><![CDATA[
Buku ini sebenarnya sudah terbit sejak Maret 2006 dan pas jalan2 ke gramedia tiba2 adek gw nunjukkin buku ini, sekilas terlihat menarik, gw baca sekilas dan gw ga sabar untuk ngebacanya. Dan setelah itu? gw simpulkan buku ini worth it untuk dibaca, sangat inspiratif, disampaikan dengan berani, ilustrasi2 yang kreatif dan contoh2 yang paradoks.
Whatever You [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://dhiku.files.wordpress.com/2008/01/whateveryouthink.jpg?w=240&h=240" alt="Whatever You Think" height="240" width="240" /></p>
<p>Buku ini sebenarnya sudah terbit sejak Maret 2006 dan pas jalan2 ke gramedia tiba2 adek gw nunjukkin buku ini, sekilas terlihat menarik, gw baca sekilas dan gw ga sabar untuk ngebacanya. Dan setelah itu? gw simpulkan buku ini worth it untuk dibaca, sangat inspiratif, disampaikan dengan berani, ilustrasi2 yang kreatif dan contoh2 yang paradoks.</p>
<p><i>Whatever You Think, Think The Opposite</i>, diawali dengan contoh2 cara berpikir terbalik, misalnya bagaimana atlet yang merubah cara melompat dalam lompat tinggi yang sebelumnya menyajarkan badan dengan palang rintangan (sebelum 196 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> dengan membalikkan badannya sehingga membelakangi palang rintangan. Hasilnya? Rekor pecah. Sebelumnya hanya 5 feet 8 inchi menjadi 7 feet 4 1/4 inchi. Atlet tsb adalah Dick Fosbury, dan teknik ini akhirnya disebut Fosbury Flop.<span id="more-45"></span></p>
<p>Atau seorang professor yang sedang mandi di sungai dan ketika keluar dia menjumpai mahasiswi yang sedang lewat, dan apa yang dia lakukan? menutupi kepalanya dengan handuk (ya bukan menutupi kelaminnya).</p>
<p>Lalu Paul Arden (pengarangnya) melanjutkan dengan mengatakan bahwa jika kita mengambil keputusan yang benar, aman, dan diambil oleh orang pada umumnya maka kita akan sama dengan org lain. Dan keputusan yang tidak aman akan membuat kita berpikir dan merespons dengan cara yang lain. Kalo gw pikir hal ini sering terjadi, misalnya orang2 mencoba membangun usaha atau ide yang dianggap aneh dan mungkin tidak terpikirkan oleh orang lain, tapi karena dia ingin usahanya berhasil atau idenya terwujud maka respons kreatifpun akan muncul untuk mewujudkannya. Hasilnya? perusahaan atau ide yang diimpikan oleh orang lain. Google adalah contoh nyata dari hal ini.</p>
<p>Berbicara soal ide, buku ini menyebutkan bahwa ide bagus adalah ide yang terwujud. Masuk akal, karena ide yang bagus belum tentu akan berhasil sebelum dilaksanakan dan dibuktikan. Ide bagus tanpa action seperti angan2 kosong yang tidak berguna. Bahkan ide buruk yang dilaksanakan masih lebih baik daripada ide baik yang tidak diwujudkan. Wujudkan ide2, kerjakan mulai dari sekarang, dan perbaiki sambil jalan (banyak orang yang menunggu sampai semua hal sempurna dan pada akhirnya tidak ada yg dihasilkan) Yap nasehat yang bagus untuk awal tahun <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Paul Arden juga bilang, lebih baik menyesali yang sudah dilakukan daripada menyesali apa yang tidak dilakukan. Wujudkan hal2 atau ide2, selama hal tsb tidak mengancam nyawa, kenapa ga? Again, nasehat lagi buat gw <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Masih banyak pesan2 segar yang diungkapkan oleh buku ini, namun bagi yang mengharapkan buku ini memberikan gambaran detail ttg bagaimana cara berpikir terbalik, sebaiknya lupakan saja, karena buku ini hanya memberikan ilustrasi dan nasehat2 sederhana yg kreatif. Tapi, seperti yang gw sebutkan di awal, buku ini sangat INSPIRATIF dan tetap MENARIK untuk dibaca.</p>
<p>Selamat membaca <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dhiku.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dhiku.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dhiku.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dhiku.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dhiku.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dhiku.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dhiku.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dhiku.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dhiku.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dhiku.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dhiku.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dhiku.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dhiku.wordpress.com&blog=280069&post=45&subd=dhiku&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dhiku.wordpress.com/2008/01/05/whatever-you-think-think-the-opposite/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/dhiku-128.jpg" medium="image">
			<media:title type="html">dhiku</media:title>
		</media:content>

		<media:content url="http://dhiku.files.wordpress.com/2008/01/whateveryouthink.jpg" medium="image">
			<media:title type="html">Whatever You Think</media:title>
		</media:content>
	</item>
	</channel>
</rss>