课程大纲
# Day 1
- Introduction
- Installation
- rustup
- cargo, rustc
- crates.io
- create a first project
- creating a library or executable
- Cargo.toml
- Cargo.lock
- exploring the source
- cargo tools
- hello world program
- Basic syntax
- functions
- variables
- types
- structs and enums
- control flow: if, loops, pattern matching
- exercise: the guessing game
- Ownership
- moves
- mutability
- borrowing
- lifetimes
- exercise: fixing borrow checker compilation errors
- Modules
- importing code
- visibility
- source code organisation
- Traits and generics
- methods
- generic types, functions and methods
- type aliases
- Standard library
- Option
- Result
- collections: Vec, HashMap
- iterators
- exercise: start building a small in memory database
# Day 2
- Tools
- importing crates
- unit tests
- benchmarks
- fuzzing
- documentation
- attributes
- exercise: integrate unit tests, CI and other tools for the database example
- Strings and slices
- String
- &str
- &[u8]
- Iterators
- Closures
- exercise: start implementing queries
- Destructuring
- if let
- API design
- Usual traits
- Clone and Copy
- Debug and Display
- PartialEq, Eq
- Drop
- Static VS dynamic dispatch
- Associated types
- Deref
- Into
- I/O
- exercise: add optional file storage for the database
- Concurrency
- threads
- channels
- Send, Sync
- mutability
- Arc, Mutex
- exercise: multiple clients querying the database while storing regularly
# Day 3
- FFI
- repr(C)
- exporting functions and structures
- unsafe
- Box
- rusty-cheddar and rust-bindgen
- linking
- cargo-vendor
- exercise: making a C interface for our in memory database
- common libraries and interfaces (adaptable depending on what the students want to focus on)
- docs.rs
- Command
- clap
- serde
- log
- tokio
- rocket
- lazy_static
- nom
客户评论 (4)
培训师的知识非常高,参与对话和知识转移是巨大的。与参与者保持良好的联系。精心准备的材料,很多幻灯片,练习的描述,你可以看到很多培训的准备工作,尽管我的评论我仍然对培训有很好的评价。我的评论只是对培训的补充,培训的水平非常好。在我看来,有了来自C#领域的参与者并进行了更正,培训可以达到理想的水平;-)
Sławek - Sonova Warsaw Service Center Sp z o o
课程 - Rust Programming
机器翻译
我喜欢我们制作的交互式示例,培训师对我们提出的问题几乎每个主题都非常了解,并就与培训中某些材料相关的实际用例提供了出色的建议。
Tracy - GenesysGo
课程 - Rust Advanced
机器翻译
在“现实生活”的例子中展示了大量的实践知识。
Kamil - Streamsoft Kraków
课程 - Java Advanced
机器翻译
定期推送更改,因为在第 3 天我开始比以前更迷茫,并且更难快速发现错误,我能够快速查看最新的更改并及时了解材料
Paulina
课程 - Advanced Java Security
机器翻译