የአገልጋይ ጎን JavaScript Node.js 17.0 ልቀት

Node.js 17.0 በጃቫስክሪፕት የኔትወርክ አፕሊኬሽኖችን የሚያስኬድ መድረክ ተለቀቀ። Node.js 17.0 እስከ ሰኔ 2022 ማሻሻያዎችን ማግኘቱን የሚቀጥል መደበኛ የድጋፍ ቅርንጫፍ ነው። በመጪዎቹ ቀናት የNode.js 16 ቅርንጫፍ ማረጋጋት ይጠናቀቃል፣ ይህም የLTS ሁኔታን የሚቀበል እና እስከ ኤፕሪል 2024 ድረስ የሚደገፍ ይሆናል። የNode.js 14.0 የቀድሞ LTS ቅርንጫፍ ጥገና እስከ ኤፕሪል 2023 እና ካለፈው LTS ቅርንጫፍ 12.0 በፊት ባለው አመት እስከ ኤፕሪል 2022 ድረስ ይቆያል።

ዋና ማሻሻያዎች፡-

  • የቪ8 ሞተር ወደ ስሪት 9.5 ተዘምኗል።
  • የፕሮሚዝ አልተመሳሰል ኮምፒውቲንግ በይነገጽ አጠቃቀም ላይ የተመሰረተ የመሠረታዊ ኤፒአይ ተለዋጮች ትግበራ ቀጥሏል። ከዚህ ቀደም ከቀረቡት የሰዓት ቆጣሪዎች ተስፋዎች እና ዥረቶች በተጨማሪ ኤፒአይዎች፣ Node.js 17.0 የውሂብ መስመርን በመስመር ለማንበብ የንባብ ሞጁሉን በመጠቀም የReadline Promise API ን ያስተዋውቃል። አስመጣ * እንደ ማንበብ መስመር ከ 'node:readline/ተስፋዎች'; አስመጣ {stdin እንደ ግብዓት, stdout እንደ ውፅዓት} ከ 'ሂደት'; const rl = readline.createInterface ({ግብዓት, ውፅዓት}); const መልስ = ይጠብቁ rl.ጥያቄ ('ስለ Node.js ምን ያስባሉ?'); console.log('ለእርስዎ ጠቃሚ አስተያየት እናመሰግናለን፡ ${answer}'); rl. ዝጋ ();
  • የቀረበው የOpenSSL ቤተ-መጽሐፍት ወደ ስሪት 3.0 ተዘምኗል (የQUIC ፕሮቶኮል ድጋፍ የነቃ ኩክትልስ/opensl ሹካ ጥቅም ላይ ይውላል)።
  • አፕሊኬሽኑ እንዲቋረጥ የሚያደርጉ ገዳይ ስህተቶች ሲከሰቱ በሚወጡ ቁልል ዱካዎች ውስጥ የNode.js ሥሪት እንዲታይ ነቅቷል።

በተጨማሪም፣ አሁን ባሉት የ Node.js (CVE-2021-22959፣ CVE-2021-22960) ቅርንጫፎች ውስጥ ሁለት ተጋላጭነቶችን ማስወገድን መጥቀስ እንችላለን፣ ይህም “HTTP Request Smuggling” (HRS) ጥቃቶችን ለመፈጸም ያስችላል። ከፊት እና ከኋላ መካከል ባለው ተመሳሳይ ክር ውስጥ ወደተሰሩት የሌሎች ተጠቃሚዎች ጥያቄ ይዘቶች እንድንገባ ፍቀድ (ለምሳሌ ተንኮል አዘል የጃቫ ስክሪፕት ኮድ በሌላ ተጠቃሚ ክፍለ ጊዜ ውስጥ ሊገባ ይችላል)። ዝርዝሩ በኋላ ላይ ይገለጣል፣ አሁን ግን ችግሮቹ የተፈጠሩት በኤችቲቲፒ አርዕስት ስም እና በኮሎን መካከል ያሉ ክፍተቶችን ትክክል ባልሆነ አያያዝ እንዲሁም በሚተላለፉበት ጊዜ ጥቅም ላይ በሚውለው የመለኪያ ማገጃ ውስጥ የሰረገላ መመለሻ እና የመስመር ምግብ ቁምፊዎች አያያዝ ምክንያት መሆኑን ብቻ እናውቃለን። የጥያቄው አካል በክፍሎች ውስጥ "በተሰበሰበ" ሁነታ "

