Basic & Advanced JavaScript and Node.JS

Course Overview:

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.

Course Objectives:

  • Understand the non-blocking nature of Node.js
  • Writing asynchronous code with call-backs 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

Pre-requisites:

  • Experience in application development in any programming language
  • Basic knowledge of the JavaScript language
  • Exposure to any server technology (J2EE, .NET, Ruby etc)

Target Audience:

  • Web developer who wants to build data intensive scalable applications using Node.js

Course Duration:

  • 21 hours – 3 days

Course Content:

Day 1

JavaScript

Introduction oLanguage Overview 

  • Data Types oProgramming constructs
  • Handling Exceptions
  • Objects, Functions & Arrays
  • Timer Functions

Expressive JavaScript 

  • The Flexibility of JavaScript
  • JavaScript as a Loosely Typed Language
  • Functions as First-Class Objects
  • Object Mutability

Functions In Depth 

  • Function Objects
  • Function Literal
  • Function Invocation Patterns
  • Augmenting Types
  • Recursion & Closures
  • Functions as Callbacks
  • Function Currying & Memorization

Closures In Depth 

  • How Closures Work
  • Private Variables, Callbacks and Timers
  • Binding Function Contexts
  • Overriding Function Behavior

Object Orientation With Prototypes 

  • Object Instantiation
  • Constructors
  • Inheritance and Prototype Chain
  • Extending Object
  • Extending Number
  • Instantiation Issues
  • Writing class-like code ES6

New in ES6 oClasses olet and const

  • Arrow functions
  • Enhanced Object Literals
  • Destructuring
  • Spread Operator
  • Generators and Iterators
  • Symbols
  • Comprehensions
  • Async Programming using Promises

Using Babel.js 

Day 2 – 3

NODE.JS

Introduction to Node.js

  • Installing Node.js
  • Node’s Event Loop
  • Alternatives to Node.js
  • Writing asynchronous code

Modularizing code

  • Understanding built-in modules
  • Techniques for modularizing JavaScript code
  • Using require() to modularize application code
  • Using npm for third-party modules oHandling Exceptions

Events and Streams 

  • Understanding Events
  • EventEmitter class
  • Understanding Streams
  • Reading and writing streams
  • Using pipe()

Accessing Local Resources

  • Process Object
  • Manipulating File System
  • Understanding Buffers

Node.js and the web

  • Handling web requests
  • Building a web server
  • Understanding the need for web sockets
  • Realtime interaction using socket.io

Building web applications using Express.js 

  • Installing Express.js
  • Routing
  • Parameters and queries in routing
  • Building views using view engine of choice (ejs / jade / handlebars
  • Using blocks for layout ODisplaying data
  • Working with forms
  • Serving files
  • Working with cookies and sessions
  • Authentication and authorization
  • Error Handling

 NodeJs Addons using C++ 

  • Overview of N-API
  • Using node-gyp and node-addon-api
  • Configuring application
  • Building and using C++ Api in Node.js

Scaling Node applications 

  • The Child process model
  • Exec, spawn, and fork functions
  • Using the Cluster module

Node.js Eco System 

  • Node Packages
  • Packages of interest
  • Deciding Factors

Debugging Node Applications

  • Summary and Closing Remarks

 

 

Course Customization Options

To request a customized training for this course, please contact us to arrange.

Best selling courses

CLOUD COMPUTING

Enterprise Architecture

DATA SCIENCE

Tableau Basic

ARTIFICIAL INTELLIGENCE / MACHINE LEARNING / DEEP LEARNING

RPA with UiPath

PROGRAMMING / CODING

MATLAB Fundamentals