ສອບຖາມຫຼັກສູດເລືອກຊ່ອງທາງທີ່ສະດວກ ທີມງານຕອບເອງທຸກຊ່ອງທາງ
LINE @itgeniusຕອບໄວທີ່ສຸດ · ຈ–ສ 9:00–17:00 ໂມງ
ໂທລະສັບ
02-570-8449ຫ້ອງການ088-807-9770ມືຖື
ອີເມວ ແລະ ໂຊຊຽວ
contact@itgenius.co.thສຳລັບໃບສະເໜີລາຄາ ແລະ ເອກະສານFacebookitgeniusonlineYouTubeitgeniusengຂໍຄຳປຶກສາຈັດຝຶກອົບຮົມໃຫ້ທີມ
ພາສາໂປຣແກຣມມິງ · PRC-28

Rust Programming

หลักสูตร Rust Programming เป็นการอบรมพื้นฐานภาษา Rust ตั้งแต่ Cargo, Ownership, Borrowing, Struct, Enum, Trait และการจัดการ Error ไปจนถึงโค้ดแบบ Async ด้วย Tokio เหมาะกับนักพัฒนาที่ต้องการสร้างเว็บเซอร์วิสด้วย Rust จบแล้วสร้าง Web API ด้วย Axum และ PostgreSQL ได้

ອັບເດດລ່າສຸດ
ລາຄາເລີ່ມຕົ້ນ 6,750 ບາດ / ທ່ານ 7,500 −10% ຍັງບໍ່ລວມ VAT 7% · ມີລາຄາໝູ່ຄະນະ
PDFດາວໂຫຼດ Course Outline
  • ໄລຍະເວລາ12 ຊົ່ວໂມງ · 2 ມື້
  • ຮູບແບບຢູ່ສະຖາບັນ / ອອນລາຍສົດ
  • ຮອບຕໍ່ໄປ21–22 ມ.ກ. 27
  • ໃບຢັ້ງຢືນມີໃບຢັ້ງຢືນ

ພາບລວມຫຼັກສູດ

Rust เป็นภาษาที่ให้ความเร็วระดับเดียวกับ C และ C++ แต่ป้องกันข้อผิดพลาดด้านหน่วยความจำได้ตั้งแต่ตอนคอมไพล์โดยไม่ต้องมี Garbage Collector จึงถูกใช้มากขึ้นทั้งในงานระบบ เครื่องมือบรรทัดคำสั่ง และ Backend ที่ต้องการทั้งความเร็วและความเสถียร แต่ผู้เริ่มต้นมักติดอยู่กับแนวคิด Ownership, Borrowing และ Lifetime ที่ไม่มีในภาษาอื่น จนไม่ได้ไปถึงการสร้างงานจริง

หลักสูตรนี้ปูพื้นฐาน Rust แบบ Edition 2024 ตั้งแต่การใช้ Cargo ชนิดข้อมูล, Ownership, Borrowing, Struct, Enum, Pattern Matching, การจัดการ Error, Trait, Generic และ Iterator พร้อมเครื่องมือดูแลคุณภาพโค้ดอย่าง Clippy และ rustfmt จากนั้นนำไปสร้าง Web API จริงด้วย Tokio และ Axum เชื่อม PostgreSQL ด้วย SQLx เพิ่มระบบผู้ใช้และการยืนยันตัวตน แล้วปิดท้ายด้วย Workshop สร้าง RESTful Service ที่รันบน Docker (อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง ระดับ Beginner-Intermediate)

ສິ່ງທີ່ທ່ານຈະໄດ້ຮັບ

  • ติดตั้ง Rust ด้วย rustup และจัดการโปรเจกต์ด้วย Cargo ได้คล่อง
  • เข้าใจ Ownership, Borrowing และ Lifetime จนอ่านข้อความแจ้งเตือนของคอมไพเลอร์ออก
  • ใช้ Struct, Enum, Pattern Matching, Trait และ Generic ออกแบบโค้ดได้
  • จัดการ Error ด้วย Result, Option และเครื่องหมาย ? อย่างเป็นระบบ
  • เขียนโค้ดแบบ Async ด้วย Tokio และสร้าง Web API ด้วย Axum
  • เชื่อมต่อ PostgreSQL ด้วย SQLx พร้อม Migration และ Connection Pool
  • เพิ่มระบบผู้ใช้ เข้ารหัสรหัสผ่าน และยืนยันตัวตนด้วย Token
  • ทดสอบและแพ็กบริการ Rust เป็น Docker Image ได้

