[Rust] Rust 官方周报 399 期(2021-07-14)
💥 内容涉及著作权,均归属作者本人。若非作者注明,默认欢迎转载:请注明出处,及相关链接。
Summary: Rust 官方周报 399 期,关于 WebAssembly、游戏开发方面的文章较为侧重。并且,使用 rg3d 游戏引擎的教程附有源码,其开发的角色扮演类游戏很精致、有趣。
Topics: rust webassembly rust-官方周报 rust-wasm rust-game
Rust 官方周报(中文版)仓库为 github.com/zzy/this-week-in-rust-zh-cn,欢迎您的参与,一起丰富中文网络的 Rust 资源。
关于周报中的资源链接,已经有中文资源的,替换为中文资源链接(中文资源中,均附有原文链接)。另外,对于部分周报文章,附有阅读和简单了解后的译注,但并非全部。如果你阅读了文章,有更适合的见解,请联系、PR,或者直接参与项目 github.com/zzy/this-week-in-rust-zh-cn。
大家好,欢迎查阅第 399 期《Rust 周报》!Rust 是一门系统编程语言,专注于三个要素:安全性、并发性,以及高性能。本文是其开发进展和社区生态的每周摘要。如果您想提出意见或建议,请在推特联系我们账号 @ThisWeekInRust,或者在 github 向我们发送 PR。想参与吗?我们期待您的贡献。
Rust 社区更新
官方
无。
简讯
项目/工具更新
- Arti,纯粹 Rust 实现的 Tor
- Fluvio,基于 WebAssembly 的可编程实时数据流处理平台
- Filecoin 项目更新 - Rust 实现的 “Forest” 项目
- Mina Rust 更新:具有 Rust x Wasm 特性的 Web 3.0(译注;ChainSafe 的 mina-rs 是 Mina 协议的 Rust 实现,专注于 web 和 Wasm 的兼容性)
- TensorBase 周报 - 11
- Rust Analyzer 更新周报 #85
观测/思考
- (Risp (in (Rust) (Lisp)))(译注:risp 项目受 Clojure 启发,使用 Rust 创建 Lisp)
- [系列] Rust 学习 #6:理解 Rust 中的所有权(ownership)
- [系列] Rust 中,为什么及如何开发编译器(compiler): 第二部分
- [视频] Rust 1.52 和 1.53 差异对比(译注:推荐观看,介绍详细,并且收集了相关资料)
Rust 演练
- Rust 中的
#[inline]
- 从 C、C++ 和 Rust 调用 WebAssembly 线程(译注:推荐了解,wasm 应用前景广阔)
- 在树莓派(Raspberry Pi)上轻松地托管 wasm 模块(1)
- 你好,视频编解码器(Codec)!- 通过大约 100 行 Rust 代码,解开视频编解码的神秘面纱
- 通过 FizzBuzz 游戏学习地道的 Rust(译注:FizzBuzz 问题是一种英国学校学生经常玩的游戏。比如:打印数字 1 到 100。但是遇到 3 的倍数时,打印“Fizz”;5的倍数,则打印“Buzz”;既是 3 又是5 的倍数是,打印“FizzBuzz”)
- Rust + Tauri 快速入门(译注:tauri 是一个用于构建桌面平台的框架,但可以集成任何可编译为 html、js,以及 CSS 的前端框架,以用来构建用户界面)
- Rust Nibbles:Gazebo 库介绍(译注:gazebo 是包含小的、易于测试的原语集合库,其是 facebook 的孵化项目)
- Kubernetes 的 Rust 控制器(controller)(译注:很棒,可跟随实践。推荐细读)
- Docker + Rust 使用起步
- [系列] 使用 rg3d 编写 RPG - #1 - 字符控制器(Character Controller)(译注:rg3d 是很优秀的 3D 射击游戏引擎,此文为角色扮演类游戏教程。笔者跑了一遍游戏,挺精致、有趣。可点击下载 rg3d-tutorials 源码,注意 rpg 要用 rg3d 0.21.0,其它使用 rg3d 0.20.0 或以下)
- [系列] Rust #4: Options 和 Results(2)
- [系列] 使用 Rust web 框架 tide 实现基本的增删改查(CRUD) - 重构
- [视频] Rust 中使用 ockam 对端对端通信加密,Mrinal Wadhwa 制作(译注:ockam 是 ockam.io 开发的、用于分布式应用之间的相互身份验证,以及端到端加密消息传递的工具)
- [视频] [系列] 使用 Rust 开发 web 应用(9)- 部署于 Kubernetes
- [视频] [系列] ULTIMATE Rust 语言教程 - 智能指针(Smart Pointers)- 1
- [视频] [系列] Rust 中实现风险指针(Hazard Pointers)- 2
论文
- 软件开发者是否在安全地使用着 Rust?(译注:康奈尔大学的论文数据为:在不到 30% 的 Rust 库中,使用了关键字
unsafe
;但由于库的调用链中隐藏着unsafe
Rust,因此超过一半的代码不能被 Rust 编译器完全静态检查。论文建议更改 Rust 编译器和中心存储库的接口,以帮助 Rust 软件开发人员了解自己的代码何时unsafe
)
其它
周最佳 crate
本周最佳 crate 是 endbasic,可运行于小型硬件设备和 web 之上的 DOS / BASIC 环境模拟器。
谢谢 Julio Merino 的提议。
参与邀请
您一直想为开源项目做贡献,但却不知道从哪里开始吗?每周,我们都会强调一些来自 Rust 社区的任务。您可以挑选,并开始参与!
有些任务可能还有导师,请访问具体任务页面,以了解更多信息。
Synth
- Specify collections on import
- Add tests for examples (i.e. bank_db)
- Implemented a converter for timestamptz
- Feature: Doc template generator
Forest
如果你是 Rust 项目所有人,正在寻求贡献人员,请提交任务到这个页面。
Rust 核心更新
Rust 编译器性能
十分安静的一周,带来诸多改进。
验测工作是由 @simulacrum完成的。修正范围:9a27044f4..5aff6dd
已核准的 RFCs
Rust 的改进遵循 RFC(request for comments)流程。如下是本周核准实现的 RFCs:
新的 RFCs
近期活动
线上
- July 14, 2021, Malaysia - Rust Meetup July 2021 - Golang Malaysia, feat Rustlang, Erlang, Haskelllang and
.*-?(lang|script)\
- July 14, 2021, Dublin, IE - Rust Dublin July Remote Meetup - Rust Dublin
- July 20, 2021, Washington, DC, US - Mid-month Rustful - Rust DC
- July 21, 2021, Vancouver, BC, CA - Rust Adoption at Huawei - Vancouver Rust
- July 22, 2021, Tokyo, JP - Rust LT Online#4 - Rust JP
- July 22, 2021, Berlin, DE - Rust Hack and Learn - Berline.rs
- July 27, 2021, Dallas, TX, US - Last Tuesday - Dallas Rust
北美
- July 14, 2021, Atlanta, GA, US - Grab a beer with fellow Rustaceans - Rust Atlanta
- July 27, 2021, Chicago, IL, US - Rust in production at Tempus - Chicago Rust Meetup
如果你正在运作一次 Rust 活动,请将其添加到日历中,以便在此处提及。请向 Rust 社区团队发送电子邮件,以获取访问日历权限。
Rust 招聘信息
GraphCDN
Netlify
ChainSafe Systems
NZXT
Kollider
Tempus Ex
Estuary
通过 @ThisWeekInRust,tweet 信息给我们,以便于我们在此处列出你的招聘信息!
本周引语
Rust 初学者:呃,为什么编译器阻止我做这些?太讨厌了!
Rust 熟练者:呃,为什么编译器不阻止我做这些!太可恶了!
谢谢 Nixon Enraght-Moony 的提议!
Rust 周报编辑人员:nellshamrell, llogiq、cdmistman。
谢谢您的阅读!