Reunalaskenta Cloudflare Workersilla ja Denolla · Oppitunti

Mukautetut ajonaikaiset ympäristöt

Ymmärrä mukautettujen ajonaikaisten ympäristöjen ja erikoistuneiden Deno-julkaisujen mahdollisuudet reunalla

Oppitunti 2/412 vaihetta

Mukautetut ajonaikaiset ympäristöt on ilmainen Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Reunalaskenta Cloudflare Workersilla ja Denolla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Reunalaskenta Cloudflare Workersilla ja Denolla-kurssilla on yhteensä 4 oppituntia.

Johdatus mukautettuihin suoritusympäristöihin

Tervetuloa! Tänään tutustumme mukautettuihin suoritusympäristöihin ja erikoistuneisiin Deno-julkaisuihin reunalla.

Mukautetun suoritusympäristön avulla voitte räätälöidä koodinne suoritusympäristön. Tavallisen, valmiiksi määritetyn palvelimettoman suoritusympäristön sijaan voitte määrittää tietyt versiot, riippuvuudet tai jopa kokonaan eri ohjelmointikielet.

Reunalla tämä tarkoittaa parempaa hallintaa siihen, miten koodinne suoritetaan lähellä käyttäjiä, mikä voi avata uusia suorituskyky- ja toiminnallisuusmahdollisuuksia.

Miksi mukauttaa reunalla?

Miksi tarvitsisitte mukautetun suoritusympäristön?

  • Erikoistuneet kirjastot: Käyttäkää natiivikirjastoja tai tiettyjä versioita, joita tavallisissa suoritusympäristöissä ei ole saatavilla.
  • Suorituskyky: Optimoikaa ympäristö tiettyihin kuormituksiin, kuten vaativaan laskentaan tai tietojenkäsittelyyn, käyttämällä erittäin tehokkaita kieliä tai mukautettuja binäärejä.
  • Resurssien hallinta: Hienosäätäkää muistin, suorittimen tai verkon käyttöä tiettyjä reunalaitteita varten.
  • Erikoiset ohjelmointikielet: Suorittakaa JavaScriptin/TypeScriptin sijaan muilla kielillä kirjoitettua koodia, joka käännetään usein WebAssemblyksi.

Deno mukauttamisen mahdollistajana

Deno on suunniteltu erityisen hyvin mukautettuihin reuna-ympäristöihin:

  • Yksi suoritettava tiedosto: Deno itsessään on yksi itsenäinen suoritettava tiedosto, joka on helppo julkaista tai upottaa.
  • Ei node_modules-hakemistoa: URL-osoitteisiin perustuva moduulijärjestelmä välttää monimutkaiset riippuvuuspuut ja yksinkertaistaa mukautettuja koonteja.
  • Selkeät käyttöoikeudet: Tiedostojärjestelmän, verkon ja ympäristön käytön tarkka hallinta mahdollistaa turvalliset ja suppeat julkaisut.
  • Sisäänrakennetut työkalut: deno compile -työkalun kaltaiset työkalut auttavat luomaan itsenäisiä binäärejä.

WebAssemblyn (Wasm) yleiskatsaus

WebAssembly (Wasm) on keskeinen teknologia mukautetuissa suoritusympäristöissä. Se on matalan tason binäärinen käskyformaatti, jota käytetään nykyaikaisissa verkkoselaimissa ja yhä useammin myös Cloudflare Workersin kaltaisilla palvelimettomilla alustoilla.

Wasm toimii monien kielten, kuten Rustin, C++:n, Gon ja AssemblyScriptin, käännöskohteena. Näin voitte kirjoittaa tehokasta koodia ja suorittaa sitä turvallisesti ja siirrettävästi eri ympäristöissä, myös reunalla.

Wasm-moduulien lataaminen Denolla