ຫຼັກສູດນີ້ເໝາະສຳລັບ

  • นักพัฒนาที่ต้องการสร้างเว็บเซอร์วิสด้วยภาษา Rust
  • Backend Developer ที่ใช้ Go, Node.js, Java หรือ Python และต้องการภาษาที่เร็วและปลอดภัยกว่าเดิม
  • ผู้ที่ต้องการเรียนภาษาที่เน้นประสิทธิภาพและความปลอดภัยของหน่วยความจำ
  • วิศวกรระบบที่ต้องการเขียนเครื่องมือหรือบริการที่ทำงานใกล้ระบบมากขึ้น

ພື້ນຖານຂອງຜູ້ເຂົ້າຝຶກອົບຮົມ

  • เขียนโปรแกรมได้อย่างน้อยหนึ่งภาษา เช่น Python, JavaScript, Go, Java หรือ C#
  • เข้าใจพื้นฐานเว็บ เช่น HTTP, JSON และ REST API
  • ใช้ Command Line และ Git ขั้นพื้นฐานได้
  • โน้ตบุ๊กที่ติดตั้ง Rust, VS Code และ Docker Desktop ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

ຫົວຂໍ້ການຝຶກອົບຮົມ

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

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร Rust Programming รุ่นเดิมซึ่งสอน Actix Web กับ Diesel เนื้อหาเขียนใหม่สำหรับ Rust Edition 2024 อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ระดับ Beginner-Intermediate วันแรกปูพื้นฐานภาษาให้แน่น โดยเฉพาะ Ownership, Borrowing และการจัดการ Error วันที่สองสร้าง Web API จริงด้วย Tokio, Axum 0.8 และ SQLx กับ PostgreSQL บน Docker พร้อมระบบยืนยันตัวตนและการทดสอบ ทุก Lab ทำงานบนเครื่องของผู้เรียนด้วยเครื่องมือโอเพนซอร์ส ผู้เรียนได้ Lab Guide โค้ดตัวอย่างครบทุก Lab และโปรเจกต์ RESTful Service จาก Workshop กลับไปใช้งานต่อ

Day 1 พื้นฐานภาษา Rust ที่ต้องเข้าใจให้แน่น

Section 1: Lab: เริ่มต้น Rust และ Cargo

  • Rust เหมาะกับงานแบบใด และจุดต่างจาก C++, Go และภาษาที่มี Garbage Collector
  • ติดตั้งด้วย rustup, รอบออกรุ่นทุก 6 สัปดาห์ และ Edition 2024
  • cargo new, build, run, check และ cargo build --release
  • Lab: โปรแกรมแรกพร้อมจัดรูปแบบด้วย rustfmt และตรวจด้วย Clippy

Section 2: ชนิดข้อมูลและ Control Flow

  • ตัวแปร, mut, Shadowing และ Type Inference
  • String กับ &str และการทำงานกับข้อความ UTF-8 รวมถึงภาษาไทย
  • if, loop, while, for และ Let Chain ใน Edition 2024
  • Lab: โปรแกรมคำนวณค่าขนส่งจากข้อมูลที่ผู้ใช้ป้อน

Section 3: Ownership, Borrowing และ Lifetime

  • Move, Clone และ Copy ต่างกันอย่างไร
  • Reference แบบ &T และ &mut T และกฎของ Borrow Checker
  • Slice และ Lifetime เบื้องต้นในฟังก์ชัน
  • Lab: แก้โค้ดที่คอมไพล์ไม่ผ่านจากข้อความแจ้งเตือนของคอมไพเลอร์

Section 4: Lab: Struct, Enum และ Pattern Matching

  • Struct, Method และ Associated Function
  • Enum ที่เก็บข้อมูลได้ และ Option แทนค่า null
  • match, if let และ let-else
  • Lab: โมเดลข้อมูลคำสั่งซื้อพร้อมสถานะด้วย Enum

Section 5: จัดการ Error อย่างเป็นระบบ

  • panic กับ Result และเมื่อไรควรใช้แต่ละแบบ
  • เครื่องหมาย ? สำหรับส่ง Error ต่อ
  • สร้างชนิด Error ด้วย thiserror และใช้ anyhow ในระดับแอปพลิเคชัน
  • Lab: อ่านไฟล์ CSV และรายงาน Error ที่อ่านเข้าใจได้

