[Rust] Rust 官方周报 394 期(2021-06-09)
💥 内容涉及著作权,均归属作者本人。若非作者注明,默认欢迎转载:请注明出处,及相关链接。
Summary: Rust 官方周报 394 期:Rust 语言更新、官方资讯、项目/工具更新、观测/思考、实际演练、周最佳 crate、近期活动、Rust 工作招聘,以及开发者引语等。第 394 期的技术文章中,wasm 方面的文章增长明显,WebAssembly 开发热度大增。另外,区块链、游戏也有发力。
Topics: rust webassembly rust-官方周报 区块链 blockchain
Rust 官方周报(中文版)仓库为 github.com/zzy/this-week-in-rust-zh-cn,欢迎您的参与,一起丰富中文网络的 Rust 资源。
关于周报中的资源链接,已经有中文资源的,替换为中文资源链接(中文资源中,均附有原文链接)。另外,对于部分周报文章,附有阅读和简单了解后的译注,但并非全部。如果你阅读了文章,有更适合的见解,请联系、PR,或者直接参与项目 github.com/zzy/this-week-in-rust-zh-cn。
大家好,欢迎查阅第 394 期《Rust 周报》!Rust 是一门系统编程语言,专注于三个要素:安全性、并发性,以及高性能。本文是其开发进展和社区生态的每周摘要。如果您想提出意见或建议,请在推特联系我们账号 @ThisWeekInRust,或者在 github 向我们发送 PR。想参与吗?我们期待您的贡献。
Rust 社区更新
官方
简讯
项目/工具更新
- Filecoin Forest 更新信息(译注:Filecoin 是一个开源的云存储市场、协议和加密货币。Forest 是用 Rust 编写的 Filecoin 的实现,采用模块化方法来分两部分构建完整的 Filecoin 节点)
- Mina Protocol 更新信息(译注:Mina Protocol 主打轻量级的协议,前身为 Coda Protocol,是基于零知识证明 zkSNARKs 的轻量级区块链证明协议。其可以将区块链封装在一个单一的、可验证的、轻量级的协议中,大幅压缩区块链大小)
- rust-analyzer 更新日志 #80
- IntelliJ Rust 更新日志 #148
- Android 平台中的 Rust/C++ 交互
- Rocket v0.5 发布候选版本(Candidate)
- TensorBase 周报 6 期
- Dotenv-linter v3.1.0:关键升级概览
- AWS SDK Rust:增加了 9 个新的服务
观测/思考
- Rust 类型系统中未开发的潜能(untapped potential)
- 地道的(idiomatic)Rust?实现二分法检索(Binary Search)- 第二部分
- 为 REST APIs 设计 Rust 绑定(译注:上期周报已经发过)
- Rust 中实现零开销(zero-cost)抽象
- 将雷神之锤(Quake)3 迁移到 Rust(译注:迁移 Rust 后,游戏效果图如下所示:)
- 基于 Solana 进行 Rust 编程第一印象(译注:Solana 是全新的区块链架构。高性能、无须许可。该体系结构在千兆网络上,支持每秒 71 万个事务处理)
- 基于配对的加密优化:Rust 中的 Montgomery 算法
- 我的“第二杯” Rust
- 云中之鹅(A Goose In The Clouds):大规模负载测试(译注:莎翁笔下的鹅,多表示蠢笨。非宙斯变成的那个天鹅(swan))
- 以“Java 教程(The Java Tutorials)”的方式学习 Rust(译注:主要是关于 2 个语言的 OOP、继承、多态,以及 trait 的类比学习)
- Rust 中的行为继承(behavior inheritance)(译注:Rust 中的 trait,可以提供默认的实现,但不能提供其实现可以处理的数据。本文即是以类 P-Impl 模式的处理方式)
- [音频] Rust 中的构建:Ralf Jung on GhostCell and working as a PL researcher
Rust 演练
- Rust 派生宏(derive macro)开发指南
- 从零开始,使用 Rust 开发镜头校准模块:1/3(译注:校准理论)
- 从零开始,使用 Rust 开发镜头校准模块:2/3(译注:算法、原理,以及路线图)
- 从零开始,使用 Rust 开发镜头校准模块:3/3(译注:编码实现,以及结果测试)
- 从 JavaScript 的视觉看待 Rust
- WASI 的 !#[no_std],其复杂超出我的想象
- 我对 Rust 中的所有权和内存模型豁然开朗
- 使用 Rust 编写一个 NPM 包
- 起床时间到:让 nRF52840 进入休眠状态,以及定时唤醒(译注:Rust 的嵌入式开发)
- Rust 中的迭代器(iterator)真的很有用
- 使用图像缓存和 Buildkit 加速 Rust CI
- [中文] [系列] Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端(1)- 起步及 crate 选择
- [中文] [系列] Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端(2)- 组件和路由
- [视频] Rust 初学者 5 - 元组(Tuples)
研讨/论文
- [文集] Rust 自动验证工具(2021)(译注:2021 年 5 月召开的 Rust 验证工具研讨会的成果集,详见 Rust 官方周报 390 期(2021-05-12)研讨会部分)
其它
- QUIC v1 版本已在 Cloudflare 提供
- 最“专业”的 crate 有哪些?
- 被低估的(under-rated),但你特别喜欢的 Rust crate 有哪些?为什么?
- 今天我高中毕业,选择 Rust 作为我的编程语言
- 从 Julia 到 Rust
- 如何使用 fastText 和 Rust 进行即时翻译
周最佳 crate
本周最佳 crate 是 cargo-sort,cargo 子命令,用于对 Cargo.toml
的依赖项和工作空间(workspace)的包成员进行排序。
谢谢 jplatte 的提议。
参与邀请
您一直想为开源项目做贡献,但却不知道从哪里开始吗?每周,我们都会强调一些来自 Rust 社区的任务。您可以挑选,并开始参与!
有些任务可能还有导师,请访问具体任务页面,以了解更多信息。
如果你是 Rust 项目所有人,正在寻求贡献人员,请提交任务到这个页面。
Rust 核心更新
Rust 编译器性能
一些改进,以及一些回归。本周没有大的变化。
验测工作是由 @simulacrum完成的。修正范围:1160cf..a50d721
已核准的 RFCs
Rust 的改进遵循 RFC(request for comments)流程。如下是本周核准实现的 RFCs:
无
新的 RFCs
近期活动
线上
- June 15, 2021, Washington, DC, US - In-kernel, fast-path packet processing with AF_XDP - Rust DC
- June 16, 2021, Vancouver, BC, CA - Rust in Mozilla’s Data Platform - Vancouver Rust
- June 17, 2021, Denver, CO, US - Learning Rust as a Python/Javascript developer by Juhis - Rust Denver
- June 18, 2021, Online - Learn Rust Fundamentals | Rust 101 - KubeDaily
- June 29. 2021, Dallas, TX, US - Last Tuesday - Dallas Rust
如果你正在运作一次 Rust 活动,请将其添加到日历中,以便在此处提及。请向 Rust 社区团队发送电子邮件,以获取访问日历权限。
Rust 招聘信息
Tweede golf
Eniride
Field33
Snapview
Apollo
NZXT
Kollider
Estuary
Kraken
通过 @ThisWeekInRust,tweet 信息给我们,以便于我们在此处列出你的招聘信息!
本周引语
软件工程中技术的权衡取舍,随着时间的推移而改变,理想的解决方案同样如此。大约 40 年前,当第一个 C 语言标准被研究人员核定的时候,他们的能力,并不比今天这些研究 Rust 的人员逊色。C 语言的设计及其未定义的特性,在当时的背景下,可能比现在看起来更有意义。同样,Rust 目前做出的选择,在未来的数年后,或许不会像今天这般有意义。
谢谢 Kill The Mule 的提议!
Rust 周报编辑人员:nellshamrell, llogiq、cdmistman。
谢谢您的阅读!