Re: [JUG-Indonesia] PreparedStatement

2010-03-03 Terurut Topik Jonathan Handoyo
1. query templating, update set yang kedua cuma ditambahin kalo memenuhi
syarat (ya pake if-clause paling sederhana)
2. biarin aja ada terus, tapi diisi dengan data aslinya lagi, alias ditumpuk
pake data yang sama lagi...

Regards,
Jonathan Handoyo


RE: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Adelwin, Adelwin
Cross cutting ituh bukan "tersebar di seluruh application" dong?

Cross cutting ituh yah yang paling mengena tuh ya ituh.. secara
orthogonal..

Beneran susah deh gambarin nya kalo gak pake papan tulis...

Wakakakak

 

Adelwin Handoyo  |  Senior Consultant - Wholesale Bank
Standard Chartered Bank
Plaza By The Park #06-00, 51 Bras Basah Road. Singapore (189554)
T : (65) 655 72432  | E adelwin.adel...@sc.com 

 

 



From: jug-indonesia@yahoogroups.com
[mailto:jug-indone...@yahoogroups.com] On Behalf Of Endy Muhardin
Sent: Wednesday, March 03, 2010 2:55 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] Tanya AOP

 

  

2010/3/2 dir dir mailto:sikerasakti%40gmail.com>
>
>
>
>
> Maksudnya secara orthogonal itu apa?

Baca The Art of Unix Programming, chapter tentang Orthogonality.
URLnya di mana? Tau dong carinya ... ;D

> mungkin penjelasan yang dapat memberikan pencerahan
> adalah penjelasan tentang konsep dari cross cutting concern
> itu sendiri apa?

Concern : suatu hal yang kita pertimbangkan/inginkan/dsb.
Cross cutting : tersebar di seluruh aplikasi.

Jadi, suatu hal yang kita ingin lakukan di seluruh aplikasi.
Maksudnya apa?
Mungkin dengan contoh lebih mudah dimengerti :
http://endy.artivisi.com/downloads/writings/Acegi-Method.pdf
 

--
Endy Muhardin
http://endy.artivisi.com  
Y! : endymuhardin
-- life learn contribute --




This email and any attachments are confidential and may also be privileged.  If 
you are not the addressee, do not disclose, copy, circulate or in any other way 
use or rely on the information contained in this email or any attachments.  If 
received in error, notify the sender immediately and delete this email and any 
attachments from your system.  Emails cannot be guaranteed to be secure or 
error free as the message and any attachments could be intercepted, corrupted, 
lost, delayed, incomplete or amended.  Standard Chartered PLC and its 
subsidiaries do not accept liability for damage caused by this email or any 
attachments and may monitor email traffic.

 

Standard Chartered PLC is incorporated in England with limited liability under 
company number 966425 and has its registered office at 1 Aldermanbury Square, 
London, EC2V 7SB.

 

Standard Chartered Bank ("SCB") is incorporated in England with limited 
liability by Royal Charter 1853, under reference ZC18.  The Principal Office of 
SCB is situated in England at 1 Aldermanbury Square, London EC2V 7SB. In the 
United Kingdom, SCB is authorised and regulated by the Financial Services 
Authority under FSA register number 114276.

 

If you are receiving this email from SCB outside the UK, please click 
http://www.standardchartered.com/global/email_disclaimer.html to refer to the 
information on other jurisdictions.



Re: [JUG-Indonesia] ETL Tool

2010-03-03 Terurut Topik Feris Thia
Yup... setuju,

Jangan pake Kettle deh... karena dengan Kettle kita bisa :
1. Belajar I/O dengan sangat baik, bagaimana mengelola / meng-scale dari
mulai Harddisk I/O, RDBMS engine tuning, memory tuning, dll. Load balancing
antara semua aspect tersebut lah :)
2. Menghasilkan throughput 24.000-an record/ second dari transformasi dan
kejadian locking yang sudah sangat kompleks dengan memanfaatkan penuh
kemampuan driver. Yap, Anda tidak salah dengar !!! Driver sangat berpengaruh
!! Bahkan sampai 8-folds !
3. Bisa generate nested ETL script, dan demikian mampu menghasilkan
transformasi yang sangat sulit dilakukan dengan hanya design "by the book" /
standard.
4. Membantu melakukan simple forensik data dengan cepat karena banyaknya
steps yang included

Regards,

Feris

2010/3/3 sm96 

> kalo gak mau ada xml, jangan pernah pake kettle atawa pentaho data
> integration.
> padahal performa kettle sendiri untuk transformasi yg lumayan kompleks
> lumayan bagus, even dia pake xml.
>


Re: Bls: [JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik Endy Muhardin
2010/3/3 nono nini 
>
>
>
> Keren boss penjelasannya..nah semisal annotation
>
> @LogActivity
> @CheckUserPrivilege
>
> ini di pindah ke configurasi central gimana?, jadi biar lebih efficient code 
> nya..misal klo dalam SPRING di application-context.xml


Sudah baca referensi Spring?
Coba lihat Chapter 7.3 Schema-based AOP support

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] Poll Hibernate vs Ibatis

2010-03-03 Terurut Topik Endy Muhardin
2010/3/4 MbahSapto 
>
>
>
> Dear Jugers
> just poll.. yang pernah gunakan hibernate and ibatis , bisa share plus and 
> minus masing2 teknologi..trus misal ada project gedhe pilih gunakan 
> mana?thanks
>

Ini pertanyaan kayaknya wajib ditanyakan minimal 6 bulan sekali.
Coba search arsip milis bos, udah banyak nih yang ginian.
Saya selalu gunakan Hibernate, mau project kecil, sedang, agak gede,
gede dikit, sampe gede banget.
Kecuali client ada requirement khusus.

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik Hendry Luk
Btw lupa mention... specific dynamic feature yg gw mesti highlight adalah
macro (e.g di LISP, Boo). Mirip dengan macro di office tools, i think ini
analogi real-world yang paling effective buat illustrate the purpose dan
potential of AOP features buat eliminate repetitive tasks.

2010/3/4 Hendry Luk 

> Btw just to put another thing into perspective...
> Benernya aop diintroduce buat minimalise repetitive code, terutama karna
> banyaknya repetition n code noise yg dibutuhin dalam static language.
>
> Dynamic languages jarang pusingin aop, karna flexibility dari languagenya
> udah allow lu buat nulis code yg gak repetitive.
> Sebagai contoh, singleton pattern, ato observable pattern, ato dispossable,
> clonnable pattern, exception handler, etc.
> Di static language, gak ada get around it, even dengan AOP framework.
> Misalnya buat bikin singleton, lu mesti selalu repeat beberapa hal buat make
> it happen:
> - initialise singleton object lazily
> - bikin semua constructor private
> - override serialization n deserialization mechanism buat return the same
> instance, bukan new instance
> - bikin static getInstance() method
> - make sure the whole singleton pattern thread safe (e.g. pake double lock
> pattern)
> - make sure gak ada static methods di singleton class
> etc
>
> Kita semua dah all these craps ini berulang2. Ini adalah cross-cutting code
> yang mesti lu repeat di semua module dan susah disingkirin. Gitu juga dengan
> observable, clonable, exception handling etc yang gak lebih dari code noise
> (boilerplate code) yang gak ngasih any real value ke class lu.
> Di dynamic language though, lu bisa tinggal extend the language dengan
> bikin template buat "singleton pattern" yang otomatis bisa diapply across
> the board pas runtime/compile time ke semua class yang kita mau singleton.
> Lu tinggal nulis 1 kali doank, apply anywhere. Kita tinggal tunjuk
> declaratively (misalnya dengan annotation), "i want this to be singleton",
> langsung compiler nulisin codenya for you.
>
> Gitu juga dengan observable pattern, dispossable pattern, clonnable,
> exception handling, etc, dimana kita bisa langsung apply across the board ke
> semua class tanpa nulis sendiri manually di tiap class. Gak perlu repeat
> yourself everytime.
>
> Dynamic language minimalises the need buat nulis repetitive code. Disana
> teknik aop dah jadi natural part of the language, dan jarang direintroduced
> under aop flagship. Static language berusaha buat ngambil manfaat dari
> dynamic language ini, dan karna itulah dibikin konsep aop yang to some
> extend berhasil bikin lu nulis cross-cutting code tanpa repetition.
>
> 2010/3/4 sm96 
>
>
>>
>> AOP bukan hanya interceptor lho...
>>
>> 2010/3/3 Nashroulloh 
>>
>>>
>>>
>>> > hmm.. bau-baunya promosi guice nih
>>>
>>> Sekedar upaya menyeimbangkan antara konsep dan praktek.
>>> Berharap ada yg memberi contoh lain.
>>>
>>> regards,
>>> Nasrul
>>>
>>> --
>>> Menikmati Hidup Mempersembahkan yang Terbaik
>>> -Nashroulloh
>>>
>>>
>>
>>
>> --
>> syaiful.mukhlis
>> gtalk:syaiful.mukh...@gmail.com 
>>  
>>
>
>


RE: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Adelwin, Adelwin
Nah ini paling manteb jelasin nya...

Hahahhaa

 

Lu punya multiple concerns: customer, front-office, order management,
provisioning, accounting, inventory, billing, etc. Kalo lu gambar tuh
masing2 concerns sebagai garis vertical, lu bakal punya belasan garis
vertical berjejer paralel.
Trus lu ada bbrp garis laen: logging, transaction, security, caching,
fetching strategy, error-handling, etc. Garis2 ini gak berjejer vertical
disamping garis2 sebelumnya, melainkan horisontal memotong *across*
semua garis2 vertical. Semua garis vertical lu kena impactnya.



Bener dong gue dari awal?