Section 6: Lab: Trait, Generic, Closure และ Iterator

  • Trait แทนการสืบทอด Class และ Trait มาตรฐานอย่าง Debug, Display และ From
  • Generic และ Trait Bound
  • Closure และ Iterator: map, filter, fold และ collect
  • Lab: สรุปยอดขายจากรายการคำสั่งซื้อด้วย Iterator
Day 2 สร้าง Web API ด้วย Rust

Section 7: Module, Crate และการทดสอบ

  • จัดโค้ดด้วย mod, pub และ use
  • Library Crate กับ Binary Crate และ Cargo Workspace
  • Unit Test, Integration Test และ cargo test
  • Lab: แยก Business Logic เป็น Library พร้อม Test

Section 8: Async ด้วย Tokio

  • แนวคิด async และ await, Runtime, #[tokio::main] และ tokio::spawn
  • แชร์ข้อมูลระหว่าง Task ด้วย Arc และ Mutex อย่างปลอดภัย
  • เรียก API ภายนอกแบบ Async ด้วย reqwest
  • Lab: ดึงข้อมูลจากหลาย API พร้อมกันและรวมผลลัพธ์

Section 9: Lab: Web API ด้วย Axum

  • Router, Handler และ Path Parameter แบบ {id} ของ Axum 0.8
  • Extractor: Path, Query, Json และ State พร้อมแปลง JSON ด้วย Serde
  • Middleware จาก tower-http: Logging, CORS และ Timeout
  • Lab: API จัดการสินค้าแบบเก็บข้อมูลในหน่วยความจำ

Section 10: Lab: PostgreSQL ด้วย SQLx

  • รัน PostgreSQL บน Docker, สร้าง PgPool และ Migration ด้วย sqlx-cli
  • query! และ query_as! ที่ตรวจคำสั่ง SQL ตอนคอมไพล์ และ Offline Mode
  • เพิ่ม ดึง แก้ไข และลบข้อมูล พร้อม Transaction
  • Lab: ย้าย API สินค้าไปเก็บข้อมูลใน PostgreSQL

Section 11: ระบบผู้ใช้และการยืนยันตัวตน

  • ออกแบบ User Model และเก็บรหัสผ่านด้วย Argon2
  • Login และออก Token แบบ JWT
  • ตรวจ Token ด้วย Extractor หรือ Middleware ก่อนเข้าถึง Route
  • Lab: ป้องกัน API เพิ่ม แก้ไข และลบสินค้าให้เฉพาะผู้ใช้ที่ Login

Section 12: Workshop: RESTful Service พร้อม Docker

  • Workshop: ออกแบบ Endpoint ของบริการสั่งซื้อสินค้าจากโจทย์
  • เขียน Integration Test ให้ API ด้วยฐานข้อมูลทดสอบ
  • แพ็กเป็น Docker Image ขนาดเล็กแบบ Multi-stage Build
  • สรุปแนวทางต่อยอด เช่น Actix Web, gRPC และ WebAssembly

ຮອບຝຶກອົບຮົມ ແລະ ຮູບແບບການຝຶກອົບຮົມ

ສຳລັບບຸກຄົນ — ຮອບຝຶກອົບຮົມທົ່ວໄປ

21–22ມັງກອນ
ໃນຫ້ອງຮຽນ21–22 ມ.ກ. 27
ເຫຼືອ 20 ບ່ອນນັ່ງ
18–19ພຶດສະພາ
ໃນຫ້ອງຮຽນ18–19 ພ.ພ. 27
ເຫຼືອ 20 ບ່ອນນັ່ງ
23–24ກັນຍາ
ໃນຫ້ອງຮຽນ23–24 ກ.ຍ. 27
ເຫຼືອ 20 ບ່ອນນັ່ງ

ສຳລັບອົງກອນ — In-house / Private Training

  • ປັບເນື້ອໃນໃຫ້ກົງກັບເຄື່ອງມື ແລະ ວຽກຈິງຂອງທີມ
  • ເລືອກວັນເອງ ຝຶກອົບຮົມທີ່ບໍລິສັດ ຫຼື ອອນລາຍສົດ
  • ອອກໃບສະເໜີລາຄາໃນນາມນິຕິບຸກຄົນໃຫ້ຝ່າຍຈັດຊື້
