แแแแแแแแ 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