<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>sade.dev</title><description>Backend, sistem tasarımı, PostgreSQL, Redis, Laravel ve AI-destekli mühendislik üzerine Türkçe notlar ve geliştirici araçları.</description><link>https://sade.dev/</link><language>tr-TR</language><item><title>Serverless&apos;a Geçiş Kararı: Cold-Start ve Vendor Lock-in</title><link>https://sade.dev/tr/notes/serverless-gecis-karari/</link><guid isPermaLink="true">https://sade.dev/tr/notes/serverless-gecis-karari/</guid><description>FaaS&apos;a geçmeden önce: cold-start gecikmesinin gerçek maliyeti, vendor lock-in riski ve serverless&apos;ın hangi iş yüklerinde kazandırdığı.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>serverless</category><category>architecture</category><category>cloud</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>BFF Pattern: Mobil ve Web İçin Ayrı API Katmanı</title><link>https://sade.dev/tr/notes/bff-backend-for-frontend/</link><guid isPermaLink="true">https://sade.dev/tr/notes/bff-backend-for-frontend/</guid><description>Mobil ve web için ayrı API katmanları: tek API&apos;yi her istemciye uydurmanın gizli maliyeti ve BFF&apos;in ne zaman gerçekten gerektiği.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate><category>architecture</category><category>api</category><category>bff</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Senkron mu, Asenkron mu? HTTP ile Kuyruk Arasındaki Sınır</title><link>https://sade.dev/tr/notes/senkron-mu-asenkron-mu/</link><guid isPermaLink="true">https://sade.dev/tr/notes/senkron-mu-asenkron-mu/</guid><description>Bir işi HTTP isteğiyle anında mı yapmalı, kuyruğa mı atmalı? Yanıt süresi, hata toleransı ve tutarlılık üzerinden karar çizgisi.</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>queue</category><category>async</category><category>api</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Transactional Outbox: Dual-Write, At-Least-Once ve İdempotent Tüketim</title><link>https://sade.dev/tr/systems/transactional-outbox-dual-write-ve-idempotent-tuketim/</link><guid isPermaLink="true">https://sade.dev/tr/systems/transactional-outbox-dual-write-ve-idempotent-tuketim/</guid><description>Veritabanına yazıp event&apos;i kuyruğa düşürememe: dual-write&apos;ı outbox&apos;la kapatmak, doğan at-least-once tekrarını idempotent tüketimle bastırmak ve alanı şifrelemek.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>messaging</category><category>idempotency</category><category>reliability</category><category>security</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Event-Driven Mimari: Ne Zaman Kurtarır, Ne Zaman Karmaşıklaştırır?</title><link>https://sade.dev/tr/notes/event-driven-mimari-ne-zaman/</link><guid isPermaLink="true">https://sade.dev/tr/notes/event-driven-mimari-ne-zaman/</guid><description>Event&apos;lerle gevşek bağ kurmanın bedeli: kazandırdığı esneklik ile sistem akışını takip edilemez hale getirme riski arasındaki denge.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>event-driven</category><category>messaging</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Çok Kümeli GitOps’ta Sıfır Statik Yetki</title><link>https://sade.dev/tr/systems/cok-kumeli-gitops-sifir-statik-yetki/</link><guid isPermaLink="true">https://sade.dev/tr/systems/cok-kumeli-gitops-sifir-statik-yetki/</guid><description>Uzun ömürlü kubeconfig ya da token olmadan çok kümeli GitOps. SPIFFE ID’ler, SPIRE’ın bastığı kısa ömürlü SVID’ler, trust-domain federasyonu — kurma sırası ve her adımın maliyeti.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>kubernetes</category><category>gitops</category><category>spiffe</category><category>security</category><category>architecture</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>eBPF ile GPU FinOps</title><link>https://sade.dev/tr/systems/ebpf-ile-gpu-finops/</link><guid isPermaLink="true">https://sade.dev/tr/systems/ebpf-ile-gpu-finops/</guid><description>GPU harcaması neden cgroup ve cAdvisor metriklerine görünmez, ve eBPF chargeback için GPU zamanını ve belleğini ekiplere nasıl atfeder — ve CUDA sınırındaki, DCGM’in kapatması gereken dürüst limit.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>ebpf</category><category>gpu</category><category>finops</category><category>observability</category><category>kubernetes</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Dead-Letter Kuyruğunu Daha Kötü Yapmadan Replay Etmek</title><link>https://sade.dev/tr/notes/dead-letter-kuyrugunu-guvenle-replay-etmek/</link><guid isPermaLink="true">https://sade.dev/tr/notes/dead-letter-kuyrugunu-guvenle-replay-etmek/</guid><description>Kesinti sırasında DLQ doldu, geri istiyorsun. Naif replay kuyruğu yeniden zehirler ya da yan etkileri ikinci kez tetikler. Güvenli şekil: reset, dry-run, önce sandbox, select.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><category>queue</category><category>dead-letter-queue</category><category>reliability</category><category>operations</category><category>architecture</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Polyglot Bir Kuyrukta Dağıtık İzleme</title><link>https://sade.dev/tr/systems/polyglot-kuyrukta-dagitik-izleme/</link><guid isPermaLink="true">https://sade.dev/tr/systems/polyglot-kuyrukta-dagitik-izleme/</guid><description>Bir mesaj PHP, Go ve Python arasında donmuş bir envelope üzerinden geçiyor. Yolculuğunu tek bir OpenTelemetry trace’ine çevirmek — yeni alan ve çekirdek bağımlılığı olmadan — ve dürüst sınırı.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><category>opentelemetry</category><category>observability</category><category>distributed-tracing</category><category>messaging</category><category>architecture</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Şemayı Kuyruğun Kenarında Doğrulamak</title><link>https://sade.dev/tr/notes/semayi-kuyrugun-kenarinda-dogrulamak/</link><guid isPermaLink="true">https://sade.dev/tr/notes/semayi-kuyrugun-kenarinda-dogrulamak/</guid><description>Bir mesajın data&apos;sı, kuyruğun kontrol etmeyeceği tipsiz bir sözleşmedir. Onu kenarda doğrula — üretici tarafında yayınlamadan önce, tüketici tarafında güvenlik ağı olarak.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>queue</category><category>schema</category><category>reliability</category><category>architecture</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Mimari Kararların Çürüyor Çünkü Onları Hiçbir Şey Çalıştırmıyor</title><link>https://sade.dev/tr/journal/mimari-kararlar-curur/</link><guid isPermaLink="true">https://sade.dev/tr/journal/mimari-kararlar-curur/</guid><description>Bir wiki&apos;ye yazılmış mimari karar bir dilektir. Zorlayamadığın sınırlar sessizce aşınır — diyagram kodla örtüşmeyi bırakana dek. Kuralı çalıştırılabilir yap</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>governance</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Idempotency: Aynı Mesaj İki Kez Geldiğinde</title><link>https://sade.dev/tr/notes/idempotency-ayni-mesaj-iki-kez/</link><guid isPermaLink="true">https://sade.dev/tr/notes/idempotency-ayni-mesaj-iki-kez/</guid><description>At-least-once teslimat, bir handler&apos;ın aynı mesajı iki kez göreceği anlamına gelir. Idempotency anahtarı, nereden geldiği ve çökmeden sağ çıkan dedupe</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>queue</category><category>reliability</category><category>architecture</category><category>async</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>AI Darboğazı Kaldırmadı, Yerini Değiştirdi</title><link>https://sade.dev/tr/journal/ai-darbogazi-kaldirmadi/</link><guid isPermaLink="true">https://sade.dev/tr/journal/ai-darbogazi-kaldirmadi/</guid><description>Ucuz kod üretimi, review/entegrasyon/doğrulama yetişemiyorsa çıktıyı artırmaz. Darboğaz yalnızca aşağı kayar — ve asıl iş artık orada</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>ai-workflow</category><category>productivity</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Kararsız Testler: Retry Çözüm Değil</title><link>https://sade.dev/tr/journal/kararsiz-testler-ve-determinizm/</link><guid isPermaLink="true">https://sade.dev/tr/journal/kararsiz-testler-ve-determinizm/</guid><description>AI test yazmayı neredeyse bedava yaptı, kararsız süitler patladı. Retry ve quarantine neden bir koşu bandı ve kararsızlığı deterministik olarak ne yakalar</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>testing</category><category>ci</category><category>ai</category><category>quality</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Şema Evrimi: Sözleşmeyi Kırmadan Değiştirmek</title><link>https://sade.dev/tr/journal/sema-evrimi-sozlesmeyi-kirmadan/</link><guid isPermaLink="true">https://sade.dev/tr/journal/sema-evrimi-sozlesmeyi-kirmadan/</guid><description>Bir mesajın data şekli, servisler arası bir sözleşmedir ve onu atomik değiştiremezsin. Kural: additive güvenli, kırıcı değişiklik yeni bir kimlik ister — ve önce tüketiciler yükseltir</description><pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>schema</category><category>queue</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Katmanlı Mimari mi, Clean Architecture mı?</title><link>https://sade.dev/tr/journal/katmanli-mimari-mi-clean-architecture-mi/</link><guid isPermaLink="true">https://sade.dev/tr/journal/katmanli-mimari-mi-clean-architecture-mi/</guid><description>Klasik katmanlı yapı çoğu projeye yeterken neden soyutlama katmanlarında boğuluyoruz; Clean Architecture gerçekten ne zaman değer katar.</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>clean-architecture</category><category>simplicity</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Vibe Coding ile Production&apos;a Çıkılır mı?</title><link>https://sade.dev/tr/journal/vibe-coding-ile-production/</link><guid isPermaLink="true">https://sade.dev/tr/journal/vibe-coding-ile-production/</guid><description>Vibe coding bir ilk sürümün maliyetini düşürür, yanlış olmanın maliyetini değil. O fatura build&apos;de değil, production&apos;da çıkar — ve onu kimin elinde çıkardığına bağlıdır.</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate><category>ai-workflow</category><category>vibe-coding</category><category>production</category><category>architecture</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>&quot;İleride Lazım Olur&quot; Kodunun Production Faturası</title><link>https://sade.dev/tr/journal/ileride-lazim-olur-kodunun-faturasi/</link><guid isPermaLink="true">https://sade.dev/tr/journal/ileride-lazim-olur-kodunun-faturasi/</guid><description>YAGNI&apos;yi pratikte uygulamak: bugün gerekmeyen esnekliği eklemenin bakım, okunabilirlik ve hata yüzeyi olarak geri ödenen bedeli.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>simplicity</category><category>decisions</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Ardışık Numara Üretiminde Race Condition ve Gap: JIT Rezervasyon</title><link>https://sade.dev/tr/systems/ardisik-numara-uretiminde-race-condition-ve-gap/</link><guid isPermaLink="true">https://sade.dev/tr/systems/ardisik-numara-uretiminde-race-condition-ve-gap/</guid><description>Yasal olarak ardışık ve boşluksuz numaraları paralel worker&apos;larla üretmek: race condition ile gap&apos;i birlikte çözen JIT rezervasyon kalıbı.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>production</category><category>concurrency</category><category>queue</category><category>idempotency</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Mikroservise Ne Zaman Geçerim?</title><link>https://sade.dev/tr/journal/mikroservise-ne-zaman-gecerim/</link><guid isPermaLink="true">https://sade.dev/tr/journal/mikroservise-ne-zaman-gecerim/</guid><description>Monolitten dağıtık mimariye geçişi haklı çıkaran ölçülmüş sinyaller — ve geçiş için henüz erken olduğunu söyleyen yaygın yanlış gerekçeler.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><category>architecture</category><category>microservices</category><category>decisions</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Gitflow mu, GitHub Flow mu? Neye Göre Seçiyorum?</title><link>https://sade.dev/tr/journal/gitflow-mu-github-flow-mu/</link><guid isPermaLink="true">https://sade.dev/tr/journal/gitflow-mu-github-flow-mu/</guid><description>Branch stratejisi seçimini ürün modeli, sürüm sayısı ve deploy ritmine göre yapmanın pratik kriterleri — ve iki modelin yanlış yerde nasıl kırıldığı.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><category>git</category><category>workflow</category><category>branching</category><category>decisions</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Projelere Neden Modüler Monolit ile Başlıyorum?</title><link>https://sade.dev/tr/journal/projelere-neden-moduler-monolit-ile-basliyorum/</link><guid isPermaLink="true">https://sade.dev/tr/journal/projelere-neden-moduler-monolit-ile-basliyorum/</guid><description>Mikroservislere atlamadan önce tek deploy edilebilir bir uygulamada net modül sınırları kurmanın gerekçesi — ve bu kararı ne zaman bıraktığım.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><category>architecture</category><category>modular-monolith</category><category>decisions</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Trunk-Based Development&apos;a Ne Zaman Geçiyorum?</title><link>https://sade.dev/tr/journal/trunk-based-ne-zaman-geciyorum/</link><guid isPermaLink="true">https://sade.dev/tr/journal/trunk-based-ne-zaman-geciyorum/</guid><description>Yüksek frekanslı deploy yapan ekiplerde release branch&apos;lerinin neden kırıldığı ve trunk-based&apos;in ne kadarının disiplin olduğu — geçtiğim ve geçmediğim eşikler.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><category>git</category><category>workflow</category><category>deploy</category><category>decisions</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Veri Yoğunluklu Sistemlerde Ölçek Kırılma Noktaları</title><link>https://sade.dev/tr/systems/veri-yogunluklu-sistemler-kirilma-noktalari/</link><guid isPermaLink="true">https://sade.dev/tr/systems/veri-yogunluklu-sistemler-kirilma-noktalari/</guid><description>Veri yükü arttıkça boring mimari nerede kırılır? Working set, read replica, partitioning, yazma yükü ve ayrı veri katmanı — sıralı kırılma noktaları ve her birinin maliyeti.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>postgresql</category><category>architecture</category><category>production</category><category>scaling</category><category>replication</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Neden Boring Architecture&apos;ı Tercih Ediyorum</title><link>https://sade.dev/tr/journal/neden-boring-architecture/</link><guid isPermaLink="true">https://sade.dev/tr/journal/neden-boring-architecture/</guid><description>Yeni teknoloji peşinde koşmak yerine kanıtlanmış aletleri seçmenin pragmatik gerekçesi. Bu bir korkaklık değil, bir bütçe kararı.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><category>architecture</category><category>decisions</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Shared Redis Kullanırken Namespace İzolasyonu</title><link>https://sade.dev/tr/notes/shared-redis-namespace-izolasyonu/</link><guid isPermaLink="true">https://sade.dev/tr/notes/shared-redis-namespace-izolasyonu/</guid><description>Tek bir Redis instance birden çok proje arasında paylaşılırken key collision ve TTL kazalarından korunmak için kullandığım örüntü.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>redis</category><category>production</category><category>architecture</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>AI-Assisted Engineering Workflow&apos;um</title><link>https://sade.dev/tr/journal/ai-assisted-engineering-workflow/</link><guid isPermaLink="true">https://sade.dev/tr/journal/ai-assisted-engineering-workflow/</guid><description>Claude Code ve benzeri ajanları üretim kodunda güvenle kullanmak için takip ettiğim yedi kural — bir alaycı değil, bir disiplin manifestosu.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate><category>ai-workflow</category><category>productivity</category><category>opinion</category><category>Journal</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>pgBackRest ile PostgreSQL Backup Stratejisi</title><link>https://sade.dev/tr/notes/pgbackrest-postgresql-backup-stratejisi/</link><guid isPermaLink="true">https://sade.dev/tr/notes/pgbackrest-postgresql-backup-stratejisi/</guid><description>pg_dump tek başına yedek değil. pgBackRest ile PITR destekli, sıkıştırılmış, doğrulanabilir yedek mimarisi.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>postgresql</category><category>backup</category><category>production</category><category>pgbackrest</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Laravel Queue Production&apos;da Neden Yavaşlar?</title><link>https://sade.dev/tr/notes/laravel-queue-production-yavaslama/</link><guid isPermaLink="true">https://sade.dev/tr/notes/laravel-queue-production-yavaslama/</guid><description>Laravel queue işçileri yerelde mükemmel, production&apos;da yavaş. Geliştiricilerin gözden kaçırdığı en yaygın beş neden.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate><category>laravel</category><category>queue</category><category>production</category><category>redis</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Tek VPS Üzerinde Çoklu Proje Mimarisi</title><link>https://sade.dev/tr/systems/tek-vps-coklu-proje-mimarisi/</link><guid isPermaLink="true">https://sade.dev/tr/systems/tek-vps-coklu-proje-mimarisi/</guid><description>Bir VPS, birden fazla bağımsız uygulama. Kubernetes yerine bilinçli minimalizm: kullanıcı izolasyonu, ayrı PHP-FPM pool, paylaşılan PostgreSQL/Redis, sade deploy.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><category>vps</category><category>architecture</category><category>nginx</category><category>postgresql</category><category>redis</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Nginx + PHP-FPM Pool Ayrımı</title><link>https://sade.dev/tr/notes/nginx-php-fpm-pool-ayrimi/</link><guid isPermaLink="true">https://sade.dev/tr/notes/nginx-php-fpm-pool-ayrimi/</guid><description>Aynı VPS üzerinde birden fazla PHP uygulaması çalıştırırken, tek bir PHP-FPM pool yerine uygulama başına ayrı pool tanımlamanın somut faydaları.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate><category>nginx</category><category>php-fpm</category><category>production</category><category>vps</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>Laravel Production Stack</title><link>https://sade.dev/tr/systems/laravel-production-stack/</link><guid isPermaLink="true">https://sade.dev/tr/systems/laravel-production-stack/</guid><description>Nginx + PHP-FPM + Redis + PostgreSQL + Supervisor + Horizon ile production-grade bir Laravel kurulumu. Her bileşenin işi ve değiştirildiğinde ne kaybedileceği.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>laravel</category><category>php</category><category>production</category><category>architecture</category><category>System</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item><item><title>pgBouncer auth_query ile Çoklu DB Kullanıcısı</title><link>https://sade.dev/tr/notes/pgbouncer-auth-query/</link><guid isPermaLink="true">https://sade.dev/tr/notes/pgbouncer-auth-query/</guid><description>pgBouncer kullanırken `userlist.txt` yerine `auth_query` ile dinamik kullanıcı doğrulamasının pratik yapılandırması.</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate><category>postgresql</category><category>pgbouncer</category><category>production</category><category>Note</category><author>info@muhammetsafak.com.tr (Muhammet Şafak)</author></item></channel></rss>