{"id":13441193,"url":"https://github.com/rustcn-org/rust-weekly","last_synced_at":"2025-03-20T11:37:27.791Z","repository":{"id":38285149,"uuid":"464298887","full_name":"rustcn-org/rust-weekly","owner":"rustcn-org","description":"Rust语言周刊，每周五发布，精选过去一周的技术文章、业界新闻、开源项目和 Rust 语言动态","archived":false,"fork":false,"pushed_at":"2022-07-15T08:22:55.000Z","size":161,"stargazers_count":815,"open_issues_count":0,"forks_count":23,"subscribers_count":67,"default_branch":"main","last_synced_at":"2024-08-04T16:05:41.361Z","etag":null,"topics":["rust"],"latest_commit_sha":null,"homepage":"https://weekly.rs","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rustcn-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-28T01:21:46.000Z","updated_at":"2024-08-02T19:01:15.000Z","dependencies_parsed_at":"2022-08-09T02:30:39.890Z","dependency_job_id":null,"html_url":"https://github.com/rustcn-org/rust-weekly","commit_stats":null,"previous_names":["rustcn-org/rust-weekly","rustlang-cn/rust-weekly"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustcn-org%2Frust-weekly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustcn-org%2Frust-weekly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustcn-org%2Frust-weekly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustcn-org%2Frust-weekly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rustcn-org","download_url":"https://codeload.github.com/rustcn-org/rust-weekly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221759943,"owners_count":16876322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust"],"created_at":"2024-07-31T03:01:30.971Z","updated_at":"2024-10-28T01:30:14.920Z","avatar_url":"https://github.com/rustcn-org.png","language":null,"funding_links":[],"categories":["HarmonyOS","Others"],"sub_categories":["Windows Manager"],"readme":"# Rust语言周刊\nRust语言周刊精选全世界过去一周的优秀文章、新闻、开源项目和语言动态。\n\n本周刊由 RustCn 倾情打造，其中， `[Zh]` 标识的中文资料由 Rust 翻译计划提供，并且原始的 Markdown 文档已[全部开源](https://github.com/rustlang-cn/rustt)，欢迎大家阅读和订阅。\n\n\u003e RustCn：https://hirust.cn, 公众号: Rust语言中文网\n\n# 「Rust 语言周刊」 第 17 期 · 2022-07-15\n\n\u003cimg src=\"https://pica.zhimg.com/80/v2-2826dfca738cdc1795e77d12eb269906_1440w.png\"\u003e\n\u003ch5 align=\"center\"\u003e题图: Tauri 发布 1.0 版本\u003c/h5\u003e\n\n\n## 官方新闻\n\n1、[Zh] [Rust 发布 1.62 版本](https://course.rs/appendix/rust-versions/1.62.html)\n\n如果大家期待 Rust 像其它语言一样，每一个新版本都带来大量新特性，那你们可要失望了，1.62 的更新内容相当少，甚至不如某些语言一个 minor 版本的更新力度，但**错不在 Rust**，建议大家了解下 Rust 的[版本发布流程](https://course.rs/appendix/rust-version.html)，就明白其中的弯弯绕绕了。\n\n## 开源项目\n\n1、[基于 Rust 的操作系统训练营](https://github.com/LearningOS/rust-based-os-comp2022)\n\n该训练营有一个配套教程，将带大家从零开始使用 Rust 编写 RISC-V 架构的 类 Unix 内核 。\n\n我自己也做开源，深知这件事会占用多少的时间和精力，甚至还会遭人非议，而我仅仅是写写书，跟作者这种大佬一比，差距就太大了... Respect!\n\n2、[Tauri 发布 1.0 版本](https://tauri.app/blog/tauri_1_0/)\n\n虽然 Tauri 很有名，但是为防有同学不知道背景，还是简单介绍下：它是一款跨平台的桌面应用开发框架，虽然内核是使用 Rust 开发，但是开发者可以使用自己喜欢的前端框架( `react`, `vue`, `vite` )来构建自己的用户界面，最终编译生成一个可执行的二进制文件，方便在各个不同的操作系统间分发运行。总之，你可以将 Tauri 当作是理念更先进的 Electron.js 。\n\n言归正传，在历经 1 年多的时间后，Tauri 终于发布了 1.0 版本，这也标志着它已经可以在生产环境正式使用，并且目前来看，官方文档还算可以，甚至还提供了[中文文档](https://tauri.app/zh/v1/guides/getting-started/prerequisites)，除此之外，我还发现了一个[宝藏教学系列](https://zhuanlan.zhihu.com/p/539708101)，值得一读。\n\n3、[lettre 发布 0.1.0 版本](https://lettre.rs/post/lettre-0-10/)\n\n`lettre` 是一个现代化的邮件发送库，它简单易用、安全可靠，但是需要注意，它的目标**不是支持所有的邮件 RFC 标准**，因此在你有特殊需求时，可能会需要自己动手，丰衣足食。\n\n该库目前已被多个项目使用，包括大名鼎鼎的 `crates.io`。 \n\n4、[workers-rs: 使用 Rust + WebAssembly 实现 Cloudflare 的 Workers](https://github.com/cloudflare/workers-rs)\n\nCloudflare 已经成为全世界最大的 DNS 服务商，而且它的业务不仅仅是 DNS，目前云计算方面也进行的如火如荼。CF 最大的优势不仅仅在于 DNS 的快速和稳定，还在于它提供了多种方式来扩展你的 DNS 使用，例如你可以使用 Rust 来变成它的 worker。\n\n为了便于有需要的同学进一步学习该如何使用，这里还有一篇[实战文章](https://logankeenan.com/posts/running-a-rust-server-in-a-cloudflare-worker/)，值得一看。\n\n\n## 精选文章\n\n1、[过程宏揭秘 II](https://blog.jetbrains.com/rust/2022/07/07/procedural-macros-under-the-hood-part-ii/)\n\n想要了解过程宏是如何编译、怎么跟 IDE 互动的吗？来看看这个系列的文章，作者来自 Intellij Rust 插件开发组，之前还给 RustCon 分享过，干货满满。\n\n本文是系列文章中的第二篇，第一篇见[这里](https://blog.jetbrains.com/rust/2022/03/18/procedural-macros-under-the-hood-part-i/)。\n\n\n2、[youtube][有字幕] [AWS 在构建 Rust SDK 方面的实践](https://www.youtube.com/watch?v=N0XMjokwTIM)\n\n如果没有亚马逊这几年对 Rust 的大力(肆)支(鼓)持(吹)，Rust 也不会走到今天这个地步。出于敬意，放上这个视频，事实上，里面更多的是对自己产品的宣传 = ， = 特别是第一部分，大家可以跳着看，一些关于底层的讲解还是值得一看的。\n\n3、[Zh] [在 GCC 13 中，大家可能将看到 Rust 的身影](https://www.oschina.net/news/202630/gcc-rust-approved-by-gcc-steering-committee)\n\n目前来说，Rust 的编译器实现是基于 LLVM 的，而我们可能很快将看到基于 GCC 的实现，与 LLVM 不同，新的编译器将能获得 GCC 内部优化通道的所有访问权，同时带来更多的目标平台的支持，以及享受 GCC 众多的插件生态。\n\n该项目已经历时多年(从 Rust 0.9 版本开始)，我一度怀疑可能永远都无法看到它的身影，没想到现在突然官宣了，但是项目依然还处于早期阶段，当前的目标是在 GCC 13 中提供测试级别的支持。\n\n再加上 Rust 即将在 Linux 5.20 中出现，可以预料， Rust 的未来将更加美好，大家一起期待吧！\n\n4、[C++ 大战 Rust 系列：可变性和所有权](https://www.tangramvision.com/blog/c-rust-interior-mutability-moving-and-ownership)\n\n虽然 Rust 将所有权发扬光大，但是咱不能说 Rust 发明了所有权，毕竟众所周知：Rust 语言是借鉴大师 :P  \n\n在这篇文章中，作者将介绍 C++ 和 Rust 在实现所有权、可变性方面的不同设计哲学，以及标准库、编译器层面的支持。\n\n5、[Rust 错误介绍，比你想要的更多](https://www.shuttle.rs/blog/2022/06/30/error-handling)\n\n文章不错，标题也不错！ 虽然你想要的错误处理几乎都可以在 `https://course.rs` 上找到，但是这篇文章依然值得一看。\n\n6、[Youtube][有字幕] [为何你的 Rust 编译这么慢？](https://www.youtube.com/watch?v=pMiqRM5ooNw)\n\n视频质量自然非常高，从各个方面介绍了该如何提升 Rust 的编译速度，干货满满，强烈推荐。\n\n但...我的天，我真的佩服作者，就以 Rust 周刊举例吧，每次周刊基本都要花费我几个小时，那一个将近 3 个小时的干货视频，要准备多久？简直是卷王在世 :)\n\n甚至有人评论到：这个是一个 AMSR 视频...\n\n\n7、[Rust中的再借用](https://haibane-tenshi.github.io/rust-reborrowing/)\n\n大家都知道 Rust 中的生命周期很难，那你们谈谈对借用的印象，难吗？我猜，大多数人会说不难。其实不然，Rust 中的借用并不仅仅是书上介绍的那些，例如**再借用(reborrowing)**，你听说过吗？\n\n8、[我很强，但 Rust 更强](https://blog.polybdenum.com/2022/06/25/an-unfortunate-experience-with-rust.html)\n\n作者说他对于 Rust 极其有经验，但是就算这样的高手，依然避免不了被 Rust 所教育，你问怎么个教育法？当然是跟编译器搏斗咯。\n\n其实，从我个人而言，非常推荐大家看看这类文章，那些关于 Rust 如何成功的营销文，爽则爽矣，对于技术却无多大帮助。而这种错误实践类的文章，却能帮助我们少走很多弯路！\n\n\n\n\n\n\n## 往期回顾\n\n目前所有的周刊都按照 `年/月/日期` 的方式归纳在 [docs](./docs) 目录下，大家可以按需查看。\n\n- [第 16 期](./docs/2022/6月/24.md)\n- [第 15 期](./docs/2022/6月/10.md)\n- [第 14 期](./docs/2022/5月/29.md)\n- [第 13 期](./docs/2022/5月/22.md)\n- [第 12 期](./docs/2022/5月/16.md)\n- [第 11 期](./docs/2022/5月/07.md)\n- [第 10 期](./docs/2022/4月/29.md)\n- [第 9 期](./docs/2022/4月/24.md)\n- [第 8 期](./docs/2022/4月/15.md)\n- [第 7 期](./docs/2022/4月/08.md)\n- [第 6 期](./docs/2022/4月/02.md)\n- [第 5 期](./docs/2022/3月/25.md)\n- [第 4 期](./docs/2022/3月/18.md)\n- [第 3 期](./docs/2022/3月/11.md)\n- [第 2 期](./docs/2022/3月/04.md)\n- [第 1 期](./docs/2022/2月/28.md)\n\n\n## 怀揣劲爆消息或优质内容？\n欢迎提交 `issue` 或 `PR`，我们欢迎一切有价值的内容，并且你提供的每条消息都将标注上你的 github 用户名和链接。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustcn-org%2Frust-weekly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frustcn-org%2Frust-weekly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustcn-org%2Frust-weekly/lists"}