Haziran 22 2026

Sürekli Yeni Cihaz Almaya Son: Eski Akıllı Saatlerle de Takip Edebileceğiniz En Kritik 5 Sağlık Metriği

Teknoloji devleri her yıl “devrimsel” yeni özelliklerle karşımıza çıkıyor ve bizi o son model cihazı almaya zorluyor. Ancak dürüst olalım: Cebinizdeki bütçeyi koruyarak da akıllı saat sağlık verilerinizi en üst düzeyde analiz edebilirsiniz. Bileğinizdeki o iki ya da üç yıllık “eski” cihaz, aslında sandığınızdan çok daha güçlü bir biyometrik laboratuvar. Pazarlama illüzyonlarına kapılmak yerine, elinizdeki cihazla takip edebileceğiniz en kritik verileri anlamlandırmaya ne dersiniz?

Yeni sensörler (örneğin kandaki laktat seviyesi veya mikro-EKG’ler) kulağa havalı gelse de, genel sağlık ve zindelik durumunuzu belirleyen ana faktörler yıllardır değişmedi. İşte en son modele binlerce lira harcamadan, mevcut giyilebilir cihazınızla takip edebileceğiniz 5 altın metrik.

1. Dinlenik Nabız (Resting Heart Rate): Kalbinizin Sessiz Çığlığı

Dinlenik nabız, tamamen dinlenme halindeyken kalbinizin bir dakikada kaç kez attığını gösterir. Bu değeri ölçmek için en gelişmiş fotopletismografi (PPG) sensörlerine ihtiyacınız yok; beş yıl önceki giriş seviyesi bir akıllı saat bile bunu mükemmel şekilde yapar.

Neden Önemli?

Araştırmalar gösteriyor ki, dinlenik nabızdaki kademeli bir düşüş, kardiyovasküler sisteminizin daha verimli çalıştığının (yani kondisyonunuzun arttığının) doğrudan bir kanıtıdır. Tam tersine, sabah uyandığınızda dinlenik nabzınız normal ortalamanızdan 5-8 atım daha yüksekse, vücudunuz size bir mesaj veriyor olabilir: Aşırı antrenman (overtraining), yaklaşan bir enfeksiyon veya yoğun zihinsel stres.

Önemli Uyarı: Akıllı saatler teşhis koyucu tıbbi cihazlar değildir. Nabzınızda sürekli ve açıklanamayan bir yükseklik görüyorsanız, kendinizi teşhis etmeye çalışmak yerine mutlaka bir doktora danışın.

2. Nabız Değişkenliği (HRV): Strese Karşı Direnciniz

Son yılların en popüler kavramlarından biri olan HRV (Heart Rate Variability), kalbinizin her bir atışı arasındaki milisaniyelik zaman farkıdır. Kalbimiz bir metronom gibi kusursuz eşit aralıklarla atmaz; otonom sinir sistemimizin durumuna göre bu aralıklar sürekli değişir. Eski cihazların birçoğu, siz uyurken bu biyometrik veriler bütününü arka planda sessizce kaydeder.

Neden Önemli?

Yüksek HRV, vücudunuzun strese hızlı adapte olabildiğini ve dinlenme moduna (parasempatik sinir sistemi) kolayca geçebildiğini gösterir. Düşük HRV ise sistemin “savaş ya da kaç” modunda takılı kaldığının habercisidir. Akıllı saatinizdeki karmaşık HRV grafiklerine takılmayın; sadece haftalık trendinizin yukarı yönlü mü yoksa aşağı yönlü mü olduğunu gözlemleyin.

3. Uyku Analizi: Süre Değil, Kalite

Her gece yatakta 8 saat kalıyor olmanız, gerçekten 8 saat dinlendiğiniz anlamına gelmez. Eski nesil ivmeölçerler ve temel nabız takibi sensörleri bile uyku kalitenizi ölçmek için fazlasıyla yeterlidir. Günümüzdeki uyku analizi algoritmaları, derin ve REM uykusu sürelerinizi tahmin ederken büyük oranda hareket ve kalp hızı dalgalanmalarını kullanır.

Neden Önemli?

Araştırmalar gösteriyor ki, derin uyku fiziksel toparlanmayı (kas tamiri, büyüme hormonu salınımı) sağlarken; REM uykusu zihinsel toparlanma ve hafıza konsolidasyonu için kritiktir. Saatinizin sunduğu uyku skorunu bir saplantı haline getirmeyin. Bunun yerine, “Alkol aldığım geceler derin uykum nasıl etkileniyor?” veya “Gece geç saatte yemek yemek uykumu nasıl böldü?” gibi neden-sonuç ilişkilerine odaklanın.

4. Kardiyovasküler Fitness (VO2 Max Tahmini)

VO2 Max, vücudunuzun yoğun egzersiz sırasında kullanabileceği maksimum oksijen miktarını ifade eder. Eskiden bunu ölçmek için laboratuvar ortamında, ağzınızda bir maskeyle koşubandında tükenene kadar koşmanız gerekirdi. Artık eski akıllı saatiniz bile dışarıda yaptığınız 15-20 dakikalık tempolu bir yürüyüş veya koşu sırasında bu değeri oldukça tutarlı bir şekilde tahmin edebiliyor.

Neden Önemli?

VO2 Max sadece sporcular için değildir; uzun ömürlülük ve genel yaşam kalitesiyle en güçlü korelasyona sahip sağlık göstergelerinden biridir. Yaşınız ilerledikçe bu değerin düşmesini engellemek, biyolojik yaşınızı genç tutmanın en kesin yoludur.

5. Aktif Dakikalar ve Hareket Trendleri

Günde 10.000 adım efsanesinin arkasında bilimsel bir gerçeklikten ziyade, 1965 yapımı bir Japon pazarlama kampanyası yatar. Önemli olan ham adım sayısı değil, bu adımların ne kadarının aktif (orta-yüksek yoğunlukta) atıldığıdır. En eski akıllı saatler bile aktif dakikalarınızı başarıyla hesaplar.

Neden Önemli?

Hareketsiz bir yaşam tarzı, modern dünyadaki birçok kronik hastalığın tetikleyicisidir. Haftalık bazda en az 150 dakikalık orta yoğunlukta (nefes nefese kalmadan, ancak konuşurken hafif zorlanarak) aktivite hedeflemek, sağlığınız için yapabileceğiniz en ucuz ve en etkili yatırımdır.

Eyleme Geçilebilir Adımlar: Eski Saatinizi Sağlık Dedektifine Dönüştürün

Pazarlamacıların yeni cihaz satma baskısına boyun eğmeyin. Mevcut saatinizle verimli bir takip sistemi kurmak için şu basit adımları izleyebilirsiniz:

  • Tutarlılık Sağlayın: Saatinizi her gece aynı sıkılıkta takarak uyuyun. Gevşek takılan saatler uyku ve HRV verilerini yanlış okur.
  • Haftalık Trendlere Odaklanın: Günlük dalgalanmalar sizi yanıltmasın. Pazartesi günü kötü bir uyku skoru alabilirsiniz; önemli olan 7 günlük ortalamanızın nereye gittiğidir.
  • Verilerinizi Manuel Notlarla Eşleştirin: Haftalık biyometrik verilerinizi basit bir metin dosyasında tutarak yaşam tarzınızın etkilerini takip edebilirsiniz.

Kendi basit sağlık takip günlüğünüzü oluşturmak için bilgisayarınızda veya telefonunuzda şu şablona benzer bir not tutabilirsiniz:


# HAFTALIK SAĞLIK VE BİYOMETRİK VERİ TAKİBİ
[Tarih Aralığı: 15 - 21 Ekim]

* Ortalama Dinlenik Nabız (RHR): 62 bpm (Geçen haftaya göre -2 bpm, iyiye gidiş)
* Uyku Verimliliği Ortalaması: %85 (Derin uyku süreleri tatmin edici)
* Haftalık Aktif Dakika: 180 dk (Hedef 150 dk aşıldı)
* HRV Trendi: Stabil / Yükselişte
* Notlar: Çarşamba akşamı yapılan ağır yemek uykuyu olumsuz etkiledi.

Sonuç olarak; sağlığınızı iyileştiren şey bileğinizdeki cihazın fiyatı değil, o cihazın size sunduğu verilerle sizin ne yaptığınızdır. Elinizdeki teknolojinin kıymetini bilin, onu doğru yorumlayın ve hareket etmeye devam edin.

Category: Genel | LEAVE A COMMENT
Haziran 21 2026

Kas Ağrılarını Hızla Hafifleten Yöntem: Aktif Dinlenme (Active Recovery) Nedir ve Nasıl Yapılır?

Dün akşam salonda kendinizi aştınız, o son seti de can hıraş tamamladınız. Ancak bu sabah yataktan kalkarken her bir kasınızın size tatlı tatlı isyan ettiğini hissediyorsunuz. Merak etmeyin, yalnız değilsiniz. Çoğumuz kas ağrısını dindirmek için koltukta saatlerce uzanmayı, yani pasif dinlenmeyi seçeriz. Oysa kas toparlanması sürecini hızlandırmanın çok daha akıllıca ve bilimsel bir yolu var: aktif dinlenme (yani literatürdeki adıyla active recovery). Koltukta patates olmak yerine yapacağınız düşük yoğunluklu, hafif egzersiz seansları, ağrılarınızı hafifletmenin ve sizi bir sonraki antrenmana hazırlamanın gizli anahtarı olabilir.

Neden Yatıp Dinlenmek Yetmiyor?

