İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Geliştirici Araçları
  • .NET 11’de Process API’si Neden Bu Kadar Önemli?
Bulut Altyapı Geliştirici Araçları .NET 11, Azure DevOps, deadlock, Linux container, Process API, stdout stderr, System.Diagnostics.Process Aşkın KILIÇ 19/05/2026 2 Yorumlar

.NET 11’de Process API’si Neden Bu Kadar Önemli?

.NET 11’de Process API’si Neden Bu Kadar Önemli?
📑 İçindekiler
  1. Eski sorun neydi, yeni yaklaşım ne getiriyor?
  2. Tek satırlık çalıştırma rahatlığı
  3. Deadlock derdi biter mi? Büyük ölçüde evet
  4. Kafamı kurcalayan eksik taraflar da var
  5. Lifetime yönetimi: Çocuk proses meselesi nihayet ciddileşmiş
  6. AOT ve trimming tarafında niye sevindim?
  7. Sahada nasıl kullanırım?
  8. Sıkça Sorulan Sorular
  9. .NET 11'de Process API'si neden bu kadar önemli?
  10. Yeni API'lere hemen geçmek şart mı?
  11. .NET 11'de detached process kullanmak güvenli mi?
  12. AOT kullanan uygulamalarda gerçekten fark yaratıyor mu?

⏱️ 7 dk okuma📅 19 Mayıs 2026🔄 Güncelleme: 31 Temmuz 2026

Dürüst olmak gerekirse,.NET tarafında yıllardır en çok “idare eder” denilen sınıflardan biri System.Diagnostics.Process öldü. Çalıştırıyorduk, çıkış alıyorduk, bazen de gece yarısı bir pipe doldu diye saç baş yoluyorduk..NET 11 ile gelen yenilikler bana tam olarak şunu hissettirdi: ekip, bu alanı artık yamayla değil, düzgün bir temel atarak toparlamış.

Açık konuşayım; ilk okuduğumda “tamam güzel, ama gerçekten günlük hayatta fark yaratır mı?” diye düşündüm. Sonra sahadaki birkaç senaryoyu aklıma getirdim. Bir finans müşterisinde log toplayan yardımcı servisimiz vardı, başka bir projede Azure DevOps pipeline içinde CLI araçları çalışıyordu, bir başka tarafta da Linux container içinde kısa ömürlü işçiler (ben de ilk duyduğumda şaşırmıştım). İşin aslı şu ki Process API’sindeki küçük gibi görünen değişiklikler, bu tip kurulumlarda bayağı can sıkıcı hataları ortadan kaldırıyor.

💡 Bilgi: Bu yazıda sadece yeni API’leri anlatmıyorum; aynı zamanda bunların kurumsal tarafta neyi çözdüğünü, nerede faydalı olduğunu ve nerede hâlâ dikkatli olmak gerektiğini de kendi deneyimimle yorumluyorum.

Eski sorun neydi, yeni yaklaşım ne getiriyor?

Şöyle söyleyeyim,.NET 10 ve öncesinde süreç yönetimi çoğu zaman biraz ip üstünde yürümek gibiydi. Çıkışı ayrı oku, hatayı ayrı oku, pipe buffer dolmasın diye bekle, çocuk proses ana proses ölünce ortada kalmasın… Bakınca basit dürüyor ama pratikte ince ayar istiyor. Hele bir de stdout ve stderr’i aynı anda okumazsanız klasik deadlock kapınızı çalabiliyordu. Ben bunu 2019’da İstanbul’daki bir üretim ortamında yaşadım; tek satırlık bir komut uzun log basınca worker kilitlendi. O gün öğrendiğim ders hâlâ aklımdadır: proses yönetimi “basit iş” değildir.

