<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>cagriza.com</title><description>Kişisel öğrenme günlüğü. Notlar, yazılar ve yarım kalmış fikirler.</description><link>https://cagriza.com/</link><language>tr-TR</language><item><title>İskelet aşamasında bile nötr kalınamıyor</title><link>https://cagriza.com/blog/iskelet-asamasinda-bile-notr-kalinamiyor/</link><guid isPermaLink="true">https://cagriza.com/blog/iskelet-asamasinda-bile-notr-kalinamiyor/</guid><description>&apos;Teknoloji seçimi henüz yapılmadı&apos; diyen bir proje, devcontainer ve dependabot yapılandırmasında zaten dotnet ve npm ekosistemini seçmiş oluyor.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>mimari</category><category>araclar</category></item><item><title>Tek kişilik projede AI&apos;ın onay yetkisi olmaz</title><link>https://cagriza.com/blog/tek-kisilik-karar-otoritesinde-ai-onay-siniri/</link><guid isPermaLink="true">https://cagriza.com/blog/tek-kisilik-karar-otoritesinde-ai-onay-siniri/</guid><description>Kurucu hem karar hem onay otoritesiyken bunu gizlemek yerine yazıp, AI destekli incelemenin resmi onay yerine geçemeyeceğini ayrıca sertleştirmek.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>mimari</category><category>guvenlik</category></item><item><title>Mimari sınır ile sürüm planı aynı şey değil</title><link>https://cagriza.com/blog/mimari-sinir-ile-surum-plani-farki/</link><guid isPermaLink="true">https://cagriza.com/blog/mimari-sinir-ile-surum-plani-farki/</guid><description>Bir özelliğin &apos;ilk sürümde yok&apos; olması ile &apos;bunun için tasarlamıyoruz&apos; olması farklı kararlar. Karıştırınca scope creep kaçınılmaz oluyor.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>mimari</category><category>proje</category></item><item><title>CORS&apos;u çözmenin en iyi yolu: ona hiç ihtiyaç duymamak</title><link>https://cagriza.com/blog/tek-origin-ile-cors-gerektirmeyen-dagitim/</link><guid isPermaLink="true">https://cagriza.com/blog/tek-origin-ile-cors-gerektirmeyen-dagitim/</guid><description>React SPA ve API&apos;yi aynı origin altında Caddy ile servis edip CORS&apos;u devreden çıkarmak, systemd biriminde Type=exec ile sahte &apos;başarısız&apos; hatasından kaçınmak.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>dotnet</category><category>araclar</category></item><item><title>Tema değiştirmede flaş sorunu</title><link>https://cagriza.com/notlar/tema-degistirmede-flas-sorunu/</link><guid isPermaLink="true">https://cagriza.com/notlar/tema-degistirmede-flas-sorunu/</guid><description>localStorage&apos;daki tercih uygulanmadan önce sayfa boyanırsa bir kare yanlış tema görünüyor.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>css</category><category>web</category></item><item><title>Toplu içe aktarımda bir satır patlarsa hepsi durmasın</title><link>https://cagriza.com/blog/excel-aktariminda-bir-satir-hepsini-durdurmasin/</link><guid isPermaLink="true">https://cagriza.com/blog/excel-aktariminda-bir-satir-hepsini-durdurmasin/</guid><description>Excel içe aktarımında her satırı ayrı try/catch&apos;e almak, dry-run için tek transaction içinde rollback yapmak — gerçek dosyalar hep beklenmedik satır içerir.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate><category>dotnet</category><category>araclar</category></item><item><title>Şifrelenmiş alanda mükerrer kontrolü: kör indeks</title><link>https://cagriza.com/blog/tc-kimlik-no-icin-kor-indeks/</link><guid isPermaLink="true">https://cagriza.com/blog/tc-kimlik-no-icin-kor-indeks/</guid><description>AES-GCM her seferinde farklı şifreli metin ürettiği için mükerrer kaydı DB&apos;de yakalayamıyorsun. Ayrı bir HMAC-SHA256 hash sütunu bu sorunu çözüyor.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>guvenlik</category><category>veritabani</category></item><item><title>SQLite göreli yolu, çalıştığın dizine göre farklı dosya bulur</title><link>https://cagriza.com/blog/goreli-yol-ikinci-veritabani-kopyasi/</link><guid isPermaLink="true">https://cagriza.com/blog/goreli-yol-ikinci-veritabani-kopyasi/</guid><description>Content root&apos;a göre çözülen göreli bağlantı dizesi, dotnet run farklı dizinden çalıştırılınca veritabanının sessizce ikinci kopyasını oluşturuyor.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>dotnet</category><category>veritabani</category></item><item><title>Astro content collections nasıl çalışıyor</title><link>https://cagriza.com/notlar/astro-content-collections/</link><guid isPermaLink="true">https://cagriza.com/notlar/astro-content-collections/</guid><description>Markdown dosyalarından tip güvenli koleksiyon üretme mantığı.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>astro</category><category>web</category></item><item><title>Plan dokümanı taahhüt değil, niyettir</title><link>https://cagriza.com/blog/plan-dokumani-taahhut-degildir/</link><guid isPermaLink="true">https://cagriza.com/blog/plan-dokumani-taahhut-degildir/</guid><description>Hedef mimari listesi Redis, Elasticsearch, Kubernetes derken gerçek kod SQL Server ve düz useState kullanıyorsa, bu başarısızlık değil, doğru sıralama.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate><category>mimari</category><category>proje</category></item><item><title>Katmanlı mimariye geçerken eski klasörü silmeyi unutmak</title><link>https://cagriza.com/blog/katmanli-mimariye-gecerken-eski-dosyayi-silmeyi-unutmak/</link><guid isPermaLink="true">https://cagriza.com/blog/katmanli-mimariye-gecerken-eski-dosyayi-silmeyi-unutmak/</guid><description>Aynı entity üç ayrı yerde, birbirinden habersiz üç kopya olarak duruyorsa, o mimari geçiş bitmemiş, yarım bırakılmış demektir.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><category>mimari</category><category>dotnet</category></item><item><title>Performans bütçesi hedef değil, sınırdır</title><link>https://cagriza.com/blog/performans-butcesi-hedef-degil-sinirdir/</link><guid isPermaLink="true">https://cagriza.com/blog/performans-butcesi-hedef-degil-sinirdir/</guid><description>Sayı koymadan hızlı kalmak mümkün değil. Bütçe, hayır demenin yazılı hali.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>performans</category><category>web</category></item><item><title>Randevu çakışması: sadece başlangıç saatine bakma</title><link>https://cagriza.com/blog/randevu-cakismasi-aralik-kesisimi/</link><guid isPermaLink="true">https://cagriza.com/blog/randevu-cakismasi-aralik-kesisimi/</guid><description>İki zaman aralığının kesişip kesişmediğini doğru kontrol etmek tek satır, ama yaygın hata sadece start zamanını karşılaştırmak.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>dotnet</category><category>mimari</category></item><item><title>KPI enflasyonuna karşı: az ama anlamlı</title><link>https://cagriza.com/blog/kpi-enflasyonuna-karsi/</link><guid isPermaLink="true">https://cagriza.com/blog/kpi-enflasyonuna-karsi/</guid><description>PMO raporlamasında her ekip kendi metriğini eklediğinde sayı büyür ama sinyal küçülür. Az sayıda, gerçekten karar aldıran KPI daha değerli.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate><category>pmp</category><category>yonetim</category></item><item><title>Agile ile PMI aynı projede: sürtünme nerede çıkıyor</title><link>https://cagriza.com/blog/agile-ve-pmi-ayni-projede/</link><guid isPermaLink="true">https://cagriza.com/blog/agile-ve-pmi-ayni-projede/</guid><description>Sprint bazlı çalışma ile PMI&apos;ın kapsam/zaman/bütçe raporlama gereksinimi çelişmiyor, ama raporlama sıklığı farkı gerçek bir sürtünme noktası.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate><category>pmp</category><category>yonetim</category></item><item><title>Risk kayıt defteri, olasılık-etki matrisinden ibaret değil</title><link>https://cagriza.com/blog/risk-kayit-defteri-matristen-fazlasi/</link><guid isPermaLink="true">https://cagriza.com/blog/risk-kayit-defteri-matristen-fazlasi/</guid><description>Bir riski matriste renklendirmek risk yönetimi değil. Risk sahibi atamadan ve yanıt stratejisi seçmeden matris sadece bir gözlem listesi.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>pmp</category><category>yonetim</category></item><item><title>Değişiklik kontrolü, değişikliği durdurmak için değil</title><link>https://cagriza.com/blog/degisiklik-kontrolu-durdurmak-icin-degil/</link><guid isPermaLink="true">https://cagriza.com/blog/degisiklik-kontrolu-durdurmak-icin-degil/</guid><description>Change Control Board&apos;un işi &apos;hayır&apos; demek değil, değişikliğin kapsam/zaman/bütçe üzerindeki etkisini görünür kılmak. Amaç görünürlük, engel değil.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate><category>pmp</category><category>yonetim</category></item><item><title>WBS bir görev listesi değil, kapsam ayrıştırmasıdır</title><link>https://cagriza.com/blog/wbs-neyi-cozer/</link><guid isPermaLink="true">https://cagriza.com/blog/wbs-neyi-cozer/</guid><description>Work Breakdown Structure&apos;ı &apos;yapılacaklar listesi&apos; gibi kullanmak en yaygın hata. WBS&apos;in işi kapsamı görünür kılmak, sırayı değil.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><category>pmp</category><category>yonetim</category></item><item><title>Statik site jeneratörü seçerken neye baktım</title><link>https://cagriza.com/blog/statik-site-jeneratoru-secerken/</link><guid isPermaLink="true">https://cagriza.com/blog/statik-site-jeneratoru-secerken/</guid><description>Astro, Hugo ve Eleventy arasındaki seçimin gerçek kriterleri.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate><category>astro</category><category>araclar</category></item></channel></rss>