Complete Node.js Developer in 2021: Zero to Mastery

Complete Node.js Developer in 2021: Zero to Mastery

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 49h 57m | 11.7 GB

Learn from Node.js experts. This is the only Node JS tutorial + projects course you need to learn Node, build advanced large-scale applications from scratch & get hired as a Backend Developer in 2021. Go from Zero To Node Mastery.

What you’ll learn

  • Build enterprise-level Node applications and deploy to the cloud (AWS)
  • Lead Node JS projects by making good architecture decisions and helping others on your team
  • Work with real-life data and the SpaceX API to build a NASA launch system to discover new planets that may contain life + other projects
  • Build a MERN (MongoDb, Express, React, Node) fullstack app and deploy to production
  • Become a top 10% Node Developer by learning advanced topics most courses don’t cover
  • Master the latest ecosystem of a Backend Node JS Developer from scratch
  • Learn to build secure and performant, large-scale applications like a Senior Backend Developer
  • Use Node JS to build production grade apps including REST APIs and GraphQL APIs
  • Authentication, File I/O, Databases (SQL, MongoDB), Express Framework, Sockets, plus many other important topics a Backend Developer should know
  • Load balancing, Monitoring, CI/CD, and Zero Downtime Deployment
  • Learn security best practices throughout the course so you can be confident with your deployments
Table of Contents

