Yöntem yazıları
Günlükte yöntem etiketiyle yer alan her şey.
2026
Teknik borcu ödenecek kadar görünür kılmak
Kimsenin göremediği borca bütçe ayrılmaz. Her kaleme maliyet ve faiz yazın, özellik listesinin içine koyun ve borcu özellik işinin içinde ödeyin.
Ekibin kararlarını nereye yazdığı
Kararlar sohbet kanallarında ve insanların aklında yaşar, ikisi de buhar olur. Tek paragraflık karar kaydı gerekçeyi kodun yanında tutar.
Müşteriyle ilk toplantıda sorulacak beş soru
Başarı hangi sayı, şu an ne çalışıyor da bozulmamalı, hesaplar kimde, daha önce ne denendi, anlaşmazlıkta kim karar veriyor. Sonra hepsini yazın.
Hata ayıklama: önce ölç, sonra tahmin et
Hatayı bulan sıra şudur: üret, daralt, ölç, en son teori kur. Değişiklikte ve veride bisect, ve ilk teorinin neden en pahalı teori olduğu.
Uzun işler küçük ve geri alınabilir adımlarla biter
Büyük bir işi, her biri tek başına çıkabilen ve geri alınabilen adımlara bölmek: feature flag, expand and contract migration ve önceden yazılmış rollback.
Lab ölçümü, saha verisi ve gerçek bir telefon
Sentetik denetim, gerçek kullanıcı verisi ve elinizdeki telefon üç ayrı soruyu yanıtlar. Hangisi ne zaman yanıltır ve bir değişiklik nasıl düzgün ölçülür.
Log’ları okunmaya değer kılan üç alan
Çoğu log, olay anında sorulan tek soruya cevap veremez. Bir correlation id, işlenen kaydın kimliği ve sebebiyle birlikte sonuç bunu çözer.
Neredeyse her sitenin yaptığı iki erişilebilirlik hatası
Başlık seviyelerinin tasarıma göre seçilmesi ve görünen metni gizleyen aria-label. İkisi de klavye ve ses kullanıcısını engeller, ikisinin de çözümü ucuz.
2025
macOS’tan sunucuya giden görünmez ._ dosyaları
Mac'te üretilen arşivlerde extended attribute'lar AppleDouble dosyasına dönüşür, web root'a düşer ve sunulur. Nasıl fark edilir, önlenir ve temizlenir.
Blue green dağıtım: yeniden başlatmadan önce build çıkış kodunu kontrol edin
Build hata verdiği hâlde süreci yeniden başlatan deploy scripti yarım dizini yayına alır. Çıkış kodu, atomik geçiş, smoke test ve çalışan bir geri alma.
Paylaşımlı sunucuda /tmp’ye genel adla dosya yazmayın
Paylaşımlı makinede genel bir geçici dosya adı zaten var olabilir ve başkasına ait olabilir. Yazma düşer, okuma başarılı olur, yanlış içerik yayına gider.
Her mesajı ikiye bölen görünmez sonek
İki ayrı özellik, uzunluk hesabı yapıldıktan sonra beşer karakter ekledi. Her mesaj parça sınırını aştı ve maliyet sessizce ikiye katlandı.
Türkçe büyük harf tuzağı: kodda i, I ve noktalı İ
Türkçede i büyürken İ, I küçülürken ı olur. Case folding, CSS text-transform ve veritabanı collation'ı bunu varsayılan olarak yanlış yapar.
2024
Heceleme sözlüğü olmadan iki yana yaslı Türkçe metin
Chrome'da Türkçe heceleme sözlüğü yok, bu yüzden iki yana yaslı Türkçe sütunda boşluk nehirleri açılıyor. Çözüm: build sırasında yumuşak tire.