Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
4 yazı bulundu #express
Express'te Güvenlik: helmet, CORS, Rate Limiting, JWT Doğrulama ve Input Sınırları
Backend SERİ 15

Express'te Güvenlik: helmet, CORS, Rate Limiting, JWT Doğrulama ve Input Sınırları

Express API'yi güvenli hâle getirmek için helmet ile security header'ları eklenir, CORS bir origin allow-list'iyle sınırlanır, rate limit trust proxy doğru ayarlanarak uygulanır, JWT jose ile sabit algoritma, issuer, audience ve süre kontrolüyle doğrulanır ve her sipariş erişiminde sahiplik kontrol edilir. Gerçek çıktılarla X-Forwarded-For ile aşılan limit, her origin'i yansıtan CORS ayarı, alg none ve algorithm confusion'ın 401'i, BOLA'ya karşı 404 ve prototype pollution.

14 Kas 2026 14 dk 14
Express API'yi Production'a Hazırlamak: Configuration, pino ile Structured Logging, Health Check, Graceful Shutdown ve Cluster
Backend SERİ 14

Express API'yi Production'a Hazırlamak: Configuration, pino ile Structured Logging, Health Check, Graceful Shutdown ve Cluster

Production'a hazır bir Express API, configuration'ı açılışta şemayla doğrular, pino ile request id'li ve secret'ları gizlenmiş JSON log yazar, liveness ile readiness'i ayırır ve SIGTERM'de yeni bağlantıyı kesip açık request'leri bitirdikten sonra pool'u kapatır. Gerçek çıktılarla 98 MB yerine 22 MB inen export, tam inen dosya ve timeout'ta kontrollü kesinti, drain sırasında 503, PID 1'in 10 saniyelik bekleyişi ve 4 worker'lı cluster.

14 Kas 2026 14 dk 15
Express ile Bookstore REST API: Router'lar, zod ile Validation, Async Error Handling ve Problem Details
Backend SERİ 12

Express ile Bookstore REST API: Router'lar, zod ile Validation, Async Error Handling ve Problem Details

Express ile sağlam bir REST API, katmanları ayırır, her request'i zod şemasıyla doğrulayıp tipi şemadan türetir, hataları tek bir middleware'de RFC 9457 Problem Details'a çevirir ve parayı float değil kuruş cinsinden tam sayı tutar. Gerçek çıktılarla 1339.1999999999998 TL'lik sipariş, 20 milyon satırda 5 kuruş sapan float toplamı, altı hatayı tek cevapta dönen validation, ASP.NET Core ile aynı Problem Details sözleşmesi, sayfalama ve z.toJSONSchema.

14 Kas 2026 13 dk 13
Express 5'e Giriş: Routing, Middleware Zinciri ve Express 4'ten Değişenler
Backend SERİ 11

Express 5'e Giriş: Routing, Middleware Zinciri ve Express 4'ten Değişenler

Express 5, async handler'lardaki hataları kendiliğinden hata middleware'ine taşır, path syntax'ını path-to-regexp 8'e geçirir ve parse edilmemiş body için req.body'yi undefined bırakır. Gerçek çıktılarla Express 4'ün aynı hatada çökmesi, artık açılışta hata veren eski path'ler, üç parametreli hata handler tuzağı, Bookstore API'sinin Express'e taşınması, EADDRINUSE'u sessizce yutan listen ve NODE_ENV=production'ın JSON API'de hızı değiştirmemesi.

14 Kas 2026 14 dk 15
Blog Haritası