Orthogonal?

wakakaka

 

Adelwin Handoyo  |  Senior Consultant - Wholesale Bank
Standard Chartered Bank
Plaza By The Park #06-00, 51 Bras Basah Road. Singapore (189554)
T : (65) 655 72432  | E adelwin.adel...@sc.com 

 

 



From: jug-indonesia@yahoogroups.com
[mailto:jug-indone...@yahoogroups.com] On Behalf Of Hendry Luk
Sent: Thursday, March 04, 2010 8:09 AM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] Tanya AOP

 

  

Benernya kalo ada kertas n pensil, jauh lebih gampang digambarin.

Lu punya multiple concerns: customer, front-office, order management,
provisioning, accounting, inventory, billing, etc. Kalo lu gambar tuh
masing2 concerns sebagai garis vertical, lu bakal punya belasan garis
vertical berjejer paralel.
Trus lu ada bbrp garis laen: logging, transaction, security, caching,
fetching strategy, error-handling, etc. Garis2 ini gak berjejer vertical
disamping garis2 sebelumnya, melainkan horisontal memotong *across*
semua garis2 vertical. Semua garis vertical lu kena impactnya.

Tanpa AOP, lu mesti implement crosscutting concern ini di masing2 tiap
module elu (di customer class, shopping-cart class, billing, inventory,
etc,.. semua mesti implement logging, caching, transaction etc yang
repetitive). 
Dengan AOP, lu gak perlu nulis manual. Class lu bakal otomatis dimodify
(at runtime ato compile time) disisipin dengan berbagai
logging/caching/transaction/security aspects tadi. Ini bisa diachieve
dengan beberapa trick:
1. code-generator: lu run tool yang otomatis ngebaca source code lu dan
create classes/methods baru ke project lu, ato nyisipin beberapa lines
of code ke dalem existing class2 lu, misalnya dengan xdocklet
2. pre-compilation instrumentation: tool lu intercept compilation
process di project lu, dan bakal nyisipin class/method/lines baru di
source-code lu sebelom dicompile jadi bytecode. Misalnya EMMA
3. post-compilation instrumentation: tool lu bakal ngebaca .class ato
.jar lu (yang udah dicompile), dia decompile dan recompile jadi
.class/.jar baru yang udah diubah2 dengan disisipin method/class/line
baru. EMMA juga bisa gini
4. load-time static weaving: pada saat lu run application lu, framework
lu bakal intercept class-loader lu, sehingga tiap kali dia ngeload
class2 lu, bakal diubah2 dulu dengan disisipin implementation baru. Gw
gak tau contoh di java, tapi di .net misalnya PostSharp dan Typemock
Open-AOP
5. dynamic proxy: so far semua teknik diatas flexible enough buat mangle
static methods ato ganti2 semau2nya. Some people find it terlalu banyak
magic involved tho. Dynamic proxy cuma pake proxy pattern dengan
ngebungkus original object instance dengan proxy object yang intercept
instance-method invocations. Ini so far the most common form of AOP yang
disupport oleh IoC containers. E.g. Spring AOP, AspectJ



2010/3/3 dir dir mailto:sikerasa...@gmail.com> >

  

Ngak ngerti apa yg kamu maksud dengan  "Yang Sifatnya ngejembreng"

Bisa diperjelas lagi dengan menggunakan contoh?

Terima kasih.

Dir.

2010/3/2 Jecki mailto:jecki...@gmail.com> >

 

  

terjemahan kaku: pertimbangan yang memotong silang.

terjemahan bebas: bagian2 dari aplikasi yang sifatnya
ngejembreng
*halah.. bahasa apaan ngejembreng* di semua/hampir semua module.

2010/3/2 dir dir mailto:sikerasakti%40gmail.com> >


>
> Jecki numpang tanya... Cross Cutting Concern itu maksud nya
apa yah?
>
> Thanks.
>
> Dir.
>
> 2010/3/1 Jecki mailto:jecki.go%40gmail.com> >
>>
>> AOP itu untuk tackle cross-cutting concern. Salah satu contoh
paling mudah ya logging. Contoh lain: security, declarative transaction
demarcation.
>>

 

 




This email and any attachments are confidential and may also be privileged.  If 
you are not the addressee, do not disclose, copy, circulate or in any other way 
use or rely on the information contained in this email or any attachments.  If 
received in error, notify the sender immediately and delete this email and any 
attachments from your system.  Emails cannot be guaranteed to be secure or 
error free as the message and any attachments could be intercepted, corrupted, 
lost, delayed, incomplete or amended.  Standard Chartered PLC and its 
subsidiaries do not accept liability for damage caused by this ema

Re: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik dir dir
Oke Jeck... saya sudah paham sekarang

Thank you.

Dir.

2010/3/3 Jecki 

>
>
> 2010/3/2 dir dir >
> >
> > Ngak ngerti apa yg kamu maksud dengan  "Yang Sifatnya ngejembreng"
>
> maksudnya muncul di mana2.
>
>
> >
> > Bisa diperjelas lagi dengan menggunakan contoh?
>
> misalnya logging tadi (logging melulu contohnya :P). dia bisa
> ditemukan di semua/hampir semua module. module-nya sih mungkin
> ngurusin payment, procurement, dll. tapi tetep logging itu dibutuhkan,
> walaupun bukan core function dari module tersebut. di sini keliatan
> kan logging dipake di payment, dipake juga di procurement, dipake juga
> di ... (tambahkan sendiri deh). nah uda keliatan motong belum tuh?.
>
>
> >
> > Terima kasih.
> >
> > Dir.
> >
> > 2010/3/2 Jecki >
> >>
> >> terjemahan kaku: pertimbangan yang memotong silang.
> >>
> >> terjemahan bebas: bagian2 dari aplikasi yang sifatnya ngejembreng
> >> *halah.. bahasa apaan ngejembreng* di semua/hampir semua module.
> >>
> >> 2010/3/2 dir dir >
> >>
> >> >
> >> > Jecki numpang tanya... Cross Cutting Concern itu maksud nya apa yah?
> >> >
> >> > Thanks.
> >> >
> >> > Dir.
> >> >
> >> > 2010/3/1 Jecki >
> >> >>
> >> >> AOP itu untuk tackle cross-cutting concern. Salah satu contoh paling
> mudah ya logging. Contoh lain: security, declarative transaction
> demarcation.
> >> >>
> >
>  
>


Re: [JUG-Indonesia] Re: java + sql mencari nama

2010-03-03 Terurut Topik Robby Budi S.
jika parameter nama tersebut adalah "agus setiawan", maka code yang
seharusnya kita pergunakan adalah sebagai berikut :

String vtextfield = request.getParameter("nama");
String token[] = vtextfield.split(" ");
for(int i=0;i<=token.length;i++)
{
String kesatu = token[0];
String kedua = token[1];
System.out.println("kesatu "+kesatu);
System.out.println("kedua "+kedua );
}

karena kalau kita menggunakan split berarti kita akan mendapatkan tokenArray
yg dimulai dari 0 bukan dari 1 mas giri. Kalau kita salah mencetak element
tokenArraynya, kemungkinan kita akan mendapatkan
java.langArrayIndexOutOfBoundException.
kemudian hasil cetakan code tersebut seharusnya :
kesatu agus
kedua setiawan

Regards,

Robby

2010/3/3 giri_negara 

>
>
> cara mecahnya dan masukin kedalam variabel gmn yach mas ?
> saya buat seperti ini :
> String vtextfield = request.getParamater("nama");
> String token[] = vtextfield.split(" ");
> for(int i=0;i<=token.length;i++)
> {
> String kesatu = token[1];
> String kedua = token[2];
> System.out.println("kesatu "+kesatu);
> System.out.println("kedua "+kedua );
> }
>
> tapi ga bisa muncul ..
> maklum masih newbie
> mohon bantuannya,
>
>
> --- In jug-indonesia@yahoogroups.com ,
> "Tjong, Andreas"  wrote:
> >
> > Textfield nya kan bisa dipecah per Token.
> >
> > Lalu tiap2 Token nya nanti dimasukkan ke dalam query.
> >
> >
> >
> > Jadi kira2 flow nya seperti ini:
> >
> > Misalkan TextField nya = "Agus Setiawan"
> >
> >
> >
> > Dipecah per Token jadi:
> >
> >
> >
> > Token[0] = "Agus"
> >
> > Token[1] = "Setiawan"
> >
> >
> >
> > Trus di query nya jadi:
> >
> >
> >
> > Bla blab la - WHERE blab la bla Like %agus% AND %setiawan%
> >
> >
> >
> > Best Regards,
> >
> > Andreas
> >
> >
> >
>
> >
> >
>
>  
>


Re: [JUG-Indonesia] Upload file yang cepet Via browser?Applet FTP?

2010-03-03 Terurut Topik Jecki
2010/3/3 Ifnu bima 
>
> > Nah kepikiran pake FTP dengan applet, apa solusi seperti ini common? apakah 
> > bisa lebih cepat?
>
> applet secara default nggak bisa browse local file kena security
> manager, harus ada ssl certificate yang disign sama CA (verisign /
> twahte) agar si applet bisa browse local file. Jadi stepnya agak
> sedikit panjang :D
>

haha.. ternyata ga mudah juga ya.

> > Mator suwon kalo ada yang bisa share dunia upload mengupload :D
>
> --
>
> http://ifnu.artivisi.com
> +62 856 9211 8687
> regards


Re: [JUG-Indonesia] Upload file yang cepet Via browser?Applet FTP?

2010-03-03 Terurut Topik Achmad Arif Rachim
Ga harus

2010/3/3 Ifnu bima 

