Yazılar
Yazılım, geliştirme süreçleri ve teknik notlar.
C# Async/Await: En Tehlikeli 5 Tuzak
async/await kod okunurluğunu artırsa da, yanlış kullanımı uygulamayı dondurabilir (Deadlock), performansı yerle bir edebilir veya sessizce hata yutmasına (Silent Failure) neden olabilir. Bu yazıda; SyncContext kaynaklı Deadlock’lar, ConfigureAwait(false)’ın hayati önemi, async void’in neden kötü olduğu, Fire-and-Forget fiyaskoları ve using bloğu ile yaşanan zamanlama sorunları ele alınmaktadır.
Devamını oku
.NET Bellek Yönetimi: Çöp Toplayıcı (GC) Mekanizması.
.NET çalışma zamanı (CLR), geliştiricileri manuel bellek yönetiminden (malloc/free) kurtaran otomatik bir Çöp Toplayıcıya (Garbage Collector - GC) sahiptir. Bu yazıda, GC’nin çalışma prensipleri (Generasyonlar, İşaretle-ve-Temizle, Kökler), Stack (Yığın) ve Heap (Yığın) arasındaki temel farklar, Yönetilen (Managed) ve Yönetilmeyen (Unmanaged) kaynakların temizliği için IDisposable arayüzünün doğru kullanımı, Large Object Heap (LOH) tehlikeleri ve bellek sızıntısına (Memory Leak) yol açan yaygın
Devamını oku