« first day (1388 days earlier)      last day (90 days later) » 

5:43 AM
@fredyfx Orez Pui si ceapa? hehe que ese platillo se ve muy bueno, es arroz con pollo?
 
@MauricioContreras aqui estoy, no esta decierto
 
 
5 hours later…
11:00 AM
Buenas tardes a todos los que estén conectados por estos lares.
 
 
3 hours later…
1:57 PM
@MauricioContreras Buenas tardes.
 
@ArtEze Hola
 
@MauricioContreras holaaaaaaaaaaa
 
@hubman Hola, cómo vamos?
@hubman Tengo un helper para evitar usar bcrypt en los proyectos, antes lo tenía todo desordenado, pero me puse a escribir algo que se pudiese usar como un módulo en NodeJS
@hubman Sabes algo de test unitarios en Node?, debo hacerle unos test a mi función middleware
@hubman de ahora en adelante usaré mi módulo para tema de hash en contraseñas, así no tengo que depender de bcrypt y su pesada paquetería de dependencias
 
@MauricioContreras algo como tdd ?
 
buenas familia , como vamos ?
 
2:29 PM
@hubman unit tests
@josanangel hola
 
@MauricioContreras claro lo puedo hacer
 
@MauricioContreras Yo en Linux puse un acceso directo a un módulo en vez de copiar la carpeta y funciona, habría que ver si anda cuando pongo acceso directo de un node_modules dentro de otro node_modules.
 
@hubman te lo paso, pero falta documentarlo. Estoy en la calle ahora. Apenas llegue a casa y pueda lo subo a un repo y te doy acceso para que le hagas los tests
@ArtEze te refieres a crear un simlink al módulo?
 
@MauricioContreras mejor tambien documentare todo lo que hiciste para aprender
 
@MauricioContreras Sí, me refiero a eso.
@MauricioContreras Poner la ruta en la variable PATH no funciona, no tengo otra manera.
 
2:41 PM
@ArtEze en particular la idea es reducir el uso de librerías o dependencias que sin querer vamos aumentando cuando creamos las apps con Node. Mucha gente tiende a guiarse por tutoriales de la web y resulta que tienden a instalar paquetes hasta para las tareas más absurdas.
 
@MauricioContreras Sí, entiendo, el tema es que tampoco quise copiar el módulo que programé porque si no, tendría que copiarlo en otro lado cada vez que lo edito.
 
@ArtEze por ejemplo: bcrypt. Es una librería para crear o derivar una llave hash a partir de un password. Su uso es muy popular y común. Pero dependes 100% de una implementación de un tercero.
 
@MauricioContreras Sí, lo bueno es que se puede ver el código fuente y editarlo, aunque cueste entender el código, pero se puede ir depurando.
 
@ArtEze sin embargo, NodeJS tiene una librería nativa llamada crypto la cual provee un método llamado scrypt que resulta en un hash más fuerte que el proporcionado por bcrypt.
@ArtEze lo que te sorprenderá del código fuente de bcrypt, es que el mismo está en lenguaje C
 
@MauricioContreras Una vez hice algo de encriptación en PHP porque la versión de PHP no soportaba zip con contraseña, sería un equivalente.
 
2:59 PM
@ArtEze a lo que voy. Instalar bcrypt, implica descargar algunas dependencias, compilar la fuente de C para crear los enlaces y poder consumir la API en el ambiente en que fue compilado, para eso se usa node-gyp, y luego usar menos del 10% de los métodos proporcionados por la librería. Suena ilógico y a la vez estúpido. Pero es lo que muchos hacen.
@ArtEze Node te provee crypto y sus métodos ya compilados de forma nativa cuando se instala Node. Cero dependencias y tienes todo lo que necesitas usar sin instalar bcrypt y su tonelada de métodos que no usarás nunca.
Entiendo la utilidad de algunas librerías, como Express por ejemplo. Su nombre practicamente indica todo. Es una forma expresa (rápida) de crear un servidor http de Node. Es un poco más amigable que trabajar directamente con la clase http de Node y además es bastante intuitivo. Puedo decir que Express es útil y necesario.
Pero hay algunas librerías, como por ejemplo lodash que realmente son lastre en cualquier aplicación. Una vez cree una app en la cual se usaba lodash únicamente para clonar un objeto JS. ¿Puedes creerlo? Una cantidad inútil de código sobrante en la librería, ya que lo único que se usaba era un método para clonar un objeto. :facepalm:
 
@MauricioContreras Podrían inventar algún programa que vaya reuniendo solo la parte necesaria del código en un módulo a parte. Creo que sería bastante complicado hacer eso. Como capturando los trazados del programa.
 
3:18 PM
@MauricioContreras me creia que tenia el git asociado a mi proyecto, pero por lo visot en linu es un poco mas complicado que linux
@MauricioContreras te pide un key que hay que opner en la cuenta de github y esas mierdas
@MauricioContreras a demas de que siempre que hago git teengo que hacer sudo git commit porque estoy en el /www , esas cosas tengo que ver como arreglarlas
 
@josanangel debes crear un grupo de usuarios y añadir tu usuario a dicho grupo. Luego das permisos de escritura a la carpeta /var/www/ a tu grupo de usuarios. Ahora estoy en la calle, pero al llegar a casa te explico cómo. Así no tendrás que hacer las cosas con sudo
 
@MauricioContreras eso estaba pensando, puedo meter mi cuenta personal dentro del grupo root ?
@MauricioContreras mi usuario me refiero
 
@josanangel nooo, creas un grupo y le das acceso a dicho grupo. Nunca añadas tu usuario directamente al grupo de root.
@ArtEze no lo sé, eso no suena muy eficiente. Imagina el tamaño de dicho módulo en una aplicación medio grande. XDD
@ArtEze además eso va en contra del principio de Single Responsibility. Imagina un módulo que tiene todo el código relevante. Mantener dicho módulo debe ser un infierno. Algo como los antiguos programas en B.A.S.I.C. XDDD
 
@MauricioContreras Sip, entiendo, sería un módulo pesado y difícil de mantener, tendría que descargar todos los módulos para corregir una actualización y volver a seccionarlos.
 
3:35 PM
@MauricioContreras una duda, el dir www pone por defecto que el owner es root y el group es root, me he creado un grupo llamado administradores el cual tendra acceso de todo tipo ahi, mi pregunta es: si cambio el grupo de /www/ de root a administradores no fastidia nada no? es decir, el root podra seguir haciendo todo no ?
 
@ArtEze pues eso. Lo que yo propongo es mas bien usar antes que nada lo que ya viene instalado y depender de menos paquetes externos o mantenerlos a un mínimo. Por ejemplo, para tests unitarios la mayoría instalará Mocha y Joi, cuando pueden escribir sus propios tests usando el assert nativo de Node. Creo que eso incluso hace que se entienda aún mejor el proceso y la lógica del programa o aplicación creada
@josanangel es que no vas a reemplazar el permiso, vas a conceder permiso
@josanangel ya recordé, lee esto: añadir usuario a www-data en Linux
 
@MauricioContreras perfecto , muchas gracias
@MauricioContreras voy a probarlo
@MauricioContreras ! [rejected] master - master ...
@MauricioContreras ya empezamos, voy a mirar que es eso
cd ..
oops
 
@MauricioContreras Sí, es mejor con pocas dependencias.
 
4:00 PM
@josanangel ¿Qué sucedió?
Por cierto, confundí la librería de assertions es Chai y no Joi, esta última es para validaciones.
 
 
5 hours later…
8:56 PM
Alguien que sepa sobre promesas en javascript, me pueden ayudar con esto
0
Q: UnHandledRejection ¿por que?

Rimuru Tempestespero estén bien. Recién me surgió un problema al implementar mis propias promesas con Firebase y me arroja el error "UnHandledRejection". Cree diferentes métodos para leer, guardar o modificar la base de datos en Firestore, el problema es la promesa que cree para el método guardar. Este es mi ...

 

« first day (1388 days earlier)      last day (90 days later) »