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
Mărturii (5)
Numărul de utilizatori este corect. Trainerul a prezentat informațiile cu entuziasm.
Alberto Rivas - SEG AUTOMOTIVE SPAIN, S.A.U.
Curs - Python Programming - 4 days
Tradus de catre o masina
Faptul că există mai multe exerciții practice care folosesc date mai similare cu cele pe care le utilizăm în proiectele noastre (imaginea satelitării în format rastersc)
Matthieu - CS Group
Curs - Scaling Data Analysis with Python and Dask
Tradus de catre o masina
Am considerat că instrunctorul a fost foarte bine informat și a răspuns la întrebări cu încredere pentru a clarifica înțelegerea.
Jenna - TCMT
Curs - Machine Learning with Python – 2 Days
Tradus de catre o masina
Prepararea și expertiza excelente a instrucționarului, comunicare perfectă în limba engleză. Cursul a fost practic (exerciții + împărtășirea exemplelor de cazuri de utilizare)
Monika - Procter & Gamble Polska Sp. z o.o.
Curs - Developing APIs with Python and FastAPI
Tradus de catre o masina
Explicația
Wei Yang Teo - Ministry of Defence, Singapore
Curs - Machine Learning with Python – 4 Days
Tradus de catre o masina