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 语言学习交流
领取专属 10元无门槛券
私享最新 技术干货