>
>
> > Nah kepikiran pake FTP dengan applet, apa solusi seperti ini common?
> apakah bisa lebih cepat?
>
> applet secara default nggak bisa browse local file kena security
> manager, harus ada ssl certificate yang disign sama CA (verisign /
> twahte) agar si applet bisa browse local file. Jadi stepnya agak
> sedikit panjang :D
>
>
> > Mator suwon kalo ada yang bisa share dunia upload mengupload :D
>
> --
>
> http://ifnu.artivisi.com
> +62 856 9211 8687
> regards
>
>  
>



-- 
Warm Regards,
Arif Rachim


Re: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Endy Muhardin
2010/3/3 Jecki 
>
>
>
> yah.. kan contoh paling gampang logging. emang sih logging-nya yang simple2 
> aja.
>

Bukannya paling gampang, tapi memang paling sering dan aplikatif ya
untuk logging.
- pengecekan access level (before advice)
- logging (after advice)
- automatic exception mailer (throws advice)
http://forum.springsource.org/showthread.php?t=70361

Gini aja deh, kalo AOP terlalu sulit dipahami, coba belajar interceptor aja.
Interceptor itu apa? Coba belajar SiteMesh.


--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] Re: Upload file yang cepet Via browser?Applet FTP?

2010-03-03 Terurut Topik Ifnu bima
> Pake browser plus-nya punya Yahoo! gimana? Tapi selama ini cuma jalan di Win 
> sama Mac doang (Ada laporan dari temen di sebelah gw. Dia pake Fedora dan 
> bisa pake browser plus untuk upload di facebook).
>
> Saya tau ini pertama kali karena Yahoo! sekarang pake itu. Facebook juga pake 
> itu.

Iyah, kemaren baru lihat facebook pindah dari applet uploader ke
sistem upload baru, ternyata pake browser plus yahoo yah. ini ada
catatan dari enginernya mengenai sistem baru ini  :

http://www.facebook.com/note.php?note_id=178492968919

tapi kalau upload data-data segede gajah gitu blom tau yah ;)
Kelemahan utamanya adalah harus install dulu pluginya baru bisa
dipake.


--


http://ifnu.artivisi.com
+62 856 9211 8687
regards


Re: [JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik sm96
AOP bukan hanya interceptor lho...

2010/3/3 Nashroulloh 

>
>
> > hmm.. bau-baunya promosi guice nih
>
> Sekedar upaya menyeimbangkan antara konsep dan praktek.
> Berharap ada yg memberi contoh lain.
>
> regards,
> Nasrul
>
> --
> Menikmati Hidup Mempersembahkan yang Terbaik
> -Nashroulloh
>
>  
>



-- 
syaiful.mukhlis
gtalk:syaiful.mukh...@gmail.com 


Re: [JUG-Indonesia] Re: java + sql mencari nama

2010-03-03 Terurut Topik shinichi ryan
untuk indexnya dimulai dari 0

String kesatu = token[0];
String kedua = token[1];

Pada 3 Maret 2010 18:39, giri_negara  menulis:

>
>
> cara mecahnya dan masukin kedalam variabel gmn yach mas ?
> saya buat seperti ini :
> String vtextfield = request.getParamater("nama");
> String token[] = vtextfield.split(" ");
> for(int i=0;i<=token.length;i++)
> {
> String kesatu = token[1];
> String kedua = token[2];
> System.out.println("kesatu "+kesatu);
> System.out.println("kedua "+kedua );
> }
>
> tapi ga bisa muncul ..
> maklum masih newbie
> mohon bantuannya,
>
>
> --- In jug-indonesia@yahoogroups.com ,
> "Tjong, Andreas"  wrote:
> >
> > Textfield nya kan bisa dipecah per Token.
> >
> > Lalu tiap2 Token nya nanti dimasukkan ke dalam query.
> >
> >
> >
> > Jadi kira2 flow nya seperti ini:
> >
> > Misalkan TextField nya = "Agus Setiawan"
> >
> >
> >
> > Dipecah per Token jadi:
> >
> >
> >
> > Token[0] = "Agus"
> >
> > Token[1] = "Setiawan"
> >
> >
> >
> > Trus di query nya jadi:
> >
> >
> >
> > Bla blab la - WHERE blab la bla Like %agus% AND %setiawan%
> >
> >
> >
> > Best Regards,
> >
> > Andreas
> >
> >
> >
>
> >
> >
>
>  
>


Re: [JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik Endy Muhardin
2010/3/3 Hira Sirojudin 
>
>
>
> Mr. Jugger semua
>
> Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan dalam 
> bentuk .jar) kita dari cracking orang2 jaat...
Harus tau dulu crackingnya gimana.
Baru mikir gimana cara proteksinya.

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik Hira Sirojudin
eniwey... makasih banyak mybro sarannya
soalnya gw ngoding aplikasinya ini buat top secret system bro:D
jadinya usaha apapun harus dilakukan supaya meminimalisir cracking dan
kehilangan potential income



2010/3/3 Yudhi Karunia Surtan 

>
>
> :D yah celah mah ada aja koq, salah satu alesan gw make java karena koding
> gw boleh di liat orang.
> gw pernah liat sendiri orang ngecrack walaupun aplikasinya mo pake
> encryptor apapun juga dia bisa tembusin..
> Jangan lupa java itu high level programming.
> Dia bongkar binarynya lewat assembler terus di bypass password atau serial
> numbernya..
> eh masuk deh.. tanpa tanya-tanya apapun juga bisa make applikasinya.
> :D so buat apa pusing-pusing cari cara biar program ga bisa di crack..
>
>
> Regards,
>
> Yudhi Karunia Surtan
> --
> http://yudhikarunia.wordpress.com
> http://www.google.com/profiles/BrainMaster716.
>
>
> 2010/3/3 Hira Sirojudin 
>
>
>>
>> Mr. Jugger semua
>>
>> Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan
>> dalam bentuk .jar) kita dari cracking orang2 jaat...
>> kemarin sih dah pernah make obfuscator, jarnya di-sign dan di-verify pake
>> jarsigner,
>> hasilnya tetap bisa crack, walopun agak lama dikit...
>>
>> tolong sarannya ?
>>
>> terimakasih...
>> --
>> Hira Sirojudin
>>
>>
>>  
>



-- 
Hira Sirojudin


Re: [JUG-Indonesia] java + sql mencari nama

2010-03-03 Terurut Topik Endy Muhardin
2010/3/3 Ifnu bima 
>
>
>
> > saya mau tanya misalnya saya mau mencari member yg namanya "agus setiawan"
> > trus misalnya jika nama member itu "agus setiawan" atau "setiawan agus" 
> > maka dianggap sama.
> > kira2 cara carinya gmn yach ?
> > saya sudah pake like '% %' tapi ga bisa
>
> Cara paling gampang adalah memecah kedua suku kata tersebut kemudian
> meletakkan dalam klausa like disambung dengan or.


Kayaknya pada salah kaprah nih dengan pertanyaannya.
Sepahaman saya, pengennya itu, agus setiawan dan setiawan agus dianggap sama.
Jadi kalo masukin agus setiawan, record yang namanya setiawan agus keambil juga.

Kalo pakai split, trus pakai %, gak bakal bisa.
Kalo pake or, nanti yang namanya rahmat setiawan bakal ikut keambil juga.


Jadi gimana caranya?
Kalo dimasukkan keyword endy muhardin, split dulu jadi 2
String nama[] = "endy muhardin".split(" ");

SQL : select * from tbl_user
where nama = nama[0] + spasi + nama[1]
or nama = nama[1] + spasi + nama[0]

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik dir dir
Thank you... saya sudah paham sekarang.

Dir.


2010/3/3 Nashroulloh 

>
>
> Misalkan Anda diminta seorang client membuat aplikasi
> penjualan-pembelian. Kata sang client, ini aplikasi bikinya sederhana
> aja krn yg pake dia sendiri untuk toko yg baru dia rintis.
> Dia yg entri data barang, dia yg transaksi, dia yg generate report, dll.
> Tak lama, aplikasi pun jadi
>
> ... waktu pun berlalu ...
>
> Ternyata toko yg dirintis itu membesar, turut berperan pula aplikasi
> yang Anda buat. Sekarang sang client punya bbrp kasir, punya tukang
> order barang, tukang yang bikin report.
> Teringat akan jasa2 Anda (cie..3x) sang client pun menghubungi Anda
> untuk modifikasi aplikasi penuh tanda jasa yg dulu Anda buat.
>
> Beberapa fitur tambahan diantarnya:
> - security, tiap2 orang itu login dgn user/pass masing2. Ada beberapa
> fitur aplikasi yg hanya boleh diakses user tertentu
> - logging, supaya bisa trace error, audit, dll
> - pengaturan transaksi krn adanya banyak kasir.
>
> Sebagai programmer pemalas (ups..), Anda tidak ingin merubah code yg
> dulu dibuat, karena musti merubah dari kode dari ujung ke ujung dan itu
> berarti musti testing ulang semuanya. Sekiranya ini adalah kemalasan yg
> baik (iya kah...)
>
> Bgmn caranya? entah dapat inspirasi dari mana, lagi buka facebook, lg
> nge-tweet, ada istilah AOP yg ternyata cukup menarik untuk memecahkan
> kemalasan Anda.
>
> AOP di guice cukup sederhana, misal sebelumnya kode untuk entri barang
> itu demikian:
>
> protected void doPost(HttpServletRequest req, HttpServletResponse resp)
> {
> List errorMessages = new ArrayList();
> Item item = bind(req, errorMessages);
> if (errorMessages.isEmpty()) {
> itemDao.save(item);
> }
> }
>
> berikutnya, cukup dengan menambahkan beberapa custom annotation, beres dah:
>
> @LogActivity
> @CheckUserPrivilege
> protected void doPost(HttpServletRequest req, HttpServletResponse resp)
> {
> List errorMessages = new ArrayList();
> Item item = bind(req, errorMessages);
> if (errorMessages.isEmpty()) {
> itemDao.save(item);
> }
> }
>
> Tidak satu baris kode pun perlu diubah (dan ditest), namun fitur yg
> diinginkan sudah terpasang.
> edit kode dari ujung ke ujung itu kira2 sepadan dengan "ngejembreng".
> Cross-cutting itu kira2 antar layer (presentation - controller - action
> - service - domain)
> Nantinya, dgn AOP, fitur tambahan pada suatu method cukup dihiasi dengan
> anotasi, beres dah.
> Unit testing yg sudah ada tdk perlu dimodifikasi, cukup buat yg baru u/
> cross-cutting fiturnya aja.
> Klo mau ngetest integrasi, bisa pake guice-berry.
>
> Jadi, apa itu AOP? In one word: interceptor, itu ajah ...
>
> CMIIW
>
> regards,
> Nasrul
>
> --
> Menikmati Hidup Mempersembahkan yang Terbaik
> -Nashroulloh
>
>  
>


