Ana sayfa → Teknik
Teknik: Yazılım Mühendisliği ve Mimari
Eşzamanlılık, dağıtık sistemler, mesajlaşma, ölçekleme, gözlemlenebilirlik ve LLM/agent sistemleri. Diyagramdaki hâli değil, canlıda nasıl bozulduğu ve nasıl düzeltildiği.
Yazılarda kod örnekleri, “Ne izlemeli?” listeleri ve kontrol listeleri var.
Yap mı, Al mı: Maliyet Değil, Sahiplik
“İki sprintte yazarız” dedik, yedi hafta sürdü. Para hesabı berabere bitiyor; kararı çekirdek iş, sahibin adı ve çıkış maliyeti veriyor.
TEKNİKYeniden Yazmak: Temiz Sayfa Değil, Göç Planı
Beş aylık rewrite canlıda dört saat dayandı. Gölge çalıştırma, farkları sınıflandırma, segment segment geçiş ve eski sistemi kapatma kriteri.
TEKNİKSLO ve Hata Bütçesi: Hedef Değil, Pazarlık Aracı
Özellik mi, güvenilirlik mi? 50 dakikalık tartışmayı tek sayı bitirdi: %99,9 ayda 43 dakika, bütçe bitince de o serviste özellik çıkışı durur.
TEKNİKGüvenlik Denetimi: Evrak Değil, Kanıt Toplama
Denetimden önceki gece 23:40, dört mühendis ekran görüntüsü alıyordu. Kanıtı günlük işin yan ürünü yapınca 214 talebin yerini bir klasör yolu aldı.
TEKNİKLLM’de Latency: Ortalama Değil, İlk Token
Panoda ortalama 3,4 saniye, müşteri ekranında 11 saniyelik boş balon. TTFT, token/saniye, streaming ve ilk kelimenin gecikme bütçesi.
TEKNİKPrompt Loglamak: Her Şeyi Değil, Güvenle
Hata ayıklamak için her prompt’u logladık; içinden 2.310 TC kimlik numarası çıktı. IBAN’ların %91’ini oraya biz koymuştuk. Kaynağında azaltmak, loga yazmadan maskelemek, 30 gün, 6 kişi.
TEKNİKRace Condition: Stok Neden Eksiye Düşer?
Test ortamında hiç görünmeyen, kampanya günü patlayan hata sınıfı. Altı çözüm, SQL örnekleriyle.
TEKNİKRate Limit ve Fallback: Hata Değil, Plan
Halka arz sabahı destek asistanı 38 dakika boyunca her üç sorudan birine “yardımcı olamıyorum” dedi. RPM/TPM kotası, jitter’lı retry, fallback’in kalite farkı ve dört seviyeli kademeli hizmet.
TEKNİKDistributed Lock: Kilidi Doğru Kurmak
Redis kilidinin altı tuzağı, fencing token ve çoğu zaman kilide hiç gerek olmadığı gerçeği.
TEKNİKLeader Election: Bu İşi Kim Yapacak?
Dört kopya var, health check’i dördü birden yapıyor. Lease, split-brain ve fencing token.
TEKNİKPrompt Cache: Ucuzlatma Değil, Tasarım Kararı
Trafik aynıydı, LLM maliyeti 2,5 katına çıktı: müşteri adı system prompt’un ilk satırına girmişti. Sabit önek, gizli değişkenler, hit oranı ve ilk token süresi.
TEKNİKWorker Sharding: İşi Bölmenin Doğru Yolu
Dört worker var, biri %100 CPU üçü boşta. Hot key, yeniden dağıtım ve sıra garantisi.
TEKNİKPod Autoscaling
Pod sayısı 4’ten 24’e çıktı, sistem daha da yavaşladı. CPU neden yanlış ölçü?
TEKNİKToken Panosu: Fatura Değil, Erken Uyarı
Mart faturası 11.400 $ geldi, bütçe 4.000 $’dı; artış 25 gün önce başlamıştı. Her isteğe dört etiket, günlük bütçe ve spike alarmı, input/output oranı ve en pahalı %1.
TEKNİKMesaj Kaç Kez Gelir?
At-least-once, at-most-once ve exactly-once efsanesi. Idempotency key ve dedup, kod örnekleriyle.
TEKNİKQueue Pathologies
Zehirli mesaj, DLQ, jitter, sıra başı tıkanması, bozulan sıra ve geri basınç — beşi bir arada.
TEKNİKHalüsinasyon Canlıda: Eval Değil, Sahadan Sinyal
Eval seti 50 sorudan 48’ini geçti, asistan müşteriye yanlış komisyon söyledi. Beş saha sinyali ve isabetleri, rakam kontrolü, haftalık denetim ve eval setine geri besleme.
TEKNİKFailure Modes: Çökme Modları
Çığ etkisi, önbellek baskını, zincirleme çöküş, devre kesici, gri arıza ve failover kaybı.
TEKNİKDistributed Transaction: 2PC Neden Kilitler, Saga Neden Kurtarır
İki bacaklı emirde biri fill oldu diğeri reddedildi. Telafi işlemleri ve emanet kalıbı.
TEKNİKModel Sessizce Değişti: Sürüm Değil, Drift
Dokuz gündür deploy yoktu, prompt aynıydı; red oranı %1,4’ten %7,9’a çıktı. Sabit sürüm, çıktı dağılımını izlemek ve her sabah 40 canary soru.
TEKNİKDual Write Problem: Outbox, Inbox ve CDC
Emir yazıldı ama olay yayınlanmadı. İki sisteme atomik yazmanın imkânsızlığı ve çözümü.
TEKNİKCQRS ve Materialized View
Portföy ekranı 8 saniyede açılıyor, emir 3 ms istiyor. Yazmayı okumaktan ayırmak.
TEKNİKCrewAI: Hazır Ekip Değil, Ödünç Alınan Varsayımlar
Bir günde çalışan üç agent’lı prototip, regülasyon riski taşıyan şikâyeti kaçırdı: uyum agent’ı o cümleyi hiç görmemişti. Aynı iş düz kodla: 186 bin token yerine 71 bin.
TEKNİKNerede 200 ms Gitti?
Dört servisin toplamı 40 ms, müşteri 240 ms bekliyor. Correlation ID ve trace.
TEKNİKVibe Coding Ritüelleri
Üç saatte biten iş neden iki gün hata ayıklamaya dönüyor? İşe yarayan 10 alışkanlık.
TEKNİKMonolitikten Mikroservise: 5 Ayda Yaşadıklarımız
Dağıtık monolit, çift kargo, iptal edilmiş siparişin kapıya gelmesi ve geri birleştirdiğimiz iki servis — sayılarla.
TEKNİKMikroservislerde Log ve Metrik: Altı Log Dosyası Değil, Tek Ekran
Prometheus, Loki ve Grafana tek ekranda. Dört altın sinyal, structured log, 2,4 milyon serilik kardinalite kazası ve CPU alarmının neden işe yaramadığı.
TEKNİK“SMS Kodum Var, Güvendeyim” Deme: Para Çekmede Passkey ile Step-Up
JWT geçerliydi, yeni IBAN’a 4.800 $ gitti. Tutara ve IBAN’a bağlı challenge, free margin kontrolü ve “passkey ekle” ekranındaki arka kapı.
TEKNİKSOLID: Amaç Değil, Araç — Ne Zaman Kullanmalı, Ne Zaman Kaçınmalı?
Tek satırlık hoş geldin mesajı için 2 interface, 2 class, 1 factory. Beş prensip kodla; hangi sinyalde işe yaradığı, ne zaman sadece dosya ürettiği; YAGNI ve rule of three.
TEKNİKAgent, Local LLM, MCP Server: Kim Karar Verir, Kim Çalıştırır?
“Bugün kaç dolar depozit oldu?” sorusuna, veri dışarı çıkmadan, şirket içi sunucuda cevap veren bir agent. Üç parça, üç sorumluluk; docstring’in tool seçimini belirlemesi, 20/20 benchmark ve agent loop’un iki freni.
TEKNİKMonorepo: Kod Yapısı Değil, Ekip Yapısı
Ortak kütüphanede tek satır, 7 bump PR, 3 gün, bir servis unutuldu. 14 kişiyken doğru olan 9 repo, 3 kişiye inince kimi korumuyor. Poly repo’dan monorepo’ya geçişin gerekçesi, beş tuzağı, 6 ay sonraki rakamlar ve asıl soru: 3 kişi kaç servis?
TEKNİKAgent Orchestrator: Zeki Tek Agent Değil, Yönlendirilmiş Akış
Gece mutabakat işi tek agent’ta 17 tur ve 9 dakika sürdü, cevap yanlıştı. 4 adımlık akışta 2 tur, 38 saniye. Kararı model mi versin kod mu, üç desen ve dört fren.
TEKNİKMulti-Agent: Paralel Hız Değil, Bölünebilir İş
34 kaydı 4 agent’a böldük: 11 dakika 3 dakikaya indi, token 3,4 katına çıktı, iki agent aynı dosyaya yazdı. Bölme anahtarı, alt agent sözleşmesi ve birleştirme adımı.
TEKNİKContext: Uzun Pencere Değil, Doğru Özet
Aynı soru 118 bin token’lık pencerede yanlış, 9 binde doğru. Model hatırlamaz, yeniden okur: tool çıktısını kırpmak, koşu durumunu diske almak, özetlemenin kaybı.
TEKNİKTool Tasarımı: API Sarmalayıcı Değil, Karar Yüzeyi
11 tool’dan 23’e çıktık, isabet %96’dan %71’e düştü. Kod değil, menü bozulmuştu. Ayrı karar mı parametre mi, dört satırlık açıklama ve talimat olan hata mesajı.
TEKNİKAgent İki Kez Çağırdı: Otonomi Değil, Idempotency
Tool 32 saniyede döndü, zaman aşımı 30 saniyeydi: aynı çekim iki kez onaylandı. Anahtarı kim üretir, ikinci çağrıya ne dönmeli, geri alınamaz işler neden iki aşamalıdır?
TEKNİKPrompt Injection: Girdi Değil, Çalıştırılabilir Talimat
Müşteri notundaki tek cümle agent’ın planına girdi ve 3 çekim onaya düştü. Model veri ile talimatı ayırmaz; savunma prompt’ta değil, yetkide ve akıştadır.
TEKNİKAgent’ın İzi: Log Değil, Karar Zinciri
400 satır log’da sapmayı 40 dakikada buldum; şimdi 12 saniye. Koşu bir trace, adım bir span: ne kaydedilir, müşteri verisi nasıl maskelenir, koşu nasıl yeniden oynatılır?
TEKNİKEval: Demo Değil, Regresyon Testi
Prompt’ta tek kelime değiştirdim, demo mükemmeldi; iki gün sonra 4 soru yanlış tool’a gidiyordu. Altın set, kesin ölçüm, LLM-judge’ın üç yanlılığı ve “yeşil ama mutsuz” hâli.
TEKNİKPrompt ve Model Sürümü: Metin Değil, Kod
Admin ekranından yapılan “küçük bir düzeltme” kaydı olmayan bir deploy’du. Prompt repo’da mı config’te mi, model sürümü neden sabitlenir, gölge koşu ve geri alma eşiği.
TEKNİKRAG: Arama Değil, Bağlam Kurmak
Agent kuralı doğru söyledi; kural 14 gün önce değişmişti. RAG mı tool mu, chunk sınırını kim çizer, recall nasıl ölçülür ve modele “bilmiyorum” nasıl öğretilir?
TEKNİKAgent Maliyeti: Token Fiyatı Değil, Görev Başı Maliyet
“Kendi sunucumuz, token bedava” dedim; bir rapor GPU’yu 96 saniye meşgul ediyordu. Tekrar gönderilen context, retry’ler, sabit önek ve “ucuz model + 3 deneme” hesabı.
TEKNİKNöbet: Kahramanlık Değil, Devir Teslim
Gece 03:12, alarm çaldı, runbook sayfası boştu. Nöbetçinin üç sorusu, runbook’u yazılamayan alarmı silme kuralı (60→38), gece yetkisi, 15 dakikalık devir toplantısı ve gölge nöbet.
TEKNİKCanlıya Çıkmak: Deploy Değil, Sürüm Yönetimi
Geri alma 9 dakika sürdü; flag olsaydı 4 saniye. Deploy ile sürümü ayırmak, dört flag tipi ve farklı ömürleri, 61 flag’lik mezarlık, kademeli çıkışta otomatik geri alma eşiği.
TEKNİKŞema Değişikliği: Cuma Gecesi Değil, İki Aşamada
Test veritabanında 80 bin satır, canlıda 47 milyon; “5 dakika” denen migration 40 dakika kilitledi. Expand/contract’ın beş adımı, parti parti backfill, tehlikeli işlemler tablosu ve eski kolonu silme tarihi.
TEKNİKKod İnceleme: Kapı Bekçiliği Değil, Bilgi Yayma
PR üç gün bekledi, 41 yorum aldı: 38’i biçim, 0’ı mimari. PR boyutu ile değerli yorum arasındaki ters oran (800 satır üstü PR daha AZ yorum alıyor), yorum etiketleri, 24 saat kuralı ve ikinci onayın gerçekten gerektiği beş yer.
TEKNİKMimari Karar Kaydı: Toplantı Değil, Tek Sayfa
“Bunu neden böyle yapmışız?” — üç kişi üç farklı cevap verdi, aynı kararı ikinci kez ve başka gerekçeyle verdik. Tek sayfalık şablon, en değerli bölüm olan reddedilen seçenekler, hangi kararın yazılacağı ve kaydın neden silinmediği.
TEKNİKDevraldığın Sistem: İlk 90 Gün
README dört satırdı, ikisi yanlıştı; “nasıl canlıya çıkıyoruz” sorusunun cevabı bir isimdi ve o kişi üç hafta sonra ayrılıyordu. İlk haftanın tek hedefi, haritayı git’ten çıkarmak, 90 gün dokunmama kuralı ve devreden kişiye beş soru.