Fa'asa'olotoga JavaScript Node.js 17.0

O le tatalaina o le Node.js 17.0, o se faʻavae mo le faʻatinoina o fesoʻotaʻiga i le JavaScript, ua faia. Node.js 17.0 ose lala lagolago masani ma faʻafouga seia oʻo ia Iuni 2022. I aso a sau, o le a maeʻa le faʻamautuina o le lala Node.js 16, lea o le a maua le tulaga LTS ma o le a lagolagoina seia oʻo ia Aperila 2024. O le tausiga o le lala muamua o le Node.js 14.0 LTS o le a tumau seia oo ia Aperila 2023, ma le 12.0 LTS lala muamua seia oo ia Aperila 2022.

Fa'aleleia autu:

  • Ua toe faafou le afi V8 ile version 9.5.
  • O le faʻatinoga o fesuiaiga o le API faavae e faʻavae i luga o le faʻaogaina o le Promise asynchronous computing interface ua faʻaauau. I le faaopoopo atu i le Timers Promises and Streams Promises APIs muamua, o le Node.js 17.0 o loʻo faʻalauiloaina le Readline Promise API mo le faitauina o faʻamatalaga laina i laina e faʻaaoga ai le module readline. faaulu mai * e pei o le laina faitau mai le 'node:readline/promises'; fa'aulufale mai { stdin e pei o le fa'aoga, stdout e fai ma galuega } mai le 'process'; const rl = readline.createInterface({fa'aoga, galuega faatino}); const tali = faatali rl.question('O le a sou manatu i Node.js?'); console.log('Fa'afetai mo lau fa'amatalaga taua: ${answer}'); rl.close();
  • O le faletusi OpenSSL ua tu'uina atu ua fa'afouina i le version 3.0 (fa'aoga le tui quictls/openssl fa'atasi ai ma le QUIC protocol support ua mafai).
  • Ia mautinoa o loʻo faʻaalia le Node.js i faʻamaufaʻailoga mo mea sese e mafua ai ona faʻamutaina le talosaga.

E le gata i lea, e mafai ona tatou taʻua le faʻaumatiaina o faʻafitauli e lua i lala o loʻo i ai nei o Node.js (CVE-2021-22959, CVE-2021-22960), lea e mafai ai ona faia osofaʻiga a le HTTP Request Smuggling (HRS) vasega, lea. fa'ataga, e ala i le tu'uina atu o fa'atonuga fa'apitoa a le tagata fa'atau, e fa'apipi'i i totonu o mea o talosaga mai isi tagata fa'aoga o lo'o fa'aogaina i le filo lava e tasi i le va o le pito i luma ma le pito i tua (mo se fa'ata'ita'iga, e mafai ona e ausia le suiga o le code JavaScript leaga i le isi tagata fa'aoga vasega). O faʻamatalaga o le a faʻaalia mulimuli ane, ae mo le taimi nei e naʻo le iloa o faʻafitauli e mafua mai i le le saʻo o le faʻaogaina o avanoa i le va o le ulutala HTTP igoa ma le kolone, faʻapea foʻi ma le eseʻesega o le taulimaina o le toe foʻi mai o le taʻavale ma le fafaga laina i le poloka poloka faʻaaogaina pe a pasi. le tino talosaga i chunks i "chunked" mode. ".

Manatua o le Node.js platform e mafai ona faʻaoga uma mo le tausiga o le 'auʻaunaga o talosaga i luga ole laiga ma mo le fatuina o polokalame fesoʻotaʻiga masani a tagata faʻatau ma server. Ina ia faʻalauteleina le faʻatinoga o talosaga mo Node.js, ua saunia se aofaʻiga tele o modules, lea e mafai ona e maua ai modules ma le faʻatinoga o le HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 servers ma tagata faʻatau, modules mo le tuʻufaʻatasia. faʻatasi ai ma faʻasalalauga 'upega tafaʻilagi eseese, WebSocket ma Ajax handler , DBMS connectors (MySQL, PostgreSQL, SQLite, MongoDB), faʻataʻitaʻiga afi, masini CSS, faʻatinoga o crypto algorithms ma faiga faʻatagaina (OAuth), XML parsers.

Ina ia mautinoa le faagasologa o se numera tele o talosaga tutusa, Node.js faʻaaogaina se faʻataʻitaʻiga faʻataʻitaʻiga code asynchronous e faʻavae i luga o le faʻaogaina o mea e le faʻalavelaveina ma le faʻamatalaga o tagata e faʻafeiloaʻi. O auala lagolago mo feso'ota'iga fa'atele o le epoll, kqueue, /dev/poll, ma filifili. Mo fesoʻotaʻiga multiplexing, o loʻo faʻaogaina le faletusi libuv, o se faʻaopoopoga mo libev i luga o Unix system ma IOCP i Windows. O le faletusi libeio o loʻo faʻaaogaina e fai ai se filo filo, ma c-ares ua tuʻufaʻatasia e faʻatino ai fesili DNS i le le poloka poloka. O telefoni uma e mafua ai le poloka e faia i totonu o le vaitaele filo ma, e pei o le au faʻailo, toe faʻafeiloaʻi le taunuuga oa latou galuega i se paipa e le o taʻua. O le faʻatinoina o le code JavaScript e tuʻuina atu e ala i le faʻaogaina o le masini V8 na atiaʻe e Google (faʻaopoopo, Microsoft o loʻo atiaʻe se faʻasologa o Node.js ma le Chakra-Core engine).

I lona autu, Node.js e tutusa ma le Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, ma le Tcl event implementation, ae o le mea na tupu i Node.js o loʻo natia mai le atinaʻe ma e pei o le faʻafoeina o mea i totonu o se upega tafaʻilagi o loʻo tamoe. i le su'esu'e. Pe a tusia talosaga mo node.js, e tatau ona e mafaufau i faʻamatalaga patino o polokalame faʻaosoina, mo se faʻataʻitaʻiga, nai lo le faia o le "var result = db.query("select..");" faʻatasi ai ma le faʻatali mo le faʻamaeʻaina o galuega ma le gaioiga mulimuli ane o taunuʻuga, e faʻaaogaina e Node.js le mataupu faavae o le faʻataunuʻuina asynchronous, i.e. ua suia le code i le "db.query ("filifili ..", galuega (iuga) {result process});", lea o le a vave ona pasi atu le pule i le isi code, ma o le a faʻatautaia le faʻaiʻuga pe a oʻo mai faʻamatalaga.

puna: opennet.ru

Faaopoopo i ai se faamatalaga