Denossa on sisäänrakennettu WebAssembly-tuki, jonka ansiosta voitte ladata ja suorittaa Wasm-moduuleja suoraan Deno-sovelluksissa. Tämä laajentaa Denon mahdollisuuksia huomattavasti JavaScriptin/TypeScriptin ulkopuolelle.

Tässä on yksinkertainen Deno-komentosarja, joka lataa ja suorittaa pienen kahden luvun yhteenlaskuun suunnitellun Wasm-moduulin:

const wasmCode = new Uint8Array([
  0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00,
  0x01, 0x07, 0x01, 0x60, 0x02, 0x7f, 0x7f, 0x01,
  0x7f, 0x03, 0x02, 0x01, 0x00, 0x07, 0x07, 0x01,
  0x03, 0x61, 0x64, 0x64, 0x00, 0x00, 0x0a, 0x09,
  0x01, 0x07, 0x00, 0x20, 0x00, 0x20, 0x01, 0x6a,
  0x0b
]); // This Wasm adds two i32 numbers

async function runWasm() {
  const { instance } = await WebAssembly.instantiate(wasmCode);
  const addResult = instance.exports.add(5, 7);
  console.log(`Wasm add(5, 7) = ${addResult}`);
}

runWasm();

Wasm reunalaskenta-alustoilla

Cloudflare Workersin kaltaiset reunalaskenta-alustat hyödyntävät WebAssemblya. Rustilla, C++:lla tai Golla kirjoitetun koodin voi kääntää Wasmiksi ja julkaista Workerinä.

Tämän ansiosta voitte hyödyntää olemassa olevia koodikantoja, saavuttaa lähes natiivin suorituskyvyn ja käyttää tiettyjen kielten ominaisuuksia, joita JavaScriptissä ei ehkä ole tai joiden käyttö siinä ei ole tehokasta. Tämä on tehokas tapa luoda erittäin optimoituja reunafunktioita.

Erikoistuneet Deno-julkaisut

Vaikka Deno Deploy tarjoaa erinomaisen hallinnoidun palvelun, joissakin tilanteissa tarvitaan erikoistuneita Deno-julkaisuja:

  • Deno itse ylläpidetyssä ympäristössä: Denon suorittaminen omassa infrastruktuurissa, jolloin ympäristöä voi hallita täysin.
  • Sulautetut järjestelmät: Denon julkaiseminen rajallisten resurssien reunalaitteissa, joilla on erityisiä laitteistovaatimuksia.
  • Mukautetut Deno-koonnit: Denon kääntäminen lähdekoodista siten, että tietyt ominaisuudet otetaan käyttöön tai poistetaan käytöstä erityistarpeiden, kuten mukautettujen natiivilaajennusten integroinnin tai binäärin koon pienentämisen, mukaan.

Mukautettujen Deno-suoritusympäristöjen rakentaminen

Todella mukautettuja Deno-ympäristöjä varten voitte kääntää Denon lähdekoodista. Tämä edistynyt tekniikka mahdollistaa seuraavat asiat:

  • Tiettyjen Rust-crate-pakettien (kirjastojen) sisällyttäminen suoraan Deno-binääriin.
  • Tarpeettomien ominaisuuksien poistaminen pienemmän ja tarkemmin kohdennetun suoritusympäristön luomiseksi.
  • Standardien Deno-julkaisujen virallisesti tukemattomien arkkitehtuurien tai käyttöjärjestelmien kohdentaminen.

Tämä lähestymistapa on tarkoitettu erittäin erikoistuneisiin käyttötapauksiin, joissa suoritusympäristön täydellinen hallinta on ensiarvoisen tärkeää.

Deno Compile reunasuoritettavia tiedostoja varten

Denon deno compile -komennolla voitte luoda Deno-komentosarjasta itsenäisen suoritettavan tiedoston. Tämä tiedosto sisältää Deno-suoritusympäristön ja sovelluskoodinne, joten se on siirrettävä.

