Membangun Rule Engine yang Dapat Diaudit dengan Python
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun database key-value terdistribusi dengan Go, Raft consensus, WAL, replication, recovery, dan snapshot yang tahan restart.
Skill yang dibangun
Merancang dan mengimplementasikan database key-value dengan operasi GET, SET, dan DELETE menggunakan Go.
Memahami state machine replication, role leader-follower, leader election, term, log index, dan commit index pada Raft consensus.
Membangun komunikasi antar-node melalui jaringan serta menangani timeout, retry, perubahan role, dan kondisi node yang gagal.
Mengimplementasikan Write-Ahead Log (WAL) untuk durability, recovery setelah restart, validasi log, dan pemulihan state secara aman.
Membuat snapshot untuk memangkas ukuran log, mempercepat recovery, serta memahami trade-off antara performa, konsistensi, dan durability.
Menulis kode Go yang aman terhadap concurrency menggunakan goroutine, channel, mutex, dan pengaturan akses state bersama.
Menguji cluster dengan guided practice dan independent practice, termasuk simulasi node mati, network delay, restart, serta data yang tidak konsisten.
Menganalisis bug distributed system dengan membaca log, memeriksa state transition, dan membedakan masalah aplikasi, storage, jaringan, serta consensus.
Software engineer, backend engineer, system engineer, dan mahasiswa tingkat lanjut yang sudah menguasai Go, concurrency, jaringan dasar, struktur data, serta konsep database dan ingin memahami cara kerja sistem terdistribusi melalui implementasi nyata.
Project outcomes
Kamu akan membangun satu cluster database key-value terdistribusi berbasis Go dengan beberapa node. Client mengirim request ke leader, lalu leader mereplikasi command ke follower melalui Raft sebelum data dianggap committed. Database ini dilengkapi WAL agar data bisa dipulihkan setelah proses mati, snapshot untuk mengurangi ukuran log, serta mekanisme recovery saat node kembali bergabung ke cluster. Setiap bagian dibangun bertahap dengan contoh kode runnable, code breakdown, guided practice, dan tantangan mandiri supaya kamu benar-benar ngerti alur eksekusinya, bukan sekadar copy-paste.
Kamu akan membangun database key-value terdistribusi dari nol menggunakan Go. Bukan cuma memanggil library lalu selesai, tapi memahami alur request, replication antar-node, leader election, log replication, dan cara cluster menjaga konsistensi data. Kita mulai dari fondasi yang cukup supaya konsep Raft tidak terasa seperti hafalan.
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun aplikasi flashcard berbasis Python dengan penyimpanan data dan algoritma pengulangan berjarak untuk belajar lebih teratur.
Bangun pipeline yang menandatangani, menghasilkan, dan memverifikasi provenance artefak dengan Sigstore dan in-toto.
Bangun simulator CPU dengan Python untuk membandingkan FCFS, SJF, dan Round Robin melalui data, perhitungan, dan validasi hasil.