
Back-of-the-Envelope Capacity Estimation: QPS ke Server
Dari daily active users ke QPS, storage, bandwidth, ukuran cache dan jumlah server, lengkap dengan contoh photo-sharing dan estimator TypeScript.
Baca SelengkapnyaBlog
Artikel tentang praktik rekayasa perangkat lunak — pola arsitektur, testing, clean code, dan seni membangun sistem yang mudah dipelihara.
58 artikel

Dari daily active users ke QPS, storage, bandwidth, ukuran cache dan jumlah server, lengkap dengan contoh photo-sharing dan estimator TypeScript.
Baca Selengkapnya
Apa itu hexagonal architecture, bagaimana ports dan adapters menjaga business logic bebas dari framework dan database, plus contoh NestJS dan Postgres.
Baca Selengkapnya
Apa itu bounded context, mengapa Item punya tiga makna di sales, inventory dan accounting ERP, serta cara menemukan batasnya dan menyambungkannya lewat context map.
Baca Selengkapnya
Apa itu modular monolith dan kapan lebih baik dari microservices: satu deployable, public API per module, schema Postgres per module, dan boundary yang dijaga lint.
Baca Selengkapnya
Cara migrasi monolith ke microservices dengan strangler fig pattern: facade routing, satu slice per langkah, kepemilikan data, rollback, dan kapan berhenti.
Baca Selengkapnya
System design adalah keputusan tentang bagaimana komponen, data, dan kegagalan saling terhubung. Panduan dengan contoh sizing dan jalur belajar.
Baca Selengkapnya
Prosedur kerja untuk merawat sebuah npm package dari UTC+7 sambil punya day job: triage yang dibatch, issue forms yang menahan laporan tak bisa ditindak, response window yang diumumkan, dan scope yang cukup kecil untuk dipertahankan.
Baca Selengkapnya
Commit message yang dibuat dari diff hanya merangkum apa yang sudah dibuktikan git show. Di mana alasannya tersimpan, apa yang bisa diverifikasi hook, dan satu bug shell.
Baca Selengkapnya
Agent yang diminta menulis test akan membaca implementasinya lalu meng-assert apa yang saat ini dilakukan kode itu, dan itulah sebabnya suite-nya sudah hijau sebelum Anda membaca satu barisnya. Ini empat bentuk test seperti itu, mutation testing yang membongkarnya, biaya jujur dari run tersebut, dan perubahan prompt yang menghentikannya.
Baca Selengkapnya
Sebuah plugin bisa mendeklarasikan language server, dan itu mengubah apa yang agent tahu soal kode Anda: ia bisa menanyakan definisi, bukan menebak dari hasil grep. Ini bentuk deklarasinya, server mana yang layak dibundel, dan berapa biaya empat server sekaligus.
Baca Selengkapnya
Sebuah hook PostToolUse di repository ini mulai me-review setiap edit dua kali, dan penyebabnya bukan script itu — saya menyalinnya ke dalam plugin dan meninggalkan versi aslinya di settings.json. Berikut peta file per file keluar dari direktori dotfiles, plus aturan precedence yang menentukan salinan mana yang benar-benar jalan.
Baca Selengkapnya
Setiap entry di marketplace internal Claude Code adalah instruksi permanen yang berjalan di mesin orang lain. Ini kebijakan editorial yang saya pakai: apa yang layak masuk, siapa pemiliknya, dan bagaimana ia dipensiunkan.
Baca Selengkapnya
Skill itu dokumen, plugin itu dependency. Kapan satu file SKILL.md sudah cukup, kapan drift antar copy menandakan waktunya membundel, dan apa biayanya.
Baca Selengkapnya
Plugin adalah dependency yang dipasang orang lain, jadi yang dibutuhkan bukan demo tapi test suite. Bentuk sebuah eval case, kenapa ablation arm tanpa plugin adalah bagian yang benar-benar menguji activation, dan cacat yang lolos kalau langkah ini dilewati.
Baca Selengkapnya
Kotak prompt-nya lebih dari sekadar pengirim teks. Ini sigil-nya, antreannya, pertanyaan sampingan, dan pintasan yang layak dipelajari lebih dulu.
Baca Selengkapnya
Plugin LSP memberi Claude error tipe setelah tiap suntingan dan navigasi sungguhan, bukan grep. Ini bahasanya, biayanya, dan server kustomnya.
Baca Selengkapnya
Kebanyakan error Claude Code adalah konfigurasi, bukan bug. Ini kelompok-kelompoknya, dua perintah yang dijalankan lebih dulu, dan perbaikannya.
Baca Selengkapnya
CLI-nya punya puluhan flag dan dua lusin subcommand. Ini yang benar-benar mengubah hasil, dikelompokkan per pekerjaan masing-masing.
Baca Selengkapnya
Sesi adalah percakapan tersimpan di disk. Ini yang dipulihkan saat melanjutkan, yang diam-diam hilang, dan beda branch dengan fork.
Baca Selengkapnya
Tugas Desktop berjalan di mesin Anda dengan file Anda, dan menyusul ketika mesinnya bangun. Tulis prompt-nya untuk waktu ia mungkin benar-benar berjalan.
Baca Selengkapnya
Plugin ini menjalankan MCP server lokal, membagikan seleksi editor Anda pada tiap prompt, dan membawa satu catatan keamanan yang khas berjalan di dalam IDE.
Baca Selengkapnya
Ekstensinya membundel salinan CLI-nya sendiri dan tetap tidak menaruh claude di PATH Anda. Ini yang dikerjakannya lebih baik daripada terminal, dan yang tidak bisa.
Baca Selengkapnya
Screen reader mode mengganti kotak dan penggambaran ulang dengan teks linear berlabel yang bisa diikuti pembaca layar secara berurutan. Ini yang diubahnya.
Baca Selengkapnya
Fullscreen rendering menghapus kedipan dan meratakan memori dengan menggambar di alternate screen. Ongkosnya scrollback dan seleksi mouse asli, dan keduanya bisa ditebus.
Baca Selengkapnya