Menu
CoddyTech
Lộ trình học

Lộ trình lập trình viên Rust

Những gì cần học, theo đúng thứ tự, để làm lập trình viên Rust: ngôn ngữ Rust qua ownership, borrowing, Result, generic và trait, dòng lệnh, Git và SQL, rồi cấu trúc dữ liệu và thuật toán viết dưới sự kiểm soát của borrow checker, và code mà cả nhóm bảo trì được. Tháng đầu tiên sẽ dốc hơn hầu hết các ngôn ngữ khác. Miễn phí, thực hành ngay trên trình duyệt.

222,427+ người học code đã đăng ký các khóa học này

582 bài học539 thử thách2,446 câu hỏi trắc nghiệm

Lộ trình lập trình viên Rust, từng bước một

17 khóa học6 phần582 bài học539 thử thách2,446 câu hỏi trắc nghiệm

Mỗi bước gồm các khóa học có sẵn trên Coddy, và mọi nút Bắt đầu đều mở chúng bằng Rust. Học theo thứ tự, hoặc bắt đầu từ bước bạn còn thiếu; tiến độ được lưu riêng cho từng khóa học.

  1. 1
    Bắt đầu bước nàyBắt đầuBa phần. Fundamentals dạy biến và tính khả biến, shadowing, match, vòng lặp, hàm, mảng và tham chiếu khả biến; Logic & Flow dạy vector, struct, hash map, Option, Result và toán tử ?, string slice và closure; Object Oriented Programming dạy điều đó nghĩa là gì trong Rust (phương thức trên struct, module và tính riêng tư, enum mang dữ liệu, generic, trait, trait bound và trait object) cùng các pattern như newtype và From và Into. Ownership và borrowing xuyên suốt cả ba phần và là phần khó: trình biên dịch từ chối những đoạn code mà ngôn ngữ khác vẫn chạy. Hãy học thật sâu; mọi bước sau đều dựa vào chúng.Bắt đầuTrang riêng
  2. 2
    Bắt đầu bước nàyBắt đầuTệp và đường dẫn, ký tự đại diện, grep, pipe và chuyển hướng, quyền truy cập, biến môi trường và shell script. Lập trình Rust diễn ra trong terminal: cargo build, cargo test và cargo clippy là lệnh, lỗi biên dịch được đọc trong console, và Rust có truyền thống mạnh về công cụ dòng lệnh, ripgrep là một ví dụ. RUST_BACKTRACE và RUST_LOG nhiều khả năng là những biến môi trường đầu tiên bạn sẽ đặt.Bắt đầuTrang riêng
  3. 3
    Bắt đầu bước nàyBắt đầuStaging, commit, .gitignore, nhánh, merge và xung đột, hoàn tác sai lầm và remote. Mọi dự án Rust đều bắt đầu bên trong Git: cargo new khởi tạo một repository và tự bỏ qua target/ cho bạn. Các crate trên crates.io trỏ về repository của chúng, và đóng góp cho một crate nghĩa là nhánh, commit và pull request.Bắt đầuTrang riêng
  4. 4
    Bắt đầu bước nàyBắt đầuLọc, sắp xếp, join, nhóm, hàm tổng hợp, truy vấn con, mệnh đề WITH và window function, trên các bảng thật. Backend Rust truy cập cơ sở dữ liệu qua các crate như sqlx, có thể kiểm tra truy vấn với cơ sở dữ liệu thật ngay lúc biên dịch, hoặc Diesel, một ORM; dù cách nào, trình biên dịch cũng chỉ giúp được khi bản thân truy vấn đã đúng.Bắt đầuTrang riêng
  5. 5
    Bắt đầu bước nàyBắt đầuStack, queue, danh sách liên kết, cây nhị phân và bảng băm, mỗi cấu trúc đều được xây từ đầu bằng Rust rồi đem ra giải bài tập. Một Vec đã là một stack tốt và VecDeque là một queue, nhưng danh sách liên kết là nơi kinh điển mà quy tắc của Rust làm khó bạn: mỗi node sở hữu node tiếp theo qua Option<Box<Node>>, và borrow checker hỏi ai được phép thay đổi nó. Tự xây các cấu trúc này là cách nhanh nhất để ownership trở nên cụ thể.Bắt đầu
  6. 6
    Bắt đầu bước nàyBắt đầuThử thách đệ quy, rồi bubble, selection, insertion, merge và quick sort bằng Rust, các thuật toán sắp xếp được minh họa động trong công cụ trực quan hóa thuật toán của Coddy. Sắp xếp tại chỗ là bài luyện borrowing: quick sort phân hoạch một &mut [T], và tách một slice thành hai để đệ quy là lý do split_at_mut tồn tại. Sau đó cặp phương thức của thư viện chuẩn sẽ dễ hiểu: sort ổn định, còn sort_unstable thì không, và thường nhanh hơn.Bắt đầu
  7. 7
    Bắt đầu bước nàyBắt đầuMột dự án hướng đối tượng xây từ đầu đến cuối và một kho bài tập lập trình, đều bằng Rust. rustfmt và clippy lo định dạng và nhiều quy tắc lint; cách đặt tên, độ dài hàm và ranh giới module là phần của bạn, và đó là những gì người review Rust sẽ góp ý.Bắt đầu
Bạn nhận được gì
Mọi thứ bạn sẽ dùng để học lập trình

Học qua thực hành

Viết code thật, truy vấn cơ sở dữ liệu, xây dựng trang web và làm chủ prompt AI. Các bài học tương tác bao quát mọi kỹ năng mà lập trình viên hiện đại cần.

playground.js
Trình chỉnh sửa code
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Đầu vào
"Alex"
Đầu ra
"Hello, Coddy! Alex"

Xây dựng streak

Học đều đặn và nhìn tiến độ của bạn lớn dần! Theo dõi thói quen code mỗi ngày, bảo vệ streak bằng ngày đóng băng và nhận phần thưởng khi học mỗi ngày.

12 ngày streak

Quay lại ngày mai để giữ streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Gấp đôi hoặc mất hết

Ngày 5/7

fire Freeze icon

Đóng băng streak

2 left

Code ở mọi nơi

Mang hành trình lập trình theo bên mình! Không cài đặt, không tải về: chỉ cần mở ra và bắt đầu code. Có trên iOS, Android và Web với đánh giá 4,9 sao.

Python
7Streak
250Điểm
5Năng lượng
Biến
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
Tiếp tục
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Hành trình
Mục tiêu
Bảng xếp hạng
Hồ sơ
4.9
Ngôi saoNgôi saoNgôi saoNgôi saoNgôi sao
Đánh giá

Bạn không đơn độc

Thi đấu trên bảng xếp hạng toàn cầu, mời bạn bè để nhận phần thưởng và cùng nhau ăn mừng thành công. Học code cùng bạn bè vui hơn nhiều!

Giải đấu Challenger
Giải đấu ChallengerTop 7 được thăng hạng
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconVùng thăng hạngleaderboard Arrow Up icon

Mọi cách để học

Đọc, nghe, tự kiểm tra, hỏi AI hoặc tra cứu bất cứ điều gì bạn đã học. Mỗi bài học phù hợp với trình độ của bạn.

Giới thiệu về biến
Âm thanh

Biến là một vùng chứa có tên, lưu một giá trị mà bạn có thể dùng lại sau trong chương trình.

Trong Python, bạn tạo biến bằng cách viết tên, dấu bằng, rồi giá trị muốn lưu.

Giá trị có thể thay đổi theo thời gian. Gán lại tên đó chỉ đơn giản là trỏ nó tới một giá trị mới.

1xSarah

Nhận chứng nhận

Nhận chứng nhận cho mỗi khóa học bạn hoàn thành. Thêm vào hồ sơ LinkedIn và CV để cho nhà tuyển dụng thấy kỹ năng lập trình của bạn.

CoddyGiấy chứng nhận hoàn thành
Chứng nhận rằngNguyễn Văn Anđã hoàn thành xuất sắc
python iconPython cơ bản
Đã xác minh
NgàyTh1 2026
LinkedInThêm vào LinkedIn

Vì sao nên theo lộ trình Rust này trên Coddy

  • Rust được chọn ở nơi cần cả tốc độ lẫn an toàn. Phần mềm hệ thống, mạng và hạ tầng, công cụ dòng lệnh, thiết bị nhúng, WebAssembly và code nhạy cảm về bảo mật là nơi có việc làm Rust, vì Rust chạy nhanh như C và C++ trong khi trình biên dịch loại bỏ cả một loạt bug bộ nhớ.
  • Một tháng đầu nói thật. Ownership và borrowing khiến Rust khởi đầu chậm hơn hầu hết các ngôn ngữ, nên khóa học đi từng bước nhỏ, qua tham chiếu, slice, String so với &str và Clone so với Copy, song song với Option, Result, struct, enum và trait, cho đến khi những lần trình biên dịch từ chối trở thành những lý do dễ hiểu.
  • Cấu trúc dữ liệu dưới borrow checker. Danh sách liên kết hay cây nhị phân là nơi ownership thôi là lý thuyết, và lộ trình này cho bạn tự xây stack, queue, danh sách liên kết, cây nhị phân và bảng băm bằng Rust, rồi đến các thử thách đệ quy và năm thuật toán sắp xếp.
  • Có chấm điểm, có gợi ý, không cần cài đặt. Mỗi bài học khép lại bằng một thử thách Rust được chấm bằng test case; khi trình biên dịch hoặc một test từ chối, Bugsy chỉ hướng sửa mà không viết hộ. Phần lớn khóa học kết thúc bằng một chứng nhận miễn phí, và không cần cài rustup hay Cargo: mọi thứ đều chạy trên trình duyệt.

