Rust Pin大起底
最近这个 Pin 的事情在 Rust 圈里可能是风头正劲,很多人都发文章来讨论这个事。当时决定要用这个 Pin 的人就是 boats,他把 Pin 的来龙去脉做了一个非常系统性的梳理。这篇文章非常热乎,就是这几天写的。原文链接在这里。我们来看它的内容。
我把这篇文章的标题理解为”Pin 大起底”。当然这篇文章他后面还要写一篇文章,讲到了 Pin 类型以及更一般化讲到这个 Pin 的概念。
Pin 是 Rust 的异步编程生态系统的基础构建模块之一。遗憾的是它也是异步 Rust 中最难理解、最容易让人产生误解的部分。其实如果我们看的这个 Pin 够多,用的足够多的话,现在也不认为他是难理解,也不认为它容易产生误解。我认为是它难用,理解是理解的,如果了解的足够多的话,应该不会产生误解,难用才是它比较讨厌的地方。
golang之string类型变量操作的原子性
在并发场景下,string跟map一样,都是需要使用atomic包/sync包来保证读写的原子性。
str_atom.go:
5 traits your Rust types must implement
https://www.youtube.com/watch?v=Nzclc6MswaI
五个你的Rust类型绝对应该实现的标准库特性
特别是如果你要将你的类型作为公共接口的一部分来暴露。你看,Rust的孤儿规则规定你不能为外部类型实现外部特性。这意味着你的库的用户将无法自己实现这些特性,除非他们创建一个包装类型,这是很烦人的。而且,如果没有访问类型的内部结构,他们可能甚至无法写出合理的实现。你最不希望看到的就是有人尝试使用你的Rust库然后放弃。这五个特性提供了Rust使用者期望你的类型具有的基本功能,幸运的是,它们都可以被派生。在视频的最后,我会介绍第六个你的类型绝对应该实现的特性,它不是标准库的一部分,所以请一定要坚持到最后。
Use Arc Instead of Vec
https://www.youtube.com/watch?v=A4cKi7PTJSs
在这个视频中,我想讨论为什么你可能会考虑在Rust代码中使用Arc<[T]>而不是Vec
Arc<[T]>对于不可变数据来说可能是一个很好的选择。如果你构建了一个大的数据序列,之后不再修改,你可以考虑使用Arc<[T]>。它非常适合存储在结构体、数组或集合中的数据,或者是需要到处传递的数据。我不是在讨论那些作为局部变量快速收集的Vec,或者仅用于一些快速临时存储的Vec。我指的是你要长期存储的数据,你可以考虑使用Arc<[T]>,特别是对于实现了Clone trait的数据。
RustConf 2023 - Async building blocks: A streaming Data Drama in Three Acts
欢迎来到异步构建模块,这是一个分为三幕的流式数据戏剧。或者正如Nell在上一次演讲中所称的那样,是一场异步戏剧或类似的东西。所以,请原谅我。
简单介绍一下我自己。我从2018年开始使用Nix。我也是Nix文档团队的成员,在那里我领导一个工作组。如果你看过Nix文档,我很抱歉。我还是一家名为Flox的公司的工程师,该公司正在Nix之上构建工具,这样你就不必真正了解Nix就能从中受益。但是,关于我的介绍就到此为止。今天,我只是你们谦卑的讲述者。这个故事是关于一个名叫Mary的消息。
正如我所说,这是关于异步构建模块,而不是异步材料科学,所以我们不会深入探讨任何特定的主题。有一个与此相关的示例应用程序在GitHub上,链接将在最后提供。
RustConf 2023 - Integrating Rust and Go: Lessons from Github Code Search
https://www.youtube.com/watch?v=KYdlqhb267c
我会按照您的要求整理内容并翻译为中文,不会遗漏或省略内容。以下是整理和翻译后的内容:
我叫Luke Franel。今天我要讲的是集成Rust和Go,以及我们在GitHub代码搜索中学到的一些经验教训。
RustConf 2023 - Too many cooks or not enough kitchens?
https://www.youtube.com/watch?v=n0VeZRTZFxE&list=PL85XCvVPmGQgR1aCC-b0xx7sidGfopjCj&index=22
https://www.slideshare.net/slideshow/too-many-cooks-or-not-enough-kitchens/260988186
好的,欢迎来到会议的最后一场。你们快到终点了。我不知道你们怎么想,但我真的很享受看到其他演讲者正在用Rust做的所有令人惊叹的事情,我也被这次活动的包容性所震撼。本着这种精神,为了我们视力不佳的朋友,我还要提一下,我是一位矮小的白人中年女性,今天我要讲的是开放文化和学习环境,以及为什么同时拥有这两者如此困难。
RustConf 2023 - Rust in the skies over Antarctica
https://www.youtube.com/watch?v=lg_27Ds2Ir0&list=PL85XCvVPmGQgR1aCC-b0xx7sidGfopjCj&index=24
Summary
本视频讲述了一个物理学家在南极使用Rust语言进行的天体物理实验。他介绍了如何利用Rust解决他在项目中遇到的挑战,包括数据压缩和粒子探测技术,以及为什么选择南极作为实验地点的原因。
RustConf 2023 - Infrastructure for Rust
本篇是对 RustConf 2023中的Infrastructure for Rust这一视频的翻译与整理, 过程中为符合中文惯用表达有适当删改, 版权归原作者所有.
我今天要和大家讨论支持Rust及Rust项目的基础设施。Rust是一门令人惊叹的语言,我非常喜欢它,看到它的普及度和社区的成长令人非常满意。但从项目背后的基础设施来看,这种增长带来了一些挑战,如果我们希望Rust在未来几十年成为基础技术,我们就需要解决这些挑战。这就是我今天要讨论的内容。
RustConf 2023 - A Rust-based garbage collector for Python
https://www.youtube.com/watch?v=eyhmeMq8mTE&list=PL85XCvVPmGQgR1aCC-b0xx7sidGfopjCj&index=7
Summary
这个视频介绍了在Python中集成基于Rust的垃圾收集器的工作。演讲者简要介绍了垃圾收集的背景,详细说明了项目中使用的内存管理工具包(MMTK),并解释了如何将其与Python实现(PyPy)集成。