İlkay İlknur

Hoşgeldiniz

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

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

Azure App Servicelere Ücretsiz Sunulan Let's Encrypt SSL Sertifikalarının Yüklenmesi ve Otomatize Edilmesi

Mayıs 06, 2020
Herkese Selamlar, Bu yazıda Azure App Servicelere ücretsiz olarak sunulan Let's Encrypt sertifikalarını nasıl yükleyebileceğimizden ve bu işlemleri nasıl otomatize edebileceğimizden bahsedeceğiz. Şu an hali hazırda Azure'da bulunan bir app service'te HTTPS'i enable etmek için dışarıdan bir SSL sertifikası satın alıp yükleyebiliyoruz. Bunun yanında SSL sertifikalarının ücretsiz olarak üretilmesi ...
Devamı →

Github Actions'a Kısa Bir Bakış

Nisan 20, 2020
Uzun bir aradan sonra herkese selamlar, Bu yazıda konumuz Github Actions. Github actions özet olarak Github üzerinde yazılım geliştirme akışlarını otomatize etmemizi sağlayan bir özellik. Daha detaylı bir şekilde ifade etmemiz gerekirse kodun build, test veya deploy edilmesi gibi taskları yaratabileceğimiz ve bu taskları kullarak da CI(Continuous Integration)/CD(Continuous Delivery) akışlarınızı ...
Devamı →

C# 7.2 - Value Typelarda Referans Semantiği Yenilikleri

Aralık 20, 2017
Visual Studio 15.5 update'inin release olması ile beraber C#'ın bir sonraki minor release'i olan 7.2 versiyonu da artık RTM oldu. Daha önceki C# 7.1 yazımda da bahsettiğim üzere minor C# versiyonları Visual Studio içerisinde default olarak aktif olmuyor ve bu özellikleri kullanabilmemiz için ufak bir ayar yapmamız gerekiyor. Bu gerekli olan ayara da C# 7.1 Yenilikleri yazımdan ulaşabilirsiniz. C# ...
Devamı →