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

使用 Hippo 進(jìn)入 WebAssembly

云計(jì)算 云原生 開(kāi)發(fā)工具
隨著新的 WebAssembly 工具迅速出現(xiàn),您需要一個(gè)可以試用它們的環(huán)境。

介紹 

WebAssembly是一項(xiàng)非常有前途的新技術(shù),微軟的云原生計(jì)算團(tuán)隊(duì)對(duì)其 Deis Labs 子公司和 Azure 都非常感興趣。隨著新的 WebAssembly 工具迅速出現(xiàn),您需要一個(gè)可以試用它們的環(huán)境。

這就是為什么 Deis Labs 發(fā)布其 新的 Hippo WebAssembly 平臺(tái) 如此重要的原因。就像 Deis 的許多工具一樣,它是一種快速安裝、管理和運(yùn)行WebAssembly(WASM) 代碼的方式,無(wú)論是瀏覽器托管還是獨(dú)立的 WebAssembly 系統(tǒng)接口 (WASI)。將其內(nèi)置通道與 Git 服務(wù)器結(jié)合使用,您可以在一個(gè)環(huán)境中制作和部署不同的版本,將生產(chǎn)、暫存和開(kāi)發(fā)構(gòu)建分開(kāi),同時(shí)仍然只需要一臺(tái) Hippo 服務(wù)器。

您可以在 Hippo 中托管多個(gè)應(yīng)用程序。WebAssembly 意味著默認(rèn)情況下它們是沙盒的,需要明確的權(quán)限才能訪問(wèn)主機(jī)系統(tǒng)或外部設(shè)備。您的代碼也是可移植的。一旦為 WebAssembly 編譯,它將在任何 WebAssembly 系統(tǒng)上運(yùn)行,無(wú)論是 Windows、Linux 或 macOS,還是 Intel、RISC-V 或 ARM。Hippo 為您提供了一種構(gòu)建一次、測(cè)試一次并在任何地方運(yùn)行代碼的方法。

在開(kāi)發(fā) PC 上設(shè)置 Hippo

盡管像 Hippo 這樣的工具非常適合云原生操作,但當(dāng)前的開(kāi)發(fā)人員版本僅在桌面系統(tǒng)上進(jìn)行了測(cè)試。我決定在運(yùn)行最新版本的 WSL2 并托管 Ubuntu 的 Windows PC 上試用它。Deis 提供了在本地運(yùn)行 Hippo 的說(shuō)明,以及macOS 和 Linux 系統(tǒng)的詳細(xì)信息。

在 WSL2 Ubuntu 20.04 LTS 系統(tǒng)上獲得運(yùn)行 Hippo 的先決條件存在一些問(wèn)題。首先,我需要安裝 WAGI,即 WebAssembly 應(yīng)用程序網(wǎng)關(guān)接口。這很容易安裝,在其 GitHub 存儲(chǔ)庫(kù)中托管的可下載 tarfile 中有一個(gè)二進(jìn)制文件。一旦下載、解壓并移動(dòng)到用戶(hù)二進(jìn)制目錄,它就可以輕松運(yùn)行。我借此機(jī)會(huì)安裝了 Rust,因?yàn)槿绻冶仨氈匦戮幾g任何 Deis 工具,我可能需要它。

這一步可能是 WSL2 上最困難的,因?yàn)樗枰环?nbsp;build-essential 工具包的副本。Ubuntu 20.04 沒(méi)有正確的依賴(lài)集,所以我需要一個(gè)替代的包安裝程序,它允許我將某些關(guān)鍵庫(kù)降級(jí)到適當(dāng)?shù)陌姹尽?/span>Stack Overflow 的回答向我指出 aptitude,這是 apt 的替代品,它允許您為安裝選擇適當(dāng)?shù)囊蕾?lài)項(xiàng)并允許它替換兩個(gè)低級(jí) C 庫(kù)。我終于使用它的安裝腳本安裝了 build-essential,為 Rust 做好準(zhǔn)備。

什么是綁定?

將 Rust 安裝為 Hippo 安裝的一部分的主要原因是為了Deis 的 WebAssembly 打包工具BindleBindle 被描述為“聚合對(duì)象存儲(chǔ)”系統(tǒng)。它的文檔使用的比喻是“Binder 是數(shù)字銀器抽屜”。我們的銀器抽屜里可能都有一些不同的物品,但我們都使用抽屜來(lái)分類(lèi)和存放銀器。Bindle 對(duì)構(gòu)成現(xiàn)代應(yīng)用程序的工件做了很多相同的事情,同時(shí)根據(jù)應(yīng)用程序的使用方式和使用位置,提供了對(duì)應(yīng)用程序如何組合的一定程度的理解。

