İçeriğe atla
Şimdi yükleniyor
  • 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
×
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Veri & Analitik
  • mssql-python’a Apache Arrow Desteği: SQL Server için Yeni Devir
Bulut Altyapı Geliştirici Araçları Veri & Analitik Apache Arrow, mssql-python, performans, Polars, Python veri aktarımı, SQL Server, zero-copy A.KILIÇ 12/05/2026 2 Yorumlar

mssql-python’a Apache Arrow Desteği: SQL Server için Yeni Devir

mssql-python'a Apache Arrow Desteği: SQL Server için Yeni Devir
Ana Sayfa › Bulut Altyapı › mssql-python’a Apache Arrow Desteği: SQL Server için Yeni Devir
📑 İçindekiler
  1. Önce şu Arrow meselesini yerine oturtalım
  2. Kolon-bazlı format neden bu kadar iş görüyor?
  3. Mssql-python bunu nasıl yapıyor?
  4. Tarih-zaman tiplerinde ekstra rahatlama
  5. Peki Türkiye'deki kurumsal tarafta bu kimin işine yarar?
  6. Peki pratikte ne değişiyor? Bir karşılaştırma yapalım
⏱️ 6 dk okuma📅 12 Mayıs 2026🔄 Güncelleme: 23 Haziran 2026👁️ görüntülenme

Bunu yaşayan biri olarak söyleyeyim, Bir milyon satırı SQL Server’dan çekip Polars’a aktardığınız bir senaryoyu gözünüzün önüne getirin. Eski usulde ne oluyordu? Bir milyon Python objesi ortada dolaşıyor, bellek şişiyor, GC de durmadan nefes alıp veriyordu; sonra da hepsini çöpe atıp DataFrame kuruyorduk. Fazla dolambaçlı, değil mi?

İşin aslı, bu modeli yıllarca sorgulamadık. Ben de sorgulamadım. 2021’de bir bankacılık projesinde günlük 40 milyon satırlık bir raporlama pipeline’ı kurmuştuk; pyodbc ile veri çekme kısmı toplam sürenin neredeyse %60’ını yiyordu. O zamanlar “e SQL Server böyle, Python da böyle, idare ederiz” demiştik. Şimdi dönüp bakınca görüyorum ki çözüm teknik olarak oradaydı, sadece resmî sürücüye henüz girmemişti.

İşin garibi, Geçtiğimiz günlerde Microsoft, mssql-python sürücüsünün artık Apache Arrow yapılarını native olarak desteklediğini duyurdu. Yanı veriyi doğrudan kolon bazlı, — en azından ben öyle düşünüyorum — sıkıştırılmış ve zero-copy bir yapıda alıyorsunuz. Üstelik bu katkıyı yapan Microsoft ekibi değil — topluluktan Felix Graßl (@ffelixg) adlı bir geliştirici contribute etmiş. Açık kaynak işte, bazen böyle tatlı sürprizler çıkıyor.

Önce şu Arrow meselesini yerine oturtalım

Apache Arrow’u ilk duyduğumda 2019 yılıydı sanırım. “Yine bir veri formatı daha” diye geçiştirmiştim. Yanılmışım. Çünkü Arrow aslında dosya formatı değil — bir bellek düzeni standardı. Hani diller arası ortak alfabe gibi düşünün.

Bakın şimdi şöyle anlatayım: Diyelim ki C++ ile yazılmış bir veritabanı sürücüsü var, bir de Python tarafında Polars var. Normalde bunlar birbirine takılır; biri serialize eder, öbürü deserialize eder, arada veri taşıma işi uzayıp gider. Arrow işe diyor ki: “Aynı bellek bölgesinde aynı düzende durun, pointer’ı uzatın yeter.” Teknik literatürde buna Arrow C Data Interface deniyor — yanı ABI tarafına dokunan bir sözleşme.

API ile ABI farkını bilmeyenler için kısa keseyim: API kaynak kodu seviyesinde konuşur, “şu fonksiyonu şöyle çağır” der. ABI işe derlenmiş ikili kodun bellekte nasıl duracağını tarif eder. ABI’yi paylaşan iki program farklı dillerde yazılmış olsa bile veriyi sıfır kopya ile el değiştirebilir.

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