RE: [JUG-Indonesia] PreparedStatement

2010-03-03 Terurut Topik Adelwin, Adelwin
Setau gue sih kagak bisa..

Kecuali "?" yang kedua nya di buat "pinter" supaya die jadi kagak ngepek
lagi...

Contoh nya di kasi "%"

Soal nya khan kalo pake preparedstatement khan kita harus register
parameter... kalo gak semua di register ntar die throw exception.

 

 

Adelwin Handoyo  |  Senior Consultant - Wholesale Bank
Standard Chartered Bank
Plaza By The Park #06-00, 51 Bras Basah Road. Singapore (189554)
T : (65) 655 72432  | E adelwin.adel...@sc.com 

 

 



From: jug-indonesia@yahoogroups.com
[mailto:jug-indone...@yahoogroups.com] On Behalf Of NoNaMe
Sent: Wednesday, March 03, 2010 2:41 PM
To: jug-indonesia@yahoogroups.com
Subject: [JUG-Indonesia] PreparedStatement

 

  

mw tny nih, gw pny query 

update rpt_foss_msisdn_pool_before 
set "+combo1.getSelectedItem().toString()+" = ?,
"+combo2.getSelectedItem().toString()+" = ?
where msisdn_no='"+o1+"'

bsa ga ya unt ? yg ke dua ga di eksekusi nmun hny ? pertama yg di
eksekusi, tp laen wktu 22ny hrz dieksekusi, ada yg bsa bntu?

tujuanny c spaya gw ga byk nulis query yg sama pd intiny, ada yg bs
bantu ? 




This email and any attachments are confidential and may also be privileged.  If 
you are not the addressee, do not disclose, copy, circulate or in any other way 
use or rely on the information contained in this email or any attachments.  If 
received in error, notify the sender immediately and delete this email and any 
attachments from your system.  Emails cannot be guaranteed to be secure or 
error free as the message and any attachments could be intercepted, corrupted, 
lost, delayed, incomplete or amended.  Standard Chartered PLC and its 
subsidiaries do not accept liability for damage caused by this email or any 
attachments and may monitor email traffic.

 

Standard Chartered PLC is incorporated in England with limited liability under 
company number 966425 and has its registered office at 1 Aldermanbury Square, 
London, EC2V 7SB.

 

Standard Chartered Bank ("SCB") is incorporated in England with limited 
liability by Royal Charter 1853, under reference ZC18.  The Principal Office of 
SCB is situated in England at 1 Aldermanbury Square, London EC2V 7SB. In the 
United Kingdom, SCB is authorised and regulated by the Financial Services 
Authority under FSA register number 114276.

 

If you are receiving this email from SCB outside the UK, please click 
http://www.standardchartered.com/global/email_disclaimer.html to refer to the 
information on other jurisdictions.



Re: [JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik sm96
kalo mau pake java mesti siap "open".
kalo gak mau "open", mending gak usah pake java.
yg native aja bisa dicrack kok...
gimana java, cara ngecracknya aja defacto "sengaja difasilitasi".

2010/3/3 Yudhi Karunia Surtan 

>
>
> :D yah celah mah ada aja koq, salah satu alesan gw make java karena koding
> gw boleh di liat orang.
> gw pernah liat sendiri orang ngecrack walaupun aplikasinya mo pake
> encryptor apapun juga dia bisa tembusin..
> Jangan lupa java itu high level programming.
> Dia bongkar binarynya lewat assembler terus di bypass password atau serial
> numbernya..
> eh masuk deh.. tanpa tanya-tanya apapun juga bisa make applikasinya.
> :D so buat apa pusing-pusing cari cara biar program ga bisa di crack.
>
>
> Regards,
>
> Yudhi Karunia Surtan
> --
> http://yudhikarunia.wordpress.com
> http://www.google.com/profiles/BrainMaster716.
>
>
> 2010/3/3 Hira Sirojudin 
>
>
>>
>> Mr. Jugger semua
>>
>> Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan
>> dalam bentuk .jar) kita dari cracking orang2 jaat...
>> kemarin sih dah pernah make obfuscator, jarnya di-sign dan di-verify pake
>> jarsigner,
>> hasilnya tetap bisa crack, walopun agak lama dikit...
>>
>> tolong sarannya ?
>>
>> terimakasih...
>> --
>> Hira Sirojudin
>>
>>
>>  
>



-- 
syaiful.mukhlis
gtalk:syaiful.mukh...@gmail.com 


Re: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Hendry Luk
Benernya kalo ada kertas n pensil, jauh lebih gampang digambarin.

Lu punya multiple concerns: customer, front-office, order management,
provisioning, accounting, inventory, billing, etc. Kalo lu gambar tuh
masing2 concerns sebagai garis vertical, lu bakal punya belasan garis
vertical berjejer paralel.
Trus lu ada bbrp garis laen: logging, transaction, security, caching,
fetching strategy, error-handling, etc. Garis2 ini gak berjejer vertical
disamping garis2 sebelumnya, melainkan horisontal memotong *across* semua
garis2 vertical. Semua garis vertical lu kena impactnya.

Tanpa AOP, lu mesti implement crosscutting concern ini di masing2 tiap
module elu (di customer class, shopping-cart class, billing, inventory,
etc,.. semua mesti implement logging, caching, transaction etc yang
repetitive).
Dengan AOP, lu gak perlu nulis manual. Class lu bakal otomatis dimodify (at
runtime ato compile time) disisipin dengan berbagai
logging/caching/transaction/security aspects tadi. Ini bisa diachieve dengan
beberapa trick:
1. code-generator: lu run tool yang otomatis ngebaca source code lu dan
create classes/methods baru ke project lu, ato nyisipin beberapa lines of
code ke dalem existing class2 lu, misalnya dengan xdocklet
2. pre-compilation instrumentation: tool lu intercept compilation process di
project lu, dan bakal nyisipin class/method/lines baru di source-code lu
sebelom dicompile jadi bytecode. Misalnya EMMA
3. post-compilation instrumentation: tool lu bakal ngebaca .class ato .jar
lu (yang udah dicompile), dia decompile dan recompile jadi .class/.jar baru
yang udah diubah2 dengan disisipin method/class/line baru. EMMA juga bisa
gini
4. load-time static weaving: pada saat lu run application lu, framework lu
bakal intercept class-loader lu, sehingga tiap kali dia ngeload class2 lu,
bakal diubah2 dulu dengan disisipin implementation baru. Gw gak tau contoh
di java, tapi di .net misalnya PostSharp dan Typemock Open-AOP
5. dynamic proxy: so far semua teknik diatas flexible enough buat mangle
static methods ato ganti2 semau2nya. Some people find it terlalu banyak
magic involved tho. Dynamic proxy cuma pake proxy pattern dengan ngebungkus
original object instance dengan proxy object yang intercept instance-method
invocations. Ini so far the most common form of AOP yang disupport oleh IoC
containers. E.g. Spring AOP, AspectJ


2010/3/3 dir dir 

>
>
> Ngak ngerti apa yg kamu maksud dengan  "Yang Sifatnya ngejembreng"
>
> Bisa diperjelas lagi dengan menggunakan contoh?
>
> Terima kasih.
>
> Dir.
>
> 2010/3/2 Jecki 
>
>
>>
>> terjemahan kaku: pertimbangan yang memotong silang.
>>
>> terjemahan bebas: bagian2 dari aplikasi yang sifatnya ngejembreng
>> *halah.. bahasa apaan ngejembreng* di semua/hampir semua module.
>>
>> 2010/3/2 dir dir >
>>
>> >
>> > Jecki numpang tanya... Cross Cutting Concern itu maksud nya apa yah?
>> >
>> > Thanks.
>> >
>> > Dir.
>> >
>> > 2010/3/1 Jecki >
>> >>
>> >> AOP itu untuk tackle cross-cutting concern. Salah satu contoh paling
>> mudah ya logging. Contoh lain: security, declarative transaction
>> demarcation.
>> >>
>>
>
>  
>


Re: [JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik Wiyanto Ngasinur
di crack gimana ? mank aplikasi kamu pake password? pada saat obfuscate,
kalo didecompile string nya masi keliatan plain ato gak ?
pastiin pada saat obsfucator yg kamu pake support string encryption... jadi
pada saat obfuscate, plain string nya ga keliatan... setidak nya bakal buat
lebi susa utk ngecrack. just my 25 rupiah saja.

2010/3/3 Hira Sirojudin 

>
>
> Mr. Jugger semua
>
> Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan dalam
> bentuk .jar) kita dari cracking orang2 jaat...
> kemarin sih dah pernah make obfuscator, jarnya di-sign dan di-verify pake
> jarsigner,
> hasilnya tetap bisa crack, walopun agak lama dikit...
>
> tolong sarannya ?
>
> terimakasih...
> --
> Hira Sirojudin
>
>   
>


