Lập trình backend bằng JavaScript với Node.js, đi sâu bản chất: event loop & libuv, bộ nhớ & garbage collector, generator & async iterator, Buffer & Stream, HTTP/fetch/API, cơ sở dữ liệu (node:sqlite), Worker Threads & cluster, kiểm thử node:test - khép lại bằng một dịch vụ backend nhỏ.
13 bài ~316 phút Đã xuất bản Cập nhật 11/06/2026
Học xong mèo con làm được gì?
- Lập trình backend với Node.js - dùng cùng một JavaScript ở cả hai đầu của ứng dụng.
- Hiểu event loop & libuv, biết vì sao Node nhanh dù chỉ chạy một luồng.
- Dựng REST API, làm việc với tệp, cơ sở dữ liệu và xử lý dữ liệu lớn bằng Stream.
- Hoàn thành một dịch vụ backend nhỏ để bỏ vào portfolio.
Lộ trình học
- 1 Bản chất: event loop & libuv V8 + libuv và non-blocking I/O - vì sao Node.js một luồng vẫn nhanh; các phase timers/poll/check, hàng nextTick & microtask - kèm mô phỏng từng bước. Nâng cao · 24′
- 2 Bộ nhớ & garbage collector V8 quản lý bộ nhớ thế nào: stack & heap, garbage collector thế hệ (generational GC), memory leak hay gặp trong Node.js và cách soi bằng heap snapshot. Nâng cao · 24′
- 3 Hoisting & TDZ Hoisting trong JavaScript nhìn từ engine: pha tạo execution context cẩu var & function; temporal dead zone (TDZ) của let/const; khi nào lợi, khi nào nên tránh. Nâng cao · 22′
- 4 npm nâng cao & package managers Quản lý gói nâng cao trong Node: workspaces/monorepo, publish gói lên npm registry, đọc sâu lockfile, và so sánh npm/yarn/pnpm/bun để chọn đúng công cụ. Vận dụng · 22′
- 5 Làm việc với tệp & thư mục Làm việc với tệp & thư mục (file system) trong Node: module fs/promises và path, đọc/ghi tệp, duyệt thư mục đệ quy, theo dõi thay đổi (watch). Vận dụng · 22′
- 6 Generator & async iterator Iterator protocol & generator (function*, yield) trong JavaScript; async iterator & for await...of - nền tảng để hiểu Stream và xử lý dữ liệu lớn. Nâng cao · 24′
- 7 Buffer & Stream Xử lý dữ liệu nhị phân và luồng (stream) trong Node: Buffer/TypedArray, các stream readable/writable/transform, và backpressure khi dữ liệu về quá nhanh. Nâng cao · 24′
- 8 Mạng: HTTP, fetch & API Lập trình mạng trong Node: dựng HTTP server, gọi API bằng global fetch, viết một REST API nhỏ, và làm việc với TCP qua module net. Nâng cao · 26′
- 9 Cơ sở dữ liệu với node:sqlite Làm việc với cơ sở dữ liệu (database) trong Node: module node:sqlite tích hợp sẵn cho CRUD và transaction; giới thiệu nhanh Postgres và ORM. Nâng cao · 26′
- 10 Đa luồng & đa tiến trình Node.js Đa luồng & đa tiến trình trong Node.js: Worker Threads, SharedArrayBuffer & Atomics, child_process, cluster - phân biệt I/O-bound với CPU-bound. Nâng cao · 28′
- 11 Process, môi trường & công cụ CLI Tiến trình & môi trường trong Node: đọc process.argv/env, bắt tín hiệu (signal), trả exit code đúng, và dựng một công cụ dòng lệnh (CLI) nhỏ. Vận dụng · 20′
- 12 Kiểm thử với node:test Kiểm thử (testing) với node:test tích hợp sẵn: assertions, test bất đồng bộ (async), và đo độ phủ code (coverage) mà không cần cài thư viện ngoài. Vận dụng · 22′
- 13 Dự án: dịch vụ backend nhỏ Dự án cuối khoá Node: ghép mọi thứ đã học thành một dịch vụ backend nhỏ - REST API, lưu dữ liệu bằng SQLite, và một worker chạy nền xử lý tác vụ. Nâng cao · 32′
Sắp bắt tay vào dự án thật?
Tên miền, VPS, hosting để đưa sản phẩm lên mạng - chọn ở trang Ưu đãi. Mua qua link là góp thêm “cá” nuôi Mèo, bạn không tốn thêm.