.NET 11’de gelen yaklaşım işe daha yüksek seviyeli API’lerle işi kolaylaştırıyor. Bir kere çalıştırıp metin almak isteyen için tek satırlık kullanım var. Hiç çıktı umursamayan için daha hafif yol var. Çocuk prosesin yaşam süresini kontrol etmek isteyen için ayrıca seçenek var. Hani eskiden her şeyi kendiniz bağlamak zorundaydınız ya — şimdi framework biraz sizin yerinize düşünüyor.

Bir de şu var: yalnızca kolaylık değil, mimarı temizlik de geliyor. En çok da trimmer dostu yüzeyler ve SafeProcessHandle tabanlı yapı benim hoşuma gitti. Çünkü NativeAOT veya trim edilen uygulamalarda gereksiz — kendi adıma konuşayım — ağırlık istemiyorsunuz. AZ-305 hazırlığında hep şunu anlatırım: “Bulutta maliyet sadece CPU değil; bakım yükü de maliyet.” Burada da aynı mantık geçerli.

Durun, bir saniye.

Tek satırlık çalıştırma rahatlığı

Process.RunAndCaptureTextAsync gibi API’ler günlük işleri ciddi biçimde sadeleştiriyor. Mesela küçük bir admin aracı yazıyorsanız. Dışarıdaki bir komutun çıktısını anında almak istiyorsanız artık böl böl boilerplate yazmanız gerekmiyor. Bence bu güzel özellik ama henüz ham olduğu hissi yok değil; bazı edge-case’lerde yine test şart.

Geçen ay Ankara’daki bir müşteride PowerShell ile entegrasyon yapan bir yardımcı servis revizyonuna baktık. En büyük kazanç kod kısalığı değildi aslında; hata yüzeyinin azalmasıydı. Daha az satır kod = daha az yanlış redirection = daha az gece alarmı! Basit denklem ama etkisi büyük.

Process yönetiminde asıl fark bazen performans değil, sürprizlerin azalmasıdır.

Deadlock derdi biter mi? Büyük ölçüde evet

Beni en çok ilgilendiren konu bu öldü doğrusu. Yeni ReadAllText, ReadAllBytes, ReadAllLinesAsync gibi API’ler stdout. Stderr’i birlikte okuyarak pipe tıkanmasını önlemeye çalışıyor. Yanı biri doldu da diğeri bekledi gibi klasik kâbus senaryosu azalıyor (ben de ilk duyduğumda şaşırmıştım). E tabi tamamen sihir değil; sız yine de uzun süren işler için timeout ve cancellation koyacaksınız.

Bunu küçük startup ile enterprise arasında şöyle ayırırım: startup ekibindeyseniz genelde hızlı ilerlemek istersiniz. Birkaç CLI aracıyla iş bitirirsiniz; burada yüksek seviyeli API’ler sizi hızlandırır. Enterprise tarafta işe güvenilirlik öncelik olur, çünkü tek bir tıkanma onlarca servisi domino taşı gibi etkileyebilir. Kurumsal müşterilerimde gördüğüm kadarıyla Türkiye’de asıl fark burada çıkıyor — ekip büyüdükçe “çalışıyor” yetmiyor, “izlenebilir ve kontrollü çalışıyor” lazım oluyor.

Senaryo .NET 11 Öncesi .NET 11 Sonrası
Küçük script/araç Daha fazla manuel kod Daha kısa ve temiz kullanım
Eşzamanlı çıktı okuma Deadlock riski daha yüksek Mux tabanlı okuma ile daha güvenli yapı
AOT / trimming Daha ağır yüzey alanı Daha hafif handle tabanlı seçenekler
Süreç yaşam döngüsü Kendi başınıza yönetirsiniz KillOnParentExit, detached seçenekleriyle daha net kontrol

Kafamı kurcalayan eksik taraflar da var

Şunu söyleyeyim, Burası önemli: Kağıt üstünde süper görünen şeylerin pratikte yan etkisi olabiliyor. Yeni abstractions iyi ama öğrenme eğrisi sıfır değil.

