← Tất cả khoá học

Lập trình JavaScript nâng cao

Node.js, backend & bản chất cốt lõi

Biên soạn bởi Nguyễn Anh Tuấn

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. 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.
  2. 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.
  3. 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.
  4. 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ụ.
  5. 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).
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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ỏ.
  12. 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.
  13. 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ụ.

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.

Ưu đãi & công cụ →