Intrati in legatura

Schița de curs

Ziua 1 — Fundamente Robuste și Instrumente Python

Caracteristici Moderne ale Python și Tipizare

  • Bazele tipizării, generice, Protocoale și TypeGuard
  • Clase de date, clase de date înghețate și prezentare generală a attrs
  • Potrivirea modelelor (PEP 634+) și utilizare idiomatică

Calitatea Codului și Instrumente

  • Formatare și analiză a codului: black, isort, flake8, ruff
  • Verificarea statică a tipurilor cu MyPy și pyright
  • Hook-uri pre-commit și fluxuri de lucru ale dezvoltatorilor

Managementul Proiectelor și Ambalare

  • Gestionarea dependențelor cu Poetry și medii virtuale
  • Layoutul pachetelor, punctele de intrare și bunele practici de versionare
  • Construirea și publicarea pachetelor pe PyPI și registre private

Ziua 2 — Modele de Proiectare și Practici de Arhitectură

Modele de Proiectare în Python

  • Modele de creare: Fabrica, Constructor, Singleton (variante Pythonice)
  • Modele structurale: Adaptor, Fațadă, Decorator, Proxy
  • Modele comportamentale: Strategie, Observer, Comandă

Principii de Arhitectură

  • Principiile SOLID aplicate bazelor 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 thread-urilor și implicațiile GIL
  • Multiprocessing și pool-uri de procese pentru sarcini legate de CPU
  • Când să folosiți concurrent.futures vs multiprocessing

Programare Async cu asyncio

  • Modele async/await, bucla de evenimente și anulare
  • Proiectarea bibliotecilor async ș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 fierbinți și utilizarea extensiilor C/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 contract
  • 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 containerelor reproducibile cu Docker și build-uri multi-etape
  • Observabilitatea aplicațiilor: jurnalizare structurată, metrici Prometheus și tracing

Securitate, Consolidare și Bune Practici

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

Proiect Capstone & Recenzie

  • Laborator de echipă: proiectați și implementați un mic serviciu folosind modele din curs
  • Testare, verificare tip, ambalare și pipeline CI pentru proiect
  • Recenzie finală, critică a codului și plan de îmbunătățiri acționabil

Rezumat și Pași Următori

Cerințe

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

Publicul țintă

  • Dezvoltatori Python seniori
  • 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 (2)

Cursuri viitoare

Categorii înrudite