İlkay İlknur

Hoşgeldiniz

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

Random.Shared Propertysi İle Random Tipinin Thread-Safe Olarak Kullanılması

Temmuz 27, 2021
Developerlar olarak sıklıkla kullandığımız tiplerden biri de Random tipi. Bazen test amaçlı olarak bazen de farklı amaçlarla Random tipine sıklıkla başvuruyoruz. Random tipinin özelliklerinden biri de thread-safe olmaması. Bir Random instance'ının concurrent olarak kullanılması nadiren de olsa üretilen sayıların 0 olmasına bazen de randomizasyonun kalitesinin düşmesine neden olabilmekte. Bu nokta...
Devamı →

.NET 6 İle Beraber Gelen PriorityQueue Kullanımı

Temmuz 24, 2021
.NET 6 ile beraber gelen yeni tiplerden biri de PriorityQueue<TElement, TPriority> tipi. System.Collections.Generic namespace'i içerisinde bulunan bu tipin aslında uzun bir mazisi var diyebiliriz. İlk olarak Ocak 2015'te yapılan feature requesti ile başlayan süreç tipin tartışılması, implementasyon detaylarına karar verilmesi, prototiplenmesi derken .NET 6'nın release olması ile beraber son ...
Devamı →

.NET 6 İle Beraber Logging API'larına Gelen Source Generator Desteği

Temmuz 04, 2021
Bir önceki yazıda .NET 6 ile beraber System.Text.Json API'larına gelecek olan source generator desteğinden bahsetmiştik. Bu yazıda da yine .NET 6 ile beraber logging API'larına gelecek olan source generator desteğinden bahsedeceğiz. .NET 6 ile beraber logging API'larına gelen source generation desteğinin temel olarak dayandığı ve source generationın sağladığı tip LoggerMessageAttribute tipi. Bu a...
Devamı →

.NET 6 Preview 5 İle System.Text.Json API'larına Gelen Source Generator Desteği

Haziran 20, 2021
.NET 6 Preview 5 ile beraber gelen en heyecan verici yeniliklerden biri de .NET içerisinde implemente edilen source generatorların yavaş yavaş günyüzüne çıkması. Bu yazıda System.Text.Json API'larına gelen source generator desteğini inceleyeceğiz. Source generatorlar nedir, nasıl kullanılır gibi konularda bilgi almak isterseniz aşağıdaki blog yazılarını veya meetup videosunu izleyebilirsiniz. ...
Devamı →

Source Generatorlara Nasıl Unit Test Yazarız?

Haziran 07, 2021
Bugüne kadar source generatorlar ile ilgili pek çok konuyu blogdaki yazılarda işledik. Hatta geçtiğimiz haftalarda bu konuyla ilgili Teknolot topluluğunun düzenlediği meetupta da detaylı olarak source generatorları anlatma fırsatı yakaladım. Gerek o meetupta gerekse blogdaki yazılarda bahsetmek isteyip ancak fırsat bulamadığım tek bir konu kaldı. O da source generatorlara nasıl unit test yazarız k...
Devamı →

.NET 6 Preview 4 İle Beraber System.Text.Json API'larına Gelen Yenilikler

Mayıs 25, 2021
Herkese Selamlar, Blogda bundan önce yazdığım yazılarda System.Text.Json API'larından uzun uzun bahsettim. Eğer yazıları görmediyseniz ve okumak isterseniz aşağıdaki linkleri kullanabilirsiniz. .NET Core'da JSON API'ları: https://www.ilkayilknur.com/net-coreda-json-apilari System.Text.Json API'larına .NET 5.0 İle Beraber Gelen Yenilikler: https://www.ilkayilknur.com/system-text-json-apilarin...
Devamı →

Teknolot Source Generatorlara Bakış Meetupı

Mayıs 25, 2021
Herkese Selamlar, 24 Mayıs 2021 tarihinde sevgili Teknolot'un YouTube kanalında Source Generatorlara Bakış başlıklı meetupda bir konuşma gerçekleştirdim. Meetup kaydına aşağıdan ulaşabilirsiniz. ...
Devamı →

.NET Uygulamalarında Trimming Kontrolü

Mayıs 10, 2021
Bundan önceki yazılarımdan birinde uygulamalarımızı yayınlarken kullanabileceğimiz opsiyonlardan bahsetmiştim. O yazıda .NET'in kurulu olmadığı yerlerde uygulamayı .NET runtime'ı ile birlikte deploy etme opsiyonunun deployment paketlerini ne kadar büyüttüğünü de görmüştük. Bu sorunun çözümü olarak uygulamanızı publish ederken sadece uygulamanın kullandığı ve uygulamanın çalışması için gerekli olan...
Devamı →

Params Kullanımında Oluşabilecek Allocationlar

Nisan 18, 2021
Bir önceki yazıda foreach döngülerinde oluşabilecek olan allocationlardan bahsetmiştik. Bu yazıda ise params kullanımını incelleyeceğiz ve oluşabilecek allocationlara bakacağız. Değişen sayıda parametre kabul eden metotlarda params keywordünü kullanıp, metodu çağıranların parametreleri kolay bir şekilde sırayla geçmesini sağlayabiliyoruz. Örnek yapmamız gerekirse... public void DoWork(params s...
Devamı →

Foreach Döngülerinde Oluşabilecek Allocationlar

Nisan 11, 2021
Herkese Selamlar, Bu yazıda konumuz foreach döngülerinin oluşturabileceği allocationlar. Biraz ilginç bir konu. :) Konuya hemen basitçe giriş yapalım. Bir foreach döngüsü yazdığımızda yazdığımız kod compiler tarafından yaklaşık olarak aşağıdaki gibi dönüştürülür. Foreach Döngüsü List<int> Collection = new List<int>(); foreach (var item in Collection) { }  Çevrilmiş ha...
Devamı →