குறியீடு சார்புகள் பிசாசு.

உங்கள் சார்புநிலைகள் ஒவ்வொரு முறையும் உங்களை எரிக்கும்.
“மாற்றம் மட்டுமே நிலையானது…” - ஹெராக்ளிடஸ் (தத்துவஞானி)

இன்று எங்கள் வலை பயன்பாடுகளை உருவாக்க நாங்கள் பயன்படுத்தும் கருவிகள், நூலகங்கள் மற்றும் கட்டமைப்புகள் சில குறுகிய ஆண்டுகளுக்கு முன்பு நாங்கள் பயன்படுத்தியவற்றிலிருந்து மிகவும் வேறுபட்டவை.

இப்போதிலிருந்து சில குறுகிய ஆண்டுகளில், இந்த தொழில்நுட்பங்களில் பெரும்பாலானவை மீண்டும் வியத்தகு முறையில் மாறியிருக்கும். ஆனாலும், நம்மில் பலர் இவற்றை எங்கள் பயன்பாடுகளின் மைய, பிரிக்க முடியாத பகுதியாக ஆக்குகிறோம்.

மாதச் சுவையின் கட்டமைப்பிலிருந்து நாம் இறக்குமதி செய்கிறோம், பயன்படுத்துகிறோம், மரபுரிமையாகப் பெறுகிறோம், அவை அனைத்தும் எப்போதும் மாறாமல் இருக்கும். சரி… அவர்கள் இல்லை. அது ஒரு பிரச்சினை.

வலை பயன்பாடுகளை உருவாக்குதல், வடிவமைத்தல் மற்றும் கட்டமைத்தல் ஆகியவற்றின் 20+ ஆண்டுகளுக்குப் பிறகு, இரண்டு முக்கியமான உண்மைகளைப் பாராட்ட வந்தேன்:

  1. எந்தவொரு பயன்பாட்டின் நீண்ட கால நிலைத்தன்மை மற்றும் நம்பகத்தன்மைக்கு வெளிப்புற சார்புநிலைகள் பெரும் அச்சுறுத்தலை ஏற்படுத்துகின்றன.
  2. வெளிப்புற சார்புகளை மேம்படுத்தாமல் எந்தவிதமான அற்பமான பயன்பாட்டையும் உருவாக்குவது மிகவும் கடினம் - சாத்தியமற்றது என்றால்.

இந்த கட்டுரை இந்த இரண்டு உண்மைகளையும் சரிசெய்தல் பற்றியது, இதனால் எங்கள் பயன்பாடுகள் நீண்டகால உயிர்வாழ்வதற்கான மிகப்பெரிய வாய்ப்பைக் கொண்டுள்ளன.

முயல் துளை உண்மையில் மிகவும் ஆழமானது.

எங்கள் வலை பயன்பாடுகள் சார்ந்துள்ள எல்லா விஷயங்களையும் சிந்திக்கத் தொடங்கினால், நாம் குறியீட்டைப் பெறுவதற்கு முன்பு ஒரு டஜன் அல்லது அதற்கு மேற்பட்டவற்றை நினைப்பது எளிது:

  • சக்தி
  • இணைப்பு
  • ஃபயர்வால்
  • டி.என்.எஸ்
  • சேவையக வன்பொருள் (CPU, வட்டு, ராம்,…)
  • குளிரூட்டல்
  • மெய்நிகராக்க தளம்
  • கொள்கலன் தளம்
  • இயக்க முறைமை
  • வலை சேவையக தளம்
  • பயன்பாட்டு சேவையக தளம்
  • இணைய உலாவி

டெவலப்பர்களாக, இந்த விஷயங்களைப் பற்றி எச்சரிக்கையாக இருப்பது நல்லது, ஆனால் அவற்றைப் பற்றி நாம் அதிகம் செய்ய முடியாது. எனவே, இப்போதைக்கு அவற்றைப் புறக்கணித்து குறியீட்டைப் பற்றி மட்டுமே பேசலாம்.

குறியீட்டில், மூன்று வகையான சார்புகள் உள்ளன:

1. நாம் கட்டுப்படுத்தும் சார்புகள்

இது எங்களுக்கோ அல்லது எங்கள் நிறுவனத்துக்கோ எழுதப்பட்ட மற்றும் சொந்தமான குறியீடு.

2. நாம் கட்டுப்படுத்தாத சார்புநிலைகள்