İlgili içerik: SET NOCOUNT ON Neden Bu Kadar Önemli?

Evet.

Bunu yaşayan biri olarak söyleyeyim, Hele mevcut kod tabanınızda onlarca yerde klasik Process kullanıyorsanız geçiş planı yapmanız gerekir; ben olsam önce kilit olmayan yardımcı servislerde denerdim (biraz risk alıp sonra genişletmek genelde daha sakın ilerletiyor).

Bir ara.NET preview sürümünde benzer bir işlem sırasında yanlış handle inheritance yüzünden beklenmedik davranış görmüştük; çözümü açıkçası uğraştırmıştı.
O yüzden yeni API’lerdeki kontrol artışını seviyorum ama ilk denemede mutlak rahatlık beklemiyorum… yanı biraz test disiplini şart.

Lifetime yönetimi: Çocuk proses meselesi nihayet ciddileşmiş

İlginç olan şu ki, KillOnParentExit. Bağlantılı yaşam döngüsü özellikleri bence kurumsal tarafta en kıymetli parçalardan biri olmuş.
Mesela Windows servislerinde veya Linux daemon benzeri yapılarda ana proses ölürken arkada zombie benzeri şeyler bırakmak istemezsiniz; bu durum sahada bazen fark edilmiyor bile (ta ki ertesi gün sistemde anlamsız kaynak tüketimi görünene kadar…).
Evet.

StartDetached işe tam tersi ihtiyaçlara cevap veriyor: parent kapanınca yaşayan bağımsız süreçler için kullanışlı olabilir.
Mesela uzun sürecek bakım işlemlerini kullanıcı oturumundan koparmak isteyebilirsiniz.
Ama dürüst olayım, bunu her yere yaymak doğru değil; detached süreçler kontrol kaybına da yol açabilir.

Neyse uzatmayalım, burada prensip şu: Eğer süreç sizin hayat döngünüzün parçasıysa bağlayın; gerçekten bağımsız olması gerekiyorsa ayırın ama iz bırakmayı unutmayın (log, telemetry, correlation id). Ben Logosoft tarafında danışmanlık yaparken müşterilere hep bunu söylüyorum: gevşek çalışan sistem hoş görünür. Operasyon ekibi önü sabah çok sevmez!

  • |KillOnParentExit:| Ana uygulama giderse çocuk da gitsin istiyorsanız ideal.
  • |StartDetached:| Bağımsız kalan job veya utility senaryolarında işe yarar.|/li|
  • Userland izleme: Loglama olmadan ikisi de yarım kalır.

AOT ve trimming tarafında niye sevindim?

Bence sessiz ama değerli yeniliklerden biri de düşük seviyeli handle tabanlı API seti öldü: özellikle trimmer-friendly tasarım ciddi avantaj veriyor.
NativeAOT hedefliyorsanız her byte’ın hesabını yapmak gerekiyor; “şu sınıf gelsin bakalım” demek yok artık pek.
.NET ekibinin bu tarafa yatırım yapması doğru yönde atılmış adım gibi dürüyor.

Bunu TL bazında düşününce iş biraz daha anlaşılır oluyor aslında — azalan binary boyutu tek başına para kazandırmaz belki ama container image küçülmesi, pull sürelerinin azalması ve CI/CD hattının hızlanması doğrudan etki ediyor.
Küçük ekipte bu fark idare eder düzeydedir belki; büyük enterprise’da işe build farm üzerindeki baskıyı azaltır.
Tam da öyle.

Evet, doğru duydunuz. Daha fazla bilgi için

|💡 Bilgi: Eğer. NET uygulamanızı container içinde koşturuyorsanız, process yönetimindeki iyileştirmeler sadece uygulama davranışını değil build/publish çıktısını da etkileyebilir.
// Mantığı göstermek için basitleştirilmiş örnek
var result = await Process.RunAndCaptureTextAsync(new ProcessStartInfo
{
FileName = "dotnet",
Arguments = "--info"
});
Console.WriteLine(result.StandardOutput);
Console.Error.WriteLine(result.StandardError);

