Schița de curs
Ziua 1 — Fundamente robuste de Python & Tooling
Funcționalități moderne de Python și Typing
- Dezvoltare baze de typing, generics, Protocols și TypeGuard
- Prezentare dataclasses, frozen dataclasses și attrs
- Pattern matching (PEP 634+) și utilizare idiomatică
Calitate cod și Tooling
- Formatare cod și linteri: black, isort, flake8, ruff
- Verificare statică a tipurilor cu MyPy și pyright
- Pre-commit hooks și workflow-uri pentru dezvoltatori
Management proiecte și Packaging
- Management dependențe cu Poetry și medii virtuale
- Structură pachete, entry points și best practices de versioning
- Construire și publicare de pachete pe PyPI și registre private
Ziua 2 — Design Patterns & Practici de Arhitectură
Design Patterns în Python
- Pattern-uri creational: Factory, Builder, Singleton (variante pythonice)
- Pattern-uri structurale: Adapter, Facade, Decorator, Proxy
- Pattern-uri comportamentale: Strategy, Observer, Command
Principii de Arhitectură
- Principii SOLID aplicate pe codebases Python
- Hexagonal/Clean Architecture și limite
- Pattern-uri de injectare de dependențe și management configuratie
Modularitate și Reutilizare
- Design de cod pentru librării vs aplicații
- API-uri, interfețe stabile și versioning semantic
- Management configuratie, secrete și setări specifice mediului
Ziua 3 — Concurență, Async IO și Performanță
Concurență și Paralelism
- Fundamente de threading și implicații GIL
- Multiprocessing și process pools pentru task-uri CPU-bound
- Când să folosești concurrent.futures vs multiprocessing
Programare Async cu asyncio
- Pattern-uri async/await, event loop și anulare
- Design de librării async și interoperabilitate cu cod sync
- Pattern-uri IO-bound, backpressure și rate limiting
Profiiling și Optimizare
- Tool-uri de profiling: cProfile, pyinstrument, perf, memory_profiler
- Optimizare căi fierbinți și utilizare C-extensions/Numba acolo unde e relevant
- Măsurarea latenței, throughput-ului și utilizării resurselor
Ziua 4 — Testare, CI/CD, Observabilitate și Deploy
Strategii de Testare și Automatizare
- Teste unitare și fixture-uri cu pytest; organizare teste
- Property-based testing cu Hypothesis și contract testing
- Mocking, monkeypatching și testarea codului asincron
CI/CD, Release și Monitoring
- Integrare teste și gate-uri de calitate în GitHub Actions/GitLab CI
- Construire containere reproducible cu Docker și build multi-stage
- Observabilitate aplicație: logging structurat, metrici Prometheus și tracing
Securitate, Întărire și Best Practices
- Auditanțe dependențe, baze SBOM și scanare vulnerabilități
- Practici de codare secură pentru validare intrări și management secrete
- Întărire runtime: limite de resurse, drepturi utilizator și securitate containere
Proiect Capstone & Review
- Lab de echipă: design și implementare unui serviciu mic folosind pattern-uri din training
- Testare, type-checking, packaging și CI pipeline pentru proiect
- Review final, critică a codului și plan de îmbunătățiri acționabile
Rezumat și pași următori
Cerințe
- Experiență solidă de programare Python de nivel intermediar
- Familiaritate cu programarea orientată obiect și testare de bază
- Experiență în utilizarea liniei de comandă și Git
Public țintă
- Dezvoltatori Python seniori
- Ingineri software responsabili de calitate cod și arhitectură Python
- Conducători tehnici și ingineri MLOps/DevOps care lucrează cu codebases Python
Mărturii (2)
totul a fost perfect
Florin Vrincianu
Curs - Python Programming Fundamentals
Tradus de catre o masina
Exercițiile practice legate de conținut ajută cu adevărat la înțelegerea mai profundă a fiecărui subiect. De asemenea, stilul de a începe cursul cu o prezentare teoretică și de a continua cu exerciții practice este bun și util pentru a lega conținutul de ce s-a prezentat anterior.
Nazeera Mohamad - Ministry of Science, Technology and Innovation
Curs - Introduction to Data Science and AI using Python
Tradus de catre o masina