İlkay İlknur

Hoşgeldiniz

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

C# 8.0 İle Beraber Daha Kolay İndeksleme ve Slicing

Ocak 10, 2021
Herkese Selamlar, Bu yazıda C# 8.0 ile beraber gelen ve çok az bilindiğini düşündüğüm indexing ve slicing operasyonlarında kullanabileceğimiz bir özelliği inceleyeceğiz. Tabi öncelikle programlama dili tarafındaki kolaylıklara geçmeden önce .NET Standart 2.1 ve .NET Core 3.0 ile beraber gelen System.Index ve System.Range tiplerine bir bakalım. public readonly struct Index : IEquatable<Index...
Devamı →

Lambda Expressionlarda Allocationlardan Kaçınmak

Aralık 19, 2020
Bir süre önce Twitter ve LinkedIn hesabımda CLR Heap Allocation Analyzer isimli bir Visual Studio extensionından bahsetmiştim. Bu extensionı kullanan çoğu kişi farkında olmadan yaptığı bazı allocationlardan kolayca kurtulabilirken özellikle tek bir noktada takılıp kalabiliyorlar. O da lambda expresionların neden olduğu allocationlar. Oldukça sinsice gerçekleşen bir allocation olduğu için farkedilm...
Devamı →

Source Generatorlar İle Kod Yazan Kod Yazma

Aralık 08, 2020
Bu yazıda beni de uzun zamandan beri heyecanlandıran bir özelliği inceleyeceğiz. C# 9.0 ile beraber gelen programlama dili yeniliklerinin yanında belki de yeterli ilgiyi görmeyen ama uzun vadede pek çok şeyi değiştirebilecek olan özelliklerden biri source generatorlar. Source generatorlar bizim derleme zamanı sırasında varolan kodları analiz edip yeni kodlar yaratmamızı ve bunları da derlemeye dah...
Devamı →

System.Text.Json API'larına .NET 5.0 İle Beraber Gelen Yenilikler

Ekim 25, 2020
Önceki yazılarımdan birinde .NET Core 3.0 ile beraber gelen yeni System.Text.Json API'larından bahsetmiştim. O yazıyı, bu API'ların mevcutta kullandığımız Newtonsoft.Json kütüphanesine göre oldukça yeni olduğundan bu nedenle de özellik bakımından arada farklar olabileceğinden, .NET 5.0 ile beraber bu farkın biraz daha kapanacağından bahsederek sonlandırmıştım. Bu yazının konusu da System.Text.Json...
Devamı →

stackalloc İfadesi Nedir? Nasıl Kullanılır?

Ekim 17, 2020
Bu yazıda kod yazarken belki intellisense pencereseninde adını görüp merak ettiğiniz belki de arada kullandığınız stackalloc ifadelerinden bahsedeceğiz. stackalloc ifadesi en basit anlatımla stack üzerinde belirtilen kadar bir blok memory allocate etmek için kullanılır. Stack üzerinde allocate edilen bu alan metot sonlanmasıyla beraber otomatik olarak boşa çıkacağı için GC üzerinde de herhangi bir...
Devamı →

ASP.NET Health Check Mekanizması ve Azure App Servicelerde Health Check Kullanımı

Eylül 25, 2020
Health check mekanizmaları uygulamamızın sağlığının yerinde olup olmadığını görebildiğimiz ve gerekli durumlarda da dışarıya bildirebildiğimiz mekanizmalar. Uygulamanızı monitör ederken bu mekanizmadan gelen sonuçları değerlendirebileceğiniz gibi aynı zamanda bu API'ları load balancer veya container orchestratora verip onların bu bilgileri kullanarak trafik yönlendirmesi veya instanceları restart ...
Devamı →

.NET Uygulama Yayınlama Opsiyonları

Eylül 18, 2020
Biz yazılımcılar için çalışan kodu yazmak kadar uygulamayı doğru ve sağlıklı bir şekilde yayına almak da oldukça önemli. Bildiğiniz üzere .NET Core ile beraber artık uygulamalarımızı cross-platform çalıştırabiliyoruz. Belki çoğu zaman sadece dotnet publish komutunun en yalın halini bazen de Visual Studio üzerinden publish ekranını kullanarak hızlı bir şekilde uygulamaları yayına alıyor olabiliriz....
Devamı →

C# 9.0 İle Beraber Gelen Diğer Yenilikler

Eylül 04, 2020
Bir önceki yazıda C# 9.0'ın teması olan immutable data ile çalışma yeniliklerinden bahsetmiştik. Bu yazıda ise C# 9.0 içerisinde yer alan diğer yeniliklere bakacağız. Vakit kaybetmeden incelemeye hızlıca başlayalım. Target-typed new expressions Bir nesne yaratılırken eğer nesne tipi tahmin edilebiliyorsa constructor çağırma öncesinde tip belirtilmesi artık zorunlu olmayacak. Özellikle parametre...
Devamı →

C# 9.0 İle Immutable Data İle Çalışma (Recordlar ve Init-Only Propertyler)

Ağustos 27, 2020
.NET 5.0'in final release'inin ayak seslerinin gittikçe yaklaşmasıyla beraber C#'ın da bir sonra versiyonu olan 9.0'dan yavaş yavaş bahsetmemizin zamanı geldi. Artık bildiğimiz üzere her C# versiyonuyla beraber programlama dilini dizayn eden ekip, topluluğun da katkısıyla bir tema üzerinde yoğunlaşıp bu tema üzerinden özellikleri dile eklemekte. Eski versiyonlardan bu zamana kadar olan versiyonlar...
Devamı →

.NET Core Uygulamalarını dotnet-counters İle Monitor Etmek Ve Custom EventCounter Tanımlama

Ağustos 20, 2020
Bu yazıda .NET Core uygulamalarını monitör ederken kullanabileceğimiz .NET Core 3.0 ile beraber gelen dotnet-counters isimli araçtan bahsedeceğiz. dotnet-counters aracı basit olarak EventCounter API'ı üzerinden gönderilen counterları okumamızı veya saklamamızı sağlayan bir araç. EventCounter API'ları windows tarafında kullandığımız performance counterların aslında cross-platform versiyonu. EventCo...
Devamı →