Sahada nasıl kullanırım?

Eğer bugün yeni bir internal tool yazıyor olsaydım üç adımla başlardım : önce çıktı ihtiyacımı netleştirirdim, sonra child process’in yaşam döngüsünü tanımlarım, son olarak handle inheritance’ı minimuma indirirdim. Çünkü sızıntılar genelde oradan çıkıyor — özellikle CI ajanlarında görülüyor bu durum.

Tam burada kişisel kanaatimi söyleyeyim : Eğer bütçeniz kısıtlıysa ya da ekip çok küçükse pek çok yenilikleri aynı anda almaya çalışma yerine en kilit iki alanı seçin — deadlock-free output capture. Lifecycle control yeterince fayda verir ; bileşik hâlde bakınca güçlü oluyorlar.

Ha bu arada otomasyon araçlarınız varsa onları da gözden geçirin ; ben geçen yıl İzmir’deki bir üretici firmada eski batch çağrılarını yenilerken en çok zamanımı alan şey aslında komutun kendisi değil wrapper katmanıydı.
Bu kadar mı?

Şimdi gelelim işin can alıcı noktasına.

. NET tarafında birçok kişi performans deyince sadece algoritmaya bakıyor ama işletim sistemi sınırıyla konuşurken asıl mesele iletişim şekli oluyor yahu… Process API’si tam burada önemlileşiyor işte.

Az önce X dedim ama aslında Y daha doğru olabilir :
buradaki ana konu hızdan çok öngörülebilirlik.

Denemek istiyorsanız ilk iş şunu yapın :
mevcut helper sınıfınızı bulun,
çıktı okumasını eşzamanlı hâle getirin,
sonra timeout/cancellation ekleyin.
Bunları yapmadan production’a atlamayın derim.
Peki neden? (inanın bana)

Sıkça Sorulan Sorular

.NET 11’de Process API’si neden bu kadar önemli?

Şöyle söyleyeyim, Aslında.NET 11 ile birlikte process çalıştırmak hem daha güvenli hem de çok daha sade bir hâl alıyor. Hani özellikle deadlock riskinin azalması. Yaşam döngüsü üzerindeki kontrolün artması günlük işi ciddi anlamda kolaylaştırıyor. Bence kurumsal ortamlarda bu değişiklik doğrudan operasyonel rahatlığa yansıyor.

Yeni API’lere hemen geçmek şart mı?

Tuhaf ama, Hayır, tüm kodu bir anda taşımak zorunda değilsiniz. Tecrübeme göre önce kritik worker araçlarında denemek çok daha mantıklı. Yanı mevcut yapınız stabilse, kontrollü ve adım adım geçiş yapmak en sağlıklısı.

.NET 11’de detached process kullanmak güvenli mi?

Açık konuşayım, Evet, ama kontrollü kullandığınız sürece tabiî. Mesela detached süreçler iz bırakmadan çalışırsa operasyonel körlüğe yol açabiliyor. Açıkçası bu yüzden loglama ve izleme büyük ihtimalle yanında olmalı.

AOT kullanan uygulamalarda gerçekten fark yaratıyor mu?

Evet, özellikle trimmability tarafında faydası var (ciddiyim). Daha hafif API yüzeyi sayesinde binary boyutu ve gereksiz yük azalabiliyor. Ama kazancı görmek için publish profilinizi doğru kurmanız gerekiyor, yanı bu kısmı atlamamak lazım.

Daha geniş bir bakış için: .NET 11 yenilikleri ve çıkış tarihi rehberi başlıklı kapsamlı rehberimize göz atabilirsiniz.

🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

