- Besarnya data yang diproses.
Bila aplikasi yang Anda kembangkan mengolah data dalam satu GB, maka jawabannya cukup jelas. Anda membutuhkan aplikasi desktop. Sekian. - Seberapa banyak bagian dari aplikasi yang diinginkan oleh developer untuk dapat di-akses oleh publik.
Dalam sebuah aplikasi yang dikembangkan dengan arsitektur multitier, terdapat tiga bagian: presentation tier, application tier, dan data tier.
- Semua tier ada di client. Aplikasi dikembangkan dengan menggunakan javascript yang dijalankan oleh client di browser dan menyimpan data di browser. Aplikasi yang dikembangkan dengan cara ini dapat berupa extension, addons. Sebagai fitur tambahan, aplikasi tipe ini ada yang menyediakan fitur sinkronisasi data dengan remote server. Contoh: Userscripts, Quick Note.
- Presentation tier dan application tier ada di client, data tier ada di server. Dalam kasus ini, server digunakan sebagai tempat penyimpanan data. Contoh dari aplikasi ini adalah ScribeFire. Pada ScribeFire, user dapat menulis blog, memberikan kategori, memberikan tags, menambahkan gambar. Setelah selesai mengedit, user dapat memposting blog yang telah ditulis ke blog provider.
- Presentation tier ada di client, application tier dan data tier ada di server. Aplikasi dikembangkan dengan javascript hanya sebatas user interface. Ini seperti halaman formulir yang banyak menggunakan banyak jQueryUI. Data yang diisi di formulir dikirim ke server. Server akan melakukan validasi dan bila lulus proses validasi, server akan memproses data lebih lanjut. Server akan mengirimkan pesan kepada client, apakah pemrosesan data berhasil atau menemui kendala.
Selasa, Oktober 30, 2012
Javascript dalam Aplikasi Web dan Aplikasi Desktop
Javascript telah menjadi bahasa pemrograman yang populer. Tidak hanya di platform web namun bahasa ini telah merambah ke desktop, misalnya. Gnome Shell, JScript.Net, NodeJS. Semakin mempelajari Javascript, sering terbesit pertanyaan, sebetulnya apa yang menjadi batasan antara aplikasi desktop dan aplikasi web. Mengingat aplikasi yang akan kita kembangkan dapat ditulis dalam bahasa yang sama, yaitu Javascript. Dalam hal apa kita dapat mengembangkan sebuah aplikasi web atau dalam hal apa kita harus membangun sebuah aplikasi desktop. Artikel ini berusaha memberikan gambaran singkat dan tidak lengkap tentang kondisi yang dapat dijadikan dasar penentuan suatu aplikasi dikembangkan menjadi aplikasi web atau aplikasi desktop.
Kamis, Oktober 18, 2012
Trigger BEFORE dan Trigger AFTER
Untuk beberapa operasi database, trigger dapat membantu pengembangan aplikasi dengan mengeksekusi beberapa perintah untuk setiap SQL Statement yang dikirimkan ke database. Beberapa perintah tersebut dapat dilakukan pada trigger BEFORE dan trigger AFTER. Namun penggunaannya secara umum, berbeda.
MySQL 5.5
Dimulai dengan versi 5.5, MySQL menyediakan perintah "SIGNAL" yang dapat mendeklarasikan error. Perintah ini dapat digunakan untuk memberikan informasi perihal error code dan error description dari error yang dideklarasikan.
MySQL < 5.5
Untuk MySQL versi < 5.5 ada workaround untuk menggantikan perintah SIGNAL, ada cara untuk membuat perintah INSERT tidak dilakukan oleh database. Dengan menggunakan perintah SELECT terhadap nama field yang tidak ada dalam tabel, MySQL akan menampilkan error yang memberikan informasi bahwa nama field yang diminta tidak ada. Untuk menampilkan deskripsi error, nama field tersebut berisi pesan error yang akan kita sampaikan. Cara ini memang tidak elegan namun dapat dilakukan.
Trigger Or No Trigger
Penggunaan trigger bukan tanpa konsekuensi, ada beberapa dampak negatif yang dapat timbul. Dalam mendefinisikan sebuah trigger, dapat digunakan stored procedure. Bahasa yang digunakan dalam stored procedure seringkali jauh berbeda antar vendor database. Bahkan dalam vendor yang sama ada kemungkinan penambahan fitur dalam versi yang lebih tinggi. Sedangkan upgrade ke versi yang lebih tinggi belum tentu merupakan solusi yang efisien dalam pengembangan aplikasi yang kompleks. Bila diperlukan migrasi database, maka hampir pasti setiap stored procedure yang ada perlu disesuaikan.
"Trigger BEFORE biasanya digunakan untuk melakukan validasi sebelum melakukan perubahan terhadap database. Trigger BEFORE dijalankan sebelum ada perubahan apapun terhadap database. Sebagai ilustrasi, di dalam database bank terdapat tabel rekening dan tabel transaksi. Jika nasabah melakukan penarikan dari rekeningnya, nasabah harus memiliki saldo yang cukup dalam rekeningnya untuk melakukan penarikan. Trigger BEFORE dapat melakukan validasi tersebut sehingga transaksi penarikan yang melebihi saldo dapat dicegah.
Trigger AFTER biasanya digunakan ketika ada informasi yang perlu ditambahkan dalam tabel lain setelah melakukan perubahan terhadap database. Trigger AFTER dijalankan setelah perubahan terhadap database dilakukan. Dalam ilustrasi sebelumnya, setelah transaksi penerikan yang dilakukan nasabah berhasil disimpan ke dalam database, perlu ada penyesuaian terhadap data saldo dalam tabel rekening. Hal ini dapat dilakukan dengan menggunakan Trigger AFTER." StackOverflow
MySQL 5.5
Dimulai dengan versi 5.5, MySQL menyediakan perintah "SIGNAL" yang dapat mendeklarasikan error. Perintah ini dapat digunakan untuk memberikan informasi perihal error code dan error description dari error yang dideklarasikan.
MySQL < 5.5
Untuk MySQL versi < 5.5 ada workaround untuk menggantikan perintah SIGNAL, ada cara untuk membuat perintah INSERT tidak dilakukan oleh database. Dengan menggunakan perintah SELECT terhadap nama field yang tidak ada dalam tabel, MySQL akan menampilkan error yang memberikan informasi bahwa nama field yang diminta tidak ada. Untuk menampilkan deskripsi error, nama field tersebut berisi pesan error yang akan kita sampaikan. Cara ini memang tidak elegan namun dapat dilakukan.
CREATE TRIGGER myTrigger BEFORE INSERT FOR EACH ROW BEGIN IF (<TheConditionIsNotvalid>) THEN SELECT "<YourMeaningfullErrorMessageGoesHere>" FROM myTable END IF; END;
Trigger Or No Trigger
Penggunaan trigger bukan tanpa konsekuensi, ada beberapa dampak negatif yang dapat timbul. Dalam mendefinisikan sebuah trigger, dapat digunakan stored procedure. Bahasa yang digunakan dalam stored procedure seringkali jauh berbeda antar vendor database. Bahkan dalam vendor yang sama ada kemungkinan penambahan fitur dalam versi yang lebih tinggi. Sedangkan upgrade ke versi yang lebih tinggi belum tentu merupakan solusi yang efisien dalam pengembangan aplikasi yang kompleks. Bila diperlukan migrasi database, maka hampir pasti setiap stored procedure yang ada perlu disesuaikan.
Jumat, Oktober 05, 2012
Folder SendTo di Windows 7
Folder SendTo banyak kegunaannya, kita bisa mengirimkan file dan atau folder ke lokasi tertentu atau meng-eksekusi perintah dengan parameter berupa file dan atau folder yang ter-select. Folder SendTo dapat dengan mudah melihat folder ini dengan menggunakan Start Menu, ketik "shell:sendto", tanpa tanda petik.
Dengan perintah tersebut, explorer akan membuka folder
C:\Users\<NamaID>\AppData\Roaming\Microsoft\Windows\SendTo
Gambar 1. Eksekusi perintah "shell:sendto" |
C:\Users\<NamaID>\AppData\Roaming\Microsoft\Windows\SendTo
Kamis, Oktober 04, 2012
Deteksi Port yang Terbuka di 127.0.0.1
Untuk menjalankan sebuah service (misalnya: apache, mysql) port yang akan digunakan tidak boleh dipakai oleh program lain. Hal ini akan menyebabkan proses instalasi service tersebut gagal. Ada beberapa cara yang dapat digunakan untuk mendapatkan daftar port yang digunakan pada sebuah server.
Pada Gambar 1, perintah netstat dieksekusi dengan opsi "a" untuk mendaftar semua koneksi dan port yang sedang digunakan. Dan opsi "n" untuk menampilkan ipaddress dan port number, bukan hostname dan service name yang ada pada port number. Perintah ini akan menghasilkan output yang relatif lebih cepat dari opsi atau kombinasi opsi yang lain.
Gambar 1. Output dari perintah netstat |
Pada Gambar 1, perintah netstat dieksekusi dengan opsi "a" untuk mendaftar semua koneksi dan port yang sedang digunakan. Dan opsi "n" untuk menampilkan ipaddress dan port number, bukan hostname dan service name yang ada pada port number. Perintah ini akan menghasilkan output yang relatif lebih cepat dari opsi atau kombinasi opsi yang lain.
Rabu, Oktober 03, 2012
Proxy dan Websocket
Pengguna internet yang mengakses melalui proxy, akan melihat kotal dialog otentikasi. Kotak dialog tersebut mengotentikasi pengguna yang akan mengakses internet lewat proxy. Namun, adalah tidak umum bila pengguna mengisi kotak dialog tersebut berulang-ulang untuk halaman yang sama.
Salah satu penyebab timbulnya kejadian ini adalah website yang diakses menggunakan WebSocket. WebSocket merupakan salah satu fiture dari HTML5. Penggunaan WebSocket ini dapat dengan mudah dilihat dengan menggunakan AdBlockPlus. Pada Gambar 2, terlihat penggunaan WebSocket yang menggunakan protocol ws. Resource lainnya diakses dengan menggunakan protocol http dan https.
Salah satu cara untuk mencegah browser mengakses WebSocket adalah mengubah konfigurasi browser. Coba ketik about:config dan ubah konfigurasi network.websocket.enabled menjadi false.
Gambar 1. Kotak Dialog Otentikasi Proxy |
Gambar 2. Daftar URL yang dibutuhkan untuk menampilkan WebPage |
Senin, Oktober 01, 2012
Scan Windows File and Folder Sharing
Software yang bisa digunakan untuk melalukan sanning terhadap windows file and folder sharing sudah banyak beredar di pasaran. Dan sebagaian besar diantaranya gratis. Namun, artikel ini membahasa bagaimana melakukannya dengan tools yang disediakan windows.
Untuk melihat file dan folder yang disaring, bisa menggunakan perintah:
C:\>net view <ipaddress>
Untuk men-scan seluruh komputer dalam satu network, kalo dilakukan dengan perintah di atas, tangan kita bisa jadi cabe dech .. Nah, untuk melakukan loop, kita bisa menggunakan perintah for. Sebagaimana contoh di bawah ini:
C:\>for /L %p in (1,1,254) do net view 192.168.10.%p
Tinggal nunggu perintahnya selesai, sambil makan gado-gado di warung. Dan harap diingat, berangkat ke warungnya jam 11.30, kalo ke sana 12.00 udah banyak yang antri ! .. he .. he ..
Untuk melihat file dan folder yang disaring, bisa menggunakan perintah:
C:\>net view <ipaddress>
Untuk men-scan seluruh komputer dalam satu network, kalo dilakukan dengan perintah di atas, tangan kita bisa jadi cabe dech .. Nah, untuk melakukan loop, kita bisa menggunakan perintah for. Sebagaimana contoh di bawah ini:
C:\>for /L %p in (1,1,254) do net view 192.168.10.%p
Tinggal nunggu perintahnya selesai, sambil makan gado-gado di warung. Dan harap diingat, berangkat ke warungnya jam 11.30, kalo ke sana 12.00 udah banyak yang antri ! .. he .. he ..
Langganan:
Postingan (Atom)