Archive for the 'Java' Category

Java Database dengan Commons DBUtils

Mungkin saya yang kuper tapi, saya emang baru nemu dan merasakan enaknya menggunakan library ini saat membuat project terakhir saya di Java. Dari situs pembuatnya: Commons DBUtils adalah beberapa kelas kecil yang didesain untuk membuat pemrograman JDBC menjadi lebih mudah. Well, emang bener sih. Secara ngoding (baca:memprogram) database di Java yang sebenernya mudah, tapi proses inisialisasi dan pembersihan resource yang sangat membosankan dan bila dilakukan berulang2 dijamin mampu membikin tangan kita kriting.

Monday, March 3rd, 2008 | Tags: Articles, Java | 4 Comments

Kelemahan Java Yang Harus Diatasi

Pas conference YM tadi pagi dengan para praktisi Java, termasuk You-Know-Who yang menginvite saya, dimana topiknya adalah "Java Disadvantage" yang menurut saya, seharusnya adalah "Java Weakness", saya akan me-list beberapa kelemahan bahasa pemrograman satu ini. Para zealot java, ndak boleh marah ya:

  1. J2ME — membuat aplikasi J2ME adalah sebuah proses yang soro2dbone (baca: sengsara amat sangat). Moto "Write Once, Run Anywhere" ngga berlaku disini. Kita harus develop aplikasi sendiri, dengan API sendiri untuk setiap handset, secara dukungan handset atas J2ME ngga ada yang sama.
  2. SWING — lemot2dmax (baca:lambat), API nya membingungkan, dan sama sekali ndak reuseable. Terus, tampilanya beda banget ama environment yang ada. Beda dengan SWT yang mempunyai native-look. Coba aja, bikin aplikasi di Swing untuk membuat tray icon di windows.
  3. XML — kalau anda membuat aplikasi J2EE, yakin pasti anda akan selalu ngedit file bla2.xml, ini sux banget. Entah dengan alasan apa XML dipakai. It just too many XML.

Ada yg mo menambahkan/mengurangkan/protes?

Friday, December 7th, 2007 | Tags: Articles, Java, Rants | 10 Comments

Worst Than Failure

Eh, jika saja orang ini membaca sedikit dokumentasi OpenSMPP dan reference SMPP, maka hal ini ngga akan terjadi. Sedikit overview mengenai SMPP dan OpenSMPP bisa anda baca di Wikipedia. Ini adalah snippet code untuk menghandle delivery report dengan menggunakan OpenSMPP. Hebatnya lagi, ini adalah production code.

int a;
int b;
String message;
String sourceAddr;
String destAddr = "";
String store = pdu.debugString();

if (store.startsWith("(deliver:"))
{
    a = store.indexOf("sm: msg:");
    a +=8;
    b = store.indexOf(")  (opt:",a);
    message = store.substring(a,b);
    message = message.trim();

    a = store.indexOf("(addr:");
    a += 11;
    b = store.indexOf(")",a);
    sourceAddr = store.substring(a,b);
    sourceAddr = sourceAddr.trim();

    a = store.indexOf("(addr:",b);
    a +=11;
    b = store.indexOf(")",a);    

    destAddr = store.substring(a,b);
    destAddr = destAddr.trim();

    String msg = new String(message.trim());

    if (msg.startsWith("id:")) //* Delivery Receipt
    {
        // .. do something
    }
    else //* Regular Delivery
    {
        // do another stuff
    }
}
else if (store.startsWith("(enquirelink:"))
{
    // do something
}

Bisa di rewrite dengan dengan:

if (pdu instanceof DeliverSM) {
    DeliverSM deliverSM = (DeliverSM)pdu;
    if (0x04 == (deliverSM.getEsmClass() & 0x04)) {
        // delivery notification processing;
    } else {
        // must be regular message;
    }
}

Moral: RTFM

Tuesday, November 27th, 2007 | Tags: Java, Rants, SMPP | 9 Comments

Retrieving UNIX ProcessID in Java

Usually when we create a daemon in Unix/Linux, we need know the process id of the process in order to restart the process or kill it. And there’s no Java API for returning the JVM process ID. So this is a solution for getting the JVM process ID. Note that the example is only work for Unix-based OS only. I’ve implemented it on a BSD box.

Read the rest of this entry »

Thursday, March 15th, 2007 | Tags: Articles, Java | 3 Comments

RE: Java vs PHP

Here’s my own perspective regarding Pak adiwirasta’s post: "Java vs PHP".

  1. PHP has shorter learning curves than Java
  2. PHP has more support for web-development, since PHP was created for building web application.
  3. Java is intended for general purpose language, so it has more tools and library to support it.
  4. PHP has OOP, but Java do it better.
  5. PHP is lack of threading support.
  6. PHP is more scalable than java, since requirements are cheap, and resource is scattered, while Java, is more corporate minded, with support and stuff.

As a matter of choice, it depends on the subject. If I working on a simple CRUD web-application, I choose PHP. But if my job require concurrency support, I’ll do it in Java.
And if I were asked to choose between PHP or Java for my work? I can’t choose. My company use both.

Thursday, March 15th, 2007 | Tags: Articles, Java, PHP | 4 Comments

Binary JDK1.5 Buat FreeBSD

Hehehe, sekarang dah ngga ribet2 lagi nginstal jdk di FreeBSD. Dapet info dari http://www.freebsdfoundation.org/downloads/java.shtml kalau FreeBSD udah boleh nge-distribusi binary JDK1.5

The FreeBSD Foundation has a license with Sun Microsystems to distribute FreeBSD binaries for the Java Runtime Environment (JRE) and Java Development Kit (JDK). These implementations have been made possible through the hard work of the FreeBSD Java team as well as through donations to the FreeBSD Foundation that supported hardware, developer costs, and legal fees.

Amiin

Thursday, April 6th, 2006 | Tags: FreeBSD, Java, Weblog | 5 Comments