Bun JavaScript āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ C-āϤ⧇ āĻ•āϞāĻŋāĻ‚ āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āϝ⧋āĻ— āĻ•āϰ⧇āϛ⧇

āĻŦāĻžāύ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ, Node.js-āĻāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻ•āĻļāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ, JSX āĻāĻŦāĻ‚ TypeScript-āĻ āϞ⧇āĻ–āĻž āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāĻžāύāϗ⧁āϞāĻŋāϰ āĻāĻ•āĻ•āĻ­āĻžāĻŦ⧇ āϏāĻŽā§āĻĒāĻžāĻĻāύ⧇āϰ āϜāĻ¨ā§āϝ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, C-āϤ⧇ āϞ⧇āĻ–āĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāϗ⧁āϞāĻŋāϕ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ“ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāϟ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āĻĒāϰ⧀āĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• āĻ•ā§āώāĻŽāϤāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻĒā§‚āĻ°ā§āĻŦ⧇, āύāĻŋāĻŽā§āύ-āĻ¸ā§āϤāϰ⧇āϰ āϕ⧋āĻĄ āĻ•āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻšāϝāĻŧ āĻāύ-āĻāĻĒāĻŋāφāχ āĻ…ā§āϝāĻžāĻĄ-āĻ…āύ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻŦāĻž āĻ“āϝāĻŧ⧇āĻŦ āĻ…ā§āϝāĻžāϏ⧇āĻŽā§āĻŦāϞāĻŋ āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ (WASM/WASI) āϕ⧋āĻĄ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āϝāĻž āĻŦāĻŋāĻ•āĻžāĻļāϕ⧇ āϜāϟāĻŋāϞ āĻ•āϰ⧇ āϤ⧋āϞ⧇ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁ āĻŦāĻŋāϧāĻŋāύāĻŋāώ⧇āϧ āφāϰ⧋āĻĒ āĻ•āϰ⧇āĨ¤ āĻāĻ–āύ C āϕ⧋āĻĄ āϏāϰāĻžāϏāϰāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āĻāĻŽā§āĻŦ⧇āĻĄ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ TinyCC āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ, āϏ⧇āχāϏāĻžāĻĨ⧇ āĻ—āϤāĻŋāĻļā§€āϞāĻ­āĻžāĻŦ⧇ āϞāĻŋāĻ™ā§āĻ•āϝ⧁āĻ•ā§āϤ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĢā§āϞāĻžāχāϤ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ "bun:ffi" āĻĨ⧇āϕ⧇ { cc } āφāĻŽāĻĻāĻžāύāĻŋ āĻ•āϰ⧁āύ; āĻāĻ•ā§āϏāĻĒā§‹āĻ°ā§āϟ āĻ•āĻ¨ā§āϏāϟ { āĻĒā§āϰāϤ⧀āĻ•: { āĻšā§āϝāĻžāϞ⧋ }, } = cc({ āωāĻ¤ā§āϏ: "./hello.c", āĻĒā§āϰāϤ⧀āĻ•: { āĻšā§āϝāĻžāϞ⧋: { āĻĢ⧇āϰāϤ: "void", args: [], }, }, }); āĻšā§āϝāĻžāϞ⧋();

C āĻ­āĻžāώāĻžāϰ āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, bun:ffi āϞ⧇āϝāĻŧāĻžāϰāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻŽā§‡āĻļāĻŋāύ⧇āϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀āϤ⧇ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰ⧇, āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āĻāϟāĻŋ āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āϏāĻ¨ā§āύāĻŋāĻŦ⧇āĻļāĻŋāϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ JavaScript āĻāĻŦāĻ‚ C-āĻāϰ āĻŽāĻ§ā§āϝ⧇ āĻĄā§‡āϟāĻž āĻĒā§āϰāĻ•āĻžāϰ⧇āϰ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āĻāϟāĻž āωāĻ˛ā§āϞ⧇āĻ–ā§āϝ āϝ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž C āϕ⧋āĻĄ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āĻŽāĻŋāύāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāĻ•ā§āϏāϟāĻžāĻ°ā§āύāĻžāϞ C āĻĢāĻžāĻ‚āĻļāύ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āϞ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻžāϝāĻŧ 2 āĻ¨ā§āϝāĻžāύ⧋āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āĻŦāĻŋāϞāĻŽā§āĻŦ āϘāϟāĻžāϝāĻŧāĨ¤ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻšāĻŋāϏāĻžāĻŦ⧇, āĻāϟāĻŋ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧ⧇āϛ⧇ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻŋ āϛ⧋āϟ āĻ­āĻŋāĻĄāĻŋāĻ“āϗ⧁āϞāĻŋ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāϤ⧇ āϏāϰāĻžāϏāϰāĻŋ FFmpeg āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϗ⧁āϞāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ - āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻĢā§‹āĻ°ā§āĻ• āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ­āĻŋāĻĄāĻŋāĻ“āϰ āϜāĻ¨ā§āϝ āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāĻžāϰ āĻŽāϤ⧋ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϗ⧁āϞāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāϝāĻŧ⧇, bun:ffi āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āϟāĻžāĻ¸ā§āϕ⧇āϰ āĻŽā§‹āϟ āϏāĻŽā§āĻĒāĻžāĻĻāύ⧇āϰ āϏāĻŽāϝāĻŧ āĻšā§āϰāĻžāϏ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞāĨ¤ āϤāĻŋāύāĻŦāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž

āϤāĻžāĻ›āĻžāĻĄāĻŧāĻž, Bun 1.1.29-āĻāϰ āϰāĻŋāϞāĻŋāĻœā§‡, C āϕ⧋āĻĄā§‡āϰ āϜāĻ¨ā§āϝ N-API (napi) āϏāĻŽāĻ°ā§āĻĨāύ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ, āϝāĻžāϰ āϜāĻ¨ā§āϝ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ C-āϤ⧇ āϞ⧇āĻ–āĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāϰāĻž āĻŦāĻ¸ā§āϤ⧁, āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚, āĻ…ā§āϝāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āύāύ-āĻĒā§āϰāĻŋāĻŽāĻŋāϟāĻŋāĻ­ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻĢ⧇āϰāϤ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϏāĻŋ āĻ­āĻžāώāĻžāϰ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻšāĻŋāϤ āĻĒā§āϰāĻ•āĻžāϰāϗ⧁āϞāĻŋ, āϝ⧇āĻŽāύ int āĻāĻŦāĻ‚ floatāĨ¤ C āĻ­āĻžāώāĻžāϝāĻŧ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāĻĻ⧇āϰ āĻ•āϞ āĻ•āϰāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋāϟāĻŋ C ABI-āĻāϰ āϏāĻžāĻĨ⧇ āϝ⧇āϕ⧋āύ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϗ⧁āϞāĻŋāϕ⧇ āĻ—āϤāĻŋāĻļā§€āϞāĻ­āĻžāĻŦ⧇ āϞ⧋āĻĄ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧāĻ“ āĻ•āĻžāϜ āĻ•āϰ⧇, āϏ⧇āϗ⧁āϞāĻŋ āϝ⧇ āĻ­āĻžāώāĻžāϝāĻŧ āϞ⧇āĻ–āĻž āĻšāϝāĻŧ⧇āϛ⧇ āϤāĻž āύāĻŋāĻ°ā§āĻŦāĻŋāĻļ⧇āώ⧇ (C++, Rust, Zig, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ), āϝāĻž āφāĻĒāύāĻžāϕ⧇ JavaScript āϕ⧋āĻĄ āĻĨ⧇āϕ⧇ āĻ•āϞ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻĒ⧁āύāσāϏāĻ‚āϝ⧋āϜāύ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ āĻ›āĻžāĻĄāĻŧāĻž āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ. āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āφāĻĒāύāĻŋ āĻāĻ–āύ JavaScript āĻĨ⧇āϕ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ API āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āϝ⧇ āĻŦāĻžāύ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϟāĻŋ Node.js-āĻāϰ āϜāĻ¨ā§āϝ āϞ⧇āĻ–āĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖāϤāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻžāϰ āϞāĻ•ā§āĻˇā§āϝ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇ āĻāĻŦāĻ‚ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— Node.js API āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇āĨ¤ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽāϟāĻŋāϤ⧇ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāĻŦāĻ‚ āϟāĻžāχāĻĒāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻāĻŦāĻ‚ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āϏāϰāĻžā§āϜāĻžāĻŽāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āϏ⧇āϟ, āϏ⧇āχāϏāĻžāĻĨ⧇ āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻ›āĻžāĻĄāĻŧāĻž āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϰāĻžāύāϟāĻžāχāĻŽ, āĻāĻ•āϟāĻŋ āĻĒā§āϝāĻžāϕ⧇āϜ āĻŽā§āϝāĻžāύ⧇āϜāĻžāϰ (āĻāύāĻĒāĻŋāĻāĻŽ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ), āĻĒāϰ⧀āĻ•ā§āώāĻž āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āϏāϰāĻžā§āϜāĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸ā§āĻŦ-āύāĻŋāĻ°ā§āĻŽāĻžāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻĒā§āϝāĻžāϕ⧇āϜ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻĻāĻŋāĻ• āĻĨ⧇āϕ⧇, āĻŦāĻžāύ Deno āĻāĻŦāĻ‚ Node.js-āĻāϰ āĻĨ⧇āϕ⧇ āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝāĻ­āĻžāĻŦ⧇ āĻāĻ—āĻŋāϝāĻŧ⧇ (āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āĻžāĻ āĻžāĻŽā§‹āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻžāϝāĻŧ, āĻŦāĻžāύ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽāϟāĻŋ Deno āĻĨ⧇āϕ⧇ 2 āϗ⧁āĻŖ āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ Node.js-āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻĒā§āϰāĻžāϝāĻŧ 5 āϗ⧁āĻŖ āĻĻā§āϰ⧁āϤ)āĨ¤ Bun āĻāϰ āϕ⧋āĻĄ Zig āĻāĻŦāĻ‚ C++ āĻ āϞ⧇āĻ–āĻž, āĻāĻŦāĻ‚ MIT āϞāĻžāχāϏ⧇āĻ¨ā§āϏ⧇āϰ āĻ…āϧ⧀āύ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ JavaScript āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ, JavaScriptCore JavaScript āχāĻžā§āϜāĻŋāύ āĻāĻŦāĻ‚ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĒā§āϝāĻžāϚ āϏāĻš āĻ“āϝāĻŧ⧇āĻŦāĻ•āĻŋāϟ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇āϰ āωāĻĒāĻžāĻĻāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āωāĻ¤ā§āϏ: opennet.ru

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster