Giter VIP home page Giter VIP logo

learning_nodejs's Introduction

I call this repo 'a Note for my NodeJS learning progress'

1. First Section: Build a Simpe API as an Introduction to NodeJS

What I learn in this section is well explained material to NodeJS and Learn how to build simple API using it, such as:

  1. What is Node JS and Why Use It?

  2. Running JavaScript Outside the Browser

  3. Using Modules

  4. Basic Reading and Writing File

  5. Blocking and Non-Blocking: Asynchronous Nature of Node JS

  6. Basic Reading and Writing File Asynchronous way

  7. Creating a Simple Web Server

  8. Routing

  9. Build a Very Simple API

  10. HTML Templating: Build the Templates ad Filling the Templates

  11. Parsing Variables from URLs

  12. Introduction to NPM and the package.json

  13. Type of Packages and Installs

  14. Package Versioning and Updating

Note
I will explain every single point later, maybe :D, it’s my own notes anyway :b

2. Second Section: Introduction to Back-End Web Development

In this section I learn about basic knowledge how Web works, HTTP and others, such as:

  1. An Overview of How the Web is Works

  2. HTTP in Action

  3. Front-End vs. Back-End Web Development

  4. Static vs Dynamic vs API

Note
same as above (:

3. How Node JS Works: A Look Behind the Scenes

This Section is actually more deep explained about how Node JS work behind the scenes, such as:

  1. Node, V8, Libuv and C + Node JS is actually built with V8 engine (not a car engine) from Google using Libuv Library and Using C Programming Language

  2. Processes, Threads and Thread Pool
    From what i get from this Section, Node JS is Single threated application, meaning that Node JS is just using 1 (one) thread to handle request. And using Thread Pool (Thread that Node JS use to actually process the request(process it in background (honestly I don’t really know about this, maybe I will repeat this section again later)))

  3. The Node JS Event Loop

  4. Events and Event-Driven Architecture

  5. Introduction to Streams
    Streams is used to read a large amount of data, such as large file, video, etc.

  6. How Requiring Modules Really Works

4. Asynchronous JavaScript: Promises and Async/Await

From this section, I learn about how callback can ruin our code.

  1. The Problem with Callbacks: Callbacks Hell
    Here is the Example:

    link:./async-promise/callback-hell.js[role=include]

    See how the code making the triangle shape? Well, that’s the point of this section, to get rid of that triangle by using bellow method.

  2. From Callback Hell to Promises
    Promise is basically the future value that we expect to get from a function. Here is the recreate of above code using promises:

    link:./async-promise/promise.js[role=include]

    Promises make the code easier to understand and maintain.

  3. Consuming Promises with Async/Await
    Async is basically mean Asynchronous, that means a function with async will performing the code that’s in the function, while the rest of the code keeps running in the Event Loop (Without blocking the Event Loop). Await is used in inside of the async function, await will sotop the code and wait for promises function until it’s get the value. Here is the example of Async/Await :

    link:./async-promise/async-promise.js[role=include]
  4. Returning Values from Async Functions

  5. Waiting for Multiple Promises Simultaneously

5. Express: Start Building an API

  1. What is Express?
    Express is framework for Node JS to build a web application. The short is this module can make our application build process a little bit easier then without using it.

  2. Postman Intro
    Postman is an application to access and test our API.

  3. Setting up Express and Basic Routing.
    In this section the lecturer explain about how to actually using Express and setup a basic routing using it.

  4. API and RESTful API design
    API is stands for Application Programming Interface : a piece of software that can be used by another software, in order to allow application to talk to each other.

learning_nodejs's People

Contributors

richimaulana avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.