Zorlu bir antrenmandan sonra kas liflerinizde mikro düzeyde yırtıklar oluşur ve bu yırtıkların etrafında laktik asit ve diğer metabolik atıklar birikir. Biz buna halk arasında tatlı kas ağrısı, bilimsel olarak ise DOMS (Delayed Onset Muscle Soreness) diyoruz. Koltuğa uzanıp hiç hareket etmediğinizde, vücudunuzdaki kan dolaşımı yavaşlar. Kan dolaşımının yavaşlaması demek, kasların iyileşmesi için ihtiyaç duyulan oksijen ve besin maddelerinin bölgeye daha geç ulaşması demektir.

İşte aktif dinlenmenin mantığı tam olarak burada devreye girer. Kalp atış hızınızı hafifçe artırarak kaslara giden kan akışını hızlandırırız. Böylece vücut, biriken atıkları adeta bir süpürge gibi temizler ve taze oksijeni hasarlı dokulara taşır.

Bilim Ne Diyor?

Konu sadece bir his meselesi değil. Spor bilimciler bu konuda oldukça net. Araştırmalar gösteriyor ki, yoğun bir antrenmanın ardından yapılan düşük yoğunluklu aktif dinlenme çalışmaları, tamamen hareketsiz kalmaya kıyasla kandaki laktat seviyelerini çok daha hızlı düşürüyor. Ayrıca hafif hareket etmek, eklem sıvısının (sinovyal sıvı) salgılanmasını artırarak antrenman sonrası oluşan sertliği ve hareket kısıtlılığını da azaltıyor.

Aktif Dinlenmenin Faydaları

  • Daha Hızlı İyileşme: Kaslara giden besin miktarı arttığı için protein sentezi ve doku onarımı hızlanır.
  • Daha Az Kas Ağrısı: Laktik asit birikimi hızla dağıtıldığı için sonraki günlerde hissettiğiniz o “bütün vücudum dökülüyor” hissi azalır.
  • Zihinsel Rahatlama: Ağır idmanların yarattığı merkezi sinir sistemi yorgunluğunu, hafif bir yürüyüşle üstünüzden atabilirsiniz.
  • Esneklik ve Mobilite: Eklemlerinizi paslanmaktan korur, hareket açıklığınızı (range of motion) korumanıza yardımcı olur.

Aktif Dinlenme Nasıl Yapılır? (Eyleme Geçirilebilir Adımlar)

Aktif dinlenmenin altın kuralı şudur: Kendinizi yormayacaksınız. Amaç yeni bir rekor kırmak değil, vücuda “Seni seviyorum ve iyileşmene yardım ediyorum” mesajı vermektir. Egzersiz yoğunluğunuz, maksimum eforunuzun %30 ila %50’si arasında kalmalıdır. İşte uygulayabileceğiniz en iyi yöntemler:

1. Hafif Tempo Yürüyüş veya Bisiklet (LISS)

Açık havada veya koşu bandında 20-30 dakikalık hafif tempolu bir yürüyüş yapın. Eğer bisiklet seviyorsanız, direnci en düşük seviyeye getirip pedal çevirebilirsiniz. Unutmayın, nefes nefese kalmamalısınız; rahatça konuşabiliyor olmanız gerekir.

2. Mobilite ve Esneme Rutinleri

Yyoga veya hafif stretching hareketleri, kas boyunu uzatmak ve eklem sağlığını korumak için mükemmeldir. Özellikle köpük rulo (foam roller) kullanarak kaslarınıza hafif masajlar uygulayabilirsiniz.

3. Düşük Yoğunluklu Yüzme

Suyun kaldırma kuvveti eklemlerinizdeki yükü tamamen alır. Su içinde yapacağınız 20 dakikalık çok hafif tempolu bir yüzme seansı, tüm vücut kaslarınıza masaj etkisi yapacaktır.

Önemli Uyarı: Kaslarınızda hissettiğiniz ağrı genel bir yorgunluk hissi yerine keskin, batıcı ve tek taraflı bir acıysa, bu bir sakatlanma belirtisi olabilir. Bu gibi durumlarda egzersize devam etmemeli, aktif dinlenme yapmamalı ve mutlaka bir tıp doktoruna veya fizyoterapiste danışmalısınız.

Örnek Haftalık Aktif Dinlenme Protokolü

Aktif dinlenmeyi haftalık rutininize nasıl entegre edeceğinizi bilemiyorsanız, aşağıdaki basit şablonu kullanabilirsiniz. Bu kod benzeri planı bir kenara not edin:


# HAFTALIK AKTİF DİNLENME PROTOKOLÜ
# NOT: Yoğun günlerin hemen ertesi günü hafif hareket ekleyin.

Pazartesi: Yoğun Antrenman (Ağırlık veya HIIT)
Sali     : AKTİF DİNLENME (30 dk hafif yürüyüş + foam roller)
Çarşamba : Yoğun Antrenman
Perşembe : AKTİF DİNLENME (20 dk mobilite & esneme egzersizleri)
Cuma     : Yoğun Antrenman
Cumartesi: Pasif Dinlenme (Tamamen yatış ve zihinsel dinlenme)
Pazar    : AKTİF DİNLENME (Doğa yürüyüşü veya hafif bisiklet turu)

Sonuç: Vücudunuzu Dinleyin

Spor yapmak kadar dinlenmek de bir sanattır. Gelişim, siz ağırlığı kaldırırken değil; siz dinlenirken gerçekleşir. Bir sonraki ağır antrenmanınızdan sonra koltuğa gömülüp kalmak yerine, kendinize bir iyilik yapın ve 15-20 dakika da olsa hafifçe hareket edin. Kaslarınızın size nasıl teşekkür ettiğini kısa sürede fark edeceksiniz!

Category: Genel | LEAVE A COMMENT
Haziran 21 2026

4 Gün Çalışıp 4 Gün Dinlenmek (4-On 4-Off): Bu Çalışma Modelinin Mental Sağlık ve Verimlilik Üzerindeki Etkileri

Klasik 9-5 mesai saatleri artık yavaş yavaş tarihe mi karışıyor? Son yıllarda özellikle üretim, sağlık, teknoloji desteği ve lojistik sektörlerinde sıkça karşımıza çıkan 4 on 4 off schedule (4 gün çalışıp 4 gün dinlenme) sistemi, modern çalışma hayatının en çok tartışılan konularından biri haline geldi. 4 gün boyunca genellikle 12 saatlik vardiyalarla çalışıp, ardından gelen 4 günlük devasa tatil kulağa harika gelse de, bu modelin mental sağlık, çalışma saatleri verimliliği ve genel iş yaşam dengesi üzerindeki etkileri oldukça derin. Peki, biyolojik saatimiz bu tempoya ne diyor? Gelin, bilimsel veriler ışığında bu çalışma modelinin anatomisini çıkaralım.

4-On 4-Off Nedir ve Neden Bu Kadar Popüler?

Bu sistemde çalışanlar ardışık 4 gün boyunca (genellikle günde 12 saat) çalışır ve ardından gelen 4 günü tamamen izinli geçirirler. Kulağa rüya gibi geliyor değil mi? Düşünsenize, her sekiz günde bir, dört günlük mini bir tatil yapıyorsunuz. Yılda neredeyse 180 günden fazla tatil demek bu!

Ancak madalyonun diğer yüzü oldukça ağır. 12 saatlik bir çalışma günü; işe gidiş-dönüş, hazırlanma ve yemek süreleri de eklendiğinde kişisel yaşama neredeyse sıfır zaman bırakır. İşte bu yüzden, sistemin sunduğu o muazzam özgürlük hissi ile çalışma günlerindeki aşırı yıpranma arasında hassas bir denge kurmak gerekiyor.

Mental Sağlık ve Sirkadiyen Ritim Çatışması

İnsan vücudu, güneşin hareketlerine göre optimize edilmiş 24 saatlik bir biyolojik saate (sirkadiyen ritim) sahiptir. 12 saatlik vardiyalar, özellikle de gece vardiyaları işin içine girdiğinde, bu hassas saat mekanizması bozulmaya başlar.

Araştırmalar gösteriyor ki, uzun çalışma saatleri ve düzensiz uyku düzeni, vücuttaki stres hormonu olan kortizolün kronik olarak yüksek kalmasına neden olabiliyor. Bu durum, uzun vadede tükenmişlik sendromu (burnout) ve anksiyete riskini artırıyor. 4 günlük izin süreci zihinsel yenilenme için harika bir fırsat sunsa da, eğer ilk iki günü sadece “kendinize gelmekle” geçiriyorsanız, iş yaşam dengesi teoride kalmış demektir.

Çalışma Saatleri Verimliliği: 12 Saat Boyunca Odaklanmak Mümkün mü?

Dürüst olalım: Kimse kesintisiz 12 saat boyunca yüksek performans gösteremez. Beynimiz, belirli döngüler halinde çalışır ve odaklanma süremiz sınırlıdır.

Bilimsel çalışmalar, 8. çalışma saatinden sonra hata yapma oranlarının ve dikkat dağınıklığının dramatik bir şekilde arttığını gösteriyor. Dolayısıyla, bu modelde çalışma saatleri verimliliği sağlamak, geleneksel yöntemlerden çok daha farklı stratejiler gerektirir. “Günü kurtarmak” yerine enerjiyi zamana yaymak, mikro molalar vermek ve teknik olarak cognitive fatigue (zihinsel yorgunluk) anlarını iyi yönetmek şarttır.

4 Günlük Tatili “Gerçekten” Yenilenerek Geçirmenin Yolları

Bu sistemde mutlu ve sağlıklı kalmanın sırrı, o 4 günlük boşluğu nasıl yönettiğinizde gizlidir. İşte uygulayabileceğiniz bilimsel ve eyleme geçirilebilir adımlar:

1. Sosyal Jetlag’den Kaçının

Çalışma günlerindeki uyku saatiniz ile tatil günlerindeki uyku saatiniz arasında uçurum olmamasına özen gösterin. Hafta içi sabah 6’da uyanıp, tatilde öğlen 2’ye kadar uyumak vücudunuza jetlag etkisi yapar. İzin günlerinizde de uyku saatlerinizi en fazla 1-2 saat esnetin.

