
Adapter ve Strategy: Dış Servisleri Domain'in Dışında Tutmak
Birden fazla dış servisle entegre olurken hiçbirinin iş mantığınıza sızmasına izin vermemek: tek bir port, birden çok adaptör ve hangi adaptörün çalışacağını seçmenin iki yolu.

Birden fazla dış servisle entegre olurken hiçbirinin iş mantığınıza sızmasına izin vermemek: tek bir port, birden çok adaptör ve hangi adaptörün çalışacağını seçmenin iki yolu.

Arrow Anti-Pattern’den kurtulup iş kurallarını düz bir akışta yazmak: Guard Clauses, Early Return ve bunların unit testlerle nasıl test edileceği.

Kafka mesajları log’da tutar, RabbitMQ ise teslim durumunu takip eder. Aynı işi iki broker’da da kurup nerede zorlandıklarına bakıyoruz: hangisini neye göre seçmeli?

Tek bir INSERT ile kabul edilen, worker’ların güvenilir biçimde işlediği bir e-posta kuyruğu: veri modeli, yarış koşulları, exactly-once’ın neden mümkün olmadığı ve DB-poll ile broker arasındaki tercih.

Havayolu rezervasyonundaki koltuk, no-fly, pasaport, tutar ve promosyon kontrollerini bağımsız zincir halkalarına ayırarak Spring Boot’ta Chain of Responsibility uygulaması.

Facade Pattern, karmaşık alt sistemleri ortadan kaldırmaz; onları tek bir kapının arkasına saklar. Spring Boot’ta gerçek bir havayolu rezervasyon senaryosu üzerinden görelim.

Ülke, kargo, ödeme ve kupon gibi bileşenlerin birbirini etkilediği bir checkout ekranında Mediator Pattern’i Zustand ile uygulamak.

Ana kayıtları tek sorguda çekip ilişkiler için ek sorgular çalıştırmak: N+1 problemi nasıl oluşur, nasıl fark edilir ve hangi çözüm ne zaman kullanılmalı?
Nginx, temel olarak açık kaynaklı ve yüksek performanslı bir web sunucusudur. Ancak işlevi yalnızca bununla sınırlı değildir; aynı zamanda bir reverse proxy olarak da görev yapar. Reverse proxy, istemciden gelen talepleri alarak bunları arka plandaki sunuculara yönlendiren bir katmandır. Bu sayede istemci, doğrudan uygulama sunucusuyla değil, Nginx aracılığıyla iletişime geçer. …

Zaman zaman birileriyle sohbet ederken “Nasıl geliştirici olunur?”, “Zaten geliştiriciyim ama kendimi nasıl daha iyi bir noktaya taşırım?” gibi sorular geliyor. Bu yazıda doğrudan bu sorulara cevap vermektense, kendi yolculuğumu, yaptığım hataları, doğruları ve yanlışları paylaşmak istiyorum. Anlatacaklarım bu konu hakkında fikir edinmenize yardımcı olacaktır diye umuyorum. …