Server-side JavaScript Node.js 13.0 නිකුතුව

ඇත නිකුත්වීම Node.js 13.0,ජාවාස්ක්‍රිප්ට් හි ජාල යෙදුම් ධාවනය සඳහා වේදිකා. ඒ අතරම, Node.js 12.x හි පෙර ශාඛාවේ ස්ථායීකරණය අවසන් කර ඇති අතර, එය දිගුකාලීන ආධාරක නිකුතු කාණ්ඩයට මාරු කර ඇත, යාවත්කාලීන කිරීම් වසර 4 ක් සඳහා නිකුත් කරනු ලැබේ. Node.js 10.0 හි පෙර LTS ශාඛාව සඳහා සහය 2021 අප්‍රේල් දක්වා පවතින අතර අවසාන LTS ශාඛාව 8.0 සඳහා සහය 2020 ජනවාරි දක්වා පවතී.

ප්රධාන වැඩිදියුණු කිරීම්:

  • V8 එන්ජිම අනුවාදයට යාවත්කාලීන කරන ලදී 7.8, නව කාර්ය සාධන ප්‍රශස්තකරණ ශිල්පීය ක්‍රම භාවිතා කරන, වස්තු විනාශ කිරීම වැඩි දියුණු කරයි, මතක පරිභෝජනය අඩු කරයි, සහ WebAssembly ක්‍රියාත්මක කිරීම සඳහා සූදානම් වීමේ කාලය අඩු කරයි;
  • ජාත්‍යන්තරකරණය සහ පුස්තකාලය මත පදනම් වූ යුනිකෝඩ් සඳහා පූර්ණ සහාය පෙරනිමියෙන් සක්‍රීය කර ඇත ICU (යුනිකෝඩ් සඳහා ජාත්‍යන්තර සංරචක), සංවර්ධකයින්ට කේතය ලිවීමට ඉඩ සලසයි සහාය විවිධ භාෂා සහ ප්‍රදේශ සමඟ වැඩ කරන්න. සම්පූර්ණ-icu මොඩියුලය දැන් පෙරනිමියෙන් ස්ථාපනය කර ඇත;
  • API ස්ථාවරයි කම්කරු නූල්, ඉඩ දෙනවා බහු-නූල් සිදුවීම් ලූප සාදන්න. ක්‍රියාත්මක කිරීම පාදක වන්නේ worker_threads මොඩියුලය මත වන අතර එමඟින් ඔබට JavaScript කේතය බහු සමාන්තර නූල් වල ධාවනය කිරීමට ඉඩ සලසයි. Workers Threads API සඳහා ස්ථාවර සහය Node.js 12.x හි LTS ශාඛාව වෙතද ආපසු ලබා දී ඇත;
  • වේදිකා සඳහා අවශ්‍යතා වැඩි කර ඇත. දැන් එකලස් කිරීම සඳහා අවශ්යයි අවම වශයෙන් 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 විග්‍රහයේ පැරණි ක්‍රියාත්මක කිරීම (“—http-parser=legacy”) ඉවත් කර ඇත. ඉවත් කරන ලද හෝ අත්හැර දැමූ ඇමතුම් සහ ගුණාංග FSWatcher.prototype.start(), ChildProcess._channel, ReadStream සහ WriteStream වස්තු වල විවෘත() ක්‍රමය, request.connection, response.connection, module.createRequireFromPath();
  • අනුගමනය එලියට එන්න 13.0.1 යාවත්කාලීන කරන්න, එමඟින් දෝෂ කිහිපයක් ඉක්මනින් විසඳා ඇත. විශේෂයෙන්ම, npm 6.12.0 සහය නොදක්වන අනුවාදයක් භාවිතා කිරීම පිළිබඳ අනතුරු ඇඟවීමක් ප්‍රදර්ශනය කිරීමේ ගැටලුව විසඳා ඇත.

