Đề cương khóa học
Giới thiệu
- Rust là gì?
- Rust so với các ngôn ngữ lập trình khác
- Tổng quan về các tính năng và kiến trúc của Rust
Hiểu về Rust
- Vòng đời của một chương trình Rust
- Cách Rust hoạt động ở cấp hệ thống
- An toàn bộ nhớ và quyền sở hữu trong Rust
Bắt đầu
- Thiết lập Môi trường Phát triển
- Cài đặt Rust như một bộ công cụ lập trình
- Cấu hình môi trường Rust
- Khám phá trình quản lý gói Cargo
Cú pháp và Khái niệm Cơ bản
- Biến và kiểu dữ liệu trong Rust
- Luồng điều khiển và vòng lặp
- Hàm và mô-đun
- Quyền sở hữu và mượn trong Rust
Xử lý Lỗi và Panic
- Xử lý lỗi với các kiểu Result và Option
- Unwinding so với aborting với panic!
- Các loại lỗi tùy chỉnh và chiến lược xử lý lỗi
Management Bộ nhớ trong Rust
- Phân bổ bộ nhớ ngăn xếp so với bộ nhớ đống
- Con trỏ và tham chiếu trong Rust
- Quản lý bộ nhớ với Box và các khối unsafe
Structs và Enums trong Programming Hệ thống
- Định nghĩa và làm việc với structs
- Tạo và sử dụng enums
- Khớp mẫu trong Rust
Giao diện với C và Mã Cấp thấp
- Giao diện Rust với mã C và C++
- Sử dụng FFI (Foreign Function Interface)
- Làm việc với con trỏ thô và mã unsafe
Đồng thời và Đồng bộ hóa
- Mô hình đồng thời trong lập trình hệ thống
- Mutex, RwLock và Condvar để đồng bộ hóa
- Kênh và truyền tin nhắn để giao tiếp
Gỡ lỗi và Khắc phục sự cố Chương trình Rust
- Công cụ và kỹ thuật để gỡ lỗi chương trình Rust
- Phân tích hiệu suất và hồ sơ
- Khắc phục các sự cố phổ biến trong lập trình hệ thống
Tóm tắt và Các bước tiếp theo
Requirements
- Hiểu biết cơ bản về các khái niệm lập trình
- Làm quen với ít nhất một ngôn ngữ lập trình (ví dụ: C hoặc C++)
Đối tượng
- Các nhà phát triển
Testimonials (2)
I liked the interactive examples we worked on, the trainer was extremely knowledgeable in almost every subject we had questions about, and gave excellent advise for our real-world use-cases relating to some of the material in the training.
Tracy - GenesysGo
Course - Rust Advanced
The trainer explained a lot of interesting things about RUST starting from the basis, moving to its applications towards Blockchain, which was very insightful and captivating