Learn and Understand NodeJS

Dive deep under the hood of NodeJS. Learn V8, Express, the MEAN stack, core Javascript concepts, and more.
Learn and Understand NodeJS
File Size :
9.69 GB
Total length :
13h 9m



Anthony Alicea


Last update

Last updated 9/2020



Learn and Understand NodeJS

What you’ll learn

Grasp how NodeJS works under the hood
Understand the Javascript and technical concepts behind NodeJS
Structure a Node application in modules
Understand and use the Event Emitter
Understand Buffers, Streams, and Pipes
Build a Web Server in Node and understand how it really works
Use npm and manage node packages
Build a web application and API more easily using Express
Connect to a SQL or Mongo database in Node
Understand how the MEAN stack works
Be the coder that explains NodeJS to everyone else because you understand it better than anyone else

Learn and Understand NodeJS


Basic Javascript knowledge (variables, loops, and basic functions)
Basic HTML knowledge
A text editor


NodeJS is a rapidy growing web server technology, and Node developers are among the highest paid in the industry. Knowing NodeJS well will get you a job or improve your current one by enabling you to build high quality, robust web applications.In this course you will gain a deep understanding of Node, learn how NodeJS works under the hood, and how that knowledge helps you avoid common pitfalls and drastically improve your ability to debug problems. In this course we’ll look at how the C++ written V8 Javascript engine works and how NodeJS uses it to expand the abilities of Javascript. You’ll learn how to structure your code for reuse and to be easier to understand, manage, and expand using modules and understand how modules really work.You’ll learn how asynchronous code works in Node and the Node event loop, as well as how to use the event emitter, streams, buffers, pipes, and work with files. We’ll see how that leads to building a web server in Node. We’ll dive into web sites, web apps and APIs with Express and learn how Express can save us time as Node developers.You’ll also gain an understanding of npm, connecting to databases, and the MEAN stack!During it all you’ll gain a deep understanding of the Javascript concepts and other computer science concepts that power Node.NodeJS doesn’t have to be hard to learn. The biggest mistake most coding tutorials make is expecting someone to learn simply by imitating others’ code. Real world situations are never exactly like the tutorial.I believe the best way to learn is to understand how a tool works and what it does for you, look at examples, and then try it yourself. That’s how this course is built, with the goal to help you both learn and understand NodeJS.Note: In this course you’ll also get downloadable source code. You will often be provided with ‘starter’ code, giving you the base for you to start writing your code, and ‘finished’ code to compare your code to.


Section 1: Introduction and Setup

Lecture 1 Introduction and the Goal of this Course

Lecture 2 Big Words and NodeJS

Lecture 3 Watching this Course in High Definition

Lecture 4 Conceptual Aside: The Command Line Interface

Lecture 5 Command Line References

Section 2: V8: The Javascript Engine

Lecture 6 Conceptual Aside: Processors, Machine Language, and C++

Lecture 7 Javascript Aside: Javascript Engines and The ECMAScript Specification

Lecture 8 V8 Under the Hood

Lecture 9 Adding Features to Javascript

Section 3: The Node Core

Lecture 10 Conceptual Aside: Servers and Clients

Lecture 11 What Does Javascript Need to Manage a Server?

Lecture 12 The C++ Core

Lecture 13 The Javascript Core

Lecture 14 Downloading Lecture Source Code

Lecture 15 Let’s Install and Run Some Javascript in Node

Section 4: Modules, Exports, and Require

Lecture 16 Conceptual Aside: Modules

Lecture 17 Javascript Aside: First-Class Functions and Function Expressions

Lecture 18 Let’s Build a Module

Lecture 19 Javascript Aside: Objects and Object Literals

Lecture 20 Javascript Aside: Prototypal Inheritance and Function Constructors

Lecture 21 Javascript Aside: By Reference and By Value

Lecture 22 Javascript Aside: Immediately Invoked Function Expressions (IIFEs)

Lecture 23 How Do Node Modules Really Work?: module.exports and require

Lecture 24 Javascript Aside: JSON

Lecture 25 More on require

Lecture 26 Module Patterns

Lecture 27 exports vs module.exports

Lecture 28 Requiring Native (Core) Modules

Lecture 29 Modules and ES6

Lecture 30 Web Server Checklist

Section 5: Events and the Event Emitter

Lecture 31 Conceptual Aside: Events

