Skip to content

Instantly share code, notes, and snippets.

View rctorr's full-sized avatar
🐧
Aprendiendo y compartiendo!

rctorr rctorr

🐧
Aprendiendo y compartiendo!
View GitHub Profile
@rctorr
rctorr / gist:92001519903d01564f4814db664c95b3
Created March 8, 2024 15:34
Realizando múltiples peticiones a una API usando async y aiohttp con una sóla sesión de conexión
"""
Realizando múltiples peticiones a una API usando conexiones concurrentes.
Inicialmente se había usando le módulo requests y funciones async pero como
el módulo requests no permite llamadas asíncronas bloquea las funciones
asíncronas de Python y termina siendo secuencial.
Se remplaza el módulo resquests por aiohttp y se usa el módulo asyncio para
el manejo de la cola de tareas por ejecutar.
@rctorr
rctorr / async-aiohttp-1.py
Created March 5, 2024 00:34
Realizando múltiples peticiones a una API usando conexiones concurrentes.
"""
Realizando múltiples peticiones a una API usando conexiones concurrentes.
Inicialmente se había usando le módulo requests y funciones async pero como
el módulo requests no permite llamadas asíncronas bloquea las funciones
asíncronas de Python y termina siendo secuencual.
Se remplaza el módulo resquests por aiohttp y se usa el módulo asyncio para
el manejo de la cola de tareas por ejecutar.
@rctorr
rctorr / prueba-2.py
Created March 2, 2024 11:33
Comparando diferentes formas de optimizar realizar operaciones a una lista de elementos incluyendo multiprocesos
# Ejemplo ejecutando una función con argumentos en otro proceso
from time import sleep, time
from multiprocessing import Process, Pool
import pandas as pd
def tarea(n):
""" Tarea a realizar a cada elemento"""
sleep(0) # Con algún tiempo de espera
return (n*3.5)**(0.5) # Algunas operaciones
@rctorr
rctorr / main-dia-5.py
Created February 10, 2024 00:02
Reto del día viernes
# Reto 5 | Código Facilito
"""
Listo, llegamos al reto número 5 de la semana. Nuestro programa ya
funciona sumamente bien. Ya podemos crear, listar y editar usarios.
Sin embargo, muy probablemente el código que tengamos hasta ahora pueda
mejorar significativamente, es por ello que, para el reto de hoy vamos a
definir 5 nuevas funciones; esto con la finalidad de poder separar nuestro
código y que este sea fácil de leer, comprender y sobre todo mantener.
@rctorr
rctorr / main-dia-4.py
Created February 9, 2024 05:33
Reto del día jueves
# Reto 4 | Código Facilito
"""
Ya nos encontramos en la recta final de nuestra semana, y lo que haremos
ahora, cómo ya es costumbre, será añadir más funcionalidades a nuestro
programa.
Puntualmente 4 nuevas funcionalidades. Aquí van.
1.- Ahora todos los valores que representan a un usuario: Nombre,
@rctorr
rctorr / reto3.py
Last active February 8, 2024 03:13 — forked from SPericich/reto3.py
print("-------")
print("REGISTRO DE USUARIOS")
print("-------")
mas_regs = True # Usamos booleanos para banderas en lugar cadenas "S"
# También asginamos un nombre descriptivo a la bandera
registers = [] # Sólo se necesita una lista para acumular todos los regs.
id_user = 1 # Esto indica el id del usuario en turno y también la
# cantidad de usuarios totales, al final claro está!
@rctorr
rctorr / main-dia-3.py
Created February 7, 2024 18:32
Reto del día miércoles
# Reto 3 | Código Facilito
"""
Para este tercer reto lo que haremos será añadir 2 nuevas funcionalidades
a nuestro programa de registro de usuarios.
Estas funcionalidades son las siguientes
1.- Siempre que se registre un nuevo usuario de forma exitosa generaremos
un identificador único para este registro/usuario. Te recomiendo sea
@rctorr
rctorr / main-dia-2.py
Created February 6, 2024 19:20
Reto del día martes
# Reto 1 | Código Facilito
"""
Para este segundo reto de la semana tu objetivo será incrementar el
funcionamiento del programa del día de ayer. Si recordamos, ayer
construimos un programa en Python capaz de registrar un nuevo usuario
en el sistema. Pues bien, continuando con el proyecto, el reto de hoy
será que podremos registrar un N cantidad de nuevos usuarios.
Para esto el programa deberá preguntar cuando nuevos usuarios se
@rctorr
rctorr / main-dia-1.py
Created February 6, 2024 18:12
Reto del día lunes
# Reto 1 | Código Facilito
"""
Para este primer reto de la semana, tu objetivo será poder crear un
programa en Python el cual permita registrar a un usuario en el sistema.
El programa deberá pedir a nuestro usuario final ingrese su
siguiente información.
- Nombre(s)
- Apellidos
@rctorr
rctorr / main.py
Last active January 10, 2023 19:38 — forked from SyNeto/main.py
Generic Types Python
"""
Los cambios realizados en ésta versión están más enfocados en mostrar como
trabajan las tareas concurrentes usando funciones asincronas que el tema de
tipos.
Así que se modificó el código para realizar dos tareas concurrentes, una
durando 10 segundos que se lanza antes y una durando 3 seg que se lanza
después y entonces se observa como las funciones asincronas son no bloqueantes
(claro si fueron diseñadas de esa forma) por lo que entonces la tarea de 3 seg
termina antes que la lanzada de 10 seg.