Veri Bilimi Okulu

Apache Spark’ta Maven Coordinates

Loading

Apache Spark Scala ile yazılmış ama çoğunluk python ile kullanıyor. Ancak ana dilin, Scala, dünyasından tamamen kopamıyorsunuz. Harici paketler, yani maven repository, yani maven koordinatları (maven coordinates). İlk bakışta anlamsız bir kod gibi göründüğünden itici olabiliyor. Özellikle yeni başlayanlar için tam bir çile. Çünkü doğru koordinatı seçemezsen kafka ile konuşamıyorsun mesela. İşte bu yazı maven […]

Kubernetes Security: 5 Acı Gerçek

Loading

Giriş: “Güvenli” Sandığınız Cluster Aslında Öyle Olmayabilir Merhaba! Bugün sizlerle Kubernetes (K8s) güvenliği hakkında konuşacağız. Biliyorum, “güvenlik” kelimesi kulağa sıkıcı gelebilir ama inanın bana, bu yazıyı okuduktan sonra cluster’larınıza bir daha aynı gözle bakmayacaksınız. Kubernetes, konteyner yönetimi (container orchestration) dünyasının kralı haline geldi. Ancak bu güç beraberinde büyük bir sorumluluk getiriyor. İşte size şok edici […]

Kubernetes Quality of Service (QoS) Sınıfları

Loading

Merhaba arkadaşlar! Bugün Kubernetes dünyasında kritik bir konuya, yani Quality of Service (Hizmet Kalitesi) sınıflarına dalalım. Eğer “Neden bazı pod’lar sistem baskı altındayken ayakta kalırken diğerleri hemen ölüyor?” diye sorduysanız, cevabınız bu yazıda. QoS Nedir ve Neden Önemli? Quality of Service (QoS), Kubernetes’in pod’larınızı nasıl önceliklendireceğini ve kaynak sıkıntısı olduğunda hangilerini ilk evict edeceğini (çıkaracağını) […]

FastAPI Middleware Giriş

Loading

Claude Code ile FastAPI üzerine çalışırken ilginç bir şeyle karşılaştım. Kod dosyamda @app.middleware(“http”) şeklinde bir decorator gördüm ve düşündüm: “Durun bir dakika, ben hep @app.get(“/”), @app.post(“/”) gibi decorator’lar görüyordum. Bu @app.middleware(“http”) ne işe yarıyor?” Soruyu sorduğumda aldığım cevap beni şaşırttı – bu decorator her HTTP isteğinde (request) çalışıyormuş, sadece belirli bir endpoint’te değil! Konuyu biraz […]

Modern Veri Dünyasının Oyun Değiştiricisi: Apache Iceberg

Loading

Merhabalar! Bugün sizlerle birlikte modern veri dünyasının en heyecan verici teknolojilerinden biri olan Apache Iceberg’i keşfedeceğiz. Veri gölleriniz kaosa dönüştü mü? Şema güncellemeleri başınızı ağrıtıyor mu? O halde doğru yerdesiniz! Gelin birlikte bu açık tablo formatının (open table format) ne olduğunu, nasıl çalıştığını ve neden bu kadar önemli olduğunu öğrenelim. Önce Biraz Tarih: Veri Ambarlarından […]

Platform Engineering Nedir?

Loading

Merhaba arkadaşlar! Bugün sizlerle DevOps ve Cloud dünyasında son yıllarda gittikçe dikkat çeken ve adını daha fazla duymaya başladığımız bir rolü ele alacağız: Platform Engineering (Platform Mühendisliği). Bu altı boş sadece yeni bir moda değil – Gartner gibi çalışmalarına itimat edilir bir araştırma kurumunun 2023’te yaptığı tahminlere göre 2026 yılına kadar yazılım geliştiren kuruluşların %80’i […]

Kubernetes Kustomize ile Tanışalım: Başlangıç Rehberi

Loading

Merhaba! Bugün Kubernetes dünyasında uygulama yapılandırmalarını (configuration) yönetmek için kullanılan harika bir araçtan bahsedeceğiz: Kustomize. Eğer Kubernetes ile çalışıyorsanız ve farklı ortamlar için sürekli YAML dosyalarını kopyalayıp değiştirmekten bıktıysanız, doğru yerdesiniz. Beraber Kustomize’ı öğreneceğiz ve basit örneklerle nasıl kullanılacağını göreceğiz. Kustomize Nedir? Kustomize, Kubernetes için geliştirilmiş bir yapılandırma yönetim (configuration management) aracıdır [1][2]. En güzel […]

