author-pic

Ferry S

An ISTJ, Type 5, Engineer, Gamer, and Thriller-Movies-Lover
All posts related to Programming Principle
December 24th, 20233 mins read
Programming Principle
Bing Image Creator - software logo with version

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…

December 23rd, 20233 mins read
Database, My Views, Tips & Tutorial, Programming Principle
Bing Image Creator - Hard Delete and Soft Delete

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…

Flickr by David Bernard - Skew

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…

July 2nd, 20237 mins read
Tips & Tutorial, Java, Spring, Programming Principle
Bing Image Creator - Aspect Programming Languages

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…

Pexels @Crippler - Key in Wired Vase

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…

March 11th, 20234 mins read
My Views, Programming Principle, Java, Tips & Tutorial
Bing Image Creator - enums

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…

February 10th, 20236 mins read
My Views, Tips & Tutorial, Java, Programming Principle
Vecteezy - A Mouse Caught In A Mouse Trap

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…

January 31st, 20238 mins read
My Views, Database, Programming Principle, Tips & Tutorial
Freepik - Locking up or unlocking door with key in hand

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…

January 24th, 20238 mins read
Tips & Tutorial, Programming Principle, Database
Freepik - Stay home, quarantine or self isolation

Isolation adalah kemampuan database untuk menghandle transaksi yang dilakukan lebih dari satu sesi secara bersamaan. Isolation adalah bahasan paling kompleks dibanding keyword ACID lainnya. Pada beberapa bahasa pemrograman atau framework by default Isolationnya mengikuti default Isolation dari database, tapi kita juga bisa mengganti Isolationnya pada masing…

January 24th, 20233 mins read
Programming Principle, Tips & Tutorial, Database
123 RF - Consistency Is Key

ACID adalah standar operasional transaksi pada database untuk menjamin validitas data meskipun terjadi crash atau error pada system. ACID merupakan aspek yang sangat penting pada transaksi di database untuk memastikan data yang disimpan benar, terpercaya, tanpa anomaly meskipun digunakan secara serentak atau mengalami gangguan pada system. ACID berasal dari…