Internal Node.js Training Session Logs and Demos
This repository is created to keep track of my progress for the internal Node.js training sessions we are having, starting from June 22, 2020. I am also adding some simple demos to understand the concepts on daily basis in the respective Day*
folders.
- Learned about synchronous and asynchronous code.
- Introduction to nodejs and event loop and use cases where node can be used.
- Full Details here
- Introduction to npm
- Creating your first node project with npm.
- Module system and creating a custom modules by examples.
- A quick overview of built in libraries.
- Full Details here
- Introduction to creating a simple http server.
- Express application framework and express generators.
- Introduction to router module and express routers.
- Full Details here
- Introduction to MVC pattern.
- Learned about Custom routes.
- Created simple route and controller.
- Full Details here
- Created an CRUD api using Express.js
- Tested API endpoints using Postman.
- Full Details here
- Learned about integrating templates into Express.
- Created a custom view & passing data to view from controllers.
- Full Details here
- Learned about use cases of controller in Nodejs.
- Learned about connecting to databases.
- Full Details here
- Understanding Middleware in Express.
- Learned about different use cases of middleware.
- Full Details here
- Understanding callbacks.
- Need of promises.
- Using Async/Await.
- Full Details here
- Today learned more about Promises and Promise chaining.
- Learned about error handling with promises.
- Learned about
Promise.all
- Looked more into Async/await.
- Full Details here
- Learned about functional programming with map, reduce and filter.
- Destructuring
- Default parameters
- Full Details here
- Today learned about default function parameter -
function name(param1 = defaultValue1, ..., paramN = defaultValueN)
- Rest parameters -
f(a, b, ...theArgs)
- Spread syntax -
{ ...obj }
,[...iterableObj, '4', 'five', 6]
- Object literal syntax.
- Template literal -
string text ${expression}
- Destructuring -
let [firstName, surname] = ["Julius", "Caesar"];
orlet {var1, var2} = { var1:…, var2:… }
- Full Details here
- Today learned about Unit testing in node using
assert
module. - Using a dedicated library (chai and mocha) for unit tests.
- Full Details here
- Today learned about Sinon.JS.
- Introduction to stub, mock and spies in node.
- Full Details here