February 16 - 18, 2021
Node Congress
Online

Node Congress 2021

The biggest event on JavaScript backends

EXPLORE THE NEW FRONTIER OF BATTLE TESTED BACKENDS A two-day conference on all things Node.js, gathering Back-end and Full-stack engineers across the globe in the cloud. Stay up-to-date on the latest Node.js tech and watch the talks from the biggest virtual event for the Node.js community.

Esta edición del evento ha finalizado, las últimas actualizaciones de este JavaScript Conference están disponibles en el sitio web de la marca.
Manejo Seguro de Datos Dinámicos con TypeScript
29 min
Manejo Seguro de Datos Dinámicos con TypeScript
Top Content
This Talk discusses the safe handling of dynamic data with TypeScript using JSON Schema and TypeBox. Fastify, a web framework, allows developers to validate incoming data using JSON schema, providing type safety and error handling. TypeBox is a powerful library that allows developers to define JSON schemas and derive static types in TypeScript. The combination of JSON schema, TypeBox, and Fastify provides powerful tools for type safety and validation of dynamic data.
Desmitificando las fugas de memoria en JavaScript
33 min
Desmitificando las fugas de memoria en JavaScript
The Talk discusses demystifying memory leaks in JavaScript, covering topics such as memory allocation, typical memory leaks and issues, handling file descriptors and event listeners, tools and techniques for identifying memory leaks, fixing memory leaks and restarting applications, and Ruben's personal experience with memory leaks.
La Revolución de los Micro Frontends en Amex
28 min
La Revolución de los Micro Frontends en Amex
This Talk discusses the micro front-end revolution at American Express, highlighting the challenges of independent delivery and the solution of micro frontends. The architecture involves a Node.js server for server-side rendering and module composition, with Holocron modules deployed to a CDN. The development workflow includes local development environments and CI pipelines. Microfrontends are a pattern, not a set of tools, and should be implemented based on the specific use case. The adoption challenges include reworking the architecture and implementing features like Webpack and Module Federation. Communication between modules should be kept independent, and migration to micro frontends is simplified with existing microservices and Kubernetes. Server-side rendering is optional, and bundle size is limited to 250K.
Registro, Métricas y Rastreo con Nodejs
31 min
Registro, Métricas y Rastreo con Nodejs
This talk covers logging, metrics, and tracing with Node.js. It explores logging configuration with Winston and logging conventions and solutions. The talk also discusses logging dashboards and metrics, as well as metrics and distributed tracing. It touches on tracing tools and visualizations, async-await and logging in Node.js, and request-specific logging and distributed tracing. Additionally, it covers logging middleware and serverless functions, and the difference between automatic and manual instrumentation.
¿Podemos duplicar el rendimiento del cliente HTTP?
20 min
¿Podemos duplicar el rendimiento del cliente HTTP?
Today's Talk discusses HTTP clients, servers, microservices, and maximizing performance in Node.js. It covers topics such as TCP, latency, HTTP Keep-Alive, pipelining, the Node.js event loop, timeouts, and introduces the Undici library. The speaker emphasizes the importance of reusing connections, minimizing blocking, and using benchmarks to measure performance impact. Undici is highlighted as a new client for Node.js that eliminates the need for multiple agents and offers easy configuration options.
Construyendo Aplicaciones Serverless en AWS con TypeScript
245 min
Construyendo Aplicaciones Serverless en AWS con TypeScript
Workshop
Slobodan Stojanović
Slobodan Stojanović
Este masterclass te enseña los conceptos básicos del desarrollo de aplicaciones serverless con TypeScript. Comenzaremos con una función Lambda simple, configuraremos el proyecto y la infraestructura como código (AWS CDK) y aprenderemos cómo organizar, probar y depurar una aplicación serverless más compleja.
Tabla de contenidos:        - Cómo configurar un proyecto serverless con TypeScript y CDK        - Cómo escribir una función Lambda testeable con arquitectura hexagonal        - Cómo conectar una función a una tabla DynamoDB        - Cómo crear una API serverless        - Cómo depurar y probar una función serverless        - Cómo organizar y hacer crecer una aplicación serverless


