рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо Node.js 18.0 рдЙрдкрд▓рдмреНрдз рд╣реИ

Node.js 18.0 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рд╣реИред Node.js 18.0 рдХреЛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рд╢рд╛рдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджрд░реНрдЬрд╛ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рдмрд╛рдж рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ рд╣реА рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред Node.js 18.x рдЕрдкреНрд░реИрд▓ 2025 рддрдХ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ред Node.js 16.x рдХреА рдкрд┐рдЫрд▓реА LTS рд╢рд╛рдЦрд╛ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдЕрдкреНрд░реИрд▓ 2024 рддрдХ рдЪрд▓реЗрдЧрд╛, рдФрд░ рдЕрдВрддрд┐рдо LTS рд╢рд╛рдЦрд╛ 14.x рд╕реЗ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдЕрдкреНрд░реИрд▓ 2023 рддрдХ рдЪрд▓реЗрдЧрд╛ред 12.x LTS рд╢рд╛рдЦрд╛ 30 рдЕрдкреНрд░реИрд▓ рдХреЛ рдмрдВрдж рдХрд░ рджреА рдЬрд╛рдПрдЧреА, рдФрд░ Node.js 17.x рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╢рд╛рдЦрд╛ 1 рдЬреВрди рдХреЛ рдмрдВрдж рдХрд░ рджреА рдЬрд╛рдПрдЧреАред

рдореБрдЦреНрдп рд╕реБрдзрд╛рд░:

  • V8 рдЗрдВрдЬрди рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 10.1 рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд░реЛрдорд┐рдпрдо 101 рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Node.js рдХреЗ 17.9.0 рд░рд┐рд▓реАрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЕрдм рдЕрдВрдд рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рддрддреНрд╡реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрдВрдбрд▓рд╛рд╕реНрдЯ рдФрд░ рдлрд╛рдЗрдВрдбрд▓рд╛рд╕реНрдЯрдЗрдВрдбреЗрдХреНрд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред рдПрдХ рд╕рд░рдгреА, рдФрд░ Intl.supportedValuesOf рдлрд╝рдВрдХреНрд╢рдиред рдмреЗрд╣рддрд░ Intl.Locale рдПрдкреАрдЖрдИред рд╡рд░реНрдЧ рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рдирд┐рдЬреА рддрд░реАрдХреЛрдВ рдХреА рд╢реБрд░реВрдЖрдд рддреЗрдЬ рдХрд░ рджреА рдЧрдИ рд╣реИред
  • рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдлрд╝реЗрдЪ() рдПрдкреАрдЖрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрд┐рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди HTTP/1.1 uncie рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рдорд╛рди рдПрдкреАрдЖрдИ рдХреЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░реАрдм рд╣реИред рдЗрд╕рдореЗрдВ HTTP рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЗрдбрд░ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдордбреЗрдЯрд╛, рд╣реЗрдбрд░, рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИред const res = рдкреНрд░рддреАрдХреНрд╖рд╛ рдлрд╝реЗрдЪ('https://nodejs.org/api/documentation.json'); рдпрджрд┐ (res.ok) { рд╕реНрдерд┐рд░рд╛рдВрдХ рдбреЗрдЯрд╛ = рдкреНрд░рддреАрдХреНрд╖рд╛ res.json(); рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ(рдбреЗрдЯрд╛); }
  • рд╡реЗрдм рд╕реНрдЯреНрд░реАрдо рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдкреАрдЖрдИ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдЖрдиреЗ рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред Node.js рдореЗрдВ рдЕрдм рдЙрдкрд▓рдмреНрдз рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ ReadableStream*, TransformStream*, WritableStream*, TextEncoderStream, TextDecoderStream, CompressionStream рдФрд░ DecompressionStream рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рдмреНрд▓реЙрдм рдПрдкреАрдЖрдИ рдХреЛ рд╕реНрдерд┐рд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдХрд░ рдереНрд░реЗрдб рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯрдЪреИрдирд▓ рдПрдкреАрдЖрдИ рдХреЛ рд╕реНрдерд┐рд░ рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк "рдПрдХ рдкреНрд░реЗрд╖рдХ - рдХрдИ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛" рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдореЛрдб рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореЙрдбреНрдпреВрд▓ рдиреЛрдб: рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдЯреАрдПрдкреА (рдЯреЗрд╕реНрдЯ рдПрдиреАрдерд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рддрд╛ рд╣реИред
  • Red Hat Enterprise Linux (RHEL) 8 рдФрд░ Glibc 2.28+ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреНрдп рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдкреАрдврд╝реА, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдмрд┐рдпрди 10 рдФрд░ Ubuntu 20.04, рд╕рд╛рде рд╣реА macOS 10.15+ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИред V8 рдЗрдВрдЬрди рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рдмрд┐рд▓реНрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд░реЛрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЪрдпрдирд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп Node.js рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдШрдЯрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "--рдиреЛрдб-рд╕реНрдиреИрдкрд╢реЙрдЯ-рдореЗрди" рд╡рд┐рдХрд▓реНрдк рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "./configure -node-snapshot-main=marked.js; рдирд╛рдо рдиреЛрдб"

Node.js рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд░реНрд╡рд░ рд░рдЦрд░рдЦрд╛рд╡ рдФрд░ рдирд┐рдпрдорд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Node.js рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рдВрдЧреНрд░рд╣ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓, рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ, рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдФрд░ Ajax рд╣реИрдВрдбрд▓рд░, DBMS рдХрдиреЗрдХреНрдЯрд░ (MySQL, PostgreSQL, SQLite, MongoDB), рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдЗрдВрдЬрди, CSS рдЗрдВрдЬрди, рдХреНрд░рд┐рдкреНрдЯреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд┐рд╕реНрдЯрдо (OAuth), XML рдкрд╛рд░реНрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рдеред

рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Node.js рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдФрд░ рдХреЙрд▓рдмреИрдХ рд╣реИрдВрдбрд▓рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╡рд┐рдзрд┐рдпрд╛рдБ epoll, kqueue, /dev/poll рдФрд░ рдЪрдпрди рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, libuv рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ libev рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ IOCP рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб-рдСрди рд╣реИред рд▓рд┐рдмрд┐рдпреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдереНрд░реЗрдб рдкреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реА-рдПрд░реЗрд╕ рдХреЛ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдореЛрдб рдореЗрдВ рдбреАрдПрдирдПрд╕ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдереНрд░реЗрдб рдкреВрд▓ рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░, рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдХреА рддрд░рд╣, рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдЕрдирд╛рдо рдкрд╛рдЗрдк (рдкрд╛рдЗрдк) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдкрд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди Google рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд V8 рдЗрдВрдЬрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Microsoft рдЪрдХреНрд░-рдХреЛрд░ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде Node.js рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ)ред

рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, Node.js рдкрд░реНрд▓ AnyEvent, рд░реВрдмреА рдЗрд╡реЗрдВрдЯ рдорд╢реАрди, Python рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ Tcl рдЗрд╡реЗрдВрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди Node.js рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЪрд▓ рд░рд╣реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ. рдиреЛрдб.рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЗрд╡реЗрдВрдЯ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "var рдкрд░рд┐рдгрд╛рдо = db.query("select..");" рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде, Node.js рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдХреЛрдб рдХреЛ "db.query("select..", function (рдкрд░рд┐рдгрд╛рдо) {рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг});" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рддреБрд░рдВрдд рдЖрдЧреЗ рдХреЗ рдХреЛрдб рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдбреЗрдЯрд╛ рдЖрдиреЗ рдкрд░ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