MEAN JavaScript Technology Stack Training in Durham

Enroll in or hire us to teach our MEAN JavaScript Technology Stack class in Durham, North Carolina by calling us @303.377.6176. Like all HSG classes, MEAN JavaScript Technology Stack may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, MEAN JavaScript Technology Stack may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
What is Mean Stack? Our Mean Stack course goes in depth to answer this question. MEAN [MongoDB, Express, Angular, and Node.JS] represents a new breed of software platforms that creatively leverage a stack of production-ready technologies centered on JavaScript. This intensive training course introduces the students to the essential concepts, design principles, idioms, and techniques behind the efficient use of the MEAN JavaScript Technology Stack. Upon completion of this training course, students will have a solid understanding of MEANS? value proposition; they will also gain practical experience working with all the components of the MEAN stack. This high-octane training course is supplemented by hands-on labs that help the students reinforce their theoretical knowledge of the learned material.
Course Length: 5 Days
Course Tuition: $2090 (US)

Prerequisites

None

Course Outline

 
  1. Introducing Angular
    1. What is Angular?
    2. Central Features of the Angular Framework
    3. Appropriate Use Cases
    4. Building Blocks of an Angular Application
    5. Basic Architecture of an Angular Application
    6. Installing and Using Angular
    7. Anatomy of an Angular Application
    8. Running the Application
    9. Building and Deploying the Application
    10. Summary
  2. Introduction to TypeScript
    1. Programming Languages for Use with Angular
    2. TypeScript Syntax
    3. Programming Editors
    4. The Type System – Defining Variables
    5. The Type System – Defining Arrays
    6. Type in Functions
    7. Type Inference
    8. Defining Classes
    9. Class Methods
    10. Class Constructors
    11. Class Constructors – Alternate Form
    12. Interfaces
    13. Working with ES6 Modules
    14. Visibility Control
    15. var vs let
    16. Arrow Functions
    17. Arrow Function Compact Syntax
    18. Arrow Function and Caller Context
    19. Template Strings
    20. Generics in Class
    21. Generics in Function
    22. Generics - Restricting Types
    23. TypeScript Transpilation
    24. Summary
  3. Components
    1. What is a Component?
    2. An Example Component
    3. Creating a Component Using Angular CLI
    4. The Component Class
    5. The @Component Decorator
    6. Registering a Component to Its Module
    7. Component Template
    8. Example: HelloComponent Template
    9. Example: The HelloComponent Class
    10. Using a Component
    11. Run the Application
    12. Component Hierarchy
    13. The Application Root Component
    14. The Bootstrap File
    15. Component Lifecycle Hooks
    16. Example Lifecycle Hooks
    17. CSS Styles
    18. Summary
  4. Component Templates
    1. Templates
    2. Template Location
    3. The Mustache {{ }} Syntax
    4. Setting DOM Element Properties
    5. Setting Element Body Text
    6. Event Binding
    7. Expression Event Handler
    8. Prevent Default Handling
    9. Attribute Directives
    10. Apply Styles by Changing CSS Classes
    11. Example: ngClass
    12. Applying Styles Directly
    13. Structural Directives
    14. Conditionally Execute Template
    15. Example: ngIf
    16. Looping Using ngFor
    17. ngFor Local Variables
    18. Manipulating the Collection
    19. Example - Deleting an Item
    20. Item Tracking with ngFor
    21. Swapping Elements with ngSwitch
    22. Grouping Elements
    23. Template Reference Variable
    24. Summary
  5. Inter Component Communication
    1. Communication Basics
    2. The Data Flow Architecture
    3. Preparing the Child to Receive Data
    4. Send Data from Parent
    5. More About Setting Properties
    6. Firing Event from a Component
    7. @Output() Example - Child Component
    8. @Output() Example - Parent Component
    9. Full Two Way Binding
    10. Setting up Two Way Data Binding in Parent
    11. Summary
  6. Template Driven Forms
    1. Template Driven Forms
    2. Importing Forms Module
    3. Basic Approach
    4. Setting Up a Form
    5. Getting User Input
    6. Omitting ngForm Attribute
    7. Initialize the Form
    8. Two Way Data Binding
    9. Form Validation
    10. Angular Validators
    11. Displaying Validation State Using Classes
    12. Additional Input Types
    13. Checkboxes
    14. Select (Drop Down) Fields
    15. Rendering Options for Select (Drop Down)
    16. Date fields
    17. Radio Buttons
    18. Summary
  7. Reactive Forms
    1. Reactive Forms Overview
    2. The Building Blocks
    3. Import ReactiveFormsModule
    4. Construct a Form
    5. Design the Template
    6. Getting Input Values
    7. Initializing the Input Fields
    8. Setting Form Values
    9. Subscribing to Input Changes
    10. Validation
    11. Built-In Validators
    12. Showing Validation Error
    13. Custom Validator
    14. Using a Custom Validator
    15. Supplying Configuration to Custom Validator
    16. Sub FormGroups - Component Class
    17. Sub FormGroups - HTML Template
    18. Why Use Sub FormGroups
    19. Summary
  8. Introduction to MongoDB
    1. MongoDB
    2. MongoDB Features
    3. MongoDB's Logo
    4. Positioning of MongoDB
    5. MongoDB Applications
    6. MongoDB Data Model
    7. MongoDB Limitations
    8. MongoDB Use Cases
    9. MongoDB Query Language (QL)
    10. The CRUD Operations
    11. The
    12. find
    13. Method
    14. The
    15. findOne
    16. Method
    17. A MongoDB QL Example
    18. Data Inserts
    19. MongoDB vs Apache CouchDB
    20. Summary
  9. MongoDB Data Model
    1. The BSON Data Format
    2. Database Terminology
    3. MongoDB Data Model
    4. The _id Primary Key Filed Considerations
    5. Indexes
    6. (Traditional) Data Modeling in RDBMS
    7. Data Modeling in MongoDB
    8. An Example of a Data Model in MongoDB
    9. MongoDB Data Modeling
    10. A Sample JSON Document Matching the Schema
    11. To Normalize or Denormalize?
    12. MongoDB Limitations
    13. Data Lifecycle Management
    14. Data Lifecycle Management: TTL
    15. Data Lifecycle Management: Capped Collections
    16. Summary
  10. MongoDB Architecture
    1. MongoDB Nexus Architecture
    2. Blending the Best of Both Worlds
    3. What Makes MongoDB Fast?
    4. Pluggable Storage Engines
    5. Data Sharding
    6. Sharding in MongoDB
    7. Data Replication
    8. A Sample Sharded Cluster Diagram
    9. GridFS
    10. Getting a File from GridFS
    11. MongoDB Security
    12. Authentication
    13. Data and Network Encryption
    14. Summary
  11. MongoDB Administration
    1. The Admin Shell
    2. Getting Help
    3. Admin Commands
    4. Starting MongoDB
    5. The mongod Web UI
    6. Running MongoDB .JS Scripts
    7. Shell Helper to JavaScript Equivalent Map
    8. A MongoDB Script Example
    9. Connecting to MongoDB
    10. User Authentication
    11. Authentication Options
    12. Import / Export Operations
    13. MongoDB Extended JSON and Strict Mode
    14. Examples of Strict Mode Encoding
    15. Examples of Data Import / Export
    16. The Robomongo Tool
    17. Robomongo Features
    18. Summary
  12. Working with Data in MongoDB
    1. Reading Data in MongoDB
    2. The Query Interface
    3. Query Syntax is Driver-Specific
    4. Projections
    5. Query and Projection Operators
    6. MongoDB Query to SQL Select Comparison
    7. Cursors
    8. Cursor Expiration
    9. Writing Data in MongoDB
    10. An Insert Operation Example
    11. The Update Operation
    12. An Update Operation Example
    13. A Remove Operation Example
    14. Limiting Return Data
    15. Data Sorting
    16. Aggregating Data
    17. Aggregation Stages
    18. Accumulators
    19. An Example of an Aggregation Pipe-line
    20. Map-Reduce
    21. Summary
  13. Indexes in MongoDB
    1. Indexes in MongoDB
    2. Creating an Index
    3. Listing Existing Indexes
    4. The Sort Order
    5. Using the Explain() Method
    6. Main Index Types
    7. The _id Field
    8. Single and Compound Indexes
    9. Multikey Indexes
    10. Other Index Types
    11. Index Properties
    12. Examples of Creating Indexes with Index Properties
    13. Summary
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. Introduction to Single Page Application
    1. What is a Single Page Application (SPA)?
    2. How is it Any Different?
    3. Why Create SPA?
    4. It's Not All or Nothing
    5. Challenges to SPA
    6. Implementing SPA Using Angular
    7. Simple SPA Using Visibility Control
    8. Dynamic Templates Using ng-include
    9. Example of Dynamic Template
    10. SPA Using the $route Service
    11. Summary
  24. The Route Service
    1. Introduction to the Route Service
    2. Downloading the Route Service Code
    3. Using the Route Service
    4. Setting up the Route Table
    5. URL Fragment Identifier
    6. Showing the Views
    7. Navigation
    8. The $location Service
    9. Programmatic Navigation
    10. Controllers for the Views
    11. Example Controllers for Views
    12. Passing URL Parameters
    13. Accessing Query Parameters
    14. Configuring Route Parameters
    15. Accessing Route Parameters
    16. HTML5 Mode
    17. Using the HTML5 Mode
    18. Bookmarking HTML5 Mode URL
    19. Summary
  25. Clustering and Failover
    1. Process Management
    2. Managing the Process Using OS Tools
    3. Installing a Service in Window
    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
  26. Lab Exercises
    1. Introduction to Angular
    2. Introduction to TypeScript
    3. Introduction to Components
    4. Component Template
    5. Create a Photo Gallery Component
    6. Template Driven Form
    7. Create an Edit Form
    8. Reactive Form
    9. Learning the MongoDB Lab Environment
    10. The MongoDB Database Operations
    11. The MongoDB Admin Shell
    12. Import Export Operations in MongoDB
    13. Working with Data in MongoDB
    14. Getting Started With Node.js
    15. Basics of a Node.js Module
    16. Using Node Package Manager (npm)
    17. Building Module Dependency
    18. Using the Stream API
    19. Basic Web Application Development
    20. Debugging a Node.js Application
    21. Introduction to Unit Testing
    22. Web Service Using Express
    23. Using MongoDB
    24. Using the Jade Template Engine
    25. Basic Single Page Application (SPA)
    26. Using the Route Service
    27. Clustering a Node.js Application

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.