Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Node JS: Advanced Concepts

Node JS: Các Khái Niệm Nâng Cao

Node JS: Các Khái Niệm Nâng Cao

Nâng tầm kỹ năng Node.Js! Học caching với Redis, tăng tốc qua clustering, và thêm tính năng upload ảnh với S3 và Node!

4.4
(12,084 đánh giá)
74,945 học viên
Giảng viên
Stephen Grider
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
16.0 giờ video
179 bài giảng
2 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 18/03/2026

Bạn sẽ học được gì

Thông thạo hoàn toàn Vòng Lặp Sự Kiện (Event Loop) và hiểu rõ từng giai đoạn của nó
Sử dụng Worker Threads và Clustering để cải thiện đáng kể hiệu suất của server Node
Tăng tốc truy vấn cơ sở dữ liệu với caching cho MongoDB, được hỗ trợ bởi Redis
Thêm kiểm thử trình duyệt tự động vào server Node, kèm theo thiết lập pipeline tích hợp liên tục (CI)
Áp dụng upload ảnh và file có khả năng mở rộng cho ứng dụng của bạn, sử dụng AWS S3

Yêu cầu

Kiến thức cơ bản về Node, Express và MongoDB
Kiến thức vững về Javascript

Đối tượng phù hợp

Dành cho bất kỳ ai muốn nắm vững Node một cách sâu sắc
Kỹ sư muốn hiểu cơ chế bên trong của Node
Lập trình viên muốn cải thiện hiệu suất của Node

Nội dung khóa học

