7.31.2008

Yudhistira Mail Disposal

Next:
- buat halaman notifikasi disposisi

daily report:
- ubah skema disposisi hanya menyimpan user+mail+isChecked. Instruksi dan catatan disimpan di Mail.
- ubah controller mail untuk mengakomodasi perubahan point 1.
- lengkapi controller disposisi dengan penambahan fitur edit dan delete.


Todo:
- upload file dojo
- graphic+charting dojo [dah dieksplor]
- notification [kandidat JToaster]

7.23.2008

Membuat Skeleton Kerja PHP Symfony [draft]

salah satu framework PHP yang powerful adalah symfony. Dengan dukungan editor open seperti Eclipse didapatkan environment yang lengkap untuk mengembangkan aplikasi web. Berikut adalah langkah membuat skeleton kerja PHP Symfony menggunakan Eclipse.

Setting Environment Eclipse


- plugin eclipse yang dibutuhkan adalah symfoclipse, wicked shell
- open view symfoclipse, buat PHP Project, kemudian klik kanan pada project tersebut dan pilih menu "init-project"

Plugin Default


plugin yang dibutuhkan adalah sfGuardPlugin untuk otentikasi dan otorisasi pengguna. sfPropelTextOutputBehaviorPlugin untuk export view dalam bentuk JSON atau XML.

optional plugin yang juga sering dipakai: sfTCPDFPlugin untuk membuat format PDF.

Membangun Aplikasi Default -> Admin


membangun aplikasi default untuk control panel admin

7.22.2008

Prototype Elmira

Kebutuhan Elmira nantinya adalah full screen web browser. Jadi butuh panel dialog. dan berikut adalah kandidat dari apa yang aku gunakan.



jadwal review sabtu, 26 Juli 2008
milestone selanjutnya adalah integrasi model symfony dengan view di atas.

update, minggu 3 August 2008
prototype dapat dilihat di http://tuxceria.com/elmirafx/web/index.php

Hasil Review:
- key point adalah kemudahan dalam penggunaan
- ubah mindset sesederhana mungkin

url sumber: http://www.vertexwerks.com/tests/sidebox/

7.17.2008

Belajar dengan paradigma berorientasi objek

- orientasi object vs prosedural

ketika sebuah object kita ciptakan, objek tersebut hidup dan mempunyai tanggungjawab tertentu. dari luar, object tidak perlu tahu bagaimana dia melakukan tanggung jawabnya.

sedangkan dengan prosedural. ketika fungsi/prosedur dipanggil, dia hanya mengembalikan nilai dari paramater masukan atau mengubah nilai masukan tersebut.

contoh kasusnya:
dosen dan murid. dosen pengen tau semua apa yang dikerjakan mahasiswa selama malam minggu.

dengan pendekatan prosedural, skenario kita nyewa satu orang, buat ngikutin mahasiswa, catet apa yang mereka lakuin satu satu.. satu orang ga cukup untuk simultan mahasiswa... maka kita sewa orang sebanyak jumlah mahasiswa.

dengan pendekatan object, skenario kita... kasih tugas ke mahasiswa, suruh mereka bikin catatan apa yang dilakuin malem minggu, senin dikumpulkan ke dosen.

make sense ga?

Prinsip yang mendasari butuhnya paradigma baru:
1. ga boleh koding repetitive, semboyannya DRY (Dont Repeat Yourself)
jika kamu udah banyak copy paste, apalagi satu file ke file yang lain, tandanya program dah ga beres.
drawback dari kerja kek gini.. ketika kamu ingin ngerubah satu bagian. maka perubahan itu harus dipropagasi ke semua file yang mengandung routine tersebut.

simply said: kita butuh software yang gampang dimaintain

2. loosely coupling
bikin komponen yang sebisa mungkin pny tingkat coupling yang rendah. jika menemukan bahwa koding di file ini butuh file itu, dan file itu butuh file a-b-c dan berantai hingga jadi satu aplikasi... berarti ada yang salah.

ubah program sehingga komponen-komponen mampu berdiri sendiri, dan kita bisa mengujinya tanpa harus menggunakan komponen lain. Masing-masing unit dapat diuji dengan menggunakan unit testing.

Hal ini bermanfaat jika project sangat besar, butuh banyak engineer, dan proyek harus dikerjakan secara paralel.

- orientasi aspek vs orientasi object


praktis dan studi kasusnya liat di postingan onestopinjector

ps: janji buat akmalhamdani di setiap cerita yang dia sumbang.. huehe

7.15.2008

Linux LiveCD

kandidat distro :SLAX
kandidat tools :MySLAX Creator

agenda: Elmira LiveCD

Injeksi data ke situs lain

TODO: inject untuk site yang memakai otentikasi user
studi kasus: plazaraya.com dengan user rasix

Deskripsi Sistem:
dengan menggunakan HTTPRequest, data dapat diinjeksikan ke situs lain. Hal inilah yang dimanfaatkan spammer mengirimkan komentar, post, iklan, ke situs lain yang tidak terlindungi dari bot.

banyak sekali wordpress di indonesia yang di kustom oleh pengguna menjadi situs iklan gratis tanpa bayar dengan otorisasi captcha.

analisis skenario:
- user terotentikasi untuk dapat menggunakan service onestopinjector.
- user punya account expiry
- aplikasi mempunyai 200 situs yang akan diinject
- situs dibagi menjadi dua yakni yang memiliki otentikasi captcha dan bukan

trivia pertama: identifikasi kelasnya:

ps: portofolio symfony ke 2
sebelumnya jg pernah bikin site iklan kirim via sms, tp dah dijual dan ga sustain
--
relasi project: onestopinjector
deskripsi: aplikasi pengirim iklan massal berbasis web

sc captcha dari site victims yang akan diinject:

dojo.meetMe()

open source ajax toolkit untuk widget yang lengkap. dojo, merupakan salah satu alternatif pembangunan web dengan kebutuhan user experience yang tinggi.


diary:
bikin new tab terus populate splitter dengan content pane sederhana aja susahnya setengah mati! bener-bener butuh best practice penggunaan dojo nih

update: wah ternyata constructor splitternya dah depecrated, diganti ama BorderContainer. Makasih ya Tuhan..

-----------
related project: Yudhistira mail disposal
deskripsi: sistem disposisi surat untuk institusi

sc: