Kategori: C Sharp – C#


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

Gençay Yıldız’ın C Sharp – C# ile ilgili yazıları.

0

.NET 8 – Collection Expressions

Merhaba, Bu içeriğimizde .NET 8 ile C# programlama diline gelmiş olan yeni koleksiyonel syntax yapısından bahsediyor olacağız. Malumunuz C#’ta bir koleksiyon ya da dizi oluşturabilmek için genellikle aşağıdaki söz dizimlerinden istifade ediyorduk. Artık bu...

.NET 9 0

SearchValues İle Dizi Arama Performansını Artırma

Merhaba, Malumunuz iş süreçlerinde belirli işlemler için diziler içerisinde veri aramak oldukça yaygın bir davranış olabilmektedir. Amma velakin bu davranışlar ciddi maliyetlere ve önemli ölçüde performans kayıplarına da yol açabilmektedir. Bu içeriğimizde, bu tarz...

.NET 8 1

.NET 8 – global using İle Anlık Type Tanımlama

Merhaba, C# ile yaptığımız geliştirmelerde bazen anlık olarak elimizdeki verileri bütünsel olarak temsil edebilecek ve sadece o an için kullanacağımız bir türe ihtiyacımız olabiliyor. Bu tarz durumlarda bir class, record ya da struct tanımından...

Load Balancing(Yük Dengeleme) ve Load Balancer(Yük Dengeleyici) Nedir? 0

YARP Load Balancing İle Yatay Ölçeklendirme(Horizontally Scaling-Scaling Out)

Merhaba, Biliyorsunuz ki, bir yazılımdan beklenen mühim davranışlardan biri sürdürülebilirliktir. Tek bir sunucuda çalıştırılan yazılımlar artan sayıda kullanıcılara hizmet verirken kaynakların yetenek sınırlarına ulaşıldığında istemsizce performans düşmesi, yavaş yanıt süreleri, trafikte dalgalanmalar ve hatta...

0

Event-Driven Mimaride Yinelenen Mesajlar – Idempotent Sorunsalı ve Idempotent Consumer Pattern

Merhaba, Yazılım olgusu, tabiatı gereği birbiriyle etkileşim kurma mecburiyetinde olan farklı bileşenlerden meydana gelip, anatomik olarak bütünlük arz eden bir olgudur. Bu bütünlüğün içerisindeki bileşenler arasındaki etkileşimi modelleyebilmemizi sağlayan türlü yaklaşımlar mevcuttur ve bu...

2

C# 11 İle Gelen Generic Attribute Yapılanması

Merhaba, Bu içeriğimizde C# programlama dilinin 11. versiyonunda gelerek büyük bir eksikliği giderecek olan ve mimarisel çalışmalarda tür/type ile ilgili manevralarda kodumuza/yapımıza oldukça esneklik kazandıracak olan Generic Attribute özelliğini inceliyor olacağız. Esasında C# 11...

0

C# 11 – List and Slice Pattern

Merhaba, Gün geçmiyor ki, C# yeteneklerine yeni bir nitelik kazandırmasın 🙂 Bu içeriğimizde, C# 11 ile gelen özellikler arasında nacizane olarak oldukça kullanışlı gördüğüm List Pattern üzerine odaklanacak ve gelen bu yeniliğin tüm özelliklerini...

0

C# 10 – Record Structs

Merhaba, Bu içeriğimizde C# 9.0 ile hayatımıza giren record yapısının C# 10 ile gelen record structs isimli yeni özelliği üzerine incelemede bulunuyor olacağız. Her şeyden önce record yapısının ne olduğunu hatırlatan girizgâhla başlayalım. Record’lar;...

0

C# 10 – Global Using Directive

Merhaba, Son zamanlarda .NET 6 ve C# 10 ile gelen yeniliklerde, kodun sadeliğine ve teknik açıdan doğrudan doğruya işlevsel amacını gerçekleştirmeye odaklanıldığı dikkatinizi çekmiştir! Buna en güzel örnek, Asp.NET Core 6’da gelen sadeleştirilmiş konfigürasyon...

