[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-1-1-all-rust-series-ep3-introduction-to-cargo-all--*":3,"academy-blog-translations-okm4en0s9tcmnn6":86},{"data":4,"page":85,"perPage":85,"totalItems":85,"totalPages":85},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_path":11,"created":12,"created_by":13,"expand":14,"id":78,"keywords":79,"locale":54,"published_at":80,"scheduled_at":13,"school_blog":76,"short_description":81,"slug":82,"status":74,"title":83,"updated":84,"updated_by":13,"views":77},"โลโก้ภาษา Rust และตัวการ์ตูนปูที่เป็นมาสคอต สำหรับบทความ Rust The Series EP 3 โดย Superdev Academy","sclblg987654321","school_blog_translations","\u003Cp>ยินดีต้อนรับเข้าสู่ \u003Cstrong>Rust The Series SS1\u003C\u002Fstrong> ซีรีส์ที่จะเปลี่ยนคุณจากศูนย์ให้กลายเป็นเซียน Rust ไปกับ \u003Cstrong>Superdev Academy\u003C\u002Fstrong> ครับ!\u003C\u002Fp>\u003Cp>ใน EP 1 และ 2 เราได้รู้จักประวัติความเข้มข้นของ Rust และติดตั้งเครื่องมือกันไปเรียบร้อยแล้ว ใน EP 3 นี้ เราจะเริ่มลงมือ \"เขียน\" และ \"รัน\" โค้ดแรกกันจริงๆ เสียที แต่ก่อนจะไปเขียนโค้ด เราต้องรู้จักกับคู่หูคู่ใจของนักพัฒนา Rust ทุกคนก่อน นั่นคือ \u003Cstrong>Cargo\u003C\u002Fstrong> ครับ\u003C\u002Fp>\u003Ch2>ทำความรู้จักกับ Cargo: มากกว่าแค่เครื่องมือจัดการ Library\u003C\u002Fh2>\u003Cp>ถ้าภาษา Java มี Maven\u002FGradle, Python มี Pip, หรือ Node.js มี NPM... ภาษา Rust ก็มี \u003Cstrong>Cargo\u003C\u002Fstrong> ครับ แต่มันพิเศษกว่าตรงที่ Cargo เป็นเครื่องมือแบบ \u003Cstrong>All-in-one\u003C\u002Fstrong> ที่ถูกติดตั้งมาพร้อมกับ Rust เลย โดยทำหน้าที่หลักๆ ดังนี้:\u003C\u002Fp>\u003Ctable style=\"min-width: 50px;\">\u003Ccolgroup>\u003Ccol style=\"min-width: 25px;\">\u003Ccol style=\"min-width: 25px;\">\u003C\u002Fcolgroup>\u003Ctbody>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Cstrong>หน้าที่\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Cstrong>รายละเอียด\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Cstrong>Build System\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>ช่วยคอมไพล์โค้ดจาก Source Code ให้กลายเป็นโปรแกรมที่รันได้\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Cstrong>Package Manager\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>จัดการ Library ภายนอก (ในภาษา Rust เราเรียกว่า \u003Cstrong>Crates\u003C\u002Fstrong>)\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Cstrong>Project Creator\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>สร้างโครงสร้างโปรเจกต์มาตรฐาน เพื่อให้ทำงานร่วมกับคนอื่นได้ง่าย\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>\u003Cstrong>Test Runner\u003C\u002Fstrong>\u003C\u002Fp>\u003C\u002Ftd>\u003Ctd colspan=\"1\" rowspan=\"1\">\u003Cp>รัน Unit Test เพื่อตรวจสอบความถูกต้องของโค้ด\u003C\u002Fp>\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Cp>ว่ากันว่า Cargo คือหนึ่งในระบบจัดการโปรเจกต์ที่ดีที่สุดในโลกการเขียนโปรแกรม เพราะมันทำให้ Developer โฟกัสที่การเขียนโค้ดได้ 100% โดยไม่ต้องวุ่นวายกับการตั้งค่า Build ที่ซับซ้อนครับ\u003C\u002Fp>\u003Ch2>1. เริ่มสร้างโปรเจกต์แรกด้วย \u003Ccode>cargo new\u003C\u002Fcode>\u003C\u002Fh2>\u003Cp>เปิด Terminal (หรือ Command Prompt) ขึ้นมา แล้วพิมพ์คำสั่งนี้เพื่อสร้างโปรเจกต์ใหม่ครับ:\u003C\u002Fp>\u003Cp>Bash\u003C\u002Fp>\u003Cpre>\u003Ccode>cargo new hello_superdev\r\ncd hello_superdev\r\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>เมื่อคุณเปิดโฟลเดอร์นี้ขึ้นมา (แนะนำให้เปิดด้วย VS Code) จะพบโครงสร้างโปรเจกต์มาตรฐานดังนี้:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>Cargo.toml\u003C\u002Fcode>\u003C\u002Fstrong>: ไฟล์หัวใจหลัก (Manifest file) สำหรับจัดการข้อมูลและ Library ของโปรเจกต์\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>src\u002F\u003C\u002Fcode>\u003C\u002Fstrong>: โฟลเดอร์ที่ใช้เก็บ Source Code ทั้งหมด\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>src\u002F\u003C\u002Fcode>\u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"http:\u002F\u002Fmain.rs\">\u003Cstrong>\u003Ccode>main.rs\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fa>: ไฟล์หลัก (Entry point) ที่เราจะเขียนโค้ด\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>.gitignore\u003C\u002Fcode>\u003C\u002Fstrong>: Cargo ใจดีแถมมาให้เลย สำหรับคนที่จะใช้งาน Git\u002FGitHub\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>2. เจาะลึกไฟล์ \u003Ccode>Cargo.toml\u003C\u002Fcode> (The Manifest)\u003C\u002Fh2>\u003Cp>ไฟล์นี้ใช้รูปแบบ \u003Cstrong>TOML\u003C\u002Fstrong> (\u003Cem>Tom's Obvious, Minimal Language\u003C\u002Fem>) ซึ่งอ่านง่ายและเป็นระเบียบมากครับ:\u003C\u002Fp>\u003Cp>Ini, TOML\u003C\u002Fp>\u003Cpre>\u003Ccode>[package]\r\nname = \"hello_superdev\"\r\nversion = \"0.1.0\"\r\nedition = \"2021\"\r\n\r\n[dependencies]\r\n# ที่นี่เอาไว้ใส่ชื่อ Crates (Library) เสริม เช่น serde = \"1.0\"\r\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>[package]\u003C\u002Fcode>\u003C\u002Fstrong>: เก็บ Metadata ของโปรเจกต์ เช่น ชื่อเวอร์ชัน และ \u003Ccode>edition\u003C\u002Fcode> (รุ่นของคอมไพเลอร์ Rust)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>[dependencies]\u003C\u002Fcode>\u003C\u002Fstrong>: ในอนาคตถ้าเราอยากดึงความสามารถของคนอื่นมาใช้ เช่น อยากทำ API, เชื่อมต่อ Database หรือจัดการ JSON เราจะมาเพิ่มชื่อ Library ในส่วนนี้ครับ\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>3. Hello World แรกใน \u003Ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"http:\u002F\u002Fmain.rs\">\u003Ccode>main.rs\u003C\u002Fcode>\u003C\u002Fa>\u003C\u002Fh2>\u003Cp>ลองเปิดไฟล์ \u003Ccode>src\u002F\u003C\u002Fcode>\u003Ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"http:\u002F\u002Fmain.rs\">\u003Ccode>main.rs\u003C\u002Fcode>\u003C\u002Fa> คุณจะเห็นว่า Cargo เขียนโค้ดเริ่มต้นมาให้เราแล้ว!\u003C\u002Fp>\u003Cp>Rust\u003C\u002Fp>\u003Cpre>\u003Ccode>fn main() {\r\n    println!(\"Hello, world!\");\r\n}\r\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>วิเคราะห์โค้ดเบื้องต้น:\u003C\u002Fstrong>\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>fn main()\u003C\u002Fcode>\u003C\u002Fstrong>: คือฟังก์ชันหลักที่เป็นจุดเริ่มต้น (Entry Point) ของโปรแกรม Rust ทุกโปรแกรม\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Cstrong>\u003Ccode>println!\u003C\u002Fcode>\u003C\u002Fstrong>: นี่คือ \u003Cstrong>\"Macro\"\u003C\u002Fstrong> (สังเกตที่มีเครื่องหมาย \u003Ccode>!\u003C\u002Fcode>) ซึ่งทำหน้าที่พิมพ์ข้อความลงในหน้าจอ สาเหตุที่มันเป็น Macro เพราะมันมีความสามารถในการจัดการกับ Argument ที่หลากหลายได้มากกว่าฟังก์ชันปกติครับ\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>4. 3 คำสั่งศักดิ์สิทธิ์ที่ต้องจำให้ขึ้นใจ\u003C\u002Fh2>\u003Cp>ในการทำงานกับ Cargo คุณจะวนเวียนอยู่กับ 3 คำสั่งนี้บ่อยที่สุด:\u003C\u002Fp>\u003Ch3>A. \u003Ccode>cargo build\u003C\u002Fcode> (สร้างตัวโปรแกรม)\u003C\u002Fh3>\u003Cp>ใช้สำหรับคอมไพล์โค้ด คำสั่งนี้จะสร้างไฟล์ Executable ไว้ที่โฟลเดอร์ \u003Ccode>target\u002Fdebug\u002F\u003C\u002Fcode> เพื่อเตรียมใช้งาน\u003C\u002Fp>\u003Ch3>B. \u003Ccode>cargo run\u003C\u002Fcode> (Build พร้อมรันทันที)\u003C\u002Fh3>\u003Cp>เป็นคำสั่งยอดนิยม! เพราะมันจะเช็คให้ว่าถ้ามีการแก้โค้ด มันจะคอมไพล์ใหม่ให้เอง แล้วรันโปรแกรมให้เราดูผลลัพธ์ทันที\u003C\u002Fp>\u003Cblockquote>\u003Cp>\u003Cstrong>Result:\u003C\u002Fstrong> คุณควรเห็นข้อความ \u003Ccode>\"Hello, world!\"\u003C\u002Fcode> ปรากฏขึ้นบนจอ\u003C\u002Fp>\u003C\u002Fblockquote>\u003Ch3>C. \u003Ccode>cargo check\u003C\u002Fcode> (เช็คความถูกต้องแบบ Fast-track)\u003C\u002Fh3>\u003Cp>เป็นไม้ตายของนักพัฒนา Rust! คำสั่งนี้จะตรวจสอบว่าโค้ดเราเขียนผิด Syntax หรือไม่ แต่จะ \u003Cstrong>ไม่สร้าง\u003C\u002Fstrong> ไฟล์โปรแกรมออกมา ทำให้มันทำงานได้เร็วมาก เหมาะสำหรับใช้เช็คโค้ดบ่อยๆ ระหว่างเขียน เพื่อประหยัดเวลาคอมไพล์\u003C\u002Fp>\u003Ch2>5. การ Build แบบ Release (สำหรับใช้งานจริง)\u003C\u002Fh2>\u003Cp>เมื่อโปรเจกต์เสร็จสมบูรณ์และต้องการนำไป Deploy หรือส่งให้เพื่อนรัน ให้ใช้คำสั่ง:\u003C\u002Fp>\u003Cp>Bash\u003C\u002Fp>\u003Cpre>\u003Ccode>cargo build --release\r\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>\u003Cstrong>ทำไมต้อง \u003Ccode>--release\u003C\u002Fcode>?\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>เพราะในโหมดปกติ (Debug) Rust จะเน้นคอมไพล์เร็วเพื่อให้เราพัฒนาได้ไว แต่ในโหมด \u003Cstrong>Release\u003C\u002Fstrong> คอมไพเลอร์จะทำการ \u003Cstrong>Optimize\u003C\u002Fstrong> โค้ดอย่างหนักเพื่อให้โปรแกรมทำงานได้รวดเร็วที่สุดเท่าที่จะเป็นไปได้ (แม้จะใช้เวลาคอมไพล์นานขึ้นนิดหน่อยก็ตาม) ไฟล์ที่ได้จะอยู่ที่ \u003Ccode>target\u002Frelease\u002F\u003C\u002Fcode> ครับ\u003C\u002Fp>\u003Cp>\u003C\u002Fp>\u003Cdiv data-type=\"horizontalRule\">\u003Chr>\u003C\u002Fdiv>\u003Ch2>สรุป\u003C\u002Fh2>\u003Cp>ใน EP นี้เราได้รู้วิธีการใช้ Cargo เพื่อสร้างโปรเจกต์, เข้าใจโครงสร้างไฟล์ และลองรันคำสั่งพื้นฐานเพื่อแสดงผล Hello World ครั้งแรกในภาษา Rust กันแล้วครับ\u003C\u002Fp>\u003Cp>การมีระบบจัดการที่ยอดเยี่ยมอย่าง Cargo ทำให้เราโฟกัสไปที่การเขียนตรรกะโปรแกรมได้เต็มที่ โดยไม่ต้องกังวลเรื่องการตั้งค่าระบบที่ยุ่งยากเหมือนภาษาในยุคเก่า\u003C\u002Fp>\u003Cp>\u003Cstrong>Next Step:\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>ใน \u003Cstrong>EP 4\u003C\u002Fstrong> เราจะเริ่มเข้าสู่หัวใจสำคัญของภาษา Rust นั่นคือเรื่อง \u003Cstrong>Variables &amp; Mutability\u003C\u002Fstrong> มาหาคำตอบกันว่า ทำไมตัวแปรใน Rust ถึงต้อง \"แก้ไขไม่ได้\" (Immutable) เป็นค่าเริ่มต้น และถ้าอยากแก้ไขต้องทำอย่างไร? บอกเลยว่าเรื่องนี้คือจุดเริ่มต้นของความปลอดภัยในระดับหน่วยความจำของ Rust ครับ!\u003C\u002Fp>\u003Cp>แล้วเจอกันที่ \u003Cstrong>Superdev Academy\u003C\u002Fstrong> ครับ! 🦀✨\u003C\u002Fp>\u003Ch2>🎯 ติดตามความรู้สาย Dev แบบสุดจัดได้ที่:\u003C\u002Fh2>\u003Cp>ไม่อยากพลาดบทความเทคนิคเชิงลึกและอัปเดตใหม่ๆ จากเรา ติดตาม \u003Cstrong>Superdev Academy\u003C\u002Fstrong> ได้ทุกช่องทางที่นี่ครับ:\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cp>🔵 \u003Cstrong>Facebook:\u003C\u002Fstrong> \u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.academy.th\">Superdev Academy Thailand\u003C\u002Fa> (อัปเดตข่าวสารและบทความใหม่)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>🎬 \u003Cstrong>YouTube:\u003C\u002Fstrong> \u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.youtube.com\u002F@SuperdevAcademy\">Superdev Academy Channel\u003C\u002Fa> (ติวเข้มแบบวิดีโอ)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>📸 \u003Cstrong>Instagram:\u003C\u002Fstrong> \u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevacademy\u002F\">@superdevacademy\u003C\u002Fa> (เกร็ดความรู้สั้นๆ และเบื้องหลังการทำงาน)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>🎬 \u003Cstrong>TikTok:\u003C\u002Fstrong> \u003Ca target=\"_blank\" rel=\"noopener\" class=\"ng-star-inserted\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevacademy?lang=th-TH\">@superdevacademy\u003C\u002Fa> (Tips &amp; Tricks ฉบับย่อยง่าย)\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>🌐 \u003Cstrong>Website:\u003C\u002Fstrong> \u003Ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"http:\u002F\u002Fsuperdevacademy.com\">superdevacademy.com\u003C\u002Fa> (คลังบทความและคอร์สเรียนฉบับเต็ม)\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>\u003C\u002Fp>","5nl6sxdrndo_8nnwwnyrxc.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002F5diz71et6elhs9k\u002F5nl6sxdrndo_8nnwwnyrxc.png","2026-03-23 03:46:58.277Z","",{"keywords":15,"locale":48,"school_blog":58},[16,23,28,33,38,43],{"collectionId":17,"collectionName":18,"created":19,"created_by":13,"id":20,"name":21,"updated":22,"updated_by":13},"sclkey987654321","school_keywords","2026-03-16 05:10:32.092Z","s8r1st4glsmm7yl","ภาษา Rust","2026-04-10 16:14:41.900Z",{"collectionId":17,"collectionName":18,"created":24,"created_by":13,"id":25,"name":26,"updated":27,"updated_by":13},"2026-03-23 03:08:56.729Z","ttp78s7jayewgl4","Rust","2026-04-10 16:14:44.997Z",{"collectionId":17,"collectionName":18,"created":29,"created_by":13,"id":30,"name":31,"updated":32,"updated_by":13},"2026-03-23 03:46:05.235Z","to8ylvvfmrgjo0x","Cargo","2026-04-10 16:14:45.536Z",{"collectionId":17,"collectionName":18,"created":34,"created_by":13,"id":35,"name":36,"updated":37,"updated_by":13},"2026-03-04 08:44:11.146Z","gms2qr4xg6qv65e","Superdev Academy","2026-04-10 16:12:41.207Z",{"collectionId":17,"collectionName":18,"created":39,"created_by":13,"id":40,"name":41,"updated":42,"updated_by":13},"2026-03-04 08:31:35.253Z","r1k7m3354tp5ovr","เรียนเขียนโปรแกรม","2026-04-10 16:07:43.096Z",{"collectionId":17,"collectionName":18,"created":44,"created_by":13,"id":45,"name":46,"updated":47,"updated_by":13},"2026-03-23 03:46:33.835Z","htqad2oc1hixhhl","วิธีใช้ Cargo","2026-04-10 16:14:45.628Z",{"code":49,"collectionId":50,"collectionName":51,"created":52,"flag":53,"id":54,"is_default":55,"label":56,"updated":57},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":59,"collectionId":60,"collectionName":61,"expand":62,"id":76,"views":77},"mfqe235iv6x1or8","pbc_2105096300","school_blogs",{"category":63},{"blogIds":64,"collectionId":65,"collectionName":66,"created":67,"created_by":13,"id":59,"image":68,"image_alt":13,"image_path":69,"label":70,"name":71,"priority":72,"publish_at":73,"scheduled_at":13,"status":74,"updated":75,"updated_by":13},[],"sclcatblg987654321","school_category_blogs","2026-03-16 04:40:07.104Z","47vt5s1gglj_tz0b90vnge.png","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fmfqe235iv6x1or8\u002F47vt5s1gglj_tz0b90vnge.png",{"en":71,"th":71},"Rust The Series",2,"2026-03-16 04:40:09.199Z","published","2026-04-25 02:32:15.619Z","okm4en0s9tcmnn6",124,"5diz71et6elhs9k",[20,25,30,35,40,45],"2026-03-23 04:03:02.314Z","เริ่มต้นเขียนโค้ดแรกในภาษา Rust ด้วย Cargo เรียนรู้วิธีสร้างโปรเจกต์ จัดการ Library (Crates) และคำสั่งพื้นฐานที่ต้องรู้ เช่น cargo build, run และ check เพื่อการพัฒนาซอฟต์แวร์อย่างมืออาชีพ","rust-series-ep3-introduction-to-cargo","ทำความรู้จัก Cargo คู่หูที่จะทำให้ชีวิตการเขียน Rust ง่ายขึ้น | Rust The Series EP.3","2026-04-22 07:11:53.620Z",1,{"th":82,"en":87},"rust-series-ep3-intro-to-cargo-package-manager"]