Server-side JavaScript Node.js 13.0 ထုတ်ဝေမှု

ရနိုင်ပါတယ် လွှတ်ပေး Node.js ၄.၀JavaScript တွင် ကွန်ရက်အပလီကေးရှင်းများ လည်ပတ်ရန်အတွက် ပလပ်ဖောင်းများ။ တစ်ချိန်တည်းမှာပင်၊ Node.js 12.x ၏ ယခင်ဌာနခွဲ၏ တည်ငြိမ်မှုကို ပြီးမြောက်ခဲ့ပြီး၊ 4 နှစ်ကြာထွက်ရှိထားသော အပ်ဒိတ်များ အမျိုးအစားသို့ လွှဲပြောင်းထားသော ရေရှည်ပံ့ပိုးမှုဆိုင်ရာ ဖြန့်ချိမှုများ၊ Node.js 10.0 ၏ ယခင် LTS ဌာနခွဲအတွက် ပံ့ပိုးမှုသည် ဧပြီလ 2021 အထိ ကြာမြင့်မည်ဖြစ်ပြီး နောက်ဆုံး LTS ဌာနခွဲ 8.0 ကို 2020 ခုနှစ် ဇန်နဝါရီလအထိ ပံ့ပိုးပေးမည်ဖြစ်သည်။

အဓိက တိုးတက်မှုများ:

  • V8 အင်ဂျင်ကို ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ထားသည်။ 7.8စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်အောင် နည်းစနစ်အသစ်များကို အသုံးပြုကာ အရာဝတ္တုများကို ဖျက်စီးခြင်း တိုးတက်စေခြင်း၊ မှတ်ဉာဏ်သုံးစွဲမှုကို လျှော့ချပေးပြီး WebAssembly လုပ်ဆောင်မှုအတွက် ပြင်ဆင်ချိန်ကို လျှော့ချပေးသော၊
  • နိုင်ငံတကာအသွင်ကူးပြောင်းရေးနှင့် စာကြည့်တိုက်အခြေပြု ယူနီကုဒ်အတွက် အပြည့်အဝပံ့ပိုးမှုကို မူရင်းအတိုင်း ဖွင့်ထားသည်။ ပြန်လည်သက်သာလာခြင်း (International Components for Unicode) သည် developer များအား ကုဒ်ရေးရန် ခွင့်ပြုသည်။ ပံ့ပိုးပေးသည်။ မတူညီသောဘာသာစကားများနှင့်ဒေသခံများနှင့်အလုပ်လုပ်။ full-icu module ကို ယခု ပုံသေဖြင့် ထည့်သွင်းထားပါသည်။
  • API တည်ငြိမ်သွားသည်။ အလုပ်သမား လိုင်းများ, ခွင့်ပြုခြင်း။ Multi-threaded event loops ဖန်တီးပါ။ အကောင်အထည်ဖော်မှုသည် worker_threads module ပေါ်တွင် အခြေခံထားပြီး၊ သင်သည် JavaScript ကုဒ်ကို အပြိုင်အဆက်များစွာတွင် လုပ်ဆောင်နိုင်စေပါသည်။ Workers Threads API အတွက် တည်ငြိမ်သောပံ့ပိုးမှုအား Node.js 12.x ၏ LTS ဌာနခွဲသို့လည်း backported ပြုလုပ်ထားပါသည်။
  • ပလပ်ဖောင်းများအတွက် လိုအပ်ချက်များ တိုးလာခဲ့သည်။ အခု ပရိသတ်အတွက် လိုအပ် အနည်းဆုံး macOS 10.11 (Xcode 10 လိုအပ်သည်)၊ AIX 7.2၊ Ubuntu 16.04၊ Debian 9၊ EL 7၊ Alpine 3.8၊ Windows 7/2008၊
  • Python 3 အတွက် ပိုမိုကောင်းမွန်သော ပံ့ပိုးမှု။ စနစ်တွင် Python 2 နှင့် Python 3 နှစ်ခုလုံးပါရှိလျှင် Python 2 ကို ဆက်လက်အသုံးပြုနေသော်လည်း စနစ်တွင် Python 3 ကိုသာ ထည့်သွင်းထားသည့်အခါ တည်ဆောက်နိုင်စွမ်း၊
  • HTTP parser (“—http-parser=legacy”) ၏ အကောင်အထည်ဖော်မှုဟောင်းကို ဖယ်ရှားလိုက်ပါပြီ။ ဖယ်ရှားထားသည် သို့မဟုတ် ရပ်တန့်ထားသည့် ခေါ်ဆိုမှုများနှင့် ဂုဏ်သတ္တိများ FSWatcher.prototype.start(), ChildProcess._channel, open() နည်းလမ်းကို ReadStream နှင့် WriteStream အရာဝတ္ထုများ၊ request.connection, response.connection, module.createRequireFromPath();
  • လိုက်နေသည်။ ထွက်လာတယ်။ bug အများအပြားကို လျင်မြန်စွာ ပြင်ဆင်ပေးသည့် update 13.0.1။ အထူးသဖြင့်၊ ပံ့ပိုးမထားသောဗားရှင်းကိုအသုံးပြုခြင်းနှင့် ပတ်သက်၍ သတိပေးချက်ပြသသည့် npm 6.12.0 နှင့် ပြဿနာကို ဖြေရှင်းပြီးဖြစ်သည်။

