İlkay İlknur

Hoşgeldiniz

Bloga yeni yazı eklendiğinde haberdar olmak için RSS veya email bazlı servisi kullanabilirsiniz.

.NET Core'da Pipe(System.IO.Pipelines) Kullanımı

Temmuz 22, 2020
Bu yazımızda .NET Core 2.1 ile beraber gelen System.IO.Pipelines namespace'i altına bulunan Pipe yapısını inceleyeceğiz. Pipe'lar kısaca .NET içerisinde performanslı IO yapmamızı sağlayan bir yapı. Geleneksel yöntemlerle streaming datasını parse eden uygulamalarda daha az allocationa neden olan ve performanslı çalışan bir kod yazmamız gerektiğinde pek çok farklı implementasyon yapmamız gerekirken ...
Devamı →

ASP.NET Core Uygulamalarında Azure App Configuration Kullanarak Feature Flags Implementasyonu

Temmuz 14, 2020
Bu yazıda konumuz ASP.NET Core uygulamalarında feature flag kullanımı. Feature flagler uygulamalarımız içerisinde istediğimiz featureları açıp kapamamızı sağlayan bir practice. Hem yeni geliştirilen featureların test edilmesi hem de development esnasında feature branchlerin uzun süre ana branch üzerinden uzak kalmasını engellemesiyle bizlere merge sorunları yaşamamak adına kolaylık sağlamakta. Bu ...
Devamı →

ASP.NET Core Uygulamalarında IHttpClientFactory Kullanımı

Temmuz 06, 2020
Uygulamalarımızda en sık kullandığımız tiplerden biri de şüphesiz ki HttpClient. Bu yazıda ise özellikle ASP.NET Core uygulamalarımızda HttpClient tipini nasıl en doğru şekilde kullanabiliriz konusunu inceleyeceğiz. İlk olarak HttpClient ile ilgili doğru bilinen bir yanlıştan bahsedelim. HttpClient tipine baktığımızda IDisposable interface'ini implemente ettiğini görüyoruz. Bu nedenle HttpClient ...
Devamı →

.NET Core'da JSON API'ları

Temmuz 02, 2020
.NET ekosistemi içerisinde JSON işlemleri denince akla gelen ilk kütüphane Newtonsoft.Json kütüphanesi. Microsoft yıllar boyunca .NET içerisinde yüksek performanslı ve gömülü bir çözüm geliştirmek yerine bu kütüphaneyi hem kullandı hem de developerlara tavsiye etti. Ancak .NET Core 3.0 ile bu hikaye biraz değişti. .NET Core 3.0 ile beraber Microsoft JSON operasyonları için yeni API'lar implement...
Devamı →

.NET Core'da Channels Kullanımı

Haziran 25, 2020
Herkese Selamlar, Bu yazıda System.Threading namespace'i altına bulunan Channel<T> tipini inceleyeceğiz. .NET Core 2.1 ile beraber gelen bu tip, en basit anlatımla uygulamalarımız içerisinde bir noktadan bir başka noktaya veri gönderebilmemizi sağlanmakta. Bir diğer anlatımla da uygulamalarımızda producer/consumer implementasyonları gerçekleştirirken kullanabileceğimiz bir veri yapısı olara...
Devamı →

ArraySegment<T> ve StringSegment Nedir? Nasıl Kullanılır?

Haziran 15, 2020
Önceki yazılarımızda Span ve Memory tiplerinden bahsetmiştik. Bu yazıda da bu tiplerden biraz daha eski olan ve benzer amaçlarla kullanabileceğimiz ArraySegment ve StringSegment'ten bahsedeceğiz. ArraySegment basit olarak yine bir array'in belirli bir bölümünü temsil eden bir struct. Bu yapıyı Span'den farklı olarak bir wrapper olarak düşünebiliriz. ArraySegment aynı zamanda ICollection, IEnumera...
Devamı →

.NET Core Span<T> ve Memory<T> Performans Karşılaştırması

Haziran 10, 2020
Bir önceki yazıda .NET Core'daki Span ve Memory tiplerinden bahsettik. Bu yazıda da bu tiplerin performans ve memory kazanımlarını ufak örneklerle inceleyeceğiz. Aslında bu yazı bir anlamda bir önceki yazıyı tamamlayacak nitelikte olacak ve eski kullanımlar yerine neden yeni gelen bu tipleri kullanmamız gerektiğini bizlere gösterecek diye düşünüyorum. İlk senaryomuz bir array'in sadece belirli el...
Devamı →

.NET Core'da Span<T> ve Memory<T> Tipleri

Mayıs 27, 2020
Bu yazıda konumuz .NET Core 2.1 ile beraber gelen ve özellikle .NET Core 3.0 ve sonrasında framework tarafından da oldukça fazla kullanılan Span&lt;T&gt; tipi. Span tipi en basit tanımla bellekte ardışık olarak bulunan bir bölgeye type ve memory safe olarak erişmemizi sağlayan bir value type(struct). Span ile array, string gibi tiplerin bulunduğu managed heapteki bir bölgeye erişebilirken aynı zam...
Devamı →

.NET Core'da Array Pooling

Mayıs 20, 2020
Bir önceki yazıda object pooling konusundan ve .NET Core içerisinde nasıl kullanabileceğimizden bahsetmiştik. Bu yazının konusu da array pooling. Peki array pooling konusu nereden çıktı diye bakarsak. 😃 ASP.NET Core best practices dökümanına baktığımızda şu şekilde bir tavsiye ile karşılaşıyoruz. Do pool buffers by using an ArrayPool to store large arrays. Peki bu tavsiyenin esas sebebi ne?...
Devamı →

Object Pooling Nedir, .NET Core İçerisinde Nasıl Kullanılır

Mayıs 12, 2020
Herkese Selamlar, Bu yazıda object pooling konusundan bahsedeceğiz. Uygulamalarımızda çalıştığımız bazı tiplerin yaratılması ve kullanıldıktan sonra da destroy edilmesi masraflı olabilmekte. Bu tarzdaki nesnelere çok fazla ihtiyaç duyduğumuz durumlarda da performans problemleriyle karşılaşmamız oldukça mümkün. Object pooling konusu bu gibi sıkıntıların önüne geçebilmemiz için uygulayacağımız yönt...
Devamı →