Inicio del curso

1

¿Qué vamos a construir en el curso avanzado de Node.js?

Introducción a Node.js

2

Conoce qué es node.js

3

Características de la plataforma Node.js

4

¿Qué tipo de aplicaciones podemos desarrollar con Node.js?

Preparando el entorno de Desarrollo

5

Cómo instalar Node.js en macOS

6

Cómo instalar PostgreSQL y Redis en macOS

7

Cómo instalar Visual Studio Code en macOS

8

Cómo instalar Ansible en macOS

Arquitectura del Proyecto (Platziverse)

9

Arquitectura y Componentes del proyecto

Introducción a protocolos y patrones de aplicaciones en tiempo real

10

Cómo funciona el modelo Pub/Sub en MQTT y Web Sockets

Creando Módulo de Base de Datos (platziverse-db)

11

Estructura básica de un módulo de Node.js

12

Definición de entidades de base de datos

13

Implementación de modelos con sequelize

14

Implementación de un módulo básico de base de datos

15

Implementación de script de inicialización de base de datos

16

Creando una advertencia sobre el borrado de base de datos

17

Introducción a pruebas unitarias con Ava.js

18

Introducción a code coverage con nyc

19

Cómo hacer Mocks y Stubs con Sinon

20

Creación de fixtures y definición básica del servicio de Agent

21

Implementación de findbyId y pruebas en el servicio Agent

22

Implementación de createOrUpdate

23

Revisión del servicio Agent

24

Implementación del servicio Metric

25

Realizando un ejemplo con el módulo de base de datos

26

Reto: Cómo modificar el script de inicialización de la base de datos

Construyendo un servidor en tiempo real para Internet de las Cosas con Mosca/MQT

27

Definición de un Broker de Mensajería

28

Definición de los tipos de mensajes

29

Implementación del servidor MQTT

30

Cómo recibir mensajes

31

Cómo integrar el servidor MQTT con la base de datos

32

Cómo almacenar la información del agente y reportar el agente conectado

33

Cómo almacenar la información de las métricas

34

Probando el servidor MQTT (Ejemplo con mqtt client)

Construyendo el agente de monitoreo (platziverse-agent)

35

Cómo implementar un custom EventEmitter usando ES6 classes

36

Definiendo un timer de ejecución continua (setInterval)

37

Implementación del cliente MQTT

38

Implementación de métricas personalizadas

39

Probar agent (ejemplo)

Construyendo una API REST con Express (platziverse-api)

40

Implementación de un servidor básico con express

41

Definición de rutas del API

42

Implementación de manejo de errores con express

43

Pruebas básicas de Integración con Ava y supertest

44

Integración con el módulo de base de datos

45

Implementación de ruta del API

46

Pruebas de Integración con Ava, Supertest y Sinon

Asegurando nuestra API REST con JWT

47

Definición de JWT

48

Asegurando nuestra API con express-jwt

49

Modificando las pruebas de integracion

50

Implementando permisos con express-jwt-permissions

Creando un Dashboard Web en tiempo real con WebSockets (platziverse-web)

51

Implementación de un servidor web estático con express

52

Integrando socket.io con express

53

Integrando agente de monitoreo con socket.io

54

Implementación de rutas proxy con la API

55

Presentación de nuestro cliente frontend en Vue.js

56

Integración del cliente frontend con API (Metric)

57

Integración del cliente frontend con socket.io (Metric)

58

Integración del cliente frontend con API (Agent)

59

Integración del cliente frontend con socket.io (Agent)

Creando un Dashboard para la terminal en tiempo real con Blessed (platziverse-cl)

60

Implementación de un CLI Básico con Node

61

Introducción a Blessed / Blessed Contrib

62

Implementación del layout básico con Blessed Contrib

63

Integración con el agente de monitoreo 1

64

Integración con el agente de monitoreo 2

65

Integración con el agente de monitoreo 3

Depurando Aplicaciones Node.js

66

Utilizando longjohn para mejores stacktraces

67

Depurando en Desarrollo con node --inspect

68

Depurando en Desarrollo con Visual Studio Code

Preparando nuestra aplicación para producción

69

Preparando Proyecto para Producción 1

70

Preparando Proyecto para Producción 2

71

Creación de scripts para despliegue con Ansible

72

Probando el database rol con Vagrant

73

Creando scripts del rol de platziverse db y mqtt (script de automatización .yml)

74

Terminando los scripts faltantes

75

Creación de servidores en DigitalOcean

Desplegando nuestra aplicación a producción

76

Ejecutando los Scripts de Despliegue

77

Utilizando Aplicación en Producción y cierre del curso

Bonus: Utilizando platziverse-agent en BeagleBone Black y Raspberry PI

78

Implementación platziverse-agent con Johnny-Five

Conoce qué es node.js

2/78
Recursos

Node es una plataforma OpenSource para desarrollar aplicaciones, que está enfocada en tiempo real. Es similar a la máquina virtual de Java.

Node es muy útil para aplicaciones que tienen alta concurrencia. Utiliza JavaScript como lenguaje de programación y patrones de programación asíncronos y orientados a objetos.

