本月简报 | Rust 唠嗑室本月汇总

  • 来源:Rust 唠嗑室
  • 主持人:MikeTang
  • 后期编辑:高宪凤

《Rust 唠嗑室》第 18 期 - 剖析 Rust 的引用

时间: 2021/02/02 20:30-21:30

主讲人:舒乐之(Andy)

一网网络工程师,2018 年开始写 Rust,参与 ImmuxDB 不可变数据库和 ImmuxCompute 计算引擎的设计开发;曾用 C 开发比特币节点 tinybtc;曾任 Matters Lab 首席工程师,Web 前后端都写过。

内容

这次的主要内容,是从零开始,解释 Rust 中「引用」的概念,以及一批与引用相关的概念:地址、指针、借用、切片、智能指针、胖指针、裸指针、所有权、生命周期、作用域等。

还会谈到一些关于 Rust 引用的问题,比如:

  • 生命周期与作用域的关系是什么?
  • 为什么 str 不会单独出现,总是以要靠引用(比如&str)使用?
  • Vec 有一个 into_boxed_slice()方法 —— boxed slice 是什么,与 Vec 有什么区别?
  • RefCellCellUnsafeCell 的区别是什么?什么时候用什么?

查看回放

扩展资料

  • 官方文档

    • https://doc.rust-lang.org/stable/reference/types/pointer.html
    • https://doc.rust-lang.org/stable/reference/types/function-pointer.html
    • https://doc.rust-lang.org/nomicon/ownership.html
    • https://github.com/rust-lang/rfcs/blob/master/text/2094-nll.md
    • http://rust-lang.github.io/rfcs/1558-closure-to-fn-coercion.html
    • https://prev.rust-lang.org/en-US/faq.html#ownership
    • https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html
  • 博客

    • http://smallcultfollowing.com/babysteps/blog/2014/05/13/focusing-on-ownership/
    • https://ricardomartins.cc/2016/06/25/interior-mutability-thread-safety
    • https://limpet.net/mbrubeck/2019/02/07/rust-a-unique-perspective.html
    • https://internals.rust-lang.org/t/function-pointers-are-inconsistent-with-other-language-features/12439

Rust 牛年春晚

时间:2021/02/14 16:00 - 24:00

----------> Rust 牛年春晚 <----------

P1【4 点场】 Rust1.50 最新改动讲解

嘉宾:张汉东

张汉东老师以一段 Rust 宏代码开启欢乐的 Rust 牛年春晚。随后汉东老师着重讲解了这次 Rust1.50 版本更新的主要内容。这次更新主要包括: 语言级特性编译器标准库稳定的 APICargo 相关其他兼容性提示几个方面。

查看回放

扩展资料

  1. 暖场代码
macro_rules! m {
    ($($s:stmt)*) => {
        $(
            { stringify!($s); 1 }
        )<<*
    };
}

fn main() {
    print!(
        "{}{}{}",
        m! { return || true },
        m! { (return) || true },
        m! { {return} || true },
    );
}
  1. Rust 1.50 稳定版发布解读
----------> Rust 牛年春晚 <----------

P2【5 点场】 Delay-Timer 分享

嘉宾:炮炮

Delay-Timer 是一个类似于管理周期性任务的库,目前支持同步、异步任务进行周期化交付,支持一些任务在调度过程中动态添加和动态提交任务的操作。炮炮老师分享了开发过程中的心路历程。

查看回放

扩展资料

  1. 暖场代码
fn main() {
    let a = 4;
    println!("{},{}", --a, --a);
}
  1. Delay-Timer
----------> Rust 牛年春晚 <----------

P3【5 点场】Libra 代码分析讲解

嘉宾:Shara

Libra Facebook 开发的一个 Rust 区块链项目,它的使命是为全球数十亿人建立一个简单的全球货币和金融基础设施。Share 老师分享了分析 Libra 代码的思路。

查看回放

扩展资料Libra

----------> Rust 牛年春晚 <----------

P4【6 点场】Rust 开发嵌入式烂苹果

嘉宾:王 Mono

王老师现场撸代码,使用 Rust 一步一步完成开发嵌入式烂苹果。

查看回放

扩展资料

  1. 暖场代码
trait Trait {
    fn f(self);
}

impl<T> Trait for fn(T) {
    fn f(self) {
        print!("1");
    }
}

impl<T> Trait for fn(&T) {
    fn f(self) {
        print!("2");
    }
}

fn main() {
    let a: fn(_) = |_: u8| {};
    let b: fn(_) = |_: &u8| {};
    let c: fn(&_) = |_: &u8| {};
    a.f();
    b.f();
    c.f();
}
  1. Longan 文档
----------> Rust 牛年春晚 <----------

P5【8 点场】来自 go 社区大佬的视角

嘉宾:云喝酒

Go 和 Rust 作为两门新生语言,Go 的开发者人数大约是 Rust 的64倍。几位来自 Go 社区大佬以不同的视角一起聊聊。

查看回放

扩展资料

  1. Cloubhouse
----------> Rust 牛年春晚 <----------

P6【9 点场】程序员的吉他课

嘉宾:MiskoLee

MiskoLee 老师现场教授弹吉他,妥妥的程序员吉他速成班。

查看回放

----------> Rust 牛年春晚 <----------

P7【9 点场】SNMP 项目介绍

嘉宾:Robin

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。Robin 老师分享 SNMP 在自己工作中实际应用。

查看回放

----------> Rust 牛年春晚 <----------

P8【10 点场】Maya-rs 分享

嘉宾:JungWoo

在 Maya 中运用 Rust 实现噪声效果的案例。原理:使用 Rust 调用 Python API,然后再将结果给到 Python API。

查看回放

扩展资料

  1. Maya PolyNoise
  2. Maya帮助
----------> Rust 牛年春晚 <----------

P9【10 点场】关于数据库研究和开发的一些话

嘉宾:金明剑

金明剑老师结合自己实际经验聊了聊对 Rust 的理解,既有深度又有广度。

查看回放

----------> Rust 牛年春晚 <----------

P10【11 点场】wasm 与 rust 及 vitejs-rs 分享

嘉宾:夏歌&lencx

夏歌老师根据自己整理的 WebAssembly 生态图,对其整体状况进行简单介绍。

Lencx 老师现场演示,通过一个标准的 Vite 脚手架开始项目,集成进 Rust,最后打包生成 Wasm 项目。

查看回放

扩展资料

  1. https://github.com/second-state/tencent-tensorflow-scf
  2. https://mtc.nofwl.com/tech/post/wasm-start.html#rust
  3. https://vitejs.dev/