RobustX / Chương trình học / Chuyên đề / Phát triển phần mềm / Lập trình Backend với Node.Js & Express

LẬP TRÌNH BACKEND VỚI NODE.JS & EXPRESS

Bằng cách đưa JavaScript ra khỏi trình duyệt và đặt nó vào phía máy chủ, Node.js đã tạo ra một cuộc cách mạng trong lĩnh vực phát triển backend. Với kiến trúc bất đồng bộ và non-blocking I/O, nó trở thành lựa chọn hàng đầu để xây dựng các ứng dụng web có hiệu năng cao, đặc biệt là các hệ thống real-time và xử lý nhiều kết nối đồng thời. Khóa học này được thiết kế để trở thành cánh cửa đưa bạn vào thế giới phát triển backend hiện đại, làm chủ bộ đôi Node.js và Express.js mạnh mẽ.

Chương trình sẽ trang bị cho bạn một quy trình xây dựng backend end-to-end chuyên nghiệp. Bạn sẽ bắt đầu bằng việc hiểu rõ triết lý của Node.js, sau đó nhanh chóng bắt tay vào việc xây dựng các RESTful API có cấu trúc và dễ mở rộng với Express.js. Khóa học sẽ hướng dẫn bạn cách kết nối và thao tác với cả hai loại cơ sở dữ liệu phổ biến là SQL (PostgreSQL)NoSQL (MongoDB), giúp bạn có sự linh hoạt trong việc lựa chọn kiến trúc.

Thời lượng: 42h

Hình thức đào tạo:

    • Đào tạo trực tiếp tại lớp học
    • Đào tạo trực tuyến
    • Đào tạo hybrid (trực tuyến kết hợp trực tiếp)
    • Đào tạo tại văn phòng khách hàng

KẾT QUẢ ĐẠT ĐƯỢC:

  1. LÀM CHỦ MÔI TRƯỜNG BACKEND NODE.JS
    Hiểu sâu về kiến trúc event-driven, non-blocking I/O và cách quản lý các gói phụ thuộc bằng npm/yarn.
  2. XÂY DỰNG RESTFUL API CHUYÊN NGHIỆP VỚI EXPRESS.JS
    Thành thạo thiết kế endpoints, xử lý request/response và sử dụng middleware để xây dựng API có cấu trúc.
  3. TÍCH HỢP VÀ THAO TÁC VỚI CƠ SỞ DỮ LIỆU
    Có khả năng kết nối ứng dụng Node.js với cả cơ sở dữ liệu SQL và NoSQL (MongoDB).
  4. TRIỂN KHAI XÁC THỰC VÀ BẢO MẬT API
    Nắm vững quy trình xác thực người dùng, mã hóa mật khẩu và bảo vệ các API bằng JSON Web Tokens (JWT).
  5. NẮM VỮNG QUY TRÌNH TRIỂN KHAI ỨNG DỤNG (DEPLOYMENT)
    Có khả năng đóng gói ứng dụng bằng Docker và triển khai lên các nền tảng đám mây phổ biến.

Đối tượng tham gia

