د سرور اړخ JavaScript Node.js 14.0 خوشې کول

ترسره شو خوشې کول نوډ.جز 14.0په جاواسکریپټ کې د شبکې غوښتنلیکونو چلولو لپاره پلیټ فارمونه. Node.js 14.0 د اوږدې مودې مالتړ څانګه ده، مګر دا حالت به یوازې د اکتوبر په میاشت کې د ثبات وروسته ټاکل کیږي. Node.js 14.0 به ملاتړ شي ترسره شي تر اپریل 2023 پورې. د Node.js 12.0 پخوانۍ LTS څانګې ساتنه به د اپریل تر 2022 پورې دوام وکړي، او د وروستي LTS څانګې 10.0 څخه مخکې کال تر اپریل 2021 پورې. د 13.x سټیګینګ څانګې لپاره ملاتړ به د دې کال په جون کې پای ته ورسیږي.

اصلي پرمختګونه:

  • په الوتنه یا د ځینو پیښو په پیښو کې د تولید وړتیا ثبات لري تشخیصي راپورونه، کوم چې پیښې ښیې چې د ستونزو په تشخیص کې مرسته کوي لکه کریشونه ، د فعالیت تخریب ، د حافظې لیک ، د CPU دروند بار ، غیر متوقع غلطی محصول ، او داسې نور.
  • د تجربوي API ملاتړ اضافه شوی Async سیمه ایز ذخیره د AsyncLocalStorage ټولګي پلي کولو سره ، کوم چې د کال بیک تلیفونونو او ژمنو پراساس د هینډلرونو سره د غیر متمرکز حالت رامینځته کولو لپاره کارول کیدی شي. AsyncLocalStorage تاسو ته اجازه درکوي ډاټا ذخیره کړئ پداسې حال کې چې د ویب غوښتنلیک پروسس کیږي، په نورو ژبو کې د موضوع ځایی ذخیره یادونه کوي.
  • د بارولو په وخت کې د تجربوي ځانګړتیا په اړه د خبرتیا پیغام لرې شوی ماډلونه د ECMAScript 6 د وارداتو او صادراتو بیاناتو په کارولو سره وصل او صادر شوی. په ورته وخت کې، د ESM ماډلونو پلي کول پخپله تجربه پاتې دي.
  • V8 انجن نسخه ته تازه شوی 8.1 (1, 2, 3)، کوم چې د نوي فعالیت اصلاح او ځانګړتیاوې لکه د نوي منطقي کنټینیشن آپریټر "؟؟" شامل دي. (ښه عملیات بیرته راګرځوي که چیرې کیڼ عملیات NULL وي یا نه تعریف شوي، او برعکس)، "؟." آپریټر د ملکیتونو یا زنګونو ټول سلسله د یو ځل چیک لپاره (د مثال په توګه، "db?.user?.name?.length" پرته له لومړنیو چکونو)، د ځایی نومونو ترلاسه کولو لپاره د Intl.DisplayName میتود، او داسې نور.
  • د Streams API بیاکتنه ترسره شوه، چې موخه یې د Streams APIs ثبات ښه کول او د Node.js د بنسټیزو برخو چلند کې توپیرونه له منځه وړل دي. د مثال په توګه، د http.OutgoingMessage چلند stream.Writable ته نږدې دی، او net.Socket د stream.Duplex سره ورته دی. د AutoDestroy اختیار د ډیفالټ په واسطه "ریښتیا" ته ټاکل شوی، پدې معنی چې په بشپړیدو سره د "_destroy" زنګ وهل.
  • د تجربوي API ملاتړ اضافه شوی واسي (د WebAssembly سیسټم انٹرفیس)، د عملیاتي سیسټم سره د مستقیم تعامل لپاره د سافټویر انٹرفیس چمتو کول (د فایلونو، ساکټونو او نورو سره کار کولو لپاره POSIX API).
  • د اړتیاوو زیاتوالی لږترلږه نسخې تالیف کونکي او پلیټ فارمونه: macOS 10.13 (لوړ سیرا)، GCC 6، وینډوز نوی 7/2008R2.

راځئ چې یادونه وکړو چې د Node.js پلیټ فارم دواړه د ویب غوښتنلیکونو سرور اړخ ملاتړ او د عادي پیرودونکي او سرور شبکې برنامو رامینځته کولو لپاره کارول کیدی شي. د Node.js لپاره د غوښتنلیکونو فعالیت پراخولو لپاره، یو لوی شمیر د ماډلونو ټولګه، په کوم کې چې تاسو کولی شئ د سرورونو او پیرودونکو پلي کولو سره ماډلونه ومومئ HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, د مختلف ویب چوکاټونو سره د ادغام لپاره ماډلونه, WebSocket او Ajax handlers, د DBMS سره نښلونکي (MySQL, PostgreSQL, SQLite. , MongoDB )، د ټیمپلیټ انجنونه، د CSS انجنونه، د کریپټوګرافیک الګوریتم پلي کول او د واک ورکولو سیسټمونه (OAuth)، XML پارسرونه.

د لوی شمیر موازي غوښتنو اداره کولو لپاره ، Node.js د غیر بلاک کولو پیښې پروسس کولو او د کال بیک هینډلرونو تعریف کولو پراساس د غیر متناسب کوډ اجرا کولو ماډل کاروي. د ملټي پلیکسینګ اتصال لپاره ملاتړ شوي میتودونه شامل دي ایپل، کیو، /dev/poll، او انتخاب. کتابتون د ملټي پلیکس اړیکو لپاره کارول کیږي libuv, کوم چې یو ستر جوړښت دی لیوه په یونیکس سیسټمونو او په وینډوز کې د IOCP څخه ډیر. یو کتابتون د تار پول جوړولو لپاره کارول کیږي libeio، په غیر بلاک کولو حالت کې د DNS پوښتنو ترسره کولو لپاره مدغم شوی c-ares. ټول سیسټم زنګونه چې د بلاک کولو لامل کیږي د تار په حوض کې اجرا کیږي او بیا د سیګنال هینډلرانو په څیر ، د دوی د کار پایله بیرته د نامعلوم پایپ له لارې تیریږي. د جاواسکریپټ کوډ اجرا کول د ګوګل لخوا رامینځته شوي انجن کارولو له لارې تضمین کیږي V8 (سربیره پردې، مایکروسافټ د چاکرا کور انجن سره د Node.js نسخه رامینځته کوي).

په اصلي کې، Node.js چوکاټ ته ورته دی Perl AnyEvent, د روبي پیښې ماشین, پطرون ټوپ شوی и تطبيق په Tcl کې پیښې، مګر په Node.js کې د پیښې لوپ د پراختیا کونکي څخه پټ دی او په براوزر کې په ویب اپلیکیشن کې د پیښو اداره کولو سره ورته دی. کله چې د node.js لپاره غوښتنلیکونه ولیکئ، نو اړینه ده چې د پیښو لخوا پرمخ وړل شوي پروګرامونو ځانګړتیاوې په پام کې ونیسئ، د بیلګې په توګه، د "var result = db.query" ("select..") کولو پرځای. د کار بشپړیدو او د پایلو وروسته پروسس کولو ته انتظار کولو سره ، Node.js د غیر متناسب اجرا کولو اصول کاروي ، د بیلګې په توګه. کوډ په "db.query("select.." کې بدل شوی، فنکشن (نتیجه) {نتیجې پروسس کول}؛"، په کوم کې چې کنټرول به سمدلاسه نور کوډ ته انتقال شي، او د پوښتنې پایله به پروسس شي کله چې ډاټا راشي. .

سرچینه: opennet.ru

Add a comment