İlkay İlknur

Welcome

Subscribe to RSS or email service to get notified when a new post is available.

.NET Uygulamalarında Kullanabileceğimiz Diagnostics Araçları

January 17, 2021
Bu yazıda .NET uygulamalarımızı monitör ederken, memory ve performans problemeleriyle karşılaştığımızda kullanabileceğimiz diagnostics araçlarını inceleyeceğiz. Daha öncesinde yine bu kapsamda dotnet-counters isimli aracı blogda yazmıştım. Dilerseniz o yazıyı da okuyabilirsiniz. dotnet-trace dotnet-trace CLI toolu ile çalışan .NET uygulamaların tracelerini toplayabiliyoruz. Bu tool cross-platfor...
Continue Reading →

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

January 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...
Continue Reading →

Lambda Expressionlarda Allocationlardan Kaçınmak

December 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...
Continue Reading →

Source Generatorlar İle Kod Yazan Kod Yazma

December 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...
Continue Reading →

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

October 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...
Continue Reading →

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

October 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...
Continue Reading →

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

September 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 ...
Continue Reading →

.NET Uygulama Yayınlama Opsiyonları

September 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....
Continue Reading →

C# 9.0 İle Beraber Gelen Diğer Yenilikler

September 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...
Continue Reading →

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

August 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...
Continue Reading →