Azure Content Understanding Ağustos 2026: CU 1.0 GA ve CU
Azure Content Understanding Ağustos 2026: CU 1.0 GA ve CU13 Ağu 2026
Azure Developer CLI Mayıs-Haziran 2026: azd tool ve exec Devrimi
Azure Developer CLI Mayıs-Haziran 2026: azd tool ve exec Devrimi26 Haz 2026
Work IQ Developer Tools ile Copilot Plugin Paketleme
Work IQ Developer Tools ile Copilot Plugin Paketleme4 Eki 2026
Copilot Talimat Dosyası Hijyeni: Neyi Yazmalı, Neyi Atmalı?
Copilot Talimat Dosyası Hijyeni: Neyi Yazmalı, Neyi Atmalı?14 Ağu 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket .NET 11 Azure DevOps deadlock Linux container Process API stdout stderr System.Diagnostics.Process
Önceki yazı

Copilot CLI’yi Telefondan Yönetmek: Benim Sahada Gördüğüm Etki

Sonraki yazı

.NET Framework Mayıs 2026 Güvenlik Güncellemeleri

İlginizi Çekebilir

Work IQ Developer Tools ile Copilot Plugin Paketleme
Aşkın KILIÇ 0

Work IQ Developer Tools ile Copilot Plugin Paketleme

04/10/2026
GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
Aşkın KILIÇ 0

GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri

04/10/2026
Azure Cosmos DB Shell Artık Data Explorer İçinde
Aşkın KILIÇ 0

Azure Cosmos DB Shell Artık Data Explorer İçinde

04/10/2026

2 comments

comments user
Özge D. 19/05/2026 08:34

Deadlock meselesini biz de üretimde çok yaşadık, özellikle stdout ve stderr’i aynı anda okumaya çalışırken işler sarpa sarıyordu. Bu değişiklikler geç kalmış ama yine de iyi olmuş.

comments user
Burak S. 19/05/2026 14:04

Tam da bu sorunları yaşıyorduk geçen ay, standart output ve error’ı aynı anda okurken deadlock’a giriyorduk ve neden olduğunu anlamak epey zaman aldı. Bu değişiklikler biraz geç kaldı açıkçası ama yine de iyi ki geldi. Kurumsal tarafta process yönetimi gerçekten çok kırılgan bir alan.

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Work IQ Developer Tools ile Copilot Plugin Paketleme
    04/10/2026 Work IQ Developer Tools ile Copilot Plugin Paketleme
  • GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
    04/10/2026 GitHub Copilot: Kaldırılan 4 Model ve Geçiş Alternatifleri
  • Azure Cosmos DB Shell Artık Data Explorer İçinde
    04/10/2026 Azure Cosmos DB Shell Artık Data Explorer İçinde
  • Azure Developer CLI 1.34: azure.yaml Katmanları ve
    04/10/2026 Azure Developer CLI 1.34: azure.yaml Katmanları ve
  • Copilot Code Review: API Desteği ve Balanced Varsayılanı
    03/10/2026 Copilot Code Review: API Desteği ve Balanced Varsayılanı
  • 25 Dolar Altında Yapay Zeka Uygulaması mı? İşte Nasıl Yapılır!
    10/03/2026 25 Dolara Yapay Zeka Uygulaması Nasıl Yapılır?
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
    18/03/2026 Terminalde AI Ajanlarını Koddan Teste Taşımak: azd ile Gerçekten Yerel Deneyim
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL bulut bilişim CI/CD code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Entra ID Microsoft Foundry otomasyon performans Pull Request RAG REST API SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 469 yazı 🏗️ Bulut Altyapı 378 yazı 🤖 Yapay Zeka 314 yazı 🔧 DevOps 260 yazı ☁️ Microsoft Azure 254 yazı 🔒 Güvenlik & Kimlik 214 yazı 🏢 Kurumsal Teknoloji 96 yazı 📊 Veri & Analitik 66 yazı 🐳 Konteyner & Kubernetes 61 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← Copilot CLI’yi Telefondan Yöne...
    .NET Framework Mayıs 2026 Güve... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS