Mastering Node.js 12.x

Mastering Node.js 12.x
Mastering Node.js 12.x
English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 4h 17m | 861 MB

Take advantage of the best Node.js 12 features to develop fast and scalable web APIs

Node.js is a technology that you can quickly become familiar with, but it can be hard to master to build fast and secure solutions. Instead of covering the basics, this course will help you to progress to understand advanced concepts such as asynchronicity, the event loop, clean error handling with Express Middleware and functional reactive programming.

You will start off by working through the process of creating a subscription management system, where you will optimize directory structures. This will help you with the organization, as Node.js apps usually don’t follow filename and directory conventions. As you delve deeper into the course, you’ll learn how to build an API in the form of microservices, managed through PM2. As you progress, you will connect and utilize two of the most widely used technologies in the Node.js World; MySQL, the most commonly used relational database, and Redis, a popular technology used in caching. Once you’ve built a solid infrastructure, you’ll be able to build an authentication service with the help of Passport and JSON Web Tokens.

By the end of this course, you will be able to tackle harder challenges in your Node.js projects by efficiently using the best tools available, while also meeting demanding industry standards for a clean and scalable code.

In this course, we cover the most complex and often overlooked concepts of Node.js such as proper error handling with middleware, the effective use of async/await, and real-world examples of using databases such as MySQL and technologies such as Redis.

What You Will Learn

  • Simplify asynchronous operations and write faster code with async/await
  • Write easily readable code with functional reactive programming techniques
  • Handle errors effectively and provide relative responses quickly
  • Organize your code in controllers with Express.js Route
  • Set up MySQL and query it with Sequelize
  • Achieve effortless communication between microservices
  • Secure endpoints and authenticate users with JSON Web Tokens (JWTs)
  • Respond to repeated requests by caching responses with Redis
Table of Contents

The Node.js Concurrency Model
1 The Course Overview
2 The Event Loop
3 Mastering Promises
4 Using Util.promisify
5 Learning async await

Functional Reactive Programming
6 Introduction to Functional Programming
7 Replacing for Loops with forEach
8 Filtering Arrays
9 Map and Reduce
10 Introduction to Streams with RxJS
11 Working with Observables

Mastering Express.js
12 Creating a Controller with Express.Router
13 Creating a Service
14 Essential Middleware
15 Model Validation
16 Handling and Reporting Errors

Connecting to MySQL
17 Install and run MySQL
18 Installing Sequelize
19 Creating Sequelize Models
20 Utilizing Migrations
21 Finishing the Service

Node.js Microservices with PM2
22 The Database per Service Pattern
23 Managing Processes with PM2
24 Communicating using REST
25 Communicating using AMQP
26 CQRS and Event Sourcing
27 Designing an API Gateway

28 Creating a User Model
29 Password Hashing
30 Introduction to JSON Web Tokens
31 The Sign-Up Endpoint
32 The Sign-In Endpoint
33 Installing Passport
34 Authentication Middleware

Caching with Redis
35 Introduction to Redis
36 Connecting to Redis
37 Creating a Caching Service
38 Invalidating the Cache