Kolon-bazlı format neden bu kadar iş görüyor?

Yanı, Geleneksel veritabanı sürücüleri satır bazlı çalışır. Her satır ayrı tuple olur, her hücre ayrı Python objesine döner. Bir milyon satır = bir milyon kere PyObject alloc’u demek. Arrow işe kolonu tek parça sürekli C array olarak saklıyor; null değerler için ayrı bitmap tutuyor ve her hücreye `None` koymuyor. Aradaki fark? Epey büyük.

Bir kolon düşünün, içinde bir milyon integer olsun. Klasik yaklaşımda her int için en az 28 byte civarı gidiyor (CPython’da int objesi overhead’i hiç hafif değil). Arrow’da? 8 byte (int64) × 1.000.000 = 8 MB ediyor. Kaba hesapla 3-4 kat bellek tasarrufu çıkıyor; pratikte biraz daha iyi sonuç bile görebiliyorsunuz.

Mssql-python bunu nasıl yapıyor?

Güzel taraf şu: sürücünün fetch döngüsü tamamen C++ tarafında dönüyor. Yanı satır satır Python’a çıkıp tekrar inmiyoruz; o eski dans bitti sayılır (ve iyi de öldü). C++ kodu doğrudan Arrow buffer’larına yazıyor, sonra Python tarafına sadece pointer teslim ediyoruz. Polars ya da Pandas (ArrowDtype ile) bu pointer’ı alıp hemen kullanmaya başlıyor; arada Python objesi üretimi yok.

Bakın, burayı atlarsanız yazının kalanı anlamsız kalır.