2. Aktif Dinlenme (Active Recovery) Yapın

Tüm tatili koltukta Netflix izleyerek geçirmek cazip gelebilir ancak bu zihninizi dinlendirmez. Hafif tempolu yürüyüşler, yoga veya sevdiğiniz bir hobi ile ilgilenmek, beynin “varsayılan mod ağını” (default mode network) sakinleştirir ve gerçek anlamda deşarj olmanızı sağlar.

3. Dijital Detoks Sınırları Koyun

Çalışma günlerinde zaten ekrana doymuş oluyorsunuz. İzin günlerinizin ilk 24 saatinde iş e-postalarından, bildirimlerden ve hatta sosyal medyadan mümkün olduğunca uzak durun. Zihninize “şu an güvendeyiz ve acil bir durum yok” sinyalini vermenin en iyi yolu budur.

Eğer 4-On 4-Off sisteminde çalışırken kronik uykusuzluk, geçmeyen yorgunluk, odaklanma kaybı veya depresif bir ruh hali yaşıyorsanız, bu durum “Vardiya Çalışması Uyku Bozukluğu” (Shift Work Sleep Disorder) habercisi olabilir. Bu gibi durumlarda bir yaşam tarzı değişikliği yapmadan önce mutlaka bir tıp doktoruna veya uyku uzmanına danışın.

Sonuç: Sizin İçin Doğru Model Hangisi?

4 on 4 off schedule her yiğidin harcı değildir ama doğru yönetildiğinde harika bir yaşam kalitesi sunabilir. Önemli olan, çalışırken kendinizi tüketmemek ve dinlenirken de gerçekten dinlenmeyi becerebilmektir. Kendi biyolojinizi dinleyin, sınırlarınızı belirleyin ve o 4 günlük özgürlüğün tadını çıkarın!

Category: Genel | LEAVE A COMMENT
Haziran 20 2026

Caddy ile Docker Konteynerlerinde Sıfır Konfigürasyonlu Otomatik SSL ve Production Dağıtımı

Docker üzerinde çalışan mikro servisleri veya monolit uygulamaları canlıya alırken, kendinizi hâlâ yüzlerce satırlık Nginx konfigürasyonları yazarken, Certbot cronjob’ları debug ederken veya OpenSSL open-source script’leri arasında kaybolmuş buluyor musunuz? caddy docker production senaryolarında, bu operasyonel karmaşayı tamamen ortadan kaldıran, modern ve bellek güvenliği odaklı (memory-safe) bir web sunucusu olarak karşımıza çıkıyor. Bu rehberde, production ortamında Docker konteynerleriniz için sıfır konfigürasyonlu ve tamamen otomatik bir altyapıyı nasıl kuracağınızı adım adım inceleyeceğiz.

Nginx vs Caddy: Production Gözünden Gerçekçi Bir Karşılaştırma

Yıllardır süregelen reverse proxy tahtını sallayan nginx vs caddy rekabeti, aslında bir felsefe savaşıdır. Nginx, performans canavarı bir C yazılımıdır ancak SSL yönetimi, HTTP/3 desteği ve dinamik konfigürasyon gibi modern ihtiyaçlar için ek modüllere, third-party paketlere (certbot, lua, v.b.) ihtiyaç duyar. Bu da production ortamlarında bakım yükünü (maintenance overhead) katlar.

Caddy ise Go diliyle yazılmıştır. Kendi içinde gömülü bir ACME (Let’s Encrypt / ZeroSSL) istemcisiyle gelir. Sadece tek satır yazarak hem reverse proxy kurulumunu tamamlar hem de otomatik ssl kurulumu sürecini arka planda fully-automated olarak başlatır. Üstelik bunu yaparken HTTP/3 protokolünü kutudan çıktığı gibi aktif eder. Performans noktasında Nginx hâlâ milisaniyeler bazında mikro optimizasyonlarda önde olsa da, modern CPU’lar ve network mimarilerinde Caddy’nin getirdiği operasyonel hız ve güvenlik, bu farkı önemsiz kılmaktadır.

Production Mimarisi: Docker Compose ve Caddyfile Entegrasyonu

Production ortamında stabil çalışan bir reverse proxy yapılandırması için öncelikle Caddy’nin durum bilgisi (state) içeren dizinlerini host makinede saklamamız gerekir. SSL sertifikalarının kaybolmaması ve rate limit’lere takılmamak için bu adım kritiktir.

İlk olarak projemizin kök dizininde bir Caddyfile oluşturalım. Bu dosya, Caddy’nin ana konfigürasyon merkezidir ve syntax’ı oldukça temizdir.

# Caddyfile
api.kertenkerem.net {
    # Gelişmiş Güvenlik Başlıkları
    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
        X-XSS-Protection "1; mode=block"
        X-Frame-Options "DENY"
        X-Content-Type-Options "nosniff"
        Referrer-Policy "strict-origin-when-cross-origin"
    }

    # Sıkıştırma Aktif
    encode gzip zstd

    # Docker içindeki microservice-api konteynerine yönlendirme
    reverse_proxy api-service:8080 {
        header_up Host {upstream_hostport}
        header_up X-Real-IP {remote_host}
    }
}

Yukarıdaki konfigürasyonda tek bir domain tanımladık. Caddy, bu domaini gördüğü anda otomatik olarak Let’s Encrypt ve ZeroSSL üzerinden ACME HTTP-01 challenge sürecini başlatır. Sizin ek bir port açıp certbot çalıştırmanıza veya private-key üretmenize gerek kalmaz.

Docker Compose ile Servislerin Ayağa Kaldırılması

Şimdi de bu yapıyı ayağa kaldıracak olan production-ready docker-compose.yml dosyamızı hazırlayalım. Burada en çok dikkat etmeniz gereken nokta, Caddy’nin veri depolama hacimleridir (volumes).

version: '3.8'

services:
  caddy:
    image: caddy:2.7-alpine
    container_name: caddy_proxy
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp" # HTTP/3 (QUIC) için zorunlu port
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config
    networks:
      - prod_network
    environment:
      - ACME_AGREE=true

  api-service:
    image: node:20-alpine
    container_name: node_api
    restart: always
    command: node index.js
    # Port map etmiyoruz; dış dünyaya sadece Caddy üzerinden kapalı network ile açıyoruz
    networks:
      - prod_network

networks:
  prod_network:
    driver: bridge

volumes:
  caddy_data:
    external: false
  caddy_config:
    external: false

Neden /data ve /config dizinlerini kalıcı hale (persist) getirdik? Çünkü Caddy, aldığı SSL sertifikalarını, private key’leri ve ACME hesap bilgilerini /data dizini altında saklar. Eğer bu volume tanımlarını yapmazsanız, konteyner her restart olduğunda sıfırdan sertifika talep edecek ve Let’s Encrypt’in haftalık limitlerine (duplicate certificate limit) takılarak sitenizin erişime kapanmasına neden olacaktır.

Gelişmiş Senaryo: DNS-01 Challenge ile Wildcard SSL Alımı

Eğer API servislerinizi veya staging ortamlarınızı dış dünyaya tamamen açmadan, yerel veya yarı-kapalı networklerde SSL ile çalıştırmak istiyorsanız ya da wildcard (*.kertenkerem.net) sertifikaya ihtiyacınız varsa, varsayılan HTTP-01 challenge’ı işe yaramaz. Çünkü HTTP-01, Let’s Encrypt sunucularının sizin 80. portunuza erişmesini gerektirir.

Bu gibi durumlarda DNS-01 challenge kullanmalıyız. Bu yöntemde Caddy, DNS sağlayıcınızın (örn: Cloudflare) API’sini kullanarak geçici bir TXT kaydı açar, doğrulamayı geçer ve kaydı siler. Ancak, varsayılan Caddy imajı güvenlik ve hafiflik gerekçesiyle DNS plugin’lerini içermez. Kendi imajımızı derlememiz gerekir.

Bunun için Dockerfile kullanarak çok kolay bir custom build oluşturabiliriz:

# Dockerfile-caddy
FROM caddy:2.7-builder-alpine AS builder

RUN xcaddy build \
    --with github.com/caddy-dns/cloudflare

FROM caddy:2.7-alpine

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

Bu custom imajı oluşturduktan sonra, Caddyfile dosyamızı DNS-01 kullanacak şekilde güncelliyoruz:

# DNS-01 Destekli Caddyfile
*.kertenkerem.net {
    tls {
        dns cloudflare {env.CLOUDFLARE_API_TOKEN}
    }

    @api host api.kertenkerem.net
    handle @api {
        reverse_proxy api-service:8080
    }

    # Geri kalan istekleri düşür veya statik dosyaya yönlendir
    handle {
        abort
    }
}

Burada kullandığımız CLOUDFLARE_API_TOKEN değerini Docker Compose dosyasında çevre değişkeni (environment variable) olarak tanımlamanız yeterlidir. Caddy, runtime sırasında bu token’ı okuyarak DNS işlemlerini tamamen otonom şekilde halleder.

Sıfır Kesinti (Zero-Downtime) ile Konfigürasyon Güncelleme

Production sistemlerinde en büyük kabuslardan biri, proxy konfigürasyonunu değiştirdikten sonra servisi restart ederken yaşanan saniyelik kesintilerdir. Nginx’teki nginx -s reload komutunun eşdeğeri Caddy’de çok daha zarif bir şekilde çözülmüştür.

Caddyfile üzerinde yaptığınız değişiklikleri canlıya almak için konteyneri asla restart etmeyin. Bunun yerine şu komutu tetikleyin:

docker exec -w /etc/caddy caddy_proxy caddy reload