¿Por qué decimos que Node.js es una plataforma simple?

  1. Es una librería estándar es donde el código va a morir. Mantener una plataforma estándar actualizada puede ser un problema.
  2. npm y la modularidad de Node abre un ecosistema de trabajo muy grande.
  3. El modelo de trabajo Open Source beneficia mucho a la plataforma.

Node existe gracias a un componente principal que se llama V8, que es el que nos permite utilizar JavaScript del lado del servidor.

Aportes 19

Preguntas 2

Ordenar por:

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

o inicia sesión.

¿Qué es Node.js?

Node es una plataforma OpenSource para desarrollar aplicaciones en javascript, que está enfocada en tiempo real. Es similar a la máquina virtual de Java.
.
Node es muy útil para aplicaciones que tienen alta concurrencia. Utiliza JavaScript como lenguaje de programación y patrones de programación asíncronos y orientados a objetos.
.
¿Por qué decimos que Node.js es una plataforma simple?
.

  1. Es una librería estándar es donde el código va a morir. Mantener una plataforma estándar actualizada puede ser un problema.
  2. npm y la modularidad de Node abre un ecosistema de trabajo muy grande.
  3. El modelo de trabajo Open Source beneficia mucho a la plataforma.
  4. Está diseñado para manejar Inputs y Outputs de manera eficiente
    .
    Node esta presente en aplicaciones:
    .
  • Centradas.
  • Servidores.
  • Aplicaciones modulares.
    .
    Node existe gracias a un componente principal que se llama V8, que es el que nos permite utilizar JavaScript del lado del servidor.
    .
    Node se utiliza mucho para el manejo de aplicaciones de Red, no es de extrañar que el 1/4 del core de Node esta dedicado para el Networking.
    .

Bindings presentes en el core de NodeJs

  • Node Js Core API:
  • Node Js Bindings:
  • V8 -> Maquina virtual de JS de google chrome.
  • libuv -> librería encargada de manejar el event loop, operaciones de red y * operaciones de entrada y salida de archivos.
  • Open SSL: Comunicación
  • Zlib: Encripción
  • Http-Parser: Parseador del protocolo http
  • Http2:

NPM

.
Es donde estan alojados los modulos OpenSource de Node y javascript en general. Actualmente es una compañía donde estan alojados una cantidad inmensa de modulos.
.
Node package manager, es el manejador de paquetes principal de javascript, comenzó como un manejador de paquetes exclusivo para node, pero actualmente puedes encontrar paquetes que se encontraban en otros manejadores como gulp y bower.
.
Otros manejadores de paquetes de js

npm, bower, JSPM, Duo, and Yarn.

como asi? osea que si uno quiere puedde usar V8 asi no mas? o el man tenia la pasta y le toco pagar algo?

LINK paa instalar PostgreSQL:
https://www.youtube.com/watch?v=iR8p55k2i0k

Interesante lo que es node.js

Vamos que vamos

vamos con todo

La mayoria de aplicaciones de Node.js estan enfocadas en operaciones de red y esta diseñado para realizar grandes cargas de lectura y escritura en Red, servidor web o de red

La estructura de Node.js está practicamente en dos capas, una escrita en JavaScript la cual se comunica atraves de uns Bindings a base de C/C++, V8 es la maquina virtual de Google Chroome, una libreria LIBUV encargada de las operaciones, OPENSSL ZLIB HTTP_PARSER

Node es una plataforma simple, open source para desarrollar apps enfocadas en real-time, es muy util para apps de alta concurrencia o orientadas en red como servidores web o TCP/IP, Servidores en tiempo real o resolver DNS.

Usa JS como lenguaje de programación y patrones de programación que son asíncronos y orientados a eventos. Esta es la clave del por que es tan bueno en apps en tiempo real y de alta concurrencia.

Pero, ¿Por qué decimos que es una plataforma simple?

  • El core o la librería estándar de node.js es minima
  • Permitiendo crecerla del vibrante user land (módulos de la comunidad) de NPM.
  • La calidad de los módulos es muy alta.

Arquitectura de Node

Node esta ampliamente basado en apps de red y I/O, como prueba de eso podemos ver que más de 1/4 del core esta enfocado en operaciones de networking.

Soporta grandes cantidades de operaciones de I/O.

Es muy utilizado para programar los servidores de la web moderna.

Me parece que tratandose de un curso AVANZADO de esta tecnología, es innecesario tener una sección introductoria esplicando ¿Qué es NodeJS?
Es contradictorio…

Excelente.

Excelente, interesante la explicación

Entonces Node.Js saca el máximo provecho de procesamiento de la PC o Servidor donde se instale. Es Correcto?

que buena explicacion de la defincion de Node.js

<h1>Qué es node?</h1>

Es un motor similar a la máquina virtual de Java pero usa javascript como lenguaje.

Plataforma simple para dessarrollar aplicaciones centradas en tiempo real.

Usa patrones de programación asincronos

El crecimiento depende de su comunidad más que de una empresa central.

  • Excelente comunidad
  • Motiva la calidad y la innovación.
  • Usa npm para manejar paquetes

¿Node vs Deno?

Qué bacano entender un poco más de la historia

interesante