Search this site
Embedded Files
  • หลักสูตรอบรม
    • หลักสูตร การประยุกต์ใช้ AI เพื่อเพิ่มประสิทธิภาพในการทำงาน
    • หลักสูตร Moodle LMS
    • หลักสูตร Cyber Security-network 2
    • หลักสูตร JASP 2
    • หลักสูตร Node.JS
  • แผนการอบรมประจำปี
    • แผนการอบรมประจำปี
    • สถิติการเข้าอบรม
  • SamartSkills
  • NUSkill
  • ติดต่อเรา
 
  • หลักสูตรอบรม
    • หลักสูตร การประยุกต์ใช้ AI เพื่อเพิ่มประสิทธิภาพในการทำงาน
    • หลักสูตร Moodle LMS
    • หลักสูตร Cyber Security-network 2
    • หลักสูตร JASP 2
    • หลักสูตร Node.JS
  • แผนการอบรมประจำปี
    • แผนการอบรมประจำปี
    • สถิติการเข้าอบรม
  • SamartSkills
  • NUSkill
  • ติดต่อเรา
  • More
    • หลักสูตรอบรม
      • หลักสูตร การประยุกต์ใช้ AI เพื่อเพิ่มประสิทธิภาพในการทำงาน
      • หลักสูตร Moodle LMS
      • หลักสูตร Cyber Security-network 2
      • หลักสูตร JASP 2
      • หลักสูตร Node.JS
    • แผนการอบรมประจำปี
      • แผนการอบรมประจำปี
      • สถิติการเข้าอบรม
    • SamartSkills
    • NUSkill
    • ติดต่อเรา

⌂ หน้าแรก

วิทยากร : พิชญา แสนคำ

บุคลากรสังกัดงานระบบสารสนเทศ

กองบริการเทคโนโลยีสารสนเทศและการสื่อสาร

มหาวิทยาลัยนเรศวร

ตรวจสอบรายชื่อ

รายละเอียดหลักสูตร

  • แนะนำ Node.js: Node.js คืออะไร? ทำไมถึงได้รับความนิยม?

•  ความสามารถในการทำงาน Full-stack ด้วย JavaScript

•  ระบบนิเวศ (Ecosystem) ที่แข็งแกร่ง (npm, packages)

•  Non-blocking I/O และ Event-driven architecture

  • เปรียบเทียบ Node.js กับ Deno และ Bun 

  • ความแตกต่างระหว่าง JavaScript ใน Browser และ Node.js Runtime
    (Global object, Process, DOM) 

  • Workshop 1.1: การติดตั้ง Node.js (LTS version) และ npm

•  ตรวจสอบเวอร์ชั่น

•  (แนะนำ) การใช้งาน NVM (Node Version Manager) เพื่อจัดการหลายเวอร์ชั่น

  • Variables, Data Types, Operators, Control Flow

  • Functions (Arrow functions)

  • Objects และ Arrays

  • Asynchronous JavaScript: 

•  Callbacks

•  Promises (resolve, reject, .then, .catch)

•  Async/Await (try/catch) (อ้างอิง)

  • Workshop 1.2: ฝึกเขียน JavaScript แบบ Asynchronous

  • การใช้ REPL (Read-Eval-Print Loop)

  • การรันไฟล์ JavaScript ด้วย Node.js (node <filename.js>)

  • แนะนำการใช้ nodemon สำหรับ auto-reload

  • Modules ใน Node.js: 

•  CommonJS (CJS): require(), module.exports

•  ES Modules (ESM): import, export (ภาพรวมและความแตกต่าง)

  • การทำงานกับ File System (fs module เบื้องต้น: readFile, writeFile)

  • Workshop 1.3: สร้างโปรแกรมอ่านเขียนไฟล์ง่ายๆ

  • package.json: ความสำคัญและการใช้งาน (npm init -y)

  • package-lock.json

  • การติดตั้ง dependencies (npm install <package-name>) และ devDependencies

  • Scripts ใน package.json (เช่น start, dev)

  • Express.js คืออะไร? ทำไมต้องใช้ Express.js?

  • Workshop 2.1: สร้างโปรเจค Express.js แรก 

•  ติดตั้ง Express (npm install express)

•  สร้าง Server ง่ายๆ (Hello World)

  • Routing ใน Express.js: 

•  Basic routing (app.METHOD(PATH, HANDLER))

•  Route parameters (req.params)