Bu komut, Caddy’nin arka plandaki Go thread’leri vasıtasıyla yeni konfigürasyonu belleğe yüklemesini sağlar. Eski bağlantılar (active connections) koparılmadan, yeni gelen tüm istekler anında yeni kurallara göre yönlendirilir. İşlem milisaniyeler içinde tamamlanır ve hata payı sıfırdır.

Production Ortamında Dikkat Edilmesi Gereken SRE Pratikleri

  • Log Yönetimi: Caddy logları varsayılan olarak JSON formatında stdout’a basar. Bu, ELK, Grafana Loki veya Datadog gibi log toplayıcılar için mükemmel bir uyumluluk sağlar. Caddyfile içine log { output stdout } ekleyerek log formatınızı standartlaştırın.
  • Resource Limits: Go runtime, varsayılan olarak sistemdeki tüm CPU çekirdeklerini kullanmaya meyillidir. Docker Compose üzerinde Caddy servisine makul CPU ve Memory limitleri koyarak (örn: 0.5 CPU, 512MB RAM) olası bellek sızıntısı ve CPU spike durumlarında host makinenin çökmesini engelleyin.
  • Keep-Alive ve Timeout Ayarları: Production ortamında yavaş istemci saldırılarını (Slowloris v.b.) engellemek adına Caddy’nin global ayarlarından network timeout limitlerini projenizin doğasına göre optimize edin.

Caddy, sunduğu modern mimari ve sıfır-operasyonel efor felsefesiyle, Docker tabanlı production dağıtımlarında her DevOps mühendisinin cephanesinde bulunması gereken bir silahtır. Altyapınızı sadeleştirin, bırakın SSL sertifikalarını ve yönlendirmeleri sizin yerinize Go tabanlı bu modern dostumuz yönetsin.

Category: Genel | LEAVE A COMMENT
Haziran 20 2026

İkinci Beynimiz Bağırsaklar: Mikrobiyom Sağlığını İyileştirerek Zihinsel Odaklanmayı Artırma Yöntemleri

Sabah yataktan kalktınız, kahvenizi içtiniz ama kafanızın içindeki o yoğun sis bulutu bir türlü dağılmadı mı? Merak etmeyin, yalnız değilsiniz. Son yıllarda yapılan bilimsel çalışmalar, yaşadığımız konsantrasyon sorunlarının ve “brain fog” (sisli beyin) durumunun sadece uykusuzlukla ilgili olmadığını gösteriyor. İşin sırrı aslında karnımızda saklı. Bağırsak beyin aksı adı verilen bu çift şeritli biyolojik otoyol, bağırsak mikrobiyomu kalitemizin doğrudan zihinsel odaklanma ve modumuz üzerinde belirleyici olduğunu kanıtlıyor. Peki, doğru bir probiyotik beslenme düzeniyle zihnimizi nasıl keskinleştirebiliriz? Gelin, bu gizemli bağa yakından bakalım.

Bağırsak-Beyin Aksı: Karnımızdaki Mikroplar Kafamızı Nasıl Yönetiyor?

Geleneksel olarak beynimizin tüm vücudu yöneten tek lider olduğunu düşünürdük. Ancak bilim dünyası artık bağırsaklarımızı “ikinci beyin” olarak tanımlıyor. Bağırsaklarımızda yaşayan trilyonlarca mikroorganizma (yani mikrobiyomumuz), vagus siniri aracılığıyla beyne sürekli sinyaller gönderir. İşin daha da ilginç yanı, hislerimizi ve düşüncelerimizi etkileyen nörotransmitterlerin üretimidir.

Araştırmalar gösteriyor ki, vücudumuzdaki serotonin (mutluluk hormonu) miktarının %90’ından fazlası bağırsaklarda üretiliyor. Aynı şekilde, odaklanmayı ve motivasyonu sağlayan dopamin hormonu da bağırsak sağlığımızla doğrudan bağlantılı. Yani, bağırsaklarınızda işler yolunda gitmediğinde, beyninizin yüksek performansla çalışmasını beklemek pek de adil değil.

Brain Fog (Sisli Beyin) Nedir ve Bağırsakla Ne İlgisi Var?

Öğleden sonra gelen o tatlı ama can sıkıcı uyku hali, okuduğunuz sayfayı üç kez yeniden okumak zorunda kalmanız… İşte buna “brain fog” diyoruz. Bağırsaktaki zararlı bakteriler yararlılardan daha fazla sayıya ulaştığında (disbiyozis), bağırsak duvarı geçirgenliği artabilir. Bu durum, vücutta hafif düzeyde ama kronik bir inflamasyona (iltihaplanmaya) yol açar. Kan dolaşımına sızan bu inflamasyon sinyalleri beyne ulaştığında ise zihinsel netliğimiz darbe alır, odaklanma süremiz kısalır.

Mikrobiyomunuzu Besleyerek Zihinsel Netliğe Ulaşmanın Yolları

Zihninizi yeniden keskinleştirmek ve odaklanma sürenizi artırmak için yapabileceğiniz en iyi şey, bağırsaklarınızdaki “dost” bakterileri şımartmaktır. İşte günlük hayatınıza kolayca entegre edebileceğiniz eyleme geçirilebilir adımlar:

1. Prebiyotikler: Bakterilerinizin En Sevdiği Yemekler

Probiyotik bakterileri vücuda almak yetmez; onları hayatta tutmak ve beslemek gerekir. Prebiyotikler, sindiremediğimiz ama dost bakterilerin bayılarak yediği liflerdir. Beslenme düzeninize şu gıdaları ekleyerek başlayın:

  • Sarımsak, soğan ve pırasa
  • Kuşkonmaz ve enginar
  • Muz (özellikle biraz yeşil olanlar) ve yulaf

2. Probiyotik Beslenme: Dost Bakterileri Ordunuza Katın

Canlı ve dost bakterileri doğrudan almak, mikrobiyom çeşitliliğini artırmanın en hızlı yoludur. Fermente gıdalar bu konuda tam birer ecza deposudur. Günlük beslenmenize kefir, ev yapımı turşu, kombucha veya yoğurt ekleyin. Kısa süre içinde enerjinizin ve zihinsel odaklanma kapasitenizin arttığını fark edeceksiniz.

3. Polifenoller ve Antioksidanlar: Beyin Koruyucu Kalkan

Polifenol içeren gıdalar, bağırsaktaki faydalı bakterilerin üremesini teşvik ederken zararlı olanların çoğalmasını engeller. Bitter çikolata (en az %70 kakao), yaban mersini, yeşil çay ve sızma zeytinyağı hem bağırsağınıza hem de doğrudan beyin hücrelerinize iyi gelir.

Herkesin bağırsak yapısı ve mikrobiyomu kendine hastır. Ciddi sindirim sorunları yaşıyorsanız, irritabl bağırsak sendromu (IBS) gibi teşhisleriniz varsa veya beslenmenizde radikal değişiklikler yapacaksanız, yeni bir probiyotik takviyesine başlamadan önce mutlaka bir doktora veya uzman diyetisyene danışın.

Günlük Odaklanma Protokolü (Örnek Rutin)

Bağırsak sağlığınızı ve zihinsel performansınızı optimize etmek için aşağıdaki basit günlük rutini bilgisayarınıza ya da buzdolabınıza kaydedebilirsiniz:


# Günlük Bağırsak ve Odaklanma Protokolü

08:00 -> Güne 1 büyük bardak ılık su ile başla (Sindirimi uyandırır)
09:00 -> Prebiyotik kahvaltı (Yulaf ezmesi, muz, ceviz ve tarçın)
13:00 -> Renkli öğle yemeği (Bol yeşillik, zeytinyağlı sebzeler ve kaliteli protein)
16:00 -> Odaklanma molası (1 fincan yeşil çay + 2 kare bitter çikolata)
19:00 -> Akşam yemeğine eşlikçi: 1 küçük kase ev yapımı kefir veya turşu
22:00 -> Dijital detoks (Mavi ışık bağırsak ritmini de bozar!) ve kaliteli uyku

Özetle: Ne Yiyorsak O’yuz (Ve Öyle Düşünüyoruz!)

Zihinsel odaklanma sadece ne kadar kahve içtiğinizle ya da kaç saat uyuduğunuzla ilgili değildir. Kafanızın içindeki performansı artırmak istiyorsanız, önce karnınızdaki ekosisteme iyi bakmalısınız. Beslenmenizi çeşitlendirerek, fermente gıdalara şans vererek ve işlenmiş şekerden uzak durarak sadece sindirim sisteminizi değil, aynı zamanda kararlarınızı, modunuzu ve tüm gün süren odaklanma becerinizi de dönüştürebilirsiniz.

Category: Genel | LEAVE A COMMENT
Haziran 19 2026

Ölçeklenebilir ClickHouse İzleme (Monitoring): Büyük Veri Analitiğinde Gözlemlenebilirlik Darboğazlarını Aşmak

ClickHouse, saniyede milyonlarca satırı ingest ederken milisaniyeler bazında sorgu dönebilen bir canavar. Ancak her SRE’nin acı yoldan öğrendiği gibi, veri tabanı izleme süreçlerini doğru kurgulamadığınızda, o canavar bir anda kendi kendini yiyen bir karadeliğe dönüşebilir. Özellikle petabyte ölçeğinde production cluster’ları yönetiyorsanız, yanlış yapılandırılmış bir clickhouse monitoring mimarisi, izlemekle yükümlü olduğu sistemin kendisinde darboğaz (bottleneck) yaratacaktır. Bu rehberde, geleneksel yöntemlerin neden çöktüğünü inceleyecek, gerçek zamanlı big data observability pratiklerini ele alacak ve production ortamında güvenle kullanabileceğiniz bir grafana clickhouse izleme mimarisi inşa edeceğiz.