Node.js වේදිකාව වෙබ් යෙදුම්වල සේවාදායක සහාය සඳහා සහ සාමාන්‍ය සේවාදායක සහ සේවාදායක ජාල වැඩසටහන් නිර්මාණය කිරීම සඳහා භාවිතා කළ හැකි බව අපි සිහිපත් කරමු. Node.js සඳහා යෙදුම්වල ක්‍රියාකාරීත්වය පුළුල් කිරීම සඳහා, විශාල සංඛ්‍යාවක් මොඩියුල එකතුව, ඔබට සේවාදායකයන් සහ සේවාලාභීන් ක්‍රියාත්මක කිරීම සමඟ මොඩියුල සොයාගත හැකි HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, විවිධ වෙබ් රාමු සමඟ ඒකාබද්ධ කිරීම සඳහා මොඩියුල, WebSocket සහ Ajax හසුරුවන්නන්, DBMS වෙත සම්බන්ධක (MySQL, PostgreSQL, SQLite , MongoDB ), සැකිලි එන්ජින්, CSS එන්ජින්, ක්‍රිප්ටෝග්‍රැෆික් ඇල්ගොරිතම ක්‍රියාත්මක කිරීම් සහ අවසර පද්ධති (OAuth), XML විග්‍රහ කරන්නන්.

සමාන්තර ඉල්ලීම් විශාල සංඛ්‍යාවක් හැසිරවීමට, Node.js අවහිර නොවන සිදුවීම් සැකසීම සහ ඇමතුම් පරිහරණය කරන්නන් නිර්වචනය කිරීම මත පදනම් වූ අසමමුහුර්ත කේත ක්‍රියාත්මක කිරීමේ ආකෘතියක් භාවිතා කරයි. මල්ටිප්ලෙක්සින් සම්බන්ධතා සඳහා සහය දක්වන ක්‍රම අතර epoll, kqueue, /dev/poll, සහ select ඇතුළත් වේ. බහුවිධ සම්බන්ධතා සඳහා පුස්තකාලය භාවිතා වේ libuv, අවසන් වූ උපරිව්‍යුහයකි libv Unix පද්ධති මත සහ Windows මත IOCP හරහා. නූල් සංචිතයක් නිර්මාණය කිරීම සඳහා පුස්තකාලයක් භාවිතා කරයි libeio, අවහිර නොවන ආකාරයෙන් DNS විමසුම් සිදු කිරීම සඳහා ඒකාබද්ධ වේ c-ares. අවහිර වීමට හේතු වන සියලුම පද්ධති ඇමතුම් නූල් සංචිතය තුළ ක්‍රියාත්මක වන අතර පසුව, සංඥා හසුරුවන්නා මෙන්, ඔවුන්ගේ කාර්යයේ ප්‍රතිඵලය නම් නොකළ පයිප්පයක් හරහා ආපසු ලබා දෙයි. ජාවාස්ක්‍රිප්ට් කේතය ක්‍රියාත්මක කිරීම ගූගල් විසින් සංවර්ධනය කරන ලද එන්ජිමක් භාවිතයෙන් සහතික කෙරේ V8 (මීට අමතරව, Microsoft සමාගම Chakra-Core එන්ජිම සමඟ Node.js අනුවාදයක් සංවර්ධනය කරයි).

එහි හරය, Node.js රාමු වලට සමාන වේ Perl Any Event, Ruby Event Machine, Python Twisted и ක්රියාත්මක කිරීම Tcl හි සිදුවීම්, නමුත් Node.js හි සිදුවීම් ලූපය සංවර්ධකයාගෙන් සඟවා ඇති අතර බ්‍රවුසරයක ක්‍රියාත්මක වන වෙබ් යෙදුමක සිදුවීම් හැසිරවීමට සමාන වේ. node.js සඳහා යෙදුම් ලිවීමේදී, සිදුවීම් මත පදනම් වූ ක්‍රමලේඛනයේ විශේෂතා සැලකිල්ලට ගැනීම අවශ්‍ය වේ, උදාහරණයක් ලෙස, “var result = db.query(“select..”);” කිරීම වෙනුවට. වැඩ නිම කිරීම සහ පසුව ප්රතිඵල සැකසීම සඳහා බලා සිටීමත් සමග, Node.js අසමමුහුර්ත ක්රියාත්මක කිරීමේ මූලධර්මය භාවිතා කරයි, i.e. කේතය “db.query(“තෝරන්න..”, ශ්‍රිතය (ප්‍රතිඵලය) {ප්‍රතිඵල සැකසීම});” බවට පරිවර්තනය වේ, එහිදී පාලනය වහාම වැඩිදුර කේතය වෙත ගමන් කරනු ඇත, සහ දත්ත ලැබෙන විට විමසුම් ප්‍රතිඵලය සැකසෙනු ඇත. .

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න