Kafka Producer Güvenilirliği: Acks, Retry ve Idempotent Producer İlişkisini Öğrenelim

Loading

Merhaba! Bugün Apache Kafka’nın en kritik konularından biri olan Kafka Producer güvenilirliği (producer reliability) üzerine derinlemesine bir yazı hazırladım. Eğer Kafka kullanıyorsanız veya kullanmayı planlıyorsanız, mesajlarınızın kaybolmaması ve duplicate (tekrar eden) mesajlardan kaçınmanız için bu konuyu çok iyi anlamanız gerekiyor. Hadi birlikte öğrenelim! Producer Acks Nedir ve Neden Önemlidir? Öncelikle acks (acknowledgment) parametresinden başlayalım. Bu […]

Apache Kafka Exactly-Once Semantics: Mesajlar Ne Kaybolsun, Ne Tekrar Etsin!

Loading

Bu yazıda sizlerle Apache Kafka’nın en kritik ve en çok yanlış anlaşılan özelliklerinden biri olan exactly-once semantics (tam bir kez semantiği) konusunu detaylıca konuşacağız. Bu özellik dağıtık sistemlerde çözmesi en zor problemlerden biri olarak kabul ediliyor ve bazı uzmanlar bunun matematiksel olarak imkansız olduğunu bile iddia ediyordu [2][7]. Ama Kafka bunu başardı! Gelin birlikte nasıl […]

Kubernetes Jobs ve CronJobs ile Otomatik Görevleri Yönetmeyi Öğrenelim

Loading

Merhaba arkadaşlar! Bugün Kubernetes dünyasında çok önemli ama bazen gözden kaçan iki konuya dalacağız: Jobs ve CronJobs. Eğer Kubernetes’i bir süredir kullanıyorsanız, muhtemelen Deployment’lar, ReplicaSet’ler ve StatefulSet’ler gibi pod’larınızı sürekli çalıştıran denetleyicilere (controllers) aşinasınızdır. Peki ya sadece bir kez çalışması gereken işler için ne yapmalıyız? İşte tam da bu noktada Jobs ve CronJobs devreye giriyor! […]

Docker Compose ile 3 Node KRaft Kafka Cluster Kurulumu (Kafka 4.1.0)

Loading

