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)
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
Instrucționistul dezvoltă instruirea în funcție de ritmul participanților
Farris Chua
Curs - Data Analysis in Python using Pandas and Numpy
Tradus de catre o masina