All posts related to Programming Principle
Gemini Nano Banana Pro - cache stampede

Mendapatkan data yang butuh komputasi yang berat atau melibatkan query yang kompleks dapat membuat system jadi lambat. Permasalahan itu bisa diatasi dengan cache agar data yang pernah didapat disimpan di memori dalam jangka waktu tertentu. Namun, saat cache expired semua request yang masuk harus melakukan komputasi lagi berbarengan sehingga bisa membuat server…

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

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

June 20th, 20262 mins read
Programming Principle, Tips & Tutorial
Gemini Nano Banana Pro - screaming architecture

Screaming Architecture adalah sebuah arsitektur di mana struktur folder dan struktur aplikasi “mengaumkan” domain beserta fitur utama bisnis tersebut🦁, bukan tentang teknologi yang dipakai. Konsepnya sederhana tapi argumennya cukup kuat. Misalkan kita membuka struktur folder aplikasi e-commerce, yang harusnya kita lihat bukanlah folder terkait teknologi yang…

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…

June 17th, 20264 mins read
Programming Principle
Gemini Nano Banana Pro - http request methods

HTTP Method adalah kumpulan request method untuk menjelaskan tujuan dari pengiriman request dan apa yang diharapkan setelah request berhasil. Yang paling umum biasanya GET & POST. Padahal selain itu ada beberapa method lainnya yang mungkin masih jarang terdengar. HTTP Method memiliki karakteristiknya masing-masing yang digunakan untuk berbagai kasus tertentu…

December 25th, 20257 mins read
My Views, Programming Principle, Database
Gemini Nano Banana Pro - CAP Theorem

Sebelumnya gw pernah bahas ACID pada database. Kali ini bahasannya tentang teori CAP pada database yang dipopulerkan oleh Eric Brewer di akhir 90an dan masih relevan hingga sekarang. CAP Theorem adalah teori yang menjelaskan bahwa pada sistem database maksimal hanya bisa memiliki 2 kombinasi dari 3 elemen CAP. Ketiga elemen itu adalah Consistency, Availability…

December 22nd, 202510 mins read
Tips & Tutorial, Programming Principle, JavaScript, My Views
Ideogram - authorization

Authentication adalah proses verifikasi untuk memastikan bahwa orang yang menggunakan aplikasi adalah pemilik akun yang sah. Biasanya ini dengan cara verifikasi username & password, sidik jari, Single Sign-On, atau metode lainnya. Authorization adalah proses validasi untuk memeriksa perizinan user tiap mengakses aplikasi. Ada beberapa cara untuk melakukan…

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…

© 2026 · Ferry Suhandri