Platform JavaScript sisi server Node.js 19.0 sayogi

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

Perbaikan utama:

  • Π”Π²ΠΈΠΆΠΎΠΊ 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), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΎ нСцСлСсообразным ΠΈΠ·-Π·Π° слоТности сопровоТдСния Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΈ отсутствии Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Platform Node.js tiasa dianggo pikeun pangropΓ©a pangladΓ©n aplikasi wΓ©b sareng pikeun nyiptakeun program jaringan klien sareng server biasa. Pikeun dilegakeun pungsionalitas aplikasi pikeun Node.js, kumpulan modul anu ageung parantos disiapkeun, dimana anjeun tiasa mendakan modul kalayan palaksanaan HTTP, SMTP, XMPP, DNS, FTP, IMAP, server POP3 sareng klien, modul pikeun integrasi. kalawan rupa web frameworks, WebSocket na AJAX pawang , panyambungna DBMS (MySQL, PostgreSQL, SQLite, MongoDB), mesin templating, mesin CSS, palaksanaan algoritma crypto sarta sistem otorisasina (OAuth), XML parsers.

Pikeun mastikeun ngolah sajumlah ageung pamundut paralel, Node.js nganggo modΓ©l palaksanaan kode Asynchronous dumasar kana penanganan acara non-blocking sareng definisi panangan callback. MΓ©tode anu dirojong pikeun sambungan multiplexing nyaΓ©ta epoll, kqueue, / dev / poll, sareng pilih. Pikeun sambungan multiplexing, perpustakaan libuv dipakΓ©, nu mangrupa tambihan-on pikeun libev on sistem Unix sarta IOCP on Windows. Perpustakaan libeio dipakΓ© pikeun nyieun kolam renang thread, sarta c-ares ieu terpadu pikeun ngalakukeun queries DNS dina modeu non-blocking. Sadaya panggero sistem anu nyababkeun blocking dieksekusi di jero kolam renang teras, sapertos panangan sinyal, nransferkeun hasil padamelanna deui ngaliwatan pipa anu henteu namina (pipa). Eksekusi kode JavaScript disayogikeun ku ngagunakeun mesin V8 anu dikembangkeun ku Google (sajaba ti Γ©ta, Microsoft ngembangkeun versi Node.js sareng mesin Chakra-Core).

Intina, Node.js sami sareng Perl AnyEvent, Mesin Acara Ruby, kerangka Python Twisted, sareng palaksanaan acara Tcl, tapi loop acara di Node.js disumputkeun tina pamekar sareng nyarupaan penanganan acara dina aplikasi wΓ©b anu ngajalankeun. dina browser. Nalika nulis aplikasi pikeun node.js, Anjeun kudu mertimbangkeun spΓ©sifik program acara-disetir, contona, tinimbang ngalakukeun "var hasil = db.query ("pilih ..");" kalayan ngantosan parantosan padamelan sareng ngolah hasil salajengna, Node.js nganggo prinsip palaksanaan asinkron, nyaΓ©ta. kode ieu ngajanggΓ©lΓ©k jadi "db.query ("pilih ..", fungsi (hasil) {prosΓ©s hasil});", nu kontrol bakal langsung ngalirkeun kana kode salajengna, sarta hasil query bakal diolah sakumaha data datang.

sumber: opennet.ru

Tambahkeun komentar