Skip to main content

Learn and Understand NodeJS

14h 35m 16s
English
Paid

NodeJS is a rapidly growing web server technology, and Node developers are among the highest paid in the industry. Mastering NodeJS can secure you a job or enhance your current position by enabling you to build high-quality, robust web applications. In this course, you will gain a deep understanding of NodeJS, learn how it works under the hood, and leverage that knowledge to avoid common pitfalls and drastically improve your debugging skills.

Course Highlights

Understanding NodeJS and the V8 Engine

We will explore how the C++-written V8 JavaScript Engine functions and how NodeJS utilizes it to extend JavaScript’s capabilities. You'll learn techniques to structure your code for reuse, making it easier to understand, manage, and expand by using modules and comprehending how modules truly operate.

Asynchronous Programming and Event Loop

Gain an understanding of asynchronous code in NodeJS and the Node event loop. We will cover essential topics such as the event emitter, streams, buffers, pipes, and file manipulation. This knowledge will culminate in building a web server using NodeJS.

Building Web Applications with Express

Dive into creating websites, web apps, and APIs with Express. Learn how Express can significantly reduce development time for Node developers.

Connecting with Databases and the MEAN Stack

Expand your skills by gaining an understanding of npm, database connectivity, and the MEAN stack, enriching your NodeJS programming knowledge.

Learning Approach

Throughout the course, you’ll gain a profound understanding of JavaScript concepts and foundational computer science principles that power NodeJS. Learning NodeJS doesn’t have to be challenging. Many tutorials encourage learning through imitation, but real-world scenarios rarely mirror tutorials exactly.

We believe the most effective way to learn is to understand how a tool works and what it can do for you. By examining examples and experimenting on your own, you can truly grasp NodeJS concepts. This course is designed with this methodology to help you both learn and understand NodeJS.

Additional Resources

