Chapter
Module 1: Mastering JavaScript
Chapter 1: JavaScript Primer
Chapter 2: Functions, Closures,
and Modules
Function declarations versus function expressions
Chapter 3: Data Structures and Manipulation
Match from a class of characters
Greedy and lazy quantifiers
Chapter 4: Object-Oriented JavaScript
Instance properties versus prototype properties
Chapter 5: JavaScript Patterns
JavaScript Model-View-* patterns
The Model-View-Presenter pattern
Chapter 6: Testing and Debugging
Chapter 8: DOM Manipulation
and Events
Traversal and manipulation
Working with browser events
jQuery event handling and propagation
Chapter 9: Server-Side JavaScript
An asynchronous evented-model in a browser
Module 2: Mastering JavaScript Design Patterns, Second Edition
Chapter 1: Designing for Fun and Profit
What is a design pattern?
Chapter 2: Organizing Code
What's the matter with global scope anyway?
ECMAScript 2015 classes and modules
Best practices and troubleshooting
Chapter 3: Creational Patterns
Chapter 4: Structural Patterns
Chapter 5: Behavioral Patterns
Chapter 6: Functional Programming
Functional functions are side-effect-free
Chapter 7: Reactive Programming
Application state changes
Chapter 8: Application Patterns
Doing two things at once – multithreading
Chapter 10: Messaging Patterns
Chapter 11: Microservices
Chapter 12: Patterns for Testing
Testing in the small with unit tests
Interacting with the user interface
Chapter 13: Advanced Patterns
Aspect oriented programming
Chapter 14: ECMAScript-2015/2016 Solutions Today
Module 3: Modern JavaScript Applications
Chapter 1: Breaking into Microservices Architecture
What is monolithic architecture?
Microservices architecture to the rescue
Implementing microservices using Seneca
Chapter 2: Building a Coupon Site
Creating the image upload server
Creating the monolithic core
Further improvements to the site
Chapter 3: Communication between Browsers in Real Time
WebRTC applications using PeerJS
Chapter 4: Building a Chatroulette
Creating your own PeerServer
Chapter 5: Bidirectional Communication in Real Time
Introduction to Socket.IO
Chapter 6: Building a Live Score Site
Chapter 7: Functional Reactive Programming
Introduction to reactive programming
Functional programming in a nutshell
Chapter 8: Building an Advanced Profile Search Widget
Subscribing to the end of EventStreams and properties
Building the profile search widget
Chapter 9: New Features of Bootstrap 4
Browser and device support
Understanding the rem and em CSS units
Text alignment and float utility classes
The 21:9 aspect ratio class
Chapter 10: Building User Interfaces Using React
Default component property values
Component life cycle methods
ReactDOMServer.renderToStaticMarkup
Chapter 11: Building an RSS Reader Using React and Flux
Introduction to React Router
Creating the RSS feed reader
Chapter 12: New Features of Angular 2
The Angular 2 architecture
Introducing web components
Setting up an Angular 2 project
Styling components and shadow DOM
Angular 2 change detection
Understanding view children and content children
Component lifecycle methods
The difference between providers and the viewProviders property
Chapter 13: Building a Search Engine Template Using AngularJS 2
Configuring routes and bootstrapping the app
Generating random search results
Creating route components
Routing life cycle methods
Production mode versus development mode
Chapter 14: Securing and Scaling Node.js Applications
Common vulnerabilities in applications
Non-vulnerability based attacks