/yazılar
Yazılar (36)
Kullanıcı Kontrollü Markdown İçeriğini XSS-Güvenli Render Etmek
Blog yazıları admin panelinden serbest metin olarak giriliyor ve markdown olarak render ediliyor — bu da potansiyel bir XSS vektörü. marked + DOMPurify ikilisiyle bunu nasıl kapattım.
NestJS'te Sıfırdan Bir Zod Validation Pipe Yazmak
NestJS'in kendi `ValidationPipe`'ı yerine, tek bir Zod şemasını kabul eden ~15 satırlık özel bir pipe kullanmanın gerekçesi ve implementasyonu.
Bir Zod Paketini Hem CommonJS Hem ESM'e Derlemek
packages/schemas paketi NestJS'in CommonJS'e yakın dünyasıyla Next.js/Vite'ın ESM dünyası arasında nasıl köprü kuruyor — iki ayrı tsconfig ve package.json exports haritası üzerinden.
Tek Şablonla 13 Müşteri Sitesi: Neyi Kopyaladım, Neyi Yeniden Düşündüm
Aynı Turborepo iskeletini 13'ten fazla müşteri sitesine taşırken admin auth, görsel depolama ve kategori modelinde neyi olduğu gibi kopyaladığımı, neyi her seferinde yeniden düşündüğümü anlatıyorum.
React Query'siz: Kendi Data-Fetching Hook'larınızı Yazmak
İki uygulamadan react-query'yi kaldırıp yerine paylaşılan, ~80 satırlık sıfır-bağımlılıklı useApiQuery/useApiMutation hook'larını nasıl koydum.
Turborepo ile Production'a Hazır Bir Monorepo Kurmak
pnpm workspaces, paylaşılan Zod şemaları ve turbo.json görev grafiğiyle Next.js + NestJS + Vite'ı tek bir monorepo altında nasıl bir araya getirdim.