651-905-3729 Microsoft Silver Learning Partner EC Counsel Reseller compTIA Authorized Partner

Developing NodeJS & Angular

3 days

Description

NOTE: This course is only availible by customer request. If you are interested in taking this course, please call 651-905-3729 or submit a request for a date.

For details on this course, please see the "Outline" tab.

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Developing NodeJS & Angular class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date

Course Overview

Chapter 1. Introducing Angular

  • What is Angular?
  • Central Features of the Angular Framework
  • Appropriate Use Cases
  • Building Blocks of an Angular Application
  • Basic Architecture of an Angular Application
  • Installing and Using Angular
  • Anatomy of an Angular Application
  • Running the Application
  • Building and Deploying the Application
  • Summary

Chapter 2. Introduction to TypeScript

  • Programming Languages for Use with Angular
  • TypeScript Syntax
  • Programming Editors
  • The Type System – Defining Variables
  • The Type System – Defining Arrays
  • Type in Functions
  • Type Inference
  • Defining Classes
  • Class Methods
  • Class Constructors
  • Class Constructors – Alternate Form
  • Interfaces
  • Working with ES6 Modules
  • Visibility Control
  • var vs let
  • Arrow Functions
  • Arrow Function Compact Syntax
  • Arrow Function and Caller Context
  • Template Strings
  • Generics in Class
  • Generics in Function
  • Generics - Restricting Types
  • TypeScript Transpilation
  • Summary

Chapter 3. Components

  • What is a Component?
  • An Example Component
  • Creating a Component Using Angular CLI
  • The Component Class
  • The @Component Decorator
  • Registering a Component to Its Module
  • Component Template
  • Example: HelloComponent Template
  • Example: The HelloComponent Class
  • Using a Component
  • Run the Application
  • Component Hierarchy
  • The Application Root Component
  • The Bootstrap File
  • Component Lifecycle Hooks
  • Example Lifecycle Hooks
  • CSS Styles
  • Summary

Asynchronous Programming with Promises

  • 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

CHAPTER 10. ANGULARJS SERVICES

  • Introduction to Services
  • Defining a Service
  • The factory() Method Approach
  • The service() Method Approach
  • The provider() Method Approach
  • Using a Service
  • Configuring a Service using its Provider
  • Summary

CHAPTER 19. INTRODUCTION TO NODE.JS

  • What is Node.js?
  • Application of Node.js
  • Node Package Manager (NPM)
  • Installing Node.js and NPM
  • "Hello, Node World!"
  • How it Works
  • Built on JavaScript – benefits
  • Traditional Server-Side I/O Model
  • Disadvantages of the traditional Approach
  • Event-Driven, Non-Blocking I/O
  • Concurrency
  • Express
  • Summary

CHAPTER 20. MODULE AND DEPENDENCY MANAGEMENT

  • 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

CHAPTER 21. THE FILE SYSTEM MODULE

  • 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

CHAPTER 22. BASIC WEB APPLICATION DEVELOPMENT

  • 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

CHAPTER 23. DEBUGGING AND UNIT TESTING

  • 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

CHAPTER 24. INTRODUCTION TO EXPRESS

  • 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

CHAPTER 25. EXPRESS MIDDLEWARE

  • 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

CHAPTER 27. ACCESSING MONGODB

  • Getting Started
  • The Connection URL
  • Obtaining a Collection
  • Inserting Documents
  • Updating a Document
  • Querying for Documents
  • Deleting a Document
  • Connection Pooling
  • Summary

CHAPTER 28. CLUSTERING AND FAILOVER

  • Process Management
  • Managing the Process Using OS Tools
  • Installing a Service in Window
  • Create an Upstart Script in Ubuntu
  • Process Management Using forever
  • Clustering Basics
  • Example Clustered Application
  • More About Clustering
  • Child Process Failover
  • Summary

Chapter 4. REST Services

  • Many Flavors of Services
  • Understanding REST
  • Principles of RESTful Services
  • REST Example – Create
  • REST Example – Retrieve
  • REST Example – Update
  • REST Example – Delete
  • REST Example – Client Generated ID
  • SOAP Equivalent Examples
  • REST Example – JSON
  • Famous RESTful Services
  • Additional Resources
  • What is gRPC?
  • Protocol Buffers
  • REST vs. gRPC
  • Protobuf vs. JSONHTTP/2 vs. HTTP 1.1
  • HTTP/2 vs. HTTP 1.1 (Contd.)
  • Messages vs. Resources and Verbs
  • Streaming vs. Request-Response
  • Strong Typing vs. Serialization
  • Web Browser Support
  • REST vs. gRPC – In a Nutshell
  • Summary

Chapter 5. Microservices with Node.js

  • What is Node.js?
  • Node’s Value Proposition
  • Example of a Node.js App: a Simple Web Server
  • Node.js Project Types
  • Managing Large Applications
  • Core Modules
  • Why Node.js uses JavaScript?
  • The Traditional Concurrency Support Model
  • Disadvantages of the Traditional Approach
  • Event-Driven, Non-Blocking I/O
  • The Success Callback Function
  • Using Node Package Manager (NPM)
  • NPM Registry (Repository)
  • NPM Enterprise
  • Package Life-Cycle Management
  • Local and Global Package Installation Options
  • Listing and Using Module Versions
  • The Express Package
  • Installing and Using Express
  • Defining Routing Rules in Express
  • Route Path
  • The Response Object
  • A Simple Web Service with Express Example The MEAN Stack
  • Summary

No Upcoming Public Classes

There are currently no public events available for this course. However, you can submit a request for a new date and we will try our best to get you into a Developing NodeJS & Angular class.

Private Training Available
No date scheduled, don’t see a date that works for you or looking for a private training event, please call 651-905-3729 or submit a request for further information here.
request a private session or new date