1 Course Outline
2 Node.js – How We Got Here
3 Node.js Runtime
4 How To Succeed In The Course
5 Latest Version Of Node.js
6 OPTIONAL: Installing Node.js
7 OPTIONAL: Windows Installation Tips
8 Node.js Release Cycle
9 The Node.js REPL
10 Setting Up Our Developer Environment
11 Our First Node App
12 Node.js VS JavaScript
13 The global Object
14 Introduction to Backend VS Frontend
15 What Node.js Includes
16 Node Internals Deep Dive
17 libuv Internals Deep Dive
18 Synchronous vs Asynchronous
19 Asynchronous Callbacks
20 Non-Blocking Input & Output
21 Exercise: Is JavaScript Asynchronous?
22 Multi-Threading, Processes, and Threads
23 Is Node.js Multi-Threaded?
24 The Event Loop
25 Callback Queues
26 Phases of the Event Loop
27 Comparing Node With PHP and Python
28 What Is Node.js Best At?
29 Observer Design Pattern
30 The Node Event Emitter
31 The require Function
32 Making HTTP Requests
33 Why Use Modules?
34 Creating Our Own Modules
35 Exporting From Modules
36 CommonJS vs ECMAScript Modules
37 Creating Our Own ECMAScript Modules
38 Module Caching
39 Using index.js
40 Should We Use index.js?
41 NPM: The Node Package Manager
42 Creating Our First NPM Package
43 Packages And The NPM Registry
44 Using Third Party Modules
45 The node_modules Folder
46 Semantic Versioning
47 package-lock.json and Versioning
48 Vulnerabilities In Dependencies
49 Installing NPM Tools: nodemon
50 Exploring Planets With Node
51 Importing Kepler Space Telescope Data
52 Setting Up Our CSV Parser
53 Streaming Large Data Files
54 Reading Our Planets Data
55 Parsing Our Planets Data
56 Finding Habitable Planets
57 Exploring Habitable Planets
58 What is a Web Server?
59 Introduction to HTTP Responses and Requests
60 HTTP Requests
61 HTTP Responses
62 Our First Webserver
63 HTTP APIs and Routing
64 Parameterized URLs
65 Same Origin Policy
66 Cross Origin Resource Sharing (CORS)
67 POSTing Data to the Server
68 Requests and Responses as Streams
69 Web Servers Recap
70 Why Express?
71 Introduction to Express
72 Express vs Next.js vs Koa
73 Route Parameters
74 Postman and Insomnia
75 Development Dependencies
76 Middleware
77 Writing Our Own Logging Middleware
78 POST Requests in Express
79 Model View Controller (MVC)
80 Model View Controller in Express
81 Express Routers
82 RESTful APIs
83 Create Read Update and Delete (CRUD)
84 Sending Files
85 Serving Websites With Node
86 Templating Engines
87 Layouts and Separation of Concerns
88 Introduction & Architecture
89 NASA Dashboard Front End Setup
90 NASA Dashboard Functionality
91 What You Need To Know
92 React.js Front End Code Walkthrough
93 API Server Setup
94 GET /planets
95 CORS Middleware
96 Models vs Controllers vs Routers
97 The Planets Model
98 Loading Data On Startup
99 Automating Full Stack Applications With NPM
100 Serving React.js Front End In Production
101 Logging Requests With Morgan
102 The Launches Model
103 GET /launches
104 Serving Applications With Client Side Routing
105 Working With Data Models: Building a Data Access Layer
106 POST /launches: Creating Launches 1
107 POST /launches: Creating Launches 2
108 POST /launches: Validation For POST Requests
109 Connecting POST /launches With Front End Dashboard
110 DELETE /launches: Aborting a Launch 1
111 DELETE /launches: Aborting a Launch 2
112 Updating Our Architecture Diagram
113 Testing In Node
114 Testing APIs With Jest
115 Testing API Endpoints With Supertest: GET
116 Testing API Endpoints With Supertest: POST
117 Testing API Endpoints With Supertest: Error Cases
118 Node Server Performance
119 Building A Simple Blocking Server
120 Real Life Blocking Functions
121 Running Multiple Node Processes
122 The Node Cluster Module
123 Clustering In Action
124 Maximizing Cluster Performance
125 Load Balancing
126 The PM2 Tool
127 Using PM2 To Create Clusters
128 Managing Live Clusters With PM2
129 Zero Downtime Restart
130 Improving Performance Of Our NASA Project
131 Worker Threads
132 Worker Threads In Action
133 Introduction to Databases
134 Comparing SQL vs NoSQL
135 Database Schemas & Schemaless Databases
136 Choosing a Database for our NASA Project
137 SQL vs MongoDB: Trends and Object-Relational Impedance Mismatch
138 SQL vs MongoDB: Schemas, References, and ACID Transactions
139 Setting up MongoDB Atlas
140 Connecting to MongoDB
141 Mongoose
142 Creating Mongoose Schema for Launches
143 Exercise: Creating Mongoose Schema for Planets
144 Creating Models From Schemas
145 Mongoose Models vs MVC Models
146 Inserting And Updating Documents
147 Finding Documents
148 The Upsert Operation
149 Exploring Data Using Atlas
150 Updating Project Architecture
151 ObjectIDs
152 Excluding Fields From The Response
153 Saving Launches
154 Listing All Launches
155 Referential Integrity
156 Auto Increment In MongoDB
157 Getting Latest Flight Number
158 Scheduling New Launches
159 Investigating A Mongoose Mystery
160 Aborting Launches
161 Updating Tests For Mongoose 1
162 Updating Tests For Mongoose 2
163 Working With SpaceX
164 The SpaceX API
165 Versioning Node APIs
166 Updating Our API Tests
167 Exploring SpaceX Launches API
168 Running Search Queries
169 Loading SpaceX Data In Our API
170 Mapping SpaceX Data To Our Database
171 Using Paginated APIs
172 Minimizing API Load
173 Persisting SpaceX Launches
174 Paginating Our Endpoints 1
175 Paginating Our Endpoints 2
176 Sorting Paginated Data
177 Cleaning Up Launch Data
178 Managing Secrets With Dotenv
179 Securing Leaked Secrets
180 Security and Authentication Overview
181 Encrypted Connections with SSL and TLS
182 Digital Certificates, Signing, and Man In The Middle Attacks
183 Setting Up Our Security Example
184 HTTPS With Node, Self Signed Certificates, and Public Key Cryptography
185 Helmet.js
186 Authentication vs Authorization
187 Social Sign In
188 API Keys
189 JWT Tokens
190 The OAuth Standard
191 OAuth 2.0 Authorization Code Flow
192 OAuth In Action with Single Sign On
193 Registering with the Google Authorization Server
194 Authentication Endpoints With Middleware
195 Passport.js
196 Dotenv for Client Secrets
197 Authentication With Google And OAuth 1
198 Authentication With Google And OAuth 2
199 Cookie Based Authentication
200 Sessions
201 Server VS Client Side Sessions With Cookies
202 Session Middleware in Express
203 Setting Up OAuth Cookie Session
204 Reading and Writing the OAuth Session 1
205 Reading and Writing the OAuth Session 2
206 Restricting Access to Endpoints
207 Implementing Logout
208 Experimenting With Fake Sessions
209 Wrap Up and Next Steps
210 Introduction to CI and CD
211 Continuous Integration
212 Continuous Development
213 Continuous Deployment
214 Pipelines
215 GitHub Actions
216 Setting Up GitHub Actions
217 Continuous Integration: Build Pipeline
218 Build Pipeline In Action
219 GitHub Actions Marketplace
220 Continuous Integration: Test Pipeline
221 Mocking Out Databases
222 Databases With Continuous Integration
223 Populating Data For Continuous Integration
224 Introduction to Sockets
225 Polling
226 What is a Socket?
227 Sockets VS Polling
228 WebSockets
229 Introduction to socket.io
230 socket.io Client and Server APIs
231 Multiplayer Pong Overview
232 Reviewing Our Pong Front End
233 Multiplayer Pong Message Sequence
234 Setting Up a socket.io Server
235 Connecting to socket.io
236 Identifying Connected Clients
237 Listening for Events in the Pong Server
238 Broadcasting Events
239 Handling Events in the Pong Client
240 Implementing the Game Logic: Paddle
241 Implementing the Game Logic: Ball
242 What Happens When You Disconnect?
243 Using Socket.io with Express
244 Namespaces
245 Rooms
246 Why Deno?
247 Deno Runtime And V8 Engine
248 Deno Installation
249 MAC/LINUX Installation Tips
250 WINDOWS Installation Tips
251 Setting Up Our Developer Environment
252 Our First Deno App
253 The Most Important Video
254 Deno Internals And Architecture
255 Deno Metrics
256 Exercise: Deno Architecture
257 Deno Game Changers
258 Deno Game Changers 2
259 Will Deno Kill NodeJS?
260 Single Executable To Rule Them All
261 Deno Security
262 Deno Permissions
263 Deno Permissions 2
264 Deno Permissions 3
265 JavaScript Engine
266 Exercise: Javascript Engine
267 Inside the Engine
268 Exercise: JS Engine For All
269 Interpreters and Compilers
270 Inside the V8 Engine
271 Comparing Other Languages
272 Writing Optimized Code
273 WebAssembly
274 Call Stack and Memory Heap
275 Stack Overflow
276 Garbage Collection
277 Memory Leaks
278 Single Threaded
279 Exercise: Issue With Single Thread
280 Javascript Runtime
281 Node.js
282 Section Overview
283 Promises
284 ES8 – Async Await
285 ES9 (ES2018)
286 ES9 (ES2018) – Async
287 Job Queue
288 Parallel, Sequence and Race
289 ES2020: allSettled()
290 Threads, Concurrency and Parallelism
291 Pong Project Overview
292 JS – Create Canvas
293 JS – RequestAnimationFrame
294 JS – Game Over
295 Code Review
296 Introduction To TypeScript
297 Dynamic vs Static Typing
298 Strongly vs Weakly Typed
299 Static Typing In JavaScript
300 OPTIONAL: Installing TypeScript Compiler
301 TypeScript
302 TypeScript 2
303 TypeScript 3
304 TypeScript 4
305 TypeScript 5
306 TypeScript 6
307 TypeScript 7
308 TypeScript 8
309 TypeScript 9
310 TypeScript 10
311 Exercise: Building Amazon
312 Exercise: Building Amazon 2
313 5 Types Of Databases
314 Exercise: What Is A Database?
315 SQL Playground
316 What Is SQL?
317 What Is A Query?
318 Imperative vs Declarative
319 History of SQL
320 SQL Standards
321 Tables
322 Columns
323 Rows
324 Primary And Foreign Keys
325 Relational vs NoSQL, PostgreSQL vs MongoDB Databases
326 Scalability
327 Sharding

Homepage