[Rust] Rust 官方周报 387 期(2021-04-21)
💥 内容涉及著作权,均归属作者本人。若非作者注明,默认欢迎转载:请注明出处,及相关链接。
Summary: Rust 官方周报 387 期:Rust 核心更新、Rust 社区更新、官方资讯、项目/工具更新、观测/思考文章、实际演练文章、周最佳 crate、Rust 近期活动、Rust 工作招聘,以及 Rust 开发者引语等。第 387 期的技术文章中,技术深入分析较多,适合精读类不少。
Topics: rust rust-官方周报 this-week-in-rust
Rust 官方周报(中文版)仓库为 github.com/zzy/this-week-in-rust-zh-cn,欢迎您的参与,一起丰富中文网络的 Rust 资源。
大家好,欢迎查阅第 387 期《Rust 周报》!Rust 是一门系统编程语言,专注于三个要素:安全性、并发性,以及高性能。本文是其开发进展和社区生态的每周摘要。如果您想提出意见或建议,请在推特联系我们账号 @ThisWeekInRust,或者在 github 向我们发送 PR。想参与吗?我们期待您的贡献。
Rust 社区更新
本周无论文或研究探讨。
官方
- [内部] Rust 编译器(Compiler)团队 4 月份计划 - Rust Compiler April Steering Cycle
- [内部] Rust 语言团队 4 月份更新简报
- [内部] Jacob Hoffman-Andrews 加入 Rustdoc 团队
- [基金会] 成员介绍:Jane Lusby(译注:项目主管,协作团队)
- [基金会] 成员介绍:Shane Miller(译注:董事成员,亚马逊)
简讯
项目/工具更新
- rust-analyzer 更新日志 #73
- Knurling-rs 更新日志 #23(译注:Knurling-rs 主要致力于嵌入式 Rust 体验)
- Ballista 周报 #11(译注:Ballista 项目是 Rust 开发的类似 Spark 的分布式计算平台,目前已被捐赠给了 Apache Arrow 项目组。笔者已经在使用中。其还支持 Python、C++,以及 Java 等语言,且不用为序列化付出额外开销代价)
- 欢迎 Alice Ryhl 成为第一个受薪的 Tokio 项目贡献者(译注:通过 github 赞助)
- Zellij:Rust 实现的终端复用器,已经发布 beta 版本(译注:类似
tmux
或者gnu screen
) - faux:结构体模拟(mocking)库 - v0.1 发布(译注:允许模拟结构体的方法进行测试,而不会使代码复杂化或污染代码)
- Otter - 棋盘类游戏服务器,主要使用 Rust 开发
- [音频] Rust 1.50 和 1.51 的新特性
观测/思考
- 实际上,“红色”函数和“蓝色”函数都是合理的(译注:红色/蓝色函数象征同步/异步函数,函数的
颜色(colored)
源自 JavaScript,比喻 JavaScript 和其它语言中,同步函数和异步函数那些令人痛苦的不匹配难题。本文是对上期文章《Rust 语言中,让异步函数和同步函数匹配,不是什么大问题》的回应) - Rust 赋能 Temporal 的新核心 SDK
- Rust 中的数独(sudoku)求解优化(译注:文章不长,值得一读)
- 我的 Rust 语言理解之旅
- 如何在 Rust 中实现
/dev/printerfact
- 为什么使用 Rust 重新实现 fnm(译注:fnm 是系统应用,包括文件系统、网络,以及用户输入等)
- 在 AWS Lambda 之上,使用 Rust 运行 GraphQL 服务
- 运行时(Runtime)类型别名检测(译注:指针值(pointer-value)的类型别名分析)
box
里面隐藏着什么?(译注:指Box<dyn Error>
或Box<T>
的box
)- [视频] 嵌入式 Rust 生态概览(译注:值得一看)
Rust 演练
- 午夜忏悔(Late Night Confessions) — 使用 Rust、Rocket、Diese,以及 Askama 进行站点构建(1)(译注:站点名本无需翻译,但这个站名象电影名字,不由得手痒 ;-))
- Rust 之标准库
trait
之旅(译注:好文章,适合精读) - Rust 学习 #3:crates.io 及发布新包
- Rust 技术栈中,使用 Nakama 制作多人在线游戏
- 使用 React 和 WebAssembly 创建明亮的砌砖画廊(Sleek Masonry Gallery)
- GPIO 之战:类型状态骤升后的宏保护(2)
- 在嵌入式 Rust 中使用
std
- Rust 和 TUI:在 Rust 中 构建命令行(command-line)界面(译注:
tui
类似 JavaScript 的界面库blessed-contrib
或 Go 的界面库termui
) - Rust:Serde:处理无类型的 JSON 数据
- [系列] Rust 中编写 NES 模拟器
其它
- rustc、iOS,以及 M1
- 微软预发布 Rust For Windows(译注:简单说,支持 Rust 象 C 一样通过元数据访问 Windows API)
- Rustls 已为广泛使用做好准备
- 错误还在吗(Are We Yeet Yet)?(译注:以有些“火气”的语气说出:错误还在吗?此站点是错误追踪类)
- 使用 BL602 IoT SDK 运行 Rust RISC-V 固件
- [视频] 斯坦福大学研讨会 - 新机器的灵魂:重新思考计算机
周最佳 crate
本周最佳 crate 是 deltoid,用于增量压缩 Rust 数据结构的 crate。
谢谢 Joey Ezechiëls 的提议。
参与邀请
您一直想为开源项目做贡献,但却不知道从哪里开始吗?每周,我们都会强调一些来自 Rust 社区的任务。您可以挑选,并开始参与!
有些任务可能还有导师,请访问具体任务页面,以了解更多信息。
如果你是 Rust 项目所有人,正在寻求贡献人员,请提交任务到这个页面。
Rust 核心更新
Rust 编译器性能
又是一个安静的一周,编译器的性能变化很小。
验测工作是由 @rylev 完成的。修正范围:5258a74..6df26f
已核准的 RFCs
Rust 的改进遵循 RFC(request for comments)流程。如下是本周核准实现的 RFCs:
新的 RFCs
无。
近期活动
线上活动
- April 21, 温哥华, BC, CA - Rust 的研讨/Hack/闲逛 之夜 - Vancouver Rust
- April 27, 柏林, DE - Rust 和 Tell - Rust Berlin
- April 27, 伦敦, UK - LDN Virtual Talks Apr 2021 - Red Badger Takeover - Rust London User Group
- April 27, Dallas, TX, US - Last Tuesday - Dallas Rust
- April 28, Online - Ockam Open Source Community Call - Live coding walkthrough of building end-to-end encrypted communication in Rust
- May 4, Buffalo, NY, US - Buffalo Rust User Group, Tues May 4th - Buffalo Rust Meetup
欧洲
如果你正在运作一次 Rust 活动,请将其添加到日历中,以便在此处提及。请向 Rust 社区团队发送电子邮件,以获取访问日历权限。
Rust 招聘信息
Grover GmbH
Massa Labs
Instaclustr
Subspace Labs
Paige
Luminovo
通过 @ThisWeekInRust,tweet 信息给我们,以便于我们在此处列出你的招聘信息!
本周引语
我们认为:Rust 现在已经为加入 C 做好了准备,成为实现 [Linux] 内核的实用语言。Rust 可以帮助我们减少特权代码中潜在的 bug,减少安全漏洞的数量。同时,Rust 可以很好地处理核心内核,并保持其性能特色。
– Wedson Almeida Filho 发表于 Google 安全博客
谢谢 Jacob Pratt 的提议!
Rust 周报编辑人员:nellshamrell, llogiq、cdmistman。
谢谢您的阅读!