Intrati in legatura
 Durata 28 ore

Schița de curs

Ziua 1 — Fundamente Python robuste și tooling

Funcționalități moderne Python și typing

  • Bazele typing-ului, generice, Protocols și TypeGuard
  • Dataclasses, frozen dataclasses și prezentare generală attrs
  • Pattern matching (PEP 634+) și utilizare idiomatică

Calitatea codului și tooling

  • Formatters și linters: black, isort, flake8, ruff
  • Verificare statică a tipurilor cu MyPy și pyright
  • Pre-commit hooks și fluxuri de lucru pentru dezvoltatori

Managementul proiectelor și packaging

  • Managementul dependențelor cu Poetry și medii virtuale
  • Structura pachetelor, entry points și bune practici de versionare
  • Construirea și publicarea pachetelor pe PyPI și în registry-uri private

Ziua 2 — Design Patterns și practici de arhitectură

Design Patterns în Python

  • Pattern-uri creaționale: Factory, Builder, Singleton (variante pythonice)
  • Pattern-uri structurale: Adapter, Facade, Decorator, Proxy
  • Pattern-uri comportamentale: Strategy, Observer, Command

Principii de arhitectură

  • Principii SOLID aplicate codebase-urilor Python
  • Arhitectură Hexagonală/Clean și granițe
  • Pattern-uri de dependency injection și managementul configurației

Modularitate și reutilizare

  • Proiectarea codului de bibliotecă vs codul de aplicație
  • API-uri, interfețe stabile și versionare semantică
  • Gestionarea configurației, a secretelor și a setărilor specifice mediului

Ziua 3 — Concurență, Async IO și performanță

Concurență și paralelism

  • Fundamentele threading-ului și implicațiile GIL
  • Multiprocessing și pool-uri de procese pentru sarcini CPU-bound
  • Când să folosești concurrent.futures vs multiprocessing

Programare asincronă cu asyncio

  • Pattern-uri async/await, event loop și anulare
  • Proiectarea bibliotecilor async și interoperabilitatea cu codul sincron
  • Pattern-uri IO-bound, backpressure și rate limiting

Profiling și optimizare

  • Instrumente de profiling: cProfile, pyinstrument, perf, memory_profiler
  • Optimizarea căilor critice și utilizarea extensiilor C/Numba acolo unde este potrivit
  • Măsurarea latenței, throughput-ului și utilizării resurselor

Ziua 4 — Testare, CI/CD, observabilitate și deployment

Strategii de testare și automatizare

  • Unit testing și fixtures cu pytest; organizarea testelor
  • Property-based testing cu Hypothesis și contract testing
  • Mocking, monkeypatching și testarea codului asincron

CI/CD, release și monitorizare

  • Integrarea testelor și a quality gates în GitHub Actions/GitLab CI
  • Construirea de containere reproductibile cu Docker și multi-stage builds
  • Observabilitatea aplicațiilor: structured logging, metrici Prometheus și tracing

Securitate, hardening și bune practici

  • Auditarea dependențelor, noțiuni de bază SBOM și scanarea vulnerabilităților
  • Practici de codare sigură pentru validarea inputului și managementul secretelor
  • Hardening la runtime: limite de resurse, drepturi de utilizator și securitatea containerelor

Proiect final și recapitulare

  • Laborator în echipă: proiectează și implementează un serviciu mic folosind pattern-urile din curs
  • Testare, type-checking, packaging și pipeline CI pentru proiect
  • Recapitulare finală, code critique și plan de îmbunătățire acționabil

Rezumat și pașii următori

Cerințe

  • Experiență solidă de programare Python la nivel intermediar
  • Familiaritate cu programarea orientată pe obiecte și testare de bază
  • Experiență în utilizarea liniei de comandă și a Git

Public țintă

  • Dezvoltatori Python seniori
  • Ingineri software responsabili de calitatea codului Python și de arhitectură
  • Lideri tehnici și ingineri MLOps/DevOps care lucrează cu codebase-uri Python

Numărul de participanți


Pret per participant

Mărturii (2)

Cursuri viitoare

Categorii înrudite