blog yazıları.

Yazılım geliştirme, teknoloji ve deneyimlerimi paylaştığım yazılar. Modern .NET teknolojileri, ASP.NET Core, Entity Framework ve backend development konularında derin incelemeler.
Gelecek yazılar için buradan fikir edinebilirsin.

Aradığın notu bul.

Başlık, özet ve yazı içeriğinde tek yerden arayın.

Tüm konular

Öne çıkan

Okumaya buradan başla

Son yazılar

9 yazı
.NET Geliştiricileri İçin MCP Rehberi: AI Kod Asistanınızı Gerçek Araçlarla Güçlendirin
• 13 dk okuma • #.net

.NET Geliştiricileri İçin MCP Rehberi: AI Kod Asistanınızı Gerçek Araçlarla Güçlendirin

AI kod asistanlarıyla çalışırken yanlış API kullanımı, eski dokümantasyon ve eksik proje bağlamı gibi sorunlarla karşılaşabiliyoruz. MCP (Model Context Protocol), bu asistanların GitHub, NuGet, Microsoft Learn ve test araçları gibi harici kaynaklarla iletişim kurmasını sağlıyor. Bu yazıda .NET geliştiricilerinin günlük işlerinde kullanabileceği MCP sunucularını, hangi durumlarda tercih edilebileceklerini ve güvenlik açısından dikkat edilmesi gereken noktaları inceledim. Amacım her aracı kurmak değil, gerçekten işimize yarayanları seçebilmek.

Singleton, Scoped, Transient: .NET'te Hangisini Ne Zaman Kullanmalıyız?
• 15 dk okuma • #.net

Singleton, Scoped, Transient: .NET'te Hangisini Ne Zaman Kullanmalıyız?

Singleton, Scoped ve Transient, .NET Dependency Injection sisteminin en temel konularından biri olsa da gerçek projelerde aralarındaki farkı doğru uygulamak her zaman kolay değil. Bir servisin ne zaman oluşturulduğunu, ne kadar süre yaşadığını ve hangi nesnelerle aynı örneği paylaştığını anlamak, doğru yaşam döngüsünü seçmenin temelini oluşturuyor. Bu yazıda üç yaklaşımı çalışan kod örnekleri, nesne kimlikleri ve gerçek proje senaryolarıyla karşılaştırdım. Ayrıca DbContext, BackgroundService, IDisposable ve thread safety üzerinden yanlış servis kaydının nasıl sorunlara yol açabileceğini inceledim.

IHostedService mi, BackgroundService mi, Hangfire mı? .NET'te Arka Plan İşleri
• 10 dk okuma • #.net

IHostedService mi, BackgroundService mi, Hangfire mı? .NET'te Arka Plan İşleri

Bir .NET uygulamasında e-posta göndermekten toplu veri işlemeye kadar pek çok işi kullanıcı isteğinden bağımsız yürütebiliriz. Peki bunun için IHostedService mi, BackgroundService mi, yoksa Hangfire mı kullanmalıyız? Bu yazıda arka plan işleri ile zamanlanmış görevler arasındaki ayrımı açıklıyor, bu üç yaklaşımın nasıl çalıştığını kod örnekleriyle inceliyorum. Son olarak hangi senaryoda hangisini tercih edebileceğimizi ve uygulamada dikkat etmemiz gereken noktaları ele alıyorum.

MCP vs API: Rakip Değiller, Farklı Problemleri Çözüyorlar
• 8 dk okuma • #mcp

MCP vs API: Rakip Değiller, Farklı Problemleri Çözüyorlar

MCP ve API çoğu zaman birbirine rakip teknolojiler gibi anlatılıyor ancak aslında farklı problemleri çözüyorlar. API'ler uygulamalar arasındaki iletişimi sağlarken MCP, yapay zeka modellerinin dış sistemlerdeki araçları keşfetmesini ve kullanmasını standartlaştırıyor. Bu yazıda iki yaklaşımın farklarını, birlikte nasıl kullanılabileceklerini ve özellikle backend mimarileri açısından nelere dikkat edilmesi gerektiğini ele alıyorum.

SQL Server MARS Nedir? EF Core Transaction ve Savepoint Tuzağı
• 9 dk okuma • #sql server