Materiales mencionados en el masterclass:
https://excalidraw.com/#room=57b84e0df9bdb7ea5675,HYgVepLIpfxrK4EQNclQ9w
Blog de DynamoDB de Alex DeBrie: https://www.dynamodbguide.com/
Excelente libro para DynamoDB: https://www.dynamodbbook.com/
https://slobodan.me/workshops/nodecongress/prerequisites.html
No lo intentes en casa: E/S síncrona en Node.js
32 min
No lo intentes en casa: E/S síncrona en Node.js
This Talk explores synchronous IO in Node.js and the advantages of asynchronous IO. It discusses exceptions to synchronous IO and approaches to achieving synchronous IO in Node.js, including using WASI and native add-ons. The Talk also covers mixing workers with atomics for synchronous IO and embedding Node.js to create a synchronous worker. Additionally, it touches on TypeScript migration, optimizations in Node.js, and experiences and advice on contributing to Node.js.
Consejos de rendimiento de Node.js en tiempo de ejecución
9 min
Consejos de rendimiento de Node.js en tiempo de ejecución
This Talk focuses on the importance of runtime optimization in software development. It discusses the impact of unoptimized functions and the role of garbage collection. The Talk also highlights the use of profiling tools to identify and improve performance issues. Additionally, it emphasizes the importance of memory profiling to prevent memory leaks and optimize application performance.
Aprende Fastify Un Plugin a la Vez
128 min
Aprende Fastify Un Plugin a la Vez
Workshop
Matteo Collina
Matteo Collina
Fastify es un marco de trabajo HTTP para Node.js que se enfoca en brindar una buena experiencia de desarrollo sin comprometer las métricas de rendimiento. Lo que hace especial a Fastify no son sus detalles técnicos, sino su comunidad, que está abierta a contribuciones de cualquier tipo. Parte de la fórmula secreta es la arquitectura de plugins de Fastify, que permite a los desarrolladores escribir más de cien plugins.Este masterclass práctico está estructurado en una serie de ejercicios que cubren desde lo básico, como "hola mundo", hasta cómo estructurar un proyecto, realizar acceso a bases de datos y autenticación.

