February 17 - 18, 2022
Node Congress
Online

Node Congress 2022

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 is here to help you staying up-to-date on the latest Node.js tech.

Esta edición del evento ha finalizado, las últimas actualizaciones de este JavaScript Conference están disponibles en el sitio web de la marca.
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
The talk discusses the importance of supply chain security in the open source ecosystem, highlighting the risks of relying on open source code without proper code review. It explores the trend of supply chain attacks and the need for a new approach to detect and block malicious dependencies. The talk also introduces Socket, a tool that assesses the security of packages and provides automation and analysis to protect against malware and supply chain attacks. It emphasizes the need to prioritize security in software development and offers insights into potential solutions such as realms and Deno's command line flags.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
There is a need for a standard library of APIs for JavaScript runtimes, as there are currently multiple ways to perform fundamental tasks like base64 encoding. JavaScript runtimes have historically lacked a standard library, causing friction and difficulty for developers. The idea of a small core has both benefits and drawbacks, with some runtimes abusing it to limit innovation. There is a misalignment between Node and web browsers in terms of functionality and API standards. The proposal is to involve browser developers in conversations about API standardization and to create a common standard library for JavaScript runtimes.
Diagnostics de Node.js listos para usar
34 min
Diagnostics de Node.js listos para usar
This talk covers various techniques for getting diagnostics information out of Node.js, including debugging with environment variables, handling warnings and deprecations, tracing uncaught exceptions and process exit, using the v8 inspector and dev tools, and generating diagnostic reports. The speaker also mentions areas for improvement in Node.js diagnostics and provides resources for learning and contributing. Additionally, the responsibilities of the Technical Steering Committee in the TS community are discussed.
Compatibilidad con Node.js en Deno
34 min
Compatibilidad con Node.js en Deno
Deno aims to provide Node.js compatibility to make migration smoother and easier. While Deno can run apps and libraries offered for Node.js, not all are supported yet. There are trade-offs to consider, such as incompatible APIs and a less ideal developer experience. Deno is working on improving compatibility and the transition process. Efforts include porting Node.js modules, exploring a superset approach, and transparent package installation from npm.
Evolución del cliente HTTP de Node con undici
35 min
Evolución del cliente HTTP de Node con undici
Top Content
The Talk discusses the current state of the Node HTTP client and the problems it faces, including the lack of support for HTTP pipelining and the intrinsic link between request and response objects. The speaker introduces the library Indichy, which aims to provide a more user-friendly API for HTTP in Node. The Talk highlights the performance advantages of using WebAssembly in the Umidigi HTTP client and the plans to include it in Node Core. The speaker also mentions the support for signals and the ability to post requests in Umidigi. Additionally, the Talk covers the customization options in Undici, the different types of dispatchers available, and the potential inclusion of Indichy in Node Core. Future plans include support for HTTP 2 and 3, DNS lookup enhancements, and improvements to fetch and pool scheduling. The Talk concludes by discussing the differences in TCP implementations across operating systems and the considerations for adding Web APIs and standards to Node Core.
Autenticación del lado del servidor con Remix, Prisma y la Plataforma Web
34 min
Autenticación del lado del servidor con Remix, Prisma y la Plataforma Web
Top Content
This Talk is about server-side authentication with Remix, Prisma, and the web platform. It covers adding authentication to a Remix app, troubleshooting and login setup, handling user login and session creation, creating user sessions and redirects, handling user ID retrieval and validation, and working with cookies in Remix. The speaker emphasizes that Remix is ready for production and suitable for enterprise apps. Remix simplifies the mental model and improves performance by bridging the network gap between the front end and back end.
Cinco formas de aprovechar Verdaccio, tu registro privado y proxy de Node.js
32 min
Cinco formas de aprovechar Verdaccio, tu registro privado y proxy de Node.js
Top Content
Verdash is a lightweight and proxy private Node.js registry that allows you to host and publish private packages. It offers five ways to use it, including publishing packages with npm workspaces and handling conflicts. Verdash improves project productivity and continuous integration by caching dependencies and versions. Security considerations are important, and Verdash provides security features like rate limiting. It can be used as a registry for open source projects and offers flexibility and customization options.
Dominando el Manejo de Errores en Node.js
21 min
Dominando el Manejo de Errores en Node.js
Top Content
This Talk explores error handling in Node.js, including types of errors, handling techniques, and debugging. It discusses the use of exceptions, callbacks, and promises for error handling. The importance of proper error handling and the benefits of using error classes, expressive error messages, and automated testing are emphasized. The speaker also addresses the use of TypeScript and test-driven development for error prevention. Overall, the Talk provides valuable insights and techniques for mastering error handling in Node.js.
Comprendiendo la Compilación de JavaScript
8 min
Comprendiendo la Compilación de JavaScript
Today's Talk explores the concepts of compilation and transpilation in JavaScript, highlighting the three steps involved: parsing, code transformation, and code generation. The process of traversing an abstract syntax tree is discussed, with examples of tools like Babel and ESLint that can be used for code transformations. Code transformation tools and techniques, such as CodeShift and T-TypeScript plugin, are introduced, emphasizing the power of abstract syntax trees and the visitor pattern. The summary concludes by encouraging further exploration of code refactoring and transformations using tools like Babel, TSLint, and astexplorer.net.
Acceso a la base de datos en el Edge con Cloudflare Workers y Prisma
31 min
Acceso a la base de datos en el Edge con Cloudflare Workers y Prisma
This Talk discusses database access on the edge with CloudFlare workers and the challenges of serverless platforms. It explores solutions for database access, including CloudFlare-specific solutions and using Prisma data proxy. The Prisma toolkit and demo are showcased, demonstrating how to convert an application to use a database. The process of setting up Prisma Data Platform and deploying the application to CloudFlare workers is explained. The Talk concludes with insights on database usage and the differences between serverless, CDN, and the Edge.
Una Comparación de los Web Workers
25 min
Una Comparación de los Web Workers
This Talk compares web workers, including dedicated workers, shared workers, and service workers. Web workers provide multithreading capabilities and use shared memory for higher performance. Dedicated workers have one parent and can execute on a separate thread. Shared workers can have multiple parents and are useful for communication across different windows. Service workers can intercept and proxy requests made from a web page and are useful for caching network assets and building progressive web apps.
Escribe Node como si estuviéramos en 2022
7 min
Escribe Node como si estuviéramos en 2022
Let's write Node like it's 2022. We can now iterate over objects more easily with the for-in loop. Template literals make string concatenation and multi-line strings much simpler. The structured clone feature allows us to clone complex objects without the need for hacks like stringifying and parsing. Default parameters in JavaScript are now much more convenient. Async await eliminates the need for callbacks. Arrow functions inherit the scope, eliminating the need for 'this equals that'. Const prevents variable reassignment. Let helps catch errors earlier. Write code like it's 2022!
Seguimiento de errores y ralentizaciones en Node + JavaScript utilizando Sentry
53 min
Seguimiento de errores y ralentizaciones en Node + JavaScript utilizando Sentry
WorkshopFree
Neil Manvar
Neil Manvar
Repasaremos la configuración de Sentry paso a paso para obtener visibilidad en nuestro frontend y backend. Una vez integrado, rastrearemos y solucionaremos errores y transacciones que se muestren en Sentry desde nuestros servicios para comprender por qué/dónde/cómo ocurrieron errores y ralentizaciones en nuestro código de aplicación.
El camino hacia el soporte de importación de JSON en Node.js
16 min
El camino hacia el soporte de importación de JSON en Node.js
This Talk discusses the road to JSON import support in NodeJS, covering the history and implementation of JSON modules. It explores security concerns and the proposal for import assertions. The Talk also explains how to use JSON modules in NetJS and the availability of support in different browsers. It mentions working with dynamic imports and future plans for adding more modules in Node Core. Additionally, it addresses the syntax differences between ESM and CommonJS and the challenges of overcoming them.
Node.js de Alto Rendimiento Potenciado por Rust y WebAssembly
8 min
Node.js de Alto Rendimiento Potenciado por Rust y WebAssembly
This talk explores using Rust and WebAssembly to enhance the performance of Node.js applications. By leveraging Rust's efficiency and safety features, and compiling it into WebAssembly bytecode, developers can achieve high-performance computations while ensuring security. WebAssembly enables direct communication with native hardware and is optimized for server-side applications, making it suitable for tasks like AI inference and storage databases. Overall, this talk highlights the potential of combining JavaScript, Rust, and WebAssembly to build performant and portable applications.
Flujos de base de datos y desarrollo de API con Prisma
98 min
Flujos de base de datos y desarrollo de API con Prisma
WorkshopFree
Nikolas Burk
Nikolas Burk
Prisma es un ORM de código abierto para Node.js y TypeScript. En esta masterclass, aprenderás los flujos de trabajo fundamentales de Prisma para modelar datos, realizar migraciones de base de datos y consultar la base de datos para leer y escribir datos. También aprenderás cómo Prisma se integra en tu stack de aplicaciones, construyendo una API REST y una API GraphQL desde cero utilizando SQLite como base de datos.
Tabla de contenidos:
- Configuración de Prisma, modelado de datos y migraciones- Explorando Prisma Client para consultar la base de datos- Construyendo rutas de API REST con Express- Construyendo una API GraphQL con Apollo Server
Sitios web estáticos primero con Cloudflare Workers
30 min
Sitios web estáticos primero con Cloudflare Workers
The Talk covers the historical landscape of web development, the rise of static site generators, the serverless revolution, edge computing, and using Cloudflare services to enhance static websites. It explores the challenges of early web development, the shift to static sites and client-side rendering, and the advantages of server-side and client-side rendering. It also discusses Cloudflare services like Cloudflare workers, KV, durable objects, and HTML rewriter for building fast and minimal hosting solutions. The Talk highlights the use of DurableObjects for analytics and integration, dynamic content on static sites, JAMstack, and the advantages of using Cloudflare Workers for automatic deployment, multiple language support, and combining static pages with JavaScript functions. It introduces the concept of edge computing and the difference between Cloudflare Pages and Workers. It also touches on error handling and the use of HTML rewriter, Cloudflare KVstore, and DurableObjects for managing state and storing dynamic data.
Vuelta a los fundamentos
128 min
Vuelta a los fundamentos
WorkshopFree
Guillermo Gutierrez Almazor
Guillermo Gutierrez Almazor
“Nunca creerás de dónde vienen los objetos en JavaScript.”
“Estos 10 lenguajes son peores que JavaScript en programación asíncrona.”
Exploraremos algunos aspectos de JavaScript que podrías dar por sentado en el taller más sensacionalista de nodecongress.com.
Para asistir a este taller solo necesitas ser capaz de escribir y ejecutar código NodeJS en tu computadora. Tanto desarrolladores junior como senior son bienvenidos.
Los objetos son de Marte, las funciones son de Venus
Sumergámonos en los entresijos de los objetos y luego ampliemos nuestra perspectiva para ver los módulos desde un punto de vista diferente. ¿Cuántas formas hay de crear objetos? ¿Son realmente útiles? ¿Cuándo deberías considerar usarlos?
Si ahora estás pensando `¿a quién le importa?`, entonces este taller es probablemente para ti.
JavaScript asíncrono: ¿las partes buenas?
Tengamos una conversación honesta.
Quiero decir... ¿por qué, oh por qué, tenemos que lidiar con todo esto? Supongo que también depende de la perspectiva. Primero asumamos una verdad incómoda al respecto: podría ser peor... luego tal vez podamos empezar a ver las características no tan malas, incluso geniales, de JavaScript en relación a los programas no bloqueantes.
Un vistazo al futuro del desarrollo full-stack con Blitz.js
32 min
Un vistazo al futuro del desarrollo full-stack con Blitz.js
Today's Talk focused on the future of full-stack web development with Blitz.js. Blitz is a React framework built on top of Next.js, offering direct database access and authentication with authorization. The core features of Blitz include the zero-API layer and the ability to run server code directly from the frontend. The future of Blitz includes expanding to other frameworks and runtime environments. The new Blitz toolkit will be decoupled from any specific framework, allowing developers to choose their preferred foundation. It will retain the core value of Blitz while adding additional features like JWT authentication and advanced data-aware authorization. The migration to the new toolkit will be seamless for existing Blitz projects. The Blitz toolkit will have a plugin system for customization and support multiple resolvers. The Blitz project is currently going through a pivot and will focus on the Blitz toolkit. The goal is to release the toolkit by the end of March. The most exciting part of the toolkit is the plugin system design that allows users to customize their experience.
Gestión de la autenticación en Next.js
155 min
Gestión de la autenticación en Next.js
Workshop
Michele Riva
Michele Riva
Next.js es un marco convincente que hace que muchas tareas sean sencillas al proporcionar muchas soluciones listas para usar. Pero cuando se trata de autenticación y seguridad del usuario, nuestra misión es hacerla confiable, segura y eficiente. En esta masterclass, nos centraremos en diferentes enfoques de autenticación de usuarios y gestión de sesiones, comenzando desde una estrategia de autenticación personalizada (que construiremos juntos) y terminando aprendiendo cómo identificar e integrar el proveedor de autenticación adecuado (Auth0, Firebase, etc.) para cualquier aplicación.
Tabla de contenidos:- Una breve introducción a Next.js- Construyendo un mecanismo de autenticación desde cero- Por qué debemos evitar la autenticación personalizada- Cómo identificar el mecanismo de autenticación y proveedor adecuados- Integración de NextAuth.js, Auth0, Firebase u otro proveedor
Masterclass de Fastify
152 min
Masterclass de Fastify
Workshop
Matteo Collina
Matteo Collina
Fastify es un marco de trabajo HTTP para Node.js que se enfoca en proporcionar 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 complementos de Fastify que permite a los desarrolladores escribir más de cien complementos. Este masterclass práctico está estructurado en una serie de ejercicios que abarcan desde lo básico, como "hola mundo", hasta cómo estructurar un proyecto, realizar acceso a bases de datos y autenticación.
El Futuro de los Runtimes de JavaScript
34 min
El Futuro de los Runtimes de JavaScript
Today's Talk explores the future of JavaScript runtimes, their evolution, and impact on software development. It discusses the historical trends of JavaScript, the adoption of new tools and libraries, and the convergence of Node and Deno. The emergence of isolate clouds and their potential to replace traditional VMs and containers is also highlighted. Additionally, the talk touches on the possibilities of JavaScript in exotic use cases, its impact on machine learning, and the potential for TypeScript to become the de facto language for JavaScript development.
Serverless en Producción, Lecciones desde las Trincheras
34 min
Serverless en Producción, Lecciones desde las Trincheras
This Talk provides valuable insights for those considering serverless in 2022, with a focus on troubleshooting and observability using Lumigo. It emphasizes the use of multiple AWS accounts and Org Formation for better control and scalability. Security considerations include securely loading secrets at runtime and implementing zero-trust networking. Optimizing Lambda performance is discussed, along with updates on serverless frameworks and the role of Terraform. The Talk also compares Honeycomb and Lumigo for observability in serverless applications.
Monitorización de errores y ralentizaciones con un frontend de JS y un backend de Node
8 min
Monitorización de errores y ralentizaciones con un frontend de JS y un backend de Node
Sentry is code monitoring for developers, specifically designed for the application layer. It helps identify error details, frequency, release, user information, and stack trace. Source maps can be uploaded to see the original source code and suspect commits can be identified. Performance monitoring helps identify slowdowns and determine the cause. Automating alerts and investigating errors helps gain instant context and trace errors across different projects.
Cómo registrar un dominio utilizando Node y la API de DNSimple en 5 minutos
6 min
Cómo registrar un dominio utilizando Node y la API de DNSimple en 5 minutos
Today's Talk is a demo of the DnSimple node client, including the installation process, authentication, domain availability check, and registration. The speaker emphasizes testing in the sandbox environment before moving to production. Setting up DNS records and registering domains are also covered, with the importance of verifying the code's functionality. Additional information about other clients and the DNSimple API is available at dnsimple.com/API.
Pruebas automatizadas de seguridad de aplicaciones con StackHawk
9 min
Pruebas automatizadas de seguridad de aplicaciones con StackHawk
StackHawk is a dynamic application security testing tool that integrates with CI-CD workflows and simplifies finding and fixing security issues. The scan results include detailed descriptions of identified issues, along with links and request/response details for replaying the attack. The StackHawk YAML configuration allows for specifying application location, environment, and additional options for authentication and scanning exclusions.
Cómo Diseñar una Carrera Sostenible como Freelancer/Contratista
39 min
Cómo Diseñar una Carrera Sostenible como Freelancer/Contratista
WorkshopFree
Shane Ketterman
Alexander Weekes
2 authors
¿Listo para comenzar tu carrera como freelancer o recién estás comenzando en tu viaje como freelance? Estás en el lugar correcto. Aprende los trucos del oficio de los freelancers más experimentados de la industria.
El movimiento de talento independiente es el futuro del trabajo. Si estás considerando dejar el empleo a tiempo completo para una carrera como freelancer, ahora es el momento de encontrar tu espacio exitoso en la fuerza laboral de talento independiente. Hoy en día, más personas trabajan como freelancers que nunca antes, y el mercado de freelancers contribuye con $1.2 billones a la economía de los Estados Unidos. Algunos de los roles más demandados para freelancers en este momento son desarrolladores senior con experiencia profesional en React, Python, Blockchain, QA y Node.js.
Este masterclass te ayudará a diseñar una carrera como freelancer/contratista sostenible y rentable a tiempo completo (o parcial). Te proporcionaremos herramientas, consejos, mejores prácticas y te ayudaremos a evitar errores comunes.
La Vida Secreta de los Gestores de Paquetes
9 min
La Vida Secreta de los Gestores de Paquetes
npm install can be a mysterious process, but understanding how package managers work is essential. NPM solved problems like large node_modules, circular dependencies, and multiple instances of the same package. Managing package versions and conflicts is crucial for consistency across projects. Alternative approaches to package management, like PNPM and Yarn2, provide insights into the hidden complexities of package managers.
La Evolución de la Implementación de Node en Servidores y Plataformas
8 min
La Evolución de la Implementación de Node en Servidores y Plataformas
Today's talk covers the evolution of deploying Node on servers and platforms, including physical servers, monolith servers, PaaS, containers, and serverless. Node deployment has become easier over the years thanks to the evolution of Node.js. Each deployment method has its pros and cons, with serverless offering lower costs and simpler backend code. However, it also has drawbacks like vendor locking and unsuitability for long-term tasks. Overall, Node.js deployment has evolved from on-premise to containers to serverless.
Desplegando un sitio de reseñas de restaurantes desacoplado en producción con Strapi y Platform.sh
134 min
Desplegando un sitio de reseñas de restaurantes desacoplado en producción con Strapi y Platform.sh
WorkshopFree
Shedrack Akintayo
Chad Carlson
2 authors
Node.js se ha convertido en un lenguaje cada vez más popular para construir y desplegar APIs backend. En un mundo de CMSs heredados que adoptan implementaciones desacopladas, han surgido muchos frameworks que se autodenominan CMS "headless", diseñados desde el principio para proporcionar una forma fácil de personalizar modelos de contenido, administrar permisos y autenticación, y servir rápidamente una API de contenido.
Strapi, uno de los líderes en este espacio, ha lanzado recientemente su versión 4 del framework, y con Platform.sh se puede desplegar junto con varios frontends dentro del mismo proyecto, lo que brinda una experiencia de desarrollo drásticamente simplificada al trabajar con sitios desacoplados. En este masterclass, desplegaremos una aplicación de demostración de Strapi, que ha sido configurada para servir un sitio de reseñas de restaurantes.
Paso a paso, agregarás servicios de base de datos, pruebas y frontends, todo dentro de entornos de desarrollo aislados. Al final, cada usuario tendrá un sitio desacoplado funcional y una mayor comprensión de cómo trabajar con sitios desacoplados en producción.
Cómo Convertir Criptomonedas con Microservicios en Node.js y gRPC
162 min
Cómo Convertir Criptomonedas con Microservicios en Node.js y gRPC
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
La masterclass ofrece una visión general de los principios de arquitectura clave, patrones de diseño y tecnologías utilizadas para construir microservicios en el stack de Node.js. Cubre la teoría del marco de trabajo gRPC y el mecanismo de protocol buffers, así como técnicas y especificidades para construir servicios aislados utilizando el enfoque de monorepo con lerna y yarn workspaces, TypeScript. La masterclass incluye una tarea práctica en vivo para crear una aplicación de conversión de moneda que sigue los paradigmas de los microservicios. La masterclass "Microservicios en Node.js con gRPC" es ideal para desarrolladores que deseen aprender y practicar el patrón de microservicios gRPC con la plataforma Node.js.
Escribiendo Módulos Universales para Deno, Node y el Navegador
57 min
Escribiendo Módulos Universales para Deno, Node y el Navegador
Workshop
Luca Casonato
Luca Casonato
En este masterclass te guiaré en la escritura de un módulo en TypeScript que pueda ser utilizado por usuarios de Deno, Node y los navegadores. Explicaré cómo configurar el formato, linting y pruebas en Deno, y luego cómo publicar tu módulo en deno.land/x y npm. Comenzaremos con una breve introducción sobre qué es Deno.
Órdenes y Magnitud
7 min
Órdenes y Magnitud
The Talk discusses the relationship between complexity and collaboration in software development. It highlights that collaboration is not always the answer to solving problems and that communication is crucial in software development. The concept of collective intelligence is introduced, which describes a group's capability to perform well together across tasks. The study mentioned in the Talk shows that collective intelligence is transferable among tasks, and skilled players rely on nonverbal cues and understanding the software. Lack of understanding can lead to difficulties in team performance and deployment.
Escalando Bases de Datos para Aplicaciones Globales sin Servidor
83 min
Escalando Bases de Datos para Aplicaciones Globales sin Servidor
WorkshopFree
Ben Hagan
Ben Hagan
Este masterclass discute los desafíos que enfrentan las empresas al escalar la capa de datos para admitir implementaciones multi-región y entornos sin servidor. Las funciones de borde sin servidor y la orquestación de contenedores livianos permiten que las aplicaciones y la lógica empresarial se implementen fácilmente a nivel mundial, dejando a menudo la base de datos como el cuello de botella de latencia y escalabilidad.
Únase a nosotros para comprender cómo PolyScale.ai resuelve estos desafíos de escalabilidad, almacenando en caché de manera inteligente los datos de la base de datos en el borde, sin sacrificar la transaccionalidad o la consistencia. Aprenda a implementar, observar consultas y realizar pruebas de latencia global con funciones de borde utilizando PolyScale.
Tabla de contenidos        - Introducción a PolyScale.ai        - Gravedad de los datos empresariales        - Por qué es difícil escalar los datos        - Opciones para escalar la capa de datos        - Observabilidad de la base de datos        - Gestión de caché con IA        - Aprenda a utilizar PolyScale.ai