RE: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Adelwin, Adelwin
Contoh yang laen yang mungkin lebih bisa menjelaskan...

Access control...

Bukan authentication macam login...

Tapi bayangin gini..

Ada business process class yang sensitive...

Jadi harus ada access control nya...

Jadi kita bikin "interceptor" sebelom method ini jalan...

Jangan salah.. method nya udah dipanggil...

Tapi sebelom jalan... ada interceptor...

Yang akan ngecek access nya...

Kalo yang access ini method tuh user dengan nama "*admin*" maka di
kasi...

Kalo kagak.. throw exception.

Contoh kasar yah inih...

Jadi.. ketimbang meng-update semua sensitive method... lalu di kasi
validation... mendingan dengan cara ini khan?

Jadi seolah-olah abstract buat programmer yang laen...

Gak perlu edit code lagi...

Gt... moga2 contoh nya gak salah :P

 

Adelwin Handoyo  |  Senior Consultant - Wholesale Bank
Standard Chartered Bank
Plaza By The Park #06-00, 51 Bras Basah Road. Singapore (189554)
T : (65) 655 72432  | E adelwin.adel...@sc.com 

 

 



From: jug-indonesia@yahoogroups.com
[mailto:jug-indone...@yahoogroups.com] On Behalf Of Jecki
Sent: Wednesday, March 03, 2010 2:19 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] Tanya AOP

 

  

yah.. kan contoh paling gampang logging. emang sih logging-nya yang
simple2 aja.

ok. contoh laen deh: method invocation auto-retry. misalnya ada method
abc() yang ada kemungkinan ketika di-invoke bisa gagal (misal harus
connect ke system lain). nah bisa dibikin pake AOP untuk auto-retry
misalnya sebanyak 3 kali sebelum method-nya bener2 throw exception.

2010/3/3 Henry Harianja mailto:henry.harianja%40gmail.com> >
>
> contohnya logging mlulu nih hehehe
> klo yg pernah gw denger dari se-radio, logging ntu cth yang kurang
baik..
> url:
http://www.se-radio.net/podcast/2008-08/episode-106-introduction-aop
 
>
> 2010/3/3 Jecki mailto:jecki.go%40gmail.com> >
>
>>
>> misalnya logging tadi (logging melulu contohnya :P). dia bisa
>> ditemukan di semua/hampir semua module. module-nya sih mungkin
>> ngurusin payment, procurement, dll. tapi tetep logging itu
dibutuhkan,
>> walaupun bukan core function dari module tersebut. di sini keliatan
>> kan logging dipake di payment, dipake juga di procurement, dipake
juga
>> di ... (tambahkan sendiri deh). nah uda keliatan motong belum tuh?.
>




This email and any attachments are confidential and may also be privileged.  If 
you are not the addressee, do not disclose, copy, circulate or in any other way 
use or rely on the information contained in this email or any attachments.  If 
received in error, notify the sender immediately and delete this email and any 
attachments from your system.  Emails cannot be guaranteed to be secure or 
error free as the message and any attachments could be intercepted, corrupted, 
lost, delayed, incomplete or amended.  Standard Chartered PLC and its 
subsidiaries do not accept liability for damage caused by this email or any 
attachments and may monitor email traffic.

 

Standard Chartered PLC is incorporated in England with limited liability under 
company number 966425 and has its registered office at 1 Aldermanbury Square, 
London, EC2V 7SB.

 

Standard Chartered Bank ("SCB") is incorporated in England with limited 
liability by Royal Charter 1853, under reference ZC18.  The Principal Office of 
SCB is situated in England at 1 Aldermanbury Square, London EC2V 7SB. In the 
United Kingdom, SCB is authorised and regulated by the Financial Services 
Authority under FSA register number 114276.

 

If you are receiving this email from SCB outside the UK, please click 
http://www.standardchartered.com/global/email_disclaimer.html to refer to the 
information on other jurisdictions.



Re: [JUG-Indonesia] Membuat tampilan slide untuk ppt

2010-03-03 Terurut Topik sm96
slideshare itu punya plugin sendiri yg mengkonversi segala format dokumen
untuk bisa ditampilkan
ke web pake plugin yg dia punya. pluginnya melakukan rendering sendiri,
tentunya semua tampaknya
sebagai image bagi browser di client.

2010/3/1 mujoko mujoko 

>
>
> Gimana kalo pdf di convert ke html dulu :D, hasilnya html + image
>
> 2010/3/1 Kero Chan 
>
>>
>>
>> mau tanya nih, caranya membuat tampilan spy bisa menampilkan powerpoint
>> seperti di slideshare.net itu kyk gmn yah?
>>
>> sy udh coba cari2 & nemu kode kyk gini. tp kok msh blm berhasil ya? (malah
>> hasilnya filenya di download)
>>
>> 
>> 
>> Mengakses PDF
>> 
>> 
>> <%@ page contentType="application/vnd.ms-powerpoint" %>
>> DAFTAR PENJUALAN PRODUK
>> TEST
>> 
>> 
>>
>
>
>
> --
> Mujoko
> http://www.linkedin.com/in/mujoko
>  
>



-- 
syaiful.mukhlis
gtalk:syaiful.mukh...@gmail.com 


Re: [JUG-Indonesia] ETL Tool

2010-03-03 Terurut Topik sm96
kalo gak mau ada xml, jangan pernah pake kettle atawa pentaho data
integration.
padahal performa kettle sendiri untuk transformasi yg lumayan kompleks
lumayan bagus, even dia pake xml.
apalagi kalo maunya pake tools m$ punya, SSIS, graphical toolnya bagus, dan
enak banget dipakenya,
tapi jangan lupa, dia ini bagus-bagus juga tetep pake xml, dan performanya
juga bagus.
jangan pake barang ginian juga, karena dia masih pake xml.
bagaimana yg lain? ternyata masih pake xml.
aku sedang ngelirik spring batch mungkin bisa diadaptasi untuk etl tools.
kalo saran saya, jangan pake spring batch juga, seperti kita tahu, spring
batch sendiri configure masih pake xml.
jadi yah, jangan pake spring batch juga, karena dia pake xml.


...


On Tue, Mar 2, 2010 at 7:00 PM, Hendry Luk  wrote:

>
>
> Well, bukan requirement sih, tapi which one yg provide the most pleasing
> experience in term of nulis ETL scriptnya. It's quite unbelievable bahwa
> mereka semua milih pake XML, considering XML is possibly the worst way ever
> buat ngescript ETL logics (loop, condition, etc), dibanding misalnya pake
> python script ato java code.
> Ok, given the limitation of xml, dari sekian banyak etl tools yg available,
> so far yang mana yg kalian biasa pake, yg ringkas n gampang buat dipake n
> dimanage? In short, yg mana yg kalian suggest?
>
>
> Well OOT regarding sentimen gw against xml yg mungkin perlu gw clarify...
> In general gw prefer tool/framework stack yg minim xml-config karna xml is a
> big mess to work with. Misalnya ant/maven, terlalu banyak noise-per-signal
> dibanding rake/bake script yg jauh lebih ringkas n manageable. Ato IoC
> config, ringkas pake binsor ato fluent-interface yg cuma butuh few lines
> dibanding berlembar2 xml config di spring. JSTL n velocity juga bikin gatel
> dibanding templating engine laen kayak plain jsp ato brail. Dan finally,
> ETL, pas di .net gw ada HORRENDOUS experience dengan SSIS! Yang setelah itu
> hidup gw jauh lebih indah dengan Rhino-ETL yang pake phyton-like script.
> Dan kalo gw mesti pick 3 areas dimana xml mesti dijadiin crime adalah:
> rule-engine, build-tool, dan ETL... karna naturenya yang lebih cocok ditulis
> sebagai script daripada sebagai xml structure. Xml-config cuma ok pas
> mulai2, terus selalu degrade jadi unmanageable mess kalo dah mulai grow
> dengan berbagai deep conditional logic dan iterations :(
> The world would be a much wonderful place without nuclear weapon and xml
> config.
>
> On Mon, Mar 1, 2010 at 1:39 PM, sm96  wrote:
>
>>
>>
>> kalo requirementnya seperti itu,
>> berarti tidak ada.
>> sementara etl tools ada banyak sekali.
>>
>> On Mon, Mar 1, 2010 at 7:31 AM, Hendry Luk  wrote:
>>
>>>
>>>
>>> Guys, ada yang bisa suggest ETL tool di java? Preferably yang gak involve
>>> XML (I hate XMLs). Gw baru checked out scriptella, tapi pake xml dimana2
>>> like we were in 1990s.
>>> ETL apa yg u would suggest?
>>> Ta
>>>
>>
>>
>>
>> --
>> syaiful.mukhlis
>> gtalk:syaiful.mukh...@gmail.com 
>>
>
>  
>



-- 
syaiful.mukhlis
gtalk:syaiful.mukh...@gmail.com 


Re: [JUG-Indonesia] java + sql mencari nama

2010-03-03 Terurut Topik sm96
semua ini sudah ditangani oleh Apache Lucene.

2010/3/3 Ifnu bima 

>
>
> > ga bisa mas.
> > cara itu kan jika ada 2 textfield. jadi textfield1 tuliskan 'agus' dan
> textfield2 tuliskan 'setiawan'.
> > sedangkan kalo saya hanya ada 1 textfield jadi di textfield tuliskan
> 'agus setiawan'.
> > jadi qta harus tentukan mana kata1 dan mana kata2. trus di databasenya jg
> cm ada 1 field yaitu field nama.
> > bagaiaman yach caranya ?
>
> kan udah saya kasih tau diatas, pake String.split untuk memisahkan
> nama menjadi per suku kata. Trus buat query sebanyak suku katanya
>
>
> --
>
> http://ifnu.artivisi.com
> +62 856 9211 8687
> regards
>  
>



-- 
syaiful.mukhlis
gtalk:syaiful.mukh...@gmail.com 


Re: Bls: [JUG-Indonesia] Re: DAO Pattern

2010-03-03 Terurut Topik Endy Muhardin
2010/3/2 Welly Tambunan 
>
>
>
> jadi di level application service kita langsung inject sessionFactory tanpa 
> abstraksi (langsung implementation detail) ?

Iya, kalau pakai Hibernate.
Kalau pakai JPA, gak tau saya inject EntityManager atau EntityManagerFactory.

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] PreparedStatement

