Inkundla ye-JavaScript eseceleni kweseva i-Node.js 19.0 iyatholakala

I-Node.js 19.0 ikhishwe, inkundla yokusebenzisa izinhlelo zokusebenza zenethiwekhi ku-JavaScript. I-Node.js 19 iyigatsha elivamile elisekelayo elinezibuyekezo ezitholakalayo kuze kube uJuni 2023. Ezinsukwini ezizayo, ukuzinza kwegatsha le-Node.js 18 kuzoqedwa, elizothola isimo se-LTS futhi lizosekelwa kuze kube ngu-April 2025. Ukugcinwa kwegatsha langaphambilini le-LTS le-Node.js 16.0 kuzohlala kuze kube uSepthemba 2023, kanye nonyaka ngaphambi kwegatsha lokugcina le-LTS 14.0 kuze kube ngu-Ephreli 2023.

Ukuthuthukiswa okuyinhloko:

  • Injini ye-V8 ibuyekezelwe kunguqulo 10.7, esetshenziswe ku-Chromium 107. Phakathi kwezinguquko zenjini uma ziqhathaniswa negatsha le-Node.js 18, ukuqaliswa kwenguqulo yesithathu ye-Intl.NumberFormat API kuyaphawulwa, okwengeza ifomethi yemisebenzi emishaUbubanzi (), formatRangeToParts() bese ukhethaRange(), ukuqoqwa kwamasethi, izinketho ezintsha zokusondeza nokusetha ukunemba, ikhono lokuhumusha iyunithi yezinhlamvu njengezinombolo zamadesimali. Ukuncika okufakiwe llhttp 8.1.0 kanye no-npm 8.19.2 nakho kubuyekeziwe.
  • Kuye kwahlongozwa umyalo wokuhlola othi "node -watch" esebenzisa imodi yokubuka eqinisekisa ukuthi inqubo iqalwa kabusha lapho ifayela elingenisiwe lishintsha (isibonelo, uma "node -watch index.js" kusetshenziswa, inqubo izoqalwa kabusha ngokuzenzakalelayo. uma i-index.js ishintsha).
  • Usekelo lwendlela ye-HTTP 1.1 Keep-Alive, eshiya uxhumano luvulekile isikhathi esithile ukuze kucutshungulwe izicelo eziningi ze-HTTP ngaphakathi koxhumano olulodwa, manje seluvuliwe kuzo zonke izixhumanisi eziphumayo ze-HTTP/HTTPS. I-Keep-Alive kulindeleke ukuthi ithuthukise ukuphuma nokusebenza. Isikhathi sokuvala soxhumano oluzenzakalelayo se-keep-alive sisethwe kumasekhondi angu-5. Usekelo lokuhlaziya inhloko ye-Keep-Alive HTTP ezimpendulweni lungeziwe ekusetshenzisweni kweklayenti le-HTTP. iseva, futhi ukusetshenziswa kweseva ye-Node.js HTTP kubuyekeziwe ukuze kunqamule ngokuzenzakalelayo amaklayenti angasebenzi asebenzisa i-Keep-Alive.
  • I-WebCrypto API idluliselwe esigabeni esizinzile, ngaphandle kwemisebenzi esebenzisa i-Ed25519, Ed448, X25519 kanye ne-X448 algorithms. Ukuze ufinyelele imojuli ye-WebCrypto manje ungasebenzisa i-globalThis.crypto noma udinga(‘node:crypto’).webcrypto.
  • Удалена поддержка инструментариев трассировки DTrace, SystemTap и ETW (Event Tracing for Windows), поддержание которых признано нецелесообразным из-за сложности сопровождения в актуальном виде при отсутствии должного плана их поддержки.

Ipulatifomu ye-Node.js ingasetshenziswa kokubili ukusekela izinhlelo zokusebenza zewebhu ohlangothini lweseva kanye nokudala izinhlelo zenethiwekhi ezijwayelekile zamakhasimende kanye nezinsizakalo. Ukuze kwandiswe ukusebenza kwezinhlelo zokusebenza ze-Node.js, kulungiselelwe iqoqo elikhulu lamamojula, okuhlanganisa nalawo asebenzayo amaseva kanye namakhasimende e-HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, amamojula okuhlanganiswa nezinhlaka ezahlukene zewebhu, abaphathi be-WebSocket kanye ne-Ajax, izixhumi ze-DBMS (MySQL, PostgreSQL, SQLite, MongoDB), izinjini zethempulethi, izinjini ze-CSS, ukusetshenziswa kwama-algorithms e-cryptographic kanye nezinhlelo zokugunyazwa (OAuth), ama-pars e-XML.

Ukuze iphathe inani elikhulu lezicelo ezifanayo, i-Node.js isebenzisa imodeli yokwenza ikhodi engavumelani ngokusekelwe ekucutshungulweni kwemicimbi engavimbeli kanye nabaphathi be-callback. Izindlela zokuxhumanisa ezisekelwayo zifaka phakathi i-epoll, i-kqueue, /dev/poll, kanye nokukhetha. Umtapo wezincwadi we-libuv, okuyi-superset ye-libev ezinhlelweni ze-Unix kanye ne-IOCP ku-IOCP, usetshenziselwa ukuxhumanisa. WindowsUmtapo wolwazi we-libeio usetshenziselwa ukudala ichibi lemicu, kanti ama-c-ares ahlanganiswe ukwenza imibuzo ye-DNS kwimodi yokungavimbeli. Zonke izingcingo zesistimu yokuvimba zenziwa ngaphakathi kwechibi lemicu bese, njengabaphathi besignali, zibuyisela imiphumela yazo ngepayipi elingaqanjwanga igama. Ukusebenza kweJavaScript kunikezwa yinjini ye-V8 ye-Google (i-Microsoft iphinde yakha uhlobo lwe-Node.js ngenjini ye-Chakra-Core).

Emgogodleni wayo, i-Node.js ifana nePerl AnyEvent, Ruby Event Machine, Python Twisted frameworks, kanye nokuqaliswa komcimbi we-Tcl, kodwa iluphu yomcimbi ku-Node.js ifihliwe kunjiniyela futhi ifana nokuphathwa komcimbi ohlelweni lokusebenza lwewebhu olusebenzayo. kusiphequluli. Lapho ubhala izinhlelo zokusebenza ze-node.js, udinga ukucabangela imininingwane yohlelo oluqhutshwa umcimbi, isibonelo, esikhundleni sokwenza "var result = db.query("select..");" ngokulinda ukuqedwa komsebenzi kanye nokucutshungulwa okulandelayo kwemiphumela, i-Node.js isebenzisa isimiso sokubulawa okuvumelanayo, i.e. ikhodi iguqulelwa ku-"db.query("select..", function (umphumela) {result processing});", lapho ukulawula kuzodlula khona manjalo kukhodi eqhubekayo, futhi umphumela wombuzo uzocutshungulwa njengoba idatha ifika.

Source: opennet.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster