Pycun #18

MeetUp #18 de Python en Cancún. Aprende de Python y tecnologías relacionadas.

welcome

Primer Charla: Patrón de diseño Builder a cargo de Samuel Chan

[12:56 p. m.] Samuel Chan

En esta presentación, exploramos el patrón de diseño Builder . Definimos el patrón como una forma de construir objetos complejos paso a paso, utilizando componentes clave como Interfaz Constructor, Constructor Concreto, Producto y Director. Destacamos las ventajas de su uso, como la separación clara de la construcción y la flexibilidad en la creación de objetos. Presentamos un ejemplo práctico de construir "Producto" y mencionamos casos de uso comunes, como documentos complejos y productos personalizados. Builder ofrece una solución modular y flexible. En conclusión, es una herramienta poderosa para el diseño de software. Su presentación la encuentras aquí: Patrones-De-Diseno/11 - Builder at main · pycun/Patrones-De-Diseno (github.com)

Segunda Charla: Introducción a AsyncIO a cargo de José Miguel

En esta charla realizamos nuestro primer encuentro con Asyncio para python.

Iniciamos mencionando algunos conceptos, los cuales fueron sincrono enfocado en la programación, asincrono que es un tipo de código, también mencionamos el concepto de concurrencia que es la simulación de lo simultaneo y el paralelismo que es la ejecución simultanea de una aplicación.

Después se explica brevemente asyncio, que es, para qué se puede utilizar, sus ventajas y desventajas,

Finalmente se muestra un ejemplo de un proyecto llamado pokemones, el cual muestra como podemos utilizar asyncio con peticiones a una api y poder reducir el tiempo de respuesta en esta api. La presentacion y el ejemplo la encuentras aqui: pycun/introducciones-a-asyncio (github.com)

Tercera charla: Gevent y Evenetlet a cargo de Fernando Pérez

En esta entrega, analizamos los dos pools de Celery: Gevent y Eventlet con la finalidad de determinar las semejanzas y diferencias que existen entre estos.Con este objetivo, logramos identificar que la principal diferencia radica en el event-loop. Ya que Gevent utiliza un event loop hecho en C llamado "libev", mientras que Eventlet utiliza su propio event loop hecho en Python puro.

Además, comparten ciertas características, las cuales destacan:

  • Gevent y Eventlet son excelentes para procesos de I/O bound.
  • Gevent y Eventlet trabajan sobre un solo hilo de ejecución y utilizan Greenlets para la concurrencia.

Puedes consultar la presentación y el ejemplo en el siguiente enlace pycun/gevent-vs-eventlet