Vaikka käännetty Deno-sovellus ei itsessään ole ”suoritusympäristö”, se on erittäin erikoistunut Deno-julkaisu. Se sopii erinomaisesti reunalaitteille, jotka tarvitsevat itsenäisiä yhden tiedoston sovelluksia ilman erillistä Deno-asennusta.

console.log("Hello from a Deno compiled app!");

if (Deno.args.length > 0) {
  console.log(`Arguments received: ${Deno.args.join(", ")}`);
}

// To compile this:
// deno compile --allow-read --allow-env my_app.ts

Hyötyjen yhteenveto

Mukautetut suoritusympäristöt ja erikoistuneet Deno-julkaisut tarjoavat edistyneille reunasovelluksille merkittäviä hyötyjä:

  • Parempi suorituskyky: Hyödyntäkää Wasmia tai optimoitua natiivikoodia.
  • Suurempi joustavuus: Käyttäkää laajempaa valikoimaa ohjelmointikieliä ja kirjastoja.
  • Resurssitehokkuus: Räätälöikää ympäristö tietyn laitteiston tai muistin rajoitusten mukaan.
  • Turvallisuus: Hienosäätäkää käyttöoikeuksia ja eristystä.

Näiden strategioiden avulla voitte laajentaa reunalla mahdollisen rajoja.

Testaa ymmärryksesi

Mitkä seuraavista ovat keskeisiä syitä tai mahdollisuuksia, jotka mukautetut suoritusympäristöt tai erikoistuneet Deno-julkaisut mahdollistavat reunalla?

Kertaus: mukautetut reunasuoritusympäristöt

Tässä oppitunnissa tutustuimme mukautettujen suoritusympäristöjen käsitteeseen ja reunasovellusten erikoistuneisiin Deno-julkaisuihin.

  • Näimme, kuinka mukautetut suoritusympäristöt tarjoavat poikkeuksellisen hallinnan ja mahdollistavat tietyt kirjastot, suorituskykyoptimoinnit ja erikoisten ohjelmointikielten tuen.
  • Opimme, että WebAssembly (Wasm) on keskeinen teknologia tehokkaan muun kuin JS-koodin suorittamiseen reunalla sekä sen, miten Deno voi toimia sen kanssa.
  • Lopuksi käsittelimme erikoistuneiden Deno-julkaisujen käyttötapauksia, kuten itse ylläpidettyä käyttöä ja itsenäisten suoritettavien tiedostojen luomista komennolla deno compile.

Näiden edistyneiden strategioiden avulla voitte rakentaa erittäin tehokkaita ja joustavia reunaratkaisuja!

Aloita maksutta

Opi Reunalaskenta Cloudflare Workersilla ja Denolla tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
47

Usein kysytyt kysymykset

Onko oppitunti ”Mukautetut ajonaikaiset ympäristöt” ilmainen?

Kyllä – oppitunnin ”Mukautetut ajonaikaiset ympäristöt” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Reunalaskenta Cloudflare Workersilla ja Denolla-kurssin, päivitä CoddyKit PROhon. Reunalaskenta Cloudflare Workersilla ja Denolla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Mukautetut ajonaikaiset ympäristöt”?

Ymmärrä mukautettujen ajonaikaisten ympäristöjen ja erikoistuneiden Deno-julkaisujen mahdollisuudet reunalla Harjoittelet Reunalaskenta Cloudflare Workersilla ja Denolla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Reunalaskenta Cloudflare Workersilla ja Denolla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Reunalaskenta Cloudflare Workersilla ja Denolla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Mukautetut ajonaikaiset ympäristöt”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunnilla?

Kyllä. Jokainen Reunalaskenta Cloudflare Workersilla ja Denolla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Deno Deploy ja CLI
  2. Mukautetut ajonaikaiset ympäristöt
  3. Testaus ja CI/CD reunalla
  4. Blue-green-käyttöönotot ja asteittaiset julkaisut
← Takaisin: Reunalaskenta Cloudflare Workersilla ja Denolla