Ana Sayfa / Blog

Blog

Your blog category

On-call rotation tasarımı: solo developer’dan ekibe

5 yıl solo developer olarak 7/24 on-call'dım. Ekip büyüdükçe sağlıklı rotation kurmak ayrı bir iş. PagerDuty setup, alert fatigue yönetimi, postmortem kültürü…

Blog 6 dk

Image optimization: WebP, AVIF, responsive images stratejisi

Bir e-ticaret projesinde sayfa ağırlığının %70'i görsellerdi. WebP'ye geçiş, AVIF denemesi, srcset disiplini ile LCP'yi yarıya indirdim. Uygulamalı notlar.

Blog 5 dk

iyzico entegrasyonu: 5 gün yerine 1 günde kurmak

iyzico'yu ilk entegre ettiğimde 5 gün aldı. Son projede 1 günde bitirdim. Aradaki farkı yaratan sandbox hesap yönetimi, PWT akışı, webhook doğrulama…

Blog 5 dk

gRPC vs REST: hangi koşulda hangisi mantıklı?

gRPC'ye microservice projelerinde geçtim, monolith'te REST'te kaldım. İki protokolü yan yana karşılaştıran ve hangi durumda hangisinin daha iyi olduğunu gösteren kararlar.

Blog 4 dk

Live Activities ve Dynamic Island: 2 projede pratik deneyim

Live Activities iOS 16 ile geldi, Dynamic Island iPhone 14 Pro ile. Fitness app ve teslimat takibi uygulamasında implementation yaparken öğrendiğim ActivityKit…

Blog 5 dk

Background job queue’ları ölçeklendirirken kaçırdığım 5 şey

Redis + BullMQ, RabbitMQ, SQS kullandığım projelerde job queue scaling'de öğrendiğim 5 kritik konu. Poison message, retry storm, priority queue, at-least-once garanti,…

Blog 5 dk

Retrospective: form dolduran değil, çözen toplantı

Retrospective 30 dakikada biten formalite oldu pek çok ekipte. Gerçekten değer üreten retrospective'lerin yapısını, facilitation tekniklerini ve dönüştüğü action item'ları paylaşıyorum.

Blog 5 dk

INP (Interaction to Next Paint) optimize etmek: JavaScript’in rolü

Core Web Vitals'a 2024'te eklenen INP, FID'den daha zorlu bir metrik. Gerçek projelerde INP'yi 500ms'den 200ms altına çekerken JavaScript'in etki mekanizmaları üzerine…

Blog 5 dk

Custom post type + Gutenberg block: ACF yerine native registration

ACF ile custom post type ve blok oluşturmaya alışmıştım. Native register_post_type + register_block_type'a geçtikten sonra kodun temizliğinde, performansta ve bakımda yaşadığım değişim.

Blog 5 dk

SOAP’tan REST’e migration: 18 ayda yaptığım 3 proje

Bank, ERP, devlet entegrasyonu backend'lerinde SOAP'tan REST'e geçiş yaptığım 3 projenin ortak dersleri. Gateway pattern, envelope dönüşümü, legacy consumer'ı kırmama stratejisi.

Blog 5 dk

App Store Optimization: 12 uygulamamdan ASO notları

ASO ile organik indirmelerin %60'ını yakalayan uygulamalarım var, hiç büyümeyenler de. Aradaki farkı yaratan keyword stratejisi, ekran görüntüsü sıralaması, preview video ve…

Blog 4 dk

Multi-region deployment: %90 ürün için overkill

Multi-region deployment'ı erken uyguladığım 2 projede geri adım attım. Ne zaman gerçekten gerekli, ne zaman karmaşıklık yüklüyor, deneyimimden çıkardığım net sınırları paylaşıyorum.

Blog 4 dk