Node.js Software Development Training

  4.7 out of 5 - Read Testimonials

This Node.js Software Development Training class introduces Node.js as a platform. Node.js is an open-source framework that runs on various platforms, such as Windows, Linux, Unix, Mac OS X, etc. It is built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node.js uses JavaScript on the server. Node.js can be used to create console, desktop, web services, and web applications. Node.js provides a rich library of various JavaScript modules, which simplifies the development of web applications using Node.js to a great extent.

Goals
  1. Learn what Node.js is and how its best used
  2. Install and configure Node.js using platform installation packages and source code
  3. Manage Node.js Packages with the Node Package Manager
  4. Use and create Node.js Modules
  5. Configure and secure a Web Application
  6. Utilize file and stream resources with Node.js
  7. Understand common Node.js programming patterns
  8. Explore performance issues with Node.js
  9. Troubleshoot Node.js problems
Outline
  1. Introduction to Node.js
    1. What Is Node.js?
    2. Application of Node.js
    3. Installing Node.js and NPM
    4. "Hello, Node World!"
    5. How It Works
    6. Built on JavaScript: Benefits
    7. Traditional Server-Side I/O Model
    8. Disadvantages of the Traditional Approach
    9. Event-Driven, Non-Blocking I/O
    10. Concurrency
    11. Using Node Package Manager (NPM)
    12. Express
    13. Summary
  2. Module and Dependency Management
    1. Nature of a Node.js Project
    2. Introduction to Modules
    3. A Simple Module
    4. Using the Module
    5. Directory Based Modules
    6. Example Directory Based Module
    7. Using the Module
    8. Making a Module Executable
    9. Core Modules
    10. Loading Module from node_modules Folders
    11. Dependency Management Using NPM
    12. Installing a Package
    13. About Global Installation
    14. Setting Up Dependency
    15. Package Version Numbering Syntax
    16. Updating Packages
    17. Uninstalling Packages
    18. Alternate Dependency Management
    19. Summary
  3. The File System Module
    1. Introduction
    2. Basic File Manipulation
    3. Getting File/Directory Meta Data
    4. Read an Entire File
    5. The Buffer Class
    6. Writing to a File
    7. Reading in Chunks
    8. Writing in Chunks
    9. The open() Method
    10. Stream API
    11. The Readable Interface
    12. Example Reading Data in Chunks
    13. The Writable Interface
    14. Summary
  4. Events in Node JS
    1. Event Driven Programming
    2. Event Driven Programming (Contd.)
    3. Event Emitter
    4. EventEmitter Class
    5. EventEmitter Class – Inheritance
    6. The Event Loop and Event Handler
    7. Phases Overview
    8. Event Handlers
    9. Example (Using EventEmitter as an Object)
    10. Example (Inheriting from EventEmitter)
    11. EventEmitter Functions
    12. Issue with 'this' Keyword in Callback Functions
    13. Handling this Problem
    14. Controlling Event Callbacks in the Event Loop
    15. Summary
  5. Asynchronous Programming with Callbacks
    1. Synchronous and Asynchronous
    2. Callbacks
    3. Creating a Callback Function
    4. Calling The Callback Function
    5. Callback - Another Example
    6. Issue with 'this' Keyword in Callback Functions
    7. Handling this Problem
    8. Handling this Problem – Method 1 (Storing in Another Variable)
    9. Handling this Problem – Method 2 (Using Bind Function)
    10. Handling this Problem – Method 3 (Using ES6 Arrow Functions)
    11. Error Handling without Callback
    12. Error Handling with Callback
    13. Asynchronous Callback
    14. setImmediate() and nextTick()
    15. API Example
    16. Summary
  6. Asynchronous Programming with Promises
    1. The Problems with Callbacks
    2. Introduction to Promises
    3. Requirements for Using Promises
    4. Creating Promises Manually
    5. Calling the Promise-based Function
    6. Making APIs that support both callbacks and promises
    7. Using APIs that support both callbacks and promises
    8. Chaining then Method / Returning a Value or a Promise from then Method
    9. Promisifying Callbacks with Bluebird
    10. Using Bluebird
    11. Bluebird – List of Useful Functions
    12. Benefit of using Bluebird over ES6 for Promisifcation
    13. Error Handling in Promise-based asynchronous functions
    14. Summary
  7. Build and Dependency Management
    1. Introduction
    2. Bower Package Manager
    3. Managing Packages Using Bower
    4. Using Bower Packages
    5. Describing Dependency
    6. Grunt Build Manager
    7. Installing Grunt Components
    8. Writing a Grunt Build Script
    9. Running Grunt
    10. Running the JSHint Task
    11. Compiling 'Less' Files
    12. Compressing CSS Files
    13. Gulp Build Manager
    14. Gulp vs. Grunt
    15. Installing Gulp Components
    16. Writing a Build Script
    17. Running Gulp
    18. Compiling Less Files
    19. Summary
  8. Basic Web Application Development
    1. Introduction to the HTTP Module
    2. The Request Handler Callback Function
    3. The Server Object
    4. Example Use of Server Object
    5. The Request Object
    6. The Response Object
    7. Parsing Request Body
    8. Serving Static Files
    9. The HTTP Client API
    10. Making POST/PUT/etc. Requests
    11. Where To go from Here?
    12. Summary
  9. Debugging and Unit Testing
    1. Problem Determination Options
    2. Using console.log
    3. Using the 'debug' Logging Package
    4. Configure Logging
    5. The 'Node Inspector' Debugger
    6. Basic Usage of the Debugger
    7. Unit Testing Node.js Applications
    8. Getting Setup
    9. Writing a Test Script
    10. Running Unit Test
    11. Testing Asynchronous Code
    12. Using the Chai Assert API
    13. The Chai Expect API
    14. Summary
  10. Introduction to Express
    1. Introduction to Express
    2. Basic Routing Example
    3. Defining Routing Rules
    4. Route Path
    5. The Response Object
    6. Supplying URL Parameters
    7. Ordering of Routes
    8. Defining Catch All Route
    9. Full Example Web Service
    10. Summary
  11. Express Middleware
    1. Introduction to Express Middleware
    2. Writing a Middleware Function
    3. Binding to a Path
    4. Order of Execution
    5. Raising Error
    6. Handling Error
    7. Serving Static Files
    8. Handling POST Request Body
    9. Enable Response Compression
    10. Summary
  12. Accessing MongoDB from Node.js
    1. Getting Started
    2. The Connection URL
    3. Obtaining a Collection
    4. Inserting Documents
    5. Updating a Document
    6. Querying for Documents
    7. Deleting a Document
    8. Connection Pooling
    9. Summary
  13. Jade Template Engine
    1. Introduction to Jade
    2. Using Jade
    3. A Simple Template
    4. Passing Data to a Template
    5. Basic HTML Tag Rendering
    6. Rendering Values
    7. Conditional Rendering
    8. Rendering a List
    9. Layout Template
    10. Creating a Layout Template
    11. Creating a Content Template
    12. Summary
  14. Clustering and Failover
    1. Process Management
    2. Managing the Process Using OS Tools
    3. Installing a Service in Windows
    4. Create an Upstart Script in Ubuntu
    5. Process Management Using forever
    6. Clustering Basics
    7. Example Clustered Application
    8. More About Clustering
    9. Child Process Failover
    10. Summary
  15. Microservices with Node.js
    1. Microservices
    2. Microservices with Node.js
    3. The Express Package
    4. Installing and Using Express
    5. Defining Routing Rules in Express
    6. Route Path
    7. The Response Object
    8. A Simple Web Service with Express Example
    9. Composite Services
    10. Example - Call an API Using a Promise
    11. Using the callApi() Function
    12. Summary
  16. Supertest, Spy, and Nock
    1. SuperTest
    2. Sample Service
    3. Test without a Testing Framework
    4. Test with a Testing Framework
    5. Using Promises with SuperTest
    6. Nock
    7. Example
    8. Example – Request Body
    9. Using Query String
    10. Specifying Replies
    11. Summary
  17. New Features in Node.JS Version 4, 6, and 8
    1. Node History
    2. Node Version Policy
    3. LTS Release Schedule
    4. Changes in Node.js
    5. 'npm' Modules and Native Code
    6. Node 4.x
    7. Arrow Functions
    8. Arrow Functions As Parameters
    9. Using 'this' Within Arrow Functions
    10. ES2015 Classes
    11. Declaring Classes
    12. Declaring Instance Methods
    13. Accessor Methods
    14. Static Methods
    15. Inheritance With Classes
    16. Generator Functions
    17. Generator Example
    18. Controlling Generator Execution - next(value)
    19. Controlling Generator Execution - return(value)
    20. Controlling Generator Execution - throw(exception)
    21. Generator Recursion With 'yield*'
    22. Tail Call Optimization
    23. 'const' and 'let'
    24. Variable Scope
    25. Shadowing Variables
    26. Node 5.x
    27. Spread Operator
    28. Node 6.x
    29. Rest Parameter
    30. Node 7.x
    31. Node 8.x
    32. Summary
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this JavaScript class:

  • Some prior understanding of web development, HTML, Ajax, and JavaScript.
