首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Rust日报】2020-07-15 用Rust重写FORTRAN科学软件

chubaodb:分布式高可用的云原生,同时支持传统的分布式文档搜索及存储系统

chubaodb 是一个分布式高可用的云原生,同时支持传统的分布式文档搜索及存储系统,支持全文检索,聚合查询,向量搜索,标量搜索的功能,采用轻schema策略,尽可能提高了存储文档的灵活度。同时吸取其他类似软件的经验,初心于在有限的计算节点情况下,支持不限容量的存储及计算,同时尽可能低的学习成本,完成尽可能多的需求。

https://chubaofs.github.io/chubaodb/zh-CN/introduction.html

用Rust写的LSM-tree based 存储引擎

Rust项目中如果想用存储引擎的话主要是用rust-rocksdb或者Sled,前者是FFI调RocksDB后者是Bw树实现,唯独缺了原生的LSM-tree based实现,因此Fullstop000撸了一个wickdb

https://github.com/Fullstop000/wickdb

pre: 提供对unsafe代码的编译检查帮助

可以把它看成 safety-guard crate 和 safe crate的结合。比如,如果你的代码是像这样的:

fn init_foo() {

/* ... */

}

/// # Safety

///

/// `init_foo` must be called before you can call `use_foo`.

unsafe fn use_foo() {

/* ... */

}

fn main() {

init_foo();

unsafe {

// Safety: This is safe, because `init_foo` was called first.

use_foo();

}

}

用了 pre 的话就可以重写为这样:

fn init_foo() {

/* ... */

}

use pre::pre;

#[pre("is only called after `init_foo` was called")]

unsafe fn use_foo() {

/* ... */

}

#[pre]

fn main() {

init_foo();

unsafe {

#[assure(

"is only called after `init_foo` was called",

reason = "`init_foo` was called first"

)]

use_foo();

}

}

nightly rustdoc 现已提供 Ayu theme

点击查看: https://doc.rust-lang.org/nightly/std/

项目地址: https://github.com/Cldfire/ayu-rs

用Rust重写FORTRAN科学软件

博客地址: https://mckeogh.tech/post/shallow-water/

项目地址: https://github.com/rse-standrewscs/shallow-water

cargo-single : 更方便地构建单文件项目

作者认为对于一些比较小的程序,虽然cargo也不算重,但还是有点不够轻,所以就写了这个cargo-single。作为一个cargo子命令可以更快地创建较小的文件项目。

比如下面程序需要用到 rand crate:

// rand = "0.7"

use rand::Rng;

fn main() {

println!("{}", rand::thread_rng().gen_range(1, 11));

}

就可以把它存为 random.rs 然后用下列命令运行:

cargo single run random.rs

https://crates.io/crates/cargo-single

Rust 安全通告

最近Rust安全响应工作组最近注意到了有关影响crates.io Web应用程序中令牌生成的安全问题,并且在调查该问题时,我们发现了另一个影响crates.io API令牌的漏洞。

没有证据表明这是被别人利用的,但是出于谨慎的考虑,工作组选择撤销所有现有的API密钥。用户可以在crates.io/me上生成一个新的。

https://blog.rust-lang.org/2020/07/14/crates-io-security-advisory.html

From 日报小组 挺肥

社区学习交流平台订阅:

Rust.cc 论坛: 支持 rss

微信公众号:Rust 语言学习交流

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200715A0WD6N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券