சர்வர் பக்க ஜாவாஸ்கிரிப்ட் இயங்குதளத்தின் வெளியீடு 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 முறை போன்றவை.
  • ஸ்ட்ரீம்ஸ் ஏபிஐயின் திருத்தம், ஸ்ட்ரீம்ஸ் ஏபிஐகளின் நிலைத்தன்மையை மேம்படுத்துவதையும் நோட்.ஜேஸின் அடிப்படைப் பகுதிகளின் நடத்தையில் உள்ள வேறுபாடுகளை நீக்குவதையும் நோக்கமாகக் கொண்டது. எடுத்துக்காட்டாக, http.OutgoingMessage இன் நடத்தை stream.Writable, மற்றும் net.Socket க்கு அருகில் உள்ளது stream.Duplex. autoDestroy விருப்பம் முன்னிருப்பாக "true" என அமைக்கப்பட்டுள்ளது, அதாவது முடிந்ததும் "_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 கையாளுபவர்கள், DBMS (MySQL, PostgreSQL, SQLite) ஆகியவற்றுடன் இணைக்கப்பட்ட தொகுதிகளை நீங்கள் காணலாம். , MongoDB ), டெம்ப்ளேட் என்ஜின்கள், CSS இன்ஜின்கள், கிரிப்டோகிராஃபிக் அல்காரிதம்கள் மற்றும் அங்கீகார அமைப்புகளின் செயலாக்கங்கள் (OAuth), XML பாகுபடுத்திகள்.

அதிக எண்ணிக்கையிலான இணை கோரிக்கைகளைக் கையாள, Node.js ஒரு ஒத்திசைவற்ற குறியீடு செயலாக்க மாதிரியைப் பயன்படுத்துகிறது. மல்டிபிளெக்சிங் இணைப்புகளுக்கான ஆதரிக்கப்படும் முறைகளில் epoll, kqueue, /dev/poll மற்றும் தேர்வு ஆகியவை அடங்கும். மல்டிபிளக்ஸ் இணைப்புகளுக்கு நூலகம் பயன்படுகிறது லிபுவ், இது ஒரு மேல்கட்டமைப்பு முடிந்துவிட்டது லிபேவ் யூனிக்ஸ் சிஸ்டங்களில் மற்றும் விண்டோஸில் ஐஓசிபி மூலம். நூல் குளத்தை உருவாக்க நூலகம் பயன்படுத்தப்படுகிறது லிபியோ, தடுக்காத முறையில் DNS வினவல்களைச் செய்வதற்கு ஒருங்கிணைக்கப்பட்டுள்ளது c-ares. தடுப்பை ஏற்படுத்தும் அனைத்து சிஸ்டம் அழைப்புகளும் த்ரெட் பூலுக்குள்ளேயே செயல்படுத்தப்படுகின்றன, பின்னர், சிக்னல் ஹேண்ட்லர்களைப் போல, பெயரிடப்படாத குழாய் வழியாக தங்கள் பணியின் முடிவைத் திருப்பி அனுப்புகிறது. ஜாவாஸ்கிரிப்ட் குறியீட்டை செயல்படுத்துவது Google ஆல் உருவாக்கப்பட்ட இயந்திரத்தைப் பயன்படுத்துவதன் மூலம் உறுதி செய்யப்படுகிறது V8 (மேலும், மைக்ரோசாப்ட் சக்ரா-கோர் இயந்திரத்துடன் Node.js இன் பதிப்பை உருவாக்குகிறது).

அதன் மையத்தில், Node.js ஆனது கட்டமைப்பைப் போன்றது Perl AnyEvent, ரூபி நிகழ்வு இயந்திரம், மலைப்பாம்பு முறுக்கப்பட்ட и செயல்படுத்தல் Tcl இல் நிகழ்வுகள், ஆனால் Node.js இல் உள்ள நிகழ்வு வளையமானது டெவலப்பரிடமிருந்து மறைக்கப்பட்டு உலாவியில் இயங்கும் இணையப் பயன்பாட்டில் நிகழ்வைக் கையாளுவதை ஒத்திருக்கிறது. node.js க்கான பயன்பாடுகளை எழுதும் போது, ​​நிகழ்வு-உந்துதல் நிரலாக்கத்தின் பிரத்தியேகங்களை கணக்கில் எடுத்துக்கொள்ள வேண்டும், எடுத்துக்காட்டாக, "var result = db.query("select..");" வேலை முடிவடையும் வரை காத்திருக்கும் மற்றும் முடிவுகளின் அடுத்தடுத்த செயலாக்கத்துடன், Node.js ஒத்திசைவற்ற செயல்பாட்டின் கொள்கையைப் பயன்படுத்துகிறது, அதாவது. குறியீடு “db.query(“select..”, செயல்பாடு (முடிவு) {முடிவு செயலாக்கம்});” ஆக மாற்றப்படுகிறது, இதில் கட்டுப்பாடு உடனடியாக அடுத்த குறியீட்டிற்கு அனுப்பப்படும், மேலும் தரவு வந்தவுடன் வினவல் முடிவு செயலாக்கப்படும். .

ஆதாரம்: opennet.ru

கருத்தைச் சேர்