Solicitar información

Temario del curso

Día 1 — Fundamentos robustos de Python y herramientas asociadas

Funcionalidades modernas de Python y tipado estático

  • Conceptos básicos del tipado, genéricos, Protocolos y TypeGuard.
  • Clases de datos, clases de datos inmutables y una introducción a attrs.
  • Coincidencia de patrones (PEP 634+) y uso idiomático en el código.

Calidad del código y herramientas asociadas

  • Formateadores y linters: black, isort, flake8, ruff.
  • Verificación estática de tipos con MyPy y pyright.
  • Utilización de hooks pre-commit y mejora del flujo de trabajo del desarrollador.

Gestión de proyectos y empaquetado

  • Administración de dependencias con Poetry y entornos virtuales.
  • Buenas prácticas en la estructura de paquetes, puntos de entrada y control de versiones.
  • Creación y publicación de paquetes en PyPI y registros privados.

Día 2 — Patrones de diseño y buenas prácticas arquitectónicas

Patrones de diseño aplicados a Python

  • Patrones de creación: Factory, Builder, Singleton (versiones Pythonicas).
  • Patrones estructurales: Adapter, Facade, Decorator, Proxy.
  • Patrones comportamentales: Strategy, Observer, Command.

Principios arquitectónicos fundamentales

  • Aplicación de los principios SOLID en proyectos desarrollados en Python.
  • Arquitectura limpia y hexagonal, junto con sus límites lógicos.
  • Técnicas para la inyección de dependencias y gestión de configuraciones.

Modularidad y reutilización del código

  • Diferenciación entre diseño de librerías y de aplicaciones.
  • Creación de APIs estables, interfaces bien definidas y control de versiones semántico.
  • Manejo eficiente de configuraciones, claves secretas y ajustes específicos por entorno.

Día 3 — Concurrencia, programación asíncrona y optimización del rendimiento

Concurrencia y paralelismo en Python

  • Conceptos básicos sobre el uso de hilos y las implicaciones del GIL.
  • Utilización del módulo multiprocessing para tareas con alta carga computacional.
  • Selección adecuada entre concurrent.futures y multiprocessing según el escenario.

Programación asíncrona mediante asyncio

  • Patrones de async/await, bucle de eventos y manejo de cancelaciones.
  • Diseño de librerías asíncronas y operatividad conjunta con código sincrónico.
  • Manejo de operaciones de E/S, control del flujo y limitación de solicitudes.

Profilado y optimización del rendimiento

  • Herramientas de perfilado: cProfile, pyinstrument, perf y memory_profiler.
  • Técnicas para mejorar las partes críticas del código, así como uso de extensiones en C o Numba cuando procede.
  • Medición precisa de latencia, rendimiento y utilización de recursos.

Día 4 — Pruebas automatizadas, CI/CD, observabilidad y despliegue

Estrategias eficaces para pruebas y automatización

  • Desarrollo de pruebas unitarias con pytest; organización adecuada del código de prueba.
  • Pruebas basadas en propiedades mediante Hypothesis y validación por contrato.
  • Técnicas para simulaciones, redefiniciones dinámicas y verificación del código asíncrono.

Integradores CI/CD, lanzamiento de versiones y monitoreo continuo

  • Integración fluida de pruebas y filtros de calidad en GitHub Actions o GitLab CI.
  • Construcción de contenedores reproducibles gracias a Docker y técnicas de empaquetado multi-etapa.
  • Sistema de observabilidad: registros estructurados, métricas mediante Prometheus y trazado de operaciones.

Seguridad, refuerzo del código y buenas prácticas generales

  • Auditoría de dependencias, creación de listados SBOM y detección proactiva de vulnerabilidades.
  • Prácticas recomendadas en programación segura: validación de entradas y gestión adecuada de claves secretas.
  • Técnicas para reforzar la ejecución del programa: limites de recursos, restricciones de permisos y medidas de protección en contenedores.

Proyecto final y evaluación integral

  • Trabajo grupal: diseño e implementación de un servicio pequeño utilizando los patrones y técnicas aprendidos.
  • Elaboración del código, verificación con tipado estático, empaquetado e integración en pipelines de CI.
  • Evaluación final, análisis crítico del código y elaboración conjunta de un plan de mejora práctico.

Resumen del curso y próximos pasos recomendados

Requerimientos

  • Experiencia sólida en programación con Python a nivel intermedio.
  • Conocimientos básicos sobre programación orientada a objetos y técnicas de pruebas.
  • Experiencia en el uso de la línea de comandos y Git.

Público objetivo

  • Desarrolladores senior de Python.
  • Ingenieros de software responsables de la calidad y arquitectura del código en Python.
  • Líderes técnicos e ingenieros DevOps o MLOps que trabajan con proyectos basados en Python.
 28 Horas

Formación Corporativa a Medida

Soluciones de formación diseñadas exclusivamente para empresas.

  • Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
  • Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
  • Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Inversión

Precio por grupo privado (formación online) desde 5800 € + IVA*

Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales

Reseñas (2)

Próximos cursos

Categorías Relacionadas