Geleneksel İzleme Yöntemleri ClickHouse’da Neden Patlar?

Geleneksel RDBMS dünyasından kalma alışkanlıklarla ClickHouse izlemeye çalışmak, tır ile drift yapmaya benzer; teoride eğlenceli görünse de ilk virajda devrilirsiniz. Klasik agent’ların her 5 saniyede bir system tablolarına gidip ağır SELECT COUNT(*) veya agresif system.parts sorguları atması, zaten yoğun write/merge döngüsünde olan ClickHouse’u kilitler.

ClickHouse, doğası gereği asenkron çalışır. Disk üzerindeki data part’ları sürekli arka planda birleştirilir (merge), mutasyonlar (mutations) asenkron olarak işlenir ve replication kuyrukları ZooKeeper/Keeper üzerinden koordine edilir. Eğer siz bu dinamikleri anlamadan sadece CPU/Memory odaklı bir veri tabanı izleme stratejisi kurarsanız, şu klasik felaket senaryolarıyla karşılaşırsınız:

  • System Table Şişmesi: system.query_log ve system.trace_log tablolarının temizlenmemesi sonucu diskin dolması.
  • ZooKeeper Lock’ları: Replicated tabloların saniyede yüzlerce kez izleme aracı tarafından sorgulanmasıyla ZooKeeper’ın session kaybetmesi.
  • Thread Pool Exhaustion: İzleme sorgularının, gerçek analitik sorguların öncelikli thread’lerini işgal etmesi.

1. Adım: Native Prometheus Endpoint’ini Doğru Yapılandırmak

ClickHouse, 20.1 sürümünden beri harici bir exporter’a ihtiyaç duymadan Prometheus formatında metrik üretebiliyor. Ancak default gelen konfigürasyon çoğu zaman production iş yükleri için yetersizdir veya çok fazla gürültü (noise) üretir. İlk iş olarak, native endpoint’i optimize edilmiş bir şekilde aktif edelim.

Aşağıdaki XML bloğunu, cluster üzerindeki tüm node’larda /etc/clickhouse-server/config.d/prometheus.xml olarak kaydedin:

<clickhouse>
    <prometheus>
        <endpoint>/metrics</endpoint>
        <port>9363</port>
        <metrics>true</metrics>
        <events>true</events>
        <asynchronous_metrics>true</asynchronous_metrics>
        <status_info>true</status_info>
    </prometheus>
</clickhouse>

Neden böyle yaptık? asynchronous_metrics parametresi hayati önem taşır. ClickHouse, işletim sistemi seviyesindeki metrikleri ve arka plan thread durumlarını her an güncel tutmak yerine, arka planda belirli aralıklarla asenkron olarak toplar. Bu parametreyi aktif ederek, kazıma (scraping) anında motorun ekstra yük altına girmesini engellemiş oluyoruz.

2. Adım: SRE Gözünden Takip Edilmesi Gereken Kritik Metrikler

Her şeyi izlemek, hiçbir şeyi izlememektir. ClickHouse izlerken panellerinizde mutlaka bulunması gereken, doğrudan “aksiyon alınabilir” metrikler şunlardır:

Active Parts ve Too Many Parts Hatası

ClickHouse’a çok sık ve küçük batch’ler halinde insert yaparsanız, arka plandaki merge mekanizması yetişemez. Bu durum Too many parts in all parts in table hatasına yol açar ve insert’ler blocklanır. Bunu önceden yakalamak için şu metriği alarm listenizin en başına koyun:

# Anlık aktif part sayısı alarm eşiği (Genellikle tablo başına > 300 tehlikedir)
clickhouse_asynchronous_number_of_active_parts

ZooKeeper / ClickHouse Keeper Gecikmeleri

Replicated (örneğin ReplicatedMergeTree) tablolar kullanıyorsanız, ZooKeeper cluster’ınızın sağlığı doğrudan ClickHouse’un sağlığı demektir. ZooKeeper üzerindeki queue birikmelerini şu metrikle izleyin:

# ZooKeeper'da bekleyen asenkron task sayısı
clickhouse_asynchronous_metrics_ZooKeeperHasPendingMutations
# Replicated tablolar için kuyruktaki iş sayısı
clickhouse_metrics_ReplicatedPendingInserts

3. Adım: Grafana Entegrasyonu ve Verimli Dashboard Tasarımı

Grafana clickhouse entegrasyonu için toplulukta iki popüler yaklaşım var: İlki Prometheus üzerinden metrikleri çekmek, ikincisi ise doğrudan ClickHouse sistem tablolarını sorgulayan bir veri kaynağı (örneğin Altinity ClickHouse Datasource) kullanmak. En efektif yöntem, bu ikisini hibrit kullanmaktır.

Grafana üzerinde yavaş sorguları (slow queries) izlemek için doğrudan system tablosunu sorgularken asla limit koyulmamış sorgular atmayın. Aşağıdaki optimize edilmiş SQL örneği, son 1 saatte en çok kaynak tüketen ilk 5 sorguyu cluster genelinde getirir:

SELECT
    query_duration_ms,
    query,
    user,
    formatReadableSize(memory_usage) AS mem
FROM clusterAllReplicas('default', system.query_log)
WHERE event_time > now() - INTERVAL 1 HOUR
  AND type = 'QueryFinish'
ORDER BY query_duration_ms DESC
LIMIT 5;

Neden böyle? clusterAllReplicas tablosal fonksiyonunu kullanarak tüm node’lardaki system.query_log verilerini dağıtık bir şekilde sorguluyoruz. Bu sayede tek bir node’un hafızasını (RAM) şişirmeden, tüm cluster’ın röntgenini çekebiliriz.

4. Adım: Sistem Tablolarının Gizli Tehlikesi ve TTL Yönetimi

ClickHouse default ayarlarda system.query_log, system.trace_log, system.metric_log gibi kritik tabloları sonsuza kadar saklama eğilimindedir. Eğer saniyede binlerce sorgunun döndüğü bir big data observability altyapınız varsa, bu tablolar birkaç hafta içinde disk alanınızı yutacaktır.

Sistem tablolarına akıllıca bir TTL (Time-To-Live) politikası uygulamak şarttır. Bunu yapmak için /etc/clickhouse-server/config.d/system_tables_ttl.xml dosyası oluşturun:

<clickhouse>
    <query_log>
        <partition_by>toYYYYMM(event_date)</partition_by>
        <ttl>event_date + INTERVAL 15 DAY DELETE</ttl>
    </query_log>
    <trace_log>
        <partition_by>toYYYYMM(event_date)</partition_by>
        <ttl>event_date + INTERVAL 7 DAY DELETE</ttl>
    </trace_log>
</clickhouse>

Bu konfigürasyonla birlikte, sorgu geçmişinizi 15 gün, çok daha fazla yer kaplayan execution trace log’larınızı ise sadece 7 gün saklayarak diskin gereksiz yere şişmesini önlemiş oluyoruz. Unutmayın, disk doluluğu %90’ın üzerine çıktığında ClickHouse kendini korumaya alıp read-only moda geçebilir.

Özet: SRE Kontrol Listesi

Büyük ölçekli ClickHouse cluster’ınızı izlerken şu üç kuralı asla aklınızdan çıkarmayın:

  1. Dışarıdan (external) agresif polling yapan agent’lar yerine, her zaman ClickHouse’un native Prometheus endpoint yapısını tercih edin.
  2. Sadece genel sistem metriklerine (CPU/Memory) bakarak aldanmayın; Active Parts ve Keeper latency metriklerini mutlak kırmızı çizginiz yapın.
  3. System tablolarınızı başıboş bırakmayın; mutlaka uygun partition ve TTL politikaları tanımlayarak diskinizin sağlığını koruyun.
Category: Genel | LEAVE A COMMENT
Haziran 17 2026

DSPy ile Prompt Mühendisliğine Veda: Algoritmik Prompt Optimizasyonu

Yapay zeka dünyasında son dönemde herkesin dilinde bir kelime var: Prompt Mühendisliği. Ancak dürüst olalım; saatlerce “Sen bir dünya klası yazarsın…” diye başlayıp sonu gelmeyen talimatlar yazmaktan, o sihirli kelimeleri ararken kaybolmaktan yorulmadık mı? İşte bu noktada Stanford Üniversitesi’nin geliştirdiği DSPy rehberi imdadımıza yetişiyor. Artık elle yazılan, en ufak model güncellemesinde çöken kırılgan promptlar yerine, programatik ve kendi kendini güncelleyen bir prompt optimizasyonu sürecine geçiyoruz. Bu yazıda, modern yapay zeka kodlama dünyasını kökten değiştirmeyi vadeden dspy vs prompt engineering savaşını mercek altına alacak ve DSPy’ın arkasındaki mantığı pratik örneklerle inceleyeceğiz.

[Görsel: Karmaşık prompt metinleri arasında kaybolmuş bir yazılımcının, düzenli ve şık bir kod arayüzüne geçişini gösteren illüstrasyon]

Prompt Mühendisliği Neden Tıkandı?

Mevcut yapay zeka geliştirme süreçlerinde büyük bir yapısal sorun var: “Kırılganlık”. Bugün GPT-4 için yazdığınız ve harika çalışan 500 kelimelik o detaylı prompt, yarın model güncellendiğinde veya daha ucuz olan Llama-3 modeline geçmek istediğinizde tamamen çöp olabiliyor. Prompt yazmak, mühendislikten ziyade modern simyacılığa benziyor; neyi değiştirdiğinizde neden çalıştığını tam olarak bilemiyorsunuz.

