ADVANCED JAVASCRIPT (0.5 DAYS)
1. Expressive JavaScript
- The Flexibility of JavaScript
- JavaScript as a Loosely Typed Language
- Functions as First-Class Objects
- Object Mutability
2. Functions In Depth
- Function Objects
- Function Literal
- Function Invocation Patterns
- Augmenting Types oRecursion & Closures
- Functions as Callbacks
- Function Currying & Memorization
3. Closures In Depth oHow Closures Work
- Private Variables, Callbacks and Timers
- Binding Function Contexts
- Overriding Function Behavior
4. Object Orientation With Prototypes
- Object Instantiation
- Constructors
- Inheritance and Prototype Chain
- Extending Object
- Extending Number
- Instantiation Issues
- Writing class-like code
5. JavaScript Gotchas
- Global Variables
- Scope
- Semicolon Insertions
- Type Coercion
NODE.JS
1. Introduction to Node.js
- Installing Node.js
- Node’s Event Loop
- Alternatives to Node.js
- Writing asynchronous code
2. Modularizing code
- Understanding built-in modules
- Techniques for modularizing JavaScirpt code
- Using require() to modularize application code
- Using npm for third-party modules
- Handling Exceptions
3. Events and Streams
- Understanding Events
- EventEmitter class
- Understanding Streams
- Reading and writing streams
- Using pipe()
4. Accessing Local Resources
- Process Object
- Manipulating File System
- Understanding Buffers
5. Node.js and the web
- Handling web requests
- Building a web server
- Understanding the need for web sockets
- Realtime interaction using socket.io
6. Building APIs using Express.js
- Installing Express.js
- Routing
- Parameters and queries in routing
- Creating REST services
- Authentication and authorization
- Error Handling
7. NodeJs Addons using C++
- Overview of N-API
- Using node-gyp and node-addon-api
- Configuring application
- Building and using C++ Api in Node.js
8. Scaling Node applications
- The Child process model
- exec, spawn, and fork functions
- Using the Cluster module
9. Node.js Eco System
- Node Packages
- Packages of interest
- Deciding Factors