diff --git a/src/rust-weekly.md b/src/rust-weekly.md index 6d617d66..9e5c9cc9 100644 --- a/src/rust-weekly.md +++ b/src/rust-weekly.md @@ -3,66 +3,81 @@ 精选过去一周的文章、新闻、开源项目和 Rust 语言动态( 中文内容用 🇨🇳 进行标识 ),欢迎大家[订阅及查看往期回顾](https://github.com/studyrs/rust-weekly)。 -## 「Rust 语言周刊」 第 6 期 · 2022-04-02 +## 「Rust 语言周刊」 第 7 期 · 2022-04-08 +Rust 语言周刊精选过去一周的优秀文章、新闻、开源项目和 Rust 语言动态。 - -
题图: Rust 嵌入式开发
+本周刊由 StudyRust 社区倾情打造,其中的 [Zh] 中文资料由 Rustt 进行翻译,原始 Markdown 文档已全部开源,欢迎大家阅读和订阅。 -#### 精选文章 +> StudyRust 官网:https://studyrust.org , 公众号 studyrust -1、 [Zh] [敢于要求更多 Rust 2024](https://github.com/studyrs/Rustt/blob/main/Articles/%5B2022-03-28%5D%20Rust%202024:敢于要求更多.md) - 翻译 [YuKun Liu](https://github.com/mrxiaozhuox) + +
题图: 一本生锈的书
-未来几年的 Rust 和社区应该怎么发展,可以简单总结为:敢于要求更多。 +#### Rust新闻 -2、[Zh] [Rust 嵌入式开发](https://github.com/studyrs/Rustt/blob/main/Articles/%5B2022-03-26%5D%20Rust%20嵌入式开发.md) - 翻译 [Xiaobin.Liu](https://github.com/lxbwolf) +1、[Zh] [Rust 1.60 发布](https://course.rs/appendix/rust-versions/1.60.html) -本文展示了一些适用于嵌入式 Rust 的特性,总之, Rust 的高性能、高可靠和生产效率都非常适用于嵌入式系统。 +在新版中,我们可以查看 Cargo 构建时的详细耗时了,有助于分析和改善编译时间,还有就是条件编译和依赖引入了新的期待已久的功能。 -3、[dyn*: 尝试将 dyn 变成定长类型](https://smallcultfollowing.com/babysteps/blog/2022/03/29/dyn-can-we-make-dyn-sized/) +1、[Zh] [Rust 2024 官方路线图公布](https://www.163.com/dy/article/H4CMGAF50511CUMI.html) +这篇文章从比较宏观的角度讲解了 Rust 2024 的路线图。 -三人行必能干翻诸葛亮,这不,作者和两个朋友在一次深入讨论后,突然诞生了这个奇妙的想法,最后还提交给了 Rust Team。作者还认为,一旦成功,那 `dyn Trait` 将更加好用、易用。 +2、[Zh] [Rust 2024:敢于要求更多](https://github.com/studyrs/Rustt/blob/main/Articles/%5B2022-03-28%5D%20Rust%202024:敢于要求更多.md) -4、[自修改代码](https://matklad.github.io/2022/03/26/self-modifying-code.html) +本文是从更细节的角度出发讲解 Rust 2024 的路线图,喜欢技术细节的同学不容错过。 -对于 JIT 类似的动态机器码修改技术,大家应该都比较熟悉了,但是 Rust 中并没有。因此,作者想要通过一个简单的方法来替代宏去生成源代码。 +3、[Rust 基金会激励计划](https://foundation.rust-lang.org/news/2022-03-31-cgp-is-open-announcement/) -5、[异步解构器、异步泛型和完成式期约](https://sabrinajewson.org/blog/async-drop) +基金会筹划已久的开源项目激励计划终于开始实施了,里面包含了基金会合作伙伴、开源项目等一系列举措,大家快去申请了! -本文的主要目标是为 Rust 设计一个系统以支持异步解构器( asynchronous destructors )。长文预警! +#### 开源项目 -6、[何时不应该使用 Rust](https://kerkour.com/why-not-rust) +1、[一本生锈的书](https://github.com/studyrs/rusty-book) -不出所料,文章内给出了快速原型设计的答案。短文预警! +这本书主要关于如何打造一个 “有锈” 的 Rust 项目。 -7、[Rust 交叉编译](https://kerkour.com/rust-cross-compilation) +2、[StarfishQL](https://www.sea-ql.org/SeaORM/blog/2022-04-04-introducing-starfish-ql/) -黑帽 Rust 作者又出手了,这次为我们带来关于交叉编译的优质内容。 +一个图数据库和查询引擎,目前主要的目的是绘制和探索 crates.io 上的包依赖网络。 -8、[小而美的 Rust Docker 镜像](https://azzamsa.com/n/rust-docker/) +3、[Coppers](https://github.com/ThijsRay/coppers) -文章用 Rocket 框架写了一个 demo,然后将其打包成 Docker 镜像,最后的大小仅仅是 `8.38MB`,但... 算了,不剧透了,大家还是自己探索吧。 +一套测试工具,用于测量 Rust 项目的能耗情况。 -9、[Book] [High Assurance Rust](https://highassurance.rs) +#### 精选文章 -由于我自己是开源书作者,因此对开源书有一种特别的偏爱。这本书主要关于如何开发高可靠、安全的软件服务,当然,书中还有一些计算机原理和架构设计的讲解。 +1、[虚弱之塔: 每个人都应该懂的内存模型](https://gankra.github.io/blah/tower-of-weakenings/) -10、[Video] [Rust for Linux](https://www.youtube.com/watch?v=fVEeqo40IyQ) +干货作者又出手了,这次为我们带来了内存模型的分析和改进。他甚至基于这种改进修改了 Rust 代码,并且应用在自己的部分项目上,crazy! -本视频将讲解目前 Linux 的 kernel 中,Rust 将扮演什么角色以及未来规划。 +2、[Rust 的 Mutex 为何这样设计?](https://cliffle.com/blog/rust-mutexes/) -#### 开源项目 +已经有不少人抱怨为何 Rust 的 Mutex 跟别的语言不一样,例如它可以持有数据。作者针对这些疑问给出了自己的分析,总之他站队 Rust 的设计。 + +3、[Zh] [在 Rust 中使用 epoll 实现非阻塞 IO](https://github.com/studyrs/Rustt/blob/main/Articles/%5B2022-03-29%5D%20在%20Rust%20中使用%20epoll%20实现基本的非阻塞%20IO.md) + +本文试图解释清楚 epoll 和非阻塞 IO 背后的原理 + +4、[Zh] [用 Rust 写 Devops 工具](https://github.com/studyrs/Rustt/blob/main/Articles/%5B2022-04-02%5D%20用%20Rust%20写%20DevOps%20工具.md) + +文章中会介绍几个 Rust 用在 DevOps 领域的案例,以及为什么使用 Rust。其中我们还会介绍一些在 AWS 上基于 Rust 的 DevOps 工具常用的库。 + +5、[Zh] [Rust 背后不是公司](https://github.com/studyrs/Rustt/blob/main/Articles/%5B2022-04-01%5D%20Rust%20背后并不是公司.md) +Rust 大佬带来的对 Rust 组织架构的分析。 -1、[生成你的 Github Profile](https://github.com/autarch/autarch) +6、[使用 Rust 改善 Python S3 客户端的性能](https://joshua-robinson.medium.com/improving-python-s3-client-performance-with-rust-e9639359072f) -灵感来自于作者在简历中看到别人的炫酷 Github 个人首页展示,还写了[一篇文章](https://blog.urth.org/2022/03/28/yet-another-github-profile-generator/)。 +Python 是数据科学的主力军语言,但是性能有的时候会成为平静下来。例如现在亚马逊 S3 存储非常火热,如果大家使用 S3 作为数据集的存储,那么 Pyhton 去读取这些数据可能就是一个很大的性能瓶颈。 +7、[Qiskit 使用 Rust 来获取更好的性能](https://medium.com/qiskit/new-weve-started-using-rust-in-qiskit-for-better-performance-a3676433ca8c) -2、[fp-bindgen: 为全栈 WASM 插件生成相应的 binding](https://fiberplane.dev/blog/announcing-fp-bindgen/) +Qiskit 是一家从事量子计算的公司,最近他们 在 Python 之外还引入了 Rust 语言,事实证明,这个举措带来了显著的性能提升。 -全栈 WASM 插件是可以同时用在客户端和服务端的插件,而 `fp-bindgen` 让插件的创作变得更加简单,不仅如此,还提供了工具可以让它们在服务器上运行( hosting )。 +8、[ScyllaDB 将数据库驱动使用异步 Rust 重新实现](https://thenewstack.io/why-were-porting-our-database-drivers-to-async-rust/) -3、[BonsaiDB v0.4.0](https://bonsaidb.io/blog/bonsaidb-v0-4-0/) +ScyllaDB 是这几年很火的开源分布式 KV 数据库,兼容 Cassandra 的 CQL 协议,性能非常非常高。这不,为了性能和安全性,他们又出手了,这次是使用 Rust 将客户端的驱动进行了重写( 使用 tokio )。 -`BonsaiDB` 的目标是打造一个使用者友好的数据库,拥有大量常用的数据结构。但是之前的版本只支持异步 API,这个缺陷在新版本中得到了解决。 +9、[在 2022 年使用 axum 和 yew 打造一个全栈 Rust web 服务](https://robert.kra.hn/posts/2022-04-03_rust-web-wasm/) +在过去两年,WebAssembly 在 Rust 这里发展的非常快,而且构建和打包也变得更加简单。因此,是时候使用 Rust 写一套前后端服务了。