Cấu Trúc Khóa Học

Trang này là dành cho người hướng dẫn khóa học.

Rust Căn Bản

Ở bốn ngày học đầu tiên, ta sẽ nhanh chóng khái quát rất nhiều khía cạnh căn bản của Rust!

Thời khóa biểu:

  • Ngày 1 Buổi Sáng (2 tiếng và 5 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Lời Chào Mừng5 minutes
Hello, World15 minutes
Kiểu Dữ Liệu Và Giá Trị40 minutes
Control flow (Điểu khiển luồng) căn bản40 minutes
  • Ngày 1 Buổi Chiều (2 tiếng và 35 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Tuples and Arrays35 minutes
References55 minutes
User-Defined Types50 minutes
  • Ngày 2 Buổi Sáng (2 tiếng và 55 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Lời Chào Mừng3 minutes
Pattern Matching1 hour
Methods and Traits50 minutes
  • Ngày 2 Buổi Chiều (3 tiếng và 10 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Generics40 minutes
Standard Library Types1 hour and 20 minutes
Standard Library Traits1 hour and 40 minutes
  • Ngày 3 Buổi Sáng (2 tiếng và 20 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Lời Chào Mừng3 minutes
Memory Management1 hour
Smart Pointers55 minutes
  • Ngày 3 Buổi Chiều (1 tiếng và 50 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Borrowing55 minutes
Lifetimes50 minutes
  • Ngày 4 Buổi Sáng (2 tiếng và 40 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Lời Chào Mừng3 minutes
Iterators45 minutes
Modules40 minutes
Testing45 minutes
  • Ngày 4 Buổi Chiều (2 tiếng và 10 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Error Handling55 minutes
Unsafe Rust1 hour and 5 minutes

Chuyên Sâu

Ngoài lớp học “4 ngày” về Rust căn bản ra, chúng tôi còn cung cấp thêm một số chủ đề chuyên sâu sau:

Rust trong Android

Chủ đề chuyên sâu Rust trong Android là khóa học nửa ngày hướng dẫn sử dụng Rust cho phát triển trên nền tảng Android, bao gồm tính tương tác với C, C++ và Java.

Bạn sẽ cần cài sẵn AOSP checkout, rồi tạo một checkout cho repository của khóa học và di chuyển thư mục src/android/ tới thư mục root của AOSP checkout trên. Việc này sẽ đảm bảo hệ thống build của Android tìm được file Android.bp trong thư mục src/android/.

Hãy chắc chắn rằng lệnh adb sync hoạt động được với trình giả lập hoặc thiết bị thực của bạn, và pre-build tất cả ví dụ Android bằng src/android/build_all.sh. Bạn có thể đọc script để xem các lệnh mà nó chạy và xác nhận rằng mọi thứ đều hoạt động khi bạn kích hoạt bằng tay.

Rust trong Chromium

Chủ đề chuyên sâu Rust trong Chromium là khóa học nửa ngày hướng dẫn sử dụng Rust như là một phần của trình duyệt nhân Chromium, bao gồm hệ thống build gn, đưa vào thư viện bên thứ ba (“crates”) và tính tương tác với C++.

Bạn sẽ cần có khả năng build được Chromium — chúng tôi đề xuất build bằng công cụ xây dựng thành phần, debug bởi tốc độ ấn tượng của nó. Dù sao thì bất kỳ cách build nào cũng đều hoạt động được, chỉ cần bạn đảm bảo rằng mình sẽ chạy được trình duyệt Chromium vừa build xong.

Bare-Metal Rust

Chủ đề chuyên sâu Bare-Metal Rust là khóa học một ngày hướng dẫn sử dụng Rust cho phát triển nhúng (bare-metal). Nội dung về vi điều khiển và bộ xử lý ứng dụng sẽ được bao quát trong phần này.

Về phần vi điều khiển, bạn sẽ cần mua trước bo mạch BBC micro:bit v2. Mỗi người sẽ cần cài đặt một số packages dựa theo miêu tả ở trang chào mừng.

Tính đồng thời trong Rust

Chủ đề chuyên sâu Tính đồng thời trong Rust là khóa học một ngày hướng dẫn về khái niệm đồng thời async/await điển hình.

Bạn sẽ cần thiết lập một crate mới và tải xuống các gói phụ thuộc cần thiết để sẵn sàng chạy. Rồi bạn có thể copy/paste các ví dụ vào src/main.rs để thử nghiệm:

cargo init concurrency cd concurrency cargo add tokio --features full cargo run

Thời khóa biểu:

  • Ngày 3 Buổi Sáng (2 tiếng và 20 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Threads30 minutes
Channels20 minutes
Send and Sync15 minutes
Shared State30 minutes
Exercises1 hour and 10 minutes
  • Buổi Chiều (3 tiếng và 20 phút, bao gồm thời gian nghỉ)
SegmentThời lượng
Async Basics30 minutes
Channels and Control Flow20 minutes
Pitfalls55 minutes
Exercises1 hour and 10 minutes

Quy Chuẩn

Khóa học này hướng tới tính tương tác cao nên chúng tôi khuyến khích để các câu hỏi dẫn bạn đi khám phá nhiều thứ thú vị của Rust!