Node.js is a platform for easily building fast, scalable network applications. Learn how to use the event-driven, non-blocking I/O model to build data-intensive real-time applications that run across distributed devices. We will explore the design choices that make Node.js unique, how this changes the way applications are built and how systems of applications work most effectively in this model. Learn how to create modular code that’s robust, expressive and clear. Understand when to use callbacks, event emitters and streams. Use streams to easily manipulate data that would be impossible to fit in application memory. Gain confidence in handling errors effectively to ensure runtime reliability. The course has extensive lab exercises to reinforce the concepts and techniques covered.
On completion of this course, students will be able to:
Clearly understand the platform design choices that led to Node.js choosing an event loop and what this means for applications built on that foundation.
Understand the unique trade-offs present in event-driven programming.
Create Node.js modules and express code modularity in an application.
Understand the core flow control patterns in Node.js and know when it is appropriate to use callbacks, event emitters or streams.
Create and manipulate buffers efficiently.
Understand how to manage error state and know when a process should exit due to an error.
Build network applications with Node.js.
Intro to Node.js
RAM vs. I/O latency
Blocking vs. Non-Blocking
Blocking The Event Loop
Download and Install
First Hello World
Modules and npm
Anatomy of a module
Accessing and using modules
The Callback Pattern
What are callbacks
When to use Event Emitters
Binding Functions to Events
Errors in Event Emitters
Why Buffers exist
Reading and Writing Buffers
What are streams
Read and Write Stream API
Intro and Installing Express.js
Building a Hello Express application
Using locals and conditional templates
Connecting to Databases
No SQL and Document Stores
By the end of this hands-on intensive training course, the students will be able to:
Store the data in NoSQL, document-oriented MongoDB database that brings performance and scalability.
Use Node.js, the server-side platform built on Google V8’s runtime for building fast, scalable network applications.
Use Express, a simple yet powerful web application development HTTP server framework built on top of Node.js.
Use AngularJS framework that offers declarative, two-way data binding for web applications.
Get acquainted with the latest web application development trends in the IT industry.
Getting started with Node.js
Node Package Manager
Modules, Controllers and Scope
Built-in and Custom Directives
Built-in and Custom Filters
Understanding the Digest Loop
Forms and Validation
AngularJS Service Types
Factories, Providers, Decorators, DI
Creating Custom Services
Consuming Ajax Web Services via $http and $resource
Routing, Redirects, and Promises
Introduction to Express
Handling Form Data
Handling Query Parameters
Cookies and Sessions
Creating and Consuming RESTful Services
Understanding NoSQL MongoDB
Update, Insert, and Upsert
Create small applications that run all in the browser without any backend code.
Day 2: Backend with node.js and MongoDB
Day 3: Example
On day 3, we would put everything together and implement a real application in a workshop fashion, also looking into more topics around a full example:
github + git,
docker for building and shipping of code,
amazon ec2 for hosting.
Anyone involved in IT Service Delivery and Production Support
application packaging and deployments
nodejs+pm2 runtime packaging and deployment
nodejs scripts package
checking and switching nodejs version
filesystem locations and standards
stop, start, delete, resurrect applications
stop, start, resurrect PM2 process