Google对25名Rust开源贡献者做出奖励
Rust 是系统级编程语言,重点关注内存安全。Google 在一些项目中使用了 Rust:包括 Android、Fuchsia 和 ICU4X;并一直参与在 Linux 内核中评估 Rust 的工作。Google 也是 Rust 基金会的创始成员。
部分列表(经允许)如下:
Winner
Project
antoyo
For work on rustc_codegen_gcc
Asherah Connor
For maintaining comrak
David Hewitt
For maintaining PyO3
Dirkjan Ochtman
For maintaining rustls and quinn
Frank Denis
For maintaining rust-ed25519-compact
Gary Guo
For maintaining Rust for Linux
Jack Grigg
For integrating RustCrypto into Fuchsia
Jack Huey
For highly involved rust compiler work fixing a large number of crashes around higher-kinded types.
Joe Birr-Pixton
For building rustls
Joshua Nelson
For improving the developer workflow for contributing to Rust itself
Lokathor
For creating tinyvec and bytemuck
Mara Bos
For work on the Rust Libraries Team and the 2021 Rust Edition
Nikita Popov
For maintaining the Rust compiler’s LLVM backend
Pietro Albini
For maintaining crucial Rust infrastructure and working on the Rust core team
Ricky Hosfelt
For maintaining cargo-outdated
Sébastien Crozet
For creating dimforge
Simonas Kazlauskas
For maintaining the Rust compiler’s LLVM backend
找了几次,没在原文中找到到底奖了啥;)不过,Google Open Source Peer Bonus 主页有:一张预付借记卡和一封奖励信 :D
另外,社区成员说 Gary Guo 大佬是中国人~
地址:https://opensource.googleblog.com/2022/03/Rewarding-Rust-contributors-with-Google-Open-Source-Peer-Bonuses.html
Rust移动开发与跨平台模式探究
社区张汉东老师关于 Rust 在移动开发和跨平台模式方面的探究,大纲如下:
- Rust 语言 对 iOS 和 Android 平台支持状态
- Rust 用于移动开发的几种方式
- Android 官方支持 Rust 的方式
- 给 Apple 的一封公开信:请用 Rust 替换 Objective-C
地址:https://zhuanlan.zhihu.com/p/484269271
bombs:单生产者多消费者通信类型
其中 Fuse 是生产者,Bomb 是消费者。
使用指南:
// Create a new fuse and bomb pair.
let (fuse, bomb) = Bomb::new();
// Clone `bomb` into thread.
let bomb_clone = bomb.clone();
thread::spawn(move || {
loop {
// Do some stuff...
if let Some(_) = bomb_clone.exploded() {
// Received close signal, break.
// Clean up data values...
break;
}
}
});
// Create another thread.
// Move original `bomb` into thread.
thread::spawn(move || {
loop {
// Do some other stuff...
if let Some(_) = bomb.exploded() {
// Received close signal, break.
// Clean up data values...
break;
}
}
});
// Do some different stuff...
// Send close signal.
let fire = fuse.light(());
// Wait for all inner threads to close safely (checked by `Bomb` drop).
while !fire.extinguished() { }
// Now safely quit the program.
GitHub:https://gitlab.com/nebneb0703/bombs
用Rust写个语言
使用 Rust 和 LALRPOP 从头开始实现一个 C 风格架构的编程语言。
视频:https://www.youtube.com/watch?v=OynJIFEsf3o
GitHub:https://github.com/eZanmoto/norpl
使用 Rust 实现 Brainfuck 语言。
Brainfuck 是 Urban Müller 于 1993 年创建的一种极简、深奥的编程语言。该语言以其极简主义著称,仅包含八个简单的命令、一个数据指针和一个指令指针。虽然它是完全图灵完备的,但它并不是为了实际使用,而是为了挑战和娱乐程序员。——来自维基百科
Brainfuck 的 Hello World 是这样的:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
小编内心 OS:谁吃饱了撑的没事干搞这个^_^
地址:https://rtoch.com/posts/brainfuck-interpreter-implementation-part-1/
GitHub:https://github.com/CrazyRoka/brainfuck-interpreter
num2words:数字转文本
一个阿拉伯数字转自然语言的小工具。使用方法:
use num2words::num2words;
assert_eq!(num2words!(42), Ok(String::from("forty-two")));
也可以在命令行使用:
$ num2words 42
forty-two
$ num2words 10 --to EUR
ten euros
GitHub:https://github.com/Ballasi/num2words/
rust_android_ios寻找维护者
项目通过使用共享库来防止代码重复,保持完全原生的 UI 体验和对平台最新 API 的简单访问。它也非常灵活,允许在不同平台之间轻松迁移,包括传统的跨平台框架,如 Flutter 或 React Native。例如,您可以使用 Rust+React Native 或 Rust+Flutter 开发您的 MVP,然后迁移到原生 iOS/Android,而无需重写所有内容。您甚至可以使用 WebAssembly 或桌面应用程序将您的核心重用于 Web 应用程序(同样,您可以使用本机或跨平台框架,如 Electron)。
如果你有意向,可以在项目上开个 Issue,或给作者发邮件:mailto:ivanhp978@gmail.com
GitHub:https://github.com/ivanschuetz/rust_android_ios
社区学习交流平台订阅:
- Rustcc 论坛:支持 rss
- 微信公众号:Rust 语言中文社区