Awalnya gw ga tertarik bahas ini karena kayaknya ini topiknya udah terlalu mainstream deh😅. Secara penggunaan pun udah sering juga gw post, terutama pada seri design pattern. Tapi ternyata di luar sana masih banyak orang yang belum teryakinkan dengan manfaat interface dalam bahasa pemrograman. Bahkan ada juga diantaranya yang udah experienced sekian tahun tapi…
Ini juga merupakan salah satu judul yang paling lama berada di daftar antrian tulisan gw karena selalu ketendang tiap mau nulis😅. Law of Demeter juga disebut dengan Principle of Least Knowledge, yaitu sebuah prinsip pada OOP yang meminimalkan akses terhadap dependensi suatu unit dengan internal unit lain. Sebuah unit hanya boleh berinteraksi dengan unit…
Semantic Versioning (SemVer) adalah prinsip penulisan versi pada software yang bertujuan untuk menjelaskan dasar perubahan secara garis besar pada produk yang diadopsi sebagai best practice perilisan software di masa sekarang. Terutama di open source, ini udah jadi standar wajib di template perilisan library. Versi pada software dipisah menjadi pola tiga bagian…
Ketika memaintain data pada database, operasi Create, Read, Update, dan Delete (CRUD) adalah operasi yang paling sering digunakan. Yang akan dibahas kali ini adalah bagian Delete atau menghapus data. Terdapat dua pendekatan untuk menghapus data pada database, yaitu Hard Delete dan Soft Delete. Masing-masing pendekatan memiliki kelemahan dan keunggulan tersendiri…
Pada Update Anomaly, selain Lost Updates (Single Anti-Dependency Cycle) juga ada Write Skew. Write Skew adalah anomaly yang terjadi ketika keputusan untuk mengubah data diambil dari pembacaan dan perubahan sebelumnya yang dilakukan secara serentak oleh lebih dari satu sesi sehingga antar sesi tidak mengetahuinya dan terjadi hal yang tidak diinginkan pada data…
Aspect Oriented Programming (AOP) merupakan paradigma pemrograman dimana kita bisa memisahkan logic tertentu secara terpusat dan menyisipkannya ke dalam objek tanpa harus mengubah objek tersebut secara langsung. Misalnya pada sebuah method yang melakukan sebuah action, kita ingin menyisipkan behavior tambahan pada method tersebut tanpa harus menulisnya pada…
Pada tulisan tentang Normalisasi Database, gw ada sedikit membahas tentang Primary Key. Nah, di sini gw akan membahas lebih dalam lagi macam-macam pendekatan untuk menentukan Primary Key. Secara umum pendekatan yang digunakan untuk menentukan Primary Key yaitu menggunakan Candidate Key, Auto-Increment Key, UUID Key, dan ULID Key. Masing-masing pendekatan tentu…
Enum atau Enumeration adalah object khusus pada pemrograman yang berisi value constant yang bisa di-reuse di berbagai tempat. Enum atau Constant dapat membuat code jadi lebih mudah dibaca dan dimaintain. Penulisan Enum value menurut convention biasanya ditulis menggunakan format “SNAKE_UPPERCASE”. Kali ini gw akan bahas tentang apa aja manfaat menggunakan Enum…
Sebelumnya gw pernah post tentang Jebakan Boolean, kali ini yang dibahas adalah Jebakan Optional pada Java beserta tips solusi penggunaan Optional yang tepat. Ini juga pernah gw mention pada post The Verbosity. Sekarang Optional sudah menjadi standar best practice ketika melakukan return object pada public method di Java. Optional awalnya fitur yang dipopulerkan…
Di tulisan Isolation pada ACID kita membahas tentang Read Phenomena, kali ini pembahasannya tentang Update Anomaly. Read Phenomena adalah fenomena selisih pembacaan data pada suatu sesi karena ada perubahan oleh sesi lain secara bersamaan. Sedangkan Update Anomaly adalah anomaly hasil perubahan data yang dilakukan pada suatu sesi karena sesi lain juga melakukan…