https://github.com/nearform/the-fastify-workshop
Aprendizaje automático en Node.js utilizando Tensorflow.js
8 min
Aprendizaje automático en Node.js utilizando Tensorflow.js
The Talk introduces TensorFlow.js in Node.js for machine learning, highlighting its open-source nature and easy integration with JavaScript. It emphasizes the benefits of using Node.js, such as the ability to write machine learning models directly in JavaScript, access to the NPM ecosystem, and improved performance. The different packages available for utilizing TensorFlow.js in Node.js, including CPU, GPU, and vanilla packages, are discussed. The importance of setting up Node.js bindings to avoid blocking the main thread is mentioned, along with the availability of APIs like dfNode and TensorBoard.
Usando Feature Flags para Habilitar Pruebas en Producción
29 min
Usando Feature Flags para Habilitar Pruebas en Producción
Today's Talk discusses enabling tests in production, including challenges with staging environments, the use of feature flags for testing, and automating feature flag testing. It also covers running tests in production while ensuring no impact on real users, determining what to test in production, recommended tools and dependencies, and mitigating risks. The importance of testing in production and shifting the testing culture is emphasized, along with the need for a solid automation framework and managing feature flag dependencies.
Pruebas en Producción
29 min
Pruebas en Producción
Today's Talk discusses the concept of testing in production, including challenges with staging environments and data mismatch. The use of feature flags is highlighted as a solution to enable testing in production. Automation is emphasized as a key component for efficient feature flag testing. The benefits of testing in production are increased developer velocity and confidence. Organizational requirements and resistance to testing in production are also addressed. The Talk concludes by discussing feature flag management and user segmentation in feature flag services.
Node.js: lo Nuevo y lo Experimental
31 min
Node.js: lo Nuevo y lo Experimental
Beth Brix, a senior software engineer at Red Hat, discusses new and experimental features in Node.js, the release process, API stability, and the importance of user feedback. Some stable features in Node.js 15 include the abort controller, MPM7, and V886. Node 14 is the most popular version among users. The future releases of Node.js will likely include a major v8 update with new JavaScript language features. The Node community is supportive and willing to help users with migration and finding solutions.
Asegurando Aplicaciones Node con Pruebas de Seguridad Automatizadas en CI/CD
71 min
Asegurando Aplicaciones Node con Pruebas de Seguridad Automatizadas en CI/CD
Workshop
Scott Gerlach
Liran Tal
2 authors
Todos hemos escuchado el revuelo sobre llevar la seguridad de las aplicaciones a manos de los desarrolladores, pero si eres como la mayoría de las empresas, ha sido difícil hacer esto realidad. No estás solo: establecer la cultura, los procesos y las herramientas necesarias para lograrlo es difícil, especialmente para aplicaciones sofisticadas. Únete a Scott Gerlach (CSO, StackHawk) y Liran Tal (Defensor del Desarrollador, Snyk) mientras profundizan en cómo puedes agregar pruebas de seguridad de aplicaciones a tu canal de CI/CD para enviar código seguro más rápido.
Prerrequisitos:Docker es recomendado
Examinando la Observabilidad en Node.js
22 min
Examinando la Observabilidad en Node.js
Today's Talk explores the concept of observability in Node.js, emphasizing the importance of understanding what's happening inside a system without needing to ship new code. The Talk covers various observability tools and techniques, including performance measurement and tracing, HeapSnapshot and Chrome DevTools, the BA Inspector, and external tools like nSolid. nSolid is highlighted as an enhanced observability tool specifically built for Node.js, offering low-input performance insights and greater security for mission-critical applications.
Pruebas de seguridad para aplicaciones respaldadas por GraphQL
5 min
Pruebas de seguridad para aplicaciones respaldadas por GraphQL
StackHawk is an automated application and API security testing tool that integrates with CI/CD. It uses the ZAP scanner and supports various types of applications and APIs. StackHawk provides detailed vulnerability information and triage features to manage low-risk issues. The tool aims to seamlessly integrate into engineering workflows and make security accessible for teams.
Infraestructura como Código con enfoque en Node
36 min
Infraestructura como Código con enfoque en Node
Today's Talk discussed infrastructure as code using serverless Node.js with a focus on AWS Lambda and Terraform. The speaker emphasized the benefits of infrastructure as code, such as collaboration, versioning, and reproducibility. The Talk provided a step-by-step demonstration of deploying a Node.js app to AWS Lambda using Terraform. Key takeaways include the advantages of mechanized and automated processes, ephemeral state, repeatable processes, and transparency. The speaker also mentioned the importance of having DevOps experts on the team and highlighted the cost-effectiveness of serverless functions.
Instrumentando Internals de Node.js
7 min
Instrumentando Internals de Node.js
The Talk is about troubleshooting Node.js applications and using a tool for improved visibility and information. The tool can collect information about URLs and module imports in a server. However, it is not recommended for use in non-local environments due to performance overhead and potential bugs.
Cómo solucionar errores de API y reducir MTTD/R
149 min
Cómo solucionar errores de API y reducir MTTD/R
Workshop
Gal Bashan
Gal Bashan
Los beneficios de Node.js para desarrollar aplicaciones en tiempo real a gran escala son muy conocidos. A medida que las arquitecturas de Node.js se vuelven más complejas, la visualización de su arquitectura basada en microservicios es crucial. Sin embargo, la visualización de los microservicios es increíblemente compleja debido a la escala y las transacciones entre ellos. En este masterclass, aprenderás cómo aprovechar los mapas de servicios para comprender instantáneamente tu arquitectura y solucionar cualquier error de API.

Escribiremos una aplicación Express simple y exploraremos las mejores prácticas al usar Express. Luego, desplegaremos la aplicación en AWS, integraremos el entorno con Epsagon y profundizaremos en varias características de la plataforma para permitir la detección inmediata y la solución rápida de errores de la aplicación. Objetivos: Visualizar tu arquitectura, monitorear tus aplicaciones, reducir tu tiempo medio de detección y recuperación (MTTD y MTTR).
¿Quién debería asistir?
DevOps, Ingenieros, Arquitectos de Cloud, IT, Desarrolladores de Software, Arquitectos y Ingenieros de Soluciones, SREs y cualquier persona que ejecute aplicaciones basadas en microservicios (Kubernetes, contenedores, funciones sin servidor, y más) en la nube.

