Learn and Understand NodeJS

Learn and Understand NodeJS

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 13 Hours | Lec: 98 | 2.47 GB

Dive deep under the hood of NodeJS. Learn V8, Express, the MEAN stack, core Javascript concepts, and more.

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.

Table of Contents

Introduction and Setup
1 Introduction and the Goal of this Course
2 Big Words and NodeJS
3 Watching this Course in High Definition.html
4 Conceptual Aside The Command Line Interface
5 Command Line References.html

V8 The Javascript Engine
6 Conceptual Aside Processors Machine Language and C
7 Javascript Aside Javascript Engines and The ECMAScript Specification
8 V8 Under the Hood
9 Adding Features to Javascript

The Node Core
10 Conceptual Aside Servers and Clients
11 What Does Javascript Need to Manage a Server
12 The C Core
13 The Javascript Core
14 Downloading Lecture Source Code.html
15 Lets Install and Run Some Javascript in Node

Modules Exports and Require
16 Conceptual Aside Modules
17 Javascript Aside First-Class Functions and Function Expressions
18 Lets Build a Module
19 Javascript Aside Objects and Object Literals
20 Javascript Aside Prototypal Inheritance and Function Constructors
21 Javascript Aside By Reference and By Value
22 Javascript Aside Immediately Invoked Function Expressions IIFEs
23 How Do Node Modules Really Work module.exports and require
24 Javascript Aside JSON
25 More on require
26 Module Patterns
27 exports vs module.exports
28 Requiring Native Core Modules
29 Modules and ES6
30 Web Server Checklist

Events and the Event Emitter
31 Conceptual Aside Events
32 Javascript Aside Object Properties First Class Functions and Arrays
33 The Node Event Emitter – Part 1
34 The Node Event Emitter – Part 2
35 Javascript Aside Object.create and Prototypes
36 Inheriting From the Event Emitter
37 Javascript Aside Node ES6 and Template Literals
38 Javascript Aside .call and .apply
39 Inheriting From the Event Emitter – Part 2
40 Javascript Aside ES6 Classes
41 Inheriting From the Event Emitter – Part 3

Asynchronous Code libuv The Event Loop Streams Files and more
42 Javascript Aside Javascript is Synchronous
43 Conceptual Aside Callbacks
44 libuv The Event Loop and Non-Blocking Asynchronous Execution
45 Conceptual Aside Streams and Buffers
46 Conceptual Aside Binary Data Character Sets and Encodings
47 Buffers
48 ES6 Typed Arrays
49 Javascript Aside Callbacks
50 Files and fs
51 Streams
52 Conceptual Aside Pipes
53 Pipes
54 Web Server Checklist

HTTP and being a Web Server
55 Conceptual Aside TCPIP
56 Conceptual Aside Addresses and Ports
57 Conceptual Aside HTTP
58 http_parser
59 Lets Build a Web Server in Node
60 Outputting HTML and Templates
61 Streams and Performance
62 Conceptual Aside APIs and Endpoints
63 Outputting JSON
64 Routing
65 Web Server Checklist

NPM the Node Package Manager
66 Conceptual Aside Packages and Package Managers
67 Conceptual Aside Semantic Versioning semver
68 npm and the npm registry Other Peoples Code
69 init nodemon and package.json
70 npm Global Installation.html
71 init nodemon and package.json – Part 2
72 Using Other Peoples Code

Express
73 Installing Express and Making it Easier to Build a Web Server
74 Routes
75 Static Files and Middleware
76 Templates and Template Engines
77 Querystring and Post Parameters
78 RESTful APIs and JSON
79 Structuring an App

Javascript JSON and Databases
80 Conceptual Aside Relational Databases and SQL
81 Node and MySQL
82 Conceptual Aside NoSQL and Documents
83 MongoDB and Mongoose
84 Web Server Checklist

The MEAN stack
85 MongoDB Express AngularJS and NodeJS
86 AngularJS Managing the Client
87 AngularJS Managing the Client Part 2
88 AngularJS Managing the Client Part 3
89 Conceptual Aside Angular 1 Angular 2 React and more…
90 Working with The Full Stack and being a Full Stack Developer – Part 1

Lets Build an App in record time
91 NodeTodo Software Requirements
92 Initial Setup
93 Setting up Mongo and Mongoose
94 Adding Seed Data
95 Creating our API
96 Testing our API
97 Adding a Front-End in Angular 2 Part 1
98 Future Lectures.html