Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

Friday 2nd October 2020

10:00 JavaScript Prototypes Behind the Scenes
Talk by Thomas Watson (45 minutes)

JavaScript is a prototype-oriented language. But for many, what this really means or how it actually works is a little fuzzy. It seems, that as quickly as you learn how prototypes work behind the scenes, as quickly do you forget it again. If you can relate to this feeling, this talk is for you. We’ll dive into why JavaScript is a prototype-oriented language instead of class-based and what that means for you as a developer. You’ll learn exactly how prototypal inheritance works in JavaScript - in a way that’s easy to remember - so that you can become a better programmer. Finally, you’ll learn about the security pitfalls that exist in the way prototypal inheritance is implemented in JavaScript and how to write more secure code to avoid those pitfalls.

GraphQL. Accelerated.
Talk by Matteo Collina (45 minutes)

GraphQL is a query language that combines type validation with a query and filtering syntax that makes it easy to get up-and-running with a powerful web API in almost no time. Add to that a vibrant community that keeps creating excellent tooling and documentation, it's clear why GraphQL has become so popular with developers. Every abstraction has a cost, and GraphQL is no exception. The added complexity and a new schema format to parse and execute mean new performance bottlenecks. In addition to performance issues, the wrong use of GraphQL can lead to architectural bottlenecks. Instead of viewing this as a problem, we took this as a challenge, and in this talk, we will unveil how we made it run a lot faster on Node.js using different performance techniques that we have learned in the last few years.

12:00 Serverless at the end of the Universe
Talk by Simona Cotin (45 minutes)

Serverless functions are extremely good at what they do and provide planet-scale computing power for your applications. The one thing where serverless functions fall short is when it comes to state management. When missing state management abilities building up complex flows in your data processing will prove to be quite daunting, and most often than not will require you to provide custom mechanisms for enabling you to communicate between your functions. I am here to explain the challenges and what we can do to tackle them in a way that is extensible and suitable for production environments.

Rapid and type-safe Node.js development with Prisma
Talk by Daniel Norman (45 minutes)

For developers that embrace rapid development, working with relational databases comes with a lot of challenges. But it's possible to optimize for developer experience without compromising on reliability with Prisma – an open-source end-to-end type-safe database toolkit for TypeScript and Node.js. In this workshop, we'll introduce Prisma and learn how it enables rapid and type-safe development while addressing common problems in data-centric applications.

The Security Toolbox For Node
Talk by Milecia McGregor (45 minutes)

Do you have a way to quickly check all of your repos for any vulnerabilities to various attacks? Do you know which attacks you should be preparing your applications for? In this talk, we will cover the top 10 attacks on Node applications and how to handle all of them. Multiple tools will be covered, all of which have been used in production across different back-end architectures. A few of the areas that will be covered include securing dependencies, securing data, and securing your server. By the end of this talk, attendees should have a full security toolbox and they will know how to implement it quickly. This will help with production applications because you will still get through your sprints on time and you will be able to rest knowing you have security measures in place.

The gentle touch of APM - how code tracing works in Node.js
Talk by Emanuil Tolev (45 minutes)

It has been a busy several years in monitoring and observability. As we've hit limits on the visibility and detail that logging and metrics provide, we've turned to tracing and APM (App Performance Monitoring) systems. We can now understand performance bottlenecks and see errors in our apps down to the line of code. But how do they really work under the hood? Come and find out! We'll walk through how a free APM system works - Elastic APM. - Elastic APM's tech architecture - how its Node.js agent hooks deep into web apps - how web frameworks allow us to perform tracing more easily than you might think This talk is friendly to a variety of backgrounds and levels of experience. It would help a lot if you have worked on a production web app, but the focus is on giving an introduction.

16:30 Build a Zero Knowledge backend with Node.js
Talk by m4dz (45 minutes)

Zero Knowledge Architecture is a pattern that allow to build applications where all data is stored and exchanged in an encrypted way. It enforces end-to-end encryption and client-side operations only. Let's gonna see how to build a Zero Knowledge backend, involved in data transfer and keys-echange system, with a JS client-side lib. No more excuses not to secure your applications design.

Examining Observability in Node.js
Talk by Liz Parody (45 minutes)

Imagine your productivity and confidence developing web apps without chrome dev tools. Many do exactly that with Node.js. It is important to observe and learn what's happening in your app to stay competitive and create the most performant and efficient Node.js applications, following the best practices. In this talk, we will explore useful tools to examine your Node.js applications and how observability will speed up development, produce better code while improving reliability and uptime. Don't miss it!