当前位置: 首页 > news >正文

如何从小白变成rust糕手

参考:https://github.com/rust-unofficial/awesome-rust
& talk with gpt~

Part-1

入门与练习(必读 / 必做)

  • The Rust Programming Language(官方书)
    • 仓库:https://github.com/rust-lang/book
    • 难度:入门 → 中级
    • 学习重点:所有权、借用、生命周期、错误处理、模块与 Cargo
    • 开始:按章节阅读并在本地用 cargo 练习示例
  • rust-by-example
    • 仓库:https://github.com/rust-lang/rust-by-example
    • 难度:入门
    • 学习重点:大量小示例、语法与常见用法
  • rustlings
    • 仓库:https://github.com/rust-lang/rustlings
    • 难度:入门 → 实操
    • 学习重点:手把手练习题,熟悉编译器错误、修复题目
    • 开始:git clone 后按 README 运行练习

工具与开发体验

  • rust-analyzer(语言服务器)
    • 仓库:https://github.com/rust-lang/rust-analyzer
    • 难度:中级
    • 学习重点:IDE 支持、重构、类型提示(强烈装在 VSCode)
  • cargo-edit(管理依赖的 CLI 工具)
    • 仓库:https://github.com/killercup/cargo-edit
    • 难度:入门
    • 学习重点:Cargo 插件写法、实用工具开发

常用库(在项目中会经常用到)

  • serde(序列化/反序列化)
    • 仓库:https://github.com/serde-rs/serde
    • 难度:中级
    • 学习重点:derive 宏、serde_json、数据结构与性能
  • clap(命令行参数解析)
    • 仓库:https://github.com/clap-rs/clap
    • 难度:入门 → 中级
    • 学习重点:构建 CLI 工具、参数解析、自动生成帮助信息

网络 / 异步 / 后端

  • tokio(异步运行时)
    • 仓库:https://github.com/tokio-rs/tokio
    • 难度:中级 → 高级
    • 学习重点:async/await、任务调度、网络编程
  • axum(基于 Tokio 的 Web 框架)
    • 仓库:https://github.com/tokio-rs/axum
    • 难度:中级
    • 学习重点:路由、提取器、中间件、构建 Web API
  • actix-web(高性能 Web 框架)
    • 仓库:https://github.com/actix/actix-web
    • 难度:中级
    • 学习重点:高性能异步服务、Actor 模式(部分)

高质量实战项目(读源码学工程)

  • ripgrep(快速文件搜索)
    • 仓库:https://github.com/BurntSushi/ripgrep
    • 难度:中级 → 高级
    • 学习重点:性能优化、架构、CLI 实现、测试
  • fd(替代 find 的工具)
    • 仓库:https://github.com/sharkdp/fd
    • 难度:中级
  • bat(带语法高亮的 cat)
    • 仓库:https://github.com/sharkdp/bat
    • 难度:中级
  • alacritty(GPU 加速终端)
    • 仓库:https://github.com/alacritty/alacritty
    • 难度:中级 → 高级
    • 学习重点:跨平台、性能、系统接口

游戏 / 图形

  • bevy(Rust 游戏引擎)
    • 仓库:https://github.com/bevyengine/bevy
    • 难度:中级 → 高级
    • 学习重点:ECS(实体-组件-系统)、渲染、实时系统设计

生态与资源汇总

  • awesome-rust(社区维护的资源列表)
    • 仓库:https://github.com/rust-unofficial/awesome-rust
    • 难度:全级别
    • 学习重点:快速找到教程、库和示例项目

如何快速开始

  1. 安装 rustup + stable toolchain,配置 VSCode + rust-analyzer,装上 rustfmt 和 clippy。
  2. 选 1 本书(The Rust Book)和 rustlings 每天练习;并同时挑 1 个小项目(例如 CLI)。
  3. 克隆目标仓库:git clone ;查看 README、examples、tests;运行 cargo run / cargo test。
  4. 读源码:先读 README → examples → lib/main 小模块 → 运行断点/打印理解逻辑
  5. 参与开源:找带 “good first issue” 的 issue,从文档、测试或小修复入手。

Part-2

有 C++ 背景、每周能投入 30 小时,并且对 AI 与操作系统都感兴趣~

AI 相关(模型推理、张量库、Rust ML 生态)

  • candle — https://github.com/candle-rs/candle

    • 难度:中级 → 高级
    • 学习重点:张量实现、内存布局、CPU/GPU 加速、性能优化、Rust 的 unsafe 用法在数值运算中的应用。
    • 快速上手:clone、运行 examples(README 有指导),查看 tensor/ops 实现。
    • 第一个任务:修复或补充一个 examples 的文档或小测试;或实现一个小的数值运算单元测试。
  • llm (rust-llm) — https://github.com/rust-llm/llm

    • 难度:中级
    • 学习重点:模型加载、ggml/gguf 后端、tokenizer、推理流水线、后端抽象。
    • 快速上手:运行 README 中的 demo,用本地小模型跑推理。
    • 第一个任务:增加一个小的 example(如读取不同格式的模型),或修复 docs 中的一个说明错误。
  • rust-bert — https://github.com/guillaume-be/rust-bert

    • 难度:中级
    • 学习重点:Transformer 模型在 Rust 中的工程实现、pipeline 抽象、模型序列化。
    • 快速上手:运行官方 examples(文本分类、生成等)。
    • 第一个任务:改善某个 example 的输入输出说明或添加一个小的单元测试。
  • tch-rs (PyTorch bindings) — https://github.com/LaurentMazare/tch-rs

    • 难度:中级
    • 学习重点:FFI 与 C++/libtorch 交互、内存/张量所有权、绑定层的设计。
    • 快速上手:编译并运行 demo(需先安装 libtorch),阅读 bindings 实现。
    • 第一个任务:改进 binding 的错误信息或提交一个示例脚本。
  • tract (ONNX 推理引擎,纯 Rust) — https://github.com/sonos/tract

    • 难度:中级 → 高级
    • 学习重点:图优化、运算子实现、ONNX/TF 导入器、推理性能。
    • 快速上手:运行 examples,用小 ONNX 模型测试推理。
    • 第一个任务:为某个运算子补充单测或修文档。

系统 / 操作系统 & 虚拟化(低层、内核、嵌入式、VMM)

  • Redox — https://github.com/redox-os/redox

    • 难度:高级
    • 学习重点:操作系统整体架构、内核接口、用户态/内核态交互、文件系统实现。
    • 快速上手:阅读 README、架构文档,运行在虚拟机(README 指引)。
    • 第一个任务:修复或改进文档、一个小的用户空间工具 bug 修复。
  • Theseus — https://github.com/theseus-os/Theseus

    • 难度:高级(研究/实验性)
    • 学习重点:模块化内核设计、资源管理、Rust 在内核空间的安全性与抽象。
    • 快速上手:读 architecture 文档,运行 QEMU demo。
    • 第一个任务:复现 demo 并提交一个改进 demo 的小 PR(文档或脚本)。
  • Tock — https://github.com/tock/tock

    • 难度:中级 → 高级(嵌入式)
    • 学习重点:嵌入式内核、驱动模型、低功耗系统、资源隔离。
    • 快速上手:跟着 README 在支持的硬件或模拟器上跑示例。
    • 第一个任务:改进某个 board 示例或补充 driver 文档。
  • blog_os(操作系统开发教程 + 示例代码) — https://github.com/phil-opp/blog_os

    • 难度:入门 → 中级(OS 开发入门)
    • 学习重点:从零写内核的步骤、bootloader、内存管理、上下文切换。
    • 快速上手:按教程在 QEMU 跑示例并逐章跟着实现。
    • 第一个任务:为教程补充中文注释或更新 README 的本地运行步骤(很适合入门贡献)。
  • Firecracker(微虚拟机,AWS) — https://github.com/firecracker-microvm/firecracker

    • 难度:高级(工业级)
    • 学习重点:VMM、KVM、微虚拟化、安全隔离、高可靠性系统编程。
    • 快速上手:用 README 中的脚本运行 demo,读安全设计文档。
    • 第一个任务:定位并修复一个小的文档错误或优化 CI 配置(初学者友好 issue 常有)。
  • rust-vmm(组织,总揽多个 VMM 组件) — https://github.com/rust-vmm

    • 难度:中级 → 高级(组件化)
    • 学习重点:虚拟化相关的低层库(kvm、virtio、vm-memory 等),非常适合系统级贡献。
    • 快速上手:挑一个子 repo(vm-memory、kvm-ioctls)clone 并运行 tests。
    • 第一个任务:找带 good-first-issue 的子仓库做小修复或测试扩展。

