All Coder Things
Yazılım geliştirme üzerine makaleler, referanslar ve pratik proje serileri.
Rehberler
Öne Çıkan Makaleler
C# Task Parallel Library (TPL) ve Paralel Programlama
C#’ta Task Parallel Library ve paralel programlamayı öğrenin. Task, Parallel ve eşzamanlı işlem senaryoları örneklerle anlatılıyor.
C# Katmanlı Mimari ve Clean Architecture
C#’ta katmanlı mimari ve Clean Architecture yaklaşımını öğrenin. Bağımlılık yönetimi ve sürdürülebilir proje yapıları anlatılıyor.
C# Extension Metotlar
C#’ta extension metotları öğrenin. Mevcut sınıfları değiştirmeden yeni metotlar eklemeyi örneklerle keşfedin.
C# için Visual Studio / VS Code İpuçları
C# geliştiricileri için Visual Studio ve VS Code ipuçlarını öğrenin. Verimlilik artıran kısayollar ve geliştirme teknikleri.
C# Span ve Memory ile Performans Optimizasyonu
C#’ta Span
C# Struct (Yapılar) – Class ile Farkları
C#’ta struct ve class arasındaki farkları öğrenin. Bellek modeli, kalıtım, boxing ve performans karşılaştırmalarıyla açıklanıyor.
C++ Derleyici ve IDE Kurulumu (Visual Studio, GCC, Clang)
C++ geliştirme ortamını kurmayı öğrenin. Visual Studio, GCC ve Clang ile derleyici ve IDE kurulumu adım adım anlatılıyor.
C++ Operator Overloading (Artırma, Karşılaştırma vb.)
C++’ta operator overloading kullanımını öğrenin. Aritmetik, karşılaştırma ve özel operatörleri sınıflarınız için tanımlamayı keşfedin.
C++ Operatörler: Aritmetik, Karşılaştırma, Mantıksal
C++ operatörlerini öğrenin. Aritmetik, karşılaştırma ve mantıksal işlemlerle program akışını kontrol etmeyi örneklerle keşfedin.
C# Source Generators Kavramı (C# 9+)
C# Source Generators kavramını öğrenin. Derleme zamanında kod üretimi ve performans avantajları örneklerle açıklanıyor.
C# Asenkron Programlama Temelleri (async/await)
C#’ta async ve await kullanımını öğrenin. Asenkron işlemler, Task yapısı ve performanslı uygulama akışları örneklerle anlatılıyor.
C# Koleksiyonlar: List, Dictionary, Queue, Stack
C# koleksiyonlarını öğrenin: List, Dictionary, Queue ve Stack. Veri yönetimi, ekleme/çıkarma ve kullanım senaryoları örneklerle.
C++ Döngüler: for, while, do-while
C++ döngülerini öğrenin. for, while ve do-while yapılarıyla tekrar eden işlemleri ve program akışını kontrol etmeyi keşfedin.
C# Diziler (Array)
C#’ta dizileri (array) öğrenin. Eleman ekleme, erişim, döngülerle gezinme ve temel array işlemleri örneklerle anlatılıyor.
C# Random İşlemleri
C#’ta Random sınıfını kullanarak rastgele sayı, değer ve seçim üretmeyi öğrenin. Next, NextDouble ve örneklerle anlatım.
C# Sınıf (Class), Object, Property ve Metotlar
C#’ta class, object, property ve metot kavramlarını öğrenin. Nesne yönelimli programlamanın temel yapı taşları örneklerle açıklanıyor.
C# Döngüler (for, foreach, while, do-while)
C#’ta for, foreach, while ve do-while döngülerinin nasıl kullanıldığını öğrenin. Tekrar eden işlemleri yönetmek için pratik örnekler keşfedin.
C++'ta Sınıflara (Class) Giriş
C++’ta class kavramını öğrenin. Sınıf tanımlama, nesne oluşturma, üyeler ve nesne yönelimli programlamanın temelleri örneklerle anlatılıyor.
C# Tasarım Desenleri (Factory, Singleton, Repository, Observer vb.)
C#’ta Factory, Singleton, Repository ve Observer gibi tasarım desenlerini öğrenin. Esnek ve sürdürülebilir yazılım geliştirme örneklerle anlatılıyor.
C++ Koşullu İfadeler: if, else if, switch
C++’ta if, else if ve switch yapılarını öğrenin. Koşullara göre karar verme ve program akışı örneklerle anlatılıyor.
C# ile Clean Code Prensipleri
C# ile clean code prensiplerini öğrenin. Okunabilir, sürdürülebilir ve bakımı kolay kod yazma teknikleri örneklerle anlatılıyor.
C# DateTime & TimeSpan ile Tarih İşlemleri
C#’ta DateTime ve TimeSpan kullanarak tarih ve zaman işlemlerini öğrenin. Karşılaştırma, ekleme, çıkarma ve formatlama örnekleriyle.
C++ Kalıtım (Inheritance) Temelleri
C++’ta kalıtımın temellerini öğrenin. Taban ve türetilmiş sınıflar, erişim belirleyicileri ve kod tekrarını azaltma örneklerle anlatılıyor.
C# Benchmarking Kullanımı (BenchmarkDotNet)
C#’ta BenchmarkDotNet ile benchmarking yapmayı öğrenin. Performans ölçümü ve kod optimizasyonu için pratik örnekler.
C# Hata Ayıklama (Debugging) Teknikleri
C#’ta hata ayıklama tekniklerini öğrenin. Breakpoint, watch, step into/out ve debug araçlarıyla sorunları hızlıca çözün.
Son Eklenen Örnekler
.NET'te Atomik Dosya Yazma: Yarım ve Bozuk Dosyaları Önleyin
İçeriği önce geçici dosyaya yazıp diske aktarın, ardından replace veya move kullanarak yarım ve bozuk dosya oluşma riskini azaltın.
ASP.NET Core (.NET 8) Idempotency Key: Tekrarlanan POST İsteklerini Engelleyin
Idempotency-Key header’ı ile POST isteklerini güvenli şekilde tekrar edilebilir hale getirin; ilk yanıtı saklayıp tekrarında aynı yanıtı döndürerek çift kayıtları önleyin.
ASP.NET Core’da Güvenli Sort & Filter: Whitelist ile Query Builder
?sort=name,-createdAt&filter=country:TR,status:active gibi parametreleri whitelist ile güvenli parse edin; alan adlarını expression/kolon map’leyerek injection riskini azaltın.
ASP.NET Core Validation Hataları: ModelState'i { field, message }[] Formatına Dönüştürme
InvalidModelStateResponseFactory ile ModelState hatalarını { field, message }[] formatına normalize edin; böylece istemci tarafında form doğrulama hataları tek tip işlenir.
.NET’te Klasörü ZIP’leme (Progress ile) – WPF Örneği
ZipArchive ve IProgress kullanarak bir klasörü ZIP’lerken ilerlemeyi WPF ProgressBar’a aktarın ve UI’ı akıcı tutun.
ASP.NET Core'da Standart API Response Formatı (Result)
ASP.NET Core projelerinde başarı ve hata yanıtlarını Result
Öne Çıkan Örnekler
.NET’te Klasörü ZIP’leme (Progress ile) – WPF Örneği
ZipArchive ve IProgress kullanarak bir klasörü ZIP’lerken ilerlemeyi WPF ProgressBar’a aktarın ve UI’ı akıcı tutun.
ASP.NET Core'da ProblemDetails: TraceId ile Temiz Hata Yanıtları
Exception'ları RFC 7807 ProblemDetails formatına çevirin ve traceId ekleyin. Böylece istemci tutarlı hata alır, loglarda ilgili isteği kolayca bulursunuz.
ASP.NET Core Web API’de Temiz Pagination (Header + Link)
Response body’de yalnızca öğeleri döndürün, pagination metadatasını header’lara taşıyın. RFC 5988 Link header ile next/prev sayfalarını yönetin.
.NET'te Atomik Dosya Yazma: Yarım ve Bozuk Dosyaları Önleyin
İçeriği önce geçici dosyaya yazıp diske aktarın, ardından replace veya move kullanarak yarım ve bozuk dosya oluşma riskini azaltın.
ASP.NET Core Validation Hataları: ModelState'i { field, message }[] Formatına Dönüştürme
InvalidModelStateResponseFactory ile ModelState hatalarını { field, message }[] formatına normalize edin; böylece istemci tarafında form doğrulama hataları tek tip işlenir.
ASP.NET Core (.NET 8) Idempotency Key: Tekrarlanan POST İsteklerini Engelleyin
Idempotency-Key header’ı ile POST isteklerini güvenli şekilde tekrar edilebilir hale getirin; ilk yanıtı saklayıp tekrarında aynı yanıtı döndürerek çift kayıtları önleyin.
ASP.NET Core'da Standart API Response Formatı (Result)
ASP.NET Core projelerinde başarı ve hata yanıtlarını Result
ASP.NET Core’da Güvenli Sort & Filter: Whitelist ile Query Builder
?sort=name,-createdAt&filter=country:TR,status:active gibi parametreleri whitelist ile güvenli parse edin; alan adlarını expression/kolon map’leyerek injection riskini azaltın.
ASP.NET Core (.NET 8) IP Bazlı Rate Limiting: 429 Too Many Requests
.NET 8’in yerleşik rate limiting altyapısıyla IP başına istek sınırı koyun ve aşımda 429 + Retry-After döndürerek API’nizi koruyun.