【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のみが欠けているため、Fullstop 000はwickdbを1つ削除した
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セキュリティ応答ワークグループは影響について最近気づいた.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言語学習交流