Platform JavaScript sisih server Node.js 19.0 kasedhiya

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

dandan 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 bisa digunakake kanggo pangopènan server aplikasi Web lan kanggo nggawe program jaringan klien lan server biasa. Kanggo nggedhekake fungsionalitas aplikasi kanggo Node.js, koleksi modul gedhe wis disiapake, ing ngendi sampeyan bisa nemokake modul kanthi implementasi HTTP, SMTP, XMPP, DNS, FTP, IMAP, server POP3 lan klien, modul kanggo integrasi. kanthi macem-macem kerangka web, panangan WebSocket lan Ajax , konektor DBMS (MySQL, PostgreSQL, SQLite, MongoDB), mesin template, mesin CSS, implementasi algoritma crypto lan sistem wewenang (OAuth), parser XML.

Kanggo mesthekake proses akeh panjalukan paralel, Node.js nggunakake model eksekusi kode bedo adhedhasar penanganan acara non-blocking lan definisi panangan callback. Cara sing didhukung kanggo sambungan multiplexing yaiku epoll, kqueue, /dev/poll, lan pilih. Kanggo multiplexing sambungan, perpustakaan libuv digunakake, sing minangka tambahan kanggo libev ing sistem Unix lan IOCP ing Windows. Pustaka libeio digunakake kanggo nggawe blumbang thread, lan c-ares digabungake kanggo nindakake pitakon DNS ing mode non-blocking. Kabeh panggilan sistem sing nyebabake pamblokiran dieksekusi ing jero kolam benang lan banjur, kaya panangan sinyal, nransfer asil kerjane maneh liwat pipa (pipa) sing ora dijenengi. Eksekusi kode JavaScript diwenehake liwat panggunaan mesin V8 sing dikembangake dening Google (saliyane, Microsoft ngembangake versi Node.js kanthi mesin Chakra-Core).

Ing inti, Node.js mirip karo Perl AnyEvent, Mesin Acara Ruby, kerangka Python Twisted, lan implementasi acara Tcl, nanging loop acara ing Node.js didhelikake saka pangembang lan meh padha karo penanganan acara ing aplikasi web sing mlaku. ing browser. Nalika nulis aplikasi kanggo node.js, sampeyan kudu nimbang spesifik program acara-mimpin, contone, tinimbang nindakake "var hasil = db.query ("pilih ..");" karo ngenteni rampung karya lan pangolahan asil sakteruse, Node.js nggunakake prinsip eksekusi bedo, i.e. kode wis rubah menyang "db.query ("pilih ..", fungsi (asil) {Proses asil});", kang kontrol bakal langsung pass kanggo kode luwih, lan asil query bakal diproses minangka data arrives.

Source: opennet.ru

Add a comment