Platforma server JavaScript Node.js 19.0 është e disponueshme.

Doli Node.js 19.0, një platformë për ekzekutimin e aplikacioneve të rrjetit në gjuhën JavaScript. Node.js 19 i përket degës me mbështetje të zakonshme, me përditësime që do të lëshohen deri në qershor 2023. Në ditët e ardhshme do të përfundojë stabilizimi i degës Node.js 18, e cila do të marrë statusin LTS dhe do të mbështetet deri në prill 2025. Mbështetje për degën e mëparshme LTS Node.js 16.0 do të vazhdojë deri në Shtator 2023, ndërsa për degën LTS 14.0 deri në prill 2023.

Përmirësimet kryesore:

  • Motori V8 Ă«shtĂ« azhurnuar nĂ« versionin 10.7, i pĂ«rdorur nĂ« Chromium 107. Ndryshimet nĂ« motor krahasuar me degĂ«n Node.js 18 pĂ«rfshijnĂ« implementimin e versionit tĂ« tretĂ« tĂ« API Intl.NumberFormat, nĂ« tĂ« cilin janĂ« shtuar funksione tĂ« reja formatRange(), formatRangeToParts() dhe selectRange(), grupimi i grupeve, opsione tĂ« reja pĂ«r rrethimin dhe pĂ«rcaktimin e saktĂ«sisĂ«, mundĂ«sia pĂ«r tĂ« interpretuar vargje si numra decimalĂ«. Po ashtu, janĂ« azhurnuar varĂ«sitĂ« e pĂ«rfshira llhttp 8.1.0 dhe npm 8.19.2.
  • ËshtĂ« propozuar njĂ« komandĂ« eksperimentale «node —watch» me implementimin e modit tĂ« monitorimit, qĂ« siguron rindezjen e procesit kur ndryshohet skedari e importuar (pĂ«r shembull, nĂ« rastin e pĂ«rdorimit «node —watch index.js» procesi do tĂ« rindezhet automatikisht kur ndryshohet index.js).
  • PĂ«r tĂ« gjitha lidhjet HTTP/HTTPS qĂ« dalin, Ă«shtĂ« pĂ«rfshirĂ« mbĂ«shtetje pĂ«r mekanizmin HTTP 1.1 Keep-Alive, qĂ« mban lidhjen tĂ« hapur pĂ«r njĂ« kohĂ« tĂ« caktuar pĂ«r tĂ« pĂ«rpunuar disa kĂ«rkesa HTTP brenda njĂ« lidhjeje. Parashikohet se pĂ«rdorimi i Keep-Alive do tĂ« rrisĂ« kapacitetin dhe performancĂ«n. Me default, koha e mbajtjes sĂ« lidhjes tĂ« hapur Ă«shtĂ« vendosur nĂ« 5 sekonda. NĂ« implementimin e klientit HTTP Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r analizimin e titullit HTTP Keep-Alive nĂ« pĂ«rgjigjet. serverĂ«, ndĂ«rsa nĂ« implementimin e serverit HTTP tĂ« Node.js Ă«shtĂ« shtuar shkĂ«putja automatike e klientĂ«ve joaktivĂ« qĂ« pĂ«rdorin Keep-Alive.
  • API WebCrypto Ă«shtĂ« kaluar nĂ« kategorinĂ« e stabilizuar, pĂ«rveç funksioneve qĂ« pĂ«rdorin algoritmet Ed25519, Ed448, X25519 dhe X448. PĂ«r tĂ« aksesuar modulitin WebCrypto tani mund tĂ« pĂ«rdorni globalThis.crypto ose require(‘node:crypto’).webcrypto.
  • MbĂ«shtetje pĂ«r instrumentet e gjurmimit DTrace, SystemTap dhe ETW (Gjurmimi i Ngjarjeve pĂ«r Windows) Ă«shtĂ« hequr pĂ«r shkak tĂ« vĂ«shtirĂ«sive nĂ« mbĂ«shtetje tĂ« pĂ«rputhshme tĂ« modeleve tĂ« reja dhe mungesĂ«s sĂ« njĂ« plani tĂ« duhur pĂ«r mbĂ«shtetje.

Platforma Node.js mund të përdoret për mbështetje serverike të funksionimit të aplikacioneve Web, si dhe për krijimin e aplikacioneve të zakonshme klient-server. Për të zgjeruar funksionalitetin e aplikacioneve për Node.js, është përgatitur një koleksion i madh modulash, ku mund të gjenden module me implementime serverësh dhe klientë HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, module për integrimin me framework-e të ndryshme web, trajtues të WebSocket dhe Ajax, lidhës për DB (MySQL, PostgreSQL, SQLite, MongoDB), motorë të templativëve, engine CSS, implementime të algoritmeve kriptografikë dhe sisteme autorizimi (OAuth), parserë XML.

Për të siguruar përpunimin e një numri të madh kërkesash paralel, Node.js përdor një model asinkron të ekzekutimit të kodit, i bazuar në trajtimin e ngjarjeve në modusin jo-bllokues dhe përcaktimin e handler-ave të callback. Metodat e mbështetura për multipleximin e lidhjeve përfshijnë epoll, kqueue, /dev/poll dhe select. Biblioteka libuv përdoret për multipleximin e lidhjeve, e cila është një shtresë mbi libev në sistemet Unix dhe mbi IOCP në Windows. Për krijimin e një puli të thread-eve, përdoret biblioteka libeio, ndërsa për ekzekutimin e kërkesave DNS në mod të jo-bllokues, është integruar c-ares. Të gjitha thirrjet sistemore qe shkaktojnë bllokim, ekzekutohen brenda pulit të thread-eve dhe më pas, ashtu si dhe handler-at e sinjalit, përcjellin rezultatin e punës së tyre pas një kanali të paemëruar (pipe). Ekzekutimi i kodit JavaScript sigurohet përmes përdorimit të motorit V8 të zhvilluar nga kompania Google (përveç kësaj, Microsoft po zhvillon një variant të Node.js me motorin Chakra-Core).

Në thelb, Node.js është e ngjashme me framework-et Perl AnyEvent, Ruby Event Machine, Python Twisted dhe implementimin e ngjarjeve në Tcl, por cikli i trajtimit të ngjarjeve (event loop) në Node.js është i fshehur nga zhvilluesi dhe përngjan me trajtimin e ngjarjeve në një aplikacion web që funksionon në shfletues. Kur shkruani aplikacione për node.js, është e domosdoshme të merret parasysh specifika e programimit të orientuar nga ngjarjet, për shembull, në vend që të ekzekutohet "var result = db.query('select..');" duke pritur për përfundimin dhe përpunimin e rezultateve, në Node.js përdoret parimi i ekzekutimit asinkron, dmth. kodi transformohet në "db.query('select..', function (result) {përpunimi i rezultatit});", ku kontrolli do të kalojë menjëherë në kodin e mëtejshëm, dhe rezultati i kërkesës do të përpunohen ndërsa vijnë të dhënat.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster