Saadaval on serveripÔhine JavaScript platvorm Node.js 19.0

Ilmnes Node.js 19.0, platvorm, mis on mÔeldud JavaScripti pÔhiste vÔrgu rakenduste kÀitamiseks. Node.js 19 kuulub tavapÀrase toega haru alla, mille uuendusi antakse vÀlja kuni 2023. aasta juuni. JÀrgmiste pÀevade jooksul lÔpetatakse Node.js 18 haru stabiliseerimine, mis saab LTS staatuse ja mille toetamist jÀtkatakse kuni aprilli 2025. Eelmise LTS haru Node.js 16.0 toetamist jÀtkatakse kuni septembri 2023, samas kui eelmine LTS haru 14.0 toetamine lÔpeb aprillis 2023.

Peamised tÀiustused:

  • V8 mootori versioon on uuendatud 10.7-le, mis on kasutusel Chromium 107-s. V8 mootori muudatused vĂ”rreldes Node.js 18 haruga hĂ”lmavad kolmanda versiooni API Intl.NumberFormat rakendamist, mis sisaldab uusi funktsioone formatRange(), formatRangeToParts() ja selectRange(), kogude rĂŒhmitamist, uusi ĂŒmardamisvalikuid ja tĂ€psuse mÀÀramist, samuti stringide tĂ”lgendamise vĂ”imalust kĂŒmnendarvudena. Samuti on uuendatud komplekti kuuluvaid sĂ”ltuvusi llhttp 8.1.0 ja npm 8.19.2.
  • Kasutusele on vĂ”etud katsetamise faas «node —watch», mis rakendab jĂ€lgimisreĆŸiimi, vĂ”imaldades protsessi taaskĂ€ivitamist importfaili muutumisel (nĂ€iteks, kui kĂ€ivitatakse «node —watch index.js», taaskĂ€ivitub protsess automaatselt, kui fail index.js muutub).
  • KĂ”ikidele vĂ€listele HTTP/HTTPS ĂŒhendustele on lisatud HTTP 1.1 Keep-Alive mehhanismi tugi, mis jĂ€tab ĂŒhenduse teatud ajaks avatuks, et töödelda mitmeid HTTP-pĂ€ringuid ĂŒhe ja sama ĂŒhenduse piires. Eeldatakse, et Keep-Alive'i rakendamine aitab suurendada lĂ€bilaskevĂ”imet ja jĂ”udlust. Vaikimisi on ĂŒhenduse hoidmise aeg mÀÀratud 5 sekundiks. HTTP-kliendi rakendusse on lisatud tuge Keep-Alive HTTP-pealkirja parsimiseks vastustes, serveriltja Node.js HTTP-serverisse on lisatud mitteaktiivsete klientide automaatne katkestamine, kes kasutavad Keep-Alive'i.
  • Stabiilseks on muudetud API WebCrypto, vĂ€lja arvatud funktsioonid, mis kasutavad algoritme Ed25519, Ed448, X25519 ja X448. NĂŒĂŒd on vĂ”imalik kasutada WebCrypto moodulit globalThis.crypto vĂ”i require(‘node:crypto’).webcrypto kaudu.
  • Eemaldatud on toetus jĂ€lgimisriistadele DTrace, SystemTap ja ETW (Event Tracing for Windows), mille toetamine on tunnistatud otstarbekaks, kuna nende jĂ€tkusuutlikkuse tagamine on keeruline ilma vastava toetusplaanita.

Node.js platvormi saab kasutada nii veebirakenduste serveripoolseks toe tagamiseks kui ka tavaliste klient-serveri vĂ”rgurakenduste loomiseks. Node.js jaoks on vĂ€lja töötatud suur moodulite kogumik, kust leiate mooduleid, mis hĂ”lmavad serverid HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3 kliente, mooduleid erinevate veebiraamistike integreerimiseks, WebSocket ja Ajax töötlejat, andmebaasi ĂŒhendusi (MySQL, PostgreSQL, SQLite, MongoDB), malligeneraatorid, CSS-mootorid, krĂŒptoalgoritmide rakendused ja autentimissĂŒsteemid (OAuth), XML-parsereid.

Suurte paralleelsete pĂ€ringute töötlemise tagamiseks kasutab Node.js asĂŒnkroonset koodikĂ€ivitamise mudelit, mis pĂ”hineb mitteblokeerival sĂŒndmustöötlusel ja tagasiside töötlejate mÀÀramisel. Ühenduste multiplexerimise meetoditeks on sellised meetodid nagu epoll, kqueue, /dev/poll ja select. Ühenduste multiplexerimiseks kasutatakse libuv teeki, mis on libevi peal Unix-sĂŒsteemides ja IOCP peal Windowsis. Tööde vĂ”rgu loomise jaoks kasutatakse libeio teeki, niisuguste mitteblokeerivate DNS-pĂ€ringute töötlemiseks on integreeritud c-ares. KĂ”ik sĂŒsteemikutsed, mis pĂ”hjustavad blokeerimist, toimuvad teede grupis ja edastavad seejĂ€rel oma töö tulemuse tagasi anonĂŒĂŒmse kanali kaudu (pipe). JavaScripti koodi tĂ€itmine toimub Google'i vĂ€lja töötatud V8 mootori kaudu (Microsoft arendab lisaks versiooni Node.js Chakra-Core mootori kasutades).

Oma olemuselt on Node.js sarnane Perl AnyEvent, Ruby Event Machine, Python Twisted raamistikele ja sĂŒndmuste rakendusele Tcl-is, kuid Node.js sĂŒndmuste töötlemise ring on arendajate eest peidetud ja sarnaneb veebirakenduse sĂŒndmuste töötlemisega, mis töötab brauseris. Node.js rakenduste kirjutamisel tuleb arvestada sĂŒndmustepĂ”hise programmeerimise eripĂ€ra, nĂ€iteks, selle asemel, et tĂ€ita "var result = db.query('select..');" oodates töö valmimist ja seejĂ€rel tulemuste töötlemist, kasutatakse Node.js-is asĂŒnkroonilise tĂ€itmise printsiipi, st kood muudetakse "db.query('select..', function (result) {tulemuse töötlemine});", mille puhul juhtimine lĂ€heb koheselt jĂ€rgmisele koodile ja pĂ€ringu tulemust töödeldakse andmete saamisel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster