Remember when profiling Node.js meant wrestling with perf, sed scripts, and mysterious V8 internals? Traditional flame graph generation has been like performing surgery with a sledgehammer. In this talk, Matteo opens with humor before diving into a core problem many developers face: traditional Node...
Despite exaggerated claims about its decline, Node.js is thriving. Its continued evolution pushes the boundaries of what the modern web can do. We'll start by debunking common myths about Node.js, then highlight recent enhancements and demonstrate its robust performance in today's tech landscape.
Is Node.js really single-threaded? The answer has changed. Node.js was announced in 2009 as a single-threaded JavaScript runtime. In 2018, it became multi-threaded, and no one noticed. Learn how to leverage multi-threading to build faster, more scalable applications with worker_threads.
Node.js continues to thrive despite claims of its decline. We debunk myths, highlight recent enhancements, and demonstrate its robust performance in today's tech landscape. The talk covers Node.js's role in server-side programming and cloud-native applications, community contributions, integration o...
Talk recorded at the 10th edition of the dotJS conference at the Folies Bergère theater in Paris. Node.js will use all the memory available, and that's completely fine and expected behavior.
You've been deploying Node.js wrong. For years, the community has treated Node.js as a simple runtime—start a process, put it behind a reverse proxy, scale horizontally. But this approach ignores fundamental architectural problems that become painfully obvious in production. I make the case for why ...
Choosing the right HTTP client is a critical decision when building dynamic web applications with Node.js. In this comprehensive talk, I explore the available HTTP client options in Node.js for 2024 and help you make an informed decision.
Node.js continues to thrive despite exaggerated claims about its decline. Its continued evolution pushes the boundaries of what the modern web can do. We cover Node.js's role in server-side programming and cloud-native applications, community contributions, integration of modern JavaScript features,...
Undici, the next-generation HTTP client built by the Node.js Core team, powers Node.js core fetch(). Let’s dig into how its internals work, discovering how to work with Dispatchers, Agents, and Pools. Last but not least, we’ll even do some magic.
CityJS London 2024London, United KingdomApril 2024
Despite the exaggerated claims about its decline, Node.js is thriving. Its continued evolution pushes the boundaries of what the modern web can do. We'll start by debunking myths about Node.js, showcasing its recent enhancements and robust performance in the tech landscape. The focus then shifts to ...
In this talk, I explain why NODE_ENV=production is a lie and what you should do instead to properly configure your Node.js applications for production environments.
How do you generate types dynamically? How do you write a script that creates some TypeScript code? This talk explores approaches to generating TypeScript types without using complex AST manipulations, sharing a practical and easy-to-implement solution developed for an OpenAPI client under a tight d...
TypeScript Congress 2023Online, nullSeptember 2023
How do you generate types dynamically? How do you write a script that creates some TypeScript code? This talk explores approaches to generating TypeScript types without using complex AST manipulations, sharing a practical and easy-to-implement solution developed for an OpenAPI client under a tight d...
As developers we stand on the shoulders of giants, and it can be helpful to take a look at the past to gain a better perspective. In this talk we briefly explore the past decade of backend development and architectural patterns. We've often ditched technologies in an attempt to make the developer ex...
ORMs are often a hurdle to overcome for the most complex part of a project. As the next stop of my journey, I recommended people use the native languages of their databases, e.g., SQL. This works great for the most part, but it creates quite a struggle: there is a lot of boilerplate code to write th...
Deploying Node.js at scale is an art mastered by few. The most common problem is an exhaustion of resources that allows the application to denial of service itself. The result is Node.js systems that are massively overprovisioned, wasting enormous amounts of computing and memory - keeping most of th...
A talk about building modular monoliths with Fastify, showing how to structure larger applications while maintaining the benefits of a monolithic architecture.
What's an ORM? An Object-Relational Mapping tool (ORM) is a library to map a SQL table to a Class. In most cases, ORMs force the users to structure their code into Model objects that include both data access and business logic. This talk shares the journey from using ORMs to avoiding them, and final...
OpenJS World 2022Austin, TX, United StatesJune 2022
In my journey through nodeland, I went into the woods. After a nice stroll, I started seeing V8 shapes everywhere. They led into a dark cave and there was a new one every time I turned my head. My mind became megamorphic. What's a V8 shape? Why does it matter? Are there any problems if we created ma...
OpenJS World 2022Austin, TX, United StatesJune 2022
It's 2030 and all companies are now digital but users are dissatisfied and keep loving a few brands. The best ones offer a seamless digital experience. The worst are sluggish and they wonder how they got there and how to improve. In short, nothing has changed since 2022.
As developers, we are strug...
How would you implement a performant GraphQL cache? How can we design a good algorithm for it? Is there a good Open Source solution that is efficient, scalable and easy to deploy? How is the caching key computed? What about cache invalidations? Would it be possible to deduplicate resolver execution?...
In my journey through nodeland, I always wonder about the cost of my abstractions.
I started a journey to write an HTTP framework with extremely low overhead, and Fastify was born. With its ability to reach an astonishing 90k requests/sec, Fastify can halve your cloud server bill.
In this talk, I ...