Node js
Elevate your skills with Node js Training
Syllabus
Introduction
Prerequisite – Knowledege of OOPS in Javascript in any languageAlong with DOM & Ajax
- Mode – VILT (virtual instructor led training) ,
Approx 75% Hands on & 25% Theory
Up and Running
- Introduction
- Setting Up a Node Development Environment
- Updating Node
- Node Jumping In
- Hello, World in Node
- Asynchronous Functions and the Node Event Loop
- Reading a File Asynchronously
- Taking a Closer Look at Asynchronous Program Flow
- Benefits of Node
REPL
- First Looks and Undefined Expressions
- Benefits of REPL
- Multiline
- REPL Commands
- REPL and rlwrap
- Custom REPL
Node Core
- Globals global, process, and Buffer
- global
- process
- Buffer
- The Timers setTimeout, clearTimeout, setInterval, and clearInterval
- Servers, Streams, and Sockets
- TCP Sockets and Servers
- HTTP
- UDP/Datagram Socket
- Streams, Pipes, and Readline
- Child Processes
- Running a Child Process Application in Windows
- Domain Resolution and URL Processing
- The Utilities Module and Object Inheritance
- Events and EventEmitter
Node Module System
- Loading a Module with require and Default Paths
- External Modules and the Node Package Manager
- Finding Modules
- Colors Simple Is Best
- Optimist Another Short and Simple Module
- Underscore
- Creating Your Own Custom Module
- Packaging an Entire Directory
- Preparing Your Module for Publication
- Publishing the Module
Control Flow, Asynchronous Patterns, and Exception Handling
- Promises, No Promises, Callback Instead
- Sequential Functionality, Nested Callbacks, and Exception Handling
- Asynchronous Patterns and Control Flow Modules
- Step
- Async
- Node Style
Routing Traffic, Serving Files, and Middleware
- Building a Simple Static File Server from Scratch
- Middleware
- Connect Basics
- Connect Middleware
- Custom Connect Middleware
- Routers
- Proxies
Express Framework
- Express Up and Running
- The appjs File in More Detail
- Error Handling
- A Closer Look at the Express/Connect Partnership
- Routing
- Routing Path
- Routing and HTTP Verbs
- Cue the MVC
- Testing the Express Application with cURL
Real–Time Chat Application with Socket.io
- Starting with a package.json file
- Adding configuration files
- Adding task manager files
- Creating the app.js file
- Creating the route file
- Creating the application views
- Installing frontend components with Bower
- Adding some CSS
- Adding live reload plugin
- Checking the application folder structure
- Creating the Socket.io events
- Adding socket.io behavior on the client side
- Starting the chat application
Customer Feedback App with a Restful API and Loopback.io
- Creating the baseline structure
- Creating models with command line
- Editing models after creation with command line
- Creating a datasource through the command line
- Connecting models to datasources
- Using the API Explorer
- Inserting records using endpoint
- Retrieving records using endpoint
- Adding database relations
- Dealing with LoopBack boot files
- Consuming the API
- Adding HTML content to client side
- Adding Bootstrap framework and React library
- Creating React components
- Creating new feedbacks
- Simple checking endpoints
- Disable remote LoopBack endpoints
Securing Node
- Encrypting Data
- Setting Up TSL/SSL
- Working with HTTPS
- Safely Storing Passwords
- Authentication/Authorization with Passport
- Authorization/Authentication Strategies OAuth, OpenID, Username/
- Password Verification
- Local Passport Strategy
- The Twitter Passport Strategy (OAuth)
- Protecting Applications and Preventing Attacks
- Don’t Use eval
- Do Use Checkboxes, Radio Buttons, and Drop-Down Selections
- Scrub Your Data and Sanitize It with node-validator
- Sandboxed Code
Scaling and Deploying Node Applications
- Deploying Your Node Application to Your Server
- Writing That packagejson File
- Keeping Your Application Alive with Forever
- Using Node and Apache Together
- Improving Performance
- Deployment to a Cloud Service
- Deploying to Windows Azure via Cloud IDE
- Joyent Development SmartMachines
- Heroku
- Amazon EC
- Nodejitsu
Testing and Debugging Node Applications
- Debugging
- The Nodejs Debugger
- Client-Side Debugging with Node Inspector
- Unit Testing
- Unit Testing with Assert
- Unit Testing with Nodeunit
- Other Testing Frameworks
- Acceptance Testing
- Selenium Testing with Soda
- Emulating a Browser with Tobi and Zombie
- Performance Testing Benchmarks and Load Tests
- Benchmark Testing with ApacheBench
- Load Testing with Nodeload
- Refreshing Code with Nodemon