ifnu

ifnu

This user hasn't shared any profile information

Home page: http://ifnubima.org

Yahoo Messenger: h_4_rr_y

Jabber/GTalk: ifnubima

Posts by ifnu

Menggunakan Hibernate Validator di Spring MVC 3

0

Form Validation adalah topik yang cukup hangat, feature ini sangat penting diimplementasikan di dalam aplikasi web, tanpa ada form validation yang baik, aplikasi web kita bisa berantakan, tidak hanya dari sisi datanya tapi dari sisi keamanan juga. Hacker bisa menggunakan celah ini untuk menginput data yang bisa membuat error aplikasi, misalnya mengisi kolom dengan panjang melebihi kolom database dan seterusnya.
Form validation juga merupakan topik hangat dari sisi seberapa elegan form validation ini bisa dilaksanakan. Kalau tanpa framework pun form validation bisa dengan gampang dilakukan, tinggal gunakan request.getAttribute kemudian isinya divalidasi secara manual. Validasi secara manual ini tidak bersifat “deklaratif” artinya kita tidak bisa melihat aturan validasi dengan gampang, harus dilihat kode validasi.
Hibernate validation menawarkan form validation yang sangat elegan dengan memanfaatkan annotation.
(more…)

Say YES to GAMBARU!

3

Saya ambil postingan ini dari milis indo-sing, sangat inspiring dan ingin berbagi dengan teman-teman agar membangkitkan semangat belajar dan berbagi pengetahuan.

Say YES to GAMBARU!
By Rouli Esther Pasaribu

Terus terang aja, satu kata yang bener2 bikin muak jiwa raga setelah tiba di Jepang dua tahun lalu adalah : GAMBARU alias berjuang mati-matian sampai titik darah penghabisan.
Muak abis, sumpah, karena tiap kali bimbingan sama prof, kata-kata penutup selalu :
motto gambattekudasai (ayo berjuang lebih lagi), taihen dakedo, isshoni gambarimashoo (saya tau ini sulit, tapi ayo berjuang bersama-sama) ,
motto motto kenkyuu shitekudasai (ayo bikin penelitian lebih dan lebih lagi).

Sampai gw rasanya pingin ngomong, apa ngga ada kosa kata lain selain GAMBARU? apaan kek gitu, yang penting bukan gambaru.

(more…)

Indo Java Podcast 13 : Migrasi EJB2.0 ke EJB3.0, Spring Integration di EJB3.0, Buku Java Desktop

3

Hai, pendengarnya indo java podcast. Udah 3 bulan berlalu tanpa episode baru, banyak hal terjadi dalam 3 bulan kemaren, terutama karena saya ganti status, jadi waktu weekend kebanyakan pulang ke indonesia untuk mempersiapkan acaranya. Nah akhirnya minggu kemaren ada waktu luang lagi untuk rekaman indo java podcast episode 13.

Episode kali ini kita (saya dan dito) membahas tentang kerjaanya dito di kantor, yaitu migrasi dari EJB2 ke EJB3 dan bagaimana mengintegrasikan EJB3 menggunakan Spring. Kesimpulanya, Spring bisa digunakan bersama-sama dengan EJB3 maupun EJB2 dengan sangat baik, Spring mempunyai peran cukup signifikan untuk mengurangi kode untuk menjembatani antara MVC framework (Struts dalam hal ini) dengan backedn (EJB3).

Bagian berikutnya kita membahas buku saya yang segera terbit, judul bukunya “Java Desktop : Membuat Aplikasi POS menggunakan Swing, Spring dan Hibernate”. Buku ini saya tulis di sela-sela kesibukan sehari-hari, makanya waktu penulisanya menjadi cukup panjang, 8 bulan. Buku ini sebenernya adalah penjelasan dari project-template yang saya buat, jadi nantinya setiap template yang saya buat di project-template.googlecode.com ada buku pendampingnya. Tentu saja ini bukan perkara instant, karena menulis buku itu ternyata memerlukan waktu jauh lebih lama daripada menulis kode.