0

C# 10 – CallerArgumentExpression Attribute’u

Merhaba, Bu içeriğimizde, C#’ın gelişim yolunda geçmişteki tartışmaları nihayete erdiren ve C# 8.0’da duyurulup, ertelenen, C# 9.0’da beklenirken sonunda C# 10 ile gelen CallerArgumentExpression attribute’u üzerine incelemede bulunuyor olacağız. Caller? Attribute’u Tanıdık mı Geliyor?...

1

C# – ExpandoObject İle Dinamik Nesne Oluşturma

Merhaba, Hiç bir nesneyi runtime’da dinamik olarak tasarlama ihtiyacı hissettiniz mi? Ya da client’ın talebi üzerine üretilen data object içerisinde bulunacak olan alanların dışarıdan(client tarafından) belirlendiği senaryolara denk geldiniz mi? Bu yazıyı okuyorsanız muhtemeldir...

Event Sourcing Nedir Haydi Gelin Hep Beraber İnceleyelim 11

Event Sourcing Nedir? Haydi Gelin Hep Beraber İnceleyelim

Merhaba, Bu içeriğimizde, bir veri üzerinde meydana gelen tüm değişiklikleri kayıt altında tutmamızı öneren ve böylece ilgili verinin sadece güncel ham vaziyettinden ibaret tutulmasından ziyade o verinin süreçte yaşadığı değişikliklerinde esasında ilgili verinin bir...

2

C# 9.0 – Static Anonymous Functions

Merhaba, Nasıl ki, beşeri bir dilin keskinliği, o dilin belagat ve fesahata olan yatkınlığına, belagat ve fesahata olan yatkınlığı ise ilgili dilin tarihsel dokusuna yani bir başka deyişle temas ettiği insanlık tecrübesine bağlı, benzer...

3

C# 9.0 – Pattern Matching Enhancements

Merhaba, Pattern Matching’ler ilk olarak C# 6.0’da tanıtıldılar ve ardından C# 7.0’da(bknz : C# 7.0 – Pattern Matching) daha da geliştirildiler ve C# 8.0’da(bknz : C# 8.0 – Switch Expression(Property – Tuple – Positional...

0

C# 9.0 – Lambda Discard Parameters

Merhaba, C# 7.0 sürümünde hayatımıza girmiş olan Discard Kavramı, C# 9.0 versiyonunda alanını daha da genişleterek lambda ifadelerinde de kullanılabilir bir hal almıştır. Herşeyden önce Discard’ın ne olduğunu hatırlayarak başlayalım… Değişken tanımlamaya ihtiyaç duyulmadığı...

0

C# 9.0 – Target-Typed New Expressions

Merhaba, C# 9.0 sürümünde, nesne oluşum süreçlerinde semantik açıdan inanılmaz kolaylık sağlayan Target-Typed New Expressions özelliğini duyurmuştur. Bu özellik, new operatörü ile türü bilinen bir class’tan nesne yahut bir struct’tan değer üretilirken constructor çağrımı...

3

C# 9.0 – Top-Level Statements

Merhaba, Bir dilin gücünü gösteren birçok faktör vardır. Yer yer bu güç ayrımını ihtiyaçlar belirlerken, bazı dönemler popüler ihtiyaçları(veri madenciliği, yapay zeka vs.) karşılayabilen diller bu özellikleriyle kendilerini daha güçlü şekilde kulvarlara sunabilmektedirler. Sanırım...

7

C# 9.0 – Records İle Immutable Datalar

Merhaba, Hani bazen gelen yenilik, var olan küçük bir gediği kapatmak için yapılan bir onarımdan yahut iyi ya da kötü bir değişiklikten ibaret olabilmektedir. Lakin bazıları vardır ki, hangi olgu üzerinde olursa olsun bir...

.NET Core - Span ve Memory Türleri Nedir? 0

.NET Core – Span ve Memory Türleri Nedir?