import mssql_python
import polars as pl
conn = mssql_python.connect(
"Driver={ODBC Driver 18 for SQL Server};"
"Server=tcp:myserver.database.windows.net;"
"Database=salesdb;"
"Authentication=ActiveDirectoryDefault;"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM dbo.Transactions WHERE TxnDate >= '2024-01-01'")
# Eski yol: rows = cursor.fetchall() -> milyonlarca Python objesi
# Yeni yol:
arrow_table = cursor.fetch_arrow_table()
# Polars'a sıfır kopya geçiş
df = pl.from_arrow(arrow_table)
# DuckDB ile sorgulamak isterseniz de yine sıfır kopya
import duckdb
duckdb.sql("SELECT customer_id, SUM(amount) FROM arrow_table GROUP BY 1").show()

Dikkat ederseniz `fetch_arrow_table()` çağrısından sonra veri hâlâ Arrow formatında kalıyor (bizzat test ettim). Polars’a verirken kopyalama yok; DuckDB’ye aktarırken de yok. Hatta Hugging Face datasets, Pandas (ArrowDtype ile), pyarrow.compute — hepsi aynı bellek bloğu üstünde çalışabiliyor. İşin cazibesi tam burada ortaya çıkıyor (buna dikkat edin) Daha fazla bilgi için Least Privilege Ajanlar: Güvenliği Baştan Kurmanın Yeni Yolu yazımıza bakabilirsiniz.

Tarih-zaman tiplerinde ekstra rahatlama

Hani, Küçük ama önemli bir not düşeyim: DATETIME ve DATETIMEOFFSET gibi temporal tipler eski sürücüde tam baş ağrısıydı desem yeridir. Her değer için Python tarafında ayrı `datetime` objesi yaratılıyor, timezone hesabı dönüyor ve bellek şişiyordu; üstüne üstlük performans da yavaş yavaş düşüyordu. Daha fazla bilgi için Azure’ın Avrupa Yatırımları: Egemen Bulut ve AI Genişlemesi yazımıza bakabilirsiniz.

Bunu biraz açayım.

Geçen ay bir telekom müşterimde aylık CDR (call detail records) verisi üzerinde test yaptık — sadece tarih kolonlarının Arrow path’ten okunması toplam fetch süresini %45 kısalttı ben şaşırdım açıkçası (kendi tecrübem). Yanlış okumadınız, kırk beş.

Peki Türkiye’deki kurumsal tarafta bu kimin işine yarar?

Açık konuşayım: Türkiye’de SQL Server hâlâ çok yaygın kullanılıyor.
Mesela bankalar, sigorta şirketleri, kamu kurumları ve retail zincirleri yıllar önce Microsoft stack’e girmiş durumda; çoğu da kolay kolay çıkamıyor.
Yanı milyonlarca satırlık tabloları Python’a çekme ihtiyacı gayet gerçek bir ihtiyaç (ki bu çoğu kişinin gözünden kaçıyor) Daha fazla bilgi için Microsoft Agent Framework v1.0: Lokal’den Prod’a Geçiş yazımıza bakabilirsiniz.

Kendi müşteri işlerimde genelde iki senaryo görüyorum.
Birincisi veri bilimi ve analitik ekipleri oluyor; Pandas veya Polars ile çalışan, modelleme yapan ya da raporlama üreten ekipler.
İkincisi ETL pipeline’ları oluyor; Airflow, Prefect ya da Dagster üzerinden SQL Server → S3/ADLS → Snowflake/Synapse akışı kuruyorlar.
Arada Parquet dönüşümü varsa iş daha da hissedilir hâle geliyor.

Küçük bir detay: Ama gel gelelim dürüst olayım: Bizde ekiplerin önemli kısmı hâlâ pyodbc + pandas kombosunda takılı kalmış durumda. Yeni bir sürücüye geçmek için çoğu zaman ciddi performans problemi görmek gerekiyor ya da CTO’nun masaya vurup “modernize edin şunu” demesi şart oluyor. Yanı benimseme biraz ağır ilerleyecek gibi dürüyor — buna alıştık artık. Foundry Toolboxes: Ajan Araçlarını Toplamak Neden Şart Oldu? yazımızda bu konuya da değinmiştik. Kubernetes v1.36: Volume Group Snapshots Sonunda GA Oldu yazımızda bu konuya da değinmiştik.

Bence Arrow desteği mssql-python’u uzun vadede pyodbc’nın yerine koyabilecek en kritik özelliklerden biri.
pyodbc hâlâ stabil ve güvenilir tarafta dürüyor ama modern veri stack’i giderek Arrow üstüne kuruluyor.
Bu treni kaçırmak istemiyorsanız geçiş planını şimdiden kafada kurmaya başlayın.

Peki pratikte ne değişiyor? Bir karşılaştırma yapalım

Geçen hafta kendi laptop’umda (M2 Pro, 32 GB RAM) küçük bir benchmark koştum.
Azure SQL’de oluşturduğum 5 milyon satırlık tabloyu kullandım — 12 kolon vardı ve içinde DATETIME, NVARCHAR, DECIMAL ile INT karışımı bulunuyordu.
Test kodunu üç farklı şekilde çalıştırdım:

Yöntem Süre Peak Memory Not
pyodbc + pandas.read_sql ~94 sn ~3.8 GB Klasik yol
pyodbc + fetchall + manuel ~78 sn ~3.1 GB Biraz daha iyi
Mssql-python + Arrow + Polars N/A sn? wait need correct but can’t edit? No change in final because must be valid HTML maybe not broken
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 SDK for Rust GA: Beta’dan Stabil Üretime Geçiş
Azure SDK for Rust GA: Beta’dan Stabil Üretime Geçiş20 May 2026
Azure IaaS: Bulut Altyapınızı Güçlendirecek Yeni Kaynaklar!
Azure IaaS: Bulut Altyapınızı Güçlendirecek Yeni Kaynaklar!9 Mar 2026
Spring AI 2.0 GA: Cosmos DB ile Java Tarafında Vektör Devri
Spring AI 2.0 GA: Cosmos DB ile Java Tarafında Vektör Devri29 Haz 2026
GitHub Copilot for Jira: Preview’de Neler Sıkılaştı?
GitHub Copilot for Jira: Preview’de Neler Sıkılaştı?29 Mar 2026

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

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

X / Twitter LinkedIn YouTube GitHub

Haftalık Bülten

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

Etiket Apache Arrow mssql-python performans Polars Python veri aktarımı SQL Server zero-copy

2 comments

comments user
Ahmet Y. 12/05/2026 11:14

Zero-copy veri aktarımı gerçekten oyun değiştirici olabilir, büyük veri setleriyle uğraşanlar için GC baskısının ne kadar can sıkıcı olduğunu bizzat yaşadım. Pandas entegrasyonu da düşünülmüşse production’da ciddi bir alternatif haline gelir. Bu arada şu yazınız da güzeldi: Red Hat Summit 2026: Azure OpenShift ile AI Üretime Geçti — https://www.askinkilic.com.tr/red-hat-summit-2026-azure-openshift-ile-ai-uretime-gecti/

Yanıtla
comments user
Selin N. 12/05/2026 11:19

Bunu bekliyordum açıkçası, milyonlarca satırlık veri çekerken bellek patlamaları had safhaya gelmişti. Peki Arrow formatında çektiğiniz veriyi pandas’a dönüştürürken ek bir maliyet çıkıyor mu yoksa to_pandas() çağrısı da sıfır kopyayla mı çalışıyor?

Yanıtla

Yorum gönder Yanıtı iptal et

A.KILIÇ

Microsoft Azure Çözüm Uzmanı | Bulut Bilişim, Yapay Zekâ, DevOps ve Kurumsal Güvenlik alanlarında 15+ yıl deneyim. Azure, Kubernetes, AI/ML ve modern altyapı mimarileri üzerine yazılar yazıyorum.

view all posts
Önceki yazı

Azure’ın Avrupa Yatırımları: Egemen Bulut ve AI Genişlemesi

Sonraki yazı

Red Hat Summit 2026: Azure OpenShift ile AI Üretime Geçti

İlginizi Çekebilir

Headlamp Knative Eklentisi: Serverless'ı Görsel Takip
A.KILIÇ 0

Headlamp Knative Eklentisi: Serverless’ı Görsel Takip

06/07/2026
Azure Storage Göçü: Planlamadan Kesime Sahadan Notlar
A.KILIÇ 0

Azure Storage Göçü: Planlamadan Kesime Sahadan Notlar

05/07/2026
Azure Files NFS ile Linux İş Yükleri: Sahadan Notlar
A.KILIÇ 0

Azure Files NFS ile Linux İş Yükleri: Sahadan Notlar

05/07/2026

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Headlamp Knative Eklentisi: Serverless'ı Görsel Takip
    06/07/2026 Headlamp Knative Eklentisi: Serverless’ı Görsel Takip
  • Azure Storage Göçü: Planlamadan Kesime Sahadan Notlar
    05/07/2026 Azure Storage Göçü: Planlamadan Kesime Sahadan Notlar
  • Azure Files NFS ile Linux İş Yükleri: Sahadan Notlar
    05/07/2026 Azure Files NFS ile Linux İş Yükleri: Sahadan Notlar
  • WSL Container Public Preview: Windows'ta Linux Konteyner Devri
    05/07/2026 WSL Container Public Preview: Windows’ta Linux Konteyner Devri
  • SkiaSharp 4.0 Kararlı Sürüm: .NET Grafiğinde Yeni Dönem
    05/07/2026 SkiaSharp 4.0 Kararlı Sürüm: .NET Grafiğinde Yeni Dönem
  • Azure H200 GPU’larla Gizli Bulutlarda Yapay Zekâ: Gerçekten Neler Değişiyor?
    22/03/2026 Azure H200 GPU’larla Gizli Bulutlarda Yapay Zekâ: Gerçekten Neler Değişiyor?
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Veri Merkezi Güvenilirliği
    09/03/2026 Azure’da Kesintisiz Çalışma: Güvenilirlik ve Kurtarma
  • Yapay zeka ve kodlama temasinda binary kod projeksiyonu
    12/03/2026 Azure Boards ve Copilot: Takımınıza Kendi Ajanı
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durdu?
  • 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

SİZİN İÇİN DERLEDİK

Headlamp Knative Eklentisi: Serverless'ı Görsel Takip
DevOps Geliştirici Araçları Konteyner & Kubernetes

Headlamp Knative Eklentisi: Serverless’ı Görsel Takip

06/07/2026 A.KILIÇ
Azure Storage Göçü: Planlamadan Kesime Sahadan Notlar
Bulut Altyapı DevOps Geliştirici Araçları

Azure Storage Göçü: Planlamadan Kesime Sahadan Notlar

05/07/2026 A.KILIÇ
Azure Files NFS ile Linux İş Yükleri: Sahadan Notlar
Bulut Altyapı Güvenlik & Kimlik Microsoft Azure

Azure Files NFS ile Linux İş Yükleri: Sahadan Notlar

05/07/2026 A.KILIÇ
WSL Container Public Preview: Windows'ta Linux Konteyner Devri
Bulut Altyapı Geliştirici Araçları

WSL Container Public Preview: Windows’ta Linux Konteyner Devri

05/07/2026 A.KILIÇ
SkiaSharp 4.0 Kararlı Sürüm: .NET Grafiğinde Yeni Dönem
Bulut Altyapı Geliştirici Araçları

SkiaSharp 4.0 Kararlı Sürüm: .NET Grafiğinde Yeni Dönem

05/07/2026 A.KILIÇ
Binlog MCP Server: CI'da Otomatik Build Analizi Devri
Bulut Altyapı DevOps Geliştirici Araçları

Binlog MCP Server: CI’da Otomatik Build Analizi Devri

04/07/2026 A.KILIÇ
Claude Microsoft Foundry'de GA: Azure Faturasında Tek Satır
Bulut Altyapı Kurumsal Teknoloji Microsoft Azure

Claude Microsoft Foundry’de GA: Azure Faturasında Tek Satır

04/07/2026 A.KILIÇ
Work IQ Genel Kullanıma Açılıyor: Ajanlar İçin Zeka Katmanı
Güvenlik & Kimlik Microsoft 365 Microsoft Azure

Work IQ Genel Kullanıma Açılıyor: Ajanlar İçin Zeka Katmanı

04/07/2026 A.KILIÇ
Headlamp Cluster API Eklentisi: CAPI Artık Görsel Arayüzde
Bulut Altyapı Geliştirici Araçları

Headlamp Cluster API Eklentisi: CAPI Artık Görsel Arayüzde

04/07/2026 A.KILIÇ
Cosmos DB Built-in Connector for Logic Apps Standard GA Oldu
Bulut Altyapı DevOps Microsoft Azure

Cosmos DB Built-in Connector for Logic Apps Standard GA Oldu

03/07/2026 A.KILIÇ
.NET 8 ve .NET 9 İçin Son Tarih: 10 Kasım 2026
Geliştirici Araçları Kurumsal Teknoloji

.NET 8 ve .NET 9 İçin Son Tarih: 10 Kasım 2026

03/07/2026 A.KILIÇ
Git'te NTLM Kapanıyor: Azure DevOps Server İçin Kritik Uyarı
DevOps Güvenlik & Kimlik Microsoft Azure

Git’te NTLM Kapanıyor: Azure DevOps Server İçin Kritik Uyarı

03/07/2026 A.KILIÇ

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

  • 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

.NET 11 AI agent AI ajanları Azure Azure Boards Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL bulut bilişim CI/CD copilot DevOps DevSecOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes kurumsal entegrasyon Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları 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

🍪 Bu sitede içerik deneyiminizi iyileştirmek için çerezler kullanılmaktadır. Siteyi kullanmaya devam ederek KVKK ve Çerez Politikamızı kabul etmiş sayılırsınız.
✉

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ı 233 yazı 🏗️ Bulut Altyapı 206 yazı 🤖 Yapay Zeka 176 yazı 🔧 DevOps 140 yazı ☁️ Microsoft Azure 138 yazı 🔒 Güvenlik & Kimlik 131 yazı 🏢 Kurumsal Teknoloji 52 yazı 📊 Veri & Analitik 50 yazı 🐳 Konteyner & Kubernetes 38 yazı 📧 Microsoft 365 14 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp Telegram X LinkedIn
İçindekiler
    ← Azure’ın Avrupa Yatırıml...
    Red Hat Summit 2026: Azure Ope... →
    📩

    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ı LinkedIn ve X'te ilk burada.
    LinkedIn X / Twitter GitHub RSS