4 + 1 ways for making HTTP requests with Node.js: async/await edition

HTTP requests with Node.js are a means for fetching data from a remote source. It could be an API, a website, or something else: at one point you will need some code to get meaningful data from one of those remote sources.

4 + 1 ways for making HTTP requests with Node.js: async/await edition

During your career as a Web Developer you will work with HTTP requests all the time. This is why in the following post I want to introduce you to some different ways for making HTTP requests in Node.js.

Starting from the easier one we will explore the “classic way” for doing HTTP requests all the way through libraries which support Promises.

Continue reading “4 + 1 ways for making HTTP requests with Node.js: async/await edition”

A clear and concise introduction to testing Koa with Jest and Supertest

Photo Credit: Wikimedia Commons

Mocha and Chai are the way to go when it comes to testing a Node API but I couldn’t resist to give Jest a try. Lately I’ve covered Test Driven Development by building a basic RESTful API. My goal today? Rewrite a bunch of tests by switching to Jest and async/await.

Continue reading “A clear and concise introduction to testing Koa with Jest and Supertest”

An Introduction to Building TDD RESTful APIs with Koa 2, Mocha and Chai

Building something with Javascript is relatively easy. Take a look on Medium and you’ll see an uninterrupted stream of articles and tutorials.

But… how many of them covers Test Driven Development with Javascript? Few. Mine included. Testing is hard and more often than not I find myself writing code without even having a test case.

So, what follows is an introduction to building a RESTful API with Koa 2, Mocha and Chai, by following the TDD principles.

Koa 2, Mocha, and Chai

The concept is simple: we’ll build a simple API for displaying and storing a collection of blog articles, code and tests included!

Continue reading “An Introduction to Building TDD RESTful APIs with Koa 2, Mocha and Chai”

Going real time with Socket.IO, Node.Js and React

Looks like everybody is building chat apps with Socket.IO these days and while that’s completely fine, messaging applications are only the tip of the iceberg. Think a moment about it: there are literally a million of other things you can build within the real-time domain.

If you want to see an example, here’s something I’ve built recently: io-monitoring-proxy. It’s a minimal ExpressJs proxy for interacting with two monitoring APIs. The application makes a call to the APIs as soon as a Socket.IO client gets connected. The frontend is represented by a React application which is in charge for displaying the data in real time: io-monitoring-dashboard

In the following post I would like to explore some interesting use cases and hopefully give you ideas about what to build next with Socket.IO. We will start with some basic concepts all the way through exploring what Socket.IO and React can do for us when paired together.

By the end of the article you will build a super simple real-time application:

Socket.IO and React paired together

That will be quite a long post! Grab a cup of tea and take a seat before getting started!

Continue reading “Going real time with Socket.IO, Node.Js and React”

How to inspect the memory usage of a process in Node.Js

While everyone seems to agree about the fact that premature optimization could be detrimental, you must care about performances either way: in the most simplest case you may want to know how much memory a given Node.js process uses during its execution.

In this post we will see how to use a Node.js builtin method in order to gain knowledge about the memory usage of any given process.

Continue reading “How to inspect the memory usage of a process in Node.Js”