Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Integration test: WebApplicationFactory ile API'yi uçtan uca test etmek
Integration test'i işliyoruz: unit test'ten farkı, parçalar bir araya gelince test etmek ne demek, WebApplicationFactory ile gerçek bir istek uçtan uca akıtmak ve test için ayrı bir veritabanı kullanmak.
Caching: in-memory ve Redis ile distributed cache
Caching'i işliyoruz: sık istenen ama nadiren değişen veriyi geçici saklayarak performansı artırmak, in-memory cache ile Redis tabanlı distributed cache arasındaki fark ve cache'in en zor problemi olan tutarlılık.
Health check ve monitoring: API'nin ayakta ve sağlıklı olduğunu izlemek
Health check ve monitoring'i işliyoruz: uygulamanın canlıda sağlıklı olup olmadığını otomatik kontrol etmek, veritabanı gibi bağımlılıkları izlemek, liveness/readiness ayrımı ve monitoring'in temel fikri.
Docker'a alma: Uygulamayı her yerde aynı çalışan bir pakete koymak
Uygulamayı Docker'a almayı işliyoruz: container nedir, "benim makinemde çalışıyordu" sorununu nasıl çözer, Dockerfile ve multi-stage build ile .NET uygulamasını nasıl paketleriz ve imajı nasıl çalıştırırız.
CI/CD ile deploy: GitHub Actions ile test, derleme ve dağıtımı otomatikleştirmek
CI/CD'yi işliyoruz: sürekli entegrasyon ve sürekli dağıtım ne demek, neden otomatik pipeline gerekli, GitHub Actions ile bir workflow kurmak ve her kod değişikliğinde test-derleme-dağıtımı otomatik çalıştırmak.
Performans, optimizasyon ve seriyi kapatış: Buradan sonra nereye?
Seriyi kapatıyoruz: performansın temel ilkeleri, en sık karşılaşılan darboğazlar (N+1 sorgusu gibi), ölçmeden optimize etmemek, öğrendiklerimizin toparlanması ve buradan sonra nereye gidileceği.