2010-03-03 Terurut Topik Endy Muhardin
2010/3/3 NoNaMe 
>
>
>
> mw tny nih, gw pny query
>
> update rpt_foss_msisdn_pool_before
> set "+combo1.getSelectedItem().toString()+" = ?,
> "+combo2.getSelectedItem().toString()+" = ?
> where msisdn_no='"+o1+"'
>
> bsa ga ya unt ? yg ke dua ga di eksekusi nmun hny ? pertama yg di eksekusi, 
> tp laen wktu 22ny hrz dieksekusi, ada yg bsa bntu?
>
> tujuanny c spaya gw ga byk nulis query yg sama pd intiny, ada yg bs bantu ?
>

Duh nulisnya jangan gini dong.
Pakai bahasa Indonesia yang baik dan benar kenapa, biar yang baca gak pusing.

Jawaban untuk pertanyaannya : coba pelajari sintaks if-else

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] Tanya : Modifikasi JList jadi 2 Baris

2010-03-03 Terurut Topik Ifnu bima
> Salam JUG'ers
> Saya mau melakukan modifikasi pada JList menjadi 2 baris kira-kira bagaimana 
> caranya, ya?
> Saya menginginkan pada pilihan di JList tersebut ada teks pilihan dan 
> deskripsinya yang tulisannya lebih kecil dari teks pilihan.
> kira-kira bentuknya sama seperti menu pada startmenu di windows (lihat 
> attachment).
> Terima kasih sebelum dan sesudahnya.

Bisa dengan membuat custom JList cell renderer, tutorialnya ada di sini :

http://java.sun.com/docs/books/tutorial/uiswing/components/list.html

--


http://ifnu.artivisi.com
+62 856 9211 8687
regards


RE: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Adelwin, Adelwin
Tapi emang kalo di e-book khan aspect ituh di definisikan sebagai
sesuatu yang mau lu bikin secara orthogonal khan?

Musti pake papan tulis sih ini jelasin nya :p

 

Adelwin Handoyo  |  Senior Consultant - Wholesale Bank
Standard Chartered Bank
Plaza By The Park #06-00, 51 Bras Basah Road. Singapore (189554)
T : (65) 655 72432  | E adelwin.adel...@sc.com 

 

 



From: jug-indonesia@yahoogroups.com
[mailto:jug-indone...@yahoogroups.com] On Behalf Of Daniel Baktiar
Sent: Wednesday, March 03, 2010 10:13 AM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] Tanya AOP

 

  

terjemahan orthogonal = tegak lurus.

 

"sesuatu yang dilakukan secara tegak lurus".

kalau gitu tambah bingung nggak?

2010/3/2 Adelwin Handoyo mailto:adel...@gmail.com> >

  

Sesuatu yang di lakukan secara orthogonal..
Kalo gitu ngerti kagak?


Adelwin Handoyo
- adel...@gmail.com   -
Sent from my Mac

 



From: dir dir http://sikerasa...@gmail.com> >


Reply-To: JUG-Indonesia http://jug-indonesia@yahoogroups.com> >

Date: Tue, 2 Mar 2010 09:30:37 +0700


To: JUG-Indonesia http://jug-indonesia@yahoogroups.com> >

Subject: Re: [JUG-Indonesia] Tanya AOP












































-- 
-o--o---( ^  ^ )---o--o-
Speed Optimization: Seek and ye shall find!
In case it isn't in the cache yet, too bad, you've to wait 40x longer.
Daniel Baktiar (http://dbaktiar.wordpress.com
 )




This email and any attachments are confidential and may also be privileged.  If 
you are not the addressee, do not disclose, copy, circulate or in any other way 
use or rely on the information contained in this email or any attachments.  If 
received in error, notify the sender immediately and delete this email and any 
attachments from your system.  Emails cannot be guaranteed to be secure or 
error free as the message and any attachments could be intercepted, corrupted, 
lost, delayed, incomplete or amended.  Standard Chartered PLC and its 
subsidiaries do not accept liability for damage caused by this email or any 
attachments and may monitor email traffic.

 

Standard Chartered PLC is incorporated in England with limited liability under 
company number 966425 and has its registered office at 1 Aldermanbury Square, 
London, EC2V 7SB.

 

Standard Chartered Bank ("SCB") is incorporated in England with limited 
liability by Royal Charter 1853, under reference ZC18.  The Principal Office of 
SCB is situated in England at 1 Aldermanbury Square, London EC2V 7SB. In the 
United Kingdom, SCB is authorised and regulated by the Financial Services 
Authority under FSA register number 114276.

 

If you are receiving this email from SCB outside the UK, please click 
http://www.standardchartered.com/global/email_disclaimer.html to refer to the 
information on other jurisdictions.



Re: Bls: [JUG-Indonesia] Re: DAO Pattern

2010-03-03 Terurut Topik Ifnu bima
> jadi di level application service kita langsung inject sessionFactory tanpa 
> abstraksi (langsung implementation detail) ?

kalau pake spring ini gak bisa, harus ada interface agar spring bisa
instrument service class dan jalanin Declarative transaction
(@Transactional)


--


http://ifnu.artivisi.com
+62 856 9211 8687
regards


Re: [JUG-Indonesia] Re: java + sql mencari nama

2010-03-03 Terurut Topik Ifnu bima
> cara mecahnya dan masukin kedalam variabel gmn yach mas ?
> saya buat seperti ini :
> String vtextfield = request.getParamater("nama");
> String token[] = vtextfield.split(" ");
> for(int i=0;i<=token.length;i++)
> {
> String kesatu = token[1];
> String kedua = token[2];
> System.out.println("kesatu "+kesatu);
> System.out.println("kedua "+kedua );
> }

ga bisa itu mah dipindahin ke variable. Soalnya panjang array hasil
split kan bervariasi. Jadi ya bisanya token[0] token[1] dan seterusnya
sampe token.length -1 .

kode ini i<=token.length bisa bikin error arrayindexoutofbound karena
maksimum index dalam array adalah token.length -1.

Misalnya "pak suro mangan boto entek limo" kalau dipecah panjang array
token = 6, kalau km akses token[6] error, karena array indexnya
dimulai dari 0 dan berarkhir di length-1 = 5.

kalau mau ambil satu2 nilainya harus for(int i = 0; i< token.length;
i++) nggak boleh <= ntar kena error.

--


http://ifnu.artivisi.com
+62 856 9211 8687
regards


Re: [JUG-Indonesia] Tanya AOP

2010-03-03 Terurut Topik Endy Muhardin
2010/3/2 dir dir 
>
>
>
> Maksudnya secara orthogonal itu apa?

Baca The Art of Unix Programming, chapter tentang Orthogonality.
URLnya di mana? Tau dong carinya ... ;D

> mungkin penjelasan yang dapat memberikan pencerahan
> adalah penjelasan tentang konsep dari cross cutting concern
> itu sendiri apa?

Concern : suatu hal yang kita pertimbangkan/inginkan/dsb.
Cross cutting : tersebar di seluruh aplikasi.

Jadi, suatu hal yang kita ingin lakukan di seluruh aplikasi.
Maksudnya apa?
Mungkin dengan contoh lebih mudah dimengerti :
http://endy.artivisi.com/downloads/writings/Acegi-Method.pdf

--
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


Re: [JUG-Indonesia] PreparedStatement

2010-03-03 Terurut Topik Ifnu bima
> mw tny nih, gw pny query
>
> update rpt_foss_msisdn_pool_before
> set "+combo1.getSelectedItem().toString()+" = ?,
> "+combo2.getSelectedItem().toString()+" = ?
> where msisdn_no='"+o1+"'
>
> bsa ga ya unt ? yg ke dua ga di eksekusi nmun hny ? pertama yg di eksekusi, 
> tp laen wktu 22ny hrz dieksekusi, ada yg bsa bntu?
>
> tujuanny c spaya gw ga byk nulis query yg sama pd intiny, ada yg bs bantu ?

Hmm, pertama kalau kirim email sebaiknya kata-kata tidak
disingkat-singkat seperti ini, mengetik email kan pake keyboard yang
lebih gampang dibanding tuts HP untuk kirim SMS. jadi tulisanya
dibedakan antara email dan sms. Biar ga susah bacanya.

Jawaban pertanyaanya: tidak bisa. Semua ? (parameter) harus diisi pada
waktu akan mengkeksekusi prepared statement. Pemecahanya ya bikin
query dengan ? pertama dan ? kedua terpisah.

--


http://ifnu.artivisi.com
+62 856 9211 8687
regards


Re: [JUG-Indonesia] Re: Upload file yang cepet Via browser?Applet FTP?

