Skip to main content
CourseFlix

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

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

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

Course content

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

Related courses

Frequently asked questions

What is Learn and Understand NodeJS about?
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…
Who teaches Learn and Understand NodeJS?
Learn and Understand NodeJS is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is Learn and Understand NodeJS?
Learn and Understand NodeJS contains 112 lessons with a total runtime of 14 hours 35 minutes. All lessons are available to watch online at your own pace.
Is Learn and Understand NodeJS free to watch?
Learn and Understand NodeJS is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Learn and Understand NodeJS online?
Learn and Understand NodeJS is available to watch online on CourseFlix at https://courseflix.net/course/learn-and-understand-nodejs. The page hosts every lesson with the integrated video player; no download is required.