MEAN JavaScript Technology Stack Training

5 Days

Description

MEAN [MongoDB, Express, AngularJS, 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 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.

TOPICS

  • Detailed coverage of AngularJS
  • Essential MongoDB
  • Introduction to Node.js
  • Node.js applications
  • Debugging and Unit testing on Node.js
  • Express middleware
  • Jade Template Engine
  • Elements of performance tuning of Node.js applications on multi-core processors

AUDIENCE

Developers, Technical Leads, and Software Architects.

Upcoming Classes

Virtual Classroom Live
October 23, 2017

$2,995.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
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. INTRODUCTION TO ANGULARJS
    • What is AngularJS?
    • Why AngularJS?
    • Scope and Goal of AngularJS
    • Using AngularJS
    • A Very Simple AngularJS Application
    • Building Blocks of an AngularJS Application
    • Use of Model View Controller (MVC) Pattern
    • A Simple MVC Application
    • The View
    • The Controller
    • Data Binding
    • Basics of Dependency Injection (DI)
    • Other Client Side MVC Frameworks
    • Summary
  • CHAPTER 2. ANGULARJS MODULE
    • What is a Module?
    • Benefits of Having Modules
    • Life Cycle of a Module
    • The Configuration Phase
    • The Run Phase
    • Module Wide Data Using Value
    • Module Wide Data Using Constant
    • Module Dependency
    • Using Multiple Modules in a Page
    • Summary
  • CHAPTER 3. ANGULARJS CONTROLLERS
    • Controller Main Responsibilities
    • About Constructor and Factory Functions
    • Defining a Controller
    • Using the Controller
    • Controller Constructor Function
    • More About Scope
    • Example Scope Hierarchy
    • Using Scope Hierarchy
    • Modifying Objects in Parent Scope
    • Modified Parent Scope in DOM
    • Handling Events
    • Another Example for Event Handling
    • Storing Model in Instance Property
    • Summary
  • CHAPTER 4. ANGULARJS EXPRESSIONS
    • Expressions
    • Operations Supported in Expressions
    • AngularJS Expressions vs JavaScript Expressions
    • AngularJS Expressions are Safe to Use!
    • What is Missing in Expressions
    • Considerations for Using src and href Attributes in Angular
    • Examples of ng-src and ng-href Directives
    • Summary
  • CHAPTER 5. BASIC VIEW DIRECTIVES
    • Introduction to AngularJS Directives
    • Controlling Element Visibility
    • Adding and Removing an Element
    • Dynamically Changing Style Class
    • The ng-class Directive
    • Example Use of ng-class
    • Setting Image Source
    • Setting Hyperlink Dynamically
    • Preventing Initial Flash
    • Summary
  • CHAPTER 6. WORKING WITH FORMS
    • Forms and AngularJS
    • Scope and Data Binding
    • Role of a Form
    • Using Input Text Box
    • Using Radio Buttons
    • Using Checkbox
    • Using Checkbox - Advanced
    • Using Select
    • Using Select – Advanced
    • Disabling an Input
    • Reacting to Model Changes in a Declarative Way
    • Example of Using the ng-change Directive
    • Summary
  • CHAPTER 7. FORMATTING DATA WITH FILTERS IN ANGULARJS
    • What are AngularJS Filters?
    • The Filter Syntax
    • Angular Filters
    • More Angular Filters
    • Using Filters in JavaScript
    • Using Filters
    • A More Complex Example
    • The date Filter
    • The date's format Parameter
    • Examples of Using the date Filter
    • The limitTo Filter
    • Using limitTo Filter
    • Filter Performance Considerations
    • Summary
  • CHAPTER 8. ANGULARJS $WATCH SCOPE FUNCTION
    • The $watch Function
    • The $watch Function Signature
    • The $watch Function Details
    • Canceling the Watch Action
    • Example of Using $watch
    • Things to be Aware Of
    • More Things to Be Aware Of
    • Performance Considerations
    • Speeding Things Up
    • Summary
  • CHAPTER 9. COMMUNICATING WITH WEB SERVERS
    • The $http AngularJS Service
    • The Promise Interface
    • The $http Service
    • $http Function Invocation
    • Callback Parameters
    • Request Configuration Properties
    • Shortcut Methods
    • Complete List of Shortcut Methods
    • Using $http.get()
    • Working with JSON Response
    • Using $http.post()
    • Combining $http POST Request Data with URL Parameters
    • The then() Method of the Promise Object
    • The Response Object
    • Making Parallel Web Service Calls
    • Combining Multiple Promises into One
    • Wait for the Combined Promise
    • Setting Up HTTP Request Headers
    • Caching Responses
    • Disabling Caching in IE9
    • Setting the Request Timeout
    • Unit Testing with ngMock
    • Writing Unit Tests
    • 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 11. INTRODUCTION TO SINGLE PAGE APPLICATION
    • What is a Single Page Application (SPA)?
    • How is it Any Different?
    • Why Create SPA?
    • It's Not All or Nothing
    • Challenges to SPA
    • Implementing SPA Using AngularJS
    • Simple SPA Using Visibility Control
    • Dynamic Templates Using ng-include
    • Example of Dynamic Template
    • SPA Using the $route Service
    • Summary
  • CHAPTER 12. THE ROUTE SERVICE
    • Introduction to the Route Service
    • Downloading the Route Service Code
    • Using the Route Service
    • Setting up the Route Table
    • URL Fragment Identifier
    • Showing the Views
    • Navigation
    • The $location Service
    • Programmatic Navigation
    • Controllers for the Views
    • Example Controllers for Views
    • Passing URL Parameters
    • Accessing Query Parameters
    • Configuring Route Parameters
    • Accessing Route Parameters
    • HTML5 Mode
    • Using the HTML5 Mode
    • Bookmarking HTML5 Mode URL
    • Summary
  • CHAPTER 13. INTRODUCTION TO MONGODB
    • MongoDB
    • MongoDB Features
    • MongoDB's Logo
    • Positioning of MongoDB
    • MongoDB Applications
    • MongoDB Data Model
    • MongoDB Limitations
    • MongoDB Use Cases
    • MongoDB Query Language (QL)
    • The CRUD Operations
    • The
    • find
    • Method
    • The
    • findOne
    • Method
    • A MongoDB QL Example
    • Data Inserts
    • MongoDB vs Apache CouchDB
    • Summary
  • CHAPTER 14. MONGODB ARCHITECTURE
    • MongoDB Nexus Architecture
    • Blending the Best of Both Worlds
    • What Makes MongoDB Fast?
    • Pluggable Storage Engines
    • Data Sharding
    • Sharding in MongoDB
    • Data Replication
    • A Sample Sharded Cluster Diagram
    • GridFS
    • Getting a File from GridFS
    • MongoDB Security
    • Authentication
    • Data and Network Encryption
    • Summary
  • CHAPTER 15. MONGODB DATA MODEL
    • The BSON Data Format
    • Database Terminology
    • MongoDB Data Model
    • The _id Primary Key Filed Considerations
    • Indexes
    • (Traditional) Data Modeling in RDBMS
    • Data Modeling in MongoDB
    • An Example of a Data Model in MongoDB
    • MongoDB Data Modeling
    • A Sample JSON Document Matching the Schema
    • To Normalize or Denormalize?
    • MongoDB Limitations
    • Data Lifecycle Management
    • Data Lifecycle Management: TTL
    • Data Lifecycle Management: Capped Collections
    • Summary
  • CHAPTER 16. MONGODB ADMINISTRATION
    • The Admin Shell
    • Getting Help
    • Admin Commands
    • Starting MongoDB
    • The mongod Web UI
    • Running MongoDB .JS Scripts
    • Shell Helper to JavaScript Equivalent Map
    • A MongoDB Script Example
    • Connecting to MongoDB
    • User Authentication
    • Authentication Options
    • Import / Export Operations
    • MongoDB Extended JSON and Strict Mode
    • Examples of Strict Mode Encoding
    • Examples of Data Import / Export
    • The Robomongo Tool
    • Robomongo Features
    • Summary
  • CHAPTER 17. WORKING WITH DATA IN MONGODB
    • Reading Data in MongoDB
    • The Query Interface
    • Query Syntax is Driver-Specific
    • Projections
    • Query and Projection Operators
    • MongoDB Query to SQL Select Comparison
    • Cursors
    • Cursor Expiration
    • Writing Data in MongoDB
    • An Insert Operation Example
    • The Update Operation
    • An Update Operation Example
    • A Remove Operation Example
    • Limiting Return Data
    • Data Sorting
    • Aggregating Data
    • Aggregation Stages
    • Accumulators
    • An Example of an Aggregation Pipe-line
    • Map-Reduce
    • Summary
  • CHAPTER 18. INDEXES IN MONGODB
    • Indexes in MongoDB
    • Creating an Index
    • Listing Existing Indexes
    • The Sort Order
    • Using the Explain() Method
    • Main Index Types
    • The _id Field
    • Single and Compound Indexes
    • Multikey Indexes
    • Other Index Types
    • Index Properties
    • Examples of Creating Indexes with Index Properties
    • 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 26. JADE TEMPLATE ENGINE
    • Introduction to Jade
    • Using Jade
    • 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
  • 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
  • LAB EXERCISES
    • Lab 1. Setting Up the Lab Environment
    • Lab 2. Getting Started with AngularJS
    • Lab 3. MVC with AngularJS
    • Lab 4. AngularJS Expressions
    • Lab 5. Working with Class and Style Directives
    • Lab 6. The ng-repeat Directive
    • Lab 7. Working with Form Inputs 
    • Lab 8. Data Formatting with Filters 
    • Lab 9. Communicating with Web Servers
    • Lab 10. Creating and Using Services
    • Lab 11. Learning the MongoDB Lab Environment
    • Lab 12. The MongoDB Database Operations
    • Lab 13. The MongoDB Admin Shell
    • Lab 14. Import Export Operations in MongoDB 
    • Lab 15. Working with Data in MongoDB
    • Lab 16. Getting Started With Node.js
    • Lab 17. Basics of a Node.js Module
    • Lab 18. Using Node Package Manager (npm)
    • Lab 19. Building Module Dependency
    • Lab 20. Using the Stream API
    • Lab 21. Basic Web Application Development
    • Lab 22. Debugging a Node.js Application
    • Lab 23. Introduction to Unit Testing
    • Lab 24. Web Service Using Express
    • Lab 25. Using MongoDB
    • Lab 26. Using the Jade Template Engine
    • Lab 27. Basic Single Page Application (SPA)
    • Lab 28. Using the Route Service
    • Lab 29. Clustering a Node.js Application

Upcoming Classes

Virtual Classroom Live
October 23, 2017

$2,995.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
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

Prerequisites

Participants should have basic knowledge of JavaScript programming and web development.

Upcoming Classes

Virtual Classroom Live
October 23, 2017

$2,995.00
5 Days    9:00am EST - 5:00pm EST
view class details and enroll
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