Archive

Archive for August, 2009

Bahayanya Data Centric Application (CRUD)

August 12, 2009 3 comments

Kenapa ya setiap ada aplikasi yg dibangung selalu aja langsung berpikir data2 nya apa? Table2 yg dibutuhkan apa? Relasi antar table seperti apa. Mikirnya table melulu. Argh… Setiap bangung aplikasi mikirnya langsung design database. Relasi. Foreign Key. dll. Emang OOP seperti itu ya? Justru hal ini bisa menyebabkan kesalahan dalam proses berpikir. Kita berpikir bahwa aplikasi yg telah kita buat itu OOP hanya karena kita menggunakan bahasa pemrograman OO.

Apalagi dengan adanya bantuan ORM skarang seperti Hibernate dan kawan2 nya. Wow.. Makin benar2 rusak pola pikir itu. Hancur. Setter dan getter dimana2. Kita berpikir bahwa semua aplikasi tersebut adalah CRUD applicationi. Setiap data ada operasi Add New, Delete, Update, Read. Arghh…………. Dunia seperti apa ini??
Read more…

Advertisements
Categories: Uncategorized

What is OSGi ?

August 9, 2009 1 comment

Check this site

Home

What is OSGi?

How OSGi

Di InfoQ juga banyak resource untuk introduction to OSGi

salah satunya OSGi for App Developer

Di sini bisa juga baca ringkasan yg saya buat mengenai Perkenalan dengan OSGi

Categories: Uncategorized

Kurikulum idamanku…

August 9, 2009 3 comments

All about xp…

  1. Xtreme Programming Introduction
  2. Test Driven Development
    – Ant and JUnit
    – JMock or EasyMock
    – Test Driven by Example – Kent Beck
  3. Design Pattern
    – Head First Design Pattern
    – Erich Gamma Book
  4. Refactoring
    – Refactoring by Martin Fowler
    -Refactoring to Pattern by Joshua
  5. Pair Programming and Simple Design
  6. Version Control with Subversion
  7. Build Automation with Ant or Maven
  8. Continous Integration with Cruise Control or Continuum
  9. Scrum

Klo untuk skill programming yg diperluin kira2…

  1. HTML, CSS
  2. Javascript Fundamental and Library
  3. Servlet and JSP Fundamental
  4. Hibernate
  5. Spring Framework

IDE yg digunakan make Eclipse aja deh.. lebih ringan…

Ga ush banyak banyak klo untuk programming skill nya.. Cukup sedikit tapi mendalam… Dan itu sudah dapat dijadikan dasar untuk mempelajarin framework lain. Untuk fundamental mengenai skill programming dapat dicek di CoreServlets. Sumber tersebut dapat dijadikan referensi untuk blajar.

Categories: Uncategorized

Recomended Book for Starter

August 9, 2009 Leave a comment

Kemaren baru nemu seri buku yang bagus dari Pragmatic Programmer

Mendapat penghargaan Jolt Productivity Award-winning Starter Kit. Tiga buku yg mencakup dasar yg diterapkan pada software development. Yg pasti pentinglah untuk dibaca dan diterapkan.

Seri buku pertama adalah Pragmatic Version Control using Subversion. Ini panduan untuk menggunakan subversion disertai dengan konsep2nya.

Kedua adalah Pragmatic Unit Testing in Java with JUnit. Mengingatkan penting nya testing.

Ketiga adalah Pragmatic Project Automation. Berhubungan dengan penerapan Continous Integration.

XP practice banget deh bukunya…

Untuk lebih lengkapnya lihat aja di websitenya Pragmatic Starter Kit

Klo boleh sih materi2 diatas diajarkan pada mahasiswa sehingga siap pakai ketika tamat dari perkuliahan.

Categories: Uncategorized

XP (Extreme Programming) Explained

August 9, 2009 Leave a comment

diambil dari buku Extreme Programming Explained by Kent Beck

XP berfokus pada coding sebagai kunci dalam pembangunan project. Tetapi bukan berarti bahwa kita coding secara membabi buta tanpa arah. Trus pada bagian mana yg disebut extreme nya??

Prinsip2 yg diterapkan di dalam xp adalah hal2 yg cukup umum tetapi diterapkan secara extreme. Diantaranya.

Kalo emang benar code review itu bagus kita akan melakukan review terhadap code setiap saat (pair programming)

Kalo emang benar testing itu bagus, ya kita ngetest setiap saat (unit test) bahkan customer juga melakukan testing(functional testing)

Kalo emang benar yg simple itu bagus, yah kita bikin aja system dengan design yg memiliki fungsionalitas yg penuh. KISS

Kalo emang architecture itu penting maka kita selalu memperbaikinya setiap saat (metaphor)

Kalo emang integration testing itu perlu maka kita akan melakukannya beberapa kali dalam satu hari. (Continous Integration)

Kalo emang iterasi itu bagus, kita akan membuat iterasi yg benar2 pendek.

XP menjanjikan mengurangi resiko project, design yg responsive dan peka terhadap perubahan bisnis, produktifitas yg tinggi, suasana yg menyenangkan dalam pembangunan software.

Categories: Uncategorized

Ayo buat code yg clean…

August 7, 2009 1 comment

Diambil dari buku refactoring to patterns (Joshua Kerievsky)

 
november(20, 2005)

kode tersebut memanggil method berikut ..

public void Date november(int day, int year)...

cool isn’t it? Kenapa kita tidak melakukan hal tersebut. Coba pikirkan apa yg terjadi jika code tersebut ditulis dengan implementation detail seperti ini..

java.util.Calendar c = java.util.Calendar.getInstance();
c.set(2005, java.util.Calendar.NOVEMBER, 20);
c.getTime();

YIKES….

Jadi mulai skarang buatlah code yg manis dan tidak menjijikkan..

Categories: Uncategorized

Kenapa sih gak buat code yg mudah dibaca…

August 7, 2009 7 comments

Kok males banget yg buat method yg readable atau nama variable yg intention nya jelas. Bahkan ada juga programmer yg membuat nama nama variable nya l ato i …. Itu kesalahan yg amat fatal. Menyebabkan cost pada pembangunan software tersebut melonjak.

Code tersebut sebenarnya haruslah dibuat semudah mungkin untuk dimengerti. Dan tidak perlu ada banyak comment di body method. Kalau kita masih berpikir bahwa pada line tersebut perlu ada comment. Kenapa tidak di refactor to method aja.

Dan kebanyakan body method dari code tidak memiliki level abstraksi yg sama. Nyampur semua dengan hal hal yg berbau implementation detail.

Ujung2 nya maintanancenya yg repot. Banyak kebingungan dimana2 sehingga orang terpaksa harus membuat code baru lagi dari scratch. Nambahin biaya kan?

Jadi mulai skarang buatlah nama method yg readable dan jelas intention dari pemberian nama tersebut. Supaya programmer lain yg menemukan code tersebut dapat mudah mengubah atau memodifikasinya.

Categories: Uncategorized