இது மூன்றாம் தரப்பு விற்பனையாளர் அல்லது திறந்த மூல மென்பொருள் சமூகத்தால் எழுதப்பட்ட குறியீடு.

3. ஒரு முறை நீக்கப்பட்ட சார்புநிலைகள்

இவை எங்கள் மூன்றாம் தரப்பு குறியீடு சார்புகளை சார்ந்துள்ள குறியீடு சார்புகளாகும். (என்று மூன்று மடங்கு வேகமாகச் சொல்லுங்கள்!)

நாங்கள் கட்டுப்படுத்தாத சார்புநிலைகளைப் பற்றி முக்கியமாக பேசப் போகிறோம்.

நாம் கட்டுப்படுத்தும் சார்புகளும், ஒருமுறை அகற்றப்பட்ட சார்புகளும் இன்னும் தலைவலியை ஏற்படுத்தக்கூடும், ஆனால் நாம் கட்டுப்படுத்தும் சார்புகளின் விஷயத்தில், எந்தவொரு பிரச்சினையையும் நேரடியாக தலையிடவும் குறைக்கவும் முடியும்.

ஒருமுறை அகற்றப்பட்ட சார்புகளின் விஷயத்தில், எங்களுக்காக கவனித்துக்கொள்வதற்கு மூன்றாம் தரப்பினரை நம்பியிருக்கலாம், ஏனென்றால் அவை இவற்றையும் சார்ந்து இருக்கின்றன.

மூன்றாம் தரப்பு குறியீடு சார்புநிலைகள் ஏன் நல்லது

பொதுவான சிக்கல்களைத் தீர்க்க உங்கள் வலை பயன்பாட்டின் பெரும்பகுதி உள்ளது: அங்கீகாரம், அங்கீகாரம், தரவு அணுகல், பிழை கையாளுதல், வழிசெலுத்தல், பதிவு செய்தல், குறியாக்கம், உருப்படிகளின் பட்டியலைக் காண்பித்தல், படிவ உள்ளீடுகளை சரிபார்த்தல் மற்றும் பல ...

நீங்கள் எந்த தொழில்நுட்ப அடுக்கைப் பயன்படுத்தினாலும், இந்த சிக்கல்களுக்கான பொதுவான தீர்வுகள் இருப்பதற்கான நல்ல வாய்ப்பு உள்ளது, மேலும் நீங்கள் எளிதாகப் பெறக்கூடிய மற்றும் உங்கள் கோட்பேஸில் செருகக்கூடிய நூலகங்களாக அவை கிடைக்கின்றன. புதிதாக இந்த விஷயங்களை எழுதுவது பொதுவாக நேரத்தை வீணடிப்பதாகும்.

ஒரு அசாதாரண சிக்கலை தீர்க்கும் அல்லது பொதுவான வழியில் ஒரு பொதுவான சிக்கலை தீர்க்கும் குறியீட்டில் நீங்கள் கவனம் செலுத்த விரும்புகிறீர்கள். இதுதான் உங்கள் பயன்பாட்டை மதிப்புமிக்கதாக ஆக்குகிறது: உங்கள் பயன்பாட்டிற்கு மட்டுமே தனித்துவமான வணிக விதிகளை செயல்படுத்தும் குறியீடு - “ரகசிய சாஸ்.”

கூகிளின் தேடல் மற்றும் பக்க தரவரிசை வழிமுறை, பேஸ்புக்கின் காலவரிசை வடிகட்டுதல், நெட்ஃபிக்ஸ் “உங்களுக்காக பரிந்துரைக்கப்படுகிறது” பிரிவு மற்றும் தரவு சுருக்க வழிமுறைகள்- இந்த எல்லா அம்சங்களுக்கும் பின்னால் உள்ள குறியீடு “ரகசிய சாஸ்” ஆகும்.

மூன்றாம் தரப்பு குறியீடு - நூலகங்களின் வடிவத்தில் - உங்கள் பயன்பாட்டின் பண்டமாக்கப்பட்ட அம்சங்களை விரைவாக செயல்படுத்த உங்களை அனுமதிக்கிறது, எனவே உங்கள் “ரகசிய சாஸில்” கவனம் செலுத்தலாம்.

மூன்றாம் தரப்பு குறியீடு சார்புநிலைகள் ஏன் மோசமானவை

