April 4 - 5, 2024
Node Congress
Online

Node Congress 2024

The biggest event on JavaScript backends

A two-day conference on all things Node.js, DevOps, Edge-native workers (Cloudflare & others), Serverless, Deno & other JavaScript backend runtimes, gathering Back-end and Full-stack engineers across the globe.

Esta edición del evento ha finalizado, las últimas actualizaciones de este Tech Conference están disponibles en el sitio web de la marca. Sigue para más Tech Conferences.
CloudflareSentryFocusReactiveHygraph
Analizando Millones de URLs por Segundo
14 min
Analizando Millones de URLs por Segundo
Today's talk explores the performance of URL parsing in Node.js and introduces the ADA URL parser, which can parse 6 million URLs per second. The ADA URL parser includes optimizations such as perfect hashing, memoization tables, and vectorization. It is available in multiple languages and has bindings for popular programming languages. Reach out to Ada URL and Daniel Lemire's blog for more information.
La Necesidad de Velocidad: Cómo la Nueva JS Runtime de AWS Está Redefiniendo la Latencia en Serverless
25 min
La Necesidad de Velocidad: Cómo la Nueva JS Runtime de AWS Está Redefiniendo la Latencia en Serverless
Serverless services like AWS Lambda allow developers to build modern applications without provisioning servers or additional infrastructure. LLRT is a low latency runtime designed specifically for serverless environments and JavaScript applications. LLRT uses a lightweight JavaScript engine called Quick.js, achieving fast execution and performance with minimal memory consumption. LLRT is ideal for latency-critical applications, high-volume functions, and integration with AWS services. It significantly improves performance, reducing cold starts and providing consistent warm start times. Users are encouraged to test LLRT and contribute to its development.
Rompiendo las Cadenas de REST: Un Camino de Fastify y Mercurius hacia la Gloria de GraphQL
23 min
Rompiendo las Cadenas de REST: Un Camino de Fastify y Mercurius hacia la Gloria de GraphQL
GraphQL is a versatile query language that allows for the creation of a single server and API that can serve different types of devices. Mercurius is a high-performance GraphQL adapter built on Fastify, offering features such as caching, just-in-time compilation, and support for subscriptions and federation. The Talk demonstrates how to build a GraphQL server using Mercurius Fastify and TypeScript, including the setup of the server, schema, resolvers, and loaders. It highlights the benefits of using GraphQL with TypeScript and how loaders can optimize queries by reducing the number of database calls. The conclusion emphasizes the benefits of building a GraphQL server with Mercurius and provides additional resources for further exploration.
Construyendo Backends Confiables con Ejecución Duradera
21 min
Construyendo Backends Confiables con Ejecución Duradera
This Talk explores the paradigm of message queues for reliable backend execution. It highlights the benefits of message queues, such as guaranteed delivery and offloading of long-running processes. The drawbacks of using queues are discussed, including the complexity of managing infrastructure and applications. The solution of using a reliability layer called Ingest is presented, which allows for non-blocking background tasks and provides a dashboard for monitoring and managing jobs. The Talk also emphasizes the importance of reliability in building software systems and introduces the expanding scope and functionality of Ingest.
El Framework Full-stack del Futuro es un DSL
21 min
El Framework Full-stack del Futuro es un DSL
The future of web frameworks will be a DSL, simplifying development and allowing for clear instructions for AI collaboration. DSLs like SQL and JSX have value in building better web apps. Wasp is a powerful full-stack web app framework that eliminates the need for writing backend code. It offers features like cron jobs, type safety, and email sending. Wasp also has projects like OpenSaaS and Mage that provide production-ready templates and AI-generated prototypes.
Optimización del rendimiento de AWS Lambda
25 min
Optimización del rendimiento de AWS Lambda
This Talk covers various optimization techniques for Lambda functions, including parameter fetching, code minification and bundling, observability with Power Tools and X-Ray, baseline testing with load testing tools, caching with Elastic Cache and Redis, and optimizing code size and memory usage. The importance of library choices, power tuning for cost and performance, leveraging subprocesses and sandboxes, and adjusting concurrency limits are also discussed. Overall, these techniques can significantly improve Lambda function performance.
Biome, Herramienta para Proyectos Web
19 min
Biome, Herramienta para Proyectos Web
Biome is a toolchain for web projects that provides formatting and analysis. It offers high-quality diagnostics and is compatible with Prettier. Biome's analyzer includes over 200 unique lint roles and provides informative error messages. Pion, a part of Biome, aims to be fast and efficient, outperforming other tools. Biome is exploring type inference and plug-in support, and has plans to revamp its configuration in version two.
Creando un Servidor HTTP desde Cero con Node-addon-api, Libuv y Milo
18 min
Creando un Servidor HTTP desde Cero con Node-addon-api, Libuv y Milo
Today's Talk focuses on creating an HTTP server from scratch using Node.js and native add-ons. The process involves implementing a TCP socket using LibuV for data exchange between the server and client. The Talk also covers invoking callbacks, creating a high-level abstraction for the HTTP server, and parsing HTTP data using an experimental HTTP parser called Milo. The project serves as a proof of concept, showcasing the ease of creating add-ons and interacting with low-level APIs in Node.js.
Haciendo que mi API de Node.js sea súper rápida
34 min
Haciendo que mi API de Node.js sea súper rápida
This talk focuses on improving performance in Node.js API development. It covers various areas such as optimizing database work, connection pool, JSON parsing, logging, and web framework selection. Key highlights include the use of Native Mongo Driver for better database performance, optimizing connection pool for improved throughput, replacing Express serializer for faster serialization and deserialization, and choosing Festify as an efficient web framework. Caching and authentication's impact on performance is discussed, along with recommendations for caching types. The talk also emphasizes considering environmental factors and human impact on performance. Fastify is highlighted as a recommended tool for Node.js performance optimization.
Milo, un nuevo analizador HTTP para Node.js
23 min
Milo, un nuevo analizador HTTP para Node.js
Hello and welcome to Node Congress 2024. NearForm focuses on delivering modern and elegant solutions. Milo is a new HTTP parser written in Rust, designed to address the complexity and vulnerabilities of the current Node HTTP parser. Milo allows developers to opt-in for copying data being parsed for improved developer experience. It follows the latest RFCs for HTTP strictly and provides a common interface across different languages. Milo is being explored for C++ and WebAssembly integration, and future steps include performance improvements and regression testing.
Probando Runtimes Alternativos con Node y VTest
25 min
Probando Runtimes Alternativos con Node y VTest
Welcome to my talk on testing alternative runtimes with Node and VTest. VTest is a popular testing framework that allows dynamic code evaluation and runs inside Cloudflare workers. Durable objects provide distributed JavaScript class instances with unique IDs and persistent storage for improved developer experience. The testing framework in Cloudflare workers automatically undoes writes to storage and supports seeding data. Mocking outbound fetch requests is also possible in Cloudflare workers.
Optimizando la Arquitectura de Microservicios para Alto Rendimiento y Resiliencia
24 min
Optimizando la Arquitectura de Microservicios para Alto Rendimiento y Resiliencia
Today's Talk discusses microservices optimization strategies for distributed systems, specifically focusing on implementing casual consistency to ensure data synchronization. Vector clocks are commonly used to track the casual relationship between write events in distributed systems. Casual consistency allows for concurrent and independent operations without synchronization, maximizing parallelism and system resource utilization. It enables effective scalability, better latency, and fault tolerance in distributed systems through coordination, resilience, reconfiguration, recovery, and data replication.
Qué hay de nuevo en el Node.js Test Runner y por qué es revolucionario
17 min
Qué hay de nuevo en el Node.js Test Runner y por qué es revolucionario
The Node.js Test Runner is presented as a better alternative to Jest, offering more flexibility and improved performance. It supports TypeScript out of the box and provides comprehensive test suite visualization. The test runner has native support for code coverage and upcoming features include module mocking and improved filtering. Shifting to the test runner is simple and helps the community grow.
Comprendiendo la Resolución de Paquetes en Node.js
11 min
Comprendiendo la Resolución de Paquetes en Node.js
In this Talk, the speaker discusses package resolution in Node.js, covering topics such as CommonJS, ES modules, package.json structure, and package.json loader. The Talk also touches on conditional loading and file extension resolution, module import and export, module type determination based on file extensions and package.json, module resolution strategies in Node.js, and tips for improving loading time in ESM applications.
Gestión de proyectos Node.js a gran escala con Monorepos
19 min
Gestión de proyectos Node.js a gran escala con Monorepos
Monorepos are a development strategy that allows you to store multiple projects in one repository, facilitating code sharing and simplifying dependency management. They provide simplified dependency management, improve code reusability, and enable a consistent build, test, and deployment process across projects. Tooling support like Nix, Yarn Workspaces, and NPM Workspaces streamline monorepo development. Code organization and scalability strategies involve fine-grained models, consistent directory structure, and selective dependency installation. Streamlining build processes can reduce build time, and optimizing performance and collaboration involves profiling tools and effective code review processes.
La observabilidad importa: Mejorando el rendimiento de nuestra aplicación Node con OpenTelemetry
7 min
La observabilidad importa: Mejorando el rendimiento de nuestra aplicación Node con OpenTelemetry
Yash Rajavarma introduces observability and explains its importance for developers. He discusses how OpenTelemetry can empower Node.js applications by providing easy instrumentation and management of telemetry data. OpenTelemetry simplifies the implementation of observability and is designed to benefit developers.
Cómo no(!) construir aplicaciones en tiempo real
10 min
Cómo no(!) construir aplicaciones en tiempo real
Today's Talk discusses different approaches for implementing real-time updates in server-side applications, including application-level updates and polling. The drawbacks of polling include inefficiency and complexity at scale. Adding extra infrastructure, like messaging systems, can ensure scalability but introduces operational overhead. Prisma Pulse is a system that simplifies change data capture, providing an easy setup for subscribing to database changes and solving scalability issues.
Dominando el Web Scraping con Scrapoxy: ¡Desata tu Magia de Extracción de Datos!
21 min
Dominando el Web Scraping con Scrapoxy: ¡Desata tu Magia de Extracción de Datos!
Fabien Vauchel is a software developer passionate about web scraping and the creator of Scrapoxy, a proxy aggregator. Isabella, a student, used web scraping to gather data for her trip tool. The talk discusses various techniques for web scraping, including using language models and proxies to bypass website protections. The speaker also introduces ScrapOxy, a super proxy aggregator, and explains how to integrate it into web scraping projects. The use of Playwright, a headless browser, is highlighted for handling fingerprint errors. Ultimately, the talk emphasizes the importance of adjusting time zones to successfully complete web scraping requests.
El Estado de la Compatibilidad de Node en Deno
23 min
El Estado de la Compatibilidad de Node en Deno
David Sherret
Kevin Whinnery
2 authors
Today's Talk introduces Deno, a next-generation JavaScript runtime with native TypeScript support and improved server-side development features. Deno offers granular permissions for sensitive APIs and includes built-in tools like a test framework and linter. The Talk demonstrates how to use Deno with an existing Node.js project, showcasing compatibility and import features. It also discusses upcoming features like bringing Node modules to Deno and handling file extensions. Overall, Deno provides a seamless transition for Node developers and offers a range of powerful tools and features.
Comprendiendo el Contexto Asíncrono
29 min
Comprendiendo el Contexto Asíncrono
Async local storage is an API that has been around in Node for quite some time and is gaining popularity in other frameworks and runtimes. It allows for easier logging by eliminating the need to pass values through multiple functions. The storage frame in async local storage acts as a map, storing key-value pairs. Tasks and promise continuations are used to perform the next steps in a promise chain. Async Context is a TC39 proposal that adds async local storage to the JavaScript language.
Paz, Amor y JavaScript
17 min
Paz, Amor y JavaScript
The OpenJS Foundation supports the entire JavaScript ecosystem and thousands of open source projects. They follow a neutral nonprofit organization with separate business and technical governance to minimize drama. Rebooting governance and addressing intellectual property can also help reduce conflicts. OpenJS provides collaboration spaces and support in various areas for open source projects. They foster a collaborative environment and invite participation in their projects.
El Lado Oscuro del Open Source
37 min
El Lado Oscuro del Open Source
The talk explores the dark side of open source, focusing on supply chain attacks and the need for improved security measures. It highlights the dangers of loading external code and the importance of mitigating supply chain risks. The talk also discusses the use of AI and LLMs in code analysis to enhance security. It emphasizes the challenges of sustaining IC maintained open source projects and the future of supply chain security. Lastly, it touches on the variations in open source definitions and the empowerment of the open source community.
Construyendo una Pila de Red para nuestra Extensión de Navegador
19 min
Construyendo una Pila de Red para nuestra Extensión de Navegador
The Talk discusses the development of the Jam browser extension, which is a bug reporting tool. It explores the challenges of messaging between different execution environments within a browser and the need for message chunking to overcome size constraints. The Talk also explains how the development team rebuilt the system using a TCP/IP network stack approach, which allowed them to solve messaging difficulties similar to networking problems. The benefits of this approach include a smoother rollout, simpler debugging, and a focus on feature development without worrying about messaging constraints.
Profundizando en Undici
24 min
Profundizando en Undici
Undici is a modern HTTP client for Node.js that offers improved performance and advanced features. It supports HTTP 1.1 and recently added HTTP 2.0 support. Undici provides impressive performance, especially with Undici.Stream. It also supports HTTP 1.1 pipelining, which can significantly cut response time. Undici offers flexible connection management and dispatchers, as well as interceptors for customization. Undici v7 is coming with improved APIs and platformatic runtime for running multiple microservices in the same process.
Consejos y Trucos Profundos de TypeScript
83 min
Consejos y Trucos Profundos de TypeScript
Top Content
Workshop
Josh Goldberg
Josh Goldberg
TypeScript tiene un sistema de tipos poderoso con todo tipo de características sofisticadas para representar estados de JavaScript salvajes y extravagantes. Pero la sintaxis para hacerlo no siempre es sencilla, y los mensajes de error no siempre son precisos al decirte qué está mal. Vamos a profundizar en cómo funcionan muchas de las características más poderosas de TypeScript, qué tipos de problemas del mundo real resuelven, y cómo dominar el sistema de tipos para que puedas escribir código TypeScript verdaderamente excelente.
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
152 min
Construye Aplicaciones Modernas Utilizando GraphQL y Javascript
Workshop
Emanuel Scirlet
Miguel Henriques
2 authors
Ven y aprende cómo puedes potenciar tus aplicaciones modernas y seguras utilizando GraphQL y Javascript. En este masterclass construiremos una API de GraphQL y demostraremos los beneficios del lenguaje de consulta para APIs y los casos de uso para los que es adecuado. Se requiere conocimiento básico de Javascript.
Dominando el Ejecutor de Pruebas de Node.js
117 min
Dominando el Ejecutor de Pruebas de Node.js
Workshop
Marco Ippolito
Marco Ippolito
El ejecutor de pruebas de Node.js es moderno, rápido y no requiere bibliotecas adicionales, pero entenderlo y usarlo correctamente puede ser complicado.Aprenderás cómo utilizar el ejecutor de pruebas de Node.js al máximo.Te mostraremos cómo se compara con otras herramientas, cómo configurarlo y cómo ejecutar tus pruebas de manera efectiva. Durante el masterclass, haremos ejercicios para ayudarte a familiarizarte con el filtrado, el uso de afirmaciones nativas, la ejecución de pruebas en paralelo, el uso de la interfaz de línea de comandos y más. También hablaremos sobre cómo trabajar con TypeScript, crear informes personalizados y cobertura de código.
Bun or Deno will Replace Node.js?
Recording pending
Bun or Deno will Replace Node.js?
Tamar Twena-Stern
Richard Davey
Jonas Peeck
Lucas Santos
4 authors
CommonJS vs ESM, the Fight is on?
Recording pending
CommonJS vs ESM, the Fight is on?
Emanuele Stoppa
Jonas Peeck
 Yagiz Nizipli
Richard Davison
4 authors
Open Source Software: Open Governance or for-profit Startups?
Recording pending
Open Source Software: Open Governance or for-profit Startups?
James Snell
Marco Ippolito
Sylwia Vargas
Jonas Peeck
 Yagiz Nizipli
Robin Ginn
Fortune Ikechi
Cyrus Roshan
8 authors