<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Furkan Özay — Yazılar</title>
    <link>https://czay.dev/tr/blog</link>
    <description>Üretirken çıkardığım dersler.</description>
    <language>tr</language>
    <atom:link href="https://czay.dev/blog/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Backend&apos;de Kırmızı Alarm: PHP, Node.js ve Java&apos;da Aynı Anda Çıkan Kritik Güvenlik Açıkları (CVE Analizi)</title>
      <link>https://czay.dev/tr/blog/backendde-kirmizi-alarm-php-nodejs-java-kritik-guvenlik-aciklari</link>
      <guid>https://czay.dev/tr/blog/backendde-kirmizi-alarm-php-nodejs-java-kritik-guvenlik-aciklari</guid>
      <description>Backend dünyasının üç devi PHP, Node.js ve Java ekosistemlerinde aynı anda kritik zafiyetler (CVE) patlak verdi. CVSS 9.8 ve 10.0 skorlu Remote Code Execution (RCE) açıklarının anatomisi, sistemlerin nasıl etkilendiği ve acil alınması gereken önlemler.</description>
      <pubDate>Fri, 23 Oct 2026 10:00:00 GMT</pubDate>
      <category>Güvenlik</category>
      <category>Backend</category>
      <category>DevOps</category>
    </item>
    <item>
      <title>Küçük Projeye Neden Kafka ve Mikroservis Kurulmaz? (Over-Engineering Yanılgısı)</title>
      <link>https://czay.dev/tr/blog/kucuk-projeye-neden-kafka-ve-mikroservis-kurulmaz</link>
      <guid>https://czay.dev/tr/blog/kucuk-projeye-neden-kafka-ve-mikroservis-kurulmaz</guid>
      <description>Günde 100 kişinin girdiği bir projeye daha ilk günden Kubernetes, Kafka ve 10 ayrı mikroservis kurmak mühendislik vizyonu değil; projeyi doğmadan öldürmektir. Peki doğru mimari ne zaman ve nasıl ölçeklenir?</description>
      <pubDate>Sat, 17 Oct 2026 14:00:00 GMT</pubDate>
      <category>Sistem Mimarisi</category>
      <category>Backend</category>
      <category>Mikroservis</category>
    </item>
    <item>
      <title>Kubernetes Tam Olarak Ne Yapar? (K8s)</title>
      <link>https://czay.dev/tr/blog/kubernetes-tam-olarak-ne-yapar</link>
      <guid>https://czay.dev/tr/blog/kubernetes-tam-olarak-ne-yapar</guid>
      <description>Uygulamanı Docker ile paketleyip tek bir sunucuya koydun. Peki ya sitene televizyondan reklam verilirse ve aniden 100 bin kişi girerse? İşte Kubernetes bu krizi nasıl çözer?</description>
      <pubDate>Tue, 22 Sep 2026 19:51:00 GMT</pubDate>
      <category>Kubernetes</category>
      <category>Sistem</category>
      <category>DevOps</category>
    </item>
    <item>
      <title>Docker Tam Olarak Ne Yapar?</title>
      <link>https://czay.dev/tr/blog/docker-tam-olarak-ne-yapar</link>
      <guid>https://czay.dev/tr/blog/docker-tam-olarak-ne-yapar</guid>
      <description>Bir yazılımcının en çok kurduğu cümle nedir? &quot;Benim bilgisayarımda çalışıyordu!&quot; Peki aynı kod sunucuya gidince neden bozulur ve Docker bu sorunu nasıl çözer?</description>
      <pubDate>Mon, 21 Sep 2026 09:00:00 GMT</pubDate>
      <category>DevOps</category>
      <category>Docker</category>
      <category>Sistem</category>
    </item>
    <item>
      <title>Kaydetmen gereken 8 ücretsiz site</title>
      <link>https://czay.dev/tr/blog/kaydetmen-gereken-8-ucretsiz-site</link>
      <guid>https://czay.dev/tr/blog/kaydetmen-gereken-8-ucretsiz-site</guid>
      <description>Her biri günlük iş akışını hızlandıracak, tamamen ücretsiz ve üyelik gerektirmeyen 8 faydalı yazılımcı aracı.</description>
      <pubDate>Sun, 20 Sep 2026 12:33:00 GMT</pubDate>
      <category>Araçlar</category>
      <category>Frontend</category>
      <category>Kaynak</category>
    </item>
    <item>
      <title>Frontend geliştirme sadece tasarlamak mıdır?</title>
      <link>https://czay.dev/tr/blog/frontend-gelistirme-sadece-tasarlamak-midir</link>
      <guid>https://czay.dev/tr/blog/frontend-gelistirme-sadece-tasarlamak-midir</guid>
      <description>Frontend geliştirmeyi Figma&apos;daki tasarımı alıp boyamak sanıyorsanız yanılıyorsunuz. Tasarımcı tek bir anı tasarlarken, frontend mühendisi o anı sonsuz ekranlarda, bozuk ağlarda ve erişilebilirlik standartlarında yaşatır.</description>
      <pubDate>Sun, 20 Sep 2026 09:30:00 GMT</pubDate>
      <category>Frontend</category>
      <category>Meslek</category>
      <category>Kariyer</category>
    </item>
    <item>
      <title>Sisteminizdeki en zayıf halka: MD5 Yanılgısı ve Güvenli Şifreleme</title>
      <link>https://czay.dev/tr/blog/sifreleme-mimariniz-guvenli-mi</link>
      <guid>https://czay.dev/tr/blog/sifreleme-mimariniz-guvenli-mi</guid>
      <description>Veritabanında şifreleri düz metin veya MD5 ile saklamak büyük bir yanılgıdır. Rainbow tablolarıyla saniyeler süren şifre kırmayı engellemek için, hızın bir zafiyet olduğunu kabul etmeliyiz.</description>
      <pubDate>Fri, 18 Sep 2026 09:46:00 GMT</pubDate>
      <category>Veritabanı</category>
      <category>Güvenlik</category>
    </item>
    <item>
      <title>JavaScript&apos;te `==` Tuzağı ve Type Coercion</title>
      <link>https://czay.dev/tr/blog/javascript-esittir-tuzagi-type-coercion</link>
      <guid>https://czay.dev/tr/blog/javascript-esittir-tuzagi-type-coercion</guid>
      <description>`&quot;&quot; == 0` neden true? `[] == false` neden true? Ancak `NaN == NaN` neden false? JavaScript&apos;in en çok kafa karıştıran type coercion (tip dönüşümü) mekanizmasını ve bu kargaşadan kurtulmanın tek kesin yolunu inceliyoruz.</description>
      <pubDate>Thu, 17 Sep 2026 09:00:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>Web Temelleri</category>
      <category>Frontend</category>
    </item>
    <item>
      <title>Debounce ve throttle farkı nedir?</title>
      <link>https://czay.dev/tr/blog/debounce-throttle-farki-nedir</link>
      <guid>https://czay.dev/tr/blog/debounce-throttle-farki-nedir</guid>
      <description>Arama kutusuna &quot;istanbul&quot; yazınca sunucuya 8 istek gidiyor. 10.000 kullanıcıda bu 80.000 istek demek. Debounce ile 1&apos;e, throttle ile 4&apos;e düşüyor — ama ikisi aynı şey değil, doğru yerde kullanmak gerekiyor.</description>
      <pubDate>Tue, 15 Sep 2026 13:59:00 GMT</pubDate>
      <category>JavaScript</category>
      <category>Performans</category>
      <category>Frontend</category>
    </item>
    <item>
      <title>JWT şifreli değil, sadece base64</title>
      <link>https://czay.dev/tr/blog/jwt-neden-sifreli-degil</link>
      <guid>https://czay.dev/tr/blog/jwt-neden-sifreli-degil</guid>
      <description>Uygulamanın her isteğinde giden JWT token&apos;ın içine kim bakabilir? Cevap: herkes. Token&apos;ın gerçekte ne sakladığı, neden imza doğrulaması yeterli olduğu ve payload&apos;a asla koymaman gereken 4 şey.</description>
      <pubDate>Tue, 15 Sep 2026 13:58:00 GMT</pubDate>
      <category>API</category>
      <category>Güvenlik</category>
      <category>Backend</category>
    </item>
    <item>
      <title>Veritabanı index nasıl çalışır: full table scan&apos;den B-Tree&apos;ye</title>
      <link>https://czay.dev/tr/blog/veritabani-index-nasil-calisir-b-tree</link>
      <guid>https://czay.dev/tr/blog/veritabani-index-nasil-calisir-b-tree</guid>
      <description>Bir milyon satırlık tabloda tek bir e-posta aramak neden 4 saniye sürüyor? Full table scan, B-Tree ve tek satırlık `CREATE INDEX` ile 2000 kat hızlanma — ve index&apos;i sessizce devre dışı bırakan klasik hatalar.</description>
      <pubDate>Tue, 15 Sep 2026 13:57:00 GMT</pubDate>
      <category>PostgreSQL</category>
      <category>Veritabanı</category>
      <category>Performans</category>
    </item>
    <item>
      <title>0.1 + 0.2 neden 0.3 etmiyor?</title>
      <link>https://czay.dev/tr/blog/floating-point-aritmetigi-neden-yaniliyor</link>
      <guid>https://czay.dev/tr/blog/floating-point-aritmetigi-neden-yaniliyor</guid>
      <description>Konsola `0.1 + 0.2` yaz, `0.3` çıkmaz. Bu bir JavaScript hatası değil — Python&apos;da, Java&apos;da, Go&apos;da da aynı sonucu alırsın. IEEE 754, mantissa ve parayı neden asla float olarak tutmaman gerektiği.</description>
      <pubDate>Tue, 15 Sep 2026 13:48:00 GMT</pubDate>
      <category>Web Temelleri</category>
      <category>JavaScript</category>
    </item>
    <item>
      <title>Drizzle ORM ile üretimde şema ve göç yönetimi</title>
      <link>https://czay.dev/tr/blog/drizzle-orm-uretimde-sema-ve-goc-yonetimi</link>
      <guid>https://czay.dev/tr/blog/drizzle-orm-uretimde-sema-ve-goc-yonetimi</guid>
      <description>generate mi push mu migrate mi? Göçleri kapsayıcı açılışında çalıştırmak, bağlantı havuzunun Next dev&apos;de sızması ve next build&apos;in veritabanı isteyip kırılması — 17 göçlük gerçek bir panelden.</description>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Araçlar</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>Next.js&apos;i kendi sunucunda yayınlamak: Dokploy ve Docker ile</title>
      <link>https://czay.dev/tr/blog/nextjs-dokploy-kendi-sunucunda-yayinlamak</link>
      <guid>https://czay.dev/tr/blog/nextjs-dokploy-kendi-sunucunda-yayinlamak</guid>
      <description>Vercel&apos;den çıkmak ne zaman mantıklı? output standalone, çok aşamalı Dockerfile, şema göçlerini neden derlemede değil açılışta yapman gerektiği ve SIGTERM&apos;i yutan tek satır.</description>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Araçlar</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>Next.js&apos;te ödeme entegrasyonu: iyzico ve PayTR ile 3D Secure akışı</title>
      <link>https://czay.dev/tr/blog/nextjs-iyzico-paytr-odeme-entegrasyonu-3d-secure-rehberi</link>
      <guid>https://czay.dev/tr/blog/nextjs-iyzico-paytr-odeme-entegrasyonu-3d-secure-rehberi</guid>
      <description>Türkiye&apos;de ödeme entegrasyonu neden sanıldığından zor? 3D Secure akışının gerçekte nasıl işlediği, callback&apos;i Next.js App Router&apos;da doğru yakalamak, tutarı istemciye asla güvenmemek ve dört sağlayıcıyı tek arayüzde toplamak.</description>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Ödeme Entegrasyonu</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>Next.js&apos;te SEO: metadata, sitemap, robots ve yapısal veri</title>
      <link>https://czay.dev/tr/blog/nextjs-seo-metadata-sitemap-yapisal-veri-rehberi</link>
      <guid>https://czay.dev/tr/blog/nextjs-seo-metadata-sitemap-yapisal-veri-rehberi</guid>
      <description>App Router&apos;da SEO&apos;nun mekaniği — generateMetadata, canonical, sitemap&apos;te lastModified&apos;ı doğru vermek, JSON-LD&apos;yi @graph ile kurmak ve hangi zengin sonuçların hâlâ yaşadığı.</description>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Web Temelleri</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>React Native ve Expo ile App Store ve Google Play&apos;e uygulama yayınlamak</title>
      <link>https://czay.dev/tr/blog/react-native-expo-app-store-google-play-yayin-rehberi</link>
      <guid>https://czay.dev/tr/blog/react-native-expo-app-store-google-play-yayin-rehberi</guid>
      <description>Kod bitince iş bitmiyor. Geliştirici hesabı maliyetleri, Google&apos;ın 12 test kullanıcısı kuralı, Apple&apos;ın gizlilik bildirimi zorunluluğu ve EAS ile derleyip göndermenin gerçek sırası.</description>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Mobil</category>
      <category>React</category>
    </item>
    <item>
      <title>JavaScript Öğrenmek İçin En İyi Siteler ve Net Yol Haritası</title>
      <link>https://czay.dev/tr/blog/javascript-ogrenmek-icin-en-iyi-siteler-ve-net-yol-haritasi</link>
      <guid>https://czay.dev/tr/blog/javascript-ogrenmek-icin-en-iyi-siteler-ve-net-yol-haritasi</guid>
      <description>JavaScript öğrenmek için tek bir en iyi site yok. Başlangıç, dokümantasyon ve proje tabanlı kaynakları birlikte kullanarak en hızlı ve kalıcı şekilde nasıl ilerleyeceğinizi öğrenin.</description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <category>Kariyer</category>
      <category>JavaScript</category>
    </item>
    <item>
      <title>Next.js Form Validasyon Yöntemleri: Client ve Server Side Doğrulama Rehberi</title>
      <link>https://czay.dev/tr/blog/nextjs-form-validasyon-yontemleri-client-ve-server-side-dogrulama-rehberi</link>
      <guid>https://czay.dev/tr/blog/nextjs-form-validasyon-yontemleri-client-ve-server-side-dogrulama-rehberi</guid>
      <description>Next.js&apos;te form validasyonu için modern yöntemler: Zod, React Hook Form, Server Actions ve TypeScript ile güvenli form işleme teknikleri. Hem client hem server side validasyon örnekleriyle.</description>
      <pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate>
      <category>TypeScript</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>Next.js App Router ile MDX: blog kurmanın doğru yolu</title>
      <link>https://czay.dev/tr/blog/nextjs-app-router-ile-mdx-kullanimi-adim-adim-typescript-rehberi</link>
      <guid>https://czay.dev/tr/blog/nextjs-app-router-ile-mdx-kullanimi-adim-adim-typescript-rehberi</guid>
      <description>Dosya tabanlı MDX ile remote MDX arasındaki fark ve blog için hangisi doğru? next-mdx-remote/rsc, gray-matter, rehype-pretty-code ve Türkçe başlıkların bozduğu bağlantı kimlikleri — bu sitenin çalışan kurulumu üzerinden.</description>
      <pubDate>Sun, 29 Jun 2025 00:00:00 GMT</pubDate>
      <category>Next.js</category>
      <category>TypeScript</category>
    </item>
    <item>
      <title>Git Temelleri: Sürüm Kontrolüne Giriş ve Pratik Kullanım</title>
      <link>https://czay.dev/tr/blog/git-temelleri-surum-kontrolune-giris-ve-pratik-kullanim</link>
      <guid>https://czay.dev/tr/blog/git-temelleri-surum-kontrolune-giris-ve-pratik-kullanim</guid>
      <description>Git nedir, neden kullanılır, temel komutlar, gerçek hayat benzetmeleri, sık yapılan hatalar, pratik ipuçları ve mini quiz ile yeni başlayanlar için adım adım sürüm kontrolü.</description>
      <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
      <category>Web Temelleri</category>
      <category>Araçlar</category>
    </item>
    <item>
      <title>Next.js 16&apos;da use cache: Cache Components ile sunucu tarafı önbellekleme</title>
      <link>https://czay.dev/tr/blog/nextjs-use-cache-react-server-components-icin-yeni-cache-sistemi</link>
      <guid>https://czay.dev/tr/blog/nextjs-use-cache-react-server-components-icin-yeni-cache-sistemi</guid>
      <description>use cache artık canary değil — Next.js 16 ile Cache Components&apos;in parçası olarak kararlı sürümde. Nasıl açılır, önbellek anahtarı nasıl üretilir, cookies() neden içeride çalışmaz ve hangi durumda hâlâ unstable_cache gerekir.</description>
      <pubDate>Sun, 15 Jun 2025 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>React UI kütüphanesi seçimi: 2026&apos;da hangi durumda hangisi?</title>
      <link>https://czay.dev/tr/blog/react-ile-sik-kullanilan-5-ui-framework</link>
      <guid>https://czay.dev/tr/blog/react-ile-sik-kullanilan-5-ui-framework</guid>
      <description>MUI, Ant Design, Mantine, Chakra ve shadcn/ui — npm rakamlarıyla güncel tablo, Server Components&apos;in seçime etkisi ve asıl soru: bağımlılık mı istiyorsun, kodun sahipliği mi?</description>
      <pubDate>Fri, 13 Jun 2025 00:00:00 GMT</pubDate>
      <category>React</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>Turborepo ile monorepo: dört uygulamayı tek depoda yönetmek</title>
      <link>https://czay.dev/tr/blog/turborepo-ile-monorepo-yonetimi</link>
      <guid>https://czay.dev/tr/blog/turborepo-ile-monorepo-yonetimi</guid>
      <description>pnpm workspace + Turborepo kurulumunu gerçek bir depo üzerinden anlatıyorum — 4 uygulama, 4 paket, derlenmeyen paketler, önbelleği sessizce bozan outputs hatası ve monorepo içinden tek uygulamayı Docker&apos;a alma.</description>
      <pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate>
      <category>Araçlar</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>TypeScript&apos;te tip güvenliği nerede biter?</title>
      <link>https://czay.dev/tr/blog/typescript-ile-tip-guvenli-gelistirme</link>
      <guid>https://czay.dev/tr/blog/typescript-ile-tip-guvenli-gelistirme</guid>
      <description>Derleyici geçti diye program doğru olmuyor. any yazmadan da tip sistemine yalan söyleyebileceğin beş yer, strict&apos;in yakalamadıkları ve deliklerin sınırda nasıl kapatıldığı.</description>
      <pubDate>Tue, 10 Jun 2025 00:00:00 GMT</pubDate>
      <category>TypeScript</category>
      <category>JavaScript</category>
    </item>
    <item>
      <title>Web geliştirici olmak: sıfırdan başlayanlar için gerçekçi yol haritası</title>
      <link>https://czay.dev/tr/blog/web-gelistirici-rehberi</link>
      <guid>https://czay.dev/tr/blog/web-gelistirici-rehberi</guid>
      <description>Hangi sırayla öğrenmeli, her adım ne kadar sürer, nerede takılınır? Framework&apos;ten başlamanın neden geri teptiği ve en çok atlanan adımın neden yayına alma olduğu — sık sorulan sorularla birlikte.</description>
      <pubDate>Sat, 23 Nov 2024 00:00:00 GMT</pubDate>
      <category>Kariyer</category>
      <category>Web Temelleri</category>
    </item>
    <item>
      <title>HTTP durum kodları: tam referans ve pratikte en çok karıştırılanlar</title>
      <link>https://czay.dev/tr/blog/http-durum-kodlari-status-codes</link>
      <guid>https://czay.dev/tr/blog/http-durum-kodlari-status-codes</guid>
      <description>Bütün HTTP durum kodlarının Türkçe açıklamalı listesi — ve asıl mesele: 301 mi 308 mi, 401 mi 403 mü, 422 mi 400 mü, 502 mi 503 mü? Next.js&apos;te hangi kodun ne zaman döndüğü de dahil.</description>
      <pubDate>Thu, 27 Jun 2024 00:00:00 GMT</pubDate>
      <category>Web Temelleri</category>
      <category>Next.js</category>
    </item>
  </channel>
</rss>