2010-03-03 Terurut Topik Ifnu bima
>> Pake browser plus-nya punya Yahoo! gimana? Tapi selama ini cuma jalan di Win 
>> sama Mac doang (Ada laporan dari temen di sebelah gw. Dia pake Fedora dan 
>> bisa pake browser plus untuk upload di facebook).
>>
>> Saya tau ini pertama kali karena Yahoo! sekarang pake itu. Facebook juga 
>> pake itu.

Setelah baca2 http://www.facebook.com/note.php?note_id=178492968919
ternyata nggak pake Yahoo! browser plus tuh :D

-- 


http://ifnu.artivisi.com
+62 856 9211 8687
regards


Re: [JUG-Indonesia] Keylistener di ZK

2010-03-03 Terurut Topik andy susanto
silakan di lihat di sini

http://www.zkoss.org/smalltalks/keylistener/keylistener.dsp
-- 
Salam,

Andy Susanto,S.Kom
==
CV : http://www.linkedin.com/pub/andy-susanto/7/533/baa


2010/3/3 yan sakhrul 

>
>
>   salam,
>
> saya mau nanya ada yang pernah implement zk ga?
> gimana caranya supaya pada interface memiliki keylistener sehingga saat
> menjalankan aplikasi tanpa menggunakan mouse dan full keyboard.
>
> terima kasih atas pencerahannya...
>
> 
>