推薦的白皮書(shū)

您可以擁有一個(gè)應(yīng)用程序的 Bindle 描述,其中包含在資源受限的邊緣主機(jī)(如 Raspberry Pi)上進(jìn)行稀疏安裝以及位于公共云核心的高性能服務(wù)器所需的元素。應(yīng)用程序主機(jī)中的 Bindle 客戶(hù)端可以獲取元素和依賴(lài)項(xiàng)并適當(dāng)?shù)夭渴鹚鼈儭=Y(jié)果是一個(gè)以應(yīng)用程序?yàn)橹行牡牟渴鹉P?,它避免了使用存?chǔ)庫(kù)和智能描述將正確的代碼交付到正確的環(huán)境的多次構(gòu)建。

安裝 Bindle 后,您可以運(yùn)行它,使用默認(rèn)設(shè)置設(shè)置本地 Bindle 服務(wù)器以供 Hippo 使用。接下來(lái),我安裝了Node.js的,使用由微軟提供的WSL說(shuō)明。這需要使用 curl 下載 nvm,然后運(yùn)行它以安裝最新和長(zhǎng)期支持的 node.js 版本。不要使用 Ubuntu 說(shuō)明來(lái)安裝節(jié)點(diǎn);他們使用snap 來(lái)安裝它,并且在 WSL2 中并沒(méi)有很好地支持 snap。

您需要為任何 Hippo 托管的 Rust WebAssembly 應(yīng)用程序安裝 Rust 的 wasm32-wasi 支持,以及 yo-wasm Yeoman 應(yīng)用程序腳手架工具。這將允許您將 Rust 代碼編譯為 WASI 目標(biāo),準(zhǔn)備在 Hippo 中運(yùn)行。

有了這些,我現(xiàn)在可以安裝 .NET 5,在安裝 .NET 5 SDK 和運(yùn)行時(shí)之前,首先設(shè)置對(duì) Microsoft 的 Debian 包存儲(chǔ)庫(kù)的支持。.NET 運(yùn)行時(shí)有 兩種選擇:一種支持 ASP.NET Core,另一種不支持。由于 Hippo 是一個(gè)模型-視圖-控制器 Web 應(yīng)用程序,您應(yīng)該使用 ASP.NET 版本的運(yùn)行時(shí)。

構(gòu)建和運(yùn)行 Hippo

一旦安裝了所有先決條件,您就可以構(gòu)建 Hippo。首先將 Hippo GitHub 存儲(chǔ)庫(kù)克隆到 WSL 系統(tǒng)的本地目錄中。安裝后,您可以構(gòu)建和運(yùn)行該應(yīng)用程序,通過(guò)添加 BINDLE_URL 環(huán)境變量將其指向您的本地 Bindle 服務(wù)器。此時(shí)最好安裝 Hippo 的 CLI,因?yàn)樗菓?yīng)用程序開(kāi)發(fā)和部署所必需的。

您現(xiàn)在可以連接到您的 Hippo 服務(wù)器以測(cè)試它是否正常工作。您應(yīng)該在 localhost 的 5001 端口上找到它。如果您正在運(yùn)行 WSL 2 的最新版本,您應(yīng)該能夠使用 localhost從 Windows 桌面瀏覽器連接到它,因?yàn)?nbsp;Microsoft 終于修復(fù)了 WSL 2 的一個(gè)長(zhǎng)期存在的問(wèn)題網(wǎng)絡(luò)問(wèn)題,通過(guò) Windows 代理其虛擬機(jī)網(wǎng)絡(luò),同時(shí)仍保留其自己的 IP 地址和虛擬網(wǎng)絡(luò)交換機(jī)。不再需要腳本來(lái)提取和共享網(wǎng)絡(luò)地址。

在連接到服務(wù)器之前,您需要注冊(cè)一個(gè)帳戶(hù)。由于它在本地運(yùn)行,您可以選擇您喜歡的任何帳戶(hù)詳細(xì)信息;只要確保它們是您能記住的東西,因?yàn)槟枰敿?xì)信息來(lái)構(gòu)建您的第一個(gè)應(yīng)用程序。創(chuàng)建帳戶(hù)后,登錄。您將被帶到帶有“創(chuàng)建新應(yīng)用程序”按鈕的“您的應(yīng)用程序”頁(yè)面。

