Exploring the Fundamentals of Node.js With Mario Casciaro and Luciano Mammino

Node.js’ high scalability and its ability to run Javascript code outside the territories of the web browsers gives it an edge over traditional platforms for web development. It is considered to be possibly the biggest innovation of the decade and is loved not just for its technical capabilities, but also for the paradigm shift that it introduced in web development and, in general, in the software development ecosystem. 

Let’s explore the journey of Mario Casciaro and Luciano Mammino, the authors of Node.js Design Patterns, Third Edition, and get some insights on how they mastered the platform. 

Building a Database Written in Node.js From the Ground Up

The founding team at HarperDB built the first and only database written in Node.js. A few months back, our CEO Stephen Goldberg was invited to speak at a Women Who Code meetup to share the story of this (what some called crazy) endeavor. Stephen discussed the architectural layers of the database, demonstrated how to build a highly scalable and distributed product in Node.js, and demoed the inner workings of HarperDB. You can watch his talk at the link above, and even read a post from back in 2017, but since we all love Node.js and it’s an interesting topic, I’ll summarize here.

The main (and simplest) reason we chose to build a database in Node is that we knew it really well. We got flak for not choosing to Go, but people now accept that Go and Node are essentially head to head (in popularity and community support). Zach, one of our co-founders, recognized that with the time it would have taken to learn a new language, it would never be worth it.

Use a Given Version of Node.js on a Jenkins Project

Like many others, we’re using Jenkins at my organization for tasks like testing or deploying some of our projects. Recently, I had to figure out a way to have a different Node.js version on a Jenkins project bound to a branch I was working on.

What Is Jenkins?

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software. - Jenkins Docs