Skip to content

Rust工程师枕边资料,经典博客,大牛文章,开源框架,国外项目,论文,视频,书籍,作者口述一览表

Notifications You must be signed in to change notification settings

410974689/Understanding_in_Rust

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🏄💨Rust工程师枕边资料,经典博客,大牛文章,开源框架,论文,视频,书籍,作者口述一览表

🤔 Why Rust?Why can?

Jay Oster, PubNub 架构师 :

“除了安全和性能,我们还有:

  • 泛型;
  • 特征;
  • 代数类型;
  • 函数式和命令式范式;
  • 可能是世界上最好的依赖管理和构建工具,实际上解决了‘依赖地狱’问题;
  • 对内嵌文档、测试和性能评测的美妙支持;
  • 一个大的且正在生长的库、抽象、工具生态;
  • 过程宏;
  • 与已有代码的 FFI 交互性;
  • 支持一打平台(更多的在路上!);
  • 对开发者体验是正向的、毋庸置疑的满足。

Rust 是唯一一个下面所有框框都打勾的语言:

  • 内存安全
  • 类型安全
  • 消除数据竞争
  • 使用前编译
  • 建立(并且鼓励)在零抽象之上
  • 最小的运行时(无停止世界的垃圾搜集器,无 JIT 编译器,无 VM)
  • 低内存占用(程序可以运行在资源受限的环境,比如小的微控制器)
  • 裸金属目标(比如,写一个 OS 内核或者设备驱动,把 Rust 当一个 ‘高层’汇编器使用)”

Peter Varo:

“Rust 有一个很香的地方:它像 C 和 C++ 那样底层,因此也具有底层的这些优势(比如,控制、大小、速度等)。同时呢,它又像 Haskell 那样高层,自带令人吃惊的大量功能传承。它还是命令式的,所以容易被大多数人上手。然后它又像 Python 一样灵活,比如,' 鸭子类型(duck-typing)' 的概念出现在编译时(比如,特征限定),然后它又没有陈旧的面向对象模型以及由这个模型导致的各种出名的问题。

最后但很重要的是,还有一连串的东西被包含进来:精简短小的语法,语言提供的数目不多的特性,标准库及其一致性,高质量的文档的集成,包括对初学者和高级用户都适用的学习材料,这些都是促成因素。”

🏝 环境搭建

安装及工具:https://www.rust-lang.org/zh-CN/learn/get-started

📕 入门秘笈 (PDF档下载)

Rust简介
Rust的特点
Rust开发环境安装
Rust第一个程式
Rust if语句
Rust if in a let语句
Rust loop回圈
Rust for回圈
Rust while回圈
Rust所有权
Rust参照和借用
Rust切片
Rust结构体
Rust结构体更新语法
Rust结构体方法语法
Rust列举
匹配运算子
Rust if let控制流程
Rust模组
Rust档案系统
Rust公开函式
Rust use关键字参照模组
Rust向量
Rust字串
Rust错误处理 Rust不可恢复的错误
Rust可恢复的错误
Rust泛型
Rust Trait
Rust生命周期
Rust智慧指标
Rust Box
Rust Deref trait
Rust Drop trait

📖 书籍

《Rust编程之道》

《深入浅出Rust》

《Rust权威指南》

《Rust 程序设计语言》

《精通Rust(第2版)》

📑 大牛文章

华为 | 可信编程 -- 华为引领Rust语言开发的实践和愿景

华为 | 基于Rust的下一代虚拟化平台-StratoVirt

Rust中的错误传递和日志记录

io_uring | 用 Rust 实现基于 io_uring 的异步随机读文件

「译」使用 Rust 实现命令行生命游戏

图解 Rust 所有权与生命周期

蚂蚁集团 CeresDB 团队 | 关于 Rust 错误处理的思考

解读 Rust 1.50 稳定版

📰 论文

💽 视频

Rust 验证研讨会 2021
Peeking at compiler-internal data (for fun and profit)
Ferrite- A Rust EDSL for Message-passing Protocol Verification
Verifying that Rust programs don't crash
crux-mir- Symbolic testing for Rust
RustBelt- A Quick Dive Into the Abyss
Rustv- Semi-automatic Verification of Unsafe Rust Programs
Polonius
Towards Automatic Verification of Unsafe Rust with Constrained Horn Solvers
Rust interest in safety- and mission-critical environments
Prusti – Deductive Verification for Rust
Creusot- A prototype tool for verification of Rust software
hacspec_ succinct, executable, verifiable specifications for high-assurance cryptography
Leveraging Compiler Intermediate Representation for Multi- and Cross-Language Verification

🏗 开源框架