Merhaba, Bu içeriğimizde, STACK yahut HEAP farketmeksizin bellekte ardışıl olarak tanımlanmış belirli bir bölgeye tip güvenliğiyle erişmemizi sağlayan Span<T> ve onun belirli kısıtlamalardan arındırılmış muadili olan Memory<T> struct türlerini inceliyor olacağız. Nedir bu Span<T>...

ArraySegment ve StringSegment Türleri ve Kullanımları 0

ArraySegment ve StringSegment Türleri ve Kullanımları

Merhaba, Bu içeriğimizde bir referans tarafından işaretlenmiş dizi(array) üzerindeki bir aralığa farklı bir referans ile sahip olmamızı sağlayan ArraySegment<T> ve onun string türlerine karşılık muadili olan StringSegment türlerini inceliyor olacağız. Nedir bu ArraySegment<T> ve...

2

Yazılımda Side Effect(Yan Etki) Kavramı Nedir?

Merhaba, Bu içeriğimizde yazılım kaynaklarının satır aralarında termonolojik olarak geçen ‘Side Effect’ kavramı üzerine duracak, ne olduğuna dair incelemede ve izahatte bulunacak ve bir durumu kavramsallaştırarak anlam bütününü ifade eden bu terim üzerine bir...

1

C# – Delegasyon İle Exception Yönetimi

Merhaba, Proje geliştirme süreçlerinde en önemli noktalardan birisi uygulamanın herhangi bir noktasında olan anlık hataları/aksaklıkları/istisnaları takip etmemizi sağlayan try – catch yapılanmasıdır. Bu yapılanma, bir vücudun genel sinir ağ yapılanmasını oluşturan ve sanki deri...

csharp8 0

C# 8.0 – Readonly Members

Merhaba, Geliştirilen yazılımlarda, bazen tasarım amacınızı tam olarak belirtebilmenizi sağlayıcı yapılara yahut bu yapılardan ziyade bu işi gerçekleştirebilecek keywordlere ihtiyaç duyabilirsiniz. C# 8.0 versiyonu ile Readonly Members özelliği, inşa edilen tasarım üzerinde tamda istendiği...

0

Thread Safe – ConcurrentQueue, ConcurrentDictionary, ConcurrentBag, ConcurrentStack ve BlockingCollection Koleksiyonları ve Kullanım Durumları

Merhaba, Yazılımsal problemlere çözüm olarak geliştirdiğimiz algoritmalar ihtiyaca dönük olarak yer yer asenkron işlevde geliştirilebilmektedirler. Asenkron süreçler, senkron gidişata nazaran process önceliğini tahmin edilemeyecek bir şekilde değiştirebilecek bir doğaya sahiptirler. Haliyle bu tahmin edilememezlik...

5

C# 7.0 – Discard Kavramı

Merhaba, Genellikle C# sürümlerindeki yenilikler üzerine konu bazlı değerlendirme içerikleri oluşturarak mümkün mertebe kendimi ve bloğumu güncel tutmaya çalışmaktayım. Tabi arada bazı konular gözden kaçabilmekte yahut sonra değerlendirilmek üzere ileriye ötelenebilmektedir. Bu içeriğimizde C#...

2

C# – Flags Attribute’u İle Toplu Enumeration Tanımlama

Merhaba, Enumeration, yapısı gereği bir veya birden fazla değeri numaralandırmak ve bu atanan numaralar üzerinden işlem yapmak için kullanılan bir araçtır. Kullanım olarak birçok varyasyonu bulunsada bunlar arasında amaçsal olarak diğerlerinden farklılık göstermeyen lakin...

C# – WordPressSharp İle WordPress’e Veri Post Etme 22

C# – WordPressSharp İle WordPress’e Veri Post Etme

Merhaba, Siz değerli okuyucularım bilirsiniz ki, her ne kadar son teknolojileri takip etmeye çalışsamda biryandan da otomasyonel yapılar üzerine her daim ilgilenmekte ve mümkün mertebe içerikler oluşturmaya özen göstermekteyim. Dolayısıyla günlük hayatta yapmış olduğumuz...

0

C#’ta Programatik Nesne Oluşturma

