Section 1: ทำความรู้จัก Rust และระบบนิเวศ
- เหตุผลที่องค์กรเลือก Rust: Memory Safety, ประสิทธิภาพ และความปลอดภัยของ Concurrency
- งานที่ Rust เหมาะและไม่เหมาะ เมื่อเทียบกับ Go, Java, C# และ Python
- รอบการออกเวอร์ชันทุก 6 สัปดาห์ แนวคิด Edition และสิ่งที่เปลี่ยนใน Edition 2024
- crates.io, docs.rs, The Rust Book และแหล่งเรียนรู้หลักของชุมชน
Section 2: Lab: ติดตั้งและใช้งาน Toolchain
- ติดตั้ง rustup เลือก Toolchain แบบ stable และอัปเดตเวอร์ชัน
- คำสั่งหลักของ cargo: new, build, run, check, add และโครงสร้าง Cargo.toml
- จัดรูปแบบโค้ดด้วย rustfmt และตรวจคุณภาพด้วย clippy
- ตั้งค่า VS Code กับ rust-analyzer และการอ่านข้อความ Error ของ Compiler
- Lab: สร้างโปรเจกต์แรกและแก้คำเตือนจาก clippy
Section 3: ไวยากรณ์และชนิดข้อมูลพื้นฐาน
- ตัวแปร Immutability โดยค่าเริ่มต้น, mut และ Shadowing
- Scalar Types, Tuple, Array และการแปลงชนิดข้อมูลอย่างปลอดภัย
- ฟังก์ชัน Expression กับ Statement และการคืนค่า
- Control Flow: if, loop, while, for และ Range
- Lab: แบบฝึกหัดเขียนฟังก์ชันคำนวณและวนลูปข้อมูล
Section 4: Struct, Enum และ Pattern Matching
- นิยาม Struct และ Method ด้วย impl รวมถึง Associated Function
- Enum ที่เก็บข้อมูลได้ และ Option ที่ใช้แทนค่า null
- match, if let และ let else สำหรับแยกกรณีอย่างครบถ้วน
- Lab: ออกแบบ Struct Ticket และ Enum สถานะกับระดับความเร่งด่วน
Section 5: Workshop: Module และ TicketPilot CLI
- mod, pub, use และการแยกไฟล์ตามหน้าที่
- Library Crate กับ Binary Crate และการจัดโครงสร้างโปรเจกต์
- รับ Argument จาก Command Line ด้วย clap เบื้องต้น
- Workshop: สร้างโปรเจกต์ TicketPilot และคำสั่ง CLI แสดงรายการ Ticket จำลอง