En este artículo, describiremos qué hacer para crear su primer código WebAssemly.
Supongamos que ya ha escuchado algo sobre WebAssembly, pero aún no ha escrito su primer código con esta tecnología.
Por ahora, vamos a hacer un paquete de inicio simple. Elegí la combinación con el lenguaje de programación Rust porque es atractivo.
Sin más preámbulos, hagámoslo.
Rust: lenguaje de programación multiparadigma, de alto nivel y de propósito general (https://www.rust-lang.org/)
Cargo: la herramienta de compilación Rust y el administrador de paquetes (https://crates.io/)
cargo init --name rust_wasm_starter --lib
# Cargo.toml
[package]
name = "rust_wasm_starter"
version = "0.1.0"
edition = "2021"
[dependencies]
cargo add wasm-bindgen
# Cargo.toml
[package]
name = "rust_wasm_starter"
version = "0.1.0"
edition = "2021"
[dependencies]
wasm-bindgen = "0.2.84"
cargo install wasm-pack
[lib]
crate-type = ["cdylib", "rlib"]
use wasm_bindgen::prelude::wasm_bindgen;
#[wasm_bindgen]
pub fn add(a: usize, b: usize) -> usize {
return a + b
}
wasm-pack build --release --target web
npm init
// package.json
{
"name": "rust-wasm-starter",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {},
"author": "",
"license": "ISC"
}
npm i http-server --save
"scripts": {
"start": "http-server -a localhost -p 5200",
"build": "wasm-pack build --release --target web"
}
import init from "./pkg/rust_wasm_starter.js";
import {add} from "../pkg/rust_wasm_starter.js";
function run() {
console.log(add(5, 5));
}
init().then(run)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Rust Wasm Starter</title>
<script type="module" src="./index.js"></script>
</head>
<body>
See the result in the console.
</body>
</html>
npm run start
Starting up http-server, serving ./
http-server version: 14.1.1
CORS: disabled
Cache: 3600 seconds
Connection Timeout: 120 seconds
Directory Listings: visible
AutoIndex: visible
Serve GZIP Files: false
Serve Brotli Files: false
Default File Extension: none
Available on:
http://localhost:5200
Hit CTRL-C to stop the server
Si tiene problemas para poner en marcha el proyecto, intente consultar mi repositorio de GitHub
Embárcate en un emocionante viaje de innovación y éxito mientras aprovechas el potencial sin explotar de estas sorprendentes plataformas sin código. Permítame compartir con usted una historia sobre Sapna, una notable mujer empresaria.
Esta semana, recibí un correo electrónico de un miembro de la lista de correo electrónico diaria. Querían saber: ¿Qué recursos visita diariamente, semanalmente y mensualmente? ¡Gran pregunta! Estoy feliz de intentar compartir algunas ideas sobre mi flujo de trabajo y los principales recursos que uso.
Puede ser un investigador de OSINT, un jugador de CTF o simplemente alguien que recibe llamadas no deseadas. Alguien que está tratando de verificar el número que viste en un anuncio.
La semana pasada noté un comunicado de prensa, enviado a través de PressGazette (un sitio web de noticias de los medios británicos). El artículo anunciaba que Acast, la empresa de publicidad y alojamiento de podcasts de Scandi, lideraría un consorcio de editores "probablemente los más influyentes" en podcasting.
¡Hola, entusiastas cibernéticos! Bienvenido de nuevo a la serie OSINT para la caza de amenazas. En el primer artículo, le di una descripción general de OSINT y su importancia en la caza de amenazas.
Hace poco estuve en Linkedin, la red social profesional más grande del mundo, y encontré publicaciones de diseñadores independientes a los que sigo que me llamaron la atención. Todos publicaron fotos desde aviones, en la playa con sus computadoras portátiles, desde piscinas y oficinas con vistas increíbles.