#13 : http://indo-java-podcast.googlecode.com/files/indo-java-podcast%2313.mp3
– Migrasi EJB2.0 ke EJB3.0
– Integrasi Spring dan EJB3.0
– Buku Java Desktop

Happy Podcasting

Menjalankan Debug di NetBeans dengan Maven Jetty Plugin

0

Maven sudah menjadi favorit saya untuk development aplikasi Java Web, Jetty plugin saya gunakan untuk menjalankan aplikasi. Jetty sangat ringan dan cepat sekali loadingnya, development cycle menjadi sangat cepat. Nah masalahnya saya juga perlu mendebug aplikasi yang dijalankan dengan Maven Jetty Plugin.

Ternyata caranya sangat gampang, kita hanya perlu mengeset Environment Variabel MAVEN_OPTS dengan debug parameter. Kalau di mac/linux caranya dengan menggunakan perintah export :

$ export MAVEN_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000″

Kemudian jalankan maven jetty plugin

$ mvn jetty:run

Setelah itu di NetBeans jalankan menu Debug > Attach Debugger … isikan informasi berikut ini di popup yang tampil :



Selamat mencoba

Indo Java Podcast 12 : Membuat Framework Sendiri, EJB dan Spring

1

Episode kali ini Indo Java Podcast tidak berhasil mendatangkan satupun nara sumber untuk ngobrol bareng. Alasan utama sepertinya gara-gara libur natal-tahun baru sehingga nara sumber yang kita hubungi sedang sibuk dengan acara keluarga atau sedang cuti kerja.

Kali ini saya dan Dito ngobrol tentang thread yang panjang banged di JUG-Indonesia. Thread ini dimulai oleh Eko S.W yang berniat membuat framework sendiri. Banyak pro dan kontra dari anggota JUG mengenai hal ini. Quote-quote yang muncul pun banyak, misalnya tentang sindrom NIH (Not Invented Here) dimana hal-hal generic seperti framework selalu dibuat oleh orang lain yang mempunyai expertis, waktu dan resource untuk fokus membuat framework. Quote lain lebih memilih jalan tengah, “If you want to reinvent the weel, make sure it’s rounded”, pendapat ini tidak memandang Reinvent the wheel sebagai hal yang sia-sia, tapi tetap memberikan penekanan bahwa membuat framework itu gak gampang dan pastikan yang mau membuat mempunyai expertise yang cukup.

Saya sendiri memandang bahwa generasi baru framework web java yang populer lebih mementingkan UI dibanding hanya sebatas MVC. Framework yang mempermudah developer membuat UI tanpa harus dipusingkan dengan CSS serta masalah “cross browser” menjadi sangat populer, apalagi kalau bisa dipadukan dengan framework MVC yang sudah populer seperti Spring dan Struts2.

Setengah bagian podcast berikutnya Dito membahas tentang migrasi EJB2 ke EJB3. Di kantornya yang sekarang arsitektur yang digunakan adalah EJB2 dan Spring, kemudian karena alasan performa, EJB2 akan diupgrade ke EJB3 sekaligus Spring-nya juga diupdate. Satu hal yang saya pelajari, ternyata Spring itu friendly sekali dengan EJB, banyak class-class bawaan Spring yang dapat mempermudah development EJB. Salah satunya adalah LocalStatelessSessionProxyFactoryBean, class ini dapat menyulap EJB Session Bean menjadi Spring Bean, sehingga kita bisa menggunakan IoC untuk menginject Session Bean ke class lain (servlet atau struts action). Teknik IoC jauh lebih baik dan bersih dibanding harus melakukan JNDI lookup untuk mendapatkan Session Bean.

#12 http://indo-java-podcast.googlecode.com/files/indo-java-podcast%2312.mp3
– membuat framework sendiri
– EJB2-Spring
– Migrasi EJB2 ke EJB3
– Selamat tahun baru 2011

Happy Podcasting

Indo Java Podcast 11 : Laporan Dito dari Oracle OTN Days 2010 Singapore

0

Kali ini tamu kita nggak asing lagi, Dito, yang melaporkan pandangan mata dari Oracle OTN Days 2010 Singapore yang dilaksanakan pada bulan november kemaren. Dari acara tersebut banyak yang dibahas, terutama yang lagi Hot adalah Java EE 6, JDK 7 dan JDK 8. Improvement di Java EE 6 seperti servlet 3.0 dibahas dengan panjang lebar, indo java podcast episode 7 juga membahas Java EE 6.

Highlight berikutnya adalah Java Language improvement di JDK 7 dan JDK 8, project-project baru seperti lambda, coin dan jigsaw dibahas panjang lebar oleh Dito. Cukup menarik pembahasanya, karena sudah ditunggu-tunggu oleh komunitas java kapan ini JDK versi baru keluar.

Seperti biasa, di acara dev days java selalu diikuti oleh pembahasan tentang Solaris dan tools-nya. beberapa tahun terakhir DTrace selalu menjadi materi presentasi, kali ini ditambahin tentang BTrace yang sepertinya merupakan enhancement dan generasi terbaru tools Solaris untuk management aplikasi.

#11 http://indo-java-podcast.googlecode.com/files/indo-java-podcast%2311.mp3
– Liputan Oracle Technology Network (OTN) Developer Day 23 November 2010 Singapore
– Keynote Session: Java – The Language of the Future Slide
– Overview of Java EE 6.0 Slide
– Java Development Kit 7 and Java SE 7 Slide
– Java Persistence API Best Practices Slide
– Java FX 2.0 Slide
– Dynamic instrumentation of Java Applications using DTrace and Btrace Slide

Happy Podcasting

Indo Java Podcast 10 : Ngobrol bareng Adelwin tentang Large Development Team

1

Kali ini Indo Java Podcast kedatangan tamu, Adelwin Handoyo dari Standard Chartered Bank Singapore. Kita ngomongin tentang development team yang berukuran cukup besar. Obrolan dimulai dengan menjelaskan seberapa besar ukuran project-nya, struktur team dan development proses yang ada di SC.

Obrolan berlanjut ke development cycle mulai dari nulis kode, commit ke versioning system, build hingga deploy ke staging (test) area. Ada beberapa jenis staging area : CIT (component integration test), SIT (system integration test), UAT (user acceptance test), Load Test, Penetration Test. Setiap staging area ini mempunyai test team tersendiri untuk memastikan semua aspek aplikasi dari kebutuhan fungsional sampai kebutuhan non fungsional dicapai.

Setelah proses development dan testing dibahas, kita membahas konfigurasi di deployment seperti application server, database, reverse proxy hingga SSO authentication. Database connection menjadi topik yang cukup hangat karena sering kali menjadi bottleneck performance aplikasi, salah satu cara memecahkan masalah ini adalah dengan menggunakan cache. Pembahasan mengenai database berlanjut ke topik indexing, cartesian query joint hingga penggunaan Hibernate untuk memastikan bahwa semua query yang ditulis programmer berkualitas tinggi.

Quote yang saya suka banged dari podcast kali ini adalah “seberapa pinter kamu, seberapa banyak knowledge kamu, seberapa cemerlang ide kamu, semua itu gak berguna kalau kerjaan di depan mata nggak selesai”. Mentalitas ini sangat kental di development team besar, knowledge tentang berbagai macam framework tidak berguna kalau kode yang kita tulis mengandung banyak bug, strukturnya berantakan dan susah dimantain. Teman saya sekantor yang selalu mendapat outstanding achievement setiap tahunya, bengong ketika saya ngomongin PHP!, tapi kodenya bagus, terstruktur, minim bug, attitude-nya sepuluh jempol! serius 100% terhadap kerjaan nggak nyambi nggak melakukan hal-hal yang nggak berhubungan dengan kerjaan selama di kantor. Peer presure juga sangat terasa, karena kode kita digunakan oleh orang lain dan juga sebaliknya, kalau kita lambat menyelesaikan tugas kelihatan sekali sebagai bottleneck, dan pastinya tidak bagus di mata PM.

#10 http://indo-java-podcast.googlecode.com/files/indo-java-podcast%2310.mp3
- Perkenalan Adelwin Handoyo
- Large Development Team di Standard Chartered dan Deutsche Bank Singapore
- Technology Stack : Struts2-Spring-MyBatis-Oracle
- Tools dalam development: Ant, Maven, Eclipse, IBM Rational Change, HP Quality Center, HP Load Runner
- Development process
- Testing process: CIT, SIT, UAT, Load Test, Penetration Test.
- Konfigurasi deployment: WebLogic, Managed Server, apache httpd reverse proxy, CAS, SSO
- Attitude menentukan sekali keberhasilan seseorang dalam lingkungan development besar

Happy Podcasting

Indo Java Podcast #9: Web Security bareng Ganius Tanuel

1

Sekarang ini aplikasi web sudah menjadi standard aplikasi untuk banyak organisasi, termasuk institusi finansial dan perbankan. Aplikasi untuk institusi ini sangat sensitif dan harus dilindungi dengan keamanan maksimum. Indo Java Podcast kali ini kedatangan tamu, Ganius Tanuel dari Visa, beliau adalah Security Assessor yang bertugas untuk melakukan assessment terhadap aplikasi di perusahaanya.

Security Assessor dikenal juga sebagai Ethical Hacker, jadi pekerjaan sehari-hari beliau adalah berusaha melakukan hacking atau bisa juga disebut sebagai penetration test. Kegiatan hacking ini dilakukan dalam dua tahap, tahap pertama dilakukan secara terotomasi dengan perkakas, setelah itu dilanjutkan dengan manual hacking untuk mencari celah keamanan aplikasi.

Di bagian berikutnya kita membahas top 10 OWASP security vulnerabilities yang mencakup : SQL Injection, XSS (Cross site scripting), Session Fixation, Input Validation dan seterusnya. Selain dibahas jenis vulnerabilitynya kita juga membahas tentang bagaimana menghindari celah ini muncul di aplikasi kita. Pembahasan berikutnya dilanjutkan dengan studi kasus apache.org yang diserang hacker beberapa bulan lalu. Beritanya bisa dilihat di sini.

#9 : http://indo-java-podcast.googlecode.com/files/indo-java-podcast%239.mp3
– Perkenalan Ganius Tanuel
– Security Assessor, Ethical Hacker
– Automated dan manual penetration test
– owasp.org, PCI complience dan Security Regulation
– OWASP top 10 security vulnerability dan bagaimana mencegahnya
– Apache.org hacked, studi kasus

Happy podcasting

Tuning Performance Aplikasi dengan Hibernate

1

Di milis Netbeans-indonesia ada yang bertanya bagaimana caranya mentuning performance aplikasi, terutama database kalau menggunakan Hibernate sebagai backend. Proses tuning dengan menambahkan index di database dan melakukan cache untuk data statis seperti master data dan data transaksi yang sering dibaca akan menaikkan performance aplikasi hingga beberapa kali lebih cepat. Dari komponen-komponen aplikasi, database dan koneksi antara database dan aplikasi selalu menjadi bottleneck performance aplikasi, sehingga usaha untuk mempercepat query dengan menambahkan index dan mengurangi hit ke database dengan melakukan caching akan sangat signifikan hasil tuningnya.

Salah satu episode dari software engineering radio (se-radio.net eposode #95) membahas bagaimana guardian.co.uk mengubah arsitektur lama yang status (html) menjadi dinamis menggunakan Hibernate sebagai beck-end. Dengan hit puluhan juta kali setiap harinya, hibernate harus di-cache agar hit ke database menjadi minimal, kalau tidak dicache RDBMS apapun pasti kewalahan melayani segitu besarnya request.

(more…)

SOP dan Pembagian Kerja di Software House

7

Beberapa hari ini ada diskusi seru di milis JUG-indonesia, ada salah satu member JUG yang bertanya bagaimana membuat software house dan melakukan pembagian kerja. Dari satu posting berkembang menjadi panjang lebar sampai puluhan email dalam thread ini. Saya tergelitik untuk merangkup thread tersebut menjadi satu sesi QA agar lebih terurut informasinya.

Nah silahkan menyimak serunya thread ini….

(more…)

ifnu's RSS Feed
Go to Top