PrerrequisitosPreferimos usar VSCode para una mejor experiencia (otros IDE también son válidos)Instalar previamente npm y node        Cuenta de AWS preexistente: puedes crear una cuenta gratuita aquí        Los asistentes pueden crear una cuenta de Epsagon con anticipación aquí, no es obligatorio



Cómo creamos las bibliotecas Giraffe para datos de series temporales
7 min
Cómo creamos las bibliotecas Giraffe para datos de series temporales
I will be presenting Influx Data's open source time series graphing library GIRAFFE, which powers the visualizations of the InfluxDB dashboard and the Data Explorer. GIRAFFE is a JavaScript library based on React for charting and mapping, supporting various graph types and data sources. It offers a sandbox with examples of different graphs and provides links to GitHub, quick start guides, demos, and code samples.
De 1 a 101 Funciones Lambda en Producción: Evolucionando una Arquitectura Serverless
32 min
De 1 a 101 Funciones Lambda en Producción: Evolucionando una Arquitectura Serverless
Vacation Tracker is a serverless startup using Node.js that started with a simple lambda function and now has many lambda functions. They built a system connected to Slack and calendars, which is now used by many startups, companies, and organizations. They evolved to an event-driven architecture using CQRS and AWS AppSync with Managed GraphQL. Onboarding new developers is a challenge, but serverless allows them to assign a new environment and AWS account to each developer. Testing and monitoring are crucial, and they have successfully migrated from MongoDB to DynamoDB.
Notificaciones Push: No se puede vivir con ellas, no se puede vivir sin ellas
9 min
Notificaciones Push: No se puede vivir con ellas, no se puede vivir sin ellas
The Talk explores the journey of a notification in a communications platform, highlighting the challenges of infrastructure engineering. Trace IDs and local storage play a crucial role in ensuring the arrival of notifications, allowing for easy debugging if they don't reach the device. The logs demonstrate the journey of a notification, reaching the app store in just 4 milliseconds.
La Caja de Herramientas de Seguridad para Node
29 min
La Caja de Herramientas de Seguridad para Node
The Talk focuses on Node application security, covering topics such as OWASP top 10 vulnerabilities, handling packages, managing data, and protecting servers. Best practices include password security, input validation, and data encryption. The importance of securing access to packages and managing data is emphasized. Encrypting data for secure communication is discussed, along with protecting servers using HTTPS and rate limiting. The challenges of security implementation and resources for learning are mentioned, as well as the use of attacker tools. Docker security and preventing IP attacks are also touched upon.
¿Puedes Cambiar el Comportamiento de un Proceso de Node.js en Ejecución desde el Exterior?
30 min
¿Puedes Cambiar el Comportamiento de un Proceso de Node.js en Ejecución desde el Exterior?
This talk explores how to remotely change the behavior of a Node.js process at runtime and inject a logger using the Chrome DevTool protocol. It demonstrates the power of dev tools and encourages their usage. Remote debugging is useful for debugging memory leaks in production. The method requires local machine access and has security implications, but it requires significant access and indicates a major breach. The talk emphasizes the importance of having awareness and monitoring in place for application protection.
Introducción al AWS CDK: Infraestructura como Código
34 min
Introducción al AWS CDK: Infraestructura como Código
The AWS CDK is an infrastructure as code tool that supports multiple programming languages and helps mitigate concerns about vendor lock-in. It uses JSII to support different languages and allows you to write code once and get the same API across different languages. The CDK simplifies resource creation and management in AWS, addressing the verbosity and error-proneness of CloudFormation. CDK applications consist of apps and stacks, with stacks mapping to CloudFormation stacks. The CDK provides a more compact and familiar syntax compared to CloudFormation, making it easier for JavaScript developers to handle the entire stack.
Introducción al AWS CDK: Infraestructura como Node
34 min
Introducción al AWS CDK: Infraestructura como Node
The CDK is an AWS-specific infrastructure as code tool that supports multiple languages and allows you to maintain state about your application and update it without going through the same checks as making direct API calls. The CDK allows developers to write their infrastructure as well as their applications using JavaScript and TypeScript, leveraging their existing skills. It introduces an API using TypeScript and constructs to simplify building and composing CDK applications. The CDK can be used to create a variety of resources, including a static S3 site, and offers first-class support from AWS.
Observabilidad Integral a través del Rastreo Distribuido en Node.js
8 min
Observabilidad Integral a través del Rastreo Distribuido en Node.js
Welcome to the session on comprehensive observability via distributed tracing on Node.js. We'll explore the challenges of microservices and troubleshoot distributed applications using an example. Correlation is the missing piece in troubleshooting distributed applications. Distributed tracing helps pinpoint issues that logging or metrics may miss, reducing mean time to resolution. It provides visualization of microservices architecture, actionable data, and enables code optimization.
Masterclass de IoT Center por InfluxData
131 min
Masterclass de IoT Center por InfluxData
Workshop
Miroslav Malecha
Miroslav Malecha
InfluxDB es una base de datos de series temporales de código abierto que permite a los desarrolladores construir software de IoT, análisis y monitoreo. Está diseñado específicamente para manejar los volúmenes masivos y las innumerables fuentes de datos con marca de tiempo producidos por sensores, aplicaciones e infraestructura. En esta masterclass se presenta una aplicación de muestra completamente funcional llamada IoT Center que se basa en InfluxDB. Esta aplicación demuestra las capacidades de la plataforma InfluxDB para desarrollar una aplicación basada en series de tiempo habilitada para JavaScript. Recopila, almacena y muestra un conjunto de valores que incluyen temperatura, humedad, presión, concentración de CO2, calidad del aire, así como proporciona coordenadas GPS de un conjunto de dispositivos IoT. Con estos datos almacenados en InfluxDB, la aplicación puede consultar estos datos para mostrarlos y también escribir datos en la base de datos.
En esta masterclass práctica, los estudiantes aprenderán cómo instalar este código de código abierto para aprender a consultar y escribir en InfluxDB utilizando el cliente JavaScript de InfluxDB, y familiarizarse con el lenguaje de consulta Flux que está diseñado para consultar, analizar y actuar sobre datos de series de tiempo. Y finalmente, recopilar y visualizar datos de rendimiento de la aplicación Node.js.
Requisitos previos
Cuenta gratuita registrada en InfluxDB Cloud en https://cloud2.influxdata.comTres opciones disponibles (a través de cuenta de Google, a través de cuenta de Microsoft o a través de correo electrónico)Probar inicio de sesión después del registro y guardar las credenciales para la masterclassInstalación de la herramienta git (por ejemplo, desde https://git-scm.com/downloads)Clonar IoT CenterEjecutar: git clone https://github.com/bonitoo-io/iot-center-v2Instalar nodejs (desde https://nodejs.org/en/download)Instalar el gestor de paquetes yarn (desde https://classic.yarnpkg.com/en/docs/install)Instalar los paquetes requeridosEn el directorio clonadoEjecutar: cd appEjecutar: yarn install
APIs web con Sails
118 min
APIs web con Sails
Workshop
Kelvin Omereshone
Kelvin Omereshone
El masterclass "APIs web con Sails" se centra en la creación de APIs web con Node.js utilizando el framework Sails.El masterclass comienza con una introducción para principiantes al framework Sails, abordamos cómo empezar con Sails, instalar Sails en tu máquina, y luego profundizamos en la filosofía, conceptos y características del framework Sails.Continuamos con la construcción práctica de una API web en Sails desde cero y probamos los endpoints con Postman. Finalizamos escribiendo pruebas para los endpoints, configurando una acción de GitHub para ejecutar nuestras pruebas cuando hacemos push a GitHub, y desplegando nuestra API web en la nube de Heroku.
Prerrequisitos:Un buen entendimiento de los fundamentos de JavaScript y Node.js. Prefiero usar VS Code para editar el código, pero puedes usar el editor que desees. Se espera que tengas Node.js y NPM preinstalados.