8 phần • 176 bài giảng
1 Cách Nhận Trợ Giúp
2 Tài Nguyên Khóa Học
3 Bắt Đầu Với Cơ Chế Bên Trong Node
4 Cách Triển Khai Module
5 Node Được Hỗ Trợ Bởi C++!
6 Kiến Thức Cơ Bản Về Luồng (Threads)
7 Vòng Lặp Sự Kiện (Event Loop) Của Node
8 Cách Triển Khai Event Loop
9 Event Loop Ticks
10 Node Có Phải Là Đơn Luồng?
11 Kiểm Tra Tính Đơn Luồng
12 Libuv Thread Pool
13 Threadpools với Đa Luồng
14 Thay Đổi Kích Thước Threadpool
15 Câu Hỏi Thường Gặp Về Threadpool
16 Giải Thích Các Thao Tác Hệ Điều Hành (OS)
17 Libuv OS Delegation
18 Câu Hỏi Thường Gặp Về OS/Async
19 Ôn Tập
20 Hành Vi "Kỳ Lạ" Của Node
21 Sự Kiện Event Loop Không Ngờ Tới
1 Nâng Cao Hiệu Suất
2 Thiết Lập Express
3 Chặn Event Loop
4 Lý Thuyết Về Clustering
5 Forking Children
6 Clustering Trong Thực Tế
7 Đo Lường Hiệu Suất Server (Benchmarking)
8 Tái Cấu Trúc Benchmark
9 Cần Thêm Children!
10 Cài Đặt PM2
11 Cấu Hình PM2
12 Lưu Ý Quan Trọng Về Các Video Sắp Tới
13 Webworker Threads
14 Worker Threads Trong Thực Tế
15 Đo Lường Hiệu Suất Workers
1 Giai Đoạn Tiếp Theo
2 Tệp Dự Án Khởi Đầu
3 Hướng Dẫn Chi Tiết Dự Án
4 Tùy Chỉnh Quan Trọng
5 Thiết Lập và Cấu Hình MongoDB Atlas
6 Tạo MongoDB
7 Hướng Dẫn Chi Tiết Các Route
1 Hiệu Suất Truy Vấn MongoDB
2 Lớp Caching Truy Vấn
3 Giới Thiệu Về Redis
4 Cài Đặt Redis Trên MacOS
5 Redis Trên Windows
6 Lấy và Đặt Các Giá Trị Cơ Bản
7 Redis Hashes
8 Một Điểm Cần Lưu Ý Về Redis
9 Cache Keys
10 Chuyển Đổi Hàm Thành Promise (Promisifying)
11 Caching Trong Thực Tế
12 Các Vấn Đề Về Caching
13 Giải Pháp Caching Tối Ưu
14 Sửa Đổi Mongoose's Exec
15 Khôi Phục Blog Routes Handler
16 Khóa Duy Nhất (Unique Keys)
17 Tạo Khóa
18 Khôi Phục Cấu Hình Redis
19 Triển Khai Cache
20 Giải Quyết Giá Trị
21 Hydrating Models
22 Hydrating Arrays
23 Bật/Tắt Cache (Toggleable)
24 Hết Hạn Cache (Expiration)
25 Buộc Hết Hạn Cache
26 Hashes Lồng Nhau
27 Xóa Hashes Lồng Nhau
28 Xóa Cache Tự Động Với Middleware
1 Quy Trình Kiểm Thử
2 Thách Thức Khi Kiểm Thử
3 Các Lệnh Xung Quanh Việc Kiểm Thử
4 Bài Kiểm Thử Jest Đầu Tiên
5 Khởi Chạy Các Phiên Bản Chromium
6 Điều Hướng Chromium
7 Trích Xuất Nội Dung Trang
8 Puppeteer - Hậu Trường
9 Viết Test DRY (Không Lặp Code)
10 Kết Thúc Trình Duyệt
11 Kiểm Tra Luồng OAuth
12 Kiểm Tra Tên Miền URL
13 Vấn Đề Với OAuth
14 Giải Quyết Vấn Đề Xác Thực Với Kiểm Thử Tự Động
15 Luồng Google OAuth
16 Cơ Chế Hoạt Động Của Sessions
17 Sessions Từ Góc Nhìn Khác
18 Chữ Ký Session (Session Signatures)
19 Tạo Sessions và Chữ Ký
20 Lắp Ráp Các Mảnh Ghép
21 Câu Lệnh WaitFor
22 Hàm Tạo (Factory Functions)
23 Session Factory
24 Lắp Ráp Session Factory
25 Tách Biệt Code
26 Cập Nhật Bắt Buộc Cho Global Jest setup.js
27 Thiết Lập Jest Toàn Cục (Global)
28 Kiểm Thử Factory Tests!
29 Thêm Phương Thức Đăng Nhập
30 Mở Rộng Lớp Page
31 Giới Thiệu Về Proxies
32 Proxies Trong Thực Tế
33 Kết Hợp Truy Cập Thuộc Tính Đối Tượng
34 Kết Hợp Page và Browser
35 Triển Khai Page Tùy Chỉnh
36 Thứ Tự Ưu Tiên Tìm Kiếm Hàm
37 Hy Vọng Nó Hoạt Động!
38 Các Hàm Có Thể Tái Sử Dụng Trên Page
39 Kiểm Thử Tạo Blog
40 Điều Hướng Mặc Định
41 Kiểm Tra Hiển Thị Form
42 Hết Giờ Kiểm Thử (Timeout)
43 Thiết Lập Kiểm Thử Chung
44 Mô Tả Lồng Nhau Để Cấu Trúc
45 Kiểm Tra Lỗi Xác Thực
46 Kiểm Tra Xác Nhận Form
47 Kiểm Tra Việc Tạo Blog
48 Các Tùy Chọn Để Kiểm Thử Hành Động Bị Cấm
49 Yêu Cầu API Trực Tiếp
50 Thực Thi Mã JS Tùy Ý Trong Chromium
51 Kiểm Tra Phản Hồi Trang
52 Nhận Các Hạn Chế
53 Bài Kiểm Thử 'GET' Cuối Cùng
54 Trợ Giúp Kiểm Thử Siêu Nâng Cao
55 Điểm Kiểm Tra Code Đã Hoàn Thành
1 Giới Thiệu Về CI
2 Nhà Cung Cấp CI
3 Kiến Thức Cơ Bản Về Tệp YAML
4 Dùng Github Actions Thay Vì Travis Cho CI
5 Thiết Lập Travis YAML
6 Thêm Về Travis YAML
7 Build Client
8 Cấu Hình Script
9 Sử Dụng Tài Liệu Travis
10 Thêm Cấu Hình Server
11 Lưu Ý - Cập Nhật Travis
12 Một Chút Cấu Hình Nữa
13 Thiết Lập Git Repo
14 Thiết Lập Travis CI
15 Kích Hoạt CI Builds
16 Build Thành Công
17 Điểm Kiểm Tra Code Đã Hoàn Thành
1 Upload Ảnh
2 Các Vấn Đề Lớn Xung Quanh Upload Ảnh
3 Phương Án Upload Ảnh Thay Thế
4 Giải Pháp Lưu Trữ Được Chọn
5 Các Ràng Buộc Khi Upload
6 Vận Chuyển Tệp Ảnh
7 Luồng Upload Với AWS S3
8 Chi Tiết Về Presigned URL
9 Các Vấn Đề Bảo Mật Được Giải Quyết Với Presigned URL
10 Thêm Bộ Chọn Ảnh (Image Picker)
11 Xử Lý Thay Đổi Tệp
12 Ghi Nhận Tệp Ảnh
13 Hàm SubmitBlog
14 Thông Tin Xác Thực AWS Với IAM
15 Tạo S3 Buckets
16 Cho Phép Hành Động Với IAM Policies
17 Tạo Người Dùng IAM
18 Tệp Upload Routes
19 Cập nhật bắt buộc cho uploadRoutes
20 Cấu Hình AWS SDK
21 Đối Số GetSignedURL
22 Gọi GetSignedURL
23 Xem Signed URL
24 Thử Upload Ảnh
25 Cấu Hình CORS Dưới Dạng JSON
26 Xử Lý Lỗi CORS
27 Các Vấn Đề Còn Tồn Động
28 S3 Bucket Policies
29 Liên Kết Uploads Với Blogs
30 Đảm Bảo Ảnh Được Liên Kết
31 Hiển Thị Ảnh
32 Code Đã Hoàn Thành
1 Phần Thưởng!

