Catatan Tercecer Tips dan Trik Ruby Bulan Mei 2008

Posted: May 28, 2008 in RUBY

Barusan sih abis nulis yg di ruby lang indonesia itu, uh butuh dua hari lho, maklum pakai tenaga sisa pas malem gitu, itu pas kemaren, trus yang malem ini ya dicicil lagi, akhirnya selesai juga… jadi berandai-andai kapaan ini tulisan saya selesai… perlu ada semacam scrum master nih buat jadi advisor saya untuk tulisan-tulisan saya, biasanya kalo sambil semedi trus tenang gitu ide ngalir deh biar betelor tulisan jadi lancar.

Di ruby lang itu banyak trik yang benar-benar memaksimalkan kemampuan paralel assignment di ruby ya, array apalagi nah kalo ini bahkan musti sering-sering diasah kemampuannya supaya terbiasa, sampai ke olah string sekalipun bahkan. Jadi seperti “%s sedang %s” % [“Arie senang”] tekan enter abis gitu keluarnya otomatis jadi string “Arie sedang senang”.

Di paragraf barusan saya sering menekankan terutama dan khususnya buat introspeksi diri sendiri, misalkan kalau di proyek beneran gitu ya, manfaatkan betul apa-apa yang sudah didukung di RDBMS itu sendiri kalau bisa… awalnya mungkin terperangah gaya koplok ngelihat ada developer yang biasa nulis query pouanjang abis bareng optimasi trus ama client server segala macam gitu, tapi ya lama-lama kalau sudah biasa toh semua itu ya kayak mainan aja. Buat yang belum biasa, ya tinggal dibiasakan aja, ntar tau-tau kok ya nggak terasa lagi tuh yang nggak biasa kemarin-kemarin (biasanya setelah melalui berbagai deraan tuh hehe).

Oh iya ada lagi, ini kaitannya sama rspec view ya, mungkin dulunya belom tau kalau sebetulnya kita tu bisa banget ngandelin rspec buat view, bahkan buat layout, jadi bisa aja render “nama templatenya” trus pakai opsi panah layout panah gitu ya tulisin string “layouts/application”, ini sengaja ditulis dgn gaya bercerita berhubung saya capek sama wordpress, saya cuma peduli soal konten tanpa mau repot bikin2x situs lagi (keknya tenaga gw buat koding uda abis sama yang jadi sesuatu itu deh, cuih, langsung pada monyong kali tuh yang lagi agresif semangat2nya gitu).

Hm, yang perlu jadi catatan yah, sangat sangat perlu dicamkan kalau nyobain apa-apa tu bukan pakai irb, tapi pakai file langsung gitu. Disini walau ruby bukan perl, tapi kok ya kerasa banget kalo maen pake file gitu, padahal kalau mainan metasploit aja cukup pakai session irb punya aja bisa jalan dia, ya tapi kan saya cuma tinggal pakai di metasploit, lha kalau nyoba-nyoba ruby gini kan musti sabar nghadepinnya… nggumam-nggumam sendiri..

Ada lagi tentang range, bum bum bum jedug jedug jedug! emang sangat dianjurkan tu kalau sifatnya angka integer gitu, tapi awas jangan sok terlalu kerajinan deh pasang range buat obyek Time =)) Ini curhat dari pengalaman pribadi nih… kok laaaaaamaaaaaaaaaa banget, ya tau sendiri kan ternyata itu bener2x di urutin satu-satu tuh range nya sama ruby per detik!!!!!!! dikira itu ruby nya hang, padahal bukan programnya yang salah, pokoknya salahin programmernya deh…. buat yang kurang introspeksi aja, kalo yg suka sering rapi ya itu programmer yang patut sering-sering disayang -_-

kabur pake helm…

Ada kasus lagi, kalo ini sih activerecord, gara-garanya apa = ya hackish, capek deh. Iya saya capek kalo tau ada aplikasi ngehack gitu suka malas, padahal itu saya ngomong gini setaraf di level ruby lho, yang katanya OOPnya rapi dst itu – jadi boro-boro jangan coba berpikir buat dibandingin ke yang berantakan kocar kacir tarik sana tarik sini ples gak ada dokumentasi alias sistim 7 warisan antah barantah deh. Mungkin kalo biasa sama ngubah status kalo satu doang iya pake boolean field, tapi ternyata ya mustinya bisa lebih maju lagi berstrategi yaitu pasangin aja datetime biar terekam kapan itu berisi true bila tidak NULL kalau IS NULL ya berarti false, gitu doang, tapi ternyata ada lagi kalo mo mau maju lagi ya pakai state, apa apa pokoknya state, =)) nah kalo database segede gambreng berikut model trus migrasi main ati-ati berhubung kalo salah-salah ya dasar mati beneran macet aliran duit berhenti =)) ya kerasa banget kalo apa apa dot apa apa dot, ati-ati tu, emang dasar sistimnya butuh bernafas biar ora kemringet servernya (!) cepat atau lambat sistem tu kalau memang mau serius ya musti dibenahi dan diseriusi, gak usah bela-belain kalo dari divisi anu bilang berpikirlah menurut divisinya, tapi kalo dari divisi beda berpikir penting ke divisi yg beda tsb, ya mustinya seperti bangunan ya, ada beton, ada batu bata, ada semen, ada pondasi besi, toh yang besi nggak tereak oi saya ni yang nyokong ni bangunan bisa kokoh berdiri tegak, dan yang semen ama cet gitu jg nggak perlu nyombong nih liat gw cantik, yah itu semua adalah hasil dari kerjasama semua :-) lha ini jadi meh ngomong teknis opo ora son… intinya tadi kalo hackish hati-hati kejebak digigit sama caching sendiri yang tadi buat optimasi malah sibuk semalaman tidur terganggu mikiri kok obyek anu tau tau ID nya hilang ya kenapa ya, padahal rahasianya ya tinggal obyek.reload iya, mirip banget ama yang script console gitu, bedanya kalo di script console ya emang masih kadang error tu musti keluar masuk lagi (najis bleh!).

Trus ada lagi tentang penyingkatan if then else pakai operator ternary, kalau kita sebetulnya udah bahas ya kalo di milis ID-Ruby tuh kalo puts 1 && true bakal keluar 1, atau ( puts 1 && false ) || puts 2 bakal keluar 2. udah pernah kita bahas disana sebetulnya / iya, ini juga dari pengalaman pribadi.

Gitu juga sama rescue satu baris tuh udah ditelanjangi dikupas mateng-mateng dibedah abis-abisan sama temen-temen di ID-Ruby deh (alah!) padahal itu cuma sebatas yang semampu kita doang, belum sampai ke source code Ruby yang pakai C itu kok, apalagi sampai ke parser segala macam, trus apalagi sampai dibongkar ke assembly segala macam. mati aku. keseharian kan bukan bergelut disana, tapi ya buat yang menunjang produktifitas tinggi karir aja yang di lapangan seperti contoh-contoh laporan proyek anu proyek anu gitu / yuhu ntar bandung ngariung bakal mabok koding buat yang emang haus untuk itu, kalo mo ngopi ngopi sih bisa aja tapi paling komputernya yang nggak kuat deh, mending suntik aja tu semua resource di komputer ke kepala jadi gak usah apa apa pake bukulah laptoplah wong sudah ada di “luar” kepala saking jauhnya di luar kepala sampai lupa lagi, iya dulu gak tau, sekarang lupa, mas. ah udah ah, gitu aja. nungguin besok terakhir bareng temen-temen malaysia.rb ngumpul-ngumpul ngobrol-ngobrol (bukan cakap-cakap kalo itu ya bahasa melayu).

tinggalkan feedback konstruktif atau lebih baik diam

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s