Intrati in legatura
 Durata 28 ore

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

Numărul de participanți


Pret per participant

Mărturii (2)

Cursuri viitoare

Categorii înrudite