Son yazılar — Sayfa 2
40Notlar, sistem yazıları ve günlük — tek akışta, tarih sırasıyla.
- Journal6 bölüm
Kararsız Testler: Retry Çözüm Değil
AI test yazmayı neredeyse bedava yaptı, kararsız süitler patladı. Retry ve quarantine neden bir koşu bandı ve kararsızlığı deterministik olarak ne yakalar
- Journal5 bölüm
Şema Evrimi: Sözleşmeyi Kırmadan Değiştirmek
Bir mesajın data şekli, servisler arası bir sözleşmedir ve onu atomik değiştiremezsin. Kural: additive güvenli, kırıcı değişiklik yeni bir kimlik ister — ve önce tüketiciler yükseltir
- Journal5 bölüm
Katmanlı Mimari mi, Clean Architecture mı?
Klasik katmanlı yapı çoğu projeye yeterken neden soyutlama katmanlarında boğuluyoruz; Clean Architecture gerçekten ne zaman değer katar?
- Journal4 bölüm
Vibe Coding ile Production'a Çıkılır mı?
Vibe coding bir ilk sürümün maliyetini düşürür, yanlış olmanın maliyetini değil. O fatura build'de değil, production'da çıkar — ve onu kimin elinde çıkardığına bağlıdır.
- Journal5 bölüm
"İleride Lazım Olur" Kodunun Production Faturası
YAGNI'yi pratikte uygulamak: bugün gerekmeyen esnekliği eklemenin bakım, okunabilirlik ve hata yüzeyi olarak geri ödenen bedeli.
- System10 bölüm
Ardışık Numara Üretiminde Race Condition ve Gap: JIT Rezervasyon
Yasal olarak ardışık ve boşluksuz numaraları paralel worker'larla üretmek: race condition ile gap'i birlikte çözen JIT rezervasyon kalıbı.
- Journal5 bölüm
Mikroservise Ne Zaman Geçerim?
Monolitten dağıtık mimariye geçişi haklı çıkaran ölçülmüş sinyaller — ve geçiş için henüz erken olduğunu söyleyen yaygın yanlış gerekçeler.
- Journal8 bölüm
Gitflow mu, GitHub Flow mu? Neye Göre Seçiyorum?
Branch stratejisi seçimini ürün modeli, sürüm sayısı ve deploy ritmine göre yapmanın pratik kriterleri — ve iki modelin yanlış yerde nasıl kırıldığı.
- Journal5 bölüm
Projelere Neden Modüler Monolit ile Başlıyorum?
Mikroservislere atlamadan önce tek deploy edilebilir bir uygulamada net modül sınırları kurmanın gerekçesi — ve bu kararı ne zaman bıraktığım.
- Journal8 bölüm
Trunk-Based Development'a Ne Zaman Geçiyorum?
Yüksek frekanslı deploy yapan ekiplerde release branch'lerinin neden kırıldığı ve trunk-based'in ne kadarının disiplin olduğu — geçtiğim ve geçmediğim eşikler.
- System9 bölüm
Veri Yoğunluklu Sistemlerde Ölçek Kırılma Noktaları
Veri yükü arttıkça boring mimari nerede kırılır? Working set, read replica, partitioning, yazma yükü ve ayrı veri katmanı — sıralı kırılma noktaları ve her birinin maliyeti.
- Journal7 bölüm
Neden Boring Architecture'ı Tercih Ediyorum
Yeni teknoloji peşinde koşmak yerine kanıtlanmış araçları seçmenin pragmatik gerekçesi. Bu bir korkaklık değil, bir bütçe kararı.
- Note5 bölüm
Shared Redis Kullanırken Namespace İzolasyonu
Tek bir Redis instance birden çok proje arasında paylaşılırken key collision ve yanlışlıkla silme kazalarından korunmak için kullandığım örüntü.
- Journal8 bölüm
AI-Assisted Engineering Workflow'um
Claude Code ve benzeri ajanları üretim kodunda güvenle kullanmak için takip ettiğim yedi kural — alaycı bir yazı değil, bir disiplin manifestosu.
- Note6 bölüm
pgBackRest ile PostgreSQL Backup Stratejisi
pg_dump tek başına yedek değil. pgBackRest ile PITR destekli, sıkıştırılmış, doğrulanabilir yedek mimarisi.
- Note6 bölüm
Laravel Queue Production'da Neden Yavaşlar?
Laravel queue worker'ları yerelde mükemmel, production'da yavaş. Geliştiricilerin gözden kaçırdığı en yaygın beş neden.
- System11 bölüm
Tek VPS Üzerinde Çoklu Proje Mimarisi
Bir VPS, birden fazla bağımsız uygulama. Kubernetes yerine bilinçli minimalizm: kullanıcı izolasyonu, ayrı PHP-FPM pool, paylaşılan PostgreSQL/Redis, sade deploy.
- Note6 bölüm
Nginx + PHP-FPM Pool Ayrımı
Aynı VPS üzerinde birden fazla PHP uygulaması çalıştırırken, tek bir PHP-FPM pool yerine uygulama başına ayrı pool tanımlamanın somut faydaları.
- System13 bölüm
Laravel Production Stack
Nginx + PHP-FPM + Redis + PostgreSQL + Supervisor + Horizon ile production-grade bir Laravel kurulumu. Her bileşenin işi ve değiştirildiğinde ne kaybedileceği.
- Note6 bölüm
pgBouncer auth_query ile Çoklu DB Kullanıcısı
pgBouncer kullanırken `userlist.txt` yerine `auth_query` ile dinamik kullanıcı doğrulamasının pratik yapılandırması.
Ayrıca
Yazılım üzerine ana blogum
sade.dev mimari kararların ve üretim derslerinin defteri. Yazılımın geri kalanı — dil, araç, pratik, ekip — ana blogda.