ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืคึผืœืึทื˜ืคืึธืจืžืข Node.js 14.0

ืคืืจื’ืขืงื•ืžืขืŸ ืžืขืœื“ื•ื ื’ Node.js 14.0, ืคึผืœืึทื˜ืคืึธืจืžืก ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง ื ืขืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜. Node.js 14.0 ืื™ื– ืึท ืœืึทื ื’-ื˜ืขืจืžื™ืŸ ืฉื˜ื™ืฆืŸ ืฆื•ื•ื™ื™ึทื’, ืึธื‘ืขืจ ื“ืขื ืกื˜ืึทื˜ื•ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึทืกื™ื™ื ื“ ื‘ืœื•ื™ื– ืื™ืŸ ืืงื˜ืื‘ืขืจ ื ืึธืš ืกื˜ื™ื™ื‘ืึทืœืึทื–ื™ื™ืฉืึทืŸ. Node.js 14.0 ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจื›ื’ืขืคื™ืจื˜ ืฐืขืจืŸ ื‘ื™ื– ืืคืจื™ืœ 2023. ื•ื™ืฉืึทืœื˜ ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข LTS ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ Node.js 12.0 ื•ื•ืขื˜ ื“ื•ื™ืขืจืŸ ื‘ื™ื– ืืคืจื™ืœ 2022, ืื•ืŸ ื“ื™ ื™ืึธืจ ืคืจื™ืขืจ ืœืขืฆื˜ืข LTS ืฆื•ื•ื™ื™ึทื’ 10.0 ื‘ื™ื– ืืคืจื™ืœ 2021. ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ 13.x ืกื˜ืึทื’ื™ื ื’ ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขื˜ ืกื•ืฃ ืื™ืŸ ื™ื•ื ื™ ืคื•ืŸ ื“ืขื ื™ืึธืจ.

