【Rust日報】2019-10-03 rust-lang 主倉庫突破 10,0000 次 commit

2021-12-25 Rust語言中文社區
rust-lang 主倉庫突破 10,0000 次 commit

截至發稿,rust-lang/rust 主倉庫為 10,0006 次commit!!!

k8s 的 rust 客戶端

類似於 client-go 的客戶端,可以用 Rust 來編寫更高效的 Kubernetes 控制器!

在過去的幾個月裡,博主使用 Rust 中編寫了很多的 kubernets 專用代碼。儘管 Kubernetes 本身是用 Go 語言編寫的,但我發現我通常可以用 Rust 編寫更簡潔、可讀和穩定的 Kubernetes 代碼。例如,我最近在 Rust 和 Go 中編寫了功能相當的 CRD 控制器。Go 版本有 1700 多行代碼,並裝載了樣板文件和自動生成的代碼。而 Rust 版本只有127行!!!它更容易理解和調試…而且寫起來絕對更快。博文原文請看:http://technosophos.com/2019/08/07/writing-a-kubernetes-controller-in-rust.html

GitHub 倉庫地址:https://github.com/clux/kube-rs

了解更多請看 reddit 討論

Tonic: gRPC 將支持 async/await

Tonic 是一個基於 http/2 的 gRpc 實現,專注於高性能、互操作性和靈活性。Tonic 這個庫是為了提供對異步/等待的一流支持,並作為使用 Rust 編寫的生產系統的核心構建塊。

Tonic 的目標是提供更多開箱即用的工具。它已經支持許多特性,並計劃支持更多特性!以下是功能列表:

client 端示例:

let mut client = GreeterClient::connect("http://[::1]:50051")?;
let request = Request::new(HelloRequest {
name: "hello".into(),
});
let response = client.say_hello(request).await?;
println!("RESPONSE={:?}", response);

server 端示例

#[tonic::async_trait]
impl Greeter for MyGreeter {
async fn say_hello(&self, req: Request<HelloRequest>)
-> Result<Response<HelloReply>, Status>
{
println!("Got a request: {:?}", req);
let reply = HelloReply {
message: "Zomg, it works!".into(),
};
Ok(Response::new(reply))
}
}

micromath v0.4.0:快速、微型嵌入式的數學庫

目前支持:powf, exp, log10, log2, log, ln, trunc, fract, copysign,了解更多請查看:https://crates.io/crates/micromath/0.4.0

folia:處理 FoLiA XML 格式的高性能Rust庫

關鍵詞:nlp、xml、text-processing

這個庫目前處於 alpha 階段,它可能已經用於讀取 FoLiA 文檔和從頭創建文檔。注意,這個庫還沒有實現驗證!您必須通過運行另一個 FoLiA 驗證器來確保您的 FoLiA 文檔是有效的,因為這個庫還不能保證生成有效的 FoLiA。

使用示例,從文件中讀取並查詢所有單詞:

extern crate folia;

use folia;


let doc = folia::Document::from_file(filename, folia::DocumentProperties::default()).expect("parsing folia");

let query = folia::Query::select().element(folia::Cmp::Is(folia::ElementType::Word));

let selector = folia::Selector::from_query(&doc, &query);


for word in doc.select(selector, folia::Recursion::Always) {

println!("{}\t{}",
word.id().or(Some("No-ID")),
word.text(&folia::TextParameters::default())
);
}

了解更多請點擊查看

From 日報小組 @Jancd

日報訂閱地址:

獨立日報訂閱地址:

Telgram Channel

阿里雲語雀訂閱

Steemit

GitHub

社區學習交流平臺訂閱:

Rust.cc論壇: 支持rss

Rust Force: 支持rss

微信公眾號:Rust語言學習交流

相關焦點