Nội dung khóa học

 1. Giới thiệu Node.js và Môi trường Backend
  • Tổng quan về Node.js:
    • Tìm hiểu về V8 Engine và kiến trúc Event Loop cốt lõi đã làm nên sức mạnh của Node.js.
  • Thiết lập môi trường:
    • Hướng dẫn thiết lập môi trường Node.js và thực hành quản lý các gói phụ thuộc bằng npm hoặc yarn.
  • Xây dựng máy chủ HTTP:
    • Tự tay xây dựng một máy chủ HTTP đơn giản bằng module http thuần để hiểu cơ chế hoạt động cốt lõi.
  • Giới thiệu Express.js:
    • Khám phá về Express.js và tìm hiểu lý do tại sao nó là lựa chọn framework hàng đầu cho Node.js.
 2. Bắt đầu với Express.js
  • Khởi tạo ứng dụng:
    • Thực hành cài đặt Express và khởi tạo một ứng dụng web đầu tiên để làm quen với framework.
  • Routing:
    • Học cách định nghĩa các route cơ bản để xử lý các phương thức HTTP như GET và POST.
  • Middleware:
    • Hiểu rõ khái niệm middleware và vai trò quan trọng của nó trong chu trình xử lý request-response.
    • Hướng dẫn sử dụng các middleware có sẵn và cách tự viết một middleware tùy biến cho các tác vụ cụ thể.
 3. Xây dựng API RESTful
  • Nguyên tắc thiết kế:
    • Nắm vững các nguyên tắc thiết kế RESTful API để xây dựng các dịch vụ web có cấu trúc và chuẩn mực.
  • Thiết kế Endpoints:
    • Thực hành thiết kế các endpoints cho một tài nguyên với đầy đủ các phương thức CRUD (GET, POST, PUT, DELETE).
  • Xử lý Parameters:
    • Học cách xử lý các tham số trên URL như Route Parameters (/:id) và Query Parameters (?search=…).
  • Phản hồi HTTP:
    • Tìm hiểu cách gửi phản hồi với các mã trạng thái HTTP (HTTP Status Codes) phù hợp cho từng trường hợp.
 4. Kết nối Cơ sở dữ liệu
  • Lựa chọn cơ sở dữ liệu:
    • Thảo luận và so sánh giữa hai trường phái SQL và NoSQL để lựa chọn cho các bài toán khác nhau.
  • Kết nối MongoDB với Mongoose (ODM):
    • Hướng dẫn cách định nghĩa Schema và Model để cấu trúc hóa dữ liệu trong MongoDB.
    • Thực hành các thao tác tạo, đọc, cập nhật, xóa (CRUD) trên MongoDB từ ứng dụng Node.js.
  • Giới thiệu kết nối SQL:
    • Giới thiệu về cách kết nối với các cơ sở dữ liệu SQL bằng một thư viện ORM như Sequelize.
 5. Xác thực và Bảo mật
  • Tổng quan:
    • Tìm hiểu các khái niệm nền tảng về Xác thực (Authentication) và Phân quyền (Authorization).
  • Mã hóa mật khẩu:
    • Học cách mã hóa mật khẩu một cách an toàn và chuyên nghiệp bằng thư viện bcrypt.
  • Xây dựng luồng đăng ký/đăng nhập:
    • Thực hành xây dựng một quy trình đăng ký và đăng nhập hoàn chỉnh cho người dùng.
  • JSON Web Tokens (JWT):
    • Tìm hiểu cách tạo token khi người dùng đăng nhập và sử dụng token để bảo vệ các route yêu cầu xác thực.
    • Thực hành xây dựng một middleware để tự động xác thực token trong mỗi yêu cầu.
 6. Xử lý Bất đồng bộ và Lỗi Nâng cao
  • Async/Await:
    • Đi sâu vào việc sử dụng Promise và cú pháp async/await để xử lý các tác vụ bất đồng bộ một cách sạch sẽ.
  • Xử lý lỗi:
    • Nắm vững các mẫu xử lý lỗi hiệu quả bằng cách sử dụng try…catch trong các hàm async.
  • Global Error Handling:
    • Hướng dẫn xây dựng một middleware xử lý lỗi toàn cục để quản lý tập trung tất cả các lỗi trong ứng dụng.
 7. Triển khai Ứng dụng Node.js
  • Cấu hình Production:
    • Học cách quản lý các biến môi trường cho các môi trường khác nhau với dotenv.
  • Quản lý tiến trình:
    • Tìm hiểu cách sử dụng PM2 để quản lý và giữ cho ứng dụng Node.js của bạn luôn hoạt động ổn định.
  • Dockerize ứng dụng:
    • Hướng dẫn chi tiết cách viết một Dockerfile để đóng gói ứng dụng Node.js và các phụ thuộc.
  • Deploy lên Cloud:
    • Hướng dẫn các bước để triển khai ứng dụng đã được “docker hóa” lên một dịch vụ đám mây.
 8. BÀI THỰC HÀNH CUỐI  – Xây dựng Backend cho Ứng dụng Thực tế
  • Mục tiêu:
    • Vận dụng toàn bộ kiến thức để xây dựng một RESTful API server hoàn chỉnh, có cấu trúc tốt, bảo mật và sẵn sàng để triển khai.
  • Quy trình thực hiện:
    • Thiết kế: Lựa chọn đề tài, thiết kế các API endpoints và schema cho cơ sở dữ liệu.
    • Xây dựng: Tổ chức code theo cấu trúc MVC, xây dựng các route, controller, và service.
    • Tích hợp: Kết nối API với cơ sở dữ liệu MongoDB và thực hiện đầy đủ các chức năng CRUD.
    • Bảo mật: Tích hợp hệ thống xác thực người dùng bằng JWT để bảo vệ các endpoint cần thiết.
    • Triển khai: Đóng gói ứng dụng bằng Docker và triển khai lên một nền tảng cloud.
  • Yêu cầu đầu ra:
    • Một API server hoạt động được triển khai online, mã nguồn được quản lý chuyên nghiệp trên GitHub, và một bộ sưu tập Postman để kiểm thử.

LỊCH KHAI GIẢNG

(Đang cập nhật)

Bài viết liên quan