Minification (programming)
மினிபிகேஷன் (மினிமைசேஷன் அல்லது மினிமைசேஷன்) என்பது விளக்கப்பட்ட நிரலாக்க மொழிகள் அல்லது மார்க்அப் மொழிகளின் மூலக் குறியீட்டிலிருந்து அதன் செயல்பாட்டை மாற்றாமல் அனைத்து தேவையற்ற எழுத்துக்களையும் அகற்றும் செயல்முறையாகும். இந்த தேவையற்ற எழுத்துக்களில் பொதுவாக வெள்ளை இடைவெளி எழுத்துக்கள், புதிய வரி எழுத்துக்கள், கருத்துகள் மற்றும் சில நேரங்களில் தொகுதி வரையறைகளைத் தடுப்பது ஆகியவை அடங்கும், அவை குறியீட்டில் வாசிப்பைச் சேர்க்கப் பயன்படுகின்றன, ஆனால் அவை செயல்படுத்த தேவையில்லை. மினிபிகேஷன் மூலக் குறியீட்டின் அளவைக் குறைக்கிறது, இது ஒரு நெட்வொர்க்கில் (எ. கா. இணையம்) மிகவும் திறமையானது. புரோகிராமர் கலாச்சாரத்தில், மிகவும் சிறிய மூலக் குறியீட்டை இலக்காகக் கொண்டிருப்பது பொழுதுபோக்கு குறியீடு கோல்ஃப் போட்டிகளின் நோக்கமாகும். மினிபிகேஷன் தரவு சுருக்கத்தின் மிகவும் பொதுவான கருத்திலிருந்து வேறுபடுத்தப்படலாம், அதில் மினிபிகேஷன் மூலத்தை சுருக்க நடவடிக்கை தேவை இல்லாமல் உடனடியாக விளக்க முடியும்ஃ அதே மொழிபெயர்ப்பாளர் அசல் மற்றும் மினிபிகேஷன் மூலத்துடன் வேலை செய்ய முடியும். மினிபிகேஷனின் குறிக்கோள்கள் குழப்பத்தின் குறிக்கோள்களைப் போலவே இல்லை; முந்தையது பெரும்பாலும் அழகான-அச்சுப்பொறி அல்லது மினிபையரைப் பயன்படுத்தி தலைகீழாக மாற்றப்படும் நோக்கம் கொண்டது. இருப்பினும், அதன் இலக்குகளை அடைய, மினிபிகேஷன் சில நேரங்களில் தெளிவற்ற முறையில் பயன்படுத்தப்படும் நுட்பங்களைப் பயன்படுத்துகிறது; எடுத்துக்காட்டாக, மாறி பெயர்களைக் குறைத்தல் மற்றும் மூலக் குறியீட்டை மறுசீரமைத்தல். மினிபிகேஷன் அத்தகைய நுட்பங்களைப் பயன்படுத்தும் போது, அழகான-அச்சுப்பொறி அல்லது மினிபையர் அத்தகைய நுட்பங்களால் செய்யப்பட்ட மாற்றங்கள் பற்றிய விவரங்களை வழங்கினால் மட்டுமே மினிபிகேஷன் செயல்முறையை முழுமையாக மாற்றியமைக்க முடியும். அந்த விவரங்கள் வழங்கப்படவில்லை என்றால், தலைகீழ் மூலக் குறியீடு அசல் மூலக் குறியீட்டைப் போலவே அதே செயல்பாட்டைக் கொண்டிருந்தாலும், வெவ்வேறு மாறி பெயர்கள் மற்றும் கட்டுப்பாட்டு ஓட்டத்தைக் கொண்டிருக்கும். எடுத்துக்காட்டாக, ஜாவாஸ்கிரிப்ட் குறியீடு// இது மினிபையர் வர் வரிசை மூலம் அகற்றப்படும் ஒரு கருத்தாகும் = []; ஏனெனில் (வர் i = 0; i <20; i + +) {வரிசை [i] = i;} சமமானது ஆனால் அதை விட நீளமானது (வர் a = [], i = 0; i <20; a [i] = i + +); வரலாறு 2001 இல் டக்ளஸ் கிராக்ஃபோர்ட் JSMin ஐ அறிமுகப்படுத்தினார், இது ஜாவாஸ்கிரிப்ட் குறியீட்டிலிருந்து கருத்துகளையும் வெள்ளை இடங்களையும் அகற்றியது. இதைத் தொடர்ந்து 2007 ஆம் ஆண்டில் YUI அமுக்கி உருவாக்கப்பட்டது. 2009 ஆம் ஆண்டில், கூகிள் அதன் க்ளோசர் கருவித்தொகுப்பைத் திறந்தது, இதில் க்ளோசர் கம்பைலர் உட்பட, இது க்ளோசர் இன்ஸ்பெக்டர் எனப்படும் ஃபயர்பாக்ஸ் நீட்டிப்புடன் ஒரு மூல மேப்பிங் அம்சத்தைக் கொண்டிருந்தது. 2010 ஆம் ஆண்டில், மிஹாய் பாசோன் UglifyJS ஐ அறிமுகப்படுத்தினார், இது 2012 ஆம் ஆண்டில் UglifyJS2 ஆல் மாற்றப்பட்டது; மூல வரைபட ஆதரவை அனுமதிக்க மறு எழுத்து இருந்தது. 2017 முதல், அலெக்ஸ் லாம் UglifyJS2 இன் பராமரிப்பு மற்றும் மேம்பாட்டை எடுத்துக் கொண்டார், அதற்கு பதிலாக UglifyJS3 உடன் மாற்றப்பட்டார், இது CLI ஐ API உடன் ஒருங்கிணைத்தது. 2018 ஆம் ஆண்டில், டெர்சர் uglify-Es இலிருந்து முடக்கப்பட்டது மற்றும் அதன் பின்னர் வேகத்தைப் பெற்றுள்ளது; 2020 ஆம் ஆண்டில் இது தினசரி பதிவிறக்கங்களில் அளவிடப்படும்போது UglifyJS ஐ விட அதிகமாக இருந்தது. மூல வரைபடம் என்பது ஒரு கோப்பு வடிவமாகும், இது ஜாவாஸ்கிரிப்டுக்கான மென்பொருள் கருவிகளை கணினியால் உண்மையில் செயல்படுத்தப்பட்ட குறியீட்டை விட பயனருக்கு வெவ்வேறு குறியீட்டைக் காட்ட அனுமதிக்கிறது. எடுத்துக்காட்டாக, மினிபிகேட் குறியீட்டை பிழைத்திருத்தம் செய்ய உதவுவதற்காக, இந்த குறியீட்டை அசல் மினிபிகேட் செய்யப்படாத மூலக் குறியீட்டிற்கு "மேப்பிங்" செய்வதன் மூலம். மூடல் ஆய்வாளர் மினிபிகேஷன் திட்டத்தின் ஒரு பகுதியாக அசல் வடிவம் ஜோசப் ஷோர் என்பவரால் உருவாக்கப்பட்டது. வடிவத்தின் பதிப்பு 2 மற்றும் 3 வரைபடக் கோப்புகளின் அளவை கணிசமாகக் குறைத்தன. வகைகள் கருவிகள் விஷுவல் ஸ்டுடியோ கோட் பல மொழிகளுக்கான மினிபிகேஷன் ஆதரவுடன் வருகிறது. கூடுதல் மினிபையர்களை பதிவிறக்கம் செய்து நிறுவ இது விஷுவல் ஸ்டுடியோ மார்க்கெட்ப்லேஸை எளிதில் உலாவலாம். ஜாவாஸ்கிரிப்ட் ஆப்டிமைசர்கள் மூல வரைபடங்களைக் குறைத்து உருவாக்கலாம். கூடுதலாக, சில ஆன்லைன் கருவிகள் CSS கோப்புகளை சுருக்கலாம். கோப்பு கோரிக்கைகளை உகந்ததாக்கவும், பல்வேறு கோப்புகளின் அளவைக் குறைப்பதன் மூலம் பக்க சுமை நேரங்களைக் குறைக்கவும் வலை பயன்பாடுகள் மற்றும் வலைத்தளங்களுக்கான வலை மேம்பாட்டு கூறுகள் மற்றும் நூலகங்கள் உருவாக்கப்பட்டுள்ளன. ஜாவாஸ்கிரிப்ட் மற்றும் அடுக்கு பாணி தாள் (சி. எஸ். எஸ்) வளங்கள் குறைக்கப்படலாம், அவற்றின் நடத்தை பாதுகாக்கப்படும் அதே நேரத்தில் அவற்றின் கோப்பு அளவை கணிசமாகக் குறைக்கலாம். ஆன்லைனில் கிடைக்கும் நூலகங்கள் பல்வேறு அளவுகளில் மினிபிகேஷன் மற்றும் ஆப்டிமைசேஷன் திறன் கொண்டவை. சில நூலகங்கள் கிளையன்ட் பதிவிறக்கத்திற்காக பல ஸ்கிரிப்ட் கோப்புகளை ஒரே கோப்பில் இணைக்கின்றன. ஜாவாஸ்கிரிப்ட் மூல வரைபடங்கள் குறியீட்டை இணைத்து மினிமைஸ் செய்த பிறகும் கூட படிக்கக்கூடியதாகவும் பிழைத்திருத்தம் செய்யக்கூடியதாகவும் இருக்கும். குறிப்புகள் மூலக் குறியீடு ஜாவாஸ்கிரிப்ட்