网络 / I/O / 协议(与系统密切相关)

  • smoltcp — https://github.com/smoltcp-rs/smoltcp
    • 难度:中级
    • 学习重点:TCP/IP 协议栈实现、无 std/嵌入式使用、性能与内存使用优化。
    • 第一个任务:增加一个小的集成测试或示例。

桥接 / 加速、GPU、系统与 AI 的结合

  • wgpu(gfx-rs) — https://github.com/gfx-rs/wgpu

    • 难度:中级 → 高级
    • 学习重点:跨平台 GPU API 抽象、compute shader(可用于加速 ML 推理/算子实现)。
    • 第一个任务:构建并运行一个 compute shader 示例,或补充文档/示例。
  • tokio(异步运行时) — https://github.com/tokio-rs/tokio

    • 难度:中级
    • 学习重点:高性能异步设计、任务调度、I/O 多路复用(对系统编程很重要)。
    • 第一个任务:修复文档错误或实现一个简单的 example。

学习

  • 推荐先序(7–10 周入门路线)

    1. 1 周:快速掌握 Rust 语言差异(所有权/借用/unsafe);读 The Rust Book(重点:所有权/借用/unsafe/FFI)+ 完成 rustlings 的基础题。
    2. 2 周:选择一个“系统”练习:blog_os(一步步写内核)或在 Theseus/Redox 中跑 demo,理解内核启动与内存管理。
    3. 2 周:选择一个“AI”练习:用 tract 或 candle 跑一个 ONNX/小模型,读推理流程与张量实现。
    4. 2 周:开始读目标仓库源码(Firecracker / rust-vmm 的一个子 repo 或 llm/candle 的某个模块),做小改动并提交 PR(文档、tests、examples)。
    5. 持续:交替在系统与 AI 项目上做小贡献,逐步尝试性能/unsafe 优化或实现新运算子。
  • 第一次 PR 的一般流程(适用于上面任意仓库)

    1. fork -> clone -> cargo test / README 步骤复现 -> 运行示例。
    2. 查找 good-first-issue 或 issues 中标注 “help wanted”。
    3. 做小改(docs/test/example/小 bug fix),本地跑通测试。
    4. 提交 PR,跟进 CI 报错并更新 PR

Part-3

选3个仓库~

  1. rust-llm/llm (AI 推理框架) — https://github.com/rust-llm/llm
  2. candle-rs/candle (张量/推理) — https://github.com/candle-rs/candle
  3. rust-vmm/vm-memory (系统/虚拟化 — rust-vmm 组织下的子仓库) — https://github.com/rust-vmm/vm-memory

& do it~

http://www.dtcms.com/a/516520.html

相关文章:

  • 注册一个网站多少钱?哪个网站可以免费建站
  • GCC与Makefile常用基础知识
  • 类装饰器
  • 什么网站可以直接做word如何在外管局网站做付汇延期
  • Dify从入门到精通 第22天 利用分支与判断构建智能路由客服机器人
  • 网站底备案号链接代码商丘建设厅网站首页
  • 【C++】手搓AVL树
  • 【完整源码+数据集+部署教程】【天线&其他】月球表面状况检测系统源码&数据集全套:改进yolo11-unireplknet
  • Flutter---弹窗
  • 从零开始学习RabbitMQ
  • 台州市住房和城乡建设局网站做美容美发学校网站公司
  • [答疑]考虑复用,尺度应该怎样把握
  • 注册网站借钱平台犯不犯法个人网站logo需要备案吗
  • 最新电大网站开发维护竞价托管推广代运营
  • 字符串统计
  • Docker与Tomcat:一键部署Java Web应用的完美组合
  • 【同步/异步 日志系统】 --- 前置技术
  • 图论基础和表示
  • 网站建设为了什么怎么看网站谁做的
  • [小白]spring boot接入emqx
  • Spring Boot 实现GZIP压缩优化
  • Spring Boot使用Redis实现消息队列
  • 互联网大厂Java面试实战:以Spring Boot与微服务为核心的技术场景剖析
  • 做网站页面的软件毕业设计网站成品
  • 《一个浏览器多人用?Docker+Neko+cpolar实现跨网共享》
  • design设计网站网站优化方法页面
  • C++基础:(十七)模版进阶:深入探索非类型参数、特化、分离编译与实战技巧
  • 《Git:从入门到精通(五)—— Git:Gitee远程仓库创建与克隆指南》
  • UML学习文档(一)
  • 淘宝放单网站开发网站wordpress错误