Primera Charla: ASYNCIO con Raymundo Ortega Flores
En esta charla introductoria, Raymundo explicó los conceptos fundamentales de la programación asíncrona en Python, destacando cómo asyncio permite escribir código concurrente de forma más eficiente y legible. A través de ejemplos prácticos, demostró cómo usar async, await, y el event loop para mejorar el rendimiento en tareas de I/O intensivo, como llamadas a APIs o consultas a bases de datos.
La sesión permitió a los asistentes comprender cuándo y por qué utilizar asyncio, aclarando diferencias clave entre concurrencia, paralelismo y asincronía. También se abordaron buenas prácticas para evitar errores comunes y cómo estructurar correctamente un proyecto que utilice este enfoque.

Segunda charla: Django Channels con Luis Salgado
En esta charla, Luis Salgado abordó el cierre del tema Django Channels, profundizando en cómo implementar comunicación en tiempo real en aplicaciones Django utilizando WebSockets. Explicó la arquitectura interna de Channels y cómo se integra con el sistema tradicional de vistas de Django mediante consumers, routing y ASGI.
Durante la sesión se exploraron ejemplos aplicados a casos de uso como notificaciones en vivo, chats en tiempo real y actualización dinámica de interfaces. Luis también compartió recomendaciones sobre escalabilidad, manejo de errores y la configuración adecuada del entorno de producción para proyectos que utilicen Channels.

Tercera charla: contextvars vs threading.local() con Miguel Angel Ortega Flores
Miguel explicó las diferencias entre contextvars y threading.local() para manejar datos locales al contexto en Python. Mostró cómo contextvars es más adecuado para entornos asíncronos como asyncio, ya que evita errores comunes al cambiar de tareas, mientras que threading.local() es útil en aplicaciones multihilo. La charla incluyó ejemplos claros y recomendaciones prácticas para elegir la opción correcta según el tipo de aplicación.