創(chuàng)建您的第一個(gè) Hippo WebAssembly 應(yīng)用程序

雖然您可以從 Web UI 為 Hippo 構(gòu)建應(yīng)用程序,但現(xiàn)在使用命令行更容易。確保您已安裝 Hippo CLI,因?yàn)?/span> Yeoman 將使用它為您構(gòu)建應(yīng)用程序腳手架。在開(kāi)始之前,為您的 Hippo 帳戶(hù)和密碼及其端點(diǎn)設(shè)置環(huán)境變量。是的,這不是很好的安全實(shí)踐,但在這里我們只是使用尚未準(zhǔn)備好用于生產(chǎn)的軟件在隔離的 PC 上構(gòu)建和運(yùn)行測(cè)試代碼。

要構(gòu)建一個(gè)基本的 hello world 應(yīng)用程序,請(qǐng)使用 yo-wasm 工具構(gòu)建一個(gè) WebAssembly Rust 應(yīng)用程序。如果您按照腳本操作并輸入適當(dāng)?shù)闹?,這將構(gòu)建源代碼并將其加載到您的 Hippo 服務(wù)器中。接下來(lái)使用 Rust 貨物工具來(lái)編譯和測(cè)試您的 WASI 應(yīng)用程序。在命令行上運(yùn)行它后,您可以使用 Hippo 的 CLI 工具將其推送到 Bindle,在那里它將在Hippo 中可見(jiàn)。打開(kāi)項(xiàng)目,選擇您構(gòu)建的開(kāi)發(fā)環(huán)境,然后單擊鏈接以運(yùn)行您的代碼。

河馬有很多值得喜歡的地方。如果 WebAssembly 缺少一件事,它是一個(gè)有效的類(lèi)似 Heroku 的游樂(lè)場(chǎng),可以幫助您入門(mén)。Hippo 可能還不是那個(gè)游樂(lè)場(chǎng),但它肯定是您現(xiàn)在可以將其用作您自己的開(kāi)發(fā)工作流程的一部分,即使在其早期階段也是如此。能夠在開(kāi)發(fā) PC 上運(yùn)行它是一個(gè)額外的優(yōu)勢(shì),因?yàn)椴恍枰蕾?lài)第三方系統(tǒng)。它的影響足夠低,可以作為 WSL 2 環(huán)境的一部分運(yùn)行,因此您可以利用 VisualStudio Code 等工具,使用其遠(yuǎn)程開(kāi)發(fā)功能從 Windows 編輯 WSL 中的 Rust 代碼。

如果您對(duì) WebAssembly 感興趣,Hippo 很可能是您入門(mén)所需的工具。它使使用 WebAssembly 代碼變得更簡(jiǎn)單,將運(yùn)行開(kāi)發(fā)所需的許多不同部分集中到一個(gè)地方。盡管它顯然仍然是一個(gè)早期版本,但這里有足夠的內(nèi)容讓您入門(mén),使其成為任何使用WebAssembly的人的必備工具。

責(zé)任編輯:姜華 來(lái)源: 新鈦云服
相關(guān)推薦

2021-12-28 07:20:43

Hippo WebAssembly云原生

2023-12-12 07:30:54

IstioWasm前端

2022-08-15 06:00:00

二進(jìn)制編程語(yǔ)言

2023-05-05 17:20:04

2021-12-27 10:46:07

WebAPIserver簽名

2017-03-19 22:13:10

WebAssemblyJavaScript編程

2023-01-31 09:02:24

JSVMVR

2022-10-28 16:57:18

DockerWasm

2023-12-10 16:48:00

Wasm瀏覽器

2021-08-18 08:00:00

Emscripten開(kāi)發(fā)技術(shù)

2023-10-27 10:16:17

前端項(xiàng)目Rust

2017-03-19 20:41:57

WebAssemblyJavaScript編程

2017-03-19 22:43:12

WebAssemblyJavaScript編程

2020-10-26 14:32:39

AI 數(shù)據(jù)模型

2023-03-27 13:25:18

WebAssembl語(yǔ)言Scheme

2021-06-11 09:00:00

語(yǔ)言WebWebAssembly

2022-05-16 10:25:03

Web內(nèi)部垃圾收集安全性

2022-06-15 12:48:14

WebAssemblDockerKubernetes

2020-11-03 08:12:20

WebAssemblyAPI

2021-11-07 22:21:18

動(dòng)態(tài)線程池架構(gòu)Hippo4J
點(diǎn)贊
收藏

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