Tu primera experiencia con Node.js

1

¿Dónde aprender backend con Node.js actualizado?

2

Todo lo que aprenderás sobre backend con Node.js

3

¿Qué es Node.js?

4

¿Qué es Node.js y para qué sirve?

5

Diferencias entre Node.js y JavaScript

6

Resumen: Diferencias Nodejs y Javascript

7

Instalación de Node.js

8

Arquitectura orientada a eventos

9

Node.js para la web

Manejo y uso de Streams con Node.js

10

Introducción a streams

11

Readable y Writable streams

12

Duplex y Transforms streams

Uso de utilidades de Node.js

13

Sistema operativo y sistema de archivos

14

Administrar directorios y archivos

15

Consola, utilidades y debugging

16

Clusters y procesos hijos

Crea tu primer proyecto en Express.js

17

¿Qué es Express.js y para qué sirve?

18

Creando tu primer servidor con Express.js

19

Request y Response Objects

Aprende a crear un API con REST

20

Anatomía de una API Restful

21

Estructura de una película con Moockaru

22

Implementando un CRUD en Express.js

23

Métodos idempotentes del CRUD

24

Implementando una capa de servicios

Cómo conectarse con librerías externas en Express.js

25

Creación de una BD en MongoAtlas

26

Conexión a MongoAtlas una instancia de MongoDB

27

Conexión con Robot3T y MongoDB Compass a una BD

28

Implementación de las acciones de MongoDB

29

Conexión de nuestros servicios con MongoDB

Conoce como funcionan los Middleware en Express.js

30

¿Qué es un middleware? Capa de manejo de errores usando un middleware

31

Manejo de errores asíncronos y síncronos en Express

32

Capa de validación de datos usando un middleware

33

¿Qué es Joi y Boom?

34

Implementando Boom

35

Implementando Joi

36

Probar la validación de nuestros endpoints

37

Middlewares populares en Express.js

Implementa tests en Node.js

38

Creación de tests para nuestros endpoints

39

Creación de tests para nuestros servicios

40

Creación de tests para nuestras utilidades

41

Agregando un comando para coverage

42

Debugging e inspect

Despliega tu primera aplicación en Express.js

43

Considerando las mejores prácticas para el despliegue

44

Variables de entorno, CORS y HTTPS

45

¿Cómo implementar una capa de manejo de caché?

46

¿Cómo contener tu aplicación en Docker?

47

Despliegue en Now

Conclusiones

48

¿Qué aprendiste en este curso?

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué es Joi y Boom?

33/48
Recursos

Joi y Boom son tecnologías del ecosistema de HapiJS, pero son tan buenas que las vamos a integrar como middleware en nuestra aplicación de Express.

¿Qué es Boom en Hapi JS?

Boom es un manejador de errores que se presenta de una manera mucho más comprensible. Lo que nos permite es manejar errores de forma amigable. Por ejemplo, si quisiéramos manejar un error Forbidden, simplemente los debemos hacer es: Boom.forbidden([message], [data]). Recordemos que el error de un forbidden es un 403.

Fíjense que recordar todos los errores http es demasiado complicado. Hay errores 400, errores 500, entre otros.

Lo que hace Boom es facilitarnos su uso al darle el nombre directamente. Le podemos pasar un mensaje y nos devuelve una estructura bastante amigable con el status code, el error y el mensaje

¿Qué es Joi en Hapi JS?

Joi es un object schema validation. Es la librería que nos va a ayudar a validar los esquemas. En el repositorio de Joi podemos ver un ejemplo claro de cómo se usa.

A partir de requerir la librería de Joi, podemos crear un esquema. Por ejemplo, si quisiéramos definir como debería estar escrito nuestro username: username: Joi.string().alphanum().min(3).max(30).required() y es muy similar para los otros atributos. Por ejemplo, un password: password: Join.string().regex(/ˆ[a-zA-z0-9]{3-30}$/)

Actualmente, Joi se encuentra deprecado y ya no se actualiza.

Aportes 15

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Excelente forma de validar los datos, ¿Saben como usar un servicio como S3 con Nodejs? ¿Para poder enviar archivos atravez de una petición que tipo de formato debe ser?
Muchas gracias de antemano

Actualmente la documentación de Joi se está poniendo de la siguiente manera:

https://hapi.dev/module/joi/

Alguien también opina que mejor sería usar typescript?

Gracias!

Esto me recuerda Laravel. También su manejador de validación es muy amigable!

ME gustan estas ideas esta muy bueno

muy buenas librerias… me sirven de gran ayuda… esto de los middleware es genial.

  • Joi: Object Schema validation, sirve para validar datos que recibimos.
  • Boom: HTTP-friendly error objects, es un manejador de errores de manera más compresiva.

que bueno conocer estas herramientas.

GraphQL all the way :p

Interesantes librerias… Ya quiero aprender a usarlas

algún gigachad mas gigachad q este pibe?

Interesantes estas librerías Joi y Boom.

Para ustedes ¿Cuál es mejor?, ¿Qué ventajas tiene cada uno?
Yup Vs Joi

Genial!! gracias 😃