Contattataci
 Durata 28 ore

Struttura del corso

Giorno 1 — Fondamenti Robusti di Python e Strumenti

Funzionalità Moderne di Python e Typing

  • Basi del typing, generics, Protocol e TypeGuard
  • Dataclass, frozen dataclass e panoramica su attrs
  • Pattern matching (PEP 634+) e uso idiomatico

Qualità del Codice e Strumenti

  • Formattatori e linter: black, isort, flake8, ruff
  • Type checking statico con MyPy e pyright
  • Pre-commit hooks e workflow per gli sviluppatori

Gestione dei Progetti e Packaging

  • Gestione delle dipendenze con Poetry e ambienti virtuali
  • Struttura dei pacchetti, entry points e migliori pratiche per le versioni
  • Creazione e pubblicazione dei pacchetti su PyPI e registri privati

Giorno 2 — Design Pattern e Pratiche Architetturali

Design Pattern in Python

  • Pattern creativi: Factory, Builder, Singleton (varianti Pythonic)
  • Pattern strutturali: Adapter, Facade, Decorator, Proxy
  • Pattern comportamentali: Strategy, Observer, Command

Principi Architetturali

  • Principi SOLID applicati alle codebase Python
  • Architettura esagonale/clean e confini
  • Pattern di iniezione delle dipendenze e gestione della configurazione

Modularità e Riutilizzo

  • Progettazione di codice per librerie rispetto alle applicazioni
  • API, interfacce stabili e versionamento semantico
  • Gestione della configurazione, dei segreti e delle impostazioni specifiche per ambiente

Giorno 3 — Concorrenza, IO Asincrona e Prestazioni

Concorrenza e Parallelismo

  • Fondamenti del threading e implicazioni del GIL
  • Multiprocessing e pool di processi per task CPU-bound
  • Quando utilizzare concurrent.futures rispetto a multiprocessing

Programmazione Asincrona con asyncio

  • Pattern async/await, event loop e cancellazione
  • Progettazione di librerie asincrone e interoperabilità con il codice sincrono
  • Pattern IO-bound, backpressure e rate limiting

Profiling e Ottimizzazione

  • Strumenti di profiling: cProfile, pyinstrument, perf, memory_profiler
  • Ottimizzazione dei percorsi caldi e uso di estensioni C/Numba dove appropriato
  • Misurazione della latenza, del throughput e dell'utilizzo delle risorse

Giorno 4 — Testing, CI/CD, Osservabilità e Deployment

Strategie di Testing e Automazione

  • Test unitari e fixture con pytest; organizzazione dei test
  • Property-based testing con Hypothesis e test contrattuali
  • Mocking, monkeypatching e test del codice asincrono

CI/CD, Release e Monitoraggio

  • Integrazione di test e gate di qualità in GitHub Actions/GitLab CI
  • Creazione di contenitori riproducibili con Docker e build multi-stage
  • Osservabilità delle applicazioni: log strutturati, metriche Prometheus e tracing

Sicurezza, Rafforzamento e Migliori Pratiche

  • Verifica delle dipendenze, basi degli SBOM e scansione delle vulnerabilità
  • Pratiche di coding sicure per la validazione degli input e la gestione dei segreti
  • Rafforzamento del runtime: limiti delle risorse, diritti utente e sicurezza dei contenitori

Progetto Capstone e Revisione

  • Laboratorio di squadra: progettazione e implementazione di un piccolo servizio utilizzando i pattern del corso
  • Test, type-checking, packaging e pipeline CI per il progetto
  • Revisione finale, critica del codice e piano di miglioramento attuabile

Riepilogo e Prossimi Passi

Requisiti

  • Solida esperienza di programmazione Python di livello intermedio
  • Familiarità con la programmazione orientata agli oggetti e il testing di base
  • Esperienza nell'uso della riga di comando e Git

Pubblico

  • Sviluppatori Python senior
  • Ingegneri del software responsabili della qualità del codice e dell'architettura Python
  • Lead tecnici e ingegneri MLOps/DevOps che lavorano con codebase Python

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative