前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】 2019-06-06:Bloom.sh - 推出了一套(目标是)比肩 Google 服务的平台

【Rust日报】 2019-06-06:Bloom.sh - 推出了一套(目标是)比肩 Google 服务的平台

作者头像
MikeLoveRust
发布2019-07-09 13:17:54
5560
发布2019-07-09 13:17:54
举报
文章被收录于专栏:Rust语言学习交流

OnceCell - 用于初始化全局变量的库

之前我们一直在用 lazy_static! 这个库和宏来初始化全局变量,现在不需要宏了。直接用 OnceCell 就可以,像下面这样:

代码语言:javascript
复制
use std::{env, io};
use once_cell::sync::OnceCell;

#[derive(Debug)]pub struct Logger {
    // ...
}
static INSTANCE: OnceCell<Logger> = OnceCell::new();

impl Logger {
    pub fn global() -> &'static Logger {
        INSTANCE.get().expect("logger is not initialized")
    }

    fn from_cli(args: env::Args) -> Result<Logger, std::io::Error> {
       // ...
#      Ok(Logger {})
    }
}

fn main() {
    let logger = Logger::from_cli(env::args()).unwrap();
    INSTANCE.set(logger).unwrap();
    // use `Logger::global()` from now on
}

全局变量这玩意儿,有时候还是有用的,方便,对于初始化一次并只读的情况,没有什么问题。

Repo

Bloom.sh - 推出了一套(目标是)比肩 Google 服务的平台

网站在这里 bloom.sh。作者野心很大啊。云平台,serverless, 存储,下载,笔记,通讯录,游戏,音乐,画册。。。

有这么大的能力?作者的背景来路不明。

整个平台由Rust语言支撑。在这个网站上线之前,作者已经重写过2次了,也就是说,目前这一版Rust是第三次实现。第一次实现是用Js写的,写出来性能太弱,受不了。然后作者就受Google的市场推销所鼓动,用go写了第二版,速度是提上去了,但是作者觉得go太弱了。很多地方,写起来,不好用,不易扩展。然后第三次,他尝试了Rust,发现Rust太令他热爱了。除了编译时间太长(CI/CD等耗费资源较大),其它真的找不出太多缺点。

构建这种大系统,Rust真是太适合不过了。

Read More Read More 2 Repo

Bzip2 要被 Rust 重写了

这个新闻前几天报道过,现在正式被国外新闻网站报道了。看起来事儿小,bzip2 是 Linux 环境相当基础的设施,所以意义还是蛮重大的。

Read More

Ferrous 系统公司提出要建立Rust更高级别的稳定发行版 Sealed Rust(密封 Rust)

这个版本的Rust(及其相关库生态)代码,特性要求更严格,专门用于安全敏感领域。比如,汽车电子、工业设备、机器人、医疗设备、航空电子等领域。这是系列文章,第一篇见下面。

Read More

使用Rust作为数据结构和算法的教程书要出版了

源码库

Rust in 区块链

Rust 在区块链中使用越来越多了,这里做了汇总,月更。另外,rustforce.net 上也有对相关的汇总。

Read More

fastuuid - 对 Rust 的UUID 的CPython封装。

给python用的。

Repo

kube-rs - k8s 的 Rust 客户端

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OnceCell - 用于初始化全局变量的库
  • Bloom.sh - 推出了一套(目标是)比肩 Google 服务的平台
  • Bzip2 要被 Rust 重写了
  • Ferrous 系统公司提出要建立Rust更高级别的稳定发行版 Sealed Rust(密封 Rust)
  • 使用Rust作为数据结构和算法的教程书要出版了
  • Rust in 区块链
  • fastuuid - 对 Rust 的UUID 的CPython封装。
  • kube-rs - k8s 的 Rust 客户端
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档