[Rust] Rust 官方周报 396 期(2021-06-23)
💥 内容涉及著作权,均归属作者本人。若非作者注明,默认欢迎转载:请注明出处,及相关链接。
Summary: Rust 官方周报 396 期:Rust 核心更新、Rust 社区更新、官方资讯、项目/工具更新、观测/思考文章、实际演练文章、周最佳 crate、Rust 近期活动、Rust 工作招聘、Rust 开发者引语。本期文章中,Rust 在 WebAssembly 开发方面文章、工具较多,游戏开发等方面也有所侧重。
Topics: rust webassembly rust-官方周报
Rust 官方周报(中文版)仓库为 github.com/zzy/this-week-in-rust-zh-cn,欢迎您的参与,一起丰富中文网络的 Rust 资源。
关于周报中的资源链接,已经有中文资源的,替换为中文资源链接(中文资源中,均附有原文链接)。另外,对于部分周报文章,附有阅读和简单了解后的译注,但并非全部。如果你阅读了文章,有更适合的见解,请联系、PR,或者直接参与项目 github.com/zzy/this-week-in-rust-zh-cn。
大家好,欢迎查阅第 396 期《Rust 周报》!Rust 是一门系统编程语言,专注于三个要素:安全性、并发性,以及高性能。本文是其开发进展和社区生态的每周摘要。如果您想提出意见或建议,请在推特联系我们账号 @ThisWeekInRust,或者在 github 向我们发送 PR。想参与吗?我们期待您的贡献。
Rust 社区更新
本周无相关官方博客,研讨/论文。
官方
项目/工具更新
- rust-analyzer 更新日志 #82
- IntelliJ Rust 更新日志 #149
- rustymind - 使用 Rust 对脑电波(brainwaves)进行解析和可视化(译注:rustymind 是 Rust 在医疗硬件方向应用的一个库,主要适用于头戴式脑电仪 NeuroSky MindWave EEG)
- TensorBase 周报 8 期
- 支持 Miguel Ojeda 使用 Rust 开发 Linux 内核的工作(译注:Miguel Ojeda 曾编写过大型强子对撞机粒子加速器所使用的软件,并从事过编程语言安全方面的工作。2021 年 6 月中旬,Google 与 Miguel 签订了一年的合约,希望他来提高 Linux 内核的内存安全。Miguel Ojeda 将使用 Rust 来进行 Linux 内核的开发,这也是 Linux 内核中将首次出现 Rust 代码)
- rustc_codegen_gcc:进展报告 #1
观测/思考
- 以“Java 教程(The Java Tutorials)”的方式学习 Rust - 封装的 trait 对象和继承(inheritance)(译注:主要是
dyn
、Box<T>
,以及 trait 的实现impl
方面的内容。这是一个系列,参考 6 月 9 日 394 期周报) - WABT:wasm 开发中好用的 CLI 工具包(译注:C++ 语言开发,功能很全,包括对
simd
和多线程的支持。目前已有 Rust 的绑定库。但此文与 Rust 没关系,或许是 wasm-binden 与之关联紧密的原因吧) - wasm-bindgen 使得 Rust 和 JavaScript 的交互变得容易(译注:使用 Rust 构建 wasm 应用必不可少的库,可参阅《Rust 和 Wasm 的融合,使用 yew 构建 web 前端》)
- Rust 中的类型检查(type-checked)库 keypaths(译注:swift 风格的 keypaths 库)
- 使异步(async)Rust 更易于使用的方法探讨
- 重读你所编写的 Rust 代码
- Rust 项目初体验:一个国际象棋引擎
- 游戏发开中,比较 Rust 和 C++
- Rust 中的 Skipping Tests
- [中文] 使用 Rust 开发 Gameboy 模拟器(译注:繁体中文)
- [视频] 为什么“云”的未来将会基于 Rust - Oliver Gould, Buoyant
Rust 演练
- Rust 和 AWS Lambda
- Rust 中对二进制数据反序列化
- 又一个新潮的(snazzy) Rust CLI
- Rust 中构建 API(2)
- Rust 中的多态(polymorphism)
- Rust 中使用 MongoDB 和 Redis 的入门教程
- 网站开发(1):树莓派上的监控应用
- [中文] 使用 Rust 开发 WebAssembly 程序(译注:繁体中文)
- [视频] Rust 模糊测试(fuzzing)#3:如何编写(更好的)Rust fuzz 测试目标?
- [视频] 使用 Rust 构建 web 应用(3)- 数据库管理
- [视频] 使用 Rust 构建 web 应用(4)- HTTP 服务器
其它
- Rust 组织不是一个公司
- Google 希望在 Linux 内核中出现 Rust 代码,已与开发人员签订合同(译注:开发人员即 Miguel Ojeda,参阅上文支持 Miguel Ojeda 使用 Rust 开发 Linux 内核的工作)
- Rust 是 Godot 游戏引擎开发者最想要的语言(译注:Godot 是由社区开发的一款二维和三维跨平台、开源的游戏引擎)
周最佳 crate
本周最佳 crate 是 serde-encrypt,用于向所有 Serialize
实现添加加密(encryption)特性的库。
谢谢 Sho Nakatani 的提议。
参与邀请
您一直想为开源项目做贡献,但却不知道从哪里开始吗?每周,我们都会强调一些来自 Rust 社区的任务。您可以挑选,并开始参与!
有些任务可能还有导师,请访问具体任务页面,以了解更多信息。
- cargo - SearchIndexer takes time indexing \target on windows
- cargo - Ability to specify the output name for a bin target different from the crate name
- cargo - Using alternative registries names in text output
- cargo - A dependency on path = “.” should have a good error message
如果你是 Rust 项目所有人,正在寻求贡献人员,请提交任务到这个页面。
Rust 核心更新
Rust 编译器性能
在一些较小的基准测试(如 helloworld)上有一些小回归,或许在少数情况下会出现较多的 IR。
验测工作是由 @simulacrum完成的。修正范围:d192c80..3912083
已核准的 RFCs
Rust 的改进遵循 RFC(request for comments)流程。如下是本周核准实现的 RFCs:
新的 RFCs
近期活动
线上
- June 24, 2021, Berlin, DE - Rust Hack and Learn - Berline.rs
- June 29, 2021, Dallas, TX, US - Last Tuesday - Dallas Rust
- July 6, 2021, Buffalo, NY, US - Buffalo Rust User Group, First Tuesdays - Buffalo Rust Meetup
如果你正在运作一次 Rust 活动,请将其添加到日历中,以便在此处提及。请向 Rust 社区团队发送电子邮件,以获取访问日历权限。
Rust 招聘信息
ChainSafe Systems
Kollider
通过 @ThisWeekInRust,tweet 信息给我们,以便于我们在此处列出你的招聘信息!
本周引语
终于,我可以恰当地命名我的不安全(unsafe)函数了。
unsafe fn e͙̤͎̪͒x̲͓̞̤͍̻̺̂͗͛͆͡t̜̣͊̓ͩ̍̑e̩͖͙͎̼̖͉ͮṇ̨͖̎̓ͅd̗̼͕ͫ̅_̲̦̥̙̙͍͂́l͙͙̦̞̠̃͌͒i̹̘͍̳̊ͪͦͤ͒̊͋f̨ͥ̄̌ḛ̜͗̉̃̎̂̔̐t̩̲̘͕͉̺̫̓͗́i̹̤̭ͭ͆̔ͪͤ͢m̹̤̜̗̫̩͍ͨe̝͒ͣ<'b>(r: R<'b>) -> R<'static>
谢谢 Vincent de Phily 的提议!
Rust 周报编辑人员:nellshamrell, llogiq、cdmistman。
谢谢您的阅读!