自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五個很棒的(但鮮為人知的)Rust項目

開發(fā) 項目管理
TLS協(xié)議無處不在!無論你是在網(wǎng)頁瀏覽器、電子郵件客戶端還是移動應用程序中閱讀,至少有六個TLS連接為你提供這些內容。最常用的庫(OpenSSL和BoringSSL)是用C編寫的,這導致了許多與內存相關的問題。不幸的是,它也是一個相當復雜的協(xié)議,因此構建一個新的庫需要大量的努力。

雖然你可能已經聽說過像Tauri, Deno或Helix這樣的優(yōu)秀項目,但它們都是可以直接使用的“成品”,所以它們很容易獲得認可。

隨著Rust成為構建底層基礎設施事實上的語言,把不太知名的項目放在聚光燈下是很重要的,這些項目將為我們的數(shù)字世界提供快速、安全和可靠的構建塊。

Neon

Neon通過讓PostgreSQL數(shù)據(jù)平臺(是的,PostgreSQL不僅僅是一個數(shù)據(jù)庫)使用兼容s3的存儲作為后端,重新定義了數(shù)據(jù)庫世界。

雖然它使Postgres的單片架構變得復雜,但它也解決了許多問題:read-replicas現(xiàn)在使用單一的數(shù)據(jù)源而不是容易出錯的復制,我們不再需要使用緩慢而昂貴的網(wǎng)絡存儲(如AWS的EBS)來獲得高可用性的數(shù)據(jù)庫,數(shù)據(jù)庫的升級/降級現(xiàn)在只是生成一個新的容器/microVM的問題,不需要做任何復制。

Datafusion

在過去的數(shù)據(jù)系統(tǒng)中,我們看到了不同層的分離:查詢引擎、內存表示和存儲。Datafusion是一個新的高性能和可擴展的查詢引擎,它允許數(shù)據(jù)工程師使用Rust/Python的高級接口直接查詢數(shù)據(jù)源,或者使用它作為查詢層來構建數(shù)據(jù)系統(tǒng),以構建和優(yōu)化查詢任務。它已經支持了許多令人印象深刻的項目,如InfluxDB、GreptimeDB和paradeDB。

圖片圖片

例如,你可以從任何對象存儲/ HTTP服務器中查詢CSV或parquet文件,只需幾行代碼:

use datafusion::prelude::*;
use object_store::http::HttpBuilder;
use std::sync::Arc;
use url::Url;

#[tokio::main]
async fn main() -> Result<()> {
    let ctx = SessionContext::new();

    let base_url = Url::parse("https://github.com").unwrap();
    let http_store = HttpBuilder::new()
        .with_url(base_url.clone())
        .build()
        .unwrap();
    ctx.register_object_store(&base_url, Arc::new(http_store));

    ctx.register_csv(
        "aggregate_test_100",
        "https://github.com/apache/arrow-testing/raw/master/data/csv/aggregate_test_100.csv",
        CsvReadOptions::new(),
    )
    .await?;

    let df = ctx
        .sql("SELECT c1,c2,c3 FROM aggregate_test_100 LIMIT 5")
        .await?;

    df.show().await?;

    Ok(())
}

PGRX

正如我們在Neon中看到的,PostgresSQL不再是一個簡單的數(shù)據(jù)庫了。它已經成為一個“數(shù)據(jù)內核”,管理如何存儲和查詢數(shù)據(jù),就像Linux是一個“計算內核”,管理進程和資源一樣。因此,開發(fā)人員不滿足于用c語言構建擴展是很自然的。有了pgrx,問題就解決了,我們現(xiàn)在可以用Rust構建快速、安全、可靠的Postgres擴展。

AWS-LC-RS

根據(jù)一項加密庫漏洞的實證研究,加密庫中37.2%的漏洞是內存安全問題,而只有27.2%是加密問題?,F(xiàn)在是時候不再把C作為實現(xiàn)加密庫的實際語言了。

由于Rust的高級特性與底層控制,沒有垃圾收集器,可移植性和易于嵌入,Rust是我們取代當今最常用的加密庫的最佳選擇:OpenSSL, BoringSSL和libsodium,它們都是用C編寫的。

AWS-LC-RS是AWS的libcrypto的包裝器,libcrypto是由AWS密碼學團隊為AWS及其客戶維護的通用加密庫。它支持大多數(shù)平臺(Linux、Windows、macOS、Android)和最常見的體系結構(x86-64、aarch64)。

AWS-LC-RS非??欤瑩碛心阈枰乃性Z,有一個很好的API,并為最苛刻的行業(yè)提供fips驗證模式。

Rustls

TLS協(xié)議無處不在!無論你是在網(wǎng)頁瀏覽器、電子郵件客戶端還是移動應用程序中閱讀,至少有六個TLS連接為你提供這些內容。最常用的庫(OpenSSL和BoringSSL)是用C編寫的,這導致了許多與內存相關的問題。不幸的是,它也是一個相當復雜的協(xié)議,因此構建一個新的庫需要大量的努力。

Rustls是可用于生產的TLS在Rust中的實現(xiàn),比它的C對應物更快更安全。它的強大之處在于它不局限于Rust,它也可以在任何帶有rustls-ffi的語言中使用,所以可以期待其他語言(如C、C++、Python和Ruby)的項目都能采用它。

責任編輯:武曉燕 來源: coding到燈火闌珊
相關推薦

2022-10-10 12:53:33

Python模塊

2022-08-23 09:01:02

HTMLWeb

2024-05-07 00:00:00

工具類開發(fā)者功能

2024-01-15 18:02:09

docker系統(tǒng)文件格式

2022-08-11 09:00:31

Audio APIWeb

2023-05-29 19:39:40

Bash腳本

2022-06-23 10:17:00

Git技術Linux

2009-09-14 09:45:20

Chrome谷歌操作系統(tǒng)

2014-07-29 14:25:43

Unix命令

2019-10-08 16:24:33

Chrome瀏覽器

2023-04-23 15:11:26

2021-07-07 10:59:48

python代碼編程語言

2017-11-08 14:55:16

Linux命令sudo

2010-01-07 10:05:51

IT顧問特質

2019-12-12 20:49:05

JavaScript語言運算符

2013-07-15 09:14:00

2024-03-04 16:32:02

JavaScript運算符

2011-05-03 13:13:52

編程PHPJava

2024-11-05 08:00:00

數(shù)據(jù)轉換數(shù)據(jù)預處理Python

2014-04-22 16:38:12

GitHubGitHub 使用技巧
點贊
收藏

51CTO技術棧公眾號