Minification (programming)
ಮಿನಿಫಿಕೇಶನ್ (ಮಿನಿಮೈಸೇಶನ್ ಅಥವಾ ಮಿನಿಮೈಸೇಶನ್ ಸಹ) ಎಂಬುದು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಅಥವಾ ಮಾರ್ಕ್ಅಪ್ ಭಾಷೆಗಳ ಮೂಲ ಕೋಡ್ನಿಂದ ಅದರ ಕಾರ್ಯವನ್ನು ಬದಲಾಯಿಸದೆ ಎಲ್ಲಾ ಅನಗತ್ಯ ಅಕ್ಷರಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ. ಈ ಅನಗತ್ಯ ಅಕ್ಷರಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಬಿಳಿ ಜಾಗದ ಅಕ್ಷರಗಳು, ಹೊಸ ಸಾಲಿನ ಅಕ್ಷರಗಳು, ಕಾಮೆಂಟ್ಗಳು ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಬ್ಲಾಕ್ ಡಿಲಿಮಿಟರ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಇವುಗಳನ್ನು ಕೋಡ್ಗೆ ಓದುವಿಕೆಯನ್ನು ಸೇರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ ಆದರೆ ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅಗತ್ಯವಿಲ್ಲ. ಮಿನಿಫಿಕೇಶನ್ ಮೂಲ ಸಂಕೇತದ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಇದು ಜಾಲಬಂಧದ ಮೂಲಕ ಅದರ ಪ್ರಸರಣವನ್ನು ಮಾಡುತ್ತದೆ (ಉದಾ. ಇಂಟರ್ನೆಟ್) ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ. ಪ್ರೋಗ್ರಾಮರ್ ಸಂಸ್ಕೃತಿಯಲ್ಲಿ, ಮನರಂಜನಾ ಕೋಡ್ ಗಾಲ್ಫ್ ಸ್ಪರ್ಧೆಗಳ ಉದ್ದೇಶವು ಅತ್ಯಂತ ಚಿಕ್ಕದಾದ ಸೋರ್ಸ್ ಕೋಡ್ ಅನ್ನು ಗುರಿಯಾಗಿರಿಸಿಕೊಳ್ಳುತ್ತದೆ. ದತ್ತಾಂಶ ಸಂಕೋಚನದ ಹೆಚ್ಚು ಸಾಮಾನ್ಯ ಪರಿಕಲ್ಪನೆಯಿಂದ ಕನಿಷ್ಠೀಕರಣವನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಹುದು, ಇದರಲ್ಲಿ ಸಣ್ಣ ಮೂಲವನ್ನು ಸಂಕೋಚನ ಹಂತದ ಅಗತ್ಯವಿಲ್ಲದೇ ತಕ್ಷಣವೇ ಅರ್ಥೈಸಿಕೊಳ್ಳಬಹುದುಃ ಅದೇ ಇಂಟರ್ಪ್ರಿಟರ್ ಮೂಲ ಮತ್ತು ಸಣ್ಣ ಮೂಲ ಎರಡರೊಂದಿಗೂ ಕೆಲಸ ಮಾಡಬಹುದು. ಗಣಿಗಾರಿಕೆಯ ಗುರಿಗಳು ಅಸ್ಪಷ್ಟತೆಯ ಗುರಿಗಳಂತೆಯೇ ಇರುವುದಿಲ್ಲ; ಮೊದಲನೆಯದನ್ನು ಹೆಚ್ಚಾಗಿ ಸುಂದರ-ಮುದ್ರಕ ಅಥವಾ ಕಡಿಮೆ ಮಾಡದ ಸಾಧನವನ್ನು ಬಳಸಿ ಹಿಂತಿರುಗಿಸಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಅದರ ಗುರಿಗಳನ್ನು ಸಾಧಿಸಲು, ಮಿನಿಫಿಕೇಶನ್ ಕೆಲವೊಮ್ಮೆ ಅಸ್ಪಷ್ಟತೆಯಿಂದ ಬಳಸಲಾಗುವ ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತದೆ; ಉದಾಹರಣೆಗೆ, ವೇರಿಯೇಬಲ್ ಹೆಸರುಗಳನ್ನು ಚಿಕ್ಕದಾಗಿಸುವುದು ಮತ್ತು ಸೋರ್ಸ್ ಕೋಡ್ ಅನ್ನು ರಿಫ್ಯಾಕ್ಟರಿಂಗ್ ಮಾಡುವುದು. ಮಿನಿಫಿಕೇಶನ್ ಅಂತಹ ತಂತ್ರಗಳನ್ನು ಬಳಸುವಾಗ, ಅಂತಹ ತಂತ್ರಗಳಿಂದ ಮಾಡಿದ ರೂಪಾಂತರಗಳ ವಿವರಗಳನ್ನು ಒದಗಿಸಿದರೆ ಮಾತ್ರ ಪ್ರೆಟಿ-ಪ್ರಿಂಟರ್ ಅಥವಾ ಅನ್ಮಿನಿಫೈಯರ್ ಮಿನಿಫಿಕೇಶನ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ರಿವರ್ಸ್ ಮಾಡಬಹುದು. ಆ ವಿವರಗಳನ್ನು ಒದಗಿಸದಿದ್ದರೆ, ರಿವರ್ಸ್ಡ್ ಸೋರ್ಸ್ ಕೋಡ್ ವಿಭಿನ್ನ ವೇರಿಯೇಬಲ್ ಹೆಸರುಗಳು ಮತ್ತು ನಿಯಂತ್ರಣ ಹರಿವನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಇದು ಮೂಲ ಸೋರ್ಸ್ ಕೋಡ್ನಂತೆಯೇ ಅದೇ ಕಾರ್ಯವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್// ಇದು ಮಿನಿಫೈಯರ್ ವರ್ ರಚನೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗುವ ಕಾಮೆಂಟ್ ಆಗಿದೆ = []; ಫಾರ್ (ವರ್ i = 0; i <20; i + +) {ಅರೇ [i] = i;} ಸಮಾನವಾಗಿರುತ್ತದೆ ಆದರೆ (ವರ್ a = [], i = 0; i <20; a [i] = i + +) ಗಿಂತ ಉದ್ದವಾಗಿದೆ; ಇತಿಹಾಸ 2001 ರಲ್ಲಿ ಡೌಗ್ಲಾಸ್ ಕ್ರೋಕ್ಫೋರ್ಡ್ ಜೆಎಸ್ಮಿನ್ ಅನ್ನು ಪರಿಚಯಿಸಿದರು, ಇದು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ನಿಂದ ಕಾಮೆಂಟ್ಗಳನ್ನು ಮತ್ತು ಸ್ಪೇಸ್ ವೈಟ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಿತು. ಇದನ್ನು 2007ರಲ್ಲಿ YUI ಸಂಕೋಚಕವು ಅನುಸರಿಸಿತು. 2009ರಲ್ಲಿ, ಗೂಗಲ್ ತನ್ನ ಕ್ಲೋಸರ್ ಟೂಲ್ಕಿಟ್ ಅನ್ನು ತೆರೆಯಿತು, ಇದರಲ್ಲಿ ಕ್ಲೋಸರ್ ಕಂಪೈಲರ್ ಸಹ ಸೇರಿತ್ತು, ಇದು ಕ್ಲೋಸರ್ ಇನ್ಸ್ಪೆಕ್ಟರ್ ಎಂಬ ಫೈರ್ಫಾಕ್ಸ್ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಮೂಲ ಮ್ಯಾಪಿಂಗ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಒಳಗೊಂಡಿತ್ತು. 2010ರಲ್ಲಿ, ಮಿಹೈ ಬಾಝೋನ್ UglifyJS ಅನ್ನು ಪರಿಚಯಿಸಿದರು, ಇದನ್ನು 2012ರಲ್ಲಿ UglifyJS2 ಆಕ್ರಮಿಸಿತು; ಮೂಲ ನಕ್ಷೆಯ ಬೆಂಬಲಕ್ಕೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುವುದಾಗಿತ್ತು. 2017 ರಿಂದ, ಅಲೆಕ್ಸ್ ಲ್ಯಾಮ್ ಅವರು ಯುಗ್ಲಿಫೈಜೆಎಸ್ 2 ರ ನಿರ್ವಹಣೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಯನ್ನು ವಹಿಸಿಕೊಂಡರು, ಅದನ್ನು ಯುಗ್ಲಿಫೈಜೆಎಸ್ 3 ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿದರು, ಇದು ಸಿಎಲ್ಐ ಅನ್ನು ಎಪಿಐನೊಂದಿಗೆ ಏಕೀಕರಿಸಿತು. 2018 ರಲ್ಲಿ, ಟೆರ್ಸರ್ ಅನ್ನು uglify-Es ನಿಂದ ಫೋರ್ಕ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅಂದಿನಿಂದ ಆವೇಗವನ್ನು ಗಳಿಸಿದೆ; 2020 ರಲ್ಲಿ ದೈನಂದಿನ ಡೌನ್ಲೋಡ್ಗಳಲ್ಲಿ ಅಳೆಯಿದಾಗ ಇದು UglifyJS ಅನ್ನು ಮೀರಿಸಿದೆ. ಮೂಲ ನಕ್ಷೆಯು ಒಂದು ಕಡತ ಸ್ವರೂಪವಾಗಿದ್ದು, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನ ಸಾಫ್ಟ್ವೇರ್ ಉಪಕರಣಗಳು ಕಂಪ್ಯೂಟರ್ ವಾಸ್ತವವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಕೋಡ್ಗಿಂತ ವಿಭಿನ್ನ ಕೋಡ್ ಅನ್ನು ಬಳಕೆದಾರರಿಗೆ ಪ್ರದರ್ಶಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಮಿನಿಫೈಡ್ ಕೋಡ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಸಹಾಯ ಮಾಡಲು, ಈ ಕೋಡ್ ಅನ್ನು ಮೂಲ ಅನ್ಮಿನಿಫೈಡ್ ಸೋರ್ಸ್ ಕೋಡ್ಗೆ "ಮ್ಯಾಪಿಂಗ್" ಮಾಡುವ ಮೂಲಕ. ಮೂಲ ಸ್ವರೂಪವನ್ನು ಕ್ಲೋಸರ್ ಇನ್ಸ್ಪೆಕ್ಟರ್ ಮಿನಿಫಿಕೇಶನ್ ಯೋಜನೆಯ ಭಾಗವಾಗಿ ಜೋಸೆಫ್ ಸ್ಕೋರ್ ರಚಿಸಿದ್ದಾರೆ. ಸ್ವರೂಪದ ಆವೃತ್ತಿ 2 ಮತ್ತು 3 ನಕ್ಷೆಯ ಕಡತಗಳ ಗಾತ್ರವನ್ನು ಗಣನೀಯವಾಗಿ ಕಡಿಮೆ ಮಾಡಿತು. ವಿಧಗಳು ಪರಿಕರಗಳು ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಕೋಡ್ ಹಲವಾರು ಭಾಷೆಗಳಿಗೆ ಮಿನಿಫಿಕೇಶನ್ ಬೆಂಬಲದೊಂದಿಗೆ ಬರುತ್ತದೆ. ಹೆಚ್ಚುವರಿ ಮಿನಿಫೈಯರ್ಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಸ್ಥಾಪಿಸಲು ಇದು ಸುಲಭವಾಗಿ ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಮಾರ್ಕೆಟ್ಪ್ಲೇಸ್ ಅನ್ನು ಬ್ರೌಸ್ ಮಾಡಬಹುದು. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಆಪ್ಟಿಮೈಜರ್ಗಳು ಮೂಲ ನಕ್ಷೆಗಳನ್ನು ಚಿಕ್ಕದಾಗಿಸಬಹುದು ಮತ್ತು ಉತ್ಪಾದಿಸಬಹುದು. ಇದರ ಜೊತೆಗೆ ಕೆಲವು ಆನ್ಲೈನ್ ಸಾಧನಗಳು ಸಿಎಸ್ಎಸ್ ಕಡತಗಳನ್ನು ಸಂಕುಚಿತಗೊಳಿಸಬಹುದು. ಫೈಲ್ ವಿನಂತಿಗಳನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ಮತ್ತು ವಿವಿಧ ಫೈಲ್ಗಳ ಗಾತ್ರವನ್ನು ಕುಗ್ಗಿಸುವ ಮೂಲಕ ಪುಟ ಲೋಡ್ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ವೆಬ್ಸೈಟ್ಗಳಿಗಾಗಿ ವೆಬ್ ಅಭಿವೃದ್ಧಿ ಘಟಕಗಳು ಮತ್ತು ಗ್ರಂಥಾಲಯಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಕ್ಯಾಸ್ಕೇಡಿಂಗ್ ಸ್ಟೈಲ್ ಶೀಟ್ (ಸಿಎಸ್ಎಸ್) ಸಂಪನ್ಮೂಲಗಳನ್ನು ಚಿಕ್ಕದಾಗಿಸಬಹುದು, ಅವುಗಳ ನಡವಳಿಕೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ಅವುಗಳ ಕಡತದ ಗಾತ್ರವನ್ನು ಗಣನೀಯವಾಗಿ ಕಡಿಮೆ ಮಾಡಬಹುದು. ಆನ್ಲೈನ್ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಗ್ರಂಥಾಲಯಗಳು ವಿವಿಧ ಹಂತಗಳಲ್ಲಿ ಕನಿಷ್ಠೀಕರಣ ಮತ್ತು ಅತ್ಯುತ್ತಮವಾಗಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿವೆ. ಕೆಲವು ಗ್ರಂಥಾಲಯಗಳು ಕ್ಲೈಂಟ್ ಡೌನ್ಲೋಡ್ಗಾಗಿ ಅನೇಕ ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ಗಳನ್ನು ಒಂದೇ ಫೈಲ್ನಲ್ಲಿ ವಿಲೀನಗೊಳಿಸುತ್ತವೆ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಮೂಲ ನಕ್ಷೆಗಳು ಕೋಡ್ ಅನ್ನು ಸಂಯೋಜಿಸಿ ಮತ್ತು ಚಿಕ್ಕದಾಗಿ ಮಾಡಿದ ನಂತರವೂ ಅದನ್ನು ಓದಬಲ್ಲವು ಮತ್ತು ಡೀಬಗ್ ಮಾಡಬಲ್ಲವು. ಉಲ್ಲೇಖಗಳ ಮೂಲ ಕೋಡ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್