İşte “Neden böyle?” sorusunun cevabı burada gizli: LLM’leri (Büyük Dil Modelleri) metinsel şablonlarla yönlendirmeye çalışıyoruz, oysa onları birer yazılım bileşeni olarak görmeliyiz. DSPy (Declarative Self-improving Language Programs, pythonic tarzda beyan edilen ve kendini geliştiren dil programları), LLM entegrasyonlarını “metin manipülasyonu” olmaktan çıkarıp “programlama” haline getiriyor. Tıpkı PyTorch’un yapay sinir ağlarındaki ağırlıkları otomatik optimize etmesi gibi, DSPy de LLM’lere giden promptları otomatik olarak optimize ediyor.

DSPy Nedir? Temel Kavramlar

DSPy’ı anlamak için geleneksel yaklaşımları bir kenara bırakıp üç temel kavrama odaklanmamız gerekiyor:

  • Signatures (İmzalar): Prompt yazmak yerine, sistemin ne yapacağını deklaratif olarak tanımlarsınız. Örneğin: "doküman -> özet" veya "soru, bağlam -> cevap" gibi. Promptun nasıl görüneceğini DSPy halleder.
  • Modules (Modüller): LLM çağrılarını gerçekleştiren şablonlardır. Klasik bir LLM çağrısı (Predict), adım adım düşünme (ChainOfThought) veya araç kullanımını yöneten (ReAct) modüller hazır olarak sunulur.
  • Optimizers / Teleprompters (Optimizasyon Araçları): İşte işin sihirli kısmı. Elinizdeki birkaç örnek veriyi kullanarak, hedeflediğiniz imza için en ideal promptu ve “few-shot” örnekleri otomatik olarak seçip oluşturan algoritmalardır.

[Görsel: DSPy’ın Signature, Module ve Optimizer katmanlarının birbiriyle nasıl haberleştiğini gösteren akış şeması]

Uygulamalı Test: Klasik Prompt vs DSPy

Sözü daha fazla uzatmayalım ve teoriyi pratiğe dökelim. Basit bir duygu analizi ve sınıflandırma senaryosunu ele alalım. Önce kütüphanemizi kuralım:

pip install dspy-ai

Ardından, DSPy ile bir model tanımlayalım ve basit bir sınıflandırıcı oluşturalım. Bu testte yerel olarak çalıştırabileceğimiz ücretsiz bir model olan Ollama (Llama-3) veya OpenAI API kullanabiliriz.

import dspy

# LLM Konfigürasyonu (Yerel Ollama veya OpenAI kullanabilirsiniz)
# Biz burada kolaylık olsun diye OpenAI kullanıyoruz ancak ücretsiz alternatifleri de mevcut.
lm = dspy.OpenAI(model='gpt-3.5-turbo', api_key="YOUR_API_KEY")
dspy.settings.configure(lm=lm)

# 1. Signature (İmza) Tanımlama
class DuyguAnalizi(dspy.Signature):
    """Metnin duygu durumunu analiz et ve sadece POZİTİF, NEGATİF veya NÖTR olarak etiketle."""
    metin = dspy.InputField(desc="Analiz edilecek kullanıcı yorumu")
    duygu = dspy.OutputField(desc="Duygu kategorisi")

# 2. Modül Kullanımı (Chain of Thought - Düşünce Zinciri ile)
siniflandirici = dspy.ChainOfThought(DuyguAnalizi)

# 3. Çalıştırma
sonuc = siniflandirici(metin="Kertenkerem blogundaki yeni yazılım rehberleri gerçekten çok akıcı ve bilgilendirici.")
print("Düşünce Süreci:", sonuc.rationale)
print("Sonuç:", sonuc.duygu)

Bu kodda hiçbir “Prompt” yazmadık. Modelin nasıl davranacağını, hangi formatta çıktı vereceğini DuyguAnalizi sınıfıyla (Signature) belirledik. DSPy, kullandığımız modele göre arka planda en uygun prompt şablonunu kendisi oluşturdu. Eğer yarın gpt-3.5-turbo yerine Llama-3 kullanırsak, tek yapmamız gereken en üstteki konfigürasyon satırını değiştirmek olacak; kodun geri kalanı aynen çalışmaya devam edecek.

Karşılaştırma Tablosu: dspy vs prompt engineering

Yöntemleri daha net görebilmek adına iki yaklaşımı doğrudan karşılaştıralım:

Özellik Geleneksel Prompt Mühendisliği DSPy ile Programlama
Model Değişikliği Tüm promptların baştan yazılması ve test edilmesi gerekir. Sadece model tanımı değiştirilir, kod yapısı korunur.
Optimizasyon Tamamen manuel, deneme-yanılma ve tahmin odaklıdır. Algoritmik ve veri setine dayalı otomatik optimizasyon.
Kırılganlık Çok yüksek. Çıktı formatı sıklıkla bozulabilir. Çok düşük. Tip güvenliği ve yapılandırılmış çıktılar.
Geliştirme Hızı Başlangıçta hızlı, ölçeklendikçe aşırı yavaş ve hantal. Başlangıçta öğrenme eğrisi var, ölçeklendikçe çok hızlı.

Maliyetler ve Ücretsiz Alternatifler

DSPy tamamen açık kaynak kodlu ve kullanımı tamamen ücretsiz bir kütüphanedir. Ancak arka planda çalışan LLM’lerin bir maliyeti olabilir. Eğer ticari kapalı kaynaklı API’lar (OpenAI, Anthropic, Cohere) kullanırsanız, optimizasyon süreçleri (Teleprompter çalışırken birden fazla deneme yapacağı için) API kullanım faturanızı bir miktar artırabilir.

Hiç para harcamadan test etmek isterseniz:
Ollama aracılığıyla bilgisayarınıza indireceğiniz yerel modelleri (Llama-3, Mistral, Phi-3) DSPy ile tamamen ücretsiz olarak entegre edebilirsiniz. Ayrıca Google AI Studio üzerinden alacağınız ücretsiz Gemini API anahtarı da testleriniz için harika bir alternatif olacaktır.

Artıları ve Eksileri ile DSPy

Süper Güçleri (Artıları):

  • Sistemik Yaklaşım: Promptları birer kod satırı gibi derleyip optimize eder.
  • Geleceğe Yatırım: Yarın yeni bir LLM çıktığında projenizi 5 dakikada yeni modele göç ettirebilirsiniz.
  • Daha Az Kod, Daha Çok İş: Karmaşık mantıksal zincirleri (RAG sistemleri, ajanlar) yönetmek inanılmaz kolaylaşır.

Zayıf Yönleri (Eksileri):

  • Öğrenme Eğrisi: Python sınıflarına, nesne yönelimli programlamaya uzak olanlar için başlangıçta kafa karıştırıcı olabilir.
  • Veri İhtiyacı: Optimizasyon araçlarının gerçek performansını göstermesi için en az 10-20 adet örnek veri setine (input-output çifti) ihtiyacınız vardır.

Son Söz: Simyadan Kimyaya Geçiş

DSPy, yapay zeka kodlama süreçlerini bir sanat dalı olmaktan çıkarıp gerçek bir mühendislik disiplinine dönüştürüyor. Eğer sadece basit bir metin özeti almak istiyorsanız, ChatGPT arayüzüne prompt yazmaya devam edebilirsiniz. Ancak bir yazılımın içine entegre olacak, binlerce kez çalışacak ve farklı modellerle uyumlu olması gereken kararlı sistemler inşa ediyorsanız, DSPy sizin için kaçınılmaz bir durak olacaktır.

Kollarınızı sıvayıp kendi yerel modelinizle ilk DSPy optimizasyonunuzu denemenin tam zamanı. Bir sonraki LLM Tools incelememizde görüşmek üzere!

Category: Genel | LEAVE A COMMENT
Haziran 16 2026

Açık Kaynak Kodda ‘Miasma’ Tehlikesi: npm ve Red Hat Bağımlılık Güvenliğini Otomatize Etmek

Modern yazılım mimarilerinde production ortamlarının çökmesi artık yazdığınız hatalı döngülerden değil, güvendiğiniz üçüncü parti kütüphanelerin zehirlenmesinden kaynaklanıyor. Bir supply chain attack (tedarik zinciri saldırısı), siz daha kahvenizden ilk yudumu almadan tüm altyapınızı ele geçirebilir. Bu yüzden open source security (açık kaynak güvenliği) süreçlerini sadece bir compliance tiyatrosu olarak görmek yerine, CI/CD pipeline’ınızın merkezine koymalısınız. Bu yazıda, modern enterprise dünyasının iki büyük oyuncusu olan npm security pratiklerini ve kurumsal ortamlarda Red Hat ekosistemine entegre edilmiş dependency tracking (bağımlılık takibi) mekanizmalarını nasıl otomatize edeceğimizi teknik detaylarıyla inceliyoruz.

Miasma Etkisi: Transitive Dependency Zehirlenmesi

Yazılım dünyasında “Miasma”, doğrudan sizin çağırmadığınız ama bağımlılık ağacınızın (dependency tree) derinliklerinde yer alan, zamanla çürüyen veya kasıtlı olarak manipüle edilen kütüphanelerin yarattığı toksik ortamı ifade eder. Siz projenize sadece popüler bir HTTP istemcisi eklersiniz; o istemci arkada 50 farklı paket çeker, o 50 paket ise 500 pakete dallanır. Saldırganlar, bu derinliklerdeki az bilinen, bakımı aksatılmış paketlerin sahipliğini ele geçirerek (veya typosquatting ile benzer isimler türeterek) production ortamlarınıza sızar.

Peki neden standart kilit dosyaları (lockfiles) bizi kurtarmıyor? Çünkü lockfile bağımlılıkların versiyonlarını sabitler, ancak o versiyonların güvenli olduğunu garanti etmez. Dün güvenli olan bir SHA-512 karması, bugün ifşa olmuş bir zero-day ile sisteminizi açık hedef haline getirebilir.

npm Pipeline Güvenliğini Sertleştirmek (Hardening)