Câu hỏi thường gặp về việc trở thành lập trình viên Rust

Mất bao lâu để trở thành lập trình viên Rust?

Nếu Rust là ngôn ngữ đầu tiên, từ chín đến mười lăm tháng, mỗi ngày khoảng một giờ, là khoảng thời gian thực tế để đến buổi phỏng vấn junior, phần lớn thời gian thêm dành cho việc thành thạo ownership. Lập trình viên đã biết C++ hoặc một ngôn ngữ có kiểu khác thường chỉ cần vài tháng. Trên lộ trình này, khóa học Rust gồm sáu đến tám tuần bài học, dù ownership thường cần lâu hơn mới thấy tự nhiên; dòng lệnh, Git và SQL tổng cộng khoảng một tháng, còn các bước cấu trúc dữ liệu và sắp xếp thêm hai đến ba tháng.

Rust có phải ngôn ngữ đầu tiên tốt cho kỹ sư phần mềm không?

Có thể, nếu bạn kiên nhẫn và nhắm tới lập trình hệ thống. Rust bắt bạn nghĩ về bộ nhớ, kiểu dữ liệu và lỗi ngay từ tuần đầu, điều này rất có giá trị nhưng chậm. Nhiều người hợp hơn khi học Python hoặc Go trước rồi Rust sau, và lộ trình này có ở cả hai ngôn ngữ đó; nếu Rust là công việc bạn muốn, bắt đầu từ đây là hợp lý, vì thông báo lỗi của trình biên dịch Rust là những người thầy hiếm có.

Ngoài Rust, lập trình viên Rust cần biết những gì?

Dòng lệnh, Git và SQL, những thứ lộ trình này dạy, rồi đến Cargo và hệ sinh thái crate, Rust bất đồng bộ với Tokio cho dịch vụ mạng, và lĩnh vực bạn nhắm tới: một framework web như Axum cho backend, phần cứng nhúng, hoặc WebAssembly trên trình duyệt. Đọc được C cũng có ích, vì nhiều công việc Rust nằm cạnh code C và C++ có sẵn.

Có nên học C++ trước Rust không?

Không cần, dù có ích. Rust được thiết kế để học trực tiếp, và trình biên dịch của nó dạy các quy tắc bộ nhớ mà C++ phó mặc cho sự kỷ luật. Nếu bạn biết C++, ownership sẽ giống những quy tắc bạn vốn cố tuân theo, nay thành bắt buộc; nếu chưa biết, hãy bắt đầu với Rust và học C++ sau khi công việc cần đến. Lộ trình này cũng có bằng C++.

Khóa học nào trên lộ trình này không dạy bằng Rust?

Chỉ một: clean code hiện mới được dạy bằng Python, nên khóa học này được liệt kê sau các bước thay vì ở bước bảy. Các nguyên tắc của nó áp dụng nguyên vẹn cho Rust, và bộ công cụ của Rust lo phần máy móc: rustfmt cho định dạng, clippy cho lỗi thường gặp và code chưa đúng phong cách. Mọi bước khác, kể cả dự án hướng đối tượng và bài tập lập trình, đều bằng Rust.

Lộ trình Rust này có miễn phí không?

Có. Mọi khóa học trên lộ trình đều miễn phí: bài học, trình soạn thảo Rust và terminal Linux trên trình duyệt, các thử thách chấm bằng test, gợi ý của Bugsy và chứng nhận. Pro bỏ giới hạn năng lượng hằng ngày và thêm trợ giúp AI không giới hạn, và lộ trình này không đòi hỏi gói đó.

Tôi có nhận được chứng nhận cho lộ trình Kỹ sư phần mềm không?

Có. Hoàn thành mọi bước và bạn nhận một chứng nhận miễn phí cho cả lộ trình Kỹ sư phần mềm. Chứng nhận liệt kê từng khóa học bạn đã hoàn thành trên đường đi và liên kết đến chứng nhận riêng của từng khóa, để ai cũng có thể kiểm tra mọi kỹ năng được nêu. Bạn có thể thêm nó vào hồ sơ LinkedIn. Đây là chứng nhận hoàn thành của Coddy, không phải văn bằng được kiểm định.

Các lộ trình học khác

Cùng các khóa học, sắp xếp cho một vai trò khác. Tiến độ được giữ lại: khóa học đã hoàn thành ở một lộ trình được tính ở mọi lộ trình có khóa học đó.

Tất cả lộ trình học
Hình minh họa các ngôn ngữ lập trình của Coddy

Bắt đầu lộ trình Kỹ sư phần mềm miễn phí

Bắt đầu học