NodeJS

Abstract

NodeJS is all about using JavaScript across the stack. With NodeJS you can use the same infrastructure/utilities for both client and server. NodeJS offers an impressive eco-system of open source packages that can be combined to create a first-class server-side application.
During the NodeJS Development course we cover all the “must know” details. We start with a brief introduction to NodeJS and then quickly step into core concepts like NPM, versioning, streams, testing and more.
At the end of the course you will be able to develop server-side applications using NodeJS best practices

Target Audience

  • Good familiarity with one of the OOP popular languages like Java or C#
  • Basic familiarity with JS
  • Basic familiarity with WEB world including HTTP, CSS, HTML
  • No NodeJS experience is required

Content

Practical JavaScript

  • Strict Mode
  • Useful JavaScript “tricks”
  • Closure is expensive
  • IIFE
  • Module patterns: Plain, CJS & ES6
  • Naïve Classes using Module Pattern
  • Prototypical classes & inheritance
  • Profiling Memory consumption of closures & classes
  • ECMAScript 6 new features
  • Typescript

  Introducing NodeJS

  • What & why
  • Installing NodeJS
  • Building my first application
  • Using built-in modules
  • Using custom modules
  • Debugging
  • Integrating with Typescript
  • Building a basic web server
  • Working with REPL

Package Management

  • Creating new project
  • Working with NPM
  • Upgrading NPM
  • Working with multiple versions of NodeJS
  • Understanding package.json
  • Introduction to Yarn
  • Understand NodeJS versioning
  • Creating/publishing new packages
  • Local NPM repo
  • Managing mono repo

Working with core Modules

  • Understanding the Event Loop
  • File system API
  • Streams API
  • Simplifying asynchronous code using Promises & async/await
  • Simplifying command line processing using Yargs
  • Building unit tests
  • Building E2E tests

ExpressJS 

  • Building basic application
  • Building Simple REST API
  • Configuring app
  • Working with Router
  • Working with view engines
  • Authentication/authorization
  • Using Passport
  • Custom middleware
  • Contextual data per request

Communicate with Databases 

  • Working with SQLite
  • Working with MySQL
  • Working with MongoDB/Mongoose
  • Working with Google Data Store
  • How to deal with CPU bound operations
  • NodeJS clustering

Socket.IO 

  • Why use real-time communication
  • When not to use
  • Understanding Web Socket protocol
  • Understanding Web Socket API
  • Using inside Express server
  • Working with Binary stream
  • Creating NodeJS client
  • Auto-reconnection
  • Room support

 

 

 

 

 

Duration

4 days

Enroll Now
Contact us
Share: