course
Node.js
Serverside JavaScript done right
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
andnpx
CLI commandspackage.json
andpackage-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
andnpx
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
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
-
Hoge waardering
-
Praktijkgerichte trainingen
-
Gecertificeerde trainers
-
Eigen docenten