dependecy HELL, me hace recordar esos clientes que quieren 1000000000000 plugins en sus wordpress jejeje
Inicio del curso
¿Qué vamos a construir en el curso avanzado de Node.js?
Introducción a Node.js
Conoce qué es node.js
Características de la plataforma Node.js
¿Qué tipo de aplicaciones podemos desarrollar con Node.js?
Preparando el entorno de Desarrollo
Cómo instalar Node.js en macOS
Cómo instalar PostgreSQL y Redis en macOS
Cómo instalar Visual Studio Code en macOS
Cómo instalar Ansible en macOS
Arquitectura del Proyecto (Platziverse)
Arquitectura y Componentes del proyecto
Introducción a protocolos y patrones de aplicaciones en tiempo real
Cómo funciona el modelo Pub/Sub en MQTT y Web Sockets
Creando Módulo de Base de Datos (platziverse-db)
Estructura básica de un módulo de Node.js
Definición de entidades de base de datos
Implementación de modelos con sequelize
Implementación de un módulo básico de base de datos
Implementación de script de inicialización de base de datos
Creando una advertencia sobre el borrado de base de datos
Introducción a pruebas unitarias con Ava.js
Introducción a code coverage con nyc
Cómo hacer Mocks y Stubs con Sinon
Creación de fixtures y definición básica del servicio de Agent
Implementación de findbyId y pruebas en el servicio Agent
Implementación de createOrUpdate
Revisión del servicio Agent
Implementación del servicio Metric
Realizando un ejemplo con el módulo de base de datos
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
Definición de un Broker de Mensajería
Definición de los tipos de mensajes
Implementación del servidor MQTT
Cómo recibir mensajes
Cómo integrar el servidor MQTT con la base de datos
Cómo almacenar la información del agente y reportar el agente conectado
Cómo almacenar la información de las métricas
Probando el servidor MQTT (Ejemplo con mqtt client)
Construyendo el agente de monitoreo (platziverse-agent)
Cómo implementar un custom EventEmitter usando ES6 classes
Definiendo un timer de ejecución continua (setInterval)
Implementación del cliente MQTT
Implementación de métricas personalizadas
Probar agent (ejemplo)
Construyendo una API REST con Express (platziverse-api)
Implementación de un servidor básico con express
Definición de rutas del API
Implementación de manejo de errores con express
Pruebas básicas de Integración con Ava y supertest
Integración con el módulo de base de datos
Implementación de ruta del API
Pruebas de Integración con Ava, Supertest y Sinon
Asegurando nuestra API REST con JWT
Definición de JWT
Asegurando nuestra API con express-jwt
Modificando las pruebas de integracion
Implementando permisos con express-jwt-permissions
Creando un Dashboard Web en tiempo real con WebSockets (platziverse-web)
Implementación de un servidor web estático con express
Integrando socket.io con express
Integrando agente de monitoreo con socket.io
Implementación de rutas proxy con la API
Presentación de nuestro cliente frontend en Vue.js
Integración del cliente frontend con API (Metric)
Integración del cliente frontend con socket.io (Metric)
Integración del cliente frontend con API (Agent)
Integración del cliente frontend con socket.io (Agent)
Creando un Dashboard para la terminal en tiempo real con Blessed (platziverse-cl)
Implementación de un CLI Básico con Node
Introducción a Blessed / Blessed Contrib
Implementación del layout básico con Blessed Contrib
Integración con el agente de monitoreo 1
Integración con el agente de monitoreo 2
Integración con el agente de monitoreo 3
Depurando Aplicaciones Node.js
Utilizando longjohn para mejores stacktraces
Depurando en Desarrollo con node --inspect
Depurando en Desarrollo con Visual Studio Code
Preparando nuestra aplicación para producción
Preparando Proyecto para Producción 1
Preparando Proyecto para Producción 2
Creación de scripts para despliegue con Ansible
Probando el database rol con Vagrant
Creando scripts del rol de platziverse db y mqtt (script de automatización .yml)
Terminando los scripts faltantes
Creación de servidores en DigitalOcean
Desplegando nuestra aplicación a producción
Ejecutando los Scripts de Despliegue
Utilizando Aplicación en Producción y cierre del curso
Bonus: Utilizando platziverse-agent en BeagleBone Black y Raspberry PI
Implementación platziverse-agent con Johnny-Five
Networking y entrada y salida: Más de 1/4 del core de Node.js está dedicado a Networking.
Node.js está especialmente diseñado para tipos de trabajo de entrada y salida.
Node.js es modular. npm es el registro de paquetes OpenSource más grande del mundo.
El sistema modular de Node.js resuelve los problemas dependency hell.
La característica principal de Node.js es que podemos trabajar de manera asíncrona y orientada a objetos.
Node.js es muy bueno para aplicaciones en tiempo real o para orquestación de recursos entre múltiples aplicaciones.
Node.js no es bueno para computaciones que requieren uso de la CPU, ni para desarrollar aplicaciones como Systems programming.
Aportes 20
Preguntas 2
dependecy HELL, me hace recordar esos clientes que quieren 1000000000000 plugins en sus wordpress jejeje
Iniciando en Platzi… 😄
Electron te permite el desarrollo de aplicaciones de escritorio usando Node.js del lado del servidor y Chromium como interfaz
Hay un modulo en NPM que solo sirve para saber si un numero es par o impar 🤣🤣👍: https://www.npmjs.com/package/is-odd
A quien mas se le paran los videos de un momento a otro? eso esta muy canson, le toca a uno recargar la pagina 😕
Hacer cosas pequenas y especificas es lo que hace que el diseno modular permita escalar aplicaciones grandes de manera sencilla
Que bueno el punto de informar para que es bueno y para que no
✌
A ver como usamos node.js com MQTT 😃
Modulos que hacen una cosa, la hacen bien e interactuan, para evitar conflictos de versiones. Location!
The Node.js way… Me gustó esa frase.
Muy bien, aunque por la discusión del Big Data entonces me habría gustado ver una comparación entre las distintas formas de crear un API REST (Node js, Microsoft Net Core, Laravel, Python - Flask, Django etc etc) y así reforzar para que me sirve el uso de la herramienta.
Muy interesante
Genial
La verdad siendo que aun me queda mucho por practicar sobre JS, puedo comprender a perfección la parte teórica de lo presentado al momento. Muchas gracias y espero que siga así!
Libuv es la librería encargada de las comunicaciones de red y el acceso al sistema de archivos, así como gestionar el event loop.
Genial
hice el curso de programación básica, es lo único que sé de javascript junto con otras cosas del dom, estas cosas de server.on y readFile no las he visto antes, debería tomar otro curso antes de este? y cual? o esto se explicará más adelante en el curso? muchas gracias.
Genial
💪💻 Estoy en busca de los MEJORES DEVELOPERS de LATAM:
🤘 ¿Eres un Master Pro, Senior Developer en: TypeScript, Node.js, Scrapping, end-2-end browser Jira?
Queremos conocerte en: https://selectalatam.teamtailor.com/jobs/preview/477fb8a9-1a9b-45f3-926a-22356e6a0558
🤘 ¿Tu especialidad es: Node y MySql Tecnologías secundarias: GraphQl?
Aplica ahora en: https://selectalatam.teamtailor.com/jobs/preview/8a2dea22-6f7c-4cc7-8540-7c07119bad11
🤘 ¿Tu gran amor es: Golang, Linux, Cloud Development, Java, C++ , JIRA?
Te esperamos en: https://selectalatam.teamtailor.com/jobs/preview/b833d966-6563-4ad0-9970-28715a4388cf
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.