கடந்த இரண்டு ஆண்டுகளில் கட்டப்பட்ட எந்தவொரு அற்பமற்ற வலை பயன்பாட்டையும் பாருங்கள், உண்மையில் மூன்றாம் தரப்பு நூலகத்திலிருந்து வரும் குறியீட்டின் அளவைக் கண்டு நீங்கள் முற்றிலும் திகைத்துப் போவீர்கள். அந்த மூன்றாம் தரப்பு நூலகங்களில் ஒன்று அல்லது அதற்கு மேற்பட்டவை கடுமையாக மாறினால், அல்லது மறைந்துவிட்டால், அல்லது உடைந்தால் என்ன செய்வது?

இது திறந்த மூலமாக இருந்தால், அதை நீங்களே சரிசெய்யலாம். ஆனால் உங்களுக்கு சொந்தமில்லாத அந்த நூலகத்தில் உள்ள அனைத்து குறியீடுகளையும் நீங்கள் எவ்வளவு நன்றாக புரிந்துகொள்கிறீர்கள்? நீங்கள் முதலில் ஒரு நூலகத்தைப் பயன்படுத்துவதற்கான ஒரு பெரிய காரணம், அனைத்து விவரங்களையும் பற்றி கவலைப்படாமல் குறியீட்டின் நன்மைகளைப் பெறுவது. ஆனால் இப்போது நீங்கள் மாட்டிக்கொண்டீர்கள். நீங்கள் சொந்தமில்லாத மற்றும் கட்டுப்படுத்தாத இந்த சார்புகளுடன் உங்கள் செல்வத்தை முழுமையாக இணைத்துள்ளீர்கள்.

கவலைப்பட வேண்டாம், இந்த கட்டுரையின் முடிவில், நீங்கள் ஒரு புதிய நம்பிக்கையைக் காண்பீர்கள்.

ஒருவேளை நான் மிகைப்படுத்துகிறேன், அல்லது முற்றிலும் கல்விக் கண்ணோட்டத்தில் பேசுகிறேன் என்று நீங்கள் நினைக்கலாம். நான் உங்களுக்கு உறுதியளிக்கிறேன் - மூன்றாம் தரப்பு குறியீட்டை தங்கள் பயன்பாட்டில் மிகவும் இறுக்கமாக உட்பொதிப்பதன் மூலம் தங்களை முற்றிலுமாக மறைத்து வைத்த வாடிக்கையாளர்களின் டஜன் கணக்கான எடுத்துக்காட்டுகள் என்னிடம் உள்ளன. இங்கே ஒரு சமீபத்திய எடுத்துக்காட்டு…

என்னுடைய முன்னாள் வாடிக்கையாளர் பேஸ்புஸுக்குச் சொந்தமான பின்தளத்தில் ஒரு சேவை வழங்குநரைப் பயன்படுத்தி தங்கள் பயன்பாட்டை உருவாக்கினார், இது பார்ஸ். பார்ஸ் சேவையை நுகர பார்ஸ் வழங்கிய ஜாவாஸ்கிரிப்ட் கிளையன்ட் நூலகத்தைப் பயன்படுத்தினர். இந்த செயல்பாட்டில், அவர்கள் தங்கள் குறியீட்டை - “ரகசிய சாஸ்” குறியீடு உட்பட - இந்த நூலகத்திற்கு இறுக்கமாக இணைத்தனர்.

எனது வாடிக்கையாளரின் ஆரம்ப தயாரிப்பு வெளியீட்டுக்கு மூன்று மாதங்களுக்குப் பிறகு - உண்மையான, பணம் செலுத்தும் வாடிக்கையாளர்களுடன் அவர்கள் நல்ல இழுவைப் பெறத் தொடங்கியதைப் போலவே - பார்ஸ் அதை மூடுவதாக அறிவித்தது.

இப்போது தங்கள் தயாரிப்பில் கவனம் செலுத்துவதற்கும் அவர்களின் வாடிக்கையாளர் தளத்தை வளர்ப்பதற்கும் கவனம் செலுத்துவதற்குப் பதிலாக, எனது வாடிக்கையாளர் பார்ஸின் சுய-ஹோஸ்ட், திறந்த-மூல பதிப்பிற்கு எவ்வாறு இடம்பெயர்வது அல்லது பார்ஸை முழுவதுமாக மாற்றுவது என்பதைக் கண்டுபிடிக்க வேண்டியிருந்தது.

