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
Danışanlarımızın Yorumları (2)
her şey mükemmel oldu
Florin Vrincianu
Eğitim - Python Programming Fundamentals
Yapay Zeka Çevirisi
İçerlemeyle ilgili pratik alıştırmalar, her konuyu daha iyi anlamamıza gerçekten yardımcı olur. Ayrıca, dersi öncelikle ders anlatımıyla başlatıp ardından pratik alıştırmayla devam etmek, önce sunulan ders anlatımını ilişkilendirmeye ve kavramaya çok faydalıdır.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Eğitim - Introduction to Data Science and AI using Python
Yapay Zeka Çevirisi