የ Node.js መድረክ ለድር መተግበሪያዎች አገልጋይ ድጋፍ እና ተራ ደንበኛ እና የአገልጋይ አውታረ መረብ ፕሮግራሞችን ለመፍጠር ሁለቱንም ሊያገለግል እንደሚችል እናስታውስ። ለ Node.js አፕሊኬሽኖች ተግባራዊነትን ለማስፋት ብዙ የሞጁሎች ስብስብ ተዘጋጅቷል ፣ በዚህ ውስጥ የኤችቲቲፒ ፣ SMTP ፣ XMPP ፣ ዲ ኤን ኤስ ፣ ኤፍቲፒ ፣ IMAP ፣ POP3 አገልጋዮች እና ደንበኞች ፣ ውህደቶች ሞጁሎችን ማግኘት ይችላሉ ። በተለያዩ የድር ማዕቀፎች ፣ WebSocket እና Ajax ተቆጣጣሪዎች ፣ ወደ DBMS (MySQL ፣ PostgreSQL ፣ SQLite ፣ MongoDB) ፣ የአብነት ሞተሮች ፣ የ CSS ሞተሮች ፣ የምስጠራ ስልተ ቀመሮች እና የፈቀዳ ስርዓቶች (OAuth) አተገባበር ፣ ኤክስኤምኤል ተንታኞች።

በርካታ ቁጥር ያላቸው ትይዩ ጥያቄዎችን ማስተናገድን ለማረጋገጥ፣ Node.js በማይከለከል የክስተት አያያዝ እና የመልሶ መደወያ ተቆጣጣሪዎች ትርጉም ላይ የተመሰረተ ያልተመሳሰለ ኮድ ማስፈጸሚያ ሞዴልን ይጠቀማል። ብዙ ግንኙነቶችን ለማገናኘት የሚደገፉ ዘዴዎች epoll, kqueue, /dev/poll እና ይምረጡ. ለግንኙነት ማባዛት፣ የሊቡቭ ቤተ-መጽሐፍት ጥቅም ላይ ይውላል፣ ይህም በዩኒክስ ሲስተምስ ላይ ለሊቭቭ እና በዊንዶውስ ላይ IOCP ነው። የሊቤዮ ቤተ-መጽሐፍት የክር ገንዳ ለመፍጠር ይጠቅማል፣ እና c-ares የተዋሃደው የዲ ኤን ኤስ መጠይቆችን በማይታገድ ሁነታ ነው። እገዳን የሚፈጥሩ ሁሉም የስርዓት ጥሪዎች በክር ገንዳ ውስጥ ይከናወናሉ ከዚያም ልክ እንደ ሲግናል ተቆጣጣሪዎች የስራቸውን ውጤት ባልታወቀ ቧንቧ (ቧንቧ) መልሰው ያስተላልፋሉ። የጃቫስክሪፕት ኮድ ማስፈጸሚያ የሚቀርበው በጎግል በተዘጋጀው የቪ8 ኢንጂን በመጠቀም ነው (በተጨማሪም ማይክሮሶፍት የ Node.js ስሪት ከቻክራ-ኮር ሞተር ጋር እያዘጋጀ ነው።)

በዋናው ላይ፣ Node.js ከፐርል AnyEvent፣ Ruby Event Machine፣ Python Twisted frameworks እና Tcl ክስተት አተገባበር ጋር ተመሳሳይ ነው፣ ነገር ግን በ Node.js ውስጥ ያለው የክስተት ምልልስ ከገንቢው የተደበቀ እና በሚሰራ የድር መተግበሪያ ውስጥ የክስተት አያያዝን ይመስላል። በአሳሽ ውስጥ. ለ node.js ማመልከቻዎችን በሚጽፉበት ጊዜ የክስተት-ተኮር ፕሮግራሞችን ልዩ ሁኔታዎች ግምት ውስጥ ማስገባት አለብዎት, ለምሳሌ "var result = db.query("select..") ከማድረግ ይልቅ. ሥራውን ለማጠናቀቅ እና ውጤቱን ለማስኬድ በመጠባበቅ ፣ Node.js ያልተመሳሰለ የአፈፃፀም መርህን ይጠቀማል ፣ ማለትም። ኮዱ ወደ "db.query("ይምረጡ.."፣ ተግባር (ውጤት) {ውጤት ማቀናበር}) ተቀይሯል፣ በዚህ ውስጥ መቆጣጠሪያው ወዲያውኑ ወደ ተጨማሪ ኮድ ያልፋል፣ እና የጥያቄው ውጤት ውሂብ እንደደረሰ ይከናወናል።

ምንጭ: opennet.ru

አስተያየት ያክሉ