All posts related to Java
June 29th, 20266 mins read
Programming Principle, Tips & Tutorial, Java, My Views
Gemini Nano Banana Pro - server communication

Ketika membangun aplikasi yang terintegrasi dengan server lain kita perlu memilih strategi yang dilakukan untuk berkomunikasi atau bertukar pesan antar service. Biasanya pada microservices pendekatan yang paling umum dilakukan adalah dengan menggunakan direct call menggunakan HTTP. Namun, pendekatan ini belum tentu cocok untuk semua kasus. Ada beberapa pilihan…

June 24th, 20269 mins read
Tips & Tutorial, Java
Gemini Nano Banana Pro - jwt

JWT (JSON Web Token) adalah standar yang digunakan untuk komunikasi antara client & server pada proses Authentication & Authorization. JWT punya 2 pilihan token. Pertama JWS (JSON Web Signature), yaitu informasi yang ada di token di-encode menggunakan Base64. Kedua JWE (JSON Web Encryption), yaitu informasi yang ada di token di-encrypt dengan algoritma tertentu…

June 23rd, 20266 mins read
Java, My Views, Tips & Tutorial
Gemini Nano Banana Pro - validation

Jika biasanya validasi input dilakukan menggunakan beberapa boilerplate if, maka di Java ada opsi agar validasi input dilakukan lewat deklarasi anotasi saja. Kita bisa menggunakan Jakarta Validation API. Ini memudahkan development karena cukup dengan anotasi doang semuanya bisa teratasi tanpa perlu repot-repot bikin logic validasi. Dengan anotasi jadi lebih…

June 22nd, 20268 mins read
Java, Database, Tips & Tutorial
Gemini Nano Banana Pro - jooq

4 tahun lalu gw bikin dua tulisan tentang cara bikin query dinamis di Java. Pertama menggunakan Spring Data JPA, kemudian menggunakan menggunakan QueryDSL. Hari ini gw bakal lanjutin tentang cara bikin query dinamis menggunakan jOOQ. Untuk Spring Data JPA dan QueryDSL gw memang pernah menggunakannya di production. Tapi untuk jOOQ ini gw cuma sebatas research aja…

June 20th, 20266 mins read
Programming Principle, Java, Tips & Tutorial
Ideogram - Domain Driven Development

Domain Driven Development (DDD) adalah sebuah filosofi pengembangan aplikasi yang berpusat pada logic bisnis yang disebut sebagai “Domain”. Filosofi ini diperkenalkan oleh Eric Evans di tahun 2003. Walaupun udah lebih dari 20 tahun yang lalu tapi filosofi ini masih tetap relevan di jaman sekarang. DDD menyelaraskan antara code dengan realita bisnis, bukan…

June 20th, 20262 mins read
Java, Tips & Tutorial, Programming Principle
Ideogram - tell dont ask

Prinsip ini diperkenalkan oleh sesepuh OOP Martin Fowler. “Tell, Don't Ask” (TDA) artinya adalah kita tidak meminta data dari objek lalu kita memutuskan apa yang harus dilakukan, melainkan kita memerintah objek untuk melakukan apa yang kita inginkan. Jadi, di sini objek yang bekerja untuk kita. Prinsip ini mencegah micromanage di luar objek agar eksekusi yang…

June 18th, 202620 mins read
Tips & Tutorial, Programming Principle, Java, Spring
Gemini Nano Banana Pro - clean architecture

Clean Architecture adalah evolusi dari Onion Architecture, Hexagonal Architecture, dan Screaming Architecture. Ide ini diperkenalkan oleh Uncle Bob. Di sini modul dibagi jadi beberapa layer. Setidaknya ada 4 layer: Entities, Use Case, Interface Adapters, dan Frameworks & Drivers. Dependensi antar layer selalu mengarah ke dalam. Layer-layer tersebut tidak…

October 1st, 20259 mins read
My Views, Java, Tips & Tutorial, Programming Principle
Ideogram - user enumeration attacks

User Enumeration Attacks adalah teknik hacking dengan cara memilah akun mana yang benar-benar terdaftar dan mana yang tidak terdaftar. Dengan ditemukannya akun-akun yang terdaftar, maka akan memberikan kemudahan pada hacker untuk melakukan serangan lanjutan👨‍💻. Dia bisa dengan secara spesifik menentukan akun mana yang perlu dibobol lebih jauh. Misalnya akun…

September 30th, 20259 mins read
My Views, Java, Tips & Tutorial
Ideogram - logging file

Di Java terdapat beberapa Logging Framework untuk mencetak log ke dalam file atau console. Beberapa framework yang gw pernah coba adalah Slf4j, Log4j2, dan Logback. Selain itu juga ada JBoss Logging, Log4j, JUL, tinylog, dan lainnya. Dari review yang pernah gw baca, secara performa Log4j2 yang paling cepat. Log4j2 bisa dikonfigurasi untuk berjalan secara…

July 31st, 202515 mins read
Java, Tips & Tutorial, Programming Principle
Ideogram - Unit Test BDD

Walaupun testing ini adalah tugas utamanya Tester atau QA, tapi dari sisi Developer juga perlu melakukan testing sebelum dites oleh Tester agar bugs bisa diketahui lebih awal dan dijalankan secara otomatis. Testing memastikan proses aplikasi yang kita kembangkan berjalan sesuai requirement. Testing juga membantu kita untuk mengetahui efek dari perubahan yang kita…

© 2026 · Ferry Suhandri