Lecture 32 Javascript Aside: Object Properties, First Class Functions, and Arrays

Lecture 33 The Node Event Emitter – Part 1

Lecture 34 The Node Event Emitter – Part 2

Lecture 35 Javascript Aside: Object.create and Prototypes

Lecture 36 Inheriting From the Event Emitter

Lecture 37 Javascript Aside: Node, ES6, and Template Literals

Lecture 38 Javascript Aside: .call and .apply

Lecture 39 Inheriting From the Event Emitter – Part 2

Lecture 40 Javascript Aside: ES6 Classes

Lecture 41 Inheriting From the Event Emitter – Part 3

Section 6: Asynchronous Code, libuv, The Event Loop, Streams, Files, and more…

Lecture 42 Javascript Aside: Javascript is Synchronous

Lecture 43 Conceptual Aside: Callbacks

Lecture 44 libuv, The Event Loop, and Non-Blocking Asynchronous Execution

Lecture 45 Conceptual Aside: Streams and Buffers

Lecture 46 Conceptual Aside: Binary Data, Character Sets, and Encodings

Lecture 47 Buffers

Lecture 48 ES6 Typed Arrays

Lecture 49 Javascript Aside: Callbacks

Lecture 50 Files and fs

Lecture 51 Streams

Lecture 52 Conceptual Aside: Pipes

Lecture 53 Pipes

Lecture 54 Web Server Checklist

Section 7: HTTP and being a Web Server

Lecture 55 Conceptual Aside: TCP/IP

Lecture 56 Conceptual Aside: Addresses and Ports

Lecture 57 Conceptual Aside: HTTP

Lecture 58 http_parser

Lecture 59 Let’s Build a Web Server in Node

Lecture 60 Outputting HTML and Templates

Lecture 61 Streams and Performance

Lecture 62 Conceptual Aside: APIs and Endpoints

Lecture 63 Outputting JSON

Lecture 64 Routing

Lecture 65 Web Server Checklist

Section 8: NPM: the Node Package Manager

Lecture 66 Conceptual Aside: Packages and Package Managers

Lecture 67 Conceptual Aside: Semantic Versioning (semver)

Lecture 68 npm and the npm registry: Other People’s Code

Lecture 69 init, nodemon, and package.json

Lecture 70 npm Global Installation

Lecture 71 init, nodemon, and package.json – Part 2

Lecture 72 Using Other People’s Code

Section 9: Express

Lecture 73 Installing Express and Making it Easier to Build a Web Server

Lecture 74 Routes

Lecture 75 Static Files and Middleware

Lecture 76 Templates and Template Engines

Lecture 77 Querystring and Post Parameters

Lecture 78 RESTful APIs and JSON

Lecture 79 Structuring an App

Section 10: Javascript, JSON, and Databases

Lecture 80 Conceptual Aside: Relational Databases and SQL

Lecture 81 Node and MySQL

Lecture 82 Conceptual Aside: NoSQL and Documents

Lecture 83 MongoDB and Mongoose

Lecture 84 Web Server Checklist

Section 11: The MEAN stack

Lecture 85 MongoDB, Express, AngularJS, and NodeJS

Lecture 86 AngularJS: Managing the Client

Lecture 87 AngularJS: Managing the Client (Part 2)

Lecture 88 AngularJS: Managing the Client (Part 3)

Lecture 89 Conceptual Aside: Angular 1, Angular 2, React, and more…

Lecture 90 Working with The Full Stack (and being a Full Stack Developer) – Part 1

Section 12: Let’s Build an App! (in record time)

Lecture 91 NodeTodo: Software Requirements

Lecture 92 Initial Setup

Lecture 93 Setting up Mongo and Mongoose

Lecture 94 Adding Seed Data

Lecture 95 Creating our API

Lecture 96 Testing our API

Lecture 97 Adding a Front-End in Angular 2 (Part 1)

Those looking to build a career as a NodeJS developer,Those desiring to become MEAN stack developers,Those who don’t have server technology experience but wish to gain this skill,Those coming from other server technologies (like PHP, ASP.NET, or Ruby on Rails) and want to learn Node,Those who want to only have to write both client and server code in one language: Javascript,Those who want to grasp Express

Course Information:

Udemy | English | 13h 9m | 9.69 GB
Created by: Anthony Alicea

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top