สัปดาห์ที่ 10: Node.js และการโปรแกรมฝั่ง Server

สัปดาห์นี้เรียนรู้การพัฒนา Backend ด้วย Node.js, การจัดการ Package ด้วย npm/yarn, การใช้ Built-in Modules, การสร้าง API ด้วย Express.js, การออกแบบ RESTful API และการจัดการค่าความลับด้วย Environment Variables

ผลลัพธ์การเรียนรู้

  1. อธิบาย Node.js Runtime และ Event Loop ได้
  2. ใช้ npm/yarn จัดการ package และ script ได้
  3. ใช้ Built-in Modules เช่น fs, path, http, os ได้
  4. สร้าง API ด้วย Express.js พร้อม routing, middleware และ error handler ได้
  5. ออกแบบ RESTful API ด้วย HTTP methods, status codes และ endpoint naming ได้
  6. ใช้ dotenv และ .env.example เพื่อจัดการค่า config ได้ปลอดภัยขึ้น

บทเรียนย่อย

ลำดับ หัวข้อ ไฟล์บทเรียน สไลด์
1 Node.js Runtime และ Event Loop webprogram-10-node-server-01-node-runtime-event-loop.md webprogram-10-node-server-01-node-runtime-event-loop-slides.mdx
2 NPM/Yarn: การจัดการ Package webprogram-10-node-server-02-npm-yarn-package.md webprogram-10-node-server-02-npm-yarn-package-slides.mdx
3 Built-in Modules: fs, path, http, os webprogram-10-node-server-03-built-in-modules.md webprogram-10-node-server-03-built-in-modules-slides.mdx
4 Express.js: Routing, Middleware, Error Handler webprogram-10-node-server-04-express-routing-middleware.md webprogram-10-node-server-04-express-routing-middleware-slides.mdx
5 RESTful API Design: HTTP Methods, Status Code, Endpoint Naming webprogram-10-node-server-05-restful-api-design.md webprogram-10-node-server-05-restful-api-design-slides.mdx
6 Environment Variables และ dotenv webprogram-10-node-server-06-environment-dotenv.md webprogram-10-node-server-06-environment-dotenv-slides.mdx

ลำดับการเรียน

  1. ทำความเข้าใจ Runtime และ Event Loop ของ Node.js
  2. สร้างโปรเจกต์ด้วย npm และจัดการ dependency
  3. ทดลองใช้ built-in modules
  4. สร้าง HTTP API ด้วย Express.js
  5. ออกแบบ endpoint ให้เป็น RESTful
  6. แยก config ด้วย environment variables

แบบทดสอบหลังเรียนภาพรวม

  1. Node.js เหมาะกับงาน I/O-intensive เพราะอะไร
  2. dependencies ต่างจาก devDependencies อย่างไร
  3. path.join() ช่วยแก้ปัญหาใด
  4. Middleware ใน Express ทำงานก่อนหรือหลัง Route Handler ได้อย่างไร
  5. Status Code 201 และ 204 ใช้ต่างกันอย่างไร
  6. เหตุใดไม่ควร commit ไฟล์ .env

กลับรายวิชา