Lanjutan seri tentang Dynamic Query kali ini gw menggunakan library pihak ketiga. Seperti yang sudah dibahas sebelumnya, kita bisa menggunakan library pihak ketiga untuk melakukan dynamic query. Salah satu yang cukup populer adalah QueryDSL. Ini sebenarnya add-ons saja. Dia bisa men-generate query menggunakan native query, JPQL, atau specific bahasa tertentu…
Java Persistence Query Language (JPQL) adalah bahasa untuk men-generalisasi SQL pada Java yang terdapat pada JPA (Jakarta Persistence API). JPQL jadi standard tersendiri pada environment Java, karena apapun Database SQL yang kita gunakan, kita bisa menggunakan JPQL sebagai pengganti native SQL yang beragam pada tiap-tiap database. Jadi misalkan kita gonta-ganti…
Tadinya gw ga kepikiran buat bikin design pattern ini karena dulunya saat pertama kali bikin seri tentang design pattern, gw jarang banget memakai design pattern ini di dunia nyata, hanya tau teorinya saja. Gw baru menemukan kasus yang cocok menggunakan design pattern ini kurang lebih setahun terakhir. Tapi minggu lalu gw liat analytics pencarian blog gw, ada…
Selain Immutable, Pure Function adalah salah satu principle dari Functional Programming yang juga bermanfaat dan bisa diimplementasikan pada Object Oriented Programming (OOP). Pure Function artinya function atau method tersebut isinya murni logika saja tanpa efek samping terhadap objek atau value lainnya di luar function tersebut dan output value-nya selalu sama…
Sebenarnya ini adalah tulisan yang udah lama ingin gw bagikan, tapi gw mager banget😅. Ini adalah lanjutan dari tulisan sebelumnya tentang Vault. Tapi kan sebelumnya hanya perkenalan aja menggunakan command line. Kali ini lebih ke praktek mengintegrasikannya dengan aplikasi. Berhubung gw sehari-hari lebih sering ngoding pakai Spring dan Java daripada bahasa…
Sebelum ada Maven, biasanya ketika ada dependency tambahan, kita akan menambahkan Jar file dari dependency tersebut secara manual ke dalam project kita. Bayangkan, jika dependency tersebut digunakan di banyak module lainnya, berarti kita harus copy manual satu-persatu dong. Belum lagi saat ada perubahan Jar, berarti kita harus manual copy satu-persatu. Maven…
Design pattern ini seringnya digunakan ketika membuat framework. Beberapa framewrok menggunakan Proxy behind the scene untuk memanipulasi behavior objek. Seperti saat melakukan Autowired pada Spring atau Mock pada Mockito. Framework biasanya menggunakan library dari JDK atau library pihak ketiga seperti CGLIB untuk membuat proxy. Tapi dalam tulisan kali ini gw…
Dalam pemrograman seringkali kita temui terminologi "Factory" dalam aktivitas perkodingan. Ga sedikit juga yang merasa ambigu, factory yang dimaksud yang kayak gimana sih? Biar ga bingung, gw mencoba menjelaskan beberapa istilah factory yang sering digunakan di dalam pemrograman. Secara umum "Factory" di sini maksudnya adalah action untuk menciptakan objek…
Sebelumnya kita udah membahas Factory Method Design Pattern. Sekarang kita bahas versi upgrade-nya, yaitu Abstract Factory Design Pattern. Keduanya memang mirip, yaitu memberikan user kebebasan memilih implementasi objek apa yang dipakai secara runtime lewat input. Bedanya Abstract Factory Design Pattern ga hanya memberikan implementasi objeknya saja, tapi juga…
Ini merupakan design pattern yang sangat populer digunakan. Software engineer yang menggunakan OOP harusnya pernah menggunakan atau setidaknya tahu tentang design pattern ini. Factory Method Design Pattern digunakan ketika ingin menggunakan implementasi objek tertentu tanpa harus tahu class-nya apa. Biasanya dengan cara tipe objek ditentukan berdasarkan input…