应用程序

音频和音乐技术

  • enginesound — 用于按程序生成半逼真引擎声音的 GUI 和命令行应用程序. 具有深度配置、可变采样率和频率分析窗口.
  • indiscipline/zrtstr — 用于检查立体声 wav 文件是否为仿立体声(即具有相同通道)并将此类文件转换为单声道的命令行实用程序.
  • Lyriek — 一个多线程 GTK 3 应用程序,用于获取当前播放歌曲的歌词.
  • Phate6660/musinfo — 从 mpd 查询音乐信息并将其显示在通知中的程序.
  • Phate6660/rsmpc — mpc 的实现,但不是直接实现,因为会有一些差异.
  • Phate6660/rsmpc — 用于 mpd 的 gtk 前端.
  • Polaris — 音乐流媒体应用程序.
  • Spotify TUI — 一个用 Rust 编写的用于终端的 Spotify 客户端.
  • Spotifyd — 作为 UNIX 守护程序运行的开源 Spotify 客户端.

加密数字货币

  • Bitcoin Satoshi's Vision — 用于处理比特币 SV 的 Rust 库.
  • cardano-cli — 卡尔达诺命令行界面 (CLI)
  • ChainX — Polkadot 上完全去中心化的链间加密资产管理.
  • CITA — 面向企业用户的高性能区块链内核.
  • coinbase-pro-rs — Rust 中的 Coinbase pro 客户端,支持同步 / 异步 / websocket
  • ethaddrgen — 用 Rust 制作的自定义以太坊虚地址生成器
  • Grin — MimbleWimble 协议的演变
  • hdwallet — BIP-32 HD 钱包相关的密钥推导实用程序.
  • Holochain — 区块链的可扩展 P2P 替代方案,适用于您一直想要构建的所有分布式应用程序. 旧仓库的链接是 this 不再维护.ibc-rs - Rust 的实现 Interblockchain Communication 协议
  • infincia/bip39-rs — BIP39 的 Rust 实现.
  • Joystream — 一个用户管理的视频平台
  • Diem — Diem 的使命是建立一个简单的全球货币和金融基础设施,为数十亿人赋能.
  • Lighthouse — Rust Ethereum 2.0 客户端
  • near/nearcore — 用于低端移动设备的去中心化智能合约平台.
  • Nervos CKB — Nervos CKB 是一个公共的免许可区块链,是 Nervos 网络的公共知识层.
  • Nimiq — Nimiq 节点的 Rust 实现
  • Parity-Bitcoin — Parity 比特币客户端
  • Parity-Bridge — 任何两个基于以太坊的网络之间的桥梁
  • Parity-Ethereum — 快速、轻便、强大的以太坊客户端
  • Parity-Zcash — Zcash 协议的 Rust 实现
  • Phala-Network/phala-blockchain — 基于 Intel SGX 和 Substrate 的机密智能合约区块链
  • Polkadot — 具有集中安全性的异构多链技术
  • rbtc — 将 BTC 转换为任何货币,反之亦然.
  • rust-cardano — Cardano 原语、助手和相关应用程序的 Rust 实现
  • Substrate — 用 Rust 编写的通用模块化区块链模板
  • tendermint-rs - Tendermint 区块链数据结构和客户端的 Rust 实现
  • wagyu [wagyu] — 用于生成加密货币钱包的 Rust 库
  • zcash — Zcash 是 “Zerocash” 协议的实现.
  • YeeCo yeeroot — YeeCo yeeroot 是一个无需许可、安全、高性能和可扩展的公共区块链平台,由基于 Rust 编写的 PoW 共识的全分片技术提供支持

数据库

  • indradb — 基于 Rust 的图形数据库
  • Materialize - 由 Timely Dataflow 提供支持的流式 SQL 数据库:heavy_dollar_sign
  • noria — 用于 Web 应用程序后端的动态变化、部分状态的数据流
  • Lucid — High performance and distributed KV store accessible through a HTTP API.
  • ParityDB — 快速可靠的数据库,针对读操作进行了优化
  • PumpkinDB — 事件溯源数据库引擎
  • seppo0010/rsedis — Rust 中的 Redis 重新实现
  • Skytable — 多模型 NoSQL 数据库
  • tikv — Rust 中的分布式 KV 数据库
  • sled —(测试版)现代嵌入式数据库
  • TerminusDB - 开源图形数据库和文档存储

模拟器

游戏

图形处理

工业自动化

✈ 杂货铺

🐂 大牛一览表

About

Rust工程师枕边资料,经典博客,大牛文章,开源框架,国外项目,论文,视频,书籍,作者口述一览表

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published