Prerequisite Courses

Courses that can help you meet these prerequisites:

Preparing for Class

Training for your Team

Length: 3 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

Training for Yourself

$1,575.00 or 2 vouchers

Upcoming Live Online Classes

  • See More Classes

Please select a class.
  • Live Online Training
  • For Individuals
  • Expert Instructors
  • Guaranteed to Run
  • 100% Free Re-take Option
  • 1-minute Video

What people say about our training

Our instructor was very knowledgeable and experienced.
Greg Bickal
Grant Wood AEA
This course was amazing. The instructor was great. She allowed lots of interaction with her and she was a true teacher.
Kimberlie Frazier
CEC Entertainment
The instructor is very knowledgeable. I have 15 years of programming experience in other languages (not Cold Fusion) and you could tell that he knew the subject matter (Cold Fusion). He is a very patient instructor, willing to help with any problem we have with understanding the subject matter.
Edward Habal
US Army
The instructor did an excellent job of teaching Crystal Reports. He gave really good tips and examples that were very helpful. He really knows Crystal Reporting but taught in a way that was not over my head.
Sherri Hartley
Missouri Western State University

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing

61,492

Students who have taken Instructor-led Training

11,770

Organizations who trust Webucator for their Instructor-led training needs

100%

Satisfaction guarantee and retake option

9.33

Students rated our Node.js Software Development Training trainers 9.33 out of 10 based on 15 reviews

Contact Us or call 1-877-932-8228