Skip to main content

Blog

Pengembangan Perangkat Lunak

Artikel tentang praktik rekayasa perangkat lunak — pola arsitektur, testing, clean code, dan seni membangun sistem yang mudah dipelihara.

58 artikel

Back-of-the-Envelope Capacity Estimation: QPS ke Server
Software DevelopmentOktober 202612 menit baca

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 Selengkapnya
Hexagonal Architecture (Ports and Adapters) di TypeScript
Software DevelopmentOktober 202611 menit baca

Hexagonal Architecture (Ports and Adapters) di TypeScript

Apa itu hexagonal architecture, bagaimana ports dan adapters menjaga business logic bebas dari framework dan database, plus contoh NestJS dan Postgres.

Baca Selengkapnya
Bounded Context di Domain-Driven Design dan Cara Menemukannya
Software DevelopmentOktober 202611 menit baca

Bounded Context di Domain-Driven Design dan Cara Menemukannya

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
Arsitektur Modular Monolith: Kapan Mengalahkan Microservices
Software DevelopmentOktober 202611 menit baca

Arsitektur Modular Monolith: Kapan Mengalahkan Microservices

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
Strangler Fig Pattern: Migrasi Monolith ke Microservices
Software DevelopmentOktober 202611 menit baca

Strangler Fig Pattern: Migrasi Monolith ke Microservices

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 untuk Developer: Pengertian dan Cara Belajarnya
Software DevelopmentOktober 20269 menit baca

System Design untuk Developer: Pengertian dan Cara Belajarnya

System design adalah keputusan tentang bagaimana komponen, data, dan kegagalan saling terhubung. Panduan dengan contoh sizing dan jalur belajar.

Baca Selengkapnya
Merawat Open Source dari Indonesia: Pajak Zona Waktu UTC+7
Software DevelopmentSeptember 202610 menit baca

Merawat Open Source dari Indonesia: Pajak Zona Waktu UTC+7

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 AI dan Otomatisasi Changelog: Why di Atas What
Software DevelopmentSeptember 202610 menit baca

Commit Message AI dan Otomatisasi Changelog: Why di Atas What

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
Test Buatan AI: Coverage Naik, Mutation Score Tidak
Software DevelopmentSeptember 202612 menit baca

Test Buatan AI: Coverage Naik, Mutation Score Tidak

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
Bundling LSP Server di Plugin Claude Code dan Biayanya
Software DevelopmentSeptember 202612 menit baca

Bundling LSP Server di Plugin Claude Code dan Biayanya

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
Migrasi Dotfiles Claude Code ke Plugin yang Ter-version
Software DevelopmentSeptember 202611 menit baca

Migrasi Dotfiles Claude Code ke Plugin yang Ter-version

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
Kurasi Marketplace Plugin Claude Code: Apa yang Layak Masuk
Software DevelopmentSeptember 202611 menit baca

Kurasi Marketplace Plugin Claude Code: Apa yang Layak Masuk

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
Claude Code Plugin vs Skill: Kapan Perlu Dibundel
Software DevelopmentSeptember 202611 menit baca

Claude Code Plugin vs Skill: Kapan Perlu Dibundel

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
Claude Code Plugin Eval: Menguji Skill yang Tak Pernah Aktif
Software DevelopmentSeptember 202611 menit baca

Claude Code Plugin Eval: Menguji Skill yang Tak Pernah Aktif

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
Mode Interaktif Claude Code: Pintasan dan Trik Prompt
Software DevelopmentAgustus 202612 menit baca

Mode Interaktif Claude Code: Pintasan dan Trik Prompt

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 Claude Code: Kecerdasan Kode Sungguhan
Software DevelopmentAgustus 202611 menit baca

Plugin LSP Claude Code: Kecerdasan Kode Sungguhan

Plugin LSP memberi Claude error tipe setelah tiap suntingan dan navigasi sungguhan, bukan grep. Ini bahasanya, biayanya, dan server kustomnya.

Baca Selengkapnya
Error Claude Code: Artinya dan Cara Memperbaikinya
Software DevelopmentAgustus 202612 menit baca

Error Claude Code: Artinya dan Cara Memperbaikinya

Kebanyakan error Claude Code adalah konfigurasi, bukan bug. Ini kelompok-kelompoknya, dua perintah yang dijalankan lebih dulu, dan perbaikannya.

Baca Selengkapnya
Flag CLI Claude Code: Yang Layak Dihafal per Pekerjaan
Software DevelopmentAgustus 202613 menit baca

Flag CLI Claude Code: Yang Layak Dihafal per Pekerjaan

CLI-nya punya puluhan flag dan dua lusin subcommand. Ini yang benar-benar mengubah hasil, dikelompokkan per pekerjaan masing-masing.

Baca Selengkapnya
Sesi Claude Code: Melanjutkan, Bercabang, dan Menamai
Software DevelopmentAgustus 202613 menit baca

Sesi Claude Code: Melanjutkan, Bercabang, dan Menamai

Sesi adalah percakapan tersimpan di disk. Ini yang dipulihkan saat melanjutkan, yang diam-diam hilang, dan beda branch dengan fork.

Baca Selengkapnya
Tugas Terjadwal Claude Code Desktop: Otomasi Lokal
Software DevelopmentAgustus 202611 menit baca

Tugas Terjadwal Claude Code Desktop: Otomasi Lokal

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
Claude Code untuk JetBrains: Plugin dan MCP Server-nya
Software DevelopmentAgustus 202612 menit baca

Claude Code untuk JetBrains: Plugin dan MCP Server-nya

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
Claude Code di VS Code: Ekstensinya, Bukan CLI-nya
Software DevelopmentAgustus 202613 menit baca

Claude Code di VS Code: Ekstensinya, Bukan CLI-nya

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
Aksesibilitas Claude Code: Screen Reader dan Selebihnya
Software DevelopmentAgustus 202611 menit baca

Aksesibilitas Claude Code: Screen Reader dan Selebihnya

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 Claude Code: Bebas Kedip, Dengan Pertukarannya
Software DevelopmentAgustus 202612 menit baca

Fullscreen Claude Code: Bebas Kedip, Dengan Pertukarannya

Fullscreen rendering menghapus kedipan dan meratakan memori dengan menggambar di alternate screen. Ongkosnya scrollback dan seleksi mouse asli, dan keduanya bisa ditebus.

Baca Selengkapnya

Lainnya di kategori ini