El mundo es un caos y aunque de pequeños no lo veamos así, con el tiempo uno se da cuenta de muchas cosas, por ejemplo que los papás tampoco saben muy bien lo que hacen, o que nuestros maestros también tienen sentimientos y si lloraron en clase probablemente la estaban pasando mal, pero sobre todo, que el código no va a correr a la primera.
😕 😕 😕
Durante las dos semanas anteriores estuve trabajando ... sobre trabajando con un script para hacer un backup de los archivos en las cuentas de OneDrive, la razón probablemente se las cuente en un futuro más lejano.
El punto es que después de 1 semana para mi ya estaba listo: solo había que extraer los archivos de la cuenta que iniciaría sesión por medio de OAUTH al Microsoft Graph API, sin embargo, las cosas no siempre son como uno las planea. Resultó que también tendría que obtener los archivos que se le compartieron al dueño de la cuenta (cosa que cuestioné durante la primer semana y se me había negado la necesidad de dicho requeriemiento).
Ahora, no quiero ser el buzón público de quejas por malas planeaciones, así que, antes que nada, les dejo el proyecto por si lo ocupan en algún punto o quieren tener una referencia: https://gitlab.com/opensource13/odbu
Continuando con la historia, el segundo problema al que me enfrenté fué que hice el desarrollo y las pruebas con una cuenta que tenía relativamente pocos documentos y, apesar de de que se pensé en concurrencia desde el inicio, dejé de lado el hecho de que las ligas de descarga que provee el api para un archivo, contienen un jwt que obviamente tiene una fecha de expiración.
Evidentemente, eso no afecta cuando la descarga se hace en unos minutos, sin embargo, la descarga real sería de varias horas o incluso días.
Creo que en situaciones así es cuando el programador le agradece a su yo del pasado por haber construido siguiendo patrones de diseño, ya que al tener una idea más clara de la responsabilidad que hace cada módulo o parte del código, estos cambios no tienen un impacto tan fuerte en tiempos y esfuerzo.
En los aprendizajes personales que me dejó la quincena pasada podría resumir:
- Definir desde un inicio cuál es el objetivo de cada módulo en tu proyecto.
- Considerar la expiración en los tokens para el api.
- Escuchar un poco más a mi intuición y voz interna en base a mi experiencia.
En fin, hasta aquí el relato de hoy. Si llegaste hasta acá espero que te sirva de algo mi experiencia y si te es útil el cliente, sientete libre de usarlo a tu convenviencia.
Obviamente y si está en mis posibilidades, también estoy abierto a ayudarte a resolver dudas.
Salu2.
Top comments (1)
Hola, un saludo :)
Te invito a cambiar una etiqueta a "Spanish" para que la comunidad en español pueda encontrar este post que es tu aprendizaje =)