แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ”แƒก JavaScript Node.js 17.0 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ

แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ Node.js 17.0, แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ JavaScript-แƒจแƒ˜ แƒฅแƒกแƒ”แƒšแƒฃแƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“. Node.js 17.0 แƒแƒ แƒ˜แƒก แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒแƒก 2022 แƒฌแƒšแƒ˜แƒก แƒ˜แƒ•แƒœแƒ˜แƒกแƒแƒ›แƒ“แƒ”. แƒฃแƒแƒฎแƒšแƒแƒ”แƒก แƒ“แƒฆแƒ”แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ Node.js 16 แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ˜แƒก แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก LTS แƒกแƒขแƒแƒขแƒฃแƒกแƒก แƒ“แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ 2024 แƒฌแƒšแƒ˜แƒก แƒแƒžแƒ แƒ˜แƒšแƒแƒ›แƒ“แƒ”. Node.js 14.0-แƒ˜แƒก แƒฌแƒ˜แƒœแƒ LTS แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ˜แƒก แƒ›แƒแƒ•แƒšแƒ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒ‘แƒ 2023 แƒฌแƒšแƒ˜แƒก แƒแƒžแƒ แƒ˜แƒšแƒแƒ›แƒ“แƒ”, แƒฎแƒแƒšแƒ แƒฌแƒ˜แƒœแƒ LTS แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ˜แƒก 12.0-แƒ›แƒ“แƒ” 2022 แƒฌแƒšแƒ˜แƒก แƒแƒžแƒ แƒ˜แƒšแƒแƒ›แƒ“แƒ”.

แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

  • V8 แƒซแƒ แƒแƒ•แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ 9.5 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ›แƒ“แƒ”.
  • แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ API-แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ Promise แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ—. แƒ’แƒแƒ แƒ“แƒ แƒแƒ“แƒ แƒ” แƒจแƒ”แƒ›แƒแƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ Timers Promises แƒ“แƒ Streams Promises API-แƒ”แƒ‘แƒ˜แƒกแƒ, Node.js 17.0 แƒฌแƒแƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒ’แƒ”แƒœแƒ— Readline Promise API-แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœ-แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒก แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“ Readline แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜ * แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒฎแƒแƒ–แƒ˜ 'node:readline/promises'-แƒ“แƒแƒœ; แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜ { stdin แƒ แƒแƒ’แƒแƒ แƒช แƒจแƒ”แƒงแƒ•แƒแƒœแƒ, stdout แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ } 'แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒ“แƒแƒœ'; const rl = readline.createInterface({ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ, แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ }); const answer = await rl.question('แƒ แƒแƒก แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒ— Node.js-แƒ–แƒ”?'); console.log('แƒ’แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ— แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฎแƒ›แƒแƒฃแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: ${answer}'); rl.close();
  • แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ OpenSSL แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ 3.0 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ›แƒ“แƒ” (แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ quictls/openssl แƒฉแƒแƒœแƒ’แƒแƒšแƒ˜ QUIC แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜).
  • แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ Node.js แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒ™แƒ•แƒแƒšแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก แƒคแƒแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ แƒแƒช แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒแƒก.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ— Node.js-แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒแƒ แƒ˜ แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒแƒฆแƒ›แƒแƒคแƒฎแƒ•แƒ แƒ (CVE-2021-22959, CVE-2021-22960), แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒก แƒฎแƒ“แƒ˜แƒก โ€žHTTP Request Smugglingโ€œ (HRS) แƒจแƒ”แƒขแƒ”แƒ•แƒ”แƒ‘แƒก. แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒฉแƒแƒ•แƒฃแƒฆแƒ แƒ›แƒแƒ•แƒ“แƒ”แƒ— แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒซแƒแƒคแƒจแƒ˜ แƒคแƒ แƒแƒœแƒขแƒ”แƒœแƒ“แƒกแƒ แƒ“แƒ แƒ‘แƒ”แƒฅแƒ”แƒœแƒ“แƒก แƒจแƒแƒ แƒ˜แƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒ•แƒœแƒ” JavaScript แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒฉแƒแƒกแƒ›แƒฃแƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ”แƒกแƒ˜แƒแƒจแƒ˜). แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ แƒฏแƒ”แƒ แƒแƒ‘แƒ˜แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒก แƒ•แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜แƒ 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 แƒ“แƒ select. แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ›แƒฃแƒšแƒขแƒ˜แƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ libuv แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ˜ libev-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Unix แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ IOCP Windows-แƒ–แƒ”. libeio แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ thread pool-แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒฎแƒแƒšแƒ c-ares แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ DNS แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒแƒ แƒแƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ–แƒแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ“แƒแƒ‘แƒšแƒแƒ™แƒ•แƒแƒก, แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒซแƒแƒคแƒ˜แƒก แƒแƒฃแƒ–แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“, แƒ›แƒแƒ—แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒฃแƒ™แƒแƒœ แƒ’แƒแƒ“แƒแƒแƒฅแƒ•แƒก แƒฃแƒกแƒแƒฎแƒ”แƒšแƒ แƒ›แƒ˜แƒšแƒ˜แƒก (แƒ›แƒ˜แƒšแƒ˜แƒก) แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—. JavaScript แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ Google-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ V8 แƒซแƒ แƒแƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— (แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, Microsoft แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒก Node.js-แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก Chakra-Core แƒซแƒ แƒแƒ•แƒ˜แƒ—).

แƒ—แƒแƒ•แƒ˜แƒก แƒแƒ แƒกแƒจแƒ˜, Node.js แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ Perl AnyEvent, Ruby Event Machine, Python Twisted Frameworks แƒ“แƒ Tcl แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› Node.js-แƒจแƒ˜ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒชแƒ˜แƒ™แƒšแƒ˜ แƒ“แƒแƒ›แƒแƒšแƒฃแƒšแƒ˜แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒ แƒฌแƒแƒแƒ’แƒแƒ•แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒแƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒš แƒ•แƒ”แƒ‘ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜. แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜. node.js-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒ˜แƒกแƒแƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒแƒ— แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ–แƒ” แƒแƒ แƒ˜แƒ”แƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ˜แƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒ› แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— "var result = db.query("select..");" แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, Node.js แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒก, แƒ”.แƒ˜. แƒ™แƒแƒ“แƒ˜ แƒ’แƒแƒ แƒ“แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ "db.query("แƒแƒ แƒฉแƒ”แƒ•แƒ..", แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ (แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜) {แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ});", แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜ แƒ›แƒงแƒ˜แƒกแƒ˜แƒ”แƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ™แƒแƒ“แƒ–แƒ” แƒ“แƒ แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ•แƒšแƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ”.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