Neden KRaft ve Neden Kafka 4.1.0? Daha önce bu yazımda Zookeeper-less Kafka cluster kurulumundan bahsetmiştim. Aradan epey zaman geçti ve resmi imajlar kullanarak yeni bir molti-node kafka cluster kurulumunu docker compose ile ele almak istedim. Kafka 4.0 ile beraber ZooKeeper bağımlılığı kaldırıldı ve KRaft (Kafka Raft) varsayılan hâle geldi. Bu hem yönetimi basitleştirir (ayrı bir […]

Apache Flink Giriş

Loading

Bu makalede şu sorulara cevap vermeye çalışacağız: Stream veri işleme (stream data processing) nedir, neden önemlidir, Apache Flink bu konuda diğer sistemlerden ne farkla öne çıkar? Ardından iç mimariye, temel kavramlara ve kullanımı örneklerle göreceğiz. 1. Stream İşleme Nedir? (What Is Stream Processing) Veri dünyasında genellikle iki yaklaşım vardır: toplu işlem (batch processing) ve akış […]

Apache Flink Deployment Modları ve Cluster Yöneticileri

Loading

Giriş Selam arkadaşlar! Bugün Apache Flink’in en kritik konularından birine dalacağız: deployment modları ve cluster yöneticileri/kaynak sağlayıcıları (resource providers). Flink kodunu yazdınız, şimdi ne olacak?. Bu yazıda cevabını bulmaya çalışacağız. Apache Flink, yüksek performanslı akış (stream) ve toplu (batch) veri işleme için harika bir framework. Ama işin püf noktası sadece kod yazmak değil – “bu […]

LLMOps Rehberi: Büyük Dil Modellerini Operasyonel Hale Getirmenin Sırları

Loading

Merhaba arkadaşlar! Bu yazıda sizlere yapay zekanın niş alanlarından biri olan LLMOps (Large Language Model Operations – Büyük Dil Modeli Operasyonları)’dan bahsedeceğim. 7’den 77’ye hemen hemen herkes LLM’leri bir şekilde kullanıyor. Aç Chrome tarayıcıyı, yaz chatgpt, gemini, grok, claude vs. sor sorunu al cevabını. Oh! mis! Peki bu modelleri doğrudan tüketmek yerine bunları tüketirken birşeyler […]

Python İmajları için Dockerfile Optimizasyonu

Loading

Bugün sizinle Docker Docker optimizasyonu (Docker optimization), özellikle de Dockerfile optimizasyonu hakkında konuşacağız. Biliyorum, bazılarınız için özgün docker imajları yaratmak hala ürkütücü görünüyor, ama merak etmeyin, bu yazıyı okuduktan sonra tüy kadar hafif imajlar oluşturmayı, bunlardan roket hızında ayağa kalkan container yaratmayı ve bunları Fort Knox kadar güvenli hale getirmeyi öğreneceksiniz! Neden Docker Optimizasyonu Bu […]

Airflow’da Idempotent Veri Akışları: Context ve Object Storage

Loading

Veri işleme süreçlerinde tekrar edilebilirlik (idempotency) ve depolama sistemlerinden bağımsız çalışabilme, güvenilir mimarilerin olmazsa olmaz özellikleridir. Apache Airflow bu noktada yalnızca işleri orkestre eden bir araç değil, aynı zamanda bu tür ihtiyaçları karşılayan mekanizmalar sunan bir platformdur. Bu yazıda Airflow’un iki önemli kavramı üzerinde duracağız: Airflow Context ve Airflow Object Storage. Airflow Context Airflow’da her […]

Airflow 3’te Task-Oriented ve Asset-Oriented Yaklaşım

Loading

Apache Airflow, uzun yıllardır veri mühendislerinin en çok tercih ettiği orkestrasyon araçlarından biri. Özellikle farklı veri kaynaklarından veri çekme (extract), dönüştürme (transform) ve yükleme (load) süreçlerinde DAG (Directed Acyclic Graph) kavramıyla sunduğu esnek yapı, Airflow’u adeta endüstri standardı haline getirdi. Ancak Airflow’un klasik kullanım biçimi olan task-oriented (görev odaklı) yaklaşım, her ne kadar güçlü olsa […]

Python Güncel Trendler

Loading

Python programlama dilinin sürekli evrim geçiren yapısı, teknoloji dünyasının en heyecan verici gelişmelerinden birisi. Sektör raporları, geliştirici anketleri ve uzman analizleri, dilin mevcut durumunu ve geleceğe yönelik eğilimlerini ortaya koyuyor. Bu veriler, hem deneyimli hem de yeni başlayan geliştiriciler için Python ekosisteminin mevcut manzarasını anlama konusunda kritik önemde. Python’ın Küresel Hakimiyeti ve Kullanım Alanları Stack […]

Cloud Engineer (Bulut Mühendisi) Nedir? Ne İş Yapar?

Loading

Günümüzde teknoloji dünyasının en hızlı gelişen alanlarından biri olan bulut bilişim, iş dünyasını kökten değiştirmekte ve yeni kariyer fırsatları yaratmaktadır. Bu değişimin kalbinde ise cloud engineer- bulut mühendisleri yer almaktadır. Bu meslek sadece yüksek maaş vaat etmekle kalmıyor, aynı zamanda “teknoloji dünyasının en iyi iş rollerinden biri” olarak da öne çıkıyor. Bulut Bilişim ve Bulut […]

Vibe Coding Nedir? Yazılım Geliştirmede Yeni Dönem: AI Destekli Programlama

Loading

Yazılım geliştirme dünyası 2025 yılında köklü bir dönüşüm yaşıyor. Geleneksel kod yazma yöntemlerine alternatif tehditkar bir yaklaşım olarak “Vibe Coding” karşımıza çıkıyor. İddiası, programlamayı demokratikleştirerek sıradan insanların da karmaşık uygulamalar geliştirebilmesini sağlamak. Bu yaklaşım, sadece deneyimli geliştiricilerin değil, hiç programlama deneyimi olmayan kişilerin bile fikirlerini hayata geçirebilmesine olanak tanıyor. Vibe Coding Nedir? Vibe coding terimi, […]

Password Requirements:

  • At least 8 characters
  • At least 1 lowercase letter
  • At least 1 uppercase letter
  • At least 1 numerical number
  • At least 1 special character