Dhinaca Server-ka JavaScript Node.js 17.0 sii deynta

Node.js 17.0, oo ah goob lagu socodsiiyo codsiyada shabakada JavaScript, ayaa la sii daayay. Node.js 17.0 waa laan taageero joogto ah oo sii wadi doonta inay hesho cusboonaysiinta ilaa Juun 2022. Maalmaha soo socda, xasilinta laanta Node.js 16 waa la dhammaystiri doonaa, taas oo heli doonta heerka LTS oo la taageeri doono ilaa Abriil 2024. Dayactirka laantii hore ee LTS ee Node.js 14.0 waxa ay socon doontaa ilaa Abriil 2023, iyo sanadka ka horeeya laanta LTS ee 12.0 ilaa Abriil 2022.

Horumarka ugu weyn:

  • Matoorka V8 ayaa loo cusboonaysiiyay nooca 9.5.
  • Hirgelinta kala duwanaanshaha API-ga aasaasiga ah ee ku salaysan adeegsiga is-dhexgalka kombuyuutarada asynchronous ee Ballanqaadka ayaa sii socday. Marka lagu daro Ballanqaadyada Saacadaha iyo Qulqullada Ballanqaadyada API-yada, Node.js 17.0 waxay soo bandhigaysaa Akhriska Ballanqaadka API ee akhrinta khadka xogta iyadoo la adeegsanayo moduleka akhrinta. soo dejinta * sida khadadka akhriska ee 'node:readline/ balans'; ka soo daji {stdin sida gelinta, stdout sida wax soo saarka} ee 'process'; const rl = readline.createInterface ({ gelida, saarka}); jawaabta const = sug rl. su'aal ('Maxaad u malaynaysaa Node.js?'); console.log ('Waad ku mahadsan tahay jawaab celintaada qiimaha leh: ${jawaab}'); rl. dhow ();
  • Maktabaddii OpenSSL ee la keenay ayaa la cusboonaysiiyay nooca 3.0 (quictls/openssl fargeeto leh taageerada borotokoolka QUIC waa la isticmaalay).
  • Waxa la sahlay nooca Node.js in lagu soo bandhigo raadad raxan ah oo la soo saaro haddii ay dhacaan khaladaad dilaa ah oo sababa in codsigu joojiyo.

Intaa waxaa dheer, waxaan ku xusi karnaa ciribtirka laba dayacan oo ka jira laamaha hadda ee Node.js (CVE-2021-22959, CVE-2021-22960), taas oo suurtogal ka dhigaysa in la fuliyo weerarrada "HTTP Codsiga Tahriibka" (HRS), kaas oo noo ogolow in aan dhex galno waxa ku jira codsiyada isticmaalayaasha kale ee lagu farsameeyay isla dunta u dhaxaysa dhinaca hore iyo dambeedka (tusaale, koodka JavaScript xaasidka ah ayaa la gelin karaa fadhiga isticmaale kale). Faahfaahinta dib ayaa laga soo sheegi doonaa, laakiin hadda waxaan ognahay oo kaliya in dhibaatooyinka ay sababaan maaraynta khaldan ee meelaha u dhexeeya magaca cinwaanka HTTP iyo xiidanka, iyo sidoo kale maaraynta kala duwan ee soo celinta gaadiidka iyo jilayaasha quudinta khadka ee xannibaadda loo isticmaalo marka la gudbinayo. jirka codsiga ee qaybo ka mid ah qaabka "la jeexjeexay"

Aynu xasuusanno in nidaamka Node.js loo isticmaali karo labadaba taageerada dhinaca server-ka ee codsiyada Webka iyo abuurista macaamiisha caadiga ah iyo barnaamijyada shabakada serverka. Si loo ballaariyo shaqeynta codsiyada Node.js, ururin badan oo cutubyo ah ayaa la diyaariyey, kaas oo aad ka heli karto cutubyo leh hirgelinta HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 server iyo macaamiisha, cutubyada isdhexgalka. oo leh qaab-dhismeedka shabakadda ee kala duwan, WebSocket iyo Ajax , xirayaasha DBMS (MySQL, PostgreSQL, SQLite, MongoDB), matoorada template, matoorada CSS, hirgelinta algorithms cryptographic iyo nidaamyada oggolaanshaha (OAuth), XML parsers.

Si loo hubiyo habaynta tiro badan oo codsiyo isbarbar socda, Node.js waxay isticmaashaa qaabka fulinta koodka asynchronous ee ku salaysan maaraynta dhacdo aan xannibin iyo qeexida gacan-qabayaasha dib-u-waraca. Hababka la taageeray ee isku xirka isku dhufashada waa epoll, kqueue, /dev/poll, oo dooro. Isku xirka isku dhufashada, maktabadda libuv ayaa loo isticmaalaa, taas oo ah ku-darka libev ee nidaamyada Unix iyo IOCP ee Windows. Maktabadda libeio waxaa loo isticmaalaa in lagu abuuro barkad dunta leh, iyo c-ares waa la isku daray si loo sameeyo weydiimaha DNS qaab aan xannibin. Dhammaan wicitaanada nidaamka ee sababa xannibaadda waxaa lagu fuliyaa gudaha barkadda dunta ka dibna, sida kuwa gacanta ku haya calaamadaha, waxay natiijada shaqadooda dib ugu wareejiyaan tuubo aan la magacaabin (tuubo). Fulinta koodhka JavaScript waxaa lagu bixiyaa iyadoo la adeegsanayo matoorka V8 ee uu sameeyay Google (marka lagu daro, Microsoft waxay horumarinaysaa nooca Node.js oo leh mashiinka Chakra-Core).

Xuddunta, Node.js waxay la mid tahay Perl AnyEvent, Ruby Event Machine, Python Twisted frameworks, iyo fulinta dhacdada Tcl, laakiin dhacdada loop ee Node.js waa ka qarsoon tahay horumariyaha waxayna u egtahay maaraynta dhacdada ee codsiga shabakadda ee socda. browserka Markaad qoreyso codsiyada node.js, waxaad u baahan tahay inaad tixgeliso waxyaabaha gaarka ah ee barnaamijka socodsiinta dhacdada, tusaale ahaan, halkii aad samayn lahayd "var result = db.query("dooro..");" iyada oo la sugayo dhamaystirka shaqada iyo habaynta ku xigta ee natiijooyinka, Node.js waxay isticmaashaa mabda'a fulinta asynchronous, i.e. koodka waxa loo beddelaa "db.query("dooro..", function (natiijada) {natiijooyinka habaynta});, kaas oo koontaroolku isla markiiba u gudbi doono koodka dheeraadka ah, natiijada waydiintana waxaa laga baaraandegi doonaa marka xogtu timaado.

Source: opennet.ru

Add a comment