የአገልጋይ ጎን JavaScript መድረክ Node.js 20.0 ይገኛል።

Node.js 20.0 በጃቫስክሪፕት ውስጥ የኔትወርክ አፕሊኬሽኖችን ለማሄድ የሚያስችል መድረክ ተለቀቀ። Node.js 20.0 እንደ የረጅም ጊዜ የድጋፍ ቅርንጫፍ ተመድቧል፣ ነገር ግን ይህ ሁኔታ ከተረጋጋ በኋላ በጥቅምት ወር ብቻ ይመደባል። Node.js 20.x እስከ ኤፕሪል 30፣ 2026 ድረስ ይደገፋል። የNode.js 18.x የቀድሞ LTS ቅርንጫፍ ጥገና እስከ ኤፕሪል 2025 ድረስ ይቆያል፣ እና ካለፈው LTS ቅርንጫፍ 16.x በፊት ያለው እስከ ሴፕቴምበር 2023 ድረስ ይቆያል። የ14.x LTS ቅርንጫፍ ኤፕሪል 30 ይቋረጣል፣ እና Node.js 19.x የማዘጋጃ ቅርንጫፍ ሰኔ 1 ቀን ይቋረጣል።

ዋና ማሻሻያዎች፡-

  • የV8 ኤንጂን ወደ ስሪት 11.3 ተዘምኗል፣ በChromium 113 ጥቅም ላይ ውሏል። ከ Node.js 19 ቅርንጫፍ ጋር ሲነጻጸር፣ Chromium 107 ሞተርን ከተጠቀመው String.prototype.isWellFormed እና toWellFormed ተግባራት፣ Array.prototype እና TypedArray ያካትታሉ። Array እና TypedArray ዕቃዎችን በሚቀይሩበት ጊዜ ከቅጅ ጋር ለመስራት የፕሮቶታይፕ ዘዴዎች ፣ በ RegExp ውስጥ ያለው የ “v” ባንዲራ ፣ ArrayBufferን መጠን ለመቀየር እና የ SharedArrayBufferን መጠን ለመጨመር ድጋፍ ፣ በ WebAssembly ውስጥ የጅራት ድግግሞሽ (ጭራ ጥሪ)።
  • በአፈፃፀም ወቅት የተወሰኑ ሀብቶችን መድረስን የሚገድብ የሙከራ ፈቃድ ሞዴል ዘዴ ቀርቧል። የፍቃድ ሞዴል ድጋፍ በሚሰራበት ጊዜ የ"--ለሙከራ-ፍቃድ" ባንዲራ በመግለጽ ነቅቷል። የመጀመርያው ትግበራ መፃፍን ለመገደብ (--allow-fs-write) እና ማንበብ (--መፍቀድ-fs-ማንበብ) የተወሰኑ የፋይል ስርዓቱን ክፍሎች፣ የልጅ ሂደቶችን (--የልጅ-ሂደትን) እና ማንበብን ለመገደብ አማራጮችን ይሰጣል። add-ons (--no-addons) ) እና ክሮች (--መፍቀድ-ሠራተኛ)። ለምሳሌ፣ ወደ /tmp ማውጫ ለመጻፍ እና የ/home/index.js ፋይልን ለማንበብ ለመፍቀድ፡- መስቀለኛ መንገድ —የሙከራ-ፍቃድ —allow-fs-write=/tmp/ —allow-fs-read=/home /index.js ኢንዴክስ .js

    መዳረሻን ለመፈተሽ የሂደቱን.permission.has() ዘዴን ለመጠቀም ይመከራል፣ ለምሳሌ፣ "process.permission.has('fs.write',"/tmp/test")።

  • በ"--experimental-loader" አማራጭ በኩል የተጫኑ ECMAScript External Module (ESM) ተቆጣጣሪዎች አሁን ከዋናው ክር ተነጥለው በተለየ ክር ውስጥ ይሰራሉ፣ የመተግበሪያ ኮድ እና የተጫኑ የኢኤስኤም ሞጁሎችን መገናኛ ያስወግዳል። ከአሳሾች ጋር በሚመሳሰል መልኩ የ import.meta.resolve() ዘዴ አሁን ከአንድ መተግበሪያ ሲጠራ በተመሳሳይ ጊዜ ይከናወናል። ከቀጣዮቹ የ Node.js ቅርንጫፎች ውስጥ ESMን ለመጫን ድጋፍ ወደ የተረጋጋ ባህሪያት ምድብ ለመሸጋገር ታቅዷል.
  • በጃቫ ስክሪፕት ሙከራዎችን ለመፍጠር እና ለማስኬድ የተነደፈው ሞጁል መስቀለኛ መንገድ፡ሙከራ (test_runner) በTAP (Test Anything Protocol) ቅርጸት የተረጋጋ እንዲሆን ተደርጓል።
  • ለአፈጻጸም ማመቻቸት ኃላፊነት ያለው የተለየ የልማት ቡድን ተቋቁሟል፣ እሱም አዲስ ቅርንጫፍ ሲያዘጋጅ፣ URL መተንተንን፣ ማምጣት() እና EventTargetን ጨምሮ የተለያዩ የአሂድ ጊዜ ክፍሎችን ለማፋጠን ሰርቷል። ለምሳሌ፣ የ EventTarget ጅምር ክፍያ በግማሽ ቀንሷል፣ የ URL.canParse() ዘዴ አፈጻጸም በእጅጉ ተሻሽሏል፣ እና የሰዓት ቆጣሪዎች ቅልጥፍና ተሻሽሏል። በC++ የተጻፈ ከፍተኛ አፈጻጸም ያለው የዩአርኤል ተንታኝ፣ Ada 2.0 መለቀቅንም ያካትታል።
  • መተግበሪያዎችን በአንድ ተፈጻሚ ፋይል (SEA, Single Executable Applications) መልክ ለማቅረብ የሙከራ ችሎታ ማዳበሩ ቀጥሏል. ተፈጻሚነት ያለው ፋይል መፍጠር አሁን በJSON ቅርጸት (ከጃቫ ስክሪፕት ፋይል ይልቅ) ከማዋቀሪያ ፋይል የመነጨውን ብሎብ መተካት ይጠይቃል።
  • የተሻሻለ የድር ክሪፕቶ ኤፒአይ ከሌሎች ፕሮጀክቶች ትግበራዎች ጋር ተኳሃኝነት።
  • በ ARM64 ስርዓቶች ላይ ለዊንዶውስ ይፋዊ ድጋፍ ታክሏል።
  • ለብቻው የሚቆሙ የዌብአሴምብሊ መተግበሪያዎችን ለመፍጠር ለ WASI (WebAssembly System Interface) የድጋፍ ትግበራ ቀጥሏል። የWASI ድጋፍን ለማንቃት ልዩ የትዕዛዝ መስመር ባንዲራ የመግለጽ አስፈላጊነት ተወግዷል።

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

አስተያየት ያክሉ