Note: The course includes downloadable source code. You will receive ‘starter’ code to begin writing your own applications, along with ‘finished’ code for comparison, ensuring a comprehensive learning experience.

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 112 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 112 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1.1. Introduction and the Goal of this Course
All Course Lessons (112)
#Lesson TitleDurationAccess
1
1.1. Introduction and the Goal of this Course Demo
04:34
2
1.2. Big Words and NodeJS
01:14
3
1.4. Conceptual Aside The Command Line Interface
09:23
4
2.1. Conceptual Aside Processors, Machine Language, and C++
10:08
5
2.2. JavaScript Aside JavaScript Engines and The ECMAScript Specification
04:02
6
2.3. V8 Under the Hood
05:58
7
2.4. Adding Features to JavaScript
15:05
8
3.1. Conceptual Aside Servers and Clients
06:46
9
3.2. What Does JavaScript Need to Manage a Server
02:19
10
3.3. The C++ Core
05:52
11
3.4. The JavaScript Core
03:05
12
3.6. Let's Install and Run Some JavaScript in Node
16:48
13
3.7. LTS vs Current
02:36
14
4.1. Conceptual Aside Modules
02:22
15
4.2. JavaScript Aside First-Class Functions and Function Expressions
12:04
16
4.3. Let's Build a Module
10:55
17
4.4. JavaScript Aside Objects and Object Literals
06:56
18
4.5. JavaScript Aside Prototypal Inheritance and Function Constructors
11:39
19
4.6. JavaScript Aside By Reference and By Value
05:45
20
4.7. JavaScript Aside Immediately Invoked Function Expressions (IIFEs)
07:43
21
4.8. How Do Node Modules Really Work module.exports and require
17:34
22
4.9. JavaScript Aside JSON
01:41
23
4.10. More on require
11:40
24
4.11. Module Patterns
19:13
25
4.12. exports vs module.exports
10:03
26
4.13. Requiring Native (Core) Modules
06:52
27
4.14. ECMAScript Modules (ESM)
06:06
28
4.16. ESM and CJS
05:02
29
4.17. Web Server Checklist
01:22
30
5.1. Conceptual Aside Events
05:25
31
5.2. JavaScript Aside Object Properties, First Class Functions, and Arrays
05:09
32
5.3. The Node Event Emitter - Part 1
13:59
33
5.4. The Node Event Emitter - Part 2
11:59
34
5.5. JavaScript Aside Object.create and Prototypes
06:19
35
5.7. Inheriting From the Event Emitter
14:41
36
5.8. JavaScript Aside Node, ES6, and Template Literals (Node version = 12)
07:56
37
5.9. JavaScript Aside .call and .apply
03:41
38
5.10. Inheriting From the Event Emitter - Part 2
09:44
39
5.11. JavaScript Aside ES6 Classes
08:42
40
5.12. Inheriting From the Event Emitter - Part 3
06:01
41
6.1. JavaScript Aside Javascript is Synchronous
02:39
42
6.2. Conceptual Aside Callbacks
01:30
43
6.3. libuv, The Event Loop, and Non-Blocking Asynchronous Execution
11:40
44
6.4. Conceptual Aside Streams and Buffers
04:32
45
6.5. Conceptual Aside Binary Data, Character Sets, and Encodings
11:10
46
6.6. Buffers
07:41
47
6.7. ES6 Typed Arrays
04:53
48
6.8. JavaScript Aside Callbacks
04:04
49
6.9. Files and fs
15:53
50
6.10. Streams
18:15
51
6.11. Conceptual Aside Pipes
02:15
52
6.12. Pipes
15:52
53
6.14. Node and Promises
02:06
54
6.15. Files and Promises
09:44
55
6.16. Streams and Promises
05:46
56
6.17. Pipeline and Promises
06:07
57
6.18. Web Server Checklist
02:38
58
7.1. Conceptual Aside TCPIP
07:56
59
7.2. Conceptual Aside Addresses and Ports
03:12
60
7.3. Conceptual Aside HTTP
06:07
61
7.4. http_parser
06:57
62
7.5. llhttp
01:36
63
7.6. Let's Build a Web Server in Node
17:27
64
7.7. Outputting HTML and Templates
11:44
65
7.8. Streams and Performance
05:12
66
7.9. Conceptual Aside APIs and Endpoints
02:38
67
7.10. Outputting JSON
06:40
68
7.11. Routing
11:03
69
7.12. Routing (ESM)
04:51
70
7.13. Web Server Checklist
02:25
71
8.1. Conceptual Aside Packages and Package Managers
03:08
72
8.2. Conceptual Aside Semantic Versioning (semver)
04:47
73
8.3. npm and the npm registry Other People's Code
05:00
74
8.4. init, nodemon, and package.json
13:03
75
8.6. init, nodemon, and package.json - Part 2
15:18
76
8.7. node --watch
01:18
77
8.8. Using Other People's Code
01:44
78
9.1. Installing Express and Making it Easier to Build a Web Server
16:02
79
9.2. Routes
04:33
80
9.3. Static Files and Middleware
14:59
81
9.4. Templates and Template Engines
15:55
82
9.5. Querystring and Post Parameters
18:22
83
9.6. express and body-parser
03:02
84
9.7. RESTful APIs and JSON
05:22
85
9.8. Structuring an App
13:46
86
10.1. Conceptual Aside Relational Databases and SQL
03:49
87
10.2. Node and MySQL
09:29
88
10.3. Conceptual Aside NoSQL and Documents
03:13
89
10.4. MongoDB
09:35
90
10.5. Web Server Checklist
01:17
91
11.1. PostgreSQL, Express, React, and NodeJS
07:29
92
11.2. React Managing the Client (Part 1)
14:54
93
11.3. React Managing the Client (Part 2)
15:13
94
11.4. React Managing the Client (Part 3)
11:28
95
11.5. Conceptual Aside React, Vue, Angular and more…
02:26
96
11.6. Working with The Full Stack (and being a Full Stack Developer)
01:42
97
12.1. MongoDB, Express, React, and NodeJS
01:51
98
12.2. The ClientServer Boundary
02:15
99
13.1. NodeTask Software Requirements
01:44
100
13.2. Initial Setup
04:24
101
13.3. Setting Up PostgreSQL
03:40
102
13.4. Adding Seed Data
02:50
103
13.5. Creating Our API
20:29
104
13.6. Testing Our API
18:14
105
13.7. Conceptual Aside fetch
04:29
106
13.8. Adding a Front-end With React (Part 1)
12:20
107
13.9. Adding a Front-end With React (Part 2)
18:49
108
13.10. A Change to Requirements
02:18
109
13.11. Switching to MongoDB
21:45
110
13.12. Updating the Client
07:16
111
13.13. Being a Full Stack Developer
02:08
112
14.1. Conclusion
00:54
Unlock unlimited learning

Get instant access to all 111 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription