İlkay İlknur

Hoşgeldiniz

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

Peki Nedir Bu ValueTask?

Ağustos 13, 2020
C# 5.0 ile beraber gelen async/await keywordleri ile beraber .NET içerisinde oldukça kolay bir şekilde asenkron programlama yapabilmekteyiz. Normal durumda asenkron operasyonları yönetmek için oldukça fazla ve karmaşık callback kodu yazmamız gerekirken programlama dili pek çok işlemi bizim yerimize arka planda optimize bir şekilde halletmekte. async/await keywordleri pek çok işlemi arka planda giz...
Devamı →

ASP.NET Core MVC ve Web API Uygulamalarında Mini Profiler Kullanımı

Ağustos 05, 2020
Bu yazıda uygulamalarımızda profiling yapmak için kullanabileceğimiz araçlardan biri olan Mini Profiler'dan bahsedeceğiz. Mini Profiler kullanarak hızlı ve basit bir şekilde uygulamalarımızda hangi noktalarda ne kadar zaman harcandığını görmemiz mümkün. Böylece development esnasında performans sorunu yaşadığımız noktaları tespit edip buna göre aksiyon almamız oldukça kolaylaşmakta. Mini profiler S...
Devamı →

String.Create Metodu Nasıl Kullanılır ?

Temmuz 29, 2020
Kod yazarken dikkat etmemiz gereken en önemli noktalardan biri gereksiz memory kullanımından kaçınmak. Yanlış memory kullanımı dediğimizde aklımıza ilk gelen tiplerden biri de string tipi. String yapısı gereği immuatable bir tip olduğu için string üzerinde değişiklik yapmak istediğimizde, farklı stringleri birleştirmek istediğimizde vs.. yeni bir string yaratmamız gerekiyor. Daha öncesinde st...
Devamı →

.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ı →