截至發稿,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/awaitTonic 是一個基於 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);
#[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))
}
}
目前支持: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語言學習交流