Merhaba, C# programlama dilinde bir sınıftan instance talep ederken “new” operatörünü kullanmaktayız. “new” operatörü, talep edilecek olan nesnenin hangi sınıftan olacağını kesin bilmek ister ve dolayısıyla bu ihtiyacını ilgili sınıfın tarafımızdan belirtilerek giderilmesini istemektedir....

7

C# İle Token Authentication Uygulanan Web API Tetikleme

Merhaba, Bir önceki C# İle Web API Tetikleme başlıklı makalemde C# ile Web Api tetiklemeyi incelemiştik. Lakin Token Authentication uygulanan web apinin nasıl tetiklendiğini bu makalemize bırakmıştık. Şimdi bu içeriğimizde, Token Authentication uygulanan web...

1

C# İle Web API Tetikleme

Merhaba, Son zamanlarda Asp.NET MVC Web API üzerine odaklanmış bulunmaktayım. Dolayısıyla bu konuya dair akıllara gelebilecek tüm sorulara cevap verebilmek için bir çaba içerisine girmiş bulunmaktayım. Velhasıl bu içeriğimizde, C# ile Web API’nin nasıl...

6

C#’ta Rastgele Sayı Üretimi Sorunsalı

Merhaba, Yazılım olgusu, bilgisayara kullanıcının isteği doğrultusunda algoritmik bir senfoni eşliğinde komutlar ile taleplerde bulunulan ve bu taleplere karşı verilen cevaplara yahut olayların gidişatı kontrolünde beklenen durumlara göre süreci amaca uygun bir şekilde işleterek...

37

C#’ta ClickOnce Deployment İle Uygulamaya Güncelleme Desteği

Merhaba, Günümüzde bir yazılımın gelişim sürecindeki temel gaye, tüm plan ve algoritmaların gerçekleştirilmesi ve nihai unsur olarak ürünün elde edilmesinden ziyade ürünün inşasından sonraki gelişim sürecini de ilgilendiren durumları hesaba katmak ve yeni güncellemeleri...

1

C# 7.2 Readonly Structs

Merhaba, Yazılım dendiğinde çoğu meslektaşımın aklına “on binlerce veriyi doğru işleyebilmek ve bu işlenmiş verileri organize bir şekilde yönetebilmek” gelmektedir. Lakin ben deniz bu soruya karşılık bu cevabın her ne kadar doğruluğuna katılsamda ufak...

2

C# 7.2 – Ref Readonly Returns

Merhaba, Farkında mısınız bilmem ama her .NET yeniliklerinde metotların dönüş tiplerine ve parametrelerine bir müdahalede bulunulmakta ve özellikle referanslar aracılığıyla yapılan işlemlere büyük titizlik gösterilmektedir. Bu değerlendirmeye istinaden en son .NET güncellemesi ile sunulan...

0

C# 7.2 – Non-Trailing Named Arguments

Merhaba, .NET; prosedürel mekanizmaların esas aygıtı olan metot yapılarında her geçen gün daha esnek bir işlevsellik sunmakta ve kullanılabilite açısından farklı syntax varyasyonlarıyla bu yapıyı geliştirmektedir. Hatırlarsanız eğer geçtiğimiz yıllarda C# 7.0 – Local...

2

C# 7.2 – Private Protected Access Modifier

Merhaba, C#’ta erişim belirleyicileri hakkında C# Inheritance(Kalıtım,Miras) başlıklı yazımızda detaylı bir değerlendirmede bulunmuştuk. Bu erişim belirleyicilerinin yanına C# 7.2 versiyonu ile Private Protected access modifierı eklenmiş bulunmaktadır. Şimdi bu içeriğimizde yeni gelen Private Protected...

1

C# 7.2 – In Parameters

Merhaba, C#’ta metotlara gönderilen parametreler üzerinde farklı işlevsellikler gösteren “ref” ve “out” keywordleri mevcuttur. C# 7.2 versiyonu ile bu keywordlerin yanına “In” komutuda eklenmiştir. Gelin bu yeni gelen komutu önceki var olanlarla mukayese ederek...