title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Node.js Software Development
Course Description
Overview
This course is designed to introduce students Node.js as a platform. Node.js is an open source framework which runs on various platforms, such as Windows, Linux, Unix, Mac OS X, etc. It is build 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 extend.Objectives
- Learn what Node.js is and how its best used
- Install and configure Node.js using platform installation packages and source code
- Manage Node.js Packages with the Node Package Manager
- Use and create Node.js Modules
- Configure and secure a Web Application
- Utilize file and stream resources with Node.js
- Understand common Node.js programming patterns
- Explore performance issues with Node.js
- Troubleshoot Node.js problems
Prerequisites
-
Students should be familiar with JavaScript and Web App concepts
Topics
- What Is Node.js?
- Applications of Node.js
- Installing Node.js and NPM
- 'Hello, Node World!'
- How It Works
- Node.js is built on JavaScript: Benefits
- Traditional Server-Side I/O Model
- Disadvantages of the Traditional Approach
- Event-Driven, Non-Blocking I/O
- Concurrency
- Using Node Package Manager (NPM)
- The Express Server Framework
- Summary
- Nature of a Node.js Project
- Introduction to Modules
- A Simple Module
- Using the Module
- Directory Based Modules
- Example Directory Based Module
- Using the Module
- Making a Module Executable
- Core Modules
- Loading Module from node_modules Folders
- Dependency Management Using NPM
- Installing a Package
- About Global Installation
- Setting Up Dependency
- Package Version Numbering Syntax
- Updating Packages
- Uninstalling Packages
- Alternate Dependency Management
- Summary
- Introduction
- Basic File Manipulation
- Getting File/Directory Meta Data
- Read an Entire File
- The Buffer Class
- Writing to a File
- Reading in Chunks
- Writing in Chunks
- The open() Method
- Stream API
- The Readable Interface
- Example Reading Data in Chunks
- The Writable Interface
- Summary
- Event Driven Programming
- Event Driven Programming (Contd.)
- Event Emitter
- EventEmitter Class
- EventEmitter Class – Inheritance
- The Event Loop and Event Handler
- Phases Overview
- Event Handlers
- Example (Using EventEmitter as an Object)
- Example (Inheriting from EventEmitter)
- EventEmitter Functions
- Issue with 'this' Keyword in Callback Functions
- Handling this Problem
- Controlling Event Callbacks in the Event Loop
- Summary
- Synchronous and Asynchronous
- Callbacks
- Creating a Callback Function
- Calling The Callback Function
- Callback - Another Example
- Issue with 'this' Keyword in Callback Functions
- Handling this Problem
- Handling this Problem – Method 1 (Storing in Another Variable)
- Handling this Problem – Method 2 (Using Bind Function)
- Handling this Problem – Method 3 (Using ES6 Arrow Functions)
- Error Handling without Callback
- Error Handling with Callback
- Asynchronous Callback
- setImmediate() and nextTick()
- API Example
- Summary
- The Problems with Callbacks
- Introduction to Promises
- Requirements for Using Promises
- Creating Promises Manually
- Calling the Promise-based Function
- Making APIs that support both callbacks and promises
- Using APIs that support both callbacks and promises
- Chaining then Method / Returning a Value or a Promise from then Method
- Promisifying Callbacks with Bluebird
- Using Bluebird
- Bluebird – List of Useful Functions
- Benefit of using Bluebird over ES6 for Promisification
- Error Handling in Promise-based asynchronous functions
- Summary
- Introduction
- Bower Package Manager
- Managing Packages Using Bower
- Using Bower Packages
- Describing Dependency
- Grunt Build Manager
- Installing Grunt Components
- Writing a Grunt Build Script
- Running Grunt
- Running the JSHint Task
- Compiling 'Less' Files
- Compressing CSS Files
- Gulp Build Manager
- Gulp vs. Grunt
- Installing Gulp Components
- Writing a Build Script
- Running Gulp
- Compiling Less Files
- Summary
- Introduction to the HTTP Module
- The Request Handler Callback Function
- The Server Object
- Example Use of Server Object
- The Request Object
- The Response Object
- Parsing Request Body
- Serving Static Files
- The HTTP Client API
- Making POST/PUT/etc. Requests
- Where To go from Here?
- Summary
- Problem Determination Options
- Using console.log
- Using the 'debug' Logging Package
- Configure Logging
- The 'Node Inspector' Debugger
- Basic Usage of the Debugger
- Unit Testing Node.js Applications
- Getting Setup
- Writing a Test Script
- Running Unit Test
- Testing Asynchronous Code
- Using the Chai Assert API
- The Chai Expect API
- Summary
- Introduction to Express
- Basic Routing Example
- Defining Routing Rules
- Route Path
- The Response Object
- Supplying URL Parameters
- Ordering of Routes
- Defining Catch All Route
- Full Example Web Service
- Summary
- Introduction to Express Middleware
- Writing a Middleware Function
- Binding to a Path
- Order of Execution
- Raising Error
- Handling Error
- Serving Static Files
- Handling POST Request Body
- Enable Response Compression
- Summary
- Getting Started
- The Connection URL
- Obtaining a Collection
- Inserting Documents
- Updating a Document
- Querying for Documents
- Deleting a Document
- Connection Pooling
- Summary
- Introduction to Pug
- Using Pug
- A Simple Template
- Passing Data to a Template
- Basic HTML Tag Rendering
- Rendering Values
- Conditional Rendering
- Rendering a List
- Layout Template
- Creating a Layout Template
- Creating a Content Template
- Summary
- Process Management
- Managing the Process Using OS Tools
- Installing a Service in Windows
- Create an Upstart Script in Ubuntu
- Process Management Using forever
- Clustering Basics
- Example Clustered Application
- More About Clustering
- Child Process Failover
- Summary
- Microservices
- Microservices with Node.js
- The Express Package
- Installing and Using Express
- Defining Routing Rules in Express
- Route Path
- The Response Object
- A Simple Web Service with Express Example
- Composite Services
- Example - Call an API Using a Promise
- Using the callApi() Function
- Summary
- SuperTest
- Sample Service
- Test without a Testing Framework
- Test with a Testing Framework
- Using Promises with SuperTest
- Nock
- Example
- Example – Request Body
- Using Query String
- Specifying Replies
- Summary
- Node History
- Node Version Policy
- LTS Release Schedule
- Changes in Node.js
- 'npm' Modules and Native Code
- Node 4.x
- Arrow Functions
- Arrow Functions As Parameters
- Using 'this' Within Arrow Functions
- ES2015 Classes
- Declaring Classes
- Declaring Instance Methods
- Accessor Methods
- Static Methods
- Inheritance With Classes
- Generator Functions
- Generator Example
- Controlling Generator Execution - next(value)
- Controlling Generator Execution - return(value)
- Controlling Generator Execution - throw(exception)
- Generator Recursion With 'yield*'
- Tail Call Optimization
- 'const' and 'let'
- Variable Scope
- Shadowing Variables
- Node 5.x
- Spread Operator
- Node 6.x
- Rest Parameter
- Node 7.x
- Node 8.x
- Summary
Related Courses
-
Professional Services
LQPS- Duration: 1 Day
- Delivery Format: Classroom Training, Online Training
- Price: 0.00 USD
-
Introduction to Oracle Database 12c and SQL
DBOR-950- Duration: 3 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,100.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration