Este curso está diseñado para desarrolladores Python que desean dominar las técnicas avanzadas de desarrollo web. Aprenderás a construir aplicaciones web escalables y eficientes utilizando los frameworks más populares, Flask y Django.
Emagister S.L. (responsable) tratará tus datos personales con la finalidad de gestionar el envío de solicitudes de información y comunicaciones promocionales de formación con tu consentimiento. Ejerce tus derechos de acceso, supresión, rectificación, limitación, portabilidad y otros, según se indica en nuestra política de privacidad.
Objetivos
Dominar los frameworks Flask y Django: Aprender a construir aplicaciones web completas utilizando estos poderosos frameworks. Crear APIs RESTful eficientes: Diseñar y desarrollar interfaces de programación de aplicaciones robustas y escalables. Optimizar el rendimiento de aplicaciones Python: Identificar y solucionar cuellos de botella en el código para mejorar la velocidad y eficiencia. Implementar buenas prácticas de desarrollo: Adquirir habilidades en testing, depuración, y refactorización de código para crear aplicaciones de alta calidad. Desplegar aplicaciones en producción: Configurar servidores y entornos de producción para garantizar la disponibilidad y escalabilidad de las aplicaciones.
A quién va dirigido
Desarrolladores Web Ingenieros de Software Analistas de Datos Administradores de Sistemas Emprendedores Tecnológicos Estudiantes de Tecnología Consultores IT Cualquier persona interesada
Requisitos
-Desempleados -Trabajadores y autónomos de: 47.91 Comercio al por menor por correspondencia o Internet 82.20 Actividades de los centros de llamadas 74.90 Otras actividades profesionales, científicas y técnicas n.c.o.p. 86.22 Actividades de medicina especializada 86.90 Otras actividades sanitarias 69.10 Actividades jurídicas 74.90 Otras actividades profesionales, científicas y técnicas n.c.o.p. 69.20 Actividades de contabilidad, teneduría de libros, auditoría y asesoría fiscal 58.21 Edición de videojuegos 58.29 Edición de otros programas informáticos 62.01 Actividades de programación informática 62.02 Actividades de consultoría informática 62.03 Gestión de recursos informáticos 62.09 Otros servicios relacionados con las tecnologías de la información y la informática 63.11 Proceso de datos, hosting y actividades relacionadas 63.12 Portales web 70.22 Otras actividades de consultoría de gestión empresarial 73.20 Estudios de mercado y realización de encuestas de opinión pública 78.10 Actividades de las agencias de colocación 74.10 Actividades de diseño especializado 71.11 Servicios técnicos de arquitectura 71.12 Servicios técnicos de ingeniería y otras actividades relacionadas con el asesoramiento 78.10 Actividades de las agencias de colocación 78.20 Actividades de las empresas trabajo temporal 78.30 Otra provisión de recursos humanos 72.19 Otra investigación y desarrollo experimental en ciencias naturales y técnicas 72.20 Investigación y desarrollo experimental en ciencias sociales y humanidades 72.11 Investigación y desarrollo experimental n biotecnología 70.21 Relaciones públicas y comunicación
Temario completo de este curso
Módulo 1: Fundamentos Avanzados de Python
•
1.1. Repaso de conceptos fundamentales
o Revisión rápida de sintaxis y control de flujo
o Estructuras de datos avanzadas: listas por comprensión, tuplas y diccionarios anidados
•
1.2. Decoradores y metaprogramación
o Introducción a los decoradores en Python
o Aplicaciones prácticas en frameworks (ej. Flask y su sistema de enrutamiento)
o Decoradores anidados y aplicación en métodos de clases
•
1.3. Generadores y funciones avanzadas
o Uso de yield y generadores
o Funciones de orden superior (map, filter, reduce)
Módulo 2: Flask - Desarrollo Web con Python
•
2.1. Introducción a Flask
o Instalación y configuración básica de Flask
o Creación de aplicaciones simples
o Decoradores en Flask para el manejo de rutas (@app.route)
•
2.2. Aplicaciones web en Flask
o Manejo de formularios y solicitudes HTTP
o Templates con Jinja2
o Gestión de sesiones y cookies
•
2.3. APIs REST con Flask
o Creación de APIs con Flask
o Uso de Flask-RESTful para servicios web
o Manejo de errores y respuestas personalizadas
•
2.4. Autenticación y seguridad
o Implementación de autenticación con Flask-Login
o Seguridad y protección CSRF
Módulo 3: Django - Desarrollo Web Escalable
•
3.1. Introducción a Django
o Instalación y configuración inicial de Django
o Arquitectura de proyectos Django
o Creación de vistas y rutas con el patrón MVC
•
3.2. Modelos y bases de datos en Django
o ORM (Object-Relational Mapping) de Django
o Migraciones y gestión de bases de datos
o Creación de relaciones entre modelos (uno a uno, uno a muchos, muchos a muchos)
•
3.3. Autenticación y permisos en Django
o Sistema de autenticación integrado
o Manejo de permisos y roles de usuario
•
3.4. Django REST Framework
o Creación de APIs RESTful con Django REST Framework (DRF)
o Serialización de datos y validaciones
Módulo 4: Manejo de Bases de Datos
•
4.1. SQL en Python
o Conexión y gestión de bases de datos con sqlite3 y psycopg2
o Consultas avanzadas con SQL y ORM
•
4.2. Integración de bases de datos en Flask y Django
o Configuración de bases de datos en Flask y SQLAlchemy
o Configuración de bases de datos en Django y su ORM
o Migraciones y manejo de esquemas
Módulo 5: Testing y Depuración en Aplicaciones Web
•
5.1. Pruebas unitarias y de integración en Flask
o Introducción a unittest y pytest
o Pruebas de rutas y controladores en Flask
•
5.2. Testing en Django
o Uso del sistema de pruebas integrado de Django
o Creación de pruebas para modelos, vistas y APIs
•
5.3. Depuración de aplicaciones
o Uso de herramientas de depuración (pdb, logs)
o Profiling de rendimiento en aplicaciones web
Módulo 6: Buenas Prácticas y Optimización en Python
•
6.1. Código limpio y buenas prácticas
o PEP 8: Guía de estilo de código Python
o Refactorización y modularización del código
•
6.2. Optimización de rendimiento
o Uso eficiente de recursos (memoria, procesamiento)
o Optimización de consultas en el ORM
•
6.3. Gestión de dependencias y entornos
o Uso de virtualenv y pipenv
o Gestión de dependencias con requirements.txt
Módulo 7: Despliegue y Administración de Aplicaciones
•
7.1. Despliegue de aplicaciones Flask
o Despliegue en servidores con Gunicorn y Nginx
o Despliegue en plataformas en la nube (Heroku, AWS)
•
7.2. Despliegue de aplicaciones Django
o Configuración de servidores de producción
o Uso de Docker para contenedores
•
7.3. Contenedores y orquestación
o Introducción a Docker y Docker Compose
o Orquestación de múltiples servicios para aplicaciones distribuidas