SQL Server MARS Nedir? EF Core Transaction ve Savepoint Tuzağı

MARS, SQL Server’da aynı bağlantı üzerinde birden fazla aktif sonuç kümesiyle çalışmaya izin veren bir özellik. İlk bakışta masum görünen bu ayarın EF Core tarafında önemli bir yan etkisi var: MARS etkinse otomatik savepoint mekanizması devre dışı kalıyor. Bu da özellikle açık transaction içinde SaveChanges hatası yaşandığında işin rengini değiştirebiliyor. Bu yazıda MARS’ın gerçekten ne yaptığını, nerelerde gerekli olduğunu ve connection string’den kaldırmadan önce nelere bakılması gerektiğini anlatıyorum.

E-posta Doğrulaması Nasıl Yapılır? SPF, DKIM ve DMARC Akışı
• 13 dk okuma • #email

E-posta Doğrulaması Nasıl Yapılır? SPF, DKIM ve DMARC Akışı

Bir e-posta adresinin gerçekten kullanılabilir olup olmadığını anlamak, yalnızca adresin içinde @ işareti bulunup bulunmadığını kontrol etmekten çok daha fazlasını gerektiriyor. DNS ve MX kayıtlarından SMTP seviyesindeki kontrole kadar uzanan email verification süreci ile SPF, DKIM ve DMARC gibi email authentication mekanizmaları çoğu zaman birbirine karıştırılıyor. Bu yazıda ikisinin farkını netleştirip, bir e-posta adresi doğrulanırken ve bir e-posta alıcı sunucuya ulaştığında arka planda neler olduğunu adım adım inceleyeceğim. Sonunda SPF, DKIM ve DMARC'ın neden birlikte kullanıldığını da daha rahat görebileceğiz.

En İyi Kod Bazen Sildiğiniz Koddur
• 10 dk okuma • #ai

En İyi Kod Bazen Sildiğiniz Koddur

Yazdığımız her satırın yıllarca yaşamaya devam etmesi gerekmiyor. Özellikle yapay zeka destekli geliştirme araçları sayesinde, yalnızca bir problemi anlamak veya tek seferlik bir işi tamamlamak için küçük araçlar üretmek artık çok daha ucuz. Ben bu noktada kodu yalnızca ürünün bir parçası olarak değil, bazen geçici bir mühendislik aracı olarak da düşünmek gerektiğini düşünüyorum. Asıl mesele, hangi parçanın kalıcı olacağını ve hangisinin görevini tamamladıktan sonra silinmesi gerektiğini doğru ayırabilmek.

SQL Server ON DELETE CASCADE: Bir Foreign Key Ayarı Nasıl Veritabanınızın Yarısını Silebilir?
• 10 dk okuma • #sql server

SQL Server ON DELETE CASCADE: Bir Foreign Key Ayarı Nasıl Veritabanınızın Yarısını Silebilir?

SQL Server'da ON DELETE CASCADE, parent kayıt silindiğinde ona bağlı child kayıtların da otomatik olarak silinmesini sağlar. İlk bakışta oldukça kullanışlı olan bu özellik, yanlış veri modelinde kullanıldığında beklenmedik ve geniş çaplı veri kayıplarına yol açabilir. Bu yazıda cascade delete davranışını, NO ACTION ve SET NULL gibi alternatifleri ve hangi senaryolarda tercih edilmesi gerektiğini gerçek hayata yakın örneklerle ele alıyorum.

Git CLI mı, GUI mı? Git Bilmek Terminal Kullanmak mı Demek?
• 7 dk okuma • #git

Git CLI mı, GUI mı? Git Bilmek Terminal Kullanmak mı Demek?

Git tarafında terminal mi yoksa Fork ve GitKraken gibi görsel araçlar mı daha mantıklı? Uzun süredir devam eden bu tartışmada benim için cevap, yapılan işe göre değişiyor. Komut satırı bazı işlerde hızlı ve doğrudan ilerlemeyi sağlarken görsel araçlar özellikle branch geçmişi, conflict ve karmaşık operasyonlarda ciddi kolaylık sağlayabiliyor. Asıl önemli nokta ise hangi aracı seçtiğimizden çok, yaptığımız işlemin arka planda ne değiştirdiğini bilmek.