Giới thiệu khóa học

Go beyond the basics of Node!  This course will give you the skills needed to become a top Node engineer.

Query Caching with Redis? You will learn it.  The Node Event Loop? Included.  Scalable File Upload? Of course!

------------------------------

This is a must-take course if you work with Node.

Node Internals: Here's one of the most common interview questions you'll face when looking for a Node job: "Can you explain Node's Event Loop?" There are two types of engineers: those who can describe the Event Loop and those who cannot!  This course will ensure that you are incredibly well prepared to answer that most important question.  Besides being critical for interviews, knowledge of the Event Loop will give you a better understanding of how Node works internally.  Many engineers know not to 'block' the Event Loop, but they don't necessarily understand why.  You will be one of the engineers who can clearly articulate the performance profile of Node and its Event Loop.

Caching with Redis: We'll also supercharge the performance of database queries by implementing caching backed by Redis.  No previous experience of Redis is required!  Redis is an in-memory data store purpose built for solving caching needs.  By adding caching to your application, you can decrease the amount of time that any given request takes, improving the overall response time of your app.

File Upload: There are many resources online that offer suggestions on how to handle file upload, but few show a solution that can truly scale.  Hint: saving files directly on your server isn't a scalable solution!  Learn how to leverage AWS S3 to implement file upload that can scale to millions of users with a few dozen lines of simple code.  Plentiful discussions are included on security concerns with handling uploads, as well.

Continuous Integration Testing: This is a must have feature for any serious production app.  We'll first learn how to test huge swaths of our codebase with just a few lines of code by using Puppeteer and Jest.  After writing many effective tests, we'll enable continuous integration on Travis CI, a popular - and free - CI platform.  Testing can sometimes be boring, so we'll use this section to brush up on some advanced Javascript techniques, including one of the only legitimate uses of ES2015 Proxies that you'll ever see!

------------------------------

Here's what we'll learn:

  • Master the Node Event Loop - understand how Node executes your source code. 
  • Understand the purpose of Node, and how the code you write is eventually executed by  C++ code in the V8 engine
  • Add a huge boost to performance in your Node app through clustering and worker threads
  • Turbocharge MongoDB queries by adding query caching backed by a lightning-fast Redis instance
  • Scale your app to infinity with image and file upload backed by Amazon's S3 file service
  • Implement a continuous integration testing pipeline so you always know your project functions properly
  • Think you know everything there is about managing  cookies and session?  Well, you might, but learn even more!
  • Ensure your app works the way you expect with automated browser testing using Jest and Puppeteer
  • Bonus - learn advanced JS techniques along the way, including where to use ES2015 proxies!

I've built the course that I would have wanted to take when I was learning to Node. A course that explains the concepts and how they're implemented in the best order for you to learn and deeply understand them.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Backend Development
Hiển thị tất cả khoá học Javascript
Hiển thị tất cả khoá học Node Js
Hiển thị tất cả khoá học Redis
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