Node.js 19.0, āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ Node.js 19 āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻļāĻžāĻāĻž āĻ¯āĻžāĻ° āĻāĻĒāĻĄā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻ¨ 2023 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻāĻāĻžāĻŽā§ āĻĻāĻŋāĻ¨ā§, Node.js 18 āĻļāĻžāĻāĻžāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§, āĻ¯āĻž LTS āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻĒāĻžāĻŦā§ āĻāĻŦāĻ āĻāĻĒā§āĻ°āĻŋāĻ˛ 2025 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ Node.js 16.0-āĻāĻ° āĻāĻā§āĻ° LTS āĻļāĻžāĻāĻžāĻ° āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖ āĻ¸ā§āĻĒā§āĻā§āĻŽā§āĻŦāĻ° 2023 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ˛āĻŦā§ āĻāĻŦāĻ āĻļā§āĻˇ LTS āĻļāĻžāĻāĻž 14.0 āĻāĻ° āĻāĻā§āĻ° āĻŦāĻāĻ° āĻāĻĒā§āĻ°āĻŋāĻ˛ 2023 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ˛āĻŦā§āĨ¤
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ:
- V8 āĻāĻā§āĻāĻŋāĻ¨āĻāĻŋ 10.7 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž Chromium 107-āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ Node.js 18 āĻļāĻžāĻāĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻā§āĻāĻŋāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, Intl.NumberFormat API-āĻāĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻž āĻā§āĻā§, āĻ¯āĻž āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻāĻ°ā§āĻā§āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ (), formatRangeToParts() āĻāĻŦāĻ SelectRange(), āĻ¸ā§āĻā§āĻ° āĻā§āĻ°ā§āĻĒāĻŋāĻ, āĻ°āĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻā§āĻ˛āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒ, āĻĻāĻļāĻŽāĻŋāĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž llhttp 8.1.0 āĻāĻŦāĻ npm 8.19.2 āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ "āĻ¨ā§āĻĄ -āĻāĻ¯āĻŧāĻžāĻ" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻāĻāĻŋ āĻāĻĄāĻŧāĻŋ āĻŽā§āĻĄ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ°āĻŽā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ "āĻ¨ā§āĻĄ -āĻāĻ¯āĻŧāĻžāĻ āĻāĻ¨āĻĄā§āĻā§āĻ¸.āĻā§āĻāĻ¸" āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻšāĻŦā§ index.js āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ˛ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻšāĻ¯āĻŧ)āĨ¤
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ HTTP/HTTPS āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯, HTTP 1.1 āĻāĻŋāĻĒ-āĻ ā§āĻ¯āĻžāĻ˛āĻžāĻāĻ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻāĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻžāĻ§āĻŋāĻ HTTP āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻāĻ¯ā§āĻāĻāĻŋ āĻā§āĻ˛āĻž āĻ°āĻžāĻā§āĨ¤ āĻāĻŋāĻĒ-āĻ ā§āĻ¯āĻžāĻ˛āĻžāĻāĻ āĻĨā§āĻ°ā§āĻĒā§āĻ āĻāĻŦāĻ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻŦā§ āĻŦāĻ˛ā§ āĻāĻļāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻ¸āĻāĻ¯ā§āĻ āĻā§āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻž 5 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ Keep-Alive HTTP āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ HTTP āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ Keep-Alive āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻāĻ¯ā§āĻ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻž Node.js HTTP āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- Ed25519, Ed448, X25519 āĻāĻŦāĻ X448 āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§ WebCrypto APIāĻā§ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻŦāĻŋāĻāĻžāĻā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ WebCrypto āĻŽāĻĄāĻŋāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ globalThis.crypto āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨('node:crypto').webcryptoāĨ¤
- DTrace, SystemTap āĻāĻŦāĻ ETW (Windows-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ¨ā§āĻ āĻā§āĻ°ā§āĻ¸āĻŋāĻ) āĻā§āĻ°ā§āĻ¸āĻŋāĻ āĻā§āĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§, āĻ¸āĻ āĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻāĻŋ āĻāĻĒ āĻā§ āĻĄā§āĻ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻāĻāĻŋāĻ˛āĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖāĻāĻŋ āĻ āĻ¨ā§āĻĒāĻ¯ā§āĻā§āĻ¤ āĻŦāĻ˛ā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
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