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

Arşivden yazılar

10 yazı
Rider Log Mesajlarının Sonundaki Noktaya Neden Takılıyor?
• 6 dk okuma • #c#

Rider Log Mesajlarının Sonundaki Noktaya Neden Takılıyor?

Rider'da log yazarken karşıma çıkan küçük bir uyarı, yıllardır pek sorgulamadan yaptığım bir şeyi yeniden düşündürdü. Bir kayıt mesajının sonunda nokta bulunması neden sorun olarak görülüyor ki? Okuyan için bu çok farkeden bir nokta değil sonuçta, değil mi? Bu yazıda uyarının arkasındaki yaklaşımı, yapılandırılmış loglamayla ilişkisini ve günlük geliştirme sürecinde işimize yarayabilecek bazı detayları kod örnekleriyle ele alıyorum.

MediatR’a Gerçekten İhtiyacımız Var mı? .NET’te Kendi Mini CQRS Pipeline’ımızı Yazmasak Mı?
• 10 dk okuma • #.net

MediatR’a Gerçekten İhtiyacımız Var mı? .NET’te Kendi Mini CQRS Pipeline’ımızı Yazmasak Mı?

CQRS kullanırken çoğu .NET projesinde ilk tercih MediatR oluyor. Fakat CQRS ile MediatR aynı şey değil ve özellikle küçük projelerde ihtiyaç duyduğumuz yapı düşündüğümüzden çok daha basit olabilir. Bu yazıda kendi mini command/query dispatcher yapımızı kurarak MediatR’ın hangi problemi çözdüğünü, pipeline yaklaşımının neden önemli olduğunu ve hazır bir kütüphane ile kendi abstraction’ımız arasında nasıl karar verebileceğimizi ele alıyorum.

Semantic Search Nedir? Kelimeyi Değil, Anlamı Aramak
• 4 dk okuma • #semantic search

Semantic Search Nedir? Kelimeyi Değil, Anlamı Aramak

Semantic Search, birebir kelime eşleşmesi yerine metnin taşıdığı anlamı dikkate alan bir arama yaklaşımıdır. Özellikle doğal dil ile yapılan sorgularda klasik yöntemlerin kaçırdığı sonuçları yakalayabilir. Bu yazıda semantic search mantığını, embedding yapısını ve Levenshtein gibi benzerlik yöntemlerinden farkını kısa örneklerle ele alıyorum. Son bölümde ise hangi durumlarda klasik aramanın hâlâ daha doğru tercih olduğunu değerlendiriyorum.

SAGA Pattern: Dağıtık Transaction Yönetimini Anlamak
• 12 dk okuma • #saga

SAGA Pattern: Dağıtık Transaction Yönetimini Anlamak

SAGA Pattern, tek bir ACID transaction ile yönetemediğimiz dağıtık iş akışlarını küçük ve bağımsız adımlara bölerek yönetmemizi sağlar. Özellikle farklı veritabanlarına sahip servislerde klasik rollback yaklaşımı yetersiz kaldığında devreye girer. Hata durumunda yapılan işi geri almak yerine, etkisini telafi eden yeni operasyonlar çalıştırılır. Bu yazıda SAGA'nın neden ortaya çıktığını, nasıl çalıştığını ve gerçek sistemlerde nelere dikkat edilmesi gerektiğini ele alıyorum.

Authentication, Authorization ve JWT Nedir? Aralarındaki Farklar Nelerdir?
• 4 dk okuma • #asp.net core

Authentication, Authorization ve JWT Nedir? Aralarındaki Farklar Nelerdir?

Authentication, Authorization ve JWT, modern web uygulamalarının en temel güvenlik kavramlarıdır ancak çoğu zaman birbirleriyle karıştırılır. Bu yazıda Authentication'ın kimlik doğrulama, Authorization'ın yetkilendirme sürecindeki rolünü ve JWT'nin bu süreçte nasıl kullanıldığını gerçek hayat örnekleri ve ASP.NET Core kodlarıyla adım adım inceliyoruz.

Forward Deployed Engineer: Yapay Zekâ Çağında Yazılım Geliştiriciliğinin Yeni Evrimi mi?
• 4 dk okuma • #forward deployed engineer

Forward Deployed Engineer: Yapay Zekâ Çağında Yazılım Geliştiriciliğinin Yeni Evrimi mi?

Son zamanlarda teknoloji şirketlerinin iş ilanlarında giderek daha sık karşılaştığım bir unvan var: Forward Deployed Engineer (FDE). İlk bakışta klasik bir yazılım geliştirici rolü gibi görünse de aslında müşteriyle birebir çalışan, gerçek problemleri çözen ve ürünü müşterinin ortamında başarıyla hayata geçiren hibrit bir mühendislik rolünü temsil ediyormuş. Peki bu "Forward Deployed Engineer" tam olarak ne yapar? Neden özellikle yapay zekâ şirketleri bu role yatırım yapıyor? Klasik Software Engineer rolünden farkı nedir?

AI Agent Geliştirmek Kolay ama Production'a Çıkarmak Zor
• 18 dk okuma • #ai

AI Agent Geliştirmek Kolay ama Production'a Çıkarmak Zor

Son dönemde herkes AI Agent geliştiriyor. Planner, Tool Calling, MCP, Multi-Agent... Demo ortamında her şey kusursuz görünüyor. Ama iş production'a geldiğinde işler değişiyor. Gerçek sorun modelin cevap vermemesi değil; aynı soruya farklı kararlar vermesi, tool'ların yarım sonuç döndürmesi, agent'ın sonsuz döngüye girmesi veya tek bir API'nin tüm akışı kilitlemesi. Bu yazıda, production'da en sık karşılaşılan dört AI Agent problemini .NET örnekleriyle ele alacağım. Ayrıca bu problemlerin neden oluştuğunu ve sistemi daha güvenilir hale getirmek için uygulayabileceğimiz basit ama etkili tasarım yaklaşımlarını paylaşacağım.

SaaS Uygulamalarda Tenant Nedir ve Nasıl Yönetilir?
• 5 dk okuma • #saas

SaaS Uygulamalarda Tenant Nedir ve Nasıl Yönetilir?

SaaS uygulamalarında en önemli mimari kavramlardan biri tenant yönetimidir. Doğru tasarlanmış bir tenant yapısı, tek bir uygulama üzerinden birçok müşteriye güvenli ve ölçeklenebilir şekilde hizmet vermeyi mümkün kılar. Bu yazıda tenant kavramını, subdomain ve custom domain kullanımını, veri izolasyonunu ve ASP.NET Core üzerinde uygulanabilecek temel yaklaşımları ele alıyoruz. Ayrıca gerçek hayatta karşılaşılabilecek senaryolar üzerinden multi-tenant mimarinin neden önemli olduğunu inceliyoruz.