Estoy viendo todos tus videos del curso de Node en paralelo con un curso que compré. En serio explicas muy bien. Ese tiempo que te tomas para explicar la teoría antes de ir a la práctica y las explicaciones del “porque" de lo que vas haciendo hacen la diferencia. Muchas gracias
Jose una clase genial. Para futuros videos podrias hablar como relizar sesiones con cookies, sessionStorage, jwt.... Las ventajas e inconvenientes de cada uno de ellos. Un saludo y gracias
Muchas gracias! En el siguiente hablaremos de cómo implementar una autenticación JWT desde el punto de vista del servidor, y más adelante veremos cómo tratarlo desde el front, con cookies, localStorage...
Jose muy buena la serie y todavía me falta un par de videos, que posibilidades hay de anexar valores y desde un front obtener una gráfica, tipo valores de un sensor. Estaria bueno. Sigue asi ameo.
Muy buen curso , lo estoy siguiendo al pie de la letra... Solo un detalle en lo de usar el mismo response para los correos que no existen como para las password incorrectas, es un buen dato, pero esto siempre se prodrá saber haciendo scrapping en la pagina de registro de la web.
Gracias por tu apunte Norbe, es algo que hemos comentado en directo muchas veces. Es una forma de ofuscarlo al menos en el inicio de sesión, aunque como bien indicas en el registro podrías saber si esa cuenta está registrada, o también por los tiempos de respuesta del login. No obstante, no es algo obligatorio ya que la seguridad no debe recaer en el ofuscamiento pero quería comentarlo como una pequeña medida adicional 😉
@@DesarrolloUtil Nunca pense en controlar los tiempos de login para determinar si esta o no registrada, aunque si usamos proxies que es lo normal, este tiempo variara segun el pais del proxy. Para mi la mejor medida que podemos encontrar es hacer un registro de eventos con el Javascript del explorador para k segun k eventos genere un token unico, el cual luego nuestro servidor verifique si es un token formado correctamente para dar o no acceso al login. Ya que el único lenguaje para aplicaciones de escritorio o consola, capaz de manejar JS es python, con el objeto request.session el cual renderiza el JS de la pagina... otros lenguajes como vb.net o c# no son capaces de hacerlo. Esto es algo parecido, aunque mucho menos complejo a lo que hace Akamai o shape... aunque recaptcha tambien ha implementado recientemente este metodo para determinar si quien esta completando el captcha , ya sea por identificacion de imagenes o por audio, es un robot (selenium)... Un placer seguirte, es el mejor curso de NodeJS que he visto por internet y te digo que he visto muchos, pero en ninguno profundizan como lo haces tu... eres un crack...enhorabuena
Jajaja antes la fuerza bruta molaba pero entre el tema de "usuario o contraseña no válido" para todo y quemar la IP a los 5 intentos muy seguidos, ya no es tan divertido. La explicación de los hashes fué espectacular, muchas gracias Jose 👍🏼
Muy buena la informacion Jose, espero que en algun punto de esta serie abordes el tema de recibir ficheros en el Servidor, (imagenes, canciones, videos, textos, pdf, etc) almacenarlos con algun tipo de arquitectura muy pro y manejarlos con algun metodo muy pro, jajaja o estoy exagerando con eso de "muy pro"?, bueno esuqe me imagino que ha de haber implementaciones muy profecinoales e inteligentes para almacenar, acceder y manejar esos tipos de ficheros (ya no te digo que trabajar con ellos porque eso ya es algo demasiado especifico). Saludos crack
Lo mismo exageraste un poco sí 😂. Lo abordaremos, por esa parte no hay problema. Pero como adelanto todo esto funciona como lo demás, con una solicitud HTTP. En el caso de archivos normalmente se utiliza el Content-Type multipart/form-data, un tipo especial para la subida de archivos de todo tipo. Y con una solicitud se sube, pero vamos no te preocupes que lo veremos 😄
@@DesarrolloUtil hahahaha si ya me sospechaba que estaba exagerando 😂, yo se hacerlo pero creo que es la manera mas basica que existe xD, y me pregunto, como le haran las compañias como instagram, amazon, netflix, YT, soundcloud, dropbox etc 🤔, pero bien, que cool que si abordaras ese tema en futuro videos 😁
interesante, el contenido , no entiendo en el tema de autorizacion , cuando pones el user jose, como sabe cual esta denotado como administrador, en la base de datos tienes esa id, o como lo establece, otra consulta el tema de autorizacion me serviria para dar acceso ejmplo en un curso de algun tema a paginas que solo los usuarios que paguen puedan acceder?
Para parsear el body de solicitudes que sean de tipo texto plano, es decir, que tengan en la cabecera content-type el valor text/plain. Habitualmente no se utiliza mucho, aquí está de ejemplo, ya que solemos utilizar el formato JSON
Buenas Héctor, muy buena pregunta porque no me había ni fijado. En mi caso aparece porque de otros proyectos con TS tengo los tipos de express, entonces aunque no use TypeScript me los detecta. Es la magia de TypeScript que aún sin usarlo te ayuda con el Intellisense 😂
@@Weagle1337 Los tengo en la carpeta global de npm, que es como si los instalaras con -g. Como recomendación si los quieres tener por comodidad en el Intellisense aunque no uses TS, puedes instalarlos normal como dependencia de desarrollo del proyecto(npm i -D @types/express) y en un futuro si te estorban pues los desinstalas. La verdad que es una pena que no haya otras formas, hay paquetes que traen los tipos dentro entonces aunque no uses TS el VSCode te los reconoce y es genial pero no es el caso xD
hola amigo, he estado siguiendo sus videos, y se que ya es bastante viejo, pero he tratado de hacerlo lo mas posible actualizando versiones, sin embargo tengo una duda que no me deja avanzar, ojala pudiese ayudarme en este tema, se trata del try cath, me sale un error que no podido resolver y no se si es por versiones o algo ojala me pudieran ayudar [nodemon] starting `node ./index.js` node:internal/modules/esm/resolve:265 ---> throw new ERR_MODULE_NOT_FOUND( ^ throw new ERR_MODULE_NOT_FOUND( ^
Bien explicado y muy detallado para que podamos entenderlo... excelente vídeo!
Me alegro, porque es importante!
Estoy viendo todos tus videos del curso de Node en paralelo con un curso que compré.
En serio explicas muy bien.
Ese tiempo que te tomas para explicar la teoría antes de ir a la práctica y las explicaciones del “porque" de lo que vas haciendo hacen la diferencia. Muchas gracias
Estimado José muy buena explicación de este mecanismo. Sigo los video de desarrollo Útil. Gracias! por compartir conocimiento.
Un lujo. No me canso de agradecerles los videos que se han tomado el tiempo de grabar. Me alegra que los suscriptores sigan aumentando.
Gracias!
Genial mi pana .. Saludos desde Venezuela (22/10/2022)
Saludos desde Cuba. Magnifico trabajo. No te canses nunca.
Excelente contenido.
Es increíble la calidad de la explicaciones enserio, mi próxima sub de twitch prime va para vosotros!
Muchísimas gracias!
¡¡¡Gran vídeo!!! Me ha servido mucho para ir entendiendo estos conceptos. Muchas gracias.
Gracias a ti!
Jose una clase genial. Para futuros videos podrias hablar como relizar sesiones con cookies, sessionStorage, jwt....
Las ventajas e inconvenientes de cada uno de ellos.
Un saludo y gracias
Muchas gracias!
En el siguiente hablaremos de cómo implementar una autenticación JWT desde el punto de vista del servidor, y más adelante veremos cómo tratarlo desde el front, con cookies, localStorage...
Jose muy buena la serie y todavía me falta un par de videos,
que posibilidades hay de anexar valores y desde un front
obtener una gráfica, tipo valores de un sensor. Estaria bueno.
Sigue asi ameo.
Nos ha gustado el vídeo! as always
Muchas gracias Diego, as always 💪
Muy buen curso , lo estoy siguiendo al pie de la letra...
Solo un detalle en lo de usar el mismo response para los correos que no existen como para las password incorrectas, es un buen dato, pero esto siempre se prodrá saber haciendo scrapping en la pagina de registro de la web.
Gracias por tu apunte Norbe, es algo que hemos comentado en directo muchas veces. Es una forma de ofuscarlo al menos en el inicio de sesión, aunque como bien indicas en el registro podrías saber si esa cuenta está registrada, o también por los tiempos de respuesta del login.
No obstante, no es algo obligatorio ya que la seguridad no debe recaer en el ofuscamiento pero quería comentarlo como una pequeña medida adicional 😉
@@DesarrolloUtil Nunca pense en controlar los tiempos de login para determinar si esta o no registrada, aunque si usamos proxies que es lo normal, este tiempo variara segun el pais del proxy. Para mi la mejor medida que podemos encontrar es hacer un registro de eventos con el Javascript del explorador para k segun k eventos genere un token unico, el cual luego nuestro servidor verifique si es un token formado correctamente para dar o no acceso al login. Ya que el único lenguaje para aplicaciones de escritorio o consola, capaz de manejar JS es python, con el objeto request.session el cual renderiza el JS de la pagina... otros lenguajes como vb.net o c# no son capaces de hacerlo.
Esto es algo parecido, aunque mucho menos complejo a lo que hace Akamai o shape... aunque recaptcha tambien ha implementado recientemente este metodo para determinar si quien esta completando el captcha , ya sea por identificacion de imagenes o por audio, es un robot (selenium)...
Un placer seguirte, es el mejor curso de NodeJS que he visto por internet y te digo que he visto muchos, pero en ninguno profundizan como lo haces tu... eres un crack...enhorabuena
Excelente video, y muchas gracias por su explicación su equipo es realmente genial : )
autorizado? el que tengo aquí colgado. Sois los mejores.
😂😂😂
Jajaja antes la fuerza bruta molaba pero entre el tema de "usuario o contraseña no válido" para todo y quemar la IP a los 5 intentos muy seguidos, ya no es tan divertido. La explicación de los hashes fué espectacular, muchas gracias Jose 👍🏼
Brutal estos videos!!
Excelente contenido como siempre Jose. Capo
Muchas gracias por el apoyo Harley 😊
Muy buena la informacion Jose, espero que en algun punto de esta serie abordes el tema de recibir ficheros en el Servidor, (imagenes, canciones, videos, textos, pdf, etc) almacenarlos con algun tipo de arquitectura muy pro y manejarlos con algun metodo muy pro, jajaja o estoy exagerando con eso de "muy pro"?, bueno esuqe me imagino que ha de haber implementaciones muy profecinoales e inteligentes para almacenar, acceder y manejar esos tipos de ficheros (ya no te digo que trabajar con ellos porque eso ya es algo demasiado especifico). Saludos crack
Lo mismo exageraste un poco sí 😂. Lo abordaremos, por esa parte no hay problema.
Pero como adelanto todo esto funciona como lo demás, con una solicitud HTTP.
En el caso de archivos normalmente se utiliza el Content-Type multipart/form-data, un tipo especial para la subida de archivos de todo tipo. Y con una solicitud se sube, pero vamos no te preocupes que lo veremos 😄
@@DesarrolloUtil hahahaha si ya me sospechaba que estaba exagerando 😂, yo se hacerlo pero creo que es la manera mas basica que existe xD, y me pregunto, como le haran las compañias como instagram, amazon, netflix, YT, soundcloud, dropbox etc 🤔, pero bien, que cool que si abordaras ese tema en futuro videos 😁
Excelente video chicos, muchas gracias!!!
Gracias a ti!!
vuelve te nececito
Me gusto el video muy bien explicado y rápido perfecto
Gracias! 😊
haber con tigo jefe voya acabar mi tesisaver
jeje
interesante, el contenido , no entiendo en el tema de autorizacion , cuando pones el user jose, como sabe cual esta denotado como administrador, en la base de datos tienes esa id, o como lo establece, otra consulta el tema de autorizacion me serviria para dar acceso ejmplo en un curso de algun tema a paginas que solo los usuarios que paguen puedan acceder?
Gracias !!
Gracias a tí, espero que te haya ayudado ;)
Este video la va a romper
De RUclips al cielo 😂
Para que era el Middleware app.use(express.text())?
Para parsear el body de solicitudes que sean de tipo texto plano, es decir, que tengan en la cabecera content-type el valor text/plain.
Habitualmente no se utiliza mucho, aquí está de ejemplo, ya que solemos utilizar el formato JSON
Jose que tema usas en vs?
Monokai vibrant!
@@DesarrolloUtil Venga Jose!! Aqui impaciente esperando el proximo video :D 💻abrazo
Que teclado usas?
Buenas Carlos, mi teclado es el Logitech g413. Es normalito pero estoy muy cómodo con él 😄
Como tienes ese intellisense con express? :'0
Buenas Héctor, muy buena pregunta porque no me había ni fijado.
En mi caso aparece porque de otros proyectos con TS tengo los tipos de express, entonces aunque no use TypeScript me los detecta.
Es la magia de TypeScript que aún sin usarlo te ayuda con el Intellisense 😂
@@DesarrolloUtil oooooo no jodas! No me esperaba que fuera eso, y donde instalaste esos tipos exactamente jaja?
@@Weagle1337 Los tengo en la carpeta global de npm, que es como si los instalaras con -g.
Como recomendación si los quieres tener por comodidad en el Intellisense aunque no uses TS, puedes instalarlos normal como dependencia de desarrollo del proyecto(npm i -D @types/express) y en un futuro si te estorban pues los desinstalas.
La verdad que es una pena que no haya otras formas, hay paquetes que traen los tipos dentro entonces aunque no uses TS el VSCode te los reconoce y es genial pero no es el caso xD
que pelota gerson
hola amigo, he estado siguiendo sus videos, y se que ya es bastante viejo, pero he tratado de hacerlo lo mas posible actualizando versiones, sin embargo tengo una duda que no me deja avanzar, ojala pudiese ayudarme en este tema, se trata del try cath, me sale un error que no podido resolver y no se si es por versiones o algo ojala me pudieran ayudar
[nodemon] starting `node ./index.js`
node:internal/modules/esm/resolve:265
---> throw new ERR_MODULE_NOT_FOUND(
^ throw new ERR_MODULE_NOT_FOUND(
^