Madal-kooxeed-dhinaca JavaScript ee Node.js 19.0 waa la heli karaa

Бостоялся Ρ€Π΅Π»ΠΈΠ· Node.js 19.0, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для выполнСния сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС JavaScript. Node.js 19 отнСсён ΠΊ Π²Π΅Ρ‚ΠΊΠ΅ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ сроком ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, обновлСния для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π΄ΠΎ июня 2023 Π³ΠΎΠ΄Π°. Π’ блиТайшиС Π΄Π½ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° стабилизация Π²Π΅Ρ‚ΠΊΠΈ Node.js 18, которая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ статус LTS ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ апрСля 2025 Π³ΠΎΠ΄Π°. Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ LTS-Π²Π΅Ρ‚ΠΊΠΈ Node.js 16.0 продлится Π΄ΠΎ сСнтября 2023 Π³ΠΎΠ΄Π°, Π° ΠΏΠΎΠ·Π°ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ LTS-Π²Π΅Ρ‚ΠΊΠΈ 14.0 Π΄ΠΎ апрСля 2023 Π³ΠΎΠ΄Π°.

Horumarka ugu weyn:

  • Π”Π²ΠΈΠΆΠΎΠΊ V8 ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ вСрсии 10.7, примСняСмой Π² Chromium 107. Из ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π²ΠΈΠΆΠΊΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π²Π΅Ρ‚ΠΊΠΎΠΉ Node.js 18 отмСчаСтся рСализация Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии API Intl.NumberFormat, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ formatRange(), formatRangeToParts() ΠΈ selectRange(), Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° мноТСств, Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ округлСния ΠΈ задания точности, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ строк ΠΊΠ°ΠΊ дСсятичных чисСл. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ входящиС Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ зависимости llhttp 8.1.0 ΠΈ npm 8.19.2.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«node β€”watchΒ» с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π΅ΠΆΠΈΠΌΠ° наблюдСния, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ пСрСзапуск процСсса ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС выполнСния Β«node β€”watch index.jsΒ» процСсс Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ index.js).
  • Для всСх исходящих HTTP/HTTPS-соСдинСний Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° HTTP 1.1 Keep-Alive, ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ соСдинСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ соСдинСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… HTTP-запросов. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Keep-Alive ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ удСрТания соСдинСния ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ выставлСн Π² 5 сСкунд. Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π±ΠΎΡ€Π° HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Keep-Alive Π² ΠΎΡ‚Π²Π΅Ρ‚Π°Ρ… сСрвСра, Π° Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ HTTP-сСрвСра Node.js Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ автоматичСскоС отсоСдинСниС Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Keep-Alive.
  • Π’ разряд ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ API WebCrypto, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ed25519, Ed448, X25519 ΠΈ X448. Для доступа ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ WebCrypto Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ globalThis.crypto ΠΈΠ»ΠΈ require(β€˜node:crypto’).webcrypto.
  • Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инструмСнтариСв трассировки DTrace, SystemTap ΠΈ ETW (Event Tracing for Windows), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΎ нСцСлСсообразным ΠΈΠ·-Π·Π° слоТности сопровоТдСния Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΈ отсутствии Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Nidaamka Node.js waxaa loo isticmaali karaa labadaba dayactirka server-ka ee codsiyada Webka iyo abuurista macaamiisha joogtada ah iyo barnaamijyada shabakadaha 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 qaabab shabakadeed oo kala duwan, WebSocket iyo Ajax , Xidhiidhiyayaasha DBMS (MySQL, PostgreSQL, SQLite, MongoDB), matoorada qaabaynta, matoorada CSS, hirgelinta crypto algorithms 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