ຂໍໃບສະເໜີລາຄາຝຶກອົບຮົມອົງກອນ

ວິທະຍາກອນຜູ້ສອນ

ຄຳຖາມທີ່ພົບເລື້ອຍ

Ownership และ Borrowing ใน Rust คืออะไร

Rust จัดการหน่วยความจำด้วยระบบ Ownership ค่าแต่ละค่ามีเจ้าของได้ทีละตัว เมื่อเจ้าของหลุดออกจาก Scope หน่วยความจำจะถูกคืนทันทีโดยไม่ต้องมี Garbage Collector ถ้าต้องการให้ส่วนอื่นใช้ค่าโดยไม่ย้ายความเป็นเจ้าของ ให้ยืมผ่าน Reference ซึ่งมีแบบอ่านอย่างเดียว (&T) ได้หลายตัว หรือแบบแก้ไขได้ (&mut T) ได้เพียงตัวเดียวในเวลาเดียวกัน คอมไพเลอร์ตรวจกฎนี้ตอนคอมไพล์ จึงกันปัญหาอย่าง Data Race และ Dangling Pointer ได้ตั้งแต่ก่อนรันโปรแกรม

Cargo คืออะไร ใช้คำสั่งอะไรบ่อย

Cargo เป็นเครื่องมือจัดการโปรเจกต์และแพ็กเกจของ Rust สร้างโปรเจกต์ด้วย cargo new ตรวจโค้ดเร็ว ๆ ด้วย cargo check รันด้วย cargo run คอมไพล์สำหรับใช้งานจริงด้วย cargo build --release และทดสอบด้วย cargo test ไลบรารีภายนอกที่เรียกว่า Crate ประกาศไว้ใน Cargo.toml แล้ว Cargo จะดาวน์โหลดจาก crates.io ให้ นอกจากนี้ cargo fmt ใช้จัดรูปแบบโค้ด cargo clippy ช่วยหาจุดที่ควรปรับ และ cargo doc ใช้สร้างเอกสารจากคอมเมนต์ในโค้ด

สร้าง Web API ด้วย Axum และ PostgreSQL มีขั้นตอนอย่างไร

เพิ่ม tokio, axum, serde และ sqlx ลงใน Cargo.toml แล้วเขียนฟังก์ชัน main แบบ async ที่สร้าง Connection Pool ไปยัง PostgreSQL และรัน Migration จากนั้นสร้าง Router ผูก Route เข้ากับ Handler และส่ง Pool ให้ทุก Handler ผ่าน State แต่ละ Handler รับข้อมูลด้วย Extractor อย่าง Path หรือ Json อ่านหรือเขียนข้อมูลด้วย query! ของ SQLx ที่ตรวจคำสั่ง SQL ตอนคอมไพล์ แล้วตอบกลับเป็น JSON พร้อม Status Code ที่เหมาะสม

หลักสูตร Rust Programming เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนาที่ต้องการสร้างเว็บเซอร์วิสด้วยภาษา Rust Backend Developer ที่ใช้ภาษาอื่นอยู่และต้องการภาษาที่เร็วและปลอดภัยกว่าเดิม ผู้ที่อยากเรียนภาษาที่เน้นประสิทธิภาพและความปลอดภัยของหน่วยความจำ และวิศวกรระบบที่ต้องการเขียนเครื่องมือที่ทำงานใกล้ระบบมากขึ้น ควรเขียนโปรแกรมได้อย่างน้อยหนึ่งภาษา และเข้าใจพื้นฐานเว็บอย่าง HTTP, JSON และ REST API

เรียนจบหลักสูตร Rust Programming แล้วทำอะไรได้บ้าง

เขียน Rust โดยเข้าใจ Ownership, Borrowing และ Lifetime ใช้ Struct, Enum, Trait และ Generic ออกแบบโค้ด จัดการ Error อย่างเป็นระบบ จัดการโปรเจกต์ด้วย Cargo พร้อม Clippy และ Test เขียนโค้ดแบบ Async ด้วย Tokio สร้าง Web API ด้วย Axum เชื่อม PostgreSQL ด้วย SQLx ทำระบบยืนยันตัวตนผู้ใช้ และแพ็กบริการเป็น Docker Image ได้ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Rust Programming ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ใช้ข้อมูลหรือบริการที่ทีมดูแลอยู่เป็นโจทย์สร้าง RESTful Service ด้วย Rust ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449