ื”ื•ื™ืคึผื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ:

  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืื•ื™ืฃ ื“ื™ ืคืœื™ืขืŸ ืึธื“ืขืจ ืื•ื™ืฃ ื“ื™ ืคึผืึทืกื™ืจื•ื ื’ ืคื•ืŸ ื–ื™ื›ืขืจ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ื– ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื“ ื“ื™ืึทื’ื ืึธืกื˜ื™ืง ืจื™ืคึผืึธืจืฅ, ื•ื•ืึธืก ื•ื•ื™ื™ึทื–ืŸ ื’ืขืฉืขืขื ื™ืฉืŸ ื•ื•ืึธืก ื”ืขืœืคึฟืŸ ื“ื™ืึทื’ื ืึธื–ื™ืจืŸ ืคึผืจืึธื‘ืœืขืžืก ืึทื–ืึท ื•ื•ื™ ืงืจืึทืฉื™ื–, ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ืขืจื ื™ื“ืขืจื™ืงื•ื ื’, ื–ื›ึผืจื•ืŸ ืœื™ืงืก, ืฉื•ื•ืขืจ ืงืคึผื• ืžืึทืกืข, ืื•ืžื’ืขืจื™ื›ื˜ ื˜ืขื•ืช ืจืขื–ื•ืœื˜ืึทื˜, ืขื˜ืง.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืึทืคึผื™ ืฉื˜ื™ืฆืŸ ืึทืกื™ื ืง ืœืืงืืœืข ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ื˜ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ AsyncLocalStorage ืงืœืึทืก, ื•ื•ืึธืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืฉืึทืคึฟืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ืฉื˜ืึทื˜ ืžื™ื˜ ื”ืึทื ื“ืœืขืจืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืงืึทืœืœื‘ืึทืงืง ืจื•ืคื˜ ืื•ืŸ ื”ื‘ื˜ื—ื•ืช. AsyncLocalStorage ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืงืจืึธื ื“ืึทื˜ืŸ ื‘ืฉืขืช ืึท ื•ื•ืขื‘ ื‘ืขื˜ืŸ ืื™ื– ืคึผืจืึทืกืขืกื˜, ืจืขืžืึทื ื™ืกืึทื ื˜ ืคื•ืŸ ืคืึธื“ืขื-ื”ื™ื’ืข ืกื˜ืึธืจื™ื“ื–ืฉ ืื™ืŸ ืื ื“ืขืจืข ืฉืคึผืจืึทื›ืŸ.
  • ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ื•ื•ืืจืขื ื•ื ื’ ืึธื ื–ืึธื’ ื•ื•ืขื’ืŸ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืฉื˜ืจื™ืš ื•ื•ืขืŸ ืœืึธื•ื“ื™ื ื’ ืžืึทื“ื–ืฉื•ืœื– ECMAScript 6 ืงืึธื ื ืขืงื˜ืขื“ ืื•ืŸ ื™ืงืกืคึผืึธืจื˜ืึทื“ ื ื™ืฆืŸ ืึทืจื™ื™ึทื ืคื™ืจ ืื•ืŸ ืึทืจื•ื™ืกืคื™ืจืŸ ืกื˜ื™ื™ื˜ืžืึทื ืฅ. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ESM ืžืึทื“ื–ืฉื•ืœื– ื–ื™ืš ื‘ืœื™ื™ื‘ื˜ ื™ืงืกืคึผืขืจืžืขื ืึทืœ.
  • V8 ืžืึธื˜ืึธืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• ื•ื•ืขืจืกื™ืข 8.1 (1, 2, 3), ื•ื•ืึธืก ื›ื•ืœืœ ื ื™ื™ึทืข ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ืื•ืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทื–ืึท ื•ื•ื™ ื“ื™ ื ื™ื™ึทืข ืœืึทื“ื–ืฉื™ืงืึทืœ ืงืึทื ืงืึทื˜ืึทื ื™ื™ืฉืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ "??" (ืงืขืจื˜ ื“ื™ ืจืขื›ื˜ ืึธืคึผืขืจืึทื ื“ ืื•ื™ื‘ ื“ื™ ืœื™ื ืงืก ืึธืคึผืขืจืึทื ื“ ืื™ื– NULL ืึธื“ืขืจ ืึทื ื“ื™ืคื™ื™ื ื“, ืื•ืŸ ื•ื•ื™ืฆืข ื•ื•ืขืจืกืึท), ื“ืขืจ "?." ืึธืคึผืขืจืึทื˜ืึธืจ ืคึฟืึทืจ ืึท ืื™ื™ืŸ ืžืึธืœ ื˜ืฉืขืง ืคื•ืŸ ื“ื™ ื’ืื ืฆืข ืงื™ื™ื˜ ืคื•ืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืึธื“ืขืจ ืงืึทืœืœืก (ืœืžืฉืœ, "ื“ื‘?. ื‘ืึทื ื™ืฆืขืจ?. ื ืึธืžืขืŸ?. ืœืขื ื’ื˜ื”" ืึธืŸ ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ื˜ืฉืขืงืก), ื“ื™ Intl.DisplayName ืื•ืคึฟืŸ ืคึฟืึทืจ ื‘ืืงื•ืžืขืŸ ืœืึธื•ืงืึทืœื™ื™ื–ื“ ื ืขืžืขืŸ, ืืื–"ื• ื•.
  • ื ืจืขื•ื•ื™ื–ื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ Streams API ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜, ืึทื™ืžืขื“ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืงืึธื ืกื™ืกื˜ืขื ืกื™ ืคื•ืŸ ื“ื™ Streams APIs ืื•ืŸ ื™ืœื™ืžืึทื ื™ื™ื˜ื™ื ื’ ื“ื™ืคืขืจืึทื ืกื™ื– ืื™ืŸ ื“ื™ ื ืึทื˜ื•ืจ ืคื•ืŸ ื“ื™ ื™ืงืขืจื“ื™ืง ืคึผืึทืจืฅ ืคื•ืŸ Node.js. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ ื ืึทื˜ื•ืจ ืคื•ืŸ http.OutgoingMessage ืื™ื– ื ืึธืขื ื˜ ืฆื• Stream.Writable, ืื•ืŸ ื ืขื˜.Socket ืื™ื– ืขื ืœืขืš ืฆื• Stream.Duplex. ื“ื™ ืึทื•ื˜ืึธื“ืขืกื˜ืจื•ื™ ืึธืคึผืฆื™ืข ืื™ื– ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• "ืืžืช" ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื•ื•ืึธืก ืžื™ื˜ืœ ืจื•ืคืŸ "_ื“ืขืกื˜ืจื•ื™" ื ืึธืš ืงืึทืžืคึผืœื™ืฉืึทืŸ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืึทืคึผื™ ืฉื˜ื™ืฆืŸ ื•ื•ืึทืกื™ (ื•ื•ืขื‘ ืึทืกืขืžื‘ืœื™ ืกื™ืกื˜ืขื ืฆื•ื‘ื™ื ื“), ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืคึฟืึทืจ ื“ื™ืจืขืงื˜ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืžื™ื˜ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื (POSIX API ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื˜ืขืงืขืก, ืกืึทืงืึทืฅ, ืืื–"ื• ื•).
  • ื’ืขื•ื•ืืงืกืŸ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคึฟืึทืจ ืžื™ื ื™ืžืึทืœ ื•ื•ืขืจืกื™ืขืก ืงืึธืžืคึผื™ืœืขืจืก ืื•ืŸ ืคึผืœืึทื˜ืคืึธืจืžืก: macOS 10.13 (High Sierra), GCC 6, Windows Newer 7/2008R2.

ื–ืืœ ืื•ื ื“ื– ืฆื•ืจื™ืงืจื•ืคืŸ ืึทื– ื“ื™ 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, ื•ื•ื ืก ืื™ ื– ื ืื•ื™ืคื‘ื•ื™ืข ืจ ืื™ื‘ืขืจ ืœื™ื‘ืขื•ื• ืื•ื™ืฃ ื™ื•ื ื™ืงืก ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ืื™ื‘ืขืจ IOCP ืื•ื™ืฃ Windows. ื ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ืคืึธื“ืขื ื‘ืขืงืŸ libeio, ืคึฟืึทืจ ืคึผืขืจืคืึธืจืžื™ื ื’ ื“ื ืก ืงื•ื•ื™ืจื™ื– ืื™ืŸ ื ื™ื˜-ื‘ืœืึทืงื™ื ื’ ืžืึธื“ืข ืื™ื– ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ c- ืึทืจืขืก. ืึทืœืข ืกื™ืกื˜ืขื ืจื•ืคื˜ ื•ื•ืึธืก ืคืึทืจืฉืึทืคืŸ ื‘ืœืึทืงื™ื ื’ ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ื“ื™ ืคืึธื“ืขื ื‘ืขืงืŸ ืื•ืŸ ื“ืขืจื ืึธืš, ื•ื•ื™ ืกื™ื’ื ืึทืœ ื”ืึทื ื“ืœืขืจืก, ืคืึธืจืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื–ื™ื™ืขืจ ืึทืจื‘ืขื˜ ืฆื•ืจื™ืง ื“ื•ืจืš ืึทืŸ ืึทื ื ื™ื™ืžื“ ืจืขืจ. ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืงืึธื“ ืื™ื– ื™ื ืฉื•ืจื“ ื“ื•ืจืš ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืžืึธื˜ืึธืจ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš Google V8 (ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹Node.js ืžื™ื˜ ื“ื™ Chakra-Core ืžืึธื˜ืึธืจ).

ืื™ืŸ ื–ื™ื™ืŸ ื”ืึทืจืฅ, Node.js ืื™ื– ืขื ืœืขืš ืฆื• ืคืจืึทืžืขื•ื•ืึธืจืงืก ืคึผืขืจืœ ืึทื ื™ ืขื•ื•ืขื ื˜, ืจื•ื‘ื™ืŸ ืขื•ื•ืขื ื˜ ืžืึทืฉื™ืŸ, ืคึผื™ื˜ื”ืึธืŸ ื˜ื•ื•ื™ืกื˜ืขื“ ะธ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ืŸ Tcl, ืึธื‘ืขืจ ื“ื™ ื’ืขืฉืขืขื ื™ืฉ ืฉืœื™ื™ืฃ ืื™ืŸ Node.js ืื™ื– ืคืึทืจื‘ืึธืจื’ืŸ ืคื•ืŸ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืื•ืŸ ืจื™ื–ืขืžื‘ืึทืœื– ื’ืขืฉืขืขื ื™ืฉ ื”ืึทื ื“ืœื™ื ื’ ืื™ืŸ ืึท ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ืึท ื‘ืœืขื˜ืขืจืขืจ. ื•ื•ืขืŸ ืฉืจื™ื™ื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ node.js, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ื ืขืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืงืก ืคื•ืŸ ื’ืขืฉืขืขื ื™ืฉ-ื’ืขื˜ืจื™ื‘ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ "var result = db.query ("ืกืขืœืขืงื˜ื™ืจืŸ..");" ืžื™ื˜ ื•ื•ืืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืงืึทืžืคึผืœื™ืฉืึทืŸ ืคื•ืŸ ืึทืจื‘ืขื˜ ืื•ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ, Node.js ื ื™ืฆื˜ ื“ืขื ืคึผืจื™ื ืฆื™ืคึผ ืคื•ืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ื“ื•ืจื›ืคื™ืจื•ื ื’, ื™.ืข. ื“ืขืจ ืงืึธื“ ืื™ื– ืคืืจื•ื•ืื ื“ืœืขืŸ ืื™ืŸ "db.query ("ืกืขืœืขืงื˜ื™ืจืŸ ..", ืคึฟื•ื ืงืฆื™ืข (ืจืขื–ื•ืœื˜ืึทื˜) {ืจืขื–ื•ืœื˜ืึทื˜ ืคึผืจืึทืกืขืกื™ื ื’});", ืื™ืŸ ื•ื•ืึธืก ืงืึธื ื˜ืจืึธืœ ื•ื•ืขื˜ ื’ืœื™ื™ืš ืคืึธืจืŸ ืฆื• ื•ื•ื™ื™ึทื˜ืขืจ ืงืึธื“, ืื•ืŸ ื“ื™ ืึธื ืคึฟืจืขื’ ืจืขื–ื•ืœื˜ืึทื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜ ื•ื•ื™ ื“ืึทื˜ืŸ ืขืจื™ื™ื•ื•ื–. .

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’