偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

五個(gè)很棒的(但鮮為人知的)Rust項(xiàng)目

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

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

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

Neon

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

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

Datafusion

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

圖片圖片

例如,你可以從任何對(duì)象存儲(chǔ)/ HTTP服務(wù)器中查詢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

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

AWS-LC-RS

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

由于Rust的高級(jí)特性與底層控制,沒有垃圾收集器,可移植性和易于嵌入,Rust是我們?nèi)〈?dāng)今最常用的加密庫(kù)的最佳選擇:OpenSSL, BoringSSL和libsodium,它們都是用C編寫的。

AWS-LC-RS是AWS的libcrypto的包裝器,libcrypto是由AWS密碼學(xué)團(tuán)隊(duì)為AWS及其客戶維護(hù)的通用加密庫(kù)。它支持大多數(shù)平臺(tái)(Linux、Windows、macOS、Android)和最常見的體系結(jié)構(gòu)(x86-64、aarch64)。

AWS-LC-RS非???,擁有你需要的所有原語(yǔ),有一個(gè)很好的API,并為最苛刻的行業(yè)提供fips驗(yàn)證模式。

Rustls

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

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

責(zé)任編輯:武曉燕 來源: coding到燈火闌珊
相關(guān)推薦

2022-10-10 12:53:33

Python模塊

2022-08-23 09:01:02

HTMLWeb

2024-05-07 00:00:00

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

2022-08-11 09:00:31

Audio APIWeb

2024-01-15 18:02:09

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

2022-06-23 10:17:00

Git技術(shù)Linux

2023-05-29 19:39:40

Bash腳本

2021-07-07 10:59:48

python代碼編程語(yǔ)言

2009-09-14 09:45:20

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

2023-04-23 15:11:26

2014-07-29 14:25:43

Unix命令

2019-10-08 16:24:33

Chrome瀏覽器

2017-11-08 14:55:16

Linux命令sudo

2010-01-07 10:05:51

IT顧問特質(zhì)

2019-12-12 20:49:05

JavaScript語(yǔ)言運(yùn)算符

2024-03-04 16:32:02

JavaScript運(yùn)算符

2013-07-15 09:14:00

2011-05-03 13:13:52

編程PHPJava

2014-04-22 16:38:12

GitHubGitHub 使用技巧

2024-11-05 08:00:00

數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)預(yù)處理Python
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)