Eğitim İçeriği
Gün 1 — Dayanıklı Python Temelleri ve Araçları
Modern Python Özellikleri ve Tip Dili
- Temel tiplendirme, jenerikler, Protokoller ve TypeGuard
- Dataclasses, donmuş dataclasses ve attrs genel bakış
- Pattern matching (PEP 634+) ve örnek kullanım
Kod Kalitesi ve Araçlar
- Kod formatlayıcıları ve linter'ler: black, isort, flake8, ruff
- Statik tiplendirme kontrolü ile MyPy ve pyright
- Pre-commit hooks ve geliştirici iş akışları
Proje Yönetimi ve Paketleme
- Poetry ve sanal ortamlar ile bağımlılık yönetimi
- Paket düzeni, giriş noktaları ve sürümleme en iyi uygulamaları
- PyPI ve özel kayıtlara paketlerin derlenmesi ve yayınlanması
Gün 2 — Tasarım Desenleri ve Mimari Uygulamalar
Python'da Tasarım Desenleri
- Oluşturma desenleri: Factory, Builder, Singleton (Pythonik varyantlar)
- Yapısal desenler: Adapter, Facade, Decorator, Proxy
- Davranışsal desenler: Strategy, Observer, Command
Mimari İlkeler
- SOLID ilkeler Python kod tabanlarına uygulanması
- Hexagonal/Clean Mimari ve sınırlar
- Bağımlılık enjeksiyon desenleri ve yapılandırma yönetimi
Modüllülük ve Tekrar Kullanım
- Kütüphane kodu ile uygulama kodu tasarımı
- API'ler, stabil arayüzler ve semantik sürümleme
- Yapılandırma, gizli anahtarlar ve ortam-spesifik ayarların yönetimi
Gün 3 — Paralellik, Asenkron IO ve Performans
Paralellik ve Eşzamanlılık
- Eşzamanlılık temelleri ve GIL etkileri
- CPU-bağlı görevler için multiprocess ve işlem havuzları
- concurrent.futures vs multiprocessing ne zaman kullanılması gerektiği
Asenkron Programlama ile asyncio
- Async/await desenleri, olay döngüsü ve iptal
- Eşzamanlı kütüphaneler tasarlanması ve senkron kodla uyumluluğu
- IO-bağlı desenler, geri basım ve hız sınırlamaları
Kesif ve Optimizasyon
- Kesif araçları: cProfile, pyinstrument, perf, memory_profiler
- Sıcak yolların optimizasyonu ve uygun yerlerde C-ekstensions/Numba kullanımı
- Gecikme süresi, verimlilik ve kaynak kullanımının ölçülmesi
Gün 4 — Test, CI/CD, Gözlemlenebilirlik ve Dağıtım
Test Stratejileri ve Otomasyon
- pytest ile birim testleri ve fixture'ler; test organizasyonu
- Hypothesis ile özellik tabanlı test ve sözleşme testi
- Mocking, monkeypatching ve asenkron kodların testi
CI/CD, Yayınlama ve İzleme
- Github Actions/GitLab CI'ye testlerin ve kalite kapılarının entegrasyonu
- Docker ve çok aşamalı derlemeler ile tekrarlanabilir konteyner oluşturma
- Uygulama gözlemlenebilirliği: yapılandırılmış loglama, Prometheus metrikleri ve izleme
Güvenlik, Dayanıklılık ve En İyi Uygulamalar
- Bağımlılık denetimi, SBOM temelleri ve güvenlik açıkları taraması
- Girdi doğrulaması ve gizli anahtar yönetimi için güvenli kodlama uygulamaları
- Çalışma zamanı dayanıklılığı: kaynak sınırları, kullanıcı hakları ve konteyner güvenliği
Kazanım Projesi & Tekrar
- Ekip laboratuvarı: kursun desenlerini kullanarak küçük bir hizmet tasarlama ve uygulama
- Proje için test, tiplendirme kontrolü, paketleme ve CI işlem hattı
- Son tekrar, kod eleştiri ve etkili bir iyileştirme planı
Özet ve Sonraki Adımlar
Kurs İçin Gerekli Önbilgiler
- Gelişmiş düzeyde Python programlama deneyimi
- Nesne yönelimli programlama ve temel testleme bilgisi
- Komut satırı ve Git kullanımı deneyimi
Hedef Kitle
- Senior Python geliştiricileri
- Python kod kalitesi ve mimarisi sorumlusu 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)
İç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
Örnekler/alıştırmalar domenimize mükemmel şekilde uyarlanmıştır
Luc - CS Group
Eğitim - Scaling Data Analysis with Python and Dask
Yapay Zeka Çevirisi