இது ஒரு இளம், வளர்ந்து வரும் பயன்பாட்டிற்கு ஏற்பட்ட இடையூறு மிகப் பெரியது, எனது வாடிக்கையாளர் இறுதியில் பயன்பாட்டை முழுவதுமாக அகற்றிவிட்டார்.

நல்லது கெட்டதை சமநிலைப்படுத்துதல்

பல ஆண்டுகளுக்கு முன்பு, மூன்றாம் தரப்பு-நூலகங்களின் நன்மைகளைத் தக்க வைத்துக் கொள்ளும்போது, ​​அபாயங்களைத் தாண்டுவதற்கான எனது தீர்வு, அடாப்டர் வடிவத்தைப் பயன்படுத்தி அவற்றை மடக்குவது.

அடிப்படையில், நீங்கள் எழுதிய அடாப்டர் வகுப்பு அல்லது தொகுதியில் மூன்றாம் தரப்பு குறியீட்டை மடிக்கிறீர்கள். மூன்றாம் தரப்பு நூலகங்களின் செயல்பாடுகளை நீங்கள் கட்டுப்படுத்தும் வகையில் அம்பலப்படுத்த இது செயல்படுகிறது.

இந்த முறையைப் பயன்படுத்தி, மூன்றாம் தரப்பு நூலகம் அல்லது கட்டமைப்பை மாற்றினால் அல்லது விலகிச் சென்றால், நீங்கள் அடாப்டர் குறியீட்டை மட்டுமே சரிசெய்ய வேண்டும். உங்கள் பயன்பாட்டின் மீதமுள்ளவை அப்படியே இருக்கும்.

Dofactory.com இலிருந்து அடாப்டர் மாதிரி வரைபடம்

இது காகிதத்தில் நன்றாக இருக்கிறது. உங்களிடம் சில செயல்பாடுகளை மட்டுமே வழங்கும் சுய-சார்பு சார்புகள் இருக்கும்போது, ​​இது தந்திரத்தை செய்யும். ஆனால் விஷயங்கள் அசிங்கமான வேகத்தை பெறலாம்.

ஏதேனும் ஒன்றைப் பயன்படுத்துவதற்கு முன்பு முழு எதிர்வினை நூலகத்தையும் (JSX உட்பட) மடிக்க வேண்டும் என்று நீங்கள் கற்பனை செய்து பார்க்கலாமா? ஜாவாவில் jQuery, அல்லது கோணல் அல்லது வசந்த கட்டமைப்பை மடக்குவது எப்படி? இது விரைவில் ஒரு கனவாக மாறும்.

இந்த நாட்களில் நான் மிகவும் நுணுக்கமான அணுகுமுறையை பரிந்துரைக்கிறேன்…

உங்கள் கோட்பேஸில் நீங்கள் சேர்க்க விரும்பும் ஒவ்வொரு சார்புக்கும், இரண்டு காரணிகளைப் பெருக்குவதன் மூலம் அது அறிமுகப்படுத்தும் ஆபத்து அளவை மதிப்பிடுங்கள்:

  1. பொருள் வழியில் சார்பு மாறும் வாய்ப்பு.
  2. சார்புக்கு ஒரு பொருள் மாற்றம் உங்கள் பயன்பாட்டிற்கு செய்யும் சேதத்தின் அளவு.

பின்வரும் சில அல்லது அனைத்தும் உண்மையாக இருக்கும்போது மூன்றாம் தரப்பு நூலகம் அல்லது கட்டமைப்பை மாற்றுவது குறைவு:

  • இது பல ஆண்டுகளாக உள்ளது மற்றும் பல பெரிய வெளியீடுகளைக் கொண்டுள்ளது.
  • இது பல வணிக பயன்பாடுகளால் பரவலாகப் பயன்படுத்தப்படுகிறது.
  • இது ஒரு பெரிய அமைப்பின் செயலில் ஆதரவைக் கொண்டுள்ளது - முன்னுரிமை ஒரு வீட்டுப் பெயர் நிறுவனம் அல்லது நிறுவனம்.

