<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Fahri Kafalı</title><description>Fahri Kafalı — full-stack developer building end-to-end web apps and AI/LLM systems with Next.js, Node.js, PostgreSQL and Python.</description><link>https://fahrikafali.com/</link><language>en</language><item><title>Hello, world — and why I built this site</title><link>https://fahrikafali.com/blog/hello-world/</link><guid isPermaLink="true">https://fahrikafali.com/blog/hello-world/</guid><description>A short intro to who I am, what I work on, and what I plan to write about here.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate><category>meta</category><category>intro</category></item><item><title>Repository ve Service katmanlarıyla temiz mimari</title><link>https://fahrikafali.com/tr/blog/temiz-mimari-repository-service/</link><guid isPermaLink="true">https://fahrikafali.com/tr/blog/temiz-mimari-repository-service/</guid><description>Dayframe’i kurarken kullandığım repository/service ayrımının pratikte ne işe yaradığını anlatıyorum.</description><pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate><category>mimari</category><category>typescript</category><category>backend</category></item><item><title>What bank and payment integrations taught me about resilience</title><link>https://fahrikafali.com/blog/payment-integration-war-stories/</link><guid isPermaLink="true">https://fahrikafali.com/blog/payment-integration-war-stories/</guid><description>Idempotency, webhooks you can trust, and why “the happy path” is the smallest part of a payment flow.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>backend</category><category>payments</category><category>node.js</category></item><item><title>Three PostgreSQL traps that quietly slow down full-stack apps</title><link>https://fahrikafali.com/blog/postgres-performance-traps/</link><guid isPermaLink="true">https://fahrikafali.com/blog/postgres-performance-traps/</guid><description>N+1 queries, missing indexes on the columns you actually filter by, and counting the wrong way.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate><category>backend</category><category>postgresql</category><category>performance</category></item><item><title>Dış sistemlere açtığım API’lerde uyduğum birkaç kural</title><link>https://fahrikafali.com/tr/blog/rest-api-tasarimi-notlar/</link><guid isPermaLink="true">https://fahrikafali.com/tr/blog/rest-api-tasarimi-notlar/</guid><description>Tutarlı hata formatı, versiyonlama ve “istemciyi düşün” yaklaşımı — ERP ve panel entegrasyonlarından notlar.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate><category>backend</category><category>api</category><category>node.js</category></item><item><title>RAG sistemleri kurarken işe yarayan pratik notlar</title><link>https://fahrikafali.com/tr/blog/rag-pratik-notlar/</link><guid isPermaLink="true">https://fahrikafali.com/tr/blog/rag-pratik-notlar/</guid><description>Vektör arama, bağlam yönetimi ve LLM çıktısını dizginlemek — stajda ve sonrasında öğrendiklerim.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>ai</category><category>rag</category><category>llm</category></item><item><title>Docker for small teams: the parts that actually pay off</title><link>https://fahrikafali.com/blog/docker-small-teams/</link><guid isPermaLink="true">https://fahrikafali.com/blog/docker-small-teams/</guid><description>Not microservices and Kubernetes — just reproducible environments and a deploy you can trust.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>devops</category><category>docker</category><category>backend</category></item><item><title>JWT ile oturum yönetimi: sık yapılan hatalar</title><link>https://fahrikafali.com/tr/blog/jwt-oturum-yonetimi/</link><guid isPermaLink="true">https://fahrikafali.com/tr/blog/jwt-oturum-yonetimi/</guid><description>Token’ı nerede saklamalı, neyi içine koymamalı ve “çıkış yap” butonu neden zor bir problem.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>backend</category><category>auth</category><category>güvenlik</category></item></channel></rss>