Bls: [JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik nono nini

Keren boss penjelasannya..nah semisal annotation


@LogActivity

@CheckUserPrivilege

ini di pindah ke configurasi central gimana?, jadi biar lebih efficient code 
nya..misal klo dalam SPRING di application-context.xml
--- Pada Rab, 3/3/10, Nashroulloh  menulis:

Dari: Nashroulloh 
Judul: [JUG-Indonesia]  Re: Tanya AOP
Kepada: jug-indonesia@yahoogroups.com
Tanggal: Rabu, 3 Maret, 2010, 3:50 PM







 



  



  
  
  Misalkan Anda diminta seorang client membuat aplikasi 

penjualan-pembelian . Kata sang client, ini aplikasi bikinya sederhana 

aja krn yg pake dia sendiri untuk toko yg baru dia rintis.

Dia yg entri data barang, dia yg transaksi, dia yg generate report, dll.

Tak lama, aplikasi pun jadi



... waktu pun berlalu ...



Ternyata toko yg dirintis itu membesar, turut berperan pula aplikasi 

yang Anda buat. Sekarang sang client punya bbrp kasir, punya tukang 

order barang, tukang yang bikin report.

Teringat akan jasa2 Anda (cie..3x) sang client pun menghubungi Anda 

untuk modifikasi aplikasi penuh tanda jasa yg dulu Anda buat.



Beberapa fitur tambahan diantarnya:

- security, tiap2 orang itu login dgn user/pass masing2. Ada beberapa 

fitur aplikasi yg hanya boleh diakses user tertentu

- logging, supaya bisa trace error, audit, dll

- pengaturan transaksi krn adanya banyak kasir.



Sebagai programmer pemalas (ups..), Anda tidak ingin merubah code yg 

dulu dibuat, karena musti merubah dari kode dari ujung ke ujung dan itu 

berarti musti testing ulang semuanya. Sekiranya ini adalah kemalasan yg 

baik (iya kah...)



Bgmn caranya? entah dapat inspirasi dari mana, lagi buka facebook, lg 

nge-tweet, ada istilah AOP yg ternyata cukup menarik untuk memecahkan 

kemalasan Anda.



AOP di guice cukup sederhana, misal sebelumnya kode untuk entri barang 

itu demikian:



protected void doPost(HttpServletR equest req, HttpServletResponse resp)

{

  List errorMessages = new ArrayList ();

  Item item = bind(req, errorMessages) ;

  if (errorMessages. isEmpty() ) {

itemDao.save( item);

  }

}



berikutnya, cukup dengan menambahkan beberapa custom annotation, beres dah:



@LogActivity

@CheckUserPrivilege

protected void doPost(HttpServletR equest req, HttpServletResponse resp)

{

  List errorMessages = new ArrayList ();

  Item item = bind(req, errorMessages) ;

  if (errorMessages. isEmpty() ) {

itemDao.save( item);

  }

}



Tidak satu baris kode pun perlu diubah (dan ditest), namun fitur yg 

diinginkan sudah terpasang.

edit kode dari ujung ke ujung itu kira2 sepadan dengan "ngejembreng" . 

Cross-cutting itu kira2 antar layer (presentation - controller - action 

- service - domain)

Nantinya, dgn AOP, fitur tambahan pada suatu method cukup dihiasi dengan 

anotasi, beres dah.

Unit testing yg sudah ada tdk perlu dimodifikasi, cukup buat yg baru u/ 

cross-cutting fiturnya aja.

Klo mau ngetest integrasi, bisa pake guice-berry.



Jadi, apa itu AOP? In one word: interceptor, itu ajah ...



CMIIW



regards,

Nasrul



-- 

Menikmati Hidup Mempersembahkan yang Terbaik

-Nashroulloh






 





 



  






  Akses email lebih cepat. Yahoo! menyarankan Anda meng-upgrade browser ke 
Internet Explorer 8 baru yang dioptimalkan untuk Yahoo! Dapatkan di sini! 
http://downloads.yahoo.com/id/internetexplorer

Re: [JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik Ifnu bima
Biasanya aplikasi java me sih yg agak khawatir dicrack

On 3/3/10, Yudhi Karunia Surtan  wrote:
> :D yah celah mah ada aja koq, salah satu alesan gw make java karena koding
> gw boleh di liat orang.
> gw pernah liat sendiri orang ngecrack walaupun aplikasinya mo pake encryptor
> apapun juga dia bisa tembusin..
> Jangan lupa java itu high level programming.
> Dia bongkar binarynya lewat assembler terus di bypass password atau serial
> numbernya..
> eh masuk deh.. tanpa tanya-tanya apapun juga bisa make applikasinya.
> :D so buat apa pusing-pusing cari cara biar program ga bisa di crack..
>
>
> Regards,
>
> Yudhi Karunia Surtan
> --
> http://yudhikarunia.wordpress.com
> http://www.google.com/profiles/BrainMaster716.
>
>
> 2010/3/3 Hira Sirojudin 
>
>>
>>
>> Mr. Jugger semua
>>
>> Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan
>> dalam
>> bentuk .jar) kita dari cracking orang2 jaat...
>> kemarin sih dah pernah make obfuscator, jarnya di-sign dan di-verify pake
>> jarsigner,
>> hasilnya tetap bisa crack, walopun agak lama dikit...
>>
>> tolong sarannya ?
>>
>> terimakasih...
>> --
>> Hira Sirojudin
>>
>>
>>
>

-- 
Sent from my mobile device



http://ifnu.artivisi.com
+62 856 9211 8687
regards


[JUG-Indonesia] Poll Hibernate vs Ibatis

2010-03-03 Terurut Topik MbahSapto
Dear Jugers
just poll.. yang pernah gunakan hibernate and ibatis , bisa share plus and 
minus masing2 teknologi..trus misal ada project gedhe pilih gunakan mana?thanks



Re: [JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik Yudhi Karunia Surtan
:D yah celah mah ada aja koq, salah satu alesan gw make java karena koding
gw boleh di liat orang.
gw pernah liat sendiri orang ngecrack walaupun aplikasinya mo pake encryptor
apapun juga dia bisa tembusin..
Jangan lupa java itu high level programming.
Dia bongkar binarynya lewat assembler terus di bypass password atau serial
numbernya..
eh masuk deh.. tanpa tanya-tanya apapun juga bisa make applikasinya.
:D so buat apa pusing-pusing cari cara biar program ga bisa di crack..


Regards,

Yudhi Karunia Surtan
--
http://yudhikarunia.wordpress.com
http://www.google.com/profiles/BrainMaster716.


2010/3/3 Hira Sirojudin 

>
>
> Mr. Jugger semua
>
> Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan dalam
> bentuk .jar) kita dari cracking orang2 jaat...
> kemarin sih dah pernah make obfuscator, jarnya di-sign dan di-verify pake
> jarsigner,
> hasilnya tetap bisa crack, walopun agak lama dikit...
>
> tolong sarannya ?
>
> terimakasih...
> --
> Hira Sirojudin
>
>
>


[JUG-Indonesia] Re: java + sql mencari nama

2010-03-03 Terurut Topik giri_negara
cara mecahnya dan masukin kedalam variabel gmn yach mas ?
saya buat seperti ini :
String vtextfield = request.getParamater("nama");
String token[] = vtextfield.split(" ");
for(int i=0;i<=token.length;i++)
{
   String kesatu = token[1];
   String kedua = token[2];
   System.out.println("kesatu "+kesatu);
   System.out.println("kedua "+kedua );
}

tapi ga bisa muncul ..
maklum masih newbie
mohon bantuannya,

--- In jug-indonesia@yahoogroups.com, "Tjong, Andreas"  
wrote:
>
> Textfield nya kan bisa dipecah per Token. 
> 
> Lalu tiap2 Token nya nanti dimasukkan ke dalam query.
> 
>  
> 
> Jadi kira2 flow nya seperti ini:
> 
> Misalkan TextField nya = "Agus Setiawan"
> 
>  
> 
> Dipecah per Token jadi:
> 
>  
> 
> Token[0] = "Agus"
> 
> Token[1] = "Setiawan"
> 
>  
> 
> Trus di query nya jadi: 
> 
>  
> 
> Bla blab la - WHERE blab la bla Like %agus% AND %setiawan%
> 
>  
> 
> Best Regards,
> 
> Andreas
> 
>  
> 

> 
>




[JUG-Indonesia] OOT: Dibutuhkan Junior Java Programmer

2010-03-03 Terurut Topik Akhmad Daniel Sembiring
Rekans,

Perusahaan saya vitraining.com membutuhkan programmer Java (Junior) dengan
kualifikasi spt dibawah.
JIka ada yang berminat mohon kirim CV ke email saya berikut salary yang
diinginkan.

Terima kasih


REQUIREMENTS

* Minimum 1 year Java development experience
* Knowledge of Object Oriented design and implementation
* Knowledge in server-side Java programming (Servlet, JSP, EJB, JDBC)
* Knowledge in relational database
* Knowledge in standalone Java application programming with
understanding and hands-on in multithreading and socket programming
(advantage)
* Knowledge in application server such as jboss/glassfish/websphere
(advantage)
* Knowledge in open source framework such as: hibernate, jsf and others
(advantage)
* Able to work individually or as a team
* Technology enthusiast and fast learner
* Self-driven and sociable
* Willing to work hard
* Willing to work in Bandung

REPOSIBILITIES

* Programming in an already designed software framework
* Perform through pre-production tests
* Troubleshoot and debug existing applications
* Assist in deployment of production applications
* Assist in testing of production applications


-- 
Daniel

Qualified IT Products, Outsourcing, and Services
 http://www.vitraining.com
Free Tutorial: PHP, Dotnet, Java, Perl, Apache, MySQL
 http://www.dijexi.com
Toserba Online: Linux, E-book, Coffee, Gift, etc
 http://ligarwangi.com


[JUG-Indonesia] [ASK] gimana cara mensecure aplikasi java dari cracking....

2010-03-03 Terurut Topik Hira Sirojudin
Mr. Jugger semua

Ane lagi mumet gimana cara mengamankan aplikasi client java (misalkan dalam
bentuk .jar) kita dari cracking orang2 jaat...
kemarin sih dah pernah make obfuscator, jarnya di-sign dan di-verify pake
jarsigner,
hasilnya tetap bisa crack, walopun agak lama dikit...

tolong sarannya ?

terimakasih...
-- 
Hira Sirojudin


[JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik Nashroulloh
> hmm.. bau-baunya promosi guice nih 

Sekedar upaya menyeimbangkan antara konsep dan praktek.
Berharap ada yg memberi contoh lain.

regards,
Nasrul

-- 
Menikmati Hidup Mempersembahkan yang Terbaik
-Nashroulloh



[JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik Nashroulloh
> hmm.. bau-baunya promosi guice nih 

Sekedar upaya menyeimbangkan antara konsep dan praktek ^_^
Berharap ada yg memberi contoh lain.

regards,
Nasrul

-- 
Menikmati Hidup Mempersembahkan yang Terbaik
-Nashroulloh



Re: [JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik Jecki
hmm.. bau-baunya promosi guice nih :P

sambil menyelam minum bir

2010/3/3 Nashroulloh 
>
> Misalkan Anda diminta seorang client membuat aplikasi
> penjualan-pembelian. Kata sang client, ini aplikasi bikinya sederhana
> aja krn yg pake dia sendiri untuk toko yg baru dia rintis.
> Dia yg entri data barang, dia yg transaksi, dia yg generate report, dll.
> Tak lama, aplikasi pun jadi
>
> ... waktu pun berlalu ...
>
> Ternyata toko yg dirintis itu membesar, turut berperan pula aplikasi
> yang Anda buat. Sekarang sang client punya bbrp kasir, punya tukang
> order barang, tukang yang bikin report.
> Teringat akan jasa2 Anda (cie..3x) sang client pun menghubungi Anda
> untuk modifikasi aplikasi penuh tanda jasa yg dulu Anda buat.
>
> Beberapa fitur tambahan diantarnya:
> - security, tiap2 orang itu login dgn user/pass masing2. Ada beberapa
> fitur aplikasi yg hanya boleh diakses user tertentu
> - logging, supaya bisa trace error, audit, dll
> - pengaturan transaksi krn adanya banyak kasir.
>
> Sebagai programmer pemalas (ups..), Anda tidak ingin merubah code yg
> dulu dibuat, karena musti merubah dari kode dari ujung ke ujung dan itu
> berarti musti testing ulang semuanya. Sekiranya ini adalah kemalasan yg
> baik (iya kah...)
>
> Bgmn caranya? entah dapat inspirasi dari mana, lagi buka facebook, lg
> nge-tweet, ada istilah AOP yg ternyata cukup menarik untuk memecahkan
> kemalasan Anda.
>
> AOP di guice cukup sederhana, misal sebelumnya kode untuk entri barang
> itu demikian:
>
> protected void doPost(HttpServletRequest req, HttpServletResponse resp)
> {
> List errorMessages = new ArrayList();
> Item item = bind(req, errorMessages);
> if (errorMessages.isEmpty()) {
> itemDao.save(item);
> }
> }
>
> berikutnya, cukup dengan menambahkan beberapa custom annotation, beres dah:
>
> @LogActivity
> @CheckUserPrivilege
> protected void doPost(HttpServletRequest req, HttpServletResponse resp)
> {
> List errorMessages = new ArrayList();
> Item item = bind(req, errorMessages);
> if (errorMessages.isEmpty()) {
> itemDao.save(item);
> }
> }
>
> Tidak satu baris kode pun perlu diubah (dan ditest), namun fitur yg
> diinginkan sudah terpasang.
> edit kode dari ujung ke ujung itu kira2 sepadan dengan "ngejembreng".
> Cross-cutting itu kira2 antar layer (presentation - controller - action
> - service - domain)
> Nantinya, dgn AOP, fitur tambahan pada suatu method cukup dihiasi dengan
> anotasi, beres dah.
> Unit testing yg sudah ada tdk perlu dimodifikasi, cukup buat yg baru u/
> cross-cutting fiturnya aja.
> Klo mau ngetest integrasi, bisa pake guice-berry.
>
> Jadi, apa itu AOP? In one word: interceptor, itu ajah ...
>
> CMIIW
>
> regards,
> Nasrul
>
> --
> Menikmati Hidup Mempersembahkan yang Terbaik
> -Nashroulloh
>


[JUG-Indonesia] Re: Tanya AOP

2010-03-03 Terurut Topik Nashroulloh
Misalkan Anda diminta seorang client membuat aplikasi 
penjualan-pembelian. Kata sang client, ini aplikasi bikinya sederhana 
aja krn yg pake dia sendiri untuk toko yg baru dia rintis.
Dia yg entri data barang, dia yg transaksi, dia yg generate report, dll.
Tak lama, aplikasi pun jadi

... waktu pun berlalu ...

Ternyata toko yg dirintis itu membesar, turut berperan pula aplikasi 
yang Anda buat. Sekarang sang client punya bbrp kasir, punya tukang 
order barang, tukang yang bikin report.
Teringat akan jasa2 Anda (cie..3x) sang client pun menghubungi Anda 
untuk modifikasi aplikasi penuh tanda jasa yg dulu Anda buat.

Beberapa fitur tambahan diantarnya:
- security, tiap2 orang itu login dgn user/pass masing2. Ada beberapa 
fitur aplikasi yg hanya boleh diakses user tertentu
- logging, supaya bisa trace error, audit, dll
- pengaturan transaksi krn adanya banyak kasir.

Sebagai programmer pemalas (ups..), Anda tidak ingin merubah code yg 
dulu dibuat, karena musti merubah dari kode dari ujung ke ujung dan itu 
berarti musti testing ulang semuanya. Sekiranya ini adalah kemalasan yg 
baik (iya kah...)

Bgmn caranya? entah dapat inspirasi dari mana, lagi buka facebook, lg 
nge-tweet, ada istilah AOP yg ternyata cukup menarik untuk memecahkan 
kemalasan Anda.

AOP di guice cukup sederhana, misal sebelumnya kode untuk entri barang 
itu demikian:

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
{
  List errorMessages = new ArrayList();
  Item item = bind(req, errorMessages);
  if (errorMessages.isEmpty()) {
itemDao.save(item);
  }
}

berikutnya, cukup dengan menambahkan beberapa custom annotation, beres dah:

@LogActivity
@CheckUserPrivilege
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
{
  List errorMessages = new ArrayList();
  Item item = bind(req, errorMessages);
  if (errorMessages.isEmpty()) {
itemDao.save(item);
  }
}

Tidak satu baris kode pun perlu diubah (dan ditest), namun fitur yg 
diinginkan sudah terpasang.
edit kode dari ujung ke ujung itu kira2 sepadan dengan "ngejembreng". 
Cross-cutting itu kira2 antar layer (presentation - controller - action 
- service - domain)
Nantinya, dgn AOP, fitur tambahan pada suatu method cukup dihiasi dengan 
anotasi, beres dah.
Unit testing yg sudah ada tdk perlu dimodifikasi, cukup buat yg baru u/ 
cross-cutting fiturnya aja.
Klo mau ngetest integrasi, bisa pake guice-berry.

Jadi, apa itu AOP? In one word: interceptor, itu ajah ...

CMIIW

regards,
Nasrul

-- 
Menikmati Hidup Mempersembahkan yang Terbaik
-Nashroulloh



[JUG-Indonesia] Re: Yuk Diskusi Tentang Design Pattern

2010-03-03 Terurut Topik Nashroulloh
>
> mumpung yang ditanya belum jawab

Fyi, sudah dijawab sebelum ditanya, oya .. ? coba cek posting yg 
sebelumnya ^_^
> bukunya berbayar yah ... ada free ebooknya gak ??
>   

silakan donlot gratis u/ bab 3
http://www.oreilly.com/catalog/hfdesignpat/chapter/ch03.pdf

-- 
Menikmati Hidup Mempersembahkan yang Terbaik
-Nashroulloh