56 คะแนน โดย GN⁺ 2024-05-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ออกแบบมาให้เรียนรู้แนวคิดหลักของ Rust ทีละอย่างผ่านการลงมือปฏิบัติ
  • สามารถเรียนรู้ไวยากรณ์ ระบบชนิดข้อมูล มาตรฐานไลบรารี และอีโคซิสเต็มได้
  • ไม่จำเป็นต้องมีความรู้ Rust มาก่อน แต่ควรมีความรู้พื้นฐานเกี่ยวกับภาษาโปรแกรมอื่นอย่างน้อยหนึ่งภาษา
  • ไม่จำเป็นต้องมีความรู้ล่วงหน้าเกี่ยวกับการเขียนโปรแกรมระบบหรือการจัดการหน่วยความจำ
  • สามารถเริ่มจากศูนย์และค่อย ๆ สะสมความรู้ Rust ไปทีละขั้นเล็ก ๆ
  • เมื่อจบคอร์ส คุณจะได้แก้แบบฝึกหัดราว 100 ข้อ และมีความมั่นใจในการจัดการโปรเจ็กต์ Rust ขนาดเล็กถึงขนาดกลาง

วิธีการ

  • คอร์สนี้ยึดตามหลักการ "Learn By Doing"
  • ออกแบบมาให้โต้ตอบได้และเน้นการลงมือปฏิบัติ
  • ออกแบบให้เรียนในสภาพแวดล้อมแบบห้องเรียนตลอด 4 วัน
    • ผู้เข้าร่วมแต่ละคนจะเรียนตามจังหวะของตนเอง โดยมีผู้สอนที่มีประสบการณ์คอยแนะนำและตอบคำถาม
  • แม้จะเรียนตามคอร์สนี้คนเดียวได้ แต่แนะนำให้มีเพื่อนหรือเมนเทอร์ช่วยด้วย
  • คำตอบของแบบฝึกหัดทั้งหมดสามารถดูได้ใน solution branch ของ GitHub repository

โครงสร้าง

  • ทางซ้ายของหน้าจอ คอร์สถูกแบ่งออกเป็นหลายส่วน
  • แต่ละส่วนจะแนะนำแนวคิดหรือความสามารถใหม่ของภาษา Rust
  • เพื่อใช้ตรวจสอบความเข้าใจ แต่ละส่วนจะมีแบบฝึกหัดให้แก้
  • แบบฝึกหัดสามารถพบได้ใน GitHub repository ที่มาคู่กัน
  • ก่อนเริ่มคอร์ส ต้อง clone repository ลงเครื่องของคุณก่อน
  • หากตั้งค่า SSH key ไว้แล้ว: git clone git@github.com:mainmatter/100-exercises-to-learn-rust.git
  • หากใช้ HTTPS URL: git clone https://github.com/mainmatter/100-exercises-to-learn-rust.git
  • แนะนำให้ทำงานบน branch เพื่อให้ติดตามความคืบหน้าได้ง่าย และดึงอัปเดตจาก repository หลักได้เมื่อจำเป็น
  • แบบฝึกหัดทั้งหมดอยู่ในโฟลเดอร์ exercises
  • แบบฝึกหัดแต่ละข้อถูกจัดเป็นแพ็กเกจ Rust
  • แพ็กเกจประกอบด้วยตัวแบบฝึกหัดเอง คำแนะนำเกี่ยวกับงานที่ต้องทำ (src/lib.rs) และ test suite สำหรับตรวจสอบคำตอบโดยอัตโนมัติ

เกี่ยวกับผู้เขียน

  • คอร์สนี้เขียนโดย Luca Palmieri ที่ปรึกษาด้านวิศวกรรมอาวุโสของ Mainmatter
  • Luca ใช้ Rust มาตั้งแต่ปี 2018 และเคยทำงานที่ TrueLayer และ AWS
  • เขาเป็นผู้เขียน "Zero to Production in Rust" ซึ่งเป็นแหล่งข้อมูลสำคัญสำหรับการเรียนรู้วิธีสร้างแอปพลิเคชันแบ็กเอนด์ด้วย Rust
  • เขายังเป็นผู้เขียนและผู้ดูแลโครงการ Rust แบบโอเพนซอร์สหลายตัว รวมถึง cargo-chef, Pavex และ wiremock

1 ความคิดเห็น

 
GN⁺ 2024-05-18
ความคิดเห็นจาก Hacker News

สรุปรวมความคิดเห็นจาก Hacker News

  • แนะนำ Rustlings

    • มีการกล่าวถึงแหล่งเรียนรู้ลักษณะคล้ายกันชื่อ Rustlings โดยเป็นการแก้ข้อความ todo ในไฟล์เพื่อให้โค้ดคอมไพล์ได้และผ่านการทดสอบทั้งหมด เป็นวิธีเรียนรู้แบบโต้ตอบได้ ลิงก์ Rustlings
  • Zero to Production in Rust

    • ชุดแบบฝึกหัดนี้สร้างโดยผู้เขียนหนังสือ "Zero to Production in Rust" ซึ่งเป็นที่รู้จักจากปกหนังสือที่มีปูอยู่บนกะโหลกมนุษย์ ลิงก์ Zero to Production
  • คำแนะนำสำหรับผู้เริ่มต้น Rust

    • มีคนลองดูส่วนที่ใช้ความรู้ Rust ระดับพื้นฐานและชอบสไตล์ที่กระชับไม่ฟุ่มเฟือย หลังใช้ไปประมาณ 30 นาทีจึงคิดว่าแหล่งข้อมูลนี้อาจเป็นคำแนะนำที่ดีที่สุดสำหรับการเริ่มต้นเรียน Rust และมารู้ภายหลังว่าเป็นผลงานของผู้เขียนคนเดียวกัน
  • ทิปและทริกของ Rust

  • ขอความเห็นจากผู้มีประสบการณ์ภาษาอื่น

    • อยากให้คนที่คุ้นเคยกับภาษาโปรแกรมยอดนิยมและทำแบบฝึกหัดนี้จบแล้วมาแบ่งปันความเห็นว่าแหล่งข้อมูลนี้มีประโยชน์มากแค่ไหน โดยผู้ถามมีประสบการณ์กับ Java, Python, JS และ C++
  • บล็อกเกี่ยวกับวิธีเรียนรู้

  • ปัญหาเรื่อง abstraction ของ Rust

    • ในโค้ด Rust มักเกิดการรั่วไหลของ abstraction โดยฟีเจอร์ ownership ทำให้รายละเอียดการ implementation ถูกเปิดเผยหรือถูกบังคับให้รับรู้
  • หางาน Rust ได้ยาก

    • มีคนใช้ Rust มาส่วนตัว แต่หลังถูกเลย์ออฟกลับหางานที่ได้ใช้ Rust ยาก เพราะงานที่ใช้ Rust ยังมีไม่มาก
  • เปรียบเทียบกับ Rustlings

    • มีคนอยากรู้ความเห็นจากผู้ที่เคยเปรียบเทียบ Rustlings กับแหล่งข้อมูลนี้ โดยพอใจกับ Rustlings มาก แต่อยากรู้ว่าคุ้มค่าหรือไม่ที่จะทำอันนี้ต่อ
  • ชื่นชมผู้เขียน

    • มีการส่งคำชื่นชมถึงผู้เขียนและผู้ดูแล เพราะแม้จะสามารถทำเงินจากสิ่งนี้ได้ง่าย ๆ แต่กลับเลือกแจกฟรี ลิงก์ผู้เขียน