సర్వర్ వైపు JavaScript Node.js 14.0 విడుదల

జరిగింది విడుదల Node.js 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 మద్దతు జోడించబడింది స్థానిక నిల్వను సమకాలీకరించండి AsyncLocalStorage తరగతి అమలుతో, ఇది కాల్‌బ్యాక్ కాల్‌లు మరియు వాగ్దానాల ఆధారంగా హ్యాండ్లర్‌లతో అసమకాలిక స్థితిని సృష్టించడానికి ఉపయోగించబడుతుంది. AsyncLocalStorage వెబ్ అభ్యర్థనను ప్రాసెస్ చేస్తున్నప్పుడు డేటాను నిల్వ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, ఇది ఇతర భాషలలోని థ్రెడ్-స్థానిక నిల్వను గుర్తు చేస్తుంది.
  • లోడ్ అవుతున్నప్పుడు ప్రయోగాత్మక ఫీచర్ గురించి హెచ్చరిక సందేశం తీసివేయబడింది గుణకాలు ECMAScript 6 దిగుమతి మరియు ఎగుమతి ప్రకటనలను ఉపయోగించి కనెక్ట్ చేయబడింది మరియు ఎగుమతి చేయబడింది. అదే సమయంలో, ESM మాడ్యూళ్ల అమలు కూడా ప్రయోగాత్మకంగానే ఉంటుంది.
  • V8 ఇంజిన్ సంస్కరణకు నవీకరించబడింది 8.1 (1, 2, 3), ఇది కొత్త పనితీరు ఆప్టిమైజేషన్‌లు మరియు కొత్త లాజికల్ కంకాటెనేషన్ ఆపరేటర్ "??" వంటి ఫీచర్‌లను కలిగి ఉంటుంది. (ఎడమ ఒపెరాండ్ NULL లేదా నిర్వచించబడకపోతే కుడి ఆపరాండ్‌ను అందిస్తుంది మరియు దీనికి విరుద్ధంగా), "?." ఆపరేటర్ ప్రాపర్టీలు లేదా కాల్‌ల మొత్తం గొలుసు యొక్క ఒక-పర్యాయ తనిఖీ కోసం (ఉదాహరణకు, ప్రాథమిక తనిఖీలు లేకుండా “db?.user?.name?.length”), స్థానికీకరించిన పేర్లను పొందడం కోసం Intl.DisplayName పద్ధతి మొదలైనవి.
  • స్ట్రీమ్‌ల API యొక్క పునర్విమర్శ జరిగింది, స్ట్రీమ్‌ల APIల స్థిరత్వాన్ని మెరుగుపరచడం మరియు Node.js యొక్క ప్రాథమిక భాగాల ప్రవర్తనలో తేడాలను తొలగించడం లక్ష్యంగా పెట్టుకుంది. ఉదాహరణకు, http.OutgoingMessage యొక్క ప్రవర్తన stream.Writableకి దగ్గరగా ఉంటుంది మరియు net.Socket stream.Duplexని పోలి ఉంటుంది. ఆటోడెస్ట్రాయ్ ఎంపిక డిఫాల్ట్‌గా "ట్రూ"కి సెట్ చేయబడింది, అంటే పూర్తయిన తర్వాత "_డిస్ట్రాయ్" అని పిలుస్తుంది.
  • ప్రయోగాత్మక API మద్దతు జోడించబడింది నేనా (WebAssembly సిస్టమ్ ఇంటర్‌ఫేస్), ఆపరేటింగ్ సిస్టమ్‌తో ప్రత్యక్ష పరస్పర చర్య కోసం సాఫ్ట్‌వేర్ ఇంటర్‌ఫేస్‌లను అందించడం (ఫైళ్లు, సాకెట్లు మొదలైన వాటితో పని చేయడానికి POSIX API).
  • కోసం పెరిగిన అవసరాలు కనీస సంస్కరణలు కంపైలర్లు మరియు ప్లాట్‌ఫారమ్‌లు: macOS 10.13 (హై సియెర్రా), GCC 6, విండోస్ కొత్త 7/2008R2.

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, మరియు సెలెక్ట్ ఉన్నాయి. మల్టీప్లెక్స్ కనెక్షన్‌లకు లైబ్రరీ ఉపయోగించబడుతుంది లిబువ్, పైగా ఇది సూపర్ స్ట్రక్చర్ libv Unix సిస్టమ్స్‌లో మరియు విండోస్‌లో IOCP ద్వారా. థ్రెడ్ పూల్‌ను రూపొందించడానికి లైబ్రరీ ఉపయోగించబడుతుంది లిబియో, నాన్-బ్లాకింగ్ మోడ్‌లో DNS ప్రశ్నలను ప్రదర్శించడం కోసం ఏకీకృతం చేయబడింది c-ares. నిరోధించడానికి కారణమయ్యే అన్ని సిస్టమ్ కాల్‌లు థ్రెడ్ పూల్‌లో అమలు చేయబడతాయి మరియు సిగ్నల్ హ్యాండ్లర్ల వలె, పేరులేని పైపు ద్వారా వారి పని ఫలితాన్ని తిరిగి పంపుతుంది. జావాస్క్రిప్ట్ కోడ్ అమలు Google ద్వారా అభివృద్ధి చేయబడిన ఇంజిన్‌ను ఉపయోగించడం ద్వారా నిర్ధారించబడుతుంది V8 (అదనంగా, మైక్రోసాఫ్ట్ చక్ర-కోర్ ఇంజిన్‌తో Node.js సంస్కరణను అభివృద్ధి చేస్తోంది).

దాని ప్రధాన భాగంలో, Node.js ఫ్రేమ్‌వర్క్‌లను పోలి ఉంటుంది పెర్ల్ ఏదైనా ఈవెంట్, రూబీ ఈవెంట్ మెషిన్, పైథాన్ ట్విస్టెడ్ и అమలు Tclలో ఈవెంట్‌లు, కానీ Node.jsలోని ఈవెంట్ లూప్ డెవలపర్ నుండి దాచబడింది మరియు బ్రౌజర్‌లో నడుస్తున్న వెబ్ అప్లికేషన్‌లో ఈవెంట్ హ్యాండ్లింగ్‌ను పోలి ఉంటుంది. node.js కోసం అప్లికేషన్‌లను వ్రాస్తున్నప్పుడు, ఈవెంట్-ఆధారిత ప్రోగ్రామింగ్ యొక్క ప్రత్యేకతలను పరిగణనలోకి తీసుకోవడం అవసరం, ఉదాహరణకు, “var result = db.query(“select..”)” చేయడానికి బదులుగా. పని పూర్తి మరియు ఫలితాల తదుపరి ప్రాసెసింగ్ కోసం వేచి ఉండటంతో, Node.js అసమకాలిక అమలు సూత్రాన్ని ఉపయోగిస్తుంది, అనగా. కోడ్ “db.query(“select..”, ఫంక్షన్ (ఫలితం) {ఫలితం ప్రాసెసింగ్});”గా రూపాంతరం చెందుతుంది, దీనిలో నియంత్రణ వెంటనే తదుపరి కోడ్‌కు వెళుతుంది మరియు డేటా వచ్చిన తర్వాత ప్రశ్న ఫలితం ప్రాసెస్ చేయబడుతుంది. .

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి