%90 Test Coverage, %0 Güvence
Merhaba Arkadaşlar, test dünyasında çoğu kişinin doğru sandığı bir şey var. Ben de öyle sanıyordum. Ta ki production’da patlayana kadar. Test yazıyoruz.Coverage’ye bakıyoruz.Rapor yeşil, CI geçiyor, herkes mutlu, özgüven tavan. Ama gerçek şu: Coverage çoğu zaman hiçbir şey ifade etmiyor….
REST API’lerde Yaygın Response Error Tasarımı ve Gerçek Dünya Pratikleri
Merhaba Arkadaşlar, Uzun zamandır yazmak istediğim bir konuya geldik sonunda. Farklı şirketlerde, farklı ekiplerle çalıştım. Kendi yazdığım API’ler, başkalarının yazdığı servisler, kullandığım third-party entegrasyonlar… Hepsinde şunu fark ettim: API tasarımı genelde iyi yapılıyor. Endpoint isimleri temiz, HTTP metodları doğru, resource…
Java’da Virtual Threads ve Serial GC Tuzağı
Merhaba Arkadaşlar, Bu makalede Java’da Virtual Threads kullanırken başımıza gelen bir production sorununa değineceğim. Birileri aynı şeye takılır belki diye tarihe not düşmek istedim. Ne Olmuştu? Spring Boot 3 kullandığımız bir mikroservisimiz var, Kubernetes üzerinde koşuyor. Uygulama aralıklı olarak donuyor….
Entity Framework Core’de Soft Delete kullanımı
Merhaba Arkadaşlar, Bir önceki makalede global query filteleri konusuna değinmiştik. Hatırlarsanız entity bazında global query eklemiştik ve soft delete özelliğini kullanacak her entity için bunu tanımlamak zorundaydık. Bu makalede soft delete özelliği olan tüm entity’lere otomatik olarak global query uygulanmasını…
Entity Framework Core’de global sorgu filtreleri (Laravel Eloquent’de ki global scope)
Merhaba arkadaşlar, bu makalede entity framework core’de global scope’ların nasıl kullanıldığına bakacağız. .NET Core ile uygulama geliştirirken kendime bazen şu soruyu sorarım; “Laravel’de böyle bir özellik var ve tam da burada ihtiyacım olan şey! acaba .net core’de de var mı…
Bitcoin Halving kodunda ki bug!
Satoshi Nakamoto, ilk #Bitcoin Halving kodunu yazdığında, görselde göründüğü şekildeydi. Daha sonraları kod, @pwuille tarafından 2014 senesinde düzenlendi. Bu düzenleme gelecekte oluşabilecek bir hatayı önlemek için yapıldı. Hatayı görebildiniz mi? Doğru tahmin, Sathosi Nakamoto’nun yazdığı kodda, “GetBlockValue” değeri, 13,440,000…
NodeJS paketi üzerinde yaşanan ilginç bir hırsızlık hikayesi
NPM kütüphanesinin yayımcısı ilgilenemediği için kütüphane yönetimini tanımadığı birine devrediyor. Sonrasında yönetimi devralan kişi kütüphaneye wallet dosyalarını çalacak kod entegre etmiş. Haftalık 2 milyon indirme sayısı olan bu paket, milyonlara ulaşıyor. Yani, girdiğiniz web sitesi bitcoinlerinizi çalabiliyor ama aslında çalan…
Tap, Tap, Tap – Laravel
Merhaba arkadaşlar bu makalede Laravel’de helper fonksiyonlarından tap’i anlatacağım. Öncelikle Taylor Otwell’in de dediği gibi “Tap, Tap, Tap” 🙂 Taylor “tap” için favorilerimden biridir der. tap fonksiyonunu Ruby’den esinlenmiş.