Selam, ben Berk Selvi

.NET Developer, blogger and builder.

Berk Selvi

Ben kimim?

Sigorta ve filo alanlarında domain uzmanlığına sahip, .𝗡𝗘𝗧 ve 𝗱𝗶𝘀𝘁𝗿𝗶𝗯𝘂𝘁𝗲𝗱 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 üzerine 2 yılı aşkın deneyimi olan bir Yazılım Geliştiricisiyim. Agile ortamlarında mühendislik pratiklerini iyileştirmeye, microservices ve event-driven architectures konularına odaklanıyorum. Software architecture, DevOps, open-source yazılımlar, topluluk önünde konuşma ve teknik blog yazarlığına tutku duyuyorum.

IEnumerable’dan IAsyncEnumerable’a: .NET’te Belleği Öldürmeden Büyük Veri Setlerini Streaming ile İşlemek

.NET’te IAsyncEnumerable, EF Core ile büyük veri setlerini kayıt kayıt streaming yaparak, tüm veriyi ToListAsync ile bir List’e yüklemeye kıyasla bellek kullanımını ciddi oranda azaltır.
→

.NET’te Idempotency Key Pattern: Ödeme API’niz İki Kere Çağrılırsa Ne Olur?

Ödeme retry’larının mükerrer çekimlere yol açmasını engelleyen idempotent bir API tasarlamak için .NET’te idempotency key pattern’ini nasıl uygulayacağınızı öğrenin.
→

Yazılım Mimarisinde Events vs Commands: Kapsamlı Bir .NET Rehberi

Software architecture içinde events ve commands arasındaki kritik farkları aydınlatın. .NET kod örnekleri, MediatR ve asynchronous messaging pattern’leri kullanarak microservices’leri nasıl birbirinden ayıracağınızı (decouple) öğrenin.
→

.NET’te Anemic’ten Rich Domain Model’e Refactoring

.NET’te Anemic Domain Model anti-pattern’ini nasıl iyileştireceğinizi öğrenin. İş mantığınızı C# entity’lerinizin içine encapsulate etmek, EF Core’u yapılandırmak ve unit testing süreçlerinizi basitleştirmek için pratik adımları keşfedin.
→

Legacy WCF/SOAP’tan Modern .NET’e: Taviz Vermeden Migration

Eski .NET Framework WCF/SOAP uygulamalarını, mevcut SOAP entegrasyonlarını bozmadan modern .NET’e nasıl taşıyacağınızı keşfedin. Bu rehber, SOAP kontratlarınızı korurken modern geliştirme pratiklerini benimsemek ve tüm paydaşlar için sorunsuz bir geçiş sağlamak adına CoreWCF kullanımına dair pratik desenler sunmaktadır.
→

.NET Mikroservislerinde gRPC: REST ile Karşılaştırma

.NET servislerinizde yüksek performanslı senkron iletişimi gRPC ile sağlayarak sağladığı Protocol Buffers ve HTTP/2 streaming gibi özellikleri kullanarak REST’e kıyasla performans avantajı yakalayalım.
→

.NET’te Kod Kalitesini Zorunlu kılın: .editorconfig & Analyzers & Pre-Commit Hooks

.NET projelerinde kod kalitesini TreatWarningsAsErrors, .editorconfig, SonarAnalyzer, Roslynator ve pre-commit hook’ları kullanarak zorunlu kılın. Takım verimliliğini artırın, kod tutarlılığını sağlayın ve sağlam CI/CD süreçleri oluşturun.
→

Feature Flagging in .NET with OpenFeature and flagd

.NET uygulamalarınızda OpenFeature ve flagd ile güçlü, sağlayıcıdan bağımsız feature flag yönetimini keşfedin. Eski ortam değişkenlerini geride bırakın, güvenli ve dinamik yayınlar yapın, A/B testleri ve anlık müdahale imkanı kazanın.
→

SignalR ile Gerçek Zamanlı İletişim: Derinlemesine İnceleme

Gerçek zamanlı iletişimin gücünü SignalR ile keşfedin! Bu blog yazısında, SignalR’ın WebSockets, Server-Sent Events ve Long Polling gibi karmaşık protokolleri soyutlayarak .NET uygulamalarınıza canlı özellikler eklemeyi nasıl kolaylaştırdığını öğrenin. SignalR’ı projenize kurmaktan, belirli kullanıcıları hedefleme ve Redis ile ölçeklendirme gibi ileri düzey özelliklere kadar her şeyi bu rehberde bulabilirsiniz. SignalR dünyasına adım atmaya hazır mısınız?
→

Event-Driven Architecture: Mikroservis mimarisinde başka servislerin verilerine mi ihtiyacınız var

Mikroservis mimarisinde, servisler arasındaki veri bağımlılığı senkron veya asenkron iletişimle yönetilebilir. Senkron iletişim, sıkı servis bağlantısı nedeniyle ölçeklenebilirlik ve erişilebilirlik sorunlarına neden olabilirken, asenkron iletişim bağımlılığı azaltarak servislerin bağımsız olarak çalışmasına olanak tanır. Doğru yöntemi seçmek belirli senaryoya bağlıdır, ancak asenkron iletişim genellikle daha ölçeklenebilir ve erişilebilir çözümler sunar.
→