Schița de curs

Ziua 1 — Fundamente Robuste ale Python și Instrumentare

Caracteristici Moderne ale Python și Tipizare

  • Bazele tipizării, generice, Protocoale și TypeGuard
  • Dataclasses, dataclasses imutabile și prezentarea attrs
  • Corelarea modelării (PEP 634+) și utilizarea idiomatičă

Calitatea Codului și Instrumentare

  • Formatare cod și linteri: black, isort, flake8, ruff
  • Verificarea statică a tipurilor cu MyPy și pyright
  • Găncuri pre-commit și fluxuri de lucru ale dezvoltatorilor

Gestionarea Proiectelor și Pachetare

  • Gestionarea dependențelor cu Poetry și medii virtuale
  • Structura pachetului, puncte de intrare și practici de versiune
  • Construirea și publicarea pachetelor la PyPI și registre private

Ziua 2 — Modele de Design și Prințipi Arhitecturale

Modele de Design în Python

  • Modele creționiste: Factory, Builder, Singleton (variante Pythonice)
  • Modele structurale: Adapter, Facade, Decorator, Proxy
  • Modele comportamentale: Strategy, Observer, Command

Prințipi Arhitecturale

  • Principiile SOLID aplicate bazelor de cod Python
  • Arhitectura Hexagonală/Clean și limitele acesteia
  • Modele de injecție a dependențelor și gestionarea configurărilor

Modularitatea și Reutilizarea

  • Gestionarea codului bibliotecii vs. codului aplicației
  • API-uri, interfețe stabilizate și versiune semantice
  • Gestionarea configurărilor, secretelor și setărilor specifice mediilor

Ziua 3 — Concurența, Async IO și Performanța

Concurența și Paralelismul

  • Fundamentele threading și implicațiile GIL
  • Multiprocessing și pooluri de procese pentru sarcini CPU-bound
  • Când să folosiți concurrent.futures vs multiprocessing

Programarea Async cu asyncio

  • Patronele async/await, event loop și anulare
  • Gestionarea bibliotecilor asincrone și interoperaționalitatea cu codul sincron
  • Patrune IO-bound, backpressure și limitări ale ratelor

Profilare și Optimizare

  • Unelte de profilare: cProfile, pyinstrument, perf, memory_profiler
  • Optimizarea căilor calde și utilizarea extensiunilor C/Numba unde este potrivit
  • Măsurarea latentei, a debitului și a utilizării resurselor

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

Strategii de Testare și Automatizare

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

CI/CD, Eliberare și Monitorizare

  • Integrarea testelor și a poartelor de calitate în GitHub Actions/GitLab CI
  • Construirea containerelor reproductibile cu Docker și construcții multi-stagiu
  • Observabilitatea aplicațiilor: logging structurat, metricile Prometheus și trasee

Siguranță, Hardening și Practici de Bază

  • Auditarea dependențelor, noțiunile de SBOM și scanarea vulnerabilităților
  • Practici de codare securizată pentru validarea intrărilor și gestionarea secretelor
  • Hardening la timpul de rulare: limite de resurse, drepturi utilizator și siguranța containerelor

Proiect Capstone și Revizuire

  • Laborator de echipă: conceperea și implementarea unui serviciu mic folosind modele din curs
  • Testare, verificarea tipurilor, pachetare și pipeline CI pentru proiect
  • Revizuire finală, critica codului și plan de îmbunătățiri acțiune

Rezumat și Următorii Pași

Cerințe

  • Solidă experiență la nivel intermediar în programare Python
  • Cunoștințe în programarea orientată pe obiecte și testare de bază
  • Experiență cu linia de comandă și Git

Audientă

  • Dezvoltatori Python seniori
  • Ingineri software responsabili pentru calitatea codului Python și arhitectura
  • Lideri 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