<$BlogRSDUrl$>

Monday, October 24, 2005

Selamat Hari Raya, Maaf Zahir & Batin

Kepada semua pembaca blog saya, diucapkan Selamat Hari Raya, Maaf Zahir & Batin. Berhati-hati di jalan raya. Semoga selamat pergi, selamat balik dan dipermudahkan perjalanan kita. Amiinn.


Tambahan Java Lagi 2

Learning Java 2D, Part 1.
Learning Java 2D, Part 2.

Sprinkle Some AJAX Magic in Your Struts Web Application.
AJAX: How to Handle Bookmarks and Back Buttons.
Is AJAX Here to Stay?

Test-Driven Development Using StrutsTestCase.


x2

Aduuhhh!! Enhancement seterusnya kpd class DM yg dijana oleh x2 semakin banyak loc nye. PersonDM saya dah mencecah 16,000 loc... Nasib baik saya dah masukkan sekali keupayaan supaya tak perlu new kan DM ni. Ia mempunyai static methods yg lengkap dan tak perlu di'new'kan DM utk menggunakannya. So, walaupun PersonDM.class lebih dpd 140kb saiznya, ruang memory yg diperlukan sepatutnya tak la banyak sangat krn semua orang akan guna class yg di'load' oleh classloader aje dan takde/tak perlu 'new'kan object kat dlm heap.

Rasanya bila siap dimasukan semua enhancement ke dlm DM ni, PersonDM akan mencecah 20 ke 25 ribu loc. Nak siapkan gak DM masa cuti raya ni. Lepas ni, nak buat class Factory plak.

Kemudian, nak buat satu mini framework utk hubungkan swing gui kpd Factory utk dimasukkan ke dlm DM supaya boleh lakukan crud. Lepas ni, application swing hanya perlu hasilkan gui dia aje. Saya cadang nak guna aop utk 'tangkap' semua JTextField, etc, secara tranparent utk dibagi kpd Factory dan seterusnya DM utk semua operasi crud. Ini utk scenario yg mana gui dia tak standard. Kalau yg standard, saya akan cuba masukkan keupayaan menjana class2 gui standard ini ke dlm x2, selepas itu pula. Tak suka rupa gui yg standard? Hasilkan la sendiri punya dan masih boleh guna code2 crud tanpa risau utk ubah gui dimasa akan datang.


Iraq

Bigger, Stronger Homemade Bombs Now to Blame for Half of U.S. Deaths.

Soldiers Lost in Iraq Top Those Lost in First Four Years in Vietnam; Expert on the '60s Reflects on Similarities, Differences.

Iraq's War Dead.

Guantanamo ordeal of Aljazeera cameraman.


Tambahan Java Lagi

Buat peminat portlet, Apache Pluto 1.0.1 released.

MySQL 5.0 Released. Perbincangan yg boleh tahan menarik tentang DB, termasuk DB lain spt Postgresql.

Click 0.15 released. Satu lagi web framework, macam tapestry dan wicket. Website click.

rfiddevice: Creating an RFID Middleware Solution with Java.

What's New in SOA and Web Services?.
Reference SOA/Web Services.

Book Excerpt: Java Reflection in Action, Chapter 4, "Using Java's Dynamic Proxy"


Demam Denggi

Tanda Demam Denggi.
DEMAM DENGGI (Dengue Fever) - Info Sihat.


Tambahan Java

rizan bagi link kpd JDepend serta eclipse plugin nye.


Kerja

Tak ku sangka. Masa mula2 kenal dgn M bertahun2 yg lepas melalui forum tempatan (tak ingat yg mana, sembang.com kot), siap gaduh (sikit aje ;) biasa la kan) dgn dia, bertukar kpd persahabatan yg lebih akrab di mana M hadir di kedua2 kursus pendek yg saya buat, tak disangka satu hari nanti saya akan interview M utk jawatan IT Manager utk menggantikan tempat saya. Dan sekarang ni, tengah tunggu HR company utk bagi offer letter kpd M.

Tahniah M. Anda memang layak :)

Moral of the story is, berbuat baik dan berkawan la dgn seberapa ramai yg boleh, selagi tidak bertentangan dgn hukumNya. Krn, dunia IT kat Malaysia ini kecil. Satu hari kelak, kawan2 kita ini boleh membantu kita, atau siap interview kita sekali :)

Rancangan saya seterusnya ialah utk ajak rakan2 forum yg lain utk join, bermula dgn I dan I. Tapi, ini lambat lagi. M kena masuk dulu utk ganti tempat saya, baru saya boleh pi ke pmo dan cuba yakinkan management tentang strategy saya utk it implementation mereka ni. Doakan saya berjaya.


Iraq

Iraqi bomb builders learn fast; exact heavy toll.


Macam2

RIFE/Crud 1.0: CRUD scaffolding for RIFE released. RIFE 1.2 released. Website RIFE.

Prototype is a JavaScript framework that aims to ease development of dynamic web applications.

JDock 1.3 : Swing docking.


Ruby on Rails (RoR)

Pengenalan kpd RoR, Rolling with Ruby on Rails. Artikel seterusnya, What Is Ruby on Rails menerangkan apa yg ada dlm RoR 1.0. ActiveRecord::Associations::ClassMethods pula ialah doc utk ActiveRecord, bhgn Associations. ActiveRecord mereka ni ialah or mapper utk RoR.

Nampak RoR ni menarik, tapi....., saya tak rasa apa2 POW!!! pun?? Rasa biasa je.

Ruby
Saya sangat setuju bhw sesetengah programming language (ruby, python, groovy, beashell, etc) adalah lebih ringkas dpd Java which translate kpd better productivity dlm menghasilkan bhgn tertentu sistem. Bhgn tertentu? Ya. Utk saya, bhgn tertentu yg sesuai adalah spt bhgn business rules and logic. Dlm satu2 sistem, bhgn2 yg paling banyak kena ubah dari masa ke semasa ialah data dan kelakuan (business rules & logic). Bhgn db access, view, network communication, 3rd party spt scheduler, etc, kekal pakai java. Bhgn business rules & logic, dan glue code, boleh pakai salah satu dpd programming language ini utk percepatkan development dan meningkatkan agility apabila requirements berubah krn sememangnya nak lakukan perubahan tu lebih cepat berbanding java. Pra-syarat utk ini ialah ia mesti la punya strong integration dgn java.

Full-stack MVC framework
Saya tak lihat apa2 kelebihan RoR terhadap java yg dah disiapkan MVC nye dpd gabungan pelbagai 3rd party sw menjadi satu. Spt sekarang ni, saya guna webwork 1.4 + spring + or mapper (castor/hibernate). Dah sedia ada, pakai aje la.

Convention over configuration
Ini kelebihan yg kecil utk RoR. Jumlah masa saya dlm configuration of the so called xml hell tak sampai 1% dpd masa development. Bahkan, dgn menyerahkan diri saya kpd xml hell dlm menggunakan spring, saya tak perlu sentuh apa2 java code pun utk setup scheduler Quartz utk run sejumlah schedule yg berbeza, mengambil masa beberapa minit shj.

Satu kelemahan cara ini ialah ia tak sekaya cara yg menggunakan configuration. Setakat pemahaman ringkas saya terhadap ActiveRecord, hubungan 1..* yg disupport setakat ini hanyalah pada tahap aggregation/composition. Maksudnya, bila add satu object ke dlm collection, object tu akan diinsert/update/delete. Banyak gak keadaan yg saya guna association biasa aje iaitu bila si A mati, kawan2 nye tak diheret sekali utk mati bersama2nya. Hanya tubuh badan nye shj yg habis.

Less code
Satu lagi kelebihan kecil utk RoR. Jumlah loc sesuatu project bukan la faktor utama dlm menentukan cepatnya utk nak develop, kurangnya bugs, susah / senang nak maintain. Dlm satu2 projek, code2 yg ada secara ringkasnya terbhgi 2. Code2 yg perlu kpd sistem dan code2 sokong sistem. Code2 sokongan spt code2 core lib java (java.util.*, etc), 3rd party lib spt jar2 jakarta/spring/hibernate/berpuluh2 lagi, DAN termasuk juga code2 yg dijana. Code2 sokongan ini perlu difahami mana2 yg digunakan. Umumnya tak perlu maintain. Code2 yg penting utk difahami the ins and outs utk dimaintain dan dienhance seterusnya tak la banyak sangat setelah tolak loc sokongan ni, lebih kpd code2 specific kpd application tersebut, menjadikan point less code ni hanya la satu kelebihan kecil kpd RoR, apatah lagi apabila dah integrate dgn baiknya, katakan jruby/groovy/etc ke dlm toolkit kita.

Generators
Sudah ada.

Zero turnaround time
Walaupun pengarang artikel menyatakan jgn jadikan ini point kecil, saya tetap meletakkannya sebagai point kecil krn kerap gak saya berfikir atau berehat masa recompile dan redeploy ni. Saya tak teror, jadi perlu banyak gak berfikir dan sekali sekala berehat antara kerja, tak spt mereka yg teror2 ni. So, saya suka gak ada masa rehat yg sekejap ni. Salah ke?

Scaffolding
Sudah ada.

Kesimpulannya, java developer punya pilihan utk menjadikan RoR sebagai salah satu tool dlm toolbox dia atau guna aje la pelbagai tools yg dah ada dlm dunia java utk digabungkan menjadi satu bagi mencapai productivity yg tak kurang hebatnya.

Pendapat saya aje.

Comments:
Saya nak letak link ke sini dari ittutor :)
http://forums.ittutor.net/index.php?showtopic=28042
 
Letak la.

Ni pendapat saya aje. Sape la saya.
 
Post a Comment

This page is powered by Blogger. Isn't yours?