Schița de curs

Ziua 1 — Baze Solide Python și Instrumente

Caracteristici Moderne ale Python și Tipizare

  • Bazele tipizării, generice, Protocoale și TypeGuard
  • Dataclasses, dataclasses înghețate și prezentare generală a attrs
  • Potrivirea modelelor (PEP 634+) și utilizarea idiomatică

Calitatea Codului și Instrumente

  • Formatatoare de cod și lintere: black, isort, flake8, ruff
  • Verificare statică a tipurilor cu MyPy și pyright
  • Hook-uri pre-commit și fluxuri de lucru pentru dezvoltatori

Managementul Proiectelor și Împachetarea

  • Gestionarea dependențelor cu Poetry și medii virtuale
  • Structura pachetelor, puncte de intrare și bune practici de versionare
  • Construirea și publicarea pachetelor pe PyPI și registre private

Ziua 2 — Modele de Proiectare și Practici Arhitecturale

Modele de Proiectare în Python

  • Modele creaționale: Factory, Builder, Singleton (variante Pythonice)
  • Modele structurale: Adapter, Fațadă, Decorator, Proxy
  • Modele comportamentale: Strategie, Observer, Comandă

Principii Arhitecturale

  • Principiile SOLID aplicate pe baze de cod Python
  • Arhitectura Hexagonală/Curată și limite
  • Modele de injecție a dependențelor și gestionarea configurației

Modularitate și Reutilizare

  • Proiectarea codului de bibliotecă vs aplicație
  • API-uri, interfețe stabile și versionare semantică
  • Gestionarea configurației, secretelor și 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 legate de CPU
  • Când să folosești concurrent.futures vs multiprocessing

Programare Asincronă cu asyncio

  • Modele async/await, bucla de evenimente și anulare
  • Proiectarea bibliotecilor asincrone și interoperabilitatea cu codul sincron
  • Modele legate de IO, backpressure și limitarea ratei

Profilare și Optimizare

  • Instrumente de profilare: cProfile, pyinstrument, perf, memory_profiler
  • Optimizarea căilor calde și utilizarea C-extensions/Numba acolo unde este potrivit
  • Măsurarea latenței, a debitului și a utilizării resurselor

Ziua 4 — Testare, CI/CD, Observabilitate și Implementare

Strategii de Testare și Automatizare

  • Testare unitară și fixture-uri cu pytest; organizarea testelor
  • Testare bazată pe proprietăți cu Hypothesis și testare de contracte
  • Mocking, monkeypatching și testarea codului asincron

CI/CD, Lansare și Monitorizare

  • Integrarea testelor și a porților de calitate în GitHub Actions/GitLab CI
  • Construirea de containere reproductibile cu Docker și build-uri multi-etape
  • Observabilitatea aplicațiilor: logging structurat, metrici Prometheus și tracing

Securitate, Întărire și Bune Practici

  • Auditarea dependențelor, noțiuni de bază SBOM și scanarea vulnerabilităților
  • Practici de codare sigură pentru validarea intrărilor și gestionarea secretelor
  • Întărirea runtime-ului: limite de resurse, drepturi de utilizator și securitatea containerelor

Proiect Capitol și Recenzie

  • Laborator de echipă: proiectați și implementați un mic serviciu folosind modele din curs
  • Testare, verificare tip, împachetare și pipeline CI pentru proiect
  • Recenzie finală, analiză cod și plan de îmbunătățire acționabil

Rezumat și Pași Următori

Cerințe

  • Experiență solidă de programare Python la nivel intermediar
  • Cunoașterea programării orientate pe obiect și a testării de bază
  • Experiență în utilizarea liniei de comandă și a Git

Publicul țintă

  • Dezvoltatori senior Python
  • Ingineri de software responsabili de calitatea și arhitectura codului Python
  • Responsabili tehnici și ingineri MLOps/DevOps care lucrează cu baze de cod Python
 28 Ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite