āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°-āĻ¸āĻžāĻ‡āĻĄ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ Node.js 21.0 āĻ‰āĻĒāĻ˛āĻŦā§āĻ§

Node.js 21.0 āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽāĨ¤ Node.js 21.0 āĻļāĻžāĻ–āĻžāĻŸāĻŋ 6 āĻŽāĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ āĻ†āĻ—āĻžāĻŽā§€ āĻĻāĻŋāĻ¨ā§‡, Node.js 20 āĻļāĻžāĻ–āĻžāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§‡, āĻ¯āĻž LTS āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻĒāĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻĒā§āĻ°āĻŋāĻ˛ 2026 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ Node.js 18.0-āĻāĻ° āĻ†āĻ—ā§‡āĻ° LTS āĻļāĻžāĻ–āĻžāĻ° āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻšāĻ˛āĻŦā§‡ āĻ¸ā§‡āĻĒā§āĻŸā§‡āĻŽā§āĻŦāĻ° 2025 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻāĻŦāĻ‚ āĻļā§‡āĻˇ LTS āĻļāĻžāĻ–āĻž 16.0 āĻāĻ° āĻ†āĻ—ā§‡āĻ° āĻŦāĻ›āĻ° āĻāĻĒā§āĻ°āĻŋāĻ˛ 2024 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤

āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ:

  • āĻĢā§‡āĻš āĻāĻĒāĻŋāĻ†āĻ‡āĻ•ā§‡ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ‡āĻĄā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ‡āĻ‰āĻ¨āĻŋāĻ­āĻžāĻ°ā§āĻ¸āĻžāĻ˛ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–āĻžāĻ•ā§‡ āĻ¸āĻ°āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻŸāĻŋ HTTP/1.1 undici āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ API āĻāĻ° āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋāĨ¤ āĻāĻĒāĻŋāĻ†āĻ‡ āĻĢā§‡āĻš() āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻšā§‡āĻĄāĻžāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž, HTTP āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ, āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡āĨ¤ const res = await fetch('https://nodejs.org/api/documentation.json'); if (res.ok) { const data = await res.json(); console.log(āĻĄā§‡āĻŸāĻž); }
  • WebStreams API-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, āĻ¯āĻž āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ API āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĢāĻžāĻ‡āĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ†āĻ¸āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĨ¤ Node.js-āĻ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream āĻāĻŦāĻ‚ DecompressionStreamāĨ¤
  • āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻ•ā§‡āĻŸ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤ WebSocket āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, "--āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ•-āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻ•ā§‡āĻŸ" āĻĒāĻ¤āĻžāĻ•āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  • CommonJS (Node.js-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ) āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ JavaScript āĻŽāĻĄāĻŋāĻ‰āĻ˛ ESM (ECMAScript āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤) āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ• āĻŽā§‹āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻŸāĻŋ āĻ¸ā§‡āĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻ¯āĻžāĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ.json-āĻāĻ° "āĻŸāĻžāĻ‡āĻĒ" āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž "--āĻ‡āĻ¨āĻĒā§āĻŸ-āĻŸāĻžāĻ‡āĻĒ" āĻĒāĻ¤āĻžāĻ•āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ…āĻĨāĻŦāĻž āĻĢāĻžāĻ‡āĻ˛ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° (.mjs ESM, .cjs āĻāĻ° āĻœāĻ¨ā§āĻ¯ mjs) āĻāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸāĨ¤ CommonJS āĻāĻ° ​​āĻœāĻ¨ā§āĻ¯)āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¯ā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ CommonJS āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ ".js" āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ†āĻ›ā§‡) āĻ¨āĻ¤ā§āĻ¨ āĻŽā§‹āĻĄ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ ESM āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻŋāĻ¤ āĻšāĻŦā§‡ā§ˇ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡, "--āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻŽā§‚āĻ˛āĻ•-āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ-āĻŸāĻžāĻ‡āĻĒ" āĻĒāĻ¤āĻžāĻ•āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • V8 āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŸāĻŋ 11.8 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž Chromium 118-āĻ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻāĻ–āĻ¨ ArrayBuffer.prototype.transfer āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡, āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ•ā§‡ āĻ—ā§āĻ°ā§āĻĒ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž (āĻ—ā§āĻ°ā§āĻĒāĻŦāĻžāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ) āĻāĻŦāĻ‚ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ (i32.add, i32.sub, i32.mul, i64 .add, i64.sub āĻāĻŦāĻ‚ i64.mul)āĨ¤
  • āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻ˛ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ•ā§āĻˇā§‡āĨ¤
  • Fs.writeFile āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ "āĻĢā§āĻ˛āĻžāĻļ" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ°āĻžāĻ‡āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡ āĻĄā§‡āĻŸāĻž āĻĢā§āĻ˛āĻžāĻļ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  • āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ‚, āĻāĻĒāĻŋāĻ†āĻ‡, āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ, āĻ¨ā§‹āĻĄ:āĻāĻĢāĻāĻ¸ āĻāĻŦāĻ‚ HTTP-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ•ā§‹āĻĄā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤
  • āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ¨ā§‡āĻ­āĻŋāĻ—ā§‡āĻŸāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, CPU āĻ•ā§‹āĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ navigator.hardwareConcurrency āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
  • "—āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž" āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡, āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ˛ā§‹āĻŦ āĻŽāĻžāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ "—āĻŸā§‡āĻ¸ā§āĻŸ **/*.test.js" āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨)āĨ¤
  • āĻŦāĻžāĻ¨ā§āĻĄāĻŋāĻ˛ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° npm 10.2.0 āĻāĻŦāĻ‚ llhttp 9.1.2 āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“ 2019 āĻāĻŦāĻ‚ 11.0 āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻžāĻ¨ā§‹ macOS āĻāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

Node.js āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽāĻŸāĻŋ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ Node.js-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ, āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•, WebSocket āĻāĻŦāĻ‚ Ajax āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°, DBMS āĻ•āĻžāĻ¨ā§‡āĻ•ā§āĻŸāĻ° (MySQL, PostgreSQL, SQLite, MongoDB), āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻŋāĻ‚ āĻ‡āĻžā§āĻœāĻŋāĻ¨, CSS āĻ‡āĻžā§āĻœāĻŋāĻ¨, āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‹ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ (OAuth), XML āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ¸āĻšāĨ¤

āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡, Node.js āĻ¨āĻ¨-āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ•āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ‚ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻšāĻ˛ epoll, kqueue, /dev/poll āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨āĨ¤ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯, libuv āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§āĻ¸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ libev āĻāĻŦāĻ‚ Windows āĻ IOCP-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĄ-āĻ…āĻ¨āĨ¤ libeio āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻĨā§āĻ°ā§‡āĻĄ āĻĒā§āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ c-ares āĻ¨āĻ¨-āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻŽā§‹āĻĄā§‡ DNS āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻ¯āĻž āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°ā§‡ āĻĨā§āĻ°ā§‡āĻĄ āĻĒā§āĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡, āĻ¸āĻŋāĻ—āĻ¨ā§āĻ¯āĻžāĻ˛ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻĻā§‡āĻ° āĻŽāĻ¤ā§‹, āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽāĻšā§€āĻ¨ āĻĒāĻžāĻ‡āĻĒā§‡āĻ° (āĻĒāĻžāĻ‡āĻĒ) āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĢā§‡āĻ°āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— Google āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ V8 āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻ›āĻžāĻĄāĻŧāĻž, āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻĢā§āĻŸ āĻšāĻ•ā§āĻ°-āĻ•ā§‹āĻ° āĻ‡āĻžā§āĻœāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ Node.js-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›ā§‡)āĨ¤

āĻāĻ° āĻŽā§‚āĻ˛ āĻ…āĻ‚āĻļā§‡, Node.js āĻĒāĻžāĻ°ā§āĻ˛ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ, āĻ°ā§āĻŦāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻŽā§‡āĻļāĻŋāĻ¨, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŸā§āĻ‡āĻ¸ā§āĻŸā§‡āĻĄ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻāĻŦāĻ‚ āĻŸāĻŋāĻ¸āĻŋāĻāĻ˛ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ‡āĻŽāĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ Node.js-āĻ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ˛ā§āĻĒ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ˛ā§āĻ•āĻžāĻ¨ā§‹ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚-āĻāĻ° āĻŽāĻ¤ā§‹āĨ¤ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡āĨ¤ node.js-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ-āĻšāĻžāĻ˛āĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚-āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇāĻ¤ā§āĻŦ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, "var result = db.query("select..");" āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡āĨ¤ āĻ•āĻžāĻœ āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡, Node.js āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻ¨ā§€āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ•ā§‹āĻĄāĻŸāĻŋ "db.query("select..", āĻĢāĻžāĻ‚āĻļāĻ¨ (āĻĢāĻ˛āĻžāĻĢāĻ˛) {āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚});-āĻ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¤āĻžā§ŽāĻ•ā§āĻˇāĻŖāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•ā§‹āĻĄā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻ†āĻ¸āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