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

Node.js 17.0, āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ Node.js 17.0 āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻļāĻžāĻ–āĻž āĻ¯āĻž āĻœā§āĻ¨ 2022 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒā§‡āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ†āĻ—āĻžāĻŽā§€ āĻĻāĻŋāĻ¨ā§‡, Node.js 16 āĻļāĻžāĻ–āĻžāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§‡, āĻ¯āĻž LTS āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ āĻĒāĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻĒā§āĻ°āĻŋāĻ˛ 2024 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ Node.js 14.0 āĻāĻ° āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ LTS āĻļāĻžāĻ–āĻžāĻ° āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻāĻĒā§āĻ°āĻŋāĻ˛ 2023 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻšāĻ˛āĻŦā§‡ āĻāĻŦāĻ‚ āĻļā§‡āĻˇ LTS āĻļāĻžāĻ–āĻž 12.0 āĻāĻ° āĻ†āĻ—ā§‡āĻ° āĻŦāĻ›āĻ° āĻāĻĒā§āĻ°āĻŋāĻ˛ 2022 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻšāĻ˛āĻŦā§‡āĨ¤

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

  • V8 āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŸāĻŋ 9.5 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ¸ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻŽā§ŒāĻ˛āĻŋāĻ• API-āĻāĻ° āĻ°ā§‚āĻĒā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻŦā§āĻ¯āĻžāĻšāĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ API āĻ›āĻžāĻĄāĻŧāĻžāĻ“, Node.js 17.0 āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§‡āĻŸāĻž āĻ˛āĻžāĻ‡āĻ¨ āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ API āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤ 'āĻ¨ā§‹āĻĄ:āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨/āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ' āĻĨā§‡āĻ•ā§‡ āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ * āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨; 'āĻĒā§āĻ°āĻ¸ā§‡āĻ¸' āĻĨā§‡āĻ•ā§‡ { āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ stdin, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ stdout} āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨; const rl = readline.createInterface({ āĻ‡āĻ¨āĻĒā§āĻŸ, āĻ†āĻ‰āĻŸāĻĒā§āĻŸ }); const āĻ‰āĻ¤ā§āĻ¤āĻ° = await rl.question('āĻ†āĻĒāĻ¨āĻŋ Node.js āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨?'); console.log('āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻŽāĻ¤āĻžāĻŽāĻ¤ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ: ${answer}'); rl.close();
  • āĻ¸āĻ°āĻŦāĻ°āĻžāĻšāĻ•ā§ƒāĻ¤ OpenSSL āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ 3.0 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (QUIC āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ quictls/openssl āĻĢāĻ°ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡)āĨ¤
  • Node.js āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻŸā§āĻ°ā§‡āĻ¸ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¯āĻž āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ• āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¯āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧā§ˇ

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ†āĻŽāĻ°āĻž Node.js (CVE-2021-22959, CVE-2021-22960) āĻāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻļāĻžāĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĻā§āĻŸāĻŋ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻĻā§‚āĻ° āĻ•āĻ°āĻžāĻ° āĻ•āĻĨāĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ¯āĻž "HTTP āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻšā§‹āĻ°āĻžāĻšāĻžāĻ˛āĻžāĻ¨" (HRS) āĻ†āĻ•ā§āĻ°āĻŽāĻŖ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡, āĻ¯āĻž āĻĢā§āĻ°āĻ¨ā§āĻŸāĻāĻ¨ā§āĻĄ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ‡ āĻĨā§āĻ°ā§‡āĻĄā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻ“āĻ¯āĻŧā§‡āĻœ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§āĻˇāĻ¤āĻŋāĻ•āĻžāĻ°āĻ• āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄ āĻ…āĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸ā§‡āĻļāĻ¨ā§‡ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡)āĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĒāĻ°ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ HTTP āĻšā§‡āĻĄāĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ˛āĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĢāĻžāĻāĻ•āĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ­ā§āĻ˛ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦā§āĻ˛āĻ•ā§‡ āĻ•ā§āĻ¯āĻžāĻ°ā§‡āĻœ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻ¨ āĻĢāĻŋāĻĄ āĻ…āĻ•ā§āĻˇāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ˜āĻŸā§‡āĨ¤ "āĻ–āĻŖā§āĻĄāĻŋāĻ¤" āĻŽā§‹āĻĄā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻŦāĻĄāĻŋ "

āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ‡ āĻ¯ā§‡ 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

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