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?

Debugging e inspect

42/48

Lectura

Haciendo debugging

Para aprovechar por completo la funcionalidad de debugging que implementa Express, lo que recomiendo es cambiar todos los console.log por debug haciendo uso de un namespace de la siguiente forma:

const debug = require("debug")("app:server");
debug("Hello debug");

De esta manera si ejecutamos nuestra aplicaci贸n con el comando DEBUG=app:* node index.js nos mostrar谩 los diferentes logs.

Los namespaces que recomiendo son los siguientes:

  • app:server para todo lo relacionado con el inicio del servidor como el mensaje Listening on http://localshost
  • app:db para todo lo relacionado con logs de las bases de datos, inicializaci贸n y ejecuci贸n de scripts.
  • app:error para todo lo relacionado con errores en nuestra aplicaci贸n.

N贸tese que esta convenci贸n es opcional, es decir, tu puedes seleccionar cualquier namespace. Lo m谩s importante es que sea el mismo que se pasar谩 en la opci贸n DEBUG.

Express.js por defecto ya trae unos logs de debugging por defecto los podemos activar mediante la variable de entorno DEBUG=express:*.

Por lo que recomiendo los scripts en nuestro archivo package.json de la siguiente manera:

  "scripts": {
    "dev": "DEBUG=express:*,app:* nodemon index",
    "debug": "DEBUG=express:*,app:* npm run start",
  },

Ejecutando el modo inspect en desarrollo

El modulo inspect de Node.js nos permite ejecutar un ambiente para hacer debugging de c贸digo haciendo uso de la consola de desarrolladores de Google. Para ejecutarlo en modo desarrollo con nodemon basta con agregar el flag --inspect por lo que recomiendo el siguiente script en nuestro archivo package.json

  "scripts": {
    "inspect": "DEBUG=express:*,app:* nodemon --inspect index"
  },

Aportes 15

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Cierre del tema de test muy bien hecho, pero a mi en lo personal es un nuevo objetivo por aprender porque creo que estas clases me dieron el panorama de lo que es y lo que puedes llegar hacer con proyectos grandes!!

Adicionando un poco del modo inspect, para acceder al debug desde chrome, se accede a la ruta chrome://inspect/ y desde aqui podemos abrir en la opci贸n Open dedicated DevTools for Node la herramienta que nos permite buscar nuestro codigo en la pesta帽a Source y agregamos nuestros puntos de interrupci贸n y de esta manera podemos ejecutar paso a paso nuestro c贸digo e inspeccionar variables.
En el curso de fundamentos de Node explican en un video la forma de realizar debug, agrego el enlace de la clase Debugger

app.listen(config.port, function() {
  const debug = require('debug')('app:server');
  debug(`Listening http://localhost:${config.port}`)
});

un bloque bastante complejo pero de alto nivel, te da un visi贸n global acerca de todo lo que comprende el backend de una aplicaci贸n moderna.

si no entendi mal con esto donde hayamos puesto un console.log va a aparecer un debug ?

Buenos tips para debug

Interesante, gracias!!

Gracias por el tip

muy buena explicacion de lo que es pruebas automatizadas

Bien por el articulo.

Gracias por compartir esta informaci贸n, es muy valiosa y de mucha ayuda.

Gracias!

Super! Pude agregar el debug para el servidor y para la base de datos. Para los error no, porque se estan manejando con next()

WoW este curso es muy completo.

Excelentes tips para hacer debbuging .