Herkes npm audit komutunu bilir ancak kurumsal pipeline süreçlerinde bu komutu doğrudan çalıştırmak tam bir kabustur. Geliştirme ortamına ait (devDependencies) önemsiz bir prototip paketindeki düşük seviyeli bir açık yüzünden pipeline’ın durması geliştirici motivasyonunu öldürür. Bize daha akıllı, filtrelenebilir ve esnek bir yapı gerekiyor.

Bu sorunu çözmek için endüstri standardı olan audit-ci aracını kullanacağız. Bu araç, kabul edilebilir riskleri (örneğin sadece prod bağımlılıklarını taramak veya belirli CVE’leri geçici olarak whitelist’e eklemek) yönetmemizi sağlar.

Adım 1: audit-ci Yapılandırması

Projenizin kök dizinine bir .audit-ci.json dosyası oluşturun. Bu dosya, pipeline’ınızın hangi durumlarda kırmızıya döneceğini belirleyen anayasanız olacak:

{
  "$schema": "https://github.com/IBM/audit-ci/raw/main/schema.json",
  "low": false,
  "medium": false,
  "high": true,
  "critical": true,
  "allowlist": [
    "GHSA-93g4-969f-4mc9",
    "CVE-2023-45133"
  ],
  "registry": "https://registry.npmjs.org/",
  "package-manager": "npm"
}

Burada kritik ayar: high ve critical seviyedeki açıkları kesinlikle blokluyoruz. Ancak production ortamını etkilemeyen, analiz ettiğimiz ve fix edilmesini beklediğimiz belirli CVE’leri allowlist içine alarak pipeline’ın gereksiz yere tıkanmasını önlüyoruz.

Red Hat Enterprise Linux (RHEL) ve UBI Dünyasında Bağımlılık Yönetimi

Kurumsal dünyada Node.js uygulamalarımızı genellikle Red Hat Universal Base Images (UBI) üzerinde koştururuz. Bu imajlar güvenlik standartları açısından mükemmel olsa da, OS seviyesindeki paketlerin (openssl, glibc vb.) ve bağımlılıkların takibi npm seviyesinden farklı bir yaklaşım gerektirir.

OS seviyesindeki bağımlılıkları ve npm paketlerini tek bir çatı altında izlemek için SBOM (Software Bill of Materials) üretmek zorundayız. SBOM, uygulamanızın DNA haritasıdır.

Syft ve Grype Entegrasyonu

Anchore tarafından geliştirilen syft ile imajımızın SBOM’unu çıkaracağız, ardından grype ile bu SBOM üzerinde Red Hat güvenlik veritabanını (RHSA) kullanarak tarama gerçekleştireceğiz.

Aşağıdaki komut bloku, UBI tabanlı Docker imajınızı tarar ve Red Hat güvenlik advisory’leri ile eşleştirerek rapor üretir:

# Syft ile SBOM üretimi (CycloneDX formatında)
syft power-node-app:latest -o cyclonedx-json=sbom.json

# Grype ile SBOM taraması ve sadece yüksek/kritik açıkların listelenmesi
grype sbom.json --fail-on high

Neden doğrudan imajı taramıyoruz da SBOM üzerinden gidiyoruz? Çünkü SBOM çıktısı deklaratiftir. Bir kez üretildikten sonra arşivlenebilir, imzalanabilir ve yıllar sonra bile “Biz 2024’te production’a ne çıkmıştık?” sorusuna net bir cevap verir.

Uçtan Uca CI/CD Pipeline Blueprint’i

Şimdi teoriyi ve lokal komutları bir kenara bırakıp, gerçek bir kurumsal pipeline senaryosu kuralım. Senaryomuzda GitLab CI kullanacağız. Pipeline’ımız hem npm paketlerini tarayacak, hem Docker imajını inşa edecek, hem de Red Hat tabanlı bu imajı SBOM süzgecinden geçirecek.

stages:
  - test
  - build
  - security

variables:
  IMAGE_NAME: "registry.kertenkerem.net/apps/secure-node"
  IMAGE_TAG: "$CI_COMMIT_SHORT_SHA"

npm_security_audit:
  stage: test
  image: node:20-alpine
  script:
    - npm ci
    - npx audit-ci --config .audit-ci.json

container_build:
  stage: build
  image: docker:24.0.5
  services:
    - docker:24.0.5-dind
  script:
    - docker build --no-cache -t $IMAGE_NAME:$IMAGE_TAG -f Dockerfile.ubi .
    - docker save $IMAGE_NAME:$IMAGE_TAG -o image.tar
  artifacts:
    paths:
      - image.tar
    expire_in: 1 hour

vulnerability_scan:
  stage: security
  image: anchore/grype:latest
  dependencies:
    - container_build
  script:
    - docker load -i image.tar
    - grype $IMAGE_NAME:$IMAGE_TAG --fail-on high --exclude './usr/share/doc'
  allow_failure: false

Bu pipeline konfigürasyonunda dikkat etmeniz gereken kritik nokta --exclude parametresidir. Red Hat imajlarında bazen dokümantasyon dizinleri altında yalancı pozitifler (false positives) tetiklenebilir. Bunları dışarıda bırakarak sinyal/gürültü oranını optimize ediyoruz.

Transitive Dependency Zehirlenmesini Kod Seviyesinde Aşmak

Bazen kullandığınız devasa bir framework’ün (örneğin NestJS veya Next.js) derinliklerindeki bir paket açık verir. Üst paketin geliştiricileri henüz güncelleme yayınlamamıştır ancak güvenlik ekibiniz production’a çıkmanıza izin vermez. Bu çıkmaz sokaktan nasıl kurtulursunuz?

Çözüm: npm’in v8 ile gelen overrides (veya Yarn kullanıyorsanız resolutions) özelliğidir. Bu özellik sayesinde, üst paketin ne istediğine bakılmaksızın, bağımlılık ağacındaki spesifik bir alt paketin sürümünü zorla ezebilirsiniz.

Aşağıdaki package.json kesiti, kritik bir açık barındıran minimist paketini, tüm alt kırılımlarda 1.2.8 sürümüne kilitler:

{
  "name": "enterprise-secure-app",
  "version": "1.0.0",
  "dependencies": {
    "some-legacy-framework": "2.4.0"
  },
  "overrides": {
    "some-legacy-framework": {
      "minimist": "1.2.8"
    }
  }
}

Neden böyle yapıyoruz? Çünkü kütüphane sahibinin PR’ı (Pull Request) kabul edip yeni sürüm yayınlamasını beklemek bir SRE/DevOps mühendisi için lükstür. “Overrides” geçici ama hayat kurtaran bir siperdir.

Sonuç: Güvenlik Bir State Değil, Process’tir

Yazılım tedarik zinciri güvenliği, bir kez yapılandırıp unutacağınız bir ayar değildir. Yarın sabah npm registry’sine yüklenecek yepyeni bir paket, mevcut tüm mimarinizi tehdit edebilir. Bu yüzden otomasyon şarttır. audit-ci ile uygulama katmanını, syft ve grype ikilisiyle ise Red Hat tabanlı konteyner katmanınızı sürekli denetim altında tutarak, ‘Miasma’ tehlikesini sistemlerinizden uzak tutabilirsiniz.

Category: Genel | LEAVE A COMMENT
Haziran 16 2026

Japon Ev Yemeklerinin Kraliçesi: Evde Çıtır Tavuk Katsu Köri Yapımı

Porsiyon: 2 Kişilik | Hazırlık Süresi: 20 Dakika | Pişirme Süresi: 25 Dakika

Japonya’da soğuk bir kış gününde metro istasyonlarından yükselen o içinizi ısıtan, hafif baharatlı kokuyu daha önce duydunuz mu? Evet, Japonların milli konfor yemeği (comfort food) olan o meşhur nefesten bahsediyoruz. Dışarıda yemeye bayıldığımız, o yoğun soslu ve çıtır çıtır tavuk katsu köri tabağını evde yapmak gözünüzü korkutmasın. Genelde çok karmaşık görünen japon mutfağı klasikleri aslında mutfakta geçireceğiniz keyifli bir yarım saate bakar. Neden mi? Çünkü bu yemek, kusursuz bir zıtlık üzerine kurulu: Yoğun, kadifemsi sıcak bir sos ve onun üzerinde parıldayan, adeta “kıtır kıtır” ses veren altın sarısı bir tavuk dilimi. Bu yazıda, sizi gereksiz mutfak terimlerinden uzaklaştırıp, adım adım mükemmel bir japon körisi tarifi ile baş başa bırakıyoruz. Üstelik ev konforunda restoran kalitesinde bir çıtır katsu yapımı düşündüğünüzden çok daha kolay!

Neden Tavuk Pirzola ve Panko? İşin Kimyası

Tarife geçmeden önce “Neden bu malzemeleri seçiyoruz?” sorusuna yanıt verelim. Geleneksel tavuk katsu yaparken genellikle tavuk göğsü kullanılır ancak tavuk göğsü yüksek ısıda kolayca kuruyabilir. Biz bu tarifte kemiksiz tavuk pirzola (kalça eti) tercih ediyoruz. Kalça eti, kendi içindeki hafif yağ dokusu sayesinde pişerken suyunu korur ve o çıtır kaplamanın altında lokum gibi yumuşak kalır.

Gelelim çıtırlığın mimarı olan “panko”ya. Panko, Japon usulü ekmek kırıntısıdır. Klasik galeta ununa göre daha iri, pul pul ve hafiftir. Kızarırken içine yağı çekmez, bu yüzden tavuğun dışı inanılmaz hafif ve çıtır olur. Eğer markette panko bulamazsanız, mısır gevreğini elinizle hafifçe ufalayarak harika bir alternatif yaratabilirsiniz.

Gerekli Malzemeler

