course

NL/EN
This training is available in Dutch and English. More information

Node.js

Serverside JavaScript done right

Not yet scheduled
- No location
-
Keep me posted
3 days
2220 (excl. VAT)
Keep me posted

Description

Node.js brings JavaScript to the server and enriches her with diverse arrangement of APIs.

In this training, you'll learn Node.js inside and out. We'll work with everything Node has to offer, as well as what's present in the ecosystem. This includes filesystem operations and setting up a low-level (web)server, but also the use of web frameworks and talking to a database through an abstraction layer. Along the way, interesting historical moments will be shared, as well as experiences and best practices.

Prior Knowledge

No specific prior knowledge required.

Subjects

Node.js basics

In this module, you will learn the basics of working with Node.js

Lessons

  • Node.js scripts
  • CommonJS and ES Modules
  • Debugging Node scripts

Lab: Run your first script and discover debugging possibilities

After completing this module, students will be able to:

  • Run Node.js scripts
  • Import modules with CommonJS and ES Modules
  • Debug Node scripts with multiple debug tools

File system

In this module, you will learn how to deal with the filesystem through Node.js.

Lessons

  • Reading/writing files
  • Reading/writing directories
  • With and without promises
  • Working with streams
  • Filesystem events

Lab: watch the file system for changes and use the file system API to read/write files

After completing this module, students will be able to:

  • Read and write small and large files
  • Respond to filesystem events

Modules

In this module, you'll learn the ins and out of creating and using npm packages.

Lessons

  • npm and npx CLI commands
  • package.json and package-lock.json
  • Installing and using npm packages
  • Create a custom package using CommonJS and ES Modules
  • Popular packages

Lab: Create an npm package

After completing this module, students will be able to:

  • Use the npm and npx CLI commands
  • Configure Node.js projects
  • Install and use npm packages

Event loop

In this module, you will learn how JavaScript deals with asynchronicity.

Lessons

  • Event loop vs using threads
  • Examples with Node.js / browser / libraries

After completing this module, students will be able to:

  • Recognize async situations
  • Debug and solve problems with asynchronicity

Testing

In this module, you'll learn to test Node.js scripts.

Lessons

  • Unit testing with Mocha, Chai and Sinon
  • Mutation testing with Stryker

Lab: unit test a small project with code coverage and mutation testing

After completing this module, students will be able to:

  • Unit test with Mocha, Chai and Sinon
  • Produce code coverage using Istanbul
  • Use Stryker to perform mutation testing

TCP and HTTP

In this module, you will learn how to make and respond to TCP/HTTP requests.

Lessons

  • Respond to incoming TCP/HTTP requests
  • Send TCP/HTTP requests

Lab: setup a basic webserver

After completing this module, students will be able to:

  • Set up a basic TCP server
  • Set up a basic HTTP server

Web frameworks

In this module, you will learn how to setup a backend using JavaScript.

Lessons

  • JavaScript in the backend
  • Node.js and Deno
  • Different Node.js web frameworks, such as Express, Nest and Socket.io
  • What to look for in a web framework

Lab: Setup a webserver using a web framework

After completing this module, students will be able to:

  • Reason why a JavaScript-based backend may be a solid choice
  • Choose between Node.js and Deno
  • Know which framework will help them best in which scenario

Data access

In this module, you will learn about the different options for accomplishing data access.

Lessons

  • NoSQL and SQL databases
  • Connect to a database using native connectors
  • Connect to a database using a query builder
  • Connect to a database using an ODM/ORM

Lab: Use a database to store and retrieve entities

After completing this module, students will be able to:

  • Connect to NoSQL or SQL databases
  • Determine which level of abstraction is right for their project

Schedule

Keep me posted

All courses can also be conducted within your organization as customized or incompany training.

Our training advisors are happy to help you provide personal advice or find Incompany training within your organization.

Prior knowledge courses

"Very pleasant teacher, gave a very good interpretation of the course in their own way. It was nice to follow the course like that."
Marieke
  • icon

    Hoge waardering

  • icon

    Praktijkgerichte trainingen

  • icon

    Gecertificeerde trainers

  • icon

    Eigen docenten