Pada OOP, kita menyimpan Data Store melalui sebuah class khusus untuk menyimpan sekelompok data. Mungkin masih banyak yang bingung tentang membedakan definisi-definisi data store pada OOP. Bahkan ga jarang sering kebolak-balik menggunakan terminologinya. Biar ga bingung, gw akan bahas tentang berbagai macam data store pada OOP. Seperti biasa, gw akan…
PDF adalah format file yang umum digunakan untuk berbagai keperluan. Salah satunya untuk kebutuhan membuat invoice, laporan perusahaan, slip gaji, dll. Buat yang sering transaksi belanja seperti di mall atau resto tentu sudah ga asing lagi dengan invoice sebagai tanda bukti transaksi. Untuk transaksi online, biasanya invoice tersebut dalam bentuk digital, yaitu…
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 memakai design pattern ini di dunia nyata, hanya tau teorinya saja. Gw baru menemukan kasus yang cocok menggunakan design pattern ini kurang lebih beberapa bulan yang lalu. 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. 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 lainnya, jadi…
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 atau Byte Buddy untuk membuat proxy. Tapi dalam…
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…