Ketika mengembangkan aplikasi, melakukan kalkulasi bilangan desimal terkadang cukup tricky. Apalagi kalau berhubungan dengan duit, seperti pada aplikasi perbankan, e-commerce, dan sejenisnya. Perhitungannya tentu harus akurat sesuai aturan yang diberlakukan oleh perusahaan. Kalau tidak teliti saat develop bisa salah perhitungannya. Salah satu hal yang…
Ketika kita mengembangkan aplikasi microservice, biasanya kita akan memecah module tersebut menjadi beberapa submodule. Terkadang kita agak kesulitan memaintain dependency dari masing-masing module. Salah satunya ketika melakukan sentralisasi dependency yang digunakan agar seragam. Misalkan kita ingin menambahkan dependency Jackson-Databind. Kita ingin semua…
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 tentu sudah ga asing lagi dengan invoice sebagai tanda bukti transaksi. Untuk transaksi online, biasanya invoice tersebut dalam bentuk digital, yaitu menggunakan…
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…