Bize Ulaşın
 Süre 28 Saat

Eğitim İçeriği

1. Gün — Sağlam Python Temelleri ve Araçlar

Modern Python Özellikleri ve Tip Denetimi

  • Tip denetimi temelleri, jenerikler, Protocols ve TypeGuard
  • Dataclasses, donmuş dataclasses ve attrs genel bakışı
  • Desen eşleştirme (PEP 634+) ve idiomatik kullanım

Kod Kalitesi ve Araçlar

  • Kod biçimlendiriciler ve analizciler: black, isort, flake8, ruff
  • MyPy ve pyright ile statik tip denetimi
  • Pre-commit hook'ları ve geliştirici iş akışları

Proje Yönetimi ve Paketleme

  • Poetry ve sanal ortamlarla bağımlılık yönetimi
  • Paket düzeni, giriş noktaları ve sürümleme en iyi uygulamaları
  • Paketleri PyPI ve özel kayıtlara (registry) derlemek ve yayınlamak

2. Gün — Tasarım Desenleri ve Mimari Uygulamalar

Python'da Tasarım Desenleri

  • Oluşturucu desenler: Factory, Builder, Singleton (Pythonik varyantlar)
  • Yapısal desenler: Adapter, Facade, Decorator, Proxy
  • Davranışsal desenler: Strategy, Observer, Command

Mimari İlkeler

  • Python kod tabanlarına uygulanan SOLID ilkeleri
  • Hexagonal/Clean Architecture ve sınırlar
  • Bağımlılık enjeksiyonu desenleri ve yapılandırma yönetimi

Modülerlik ve Yeniden Kullanım

  • Kütüphane kodu ile uygulama kodu tasarımı
  • API'ler, kararlı arayüzler ve anlamsal sürümleme
  • Yapılandırma, gizli bilgiler (secrets) ve ortam bazlı ayarların yönetimi

3. Gün — Eşzamanlılık, Asenkron IO ve Performans

Eşzamanlılık ve Paralellik

  • İş parçacığı (threading) temelleri ve GIL etkileri
  • İşlemciler (multiprocessing) ve işlem havuzları ile CPU yoğun görevler
  • concurrent.futures ile multiprocessing arasındaki fark ve kullanım senaryoları

asyncio ile Asenkron Programlama

  • Async/await desenleri, olay döngüsü (event loop) ve iptal etme
  • Asenkron kütüphaneler tasarlamak ve senkron kodla etkileşim
  • IO yoğun desenler, geri basınç (backpressure) ve hız sınırlama

Profil Oluşturma ve Optimizasyon

  • Profil oluşturma araçları: cProfile, pyinstrument, perf, memory_profiler
  • Yoğun yolları (hot paths) optimize etmek ve uygun yerlerde C eklentileri/Numba kullanmak
  • Geçikme, aktarım hızı (throughput) ve kaynak kullanımını ölçmek

4. Gün — Test, CI/CD, Gözlemlenebilirlik ve Dağıtım

Test Stratejileri ve Otomasyon

  • pytest ile birim test ve fixture'lar; test organizasyonu
  • Hypothesis ile özelliğe dayalı test ve sözleşme testi
  • Mocklama, maymun yamaları (monkeypatching) ve asenkron kodu test etme

CI/CD, Sürüm ve İzleme

  • Testleri ve kalite kapılarını GitHub Actions/GitLab CI'a entegre etme
  • Docker ve çok aşamalı derlemelerle yeniden üretilebilir konteynerler oluşturma
  • Uygulama gözlemlenebilirliği: yapılandırılmış kayıt tutma, Prometheus metrikleri ve izleme

Güvenlik, Dayanıklılık ve En İyi Uygulamalar

  • Bağımlılık denetimi, SBOM temelleri ve açıklık taraması
  • Girdi doğrulama ve gizli bilgi yönetimi için güvenli kodlama uygulamaları
  • Çalışma zamanı sağlamlaştırma: kaynak sınırları, kullanıcı hakları ve konteyner güvenliği

Başlangıç Projesi ve Değerlendirme

  • Takım laboratuvarı: Kurstaki desenleri kullanarak küçük bir hizmet tasarımı ve uygulaması
  • Proje için test, tip denetimi, paketleme ve CI hattı
  • Son değerlendirme, kod eleştirisi ve uygulanabilir iyileştirme planı

Özet ve Sonraki Adımlar

Kurs İçin Gerekli Önbilgiler

  • Güçlü orta düzey Python programlama deneyimi
  • Nesne yönelimli programlama ve temel test konularına aşinalık
  • Komut satırı ve Git kullanma deneyimi

Hedef Kitle

  • Kıdemli Python geliştiricileri
  • Python kod kalitesi ve mimarisindan sorumlu yazılım mühendisleri
  • Python kod tabanlarıyla çalışan teknik liderler ve MLOps/DevOps mühendisleri

Katılımcı Sayısı


Katılımcı başına fiyat

Danışanlarımızın Yorumları (2)

Yaklaşan Etkinlikler

İlgili Kategoriler