•  Query strings (req.query)

  • Workshop 2.2: สร้าง Routes สำหรับ GET requests แบบต่างๆ

  • Middleware คืออะไร? หลักการทำงาน

  • Built-in middleware: express.json(), express.urlencoded()

  • Third-party middleware (เช่น morgan สำหรับ logging)

  • Custom middleware

  • Workshop 2.3: การใช้งาน Middleware สำหรับรับข้อมูล JSON และ Logging

  • การใช้ HTTP methods: GET, POST, PUT, DELETE

  • การรับข้อมูลจาก Request body (req.body)

  • การส่ง JSON responses (res.json()), status codes (res.status())

  • Workshop 3.1: สร้าง API endpoints สำหรับรับและส่งข้อมูล (In-memory data)

  • ภาพรวมการเชื่อมต่อฐานข้อมูลกับ Node.js

  • การติดตั้ง mysql2/promise

  • Workshop 3.2: เชื่อมต่อ Express.js กับ MySQL 

•  ตั้งค่าการเชื่อมต่อ (Connection Pool)

•  เขียนฟังก์ชันสำหรับการ query ข้อมูล (ใช้ async/await)

  • การทำ CRUD operations ใน Express.js: 

•  Create (POST)

•  Read (GET - all, GET - by ID)

•  Update (PUT/PATCH)

•  Delete (DELETE)

  • Workshop 3.3: สร้าง RESTful API สำหรับจัดการข้อมูลสินค้า/ผู้ใช้ (CRUD)
    ที่เชื่อมต่อกับ MySQL

  • Basic error handling

  • Custom error handling middleware (next(err))

  • แนวคิดเรื่อง Authentication vs Authorization

  • Session-based authentication

  • การใช้ express-session: 

•  ติดตั้งและตั้งค่า

•  การเก็บข้อมูล user ใน session

  • Workshop 4.1: สร้างระบบล็อกอิน (Login) 

•  สร้างฟอร์ม Login (HTML ง่ายๆ หรือทดสอบผ่าน Postman)

•  ตรวจสอบ username/password (เทียบกับข้อมูลใน DB)

•  เก็บข้อมูล user ใน session หลัง login สำเร็จ

  • การสร้าง Middleware เพื่อป้องกัน Route (Protected Routes)

  • การ Logout

  • การ Hashing Passwords ด้วย bcrypt

  • Workshop 4.2: 

•  สร้างหน้า Dashboard ง่ายๆ ที่แสดงข้อมูลสำหรับ user ที่ login แล้วดึงข้อมูลจาก session/database

•  การเน้น API ทดสอบ API endpoints ทั้งหมดด้วย Postman หรือ VS Code REST Client

•  การใช้ Template Engine (เช่น EJS) เบื้องต้นเพื่อแสดงผล

  • ภาพรวมการ Debugging Node.js Application (VS Code Debugger)

  • ภาพรวมการ Deploy Node.js Application (Hosting, Environment Variables, PM2)

  • แหล่งข้อมูลเพิ่มเติมสำหรับศึกษาต่อ (W3Schools, Node.js docs, etc.)

  • Q&A

ความรู้พื้นฐานของผู้เข้ารับการอบรม

•  มีความเข้าใจพื้นฐานของ JavaScript (Variables, Data Types, Functions, Control Flow, ES6+ syntax
    เช่น Arrow Functions, let/const จะเป็นประโยชน์) 

•  มีความคุ้นเคยกับการใช้ Command Line Interface (CLI) หรือ Terminal 

•  มีความรู้พื้นฐาน HTML และ CSS หากต้องการเห็นผลลัพธ์บนหน้าเว็บ 

•  มีความเข้าใจเบื้องต้นเกี่ยวกับ HTTP Protocol (Request/Response, Methods) 

•  มีความเข้าใจเบื้องต้นเกี่ยวกับการทำงานของฐานข้อมูลเชิงสัมพันธ์ (Relational Database) และ SQL


โปรแกรมที่ใช้ในการอบรม

• Node.js: LTS version ล่าสุด 

• npm: มาพร้อมกับ Node.js 

• Text Editor/IDE: Visual Studio Code (แนะนำ) พร้อม Extensions ที่เกี่ยวข้อง (เช่น ESLint, Prettier) 

• Web Browser: Google Chrome, Firefox, หรือ Edge (เวอร์ชั่นล่าสุด) 

• Database: MySQL Server และ MySQL Client (เช่น MySQL Workbench, DBeaver, หรือ Command Line Client) 

• (Optional) NVM (Node Version Manager): สำหรับจัดการ Node.js versions 

• (Optional) Postman หรือ VS Code REST Client: สำหรับทดสอบ API 

• (Optional) Git: สำหรับ Version Control


เอกสารประกอบการอบรม

 -


  * หลักสูตรสำหรับผู้ดูแลระบบเครือข่าย และ Programmer เท่านั้น   



Email : citcoms_training@nu.ac.thWebsite : citcoms.nu.ac.thFacebook : @citcomsnuTel : 055 96 1575
Report abuse
Report abuse