பின்வரும் சில அல்லது அனைத்தும் உண்மையாக இருக்கும்போது மூன்றாம் தரப்பு நூலகம் அல்லது கட்டமைப்பானது உங்கள் பயன்பாட்டிற்கு குறைவான சேதத்தை ஏற்படுத்தும்:

  • இது உங்கள் பயன்பாட்டின் ஒரு சிறிய பகுதியால் மட்டுமே பயன்படுத்தப்படுகிறது, இது முழுவதும் பயன்படுத்தப்படுவதை விட.
  • அதைப் பொறுத்து இருக்கும் குறியீடு நான் முன்பு பேசிய அந்த “ரகசிய சாஸின்” ஒரு பகுதியாக இல்லை.
  • அதை அகற்ற உங்கள் கோட்பேஸில் குறைந்தபட்ச மாற்றங்கள் தேவை.
  • உங்கள் முழு விண்ணப்பமும் மிகச் சிறியது மற்றும் விரைவாக மீண்டும் எழுதப்படலாம். (இதைப் பற்றி கவனமாக இருங்கள் - இது மிக நீண்ட காலத்திற்கு அரிதாகவே உண்மை.)

ஆபத்தான ஒன்று, நீங்கள் அதை மடக்குவது அல்லது முற்றிலும் தவிர்ப்பது அதிகமாக இருக்க வேண்டும்.

உங்கள் பயன்பாட்டின் மதிப்பு முன்மொழிவுக்கு உண்மையில் மையமாக இருக்கும் குறியீட்டைப் பொறுத்தவரை - உங்கள் “ரகசிய சாஸ்” - நீங்கள் அதை மிகவும் பாதுகாக்க வேண்டும். அந்த குறியீட்டை முடிந்தவரை சுயாதீனமாக்குங்கள். நீங்கள் முற்றிலும் ஒரு சார்புநிலையைப் பயன்படுத்த வேண்டியிருந்தால், அதை நேரடியாகக் குறிப்பிடுவதை விட ஊசி போடுவதைக் கவனியுங்கள். அப்படியிருந்தும், கவனமாக இருங்கள்.

சில நேரங்களில் இதன் பொருள் மூன்றாம் தரப்பு நூலகத்திற்கு “இல்லை” என்று சொல்வது உண்மையிலேயே அருமையாக இருக்கிறது, அல்லது நீங்கள் உண்மையில் ஒரு காரணத்திற்காகவோ அல்லது இன்னொரு காரணத்திற்காகவோ பயன்படுத்த விரும்புகிறீர்கள். திடமாக இரு. என்னை நம்புங்கள், அது பலனளிக்கும். கோணலின் முதல் வெளியீட்டில் அதிக முதலீடு செய்த அனைவரிடமும் அல்லது எல்லா இடங்களிலும் பார்ஸைப் பயன்படுத்திய எனது முன்னாள் வாடிக்கையாளரிடமும் கேளுங்கள். இது வேடிக்கையாக இல்லை. என்னை நம்பு.

வேடிக்கையாகப் பேசுகையில், இதைப் பாருங்கள்…

டைனிடாக் எக்ஸ்ப்ளோரருக்கான சார்பு வரைபடம்

மேலே உள்ள படம் டைனிடாக் எக்ஸ்ப்ளோரர் எனப்படும் பயன்பாட்டிற்கான சார்பு வரைபடமாகும்.

உங்கள் தற்போதைய பயன்பாடுகளுக்கான சார்பு வரைபடத்தை உருவாக்குவது உங்கள் சார்புகளால் அறிமுகப்படுத்தப்படும் அபாயத்தின் அளவைப் புரிந்துகொள்வதற்கான சிறந்த வழியாகும். ஜாவாஸ்கிரிப்ட், சி #, ஜாவா, பி.எச்.பி மற்றும் பைதான் உள்ளிட்ட பல்வேறு மொழிகளில் மேலே உள்ளதைப் போன்ற வரைபடங்களை உருவாக்குவதற்கான இலவச கருவிகளின் பட்டியலை நான் ஒன்றாக இணைத்துள்ளேன். நீங்கள் அதை இங்கே பெறலாம்.

மற்றவர்களுக்கு உதவ எனக்கு உதவுங்கள்

எனது அறிவையும் அனுபவத்தையும் அவர்களுடன் பகிர்ந்து கொள்வதன் மூலம் என்னால் முடிந்த அளவு டெவலப்பர்களுக்கு உதவ விரும்புகிறேன். கீழே உள்ள ❤ பரிந்துரை பொத்தானை (பச்சை இதயம்) கிளிக் செய்வதன் மூலம் எனக்கு உதவுங்கள்.

இறுதியாக, உங்கள் இலவச சார்பு வரைபட ஜெனரேட்டர்களின் பட்டியலைப் பிடிக்க மறக்காதீர்கள்.