Building Server Applications using Node.js Training Course

Building Server Applications using Node.js Training Course

Overview

Course Duration: 3 Days

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.

Objectives

At the end of this training course, the participants will:
  • Understand the non-blocking nature of Node.js 
  • Writing asynchronous code with callbacks and streams 
  • Learn how to modularize code using NPM and require() 
  • Understand and take advantage of the built-in apis for building scalable few applications 
  • Learn how to build web applications using Express.js 
  • Understand how to handle authentication and authorization 
  • Learn how to build real-time applications using WebSockets and socket.io
Day-1
  • New in ES6

oClasses
olet and const
oArrow functions
oEnhanced Object Literals
oDestructuring
oSpread Operator
oGenerators and Iterators
oSymbols
oComprehensions
oAsync Programming using Promises
oAsync Programming using Async Await
  • Introduction to Node.js
oInstalling Node.js
oNode’s Event Loop
oAlternatives to Node.js
OWriting asynchronous code
  • Unit Testing
OWriting Tests Using Mocha.js
OAssertion helpers in Chai.js
OMocks using sinon.js
OSetting up a test harness for Node applications
  • Modularizing code
OUnderstanding built-in modules
oTechniques for modularizing JavaScirpt code
oUsing require() to modularize application code
oUsing npm for third-party modules
oHandling Exceptions

  • Events and Streams
oUnderstanding Events
OEventEmitter class
OUnderstanding Streams
OReading and writing streams
OUsing pipe()

Day-2
  • Accessing Local Resources
OProcess Object
OManipulating File System
OUnderstanding Buffers
  • Node.js and the web

OHandling web requests
OBuilding a web server
OUnderstanding the need for web sockets
ORealtime interaction using socket.io
  • Building web applications using Fastify.js / Express.js
OInstalling Fastify.js / Express.js
ORouting
OParameters and queries in routing
OServing Data
ORouting
OUsing plugins (middlewares)
OWorking with cookies and sessions
OAuthentication and authorization
OError Handling
OPersisting data in the database

  • Messaging Using RabbitMQ
OIntroduction
OQueing Architecture
OInstallation & Configuration
ORabbitMQ Exchanges
ORouting
OPublisher & Subscriber of Messages
OSending & Receiving Messages

Day-3
  • Deploying Node applications

OSetting ‘ENVIRONMENT’
OSetting appropriate environment variables
OHandling appropriate logging levels
OEnsure application auto restarting
OUsing a Process Manager
OUsing PM2
OUsing a Cache Server
  • Building Microservices OMicroservices Tenants
OBuilding Microservices
OHosting Microservies in containers (Docker)

  • Scaling Node applications
OThe Child process model
Oexec, spawn, and fork functions
OUsing the Cluster module

ONode Packages
OPackages of interest
ODeciding Factors

•Debugging Node Applications ONode Inspector OUsing –-inspect switch in node OUsing ‘debug’ module OUsing the ‘debugger’ expression
Must Have
  • Experience in application development in any programming language
  • Intermediate to advanced knowledge of the JavaScript language

Good To Have
  • Exposure to any server technology (J2EE, .NET, Ruby etc)
Course ID:
BSAN


Show Schedule for: