// Blog

Yazılar

Yazılım, geliştirme süreçleri ve teknik notlar.

SignalR: Hub, Scaling ve Backplane Gerçek Zamanlı İletişim & SignalR SignalR: Hub, Scaling ve Backplane Gerçek zamanlı iletişimde SignalR hub yapısı, bağlantı yönetimi (connect, reconnect, disconnect) ve çok sunuculu ortamlarda Redis backplane ile mesaj yayını konuları ele alınır. Devamını oku ASP.NET Core Middleware ve Action Filter ASP.NET Core & HTTP Pipeline ASP.NET Core Middleware ve Action Filter ASP.NET Core request pipeline'ına müdahale etmek için middleware yazımı ve action filter'ların (authorization, exception, logging) nasıl oluşturulacağı uygulamalı anlatılır. Devamını oku P/Invoke ile Native Entegrasyon .NET Interop & Platform Bağımlılığı P/Invoke ile Native Entegrasyon .NET'ten native C/C++ kütüphanelerine erişmek için P/Invoke, marshalling, veri türü dönüşümleri ve performans riskleri anlatılır. LibraryImport (source generator) ile güvenli P/Invoke kullanımı gösterilir. Devamını oku DI Lifetime'ları: Transient, Scoped, Singleton Dependency Injection & Tasarım DI Lifetime'ları: Transient, Scoped, Singleton DI konteynerindeki yaşam döngüleri (Transient, Scoped, Singleton) arasındaki farklar ve yanlış kullanımda ortaya çıkan "captive dependency" sorunu örneklerle açıklanır. Devamını oku Eşzamanlılık: Channel, Semaphore ve Concurrent .NET Eşzamanlılık & Paralel Programlama Eşzamanlılık: Channel, Semaphore ve Concurrent Çok iş parçacıklı uygulamalarda veri bütünlüğünü korumak için Channel<T> (producer-consumer), SemaphoreSlim (kaynak sınırlama) ve ConcurrentDictionary gibi koleksiyonların doğru kullanımı ele alınır. Devamını oku Source Generators: Reflection'a Alternatif Derleme Zamanı Kod Üretimi & Performans Source Generators: Reflection'a Alternatif Reflection'ın çalışma zamanı maliyetine karşılık, source generator'lar ile derleme sırasında kod üreterek performans kazancı sağlanır. Örneklerle source generator yazımı gösterilir. Devamını oku Expression Trees ile Dinamik LINQ C# Derinlemesine & Dinamik Sorgulama Expression Trees ile Dinamik LINQ Çalışma zamanında dinamik filtreleme ve sıralama gerektiren senaryolarda expression tree'lerin nasıl oluşturulup LINQ sorgularına dönüştürüleceği anlatılır. Custom query provider yazımına giriş yapılır. Devamını oku C# Pattern Matching ve Record'lar C# Modern Dil Özellikleri & Tasarım C# Pattern Matching ve Record'lar C# 8+ ile gelen pattern matching (switch expressions, property patterns) ve record türlerinin immutable yapısı sayesinde daha temiz, hatasız ve okunabilir kod yazma pratikleri gösterilir. Devamını oku EF Core Performans Taktikleri Veri Erişimi & ORM EF Core Performans Taktikleri EF Core'da performansı artırmak için AsNoTracking ile değişiklik takibini kapatma, ihtiyaç duyulan ilişkileri Explicit Loading ile yükleme ve sık kullanılan sorguları derleyerek cache'leme yöntemleri ele alınır. Devamını oku