Köri Sosu İçin:

  • 1 yemek kaşığı tereyağı (veya bitkisel yağ)
  • 1 yemek kaşığı un (Sosu koyulaştıracak gizli roux kahramanımız)
  • 1 yemek kaşığı dolusu toz köri
  • 1 adet orta boy soğan (yemeklik doğranmış)
  • 1 adet havuç (orta boy, yarım ay şeklinde doğranmış)
  • 1 adet orta boy patates (küp doğranmış)
  • 2.5 su bardağı tavuk suyu (yoksa normal su da olur)
  • 1 yemek kaşığı soya sosu
  • 1 tatlı kaşığı bal veya ketçap (sosun asiditesini dengelemek için)

Çıtır Tavuk Katsu İçin:

  • 2 adet kemiksiz tavuk pirzola (hafifçe dövülerek eşit kalınlığa getirilmiş)
  • 1 çay bardağı un
  • 1 adet yumurta (çırpılmış)
  • 1.5 su bardağı panko (veya iri çekilmiş bayat ekmek içi)
  • Kızartmak için sıvı yağ
  • Tuz ve karabiber

Adım Adım Tavuk Katsu Köri Yapılışı

  1. Roux ve Sos Tabanını Hazırlayın: Küçük bir tencerede tereyağını eritin. Unu ekleyip kokusu çıkana kadar yaklaşık 1-2 dakika kavurun. Ardından köri tozunu ekleyin ve 30 saniye daha çevirip altını kapatın. İşte sosumuzun kıvam ve lezzet kaynağı olan “roux” hazır!
  2. Sebzeleri Pişirin: Ayrı bir tencerede az sıvı yağ ile soğanları karamelize olana kadar soteleyin. Havuç ve patatesleri ekleyip 2 dakika daha kavurun. Tavuk suyunu ekleyip kaynamaya bırakın. Sebzeler yumuşayınca (yaklaşık 12-15 dakika), hazırladığınız roux karışımını, soya sosunu ve balı tencereye ekleyip çırpıcıyla hızlıca karıştırın. Sosunuz 5 dakika içinde koyulaşıp kadifemsi bir kıvam alacaktır.
  3. Tavukları Paneleyin: Tavuk pirzolaları tuz ve karabiberle tatlandırın. Tavukları sırasıyla önce una, sonra çırpılmış yumurtaya ve son olarak pankoya bulayın. Pankonun tavuğa iyi yapışması için ellerinizle hafifçe bastırarak kaplayın.
  4. Çıtır Çıtır Kızartın: Geniş bir tavaya sıvı yağı alın ve kızdırın. Tavukları sıcak yağa bırakıp her iki yüzünü de altın sarısı olana kadar (yaklaşık arkalı önlü 4’er dakika) kızartın. Kızaran tavukları fazla yağını salması için bir tel süzgeç veya havlu kağıt üzerine alın.
  5. Servis Zamanı: Geniş bir tabağın bir tarafına sıcak pirinç pilavı (mümkünse yasemin veya kırık pirinç) koyun. Diğer tarafına bolca sıcak köri sosundan dökün. Çıtır tavuğunuzu keskin bir bıçakla dilimleyin ve sosun üzerine yerleştirerek servis edin.

Püf Noktası

Püf Noktası: Çıtır katsunun en büyük düşmanı nemdir! Kızaran tavukları asla üst üste yığmayın ve sosun içinde uzun süre bekletmeyin. Sosu tabağın tabanına yayıp, tavuk dilimlerini sosun üzerine “köprü” gibi yerleştirirseniz, tavuk altından sosu emerken üst kısımdaki panko çıtırlığını son lokmaya kadar korur.

Afiyet olsun!

Category: Genel | LEAVE A COMMENT
Haziran 15 2026

Evde Klasik Fransız Mutfağı: Ağızda Dağılan Lokum Gibi Beef Bourguignon Tarifi

“Fransız mutfağı” denince gözünüz hemen korkmasın. Mutfakta saatler harcayıp strese girmeden, sanki Paris’in şık bir bistrosundaymış gibi hissetmek kesinlikle mümkün. Bugün, mutfağınızda buram buram tereyağı kokuları estirecek nefis bir beef bourguignon tarifi ile karşınızdayız. Bu geleneksel Fransız yahnisi, doğru malzemeler ve sabırlı bir ağır ateşte pişirme tekniğiyle birleştiğinde, size evde gurme yemek yapmanın aslında ne kadar zahmetsiz ve tatmin edici olduğunu kanıtlayacak. Hadi, malzemeleri hazırlayın; tencerenin kapağını kapatıp mutfaktaki sihri başlatalım!

Neden Beef Bourguignon?

Fransız mutfağının bu kadar prestijli olmasının arkasında aslında çok basit bir mantık yatıyor: Malzemeye saygı duymak ve acele etmemek. Beef Bourguignon, sert ve görece uygun fiyatlı et kesimlerini (kol veya gerdan gibi) yavaşça pişirerek yumuşatma felsefesine dayanır. Uzun pişirme sürecinde etin içindeki kolajenler erir, lifler gevşer ve ortaya bıçak bile gerektirmeyen, çatalla bölünen lokum gibi bir doku çıkar. Yani bu yemek aslında mutfakta bir usta olmanızı değil, sadece zamana güvenmenizi ister.

Porsiyon: 4 Kişilik
Hazırlık Süresi: 20 Dakika
Pişirme Süresi: 2.5 Saat

Beef Bourguignon Tarifi

Malzemeler

  • 1 kg dana kol veya gerdan eti (iri küpler halinde doğranmış)
  • 150 gr arpacık soğan (kabukları soyulmuş, bütün halde)
  • 200 gr kestane mantarı (iri olanları ikiye bölünmüş)
  • 2 adet orta boy havuç (iri halkalar halinde doğranmış)
  • 2 diş sarımsak (ezilmiş)
  • 150 gr füme antrikot veya dana bacon (orijinal tarifteki domuz bacon yerine harika bir yerel alternatiftir)
  • 2 yemek kaşığı tereyağı
  • 1 yemek kaşığı zeytinyağı
  • 2 yemek kaşığı un (sosun o kadifemsi kıvamını bağlamak için)
  • 1 şişe sek kırmızı şarap (Öküzgözü veya Boğazkere gibi gövdeli şaraplar çok yakışır)
  • 2 su bardağı et suyu (varsa gerçek ilikli kemik suyu lezzeti katlar)
  • 1 yemek kaşığı domates salçası
  • Taze kekik, 2 adet defne yaprağı, tuz ve taze çekilmiş karabiber

Yapılışı

  1. Etleri mühürleyin: Kalın tabanlı, derin bir tencereye (varsa döküm tencere) zeytinyağını alın. İyice ısınan tencerede etleri porsiyonlar halinde, birbirine değmeyecek şekilde yüksek ateşte mühürleyin. Amaç etin suyunu içine hapsetmek ve dışını karamelize etmektir. Etleri tabağa alın.
  2. Aromatikleri soteleyin: Aynı tencereye (sakın yıkamayın, o lezzet kalıntıları bize lazım!) tereyağını ekleyin. Füme eti, havuçları ve arpacık soğanları ekleyip 5 dakika kadar soteleyin. Ardından sarımsakları ekleyip kokusu çıkana kadar 1 dakika daha çevirin.
  3. Un ve salçayı ekleyin: Salçayı ekleyip kokusu çıkana kadar kavurun. Unu sebzelerin üzerine serpiştirip iyice karıştırın. Un, pişme esnasında sosu mükemmel şekilde koyulaştıracaktır.
  4. Tencereyi deglaze edin: Kırmızı şarabı tencereye yavaşça dökün. Tahta bir kaşık yardımıyla tencerenin dibine yapışmış o aşırı lezzetli et kalıntılarını kazıyarak şaraba karıştırın. Bu işleme Fransız mutfağında deglaze etmek denir ve lezzetin sırrıdır.
  5. Ağır ateşte pişmeye bırakın: Etleri ve tabakta biriken sularını tencereye geri alın. Et suyunu ekleyin. Defne yaprağını ve taze kekiği içine bırakın. Karışım kaynama noktasına gelince altını en kısığa getirin, tencerenin kapağını sıkıca kapatın ve 2 saat boyunca kendi halinde tıkırdamaya bırakın.
  6. Mantarları ekleyin: Ayrı bir tavada az tereyağı ile mantarları yüksek ateşte soteleyin. Pişme süresinin son 30 dakikasında mantarları tencereye ilave edin. Sos koyulaşıp etler çatalla dağılacak kıvama geldiğinde yemeğiniz hazır demektir.

Mükemmel Sonuç İçin Püf Noktaları

  • Et Seçimi Önemli: Bu yemekte bonfile gibi yağsız ve yumuşak etler kullanmayın. Bu etler uzun pişme sürecinde kurur ve lif lif ayrılır. Bize kol veya gerdan gibi bağ dokusu yüksek etler gerekiyor.
  • Alkolsüz Alternatif: Eğer şarap kullanmak istemiyorsanız, şarap yerine aynı miktarda et suyu kullanıp, asiditeyi dengelemek için içine 2 yemek kaşığı balzamik sirke ve 1 tatlı kaşığı nar ekşisi ekleyebilirsiniz.
  • Sabırlı Olun: Yemeği hızlıca pişirmek için ateşi asla yükseltmeyin. Ağır ateşte yavaş yavaş pişen etin dokusu ve sosun derinliği çok daha başka olacaktır.

Bu muazzam Fransız yahnisini servis ederken yanına bol tereyağlı bir patates püresi hazırlamanızı şiddetle tavsiye ederiz. Üzerine serpiştireceğiniz taze maydanozla hem göze hem damağa hitap eden bir gurme akşamı sizi bekliyor. Afiyet olsun!

Category: Genel | LEAVE A COMMENT