Node.js ပလပ်ဖောင်းသည် ဝဘ်အက်ပလီကေးရှင်းများ၏ ဆာဗာပံ့ပိုးမှုအတွက်နှင့် သာမန်အသုံးပြုသူနှင့် ဆာဗာကွန်ရက်ပရိုဂရမ်များကို ဖန်တီးရန်အတွက် နှစ်မျိုးလုံးအသုံးပြုနိုင်ကြောင်း သတိရကြပါစို့။ Node.js အတွက် အပလီကေးရှင်းများ၏ လုပ်ဆောင်နိုင်စွမ်းကို ချဲ့ထွင်ရန်၊ များစွာသော အရေအတွက် modules များစုစည်းမှုဆာဗာများနှင့် ဖောက်သည်များ HTTP၊ SMTP၊ XMPP၊ DNS၊ FTP၊ IMAP၊ POP3၊ အမျိုးမျိုးသော ဝဘ်ဘောင်များ၊ WebSocket နှင့် Ajax ကိုင်တွယ်ဖြေရှင်းသူများ၊ DBMS (MySQL၊ PostgreSQL၊ SQLite နှင့် ပေါင်းစည်းရန်အတွက် မော်ဂျူးများကို သင်ရှာဖွေနိုင်သည် ၊ MongoDB ) ၊ နမူနာအင်ဂျင်များ၊ CSS အင်ဂျင်များ၊ ကုဒ်ဝှက်စနစ်ဆိုင်ရာ အယ်လဂိုရီသမ်များနှင့် ခွင့်ပြုချက်စနစ်များ (OAuth)၊ XML ခွဲခြမ်းစိတ်ဖြာမှုများ။

အပြိုင်တောင်းဆိုမှုများ အများအပြားကို ကိုင်တွယ်ရန်၊ Node.js သည် ပိတ်ဆို့ခြင်းမဟုတ်သော ဖြစ်ရပ်လုပ်ဆောင်ခြင်းနှင့် ပြန်ခေါ်ခြင်းဆိုင်ရာ ကိုင်တွယ်သူများကို သတ်မှတ်ခြင်းအပေါ် အခြေခံ၍ အညီအမျှ ကုဒ်လုပ်ဆောင်မှုပုံစံကို အသုံးပြုသည်။ multiplexing connections အတွက် ပံ့ပိုးပေးထားသော နည်းလမ်းများတွင် epoll၊ kqueue၊ /dev/poll နှင့် select လုပ်ပါ။ စာကြည့်တိုက်ကို multiplex ချိတ်ဆက်မှုများတွင် အသုံးပြုသည်။ libuvစူပါအဆောက်အဦတစ်ခုဖြစ်သည့် ဘာသာရေး Unix စနစ်များနှင့် Windows ရှိ IOCP ကျော်။ thread pool တစ်ခုဖန်တီးရန် စာကြည့်တိုက်ကို အသုံးပြုသည်။ လစ်ဘရီယိုပိတ်ဆို့ခြင်းမပြုသောမုဒ်တွင် DNS မေးမြန်းမှုများကို လုပ်ဆောင်ရန်အတွက် ပေါင်းစပ်ထားသည်။ c-ares များ. ပိတ်ဆို့ခြင်းကို ဖြစ်စေသော စနစ်ခေါ်ဆိုမှုအားလုံးကို thread pool အတွင်းတွင် လုပ်ဆောင်ပြီး၊ ထို့နောက်၊ signal handlers များကဲ့သို့ ၎င်းတို့၏ အလုပ်၏ရလဒ်ကို အမည်မဖော်လိုသော ပိုက်မှတဆင့် ပြန်ပို့ပေးပါသည်။ Google မှ ဖန်တီးထားသော အင်ဂျင်ကို အသုံးပြုခြင်းဖြင့် JavaScript ကုဒ်ကို အကောင်အထည်ဖော်ရန် သေချာပါသည်။ V8 (ထို့ပြင် Microsoft သည် Chakra-Core အင်ဂျင်ဖြင့် Node.js ဗားရှင်းကို ဖန်တီးနေသည်။

၎င်း၏အဓိကတွင် Node.js သည် frameworks များနှင့်ဆင်တူသည်။ Perl AnyEvent, Ruby Event Machine, Python Twisted и အကောင်အထည်ဖော်ခြင်း။ Tcl တွင် အဖြစ်အပျက်များ ဖြစ်သော်လည်း Node.js ရှိ အဖြစ်အပျက် ကွင်းဆက်ကို ဆော့ဖ်ဝဲအင်ဂျင်နီယာမှ ဝှက်ထားပြီး ဘရောက်ဆာတွင် လုပ်ဆောင်နေသည့် ဝဘ်အက်ပလီကေးရှင်းတစ်ခုတွင် ဖြစ်ရပ်ကို ကိုင်တွယ်ပုံနှင့် ဆင်တူသည်။ node.js အတွက် အပလီကေးရှင်းများ ရေးသားသည့်အခါ၊ ဥပမာ၊ “var result = db.query(“select..”);” အစား event-driven programming ၏ တိကျသော အချက်အလက်များကို ထည့်သွင်းစဉ်းစားရန် လိုအပ်ပါသည်။ အလုပ်ပြီးမြောက်မှုနှင့် ရလဒ်များ၏ နောက်ဆက်တွဲလုပ်ဆောင်မှုများကို စောင့်ဆိုင်းခြင်းဖြင့် Node.js သည် asynchronous execution နိယာမကို အသုံးပြုသည်။ ကုဒ်ကို “db.query(“select..”၊ function (result) {result processing});” အဖြစ် ပြောင်းလဲသွားသည်၊ ယင်းတွင် ထိန်းချုပ်မှုသည် နောက်ထပ်ကုဒ်သို့ ချက်ချင်းရောက်သွားမည်ဖြစ်ပြီး၊ ဒေတာရောက်ရှိသည်နှင့် မေးမြန်းချက်ရလဒ်ကို စီမံဆောင်ရွက်မည်ဖြစ်သည်။ .

source: opennet.ru

မှတ်ချက် Add