#!/bin/bash
export JAVA_HOME=/usr/local/java
CLASSPATH=ajarfile.jar:.
case $1 in
start)
echo $$ > /var/run/something.pid;
exec 2>&1 java -cp ${CLASSPATH} class.something.with.main \
1>/tmp/something.out
;;
stop)
kill `cat /var/run/something.pid` ;;
*)
echo "usage: something {start|stop}" ;;
esac
Wednesday, March 28, 2007
Scrip shell bash sederhana untuk aplikasi java
Tuesday, March 06, 2007
Management IP
Hari ini saya tau bahwa seuatu server membutuhkan sebuah atau lebih management IP. Apa itu management IP saya juga baru mendengar.
Management IP adalah IP address yang dibuat untuk keperluan me-manage server. IP address ini biasanya adalah IP local yang satu subnet dengan network dimana sever dapat diakses oleh administrator.
Di server yang dapat saya akses, saya melihat ada aktifitas pada management IP. Saya jadi penasaran paket-paket apa saja yang ada pada management IP. Paket-paket yang terlihat pada interface card yang disediakan sebagai management IP-address pada server saya adalah:
NetBIOS Datagram Service
STP (Spanning Tree Protocol)
NBNS (NetBIOS Name Service)
ARP (Address Resolution Protocol)
DTP (Dynamic Trunking Protocol)
CDP (Cisco Discovery Protocol)
3 protokol yaitu STP, DTP dan CDP tidak familiar buat saya, mungkin tidak juga buat anda. Jadi silakan diklik link diatas kalau mau lebih lanjut.
Management IP adalah IP address yang dibuat untuk keperluan me-manage server. IP address ini biasanya adalah IP local yang satu subnet dengan network dimana sever dapat diakses oleh administrator.
Di server yang dapat saya akses, saya melihat ada aktifitas pada management IP. Saya jadi penasaran paket-paket apa saja yang ada pada management IP. Paket-paket yang terlihat pada interface card yang disediakan sebagai management IP-address pada server saya adalah:
NetBIOS Datagram Service
STP (Spanning Tree Protocol)
NBNS (NetBIOS Name Service)
ARP (Address Resolution Protocol)
DTP (Dynamic Trunking Protocol)
CDP (Cisco Discovery Protocol)
3 protokol yaitu STP, DTP dan CDP tidak familiar buat saya, mungkin tidak juga buat anda. Jadi silakan diklik link diatas kalau mau lebih lanjut.
Thursday, February 08, 2007
Manajer proyek harus tau jika bawahannya overload
Salah satu kemapuan yang harus dimiliki seorang manajer proyek (PM) adalah jeli melihat kondisi bawahan atau timnya. Kondisi anggota timnya yang overload bisa sangat memperngaruhi kinerja keseluruhan, oleh karena itu dia harus jeli melihat secara personal dari masing-masing anggota timnya. Kemampuan ini tidaklah mudah karena menyangkut psikologi manusia, seorang PM sering pula mengabaikan masalah overload ini.
Mengapa kadang sulit mengetahui seseorang overload atau tidak? Pertama adalah masalah kepedulian. PM sering tidak peduli dengan anggota timnya, yang dipikirkan PM hanyalah proyek yang selesai tepat waktu. Padahal nilai suatu proyek tidak bisa dilihat dari selesai tidaknya saja. Dalam dunia software, pekerjaan yang selesai tapi dengan kualitas yang buruk akan menjadi bom waktu bagi perusahaan. Klien menjadi tidak puas, biaya akan membengkak, tim bisa acak-acakan karena ada yang keluar dan anggota baru dan efek-efek lain yang merugikan perusahaan.
Secara psikologis, keadaan overload seorang programmer akan secara langsung mempengaruhi kualitas kerja dan otomatis mempengaruhi kualitas software yang dihasilkan. Tapi sayangnya banyak programmer yang tidak sadar dirinya overload. Programmer yang tidak sadar dirinya overload atau tidak mau mengakui dirinya overload, sayangnya sangat disukai oleh PM. Sebaiknya justru PM harus jeli melihat tipe programmer seperti ini.
Programmer atau anggota tim apapun posisinya harus dihindari dari overload. Lembur sekali dua kali dalam sebulan adalah hal yang wajar dan mungkin belum bisa dibilang overload, oleh karena itu PM juga harus punya kejelian kapan overload terjadi. Lembur hampir tiap hari yang terjadi dalam satu bulan pun bisa dikatakan tidak overload. Overload tergantung dari apa yang dikerjakan anggota tim atau individu bukan dilihat dari banyaknya kerja diluar batas waktu atau lembur.
Mengapa kadang sulit mengetahui seseorang overload atau tidak? Pertama adalah masalah kepedulian. PM sering tidak peduli dengan anggota timnya, yang dipikirkan PM hanyalah proyek yang selesai tepat waktu. Padahal nilai suatu proyek tidak bisa dilihat dari selesai tidaknya saja. Dalam dunia software, pekerjaan yang selesai tapi dengan kualitas yang buruk akan menjadi bom waktu bagi perusahaan. Klien menjadi tidak puas, biaya akan membengkak, tim bisa acak-acakan karena ada yang keluar dan anggota baru dan efek-efek lain yang merugikan perusahaan.
Secara psikologis, keadaan overload seorang programmer akan secara langsung mempengaruhi kualitas kerja dan otomatis mempengaruhi kualitas software yang dihasilkan. Tapi sayangnya banyak programmer yang tidak sadar dirinya overload. Programmer yang tidak sadar dirinya overload atau tidak mau mengakui dirinya overload, sayangnya sangat disukai oleh PM. Sebaiknya justru PM harus jeli melihat tipe programmer seperti ini.
Programmer atau anggota tim apapun posisinya harus dihindari dari overload. Lembur sekali dua kali dalam sebulan adalah hal yang wajar dan mungkin belum bisa dibilang overload, oleh karena itu PM juga harus punya kejelian kapan overload terjadi. Lembur hampir tiap hari yang terjadi dalam satu bulan pun bisa dikatakan tidak overload. Overload tergantung dari apa yang dikerjakan anggota tim atau individu bukan dilihat dari banyaknya kerja diluar batas waktu atau lembur.
Thursday, February 01, 2007
SMPP library untuk aplikasi anda
Jika anda perlu SMPP library (API) dibawah ini saya list beberapa library yang gratis dan mungkin open source untuk berbagai macam bahasa pemrograman:
Library untuk .NET
Library (modul) untuk Perl: Net-SMPP
Library (extension) untuk PHP: Net_SMPP
Library untuk JAVA:
Library untuk .NET
Library (modul) untuk Perl: Net-SMPP
Library (extension) untuk PHP: Net_SMPP
Library untuk JAVA:
Monday, January 29, 2007
Too many open files
Pernah menjalankan program java dan mendapatkan error "Too many open files" seperti dibawah ini?
atau
Mudahnya, hal tersebut terjadi karena program java ataupun sistem operasi mencapai batas jumlah soket atau file yang dapat dibukan pada saat bersamaan (concurrent).
Yang perlu dilakukan ketika mendapatkan error tersebut adalah, pastikan program yang anda buat selalu menutup file atau socket setelah tidak digunakan. Yang kedua, tambah maximum jumlah socket atau file yang bisa dibuka bersamaan pada sistem operasi yang anda gunakan.
Untuk Linux anda bisa check jumlah socket atau file yang dibuka bersamaan dengan program atau command lsof, misalnya untuk mengecek jumlah socket yang sedang dibuka berikan perintah 'lsof -i. Maximum jumlah socket atau file yang bisa dibuka secara bersamaan dapat dilihat dengan perintah 'ulimit -a'
Untuk mengubah setting maximum jumlah file tersebut, anda bisa mengedit file /etc/security/limits.conf atau dengan perintah berikut:
Lebih jelas mengenai masalah ini, bisa dibaca di artikel "Resolve to many open files."
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
...
atau
java.net.SocketException: Too many open files
at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:140)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:96)
Mudahnya, hal tersebut terjadi karena program java ataupun sistem operasi mencapai batas jumlah soket atau file yang dapat dibukan pada saat bersamaan (concurrent).
Yang perlu dilakukan ketika mendapatkan error tersebut adalah, pastikan program yang anda buat selalu menutup file atau socket setelah tidak digunakan. Yang kedua, tambah maximum jumlah socket atau file yang bisa dibuka bersamaan pada sistem operasi yang anda gunakan.
Untuk Linux anda bisa check jumlah socket atau file yang dibuka bersamaan dengan program atau command lsof, misalnya untuk mengecek jumlah socket yang sedang dibuka berikan perintah 'lsof -i. Maximum jumlah socket atau file yang bisa dibuka secara bersamaan dapat dilihat dengan perintah 'ulimit -a'
Untuk mengubah setting maximum jumlah file tersebut, anda bisa mengedit file /etc/security/limits.conf atau dengan perintah berikut:
ulimit -n 2048
echo 2048 > /proc/sys/fs/file-max
echo 16384 > /proc/sys/fs/inode-max
Lebih jelas mengenai masalah ini, bisa dibaca di artikel "Resolve to many open files."
Subscribe to:
Posts (Atom)