பதினொரு வரிகள் கொண்ட ஜாவாஸ்கிரிப்ட் இணையத்தை முடக்கியது. ஒரு நீக்கம்.
மார்ச் 22, 2016, 21:30 UTC: ஒரு டெவலப்பர் தனது 273 npm தொகுப்புகளையும் வெளியிடுவதை நிறுத்துகிறார்.
மார்ச் 22, 2016, 21:30 UTC: ஒரு டெவலப்பர் தனது 273 npm தொகுப்புகளையும் வெளியிடுவதை நிறுத்துகிறார். Kik, ஒரு மெசேஜிங் செயலி, அதன் காப்புரிமை முகவர் "உங்கள் வீட்டு வாசலில் வழக்கறிஞர்கள் வந்து நிற்பார்கள்" என்று அச்சுறுத்தியதால், npm "kik" என்ற தொகுப்பு பெயரை Kik-க்கு வழங்கிய பின்னர் இது நடந்தது. அந்த 273 தொகுப்புகளில் ஒன்று left-pad: ஒரு சரம் முன் இடைவெளிகளை வைக்கும் பதினொரு வரிகள், ஒரு மாதத்திற்கு 2.5 மில்லியன் முறை பதிவிறக்கம் செய்யப்பட்டது. நிமிடங்களுக்குள் Babel, React மற்றும் Node உருவாக்குதல்கள் உலகம் முழுவதும் தோல்வியடைந்தன, நிமிடத்திற்கு நூற்றுக்கணக்கானவை. பத்து நிமிடங்களில் ஒரு கிளை தோன்றியது மற்றும் எதையும் மாற்றவில்லை, ஏனெனில் Babel, line-numbers வழியாக left-pad ஐ இழுக்கிறது, இது 0.0.3 ஐ சரியாக இணைக்கிறது. 23:55 மணிக்கு npm நீக்கப்பட்ட பதிப்பை ஒரு காப்புப்பிரதியிலிருந்து மீட்டெடுக்கிறது — இது பதிவேட்டின் வரலாற்றில் முதல் "வெளியிடலைத் திரும்பப் பெறுதல்" — ஒரு வாரம் கழித்து 24 மணிநேர வெளியிடுவதைத் திரும்பப் பெறும் விதியை வெளியிடுகிறது. npm இன் சொந்த அறிக்கை மற்றும் Kik வெளியிட்ட மின்னஞ்சல் நூல் ஆகியவற்றிலிருந்து பிந்தைய பகுப்பாய்வு: எந்தவொரு ஆசிரியரும் எந்தவொரு பதிப்பையும் சார்ந்தவர்கள் இல்லாமல் நீக்க அனுமதிக்கும் பதிவேடு, ஒவ்வொரு நிறுவலிலும் நேரடியாக தீர்க்கப்பட்ட மாறுதல் மரம், இயல்பாக பூட்டுதல் கோப்பு இல்லை. Git குறை: 60 npm / 25 Kik / 15 சார்பு பழக்கம். திருத்தத்திற்கான தீர்ப்பு: SHIP IT.
எழுத்துப்பூர்வ பதிப்பைப் படிக்கவும் (ஆங்கிலம்) ↗
இந்த வீடியோ எதைப் பற்றி விவாதிக்கிறது
- மார்ச் 11: Kik இன் காப்புரிமை முகவர் Azer Koçulu வை `kik` என்பதை மறுபெயரிட கேட்கிறார்; ஒரு மணி நேரம் கழித்து: வழக்கறிஞர்கள் "உங்கள் வீட்டு வாசலில் வந்து உங்கள் கணக்குகளை முடக்குவார்கள்"; Azer: $30,000; Kik, npm ஆதரவுக்கு மின்னஞ்சல் அனுப்புகிறது.
- மார்ச் 18–20: npm இன் CEO அந்த பெயரை Kik-க்கு மாற்றுகிறார் ("kik.com உடன் தொடர்புடையதாக நியாயமாக எதிர்பார்க்கப்படும்"); Azer தனது அனைத்து தொகுப்புகளையும் நீக்க கேட்கிறார்.
- மார்ச் 22, 21:30–23:55 UTC: 273 தொகுப்புகள் வெளியிடப்படுவது நிறுத்தப்பட்டன; left-pad@0.0.3 ஆனது Babel, Atom, Node திட்டங்களில் 404s ஆகிறது; 21:42 மணிக்கு fork 1.0.0 தோன்றுகிறது; npm இன் CTO 23:03 மணிக்கு "வெளியிடலைத் திரும்பப் பெறுதல்" என்று ட்வீட் செய்கிறார்; 0.0.3 ஆனது 23:55 மணிக்கு காப்புப்பிரதியிலிருந்து மீண்டும் வருகிறது — 2.5 மணிநேரம்.
- மார்ச் 23 மற்றும் மார்ச் 29: npm இன் பிந்தைய பகுப்பாய்வு ("நாங்கள் தவறு செய்துவிட்டோம்") மற்றும் புதிய கொள்கை: 24 மணிநேரத்திற்குள் மட்டுமே வெளியிடுவதைத் திரும்பப் பெறலாம், அகற்றப்பட்ட பெயர்களுக்கான பாதுகாப்பு இடங்கள் (2020 முதல் 72 மணிநேரம்).
மொழிபெயர்க்கப்பட்ட டிரான்ஸ்கிரிப்ட்
அசல் ஆங்கில விளக்கத்திலிருந்து மொழிபெயர்க்கப்பட்டது. கிடைக்கும் ஆடியோ மற்றும் தலைப்புகள் YouTube ஆல் கட்டுப்படுத்தப்படுகின்றன.
0:00 ஒரு டெவலப்பர் பதினொரு வரிகள் கொண்ட ஜாவாஸ்கிரிப்ட் குறியீட்டை நீக்குகிறார், சில நிமிடங்களுக்குள் Babel, React மற்றும் Node உருவாக்கம் உலகம் முழுவதும், நிமிடத்திற்கு நூற்றுக்கணக்கில் தோல்வியடைகின்றன. அந்த செயல்பாடு left-pad. அது ஒரு சரத்திற்கு முன்னால் இடைவெளிகளைச் சேர்க்கிறது, மேலும் அன்றைய மாலைக்குள் npm, அதனால் செய்ய முடியாது என்று அது சொல்லும் ஒரு காரியத்தைச் செய்கிறது: நீக்கப்பட்ட ஒரு பதிப்பை மீண்டும் வெளியிடுகிறது. இது எப்படி நடந்தது, ஏன் சாத்தியம், மற்றும் யார் குற்றம் சாட்டப்படுவார்கள். இது The Daily Diff, பிந்தைய பகுப்பாய்வு. மார்ச் 11. Kik, மெசேஜிங் செயலியின் காப்புரிமை முகவர்,
0:26 Azer Koçulu-க்கு மின்னஞ்சல் அனுப்பினார்: உங்கள் npm தொகுப்பை மறுபெயரிடுங்கள், kik எங்கள் பிராண்ட். Azer மறுக்கிறார். ஒரு மணி நேரம் கழித்து: எங்கள் வர்த்தக முத்திரை வழக்கறிஞர்கள் உங்கள் வீட்டு வாசலில் வந்து உங்கள் கணக்குகளை முடக்குவார்கள். Azer ஒரு விலையை நிர்ணயித்தார், முப்பதாயிரம் டாலர்கள், மற்றும் Kik அந்த மின்னஞ்சல் த்ரெட்டை npm ஆதரவுக்கு அனுப்பியது. மார்ச் 18. npm இன் CEO ஒரு முடிவு எடுத்தார், npm install kik என்று தட்டச்சு செய்யும் எவரும் மெசேஜிங்
0:48 செயலியை எதிர்பார்ப்பார்கள், மேலும் அந்த பெயரை வழங்கினார். Azer தனது அனைத்து தொகுப்புகளையும் நீக்கக் கோரினார். இரண்டு நாட்களுக்குப் பிறகு அவர் அதை தானே செய்தார்: இருநூற்று எழுபத்து மூன்று தொகுப்புகள். மார்ச் 22, 21:30 UTC. left-pad ஐ நாடும் ஒவ்வொரு உருவாக்கமும் 404 ஐப் பெறுகிறது. பத்து நிமிடங்களுக்குப் பிறகு ஒரு அந்நியர் அதை 1.0.0 ஆக மீண்டும் வெளியிடுகிறார், மற்றும் எதுவும் மாறவில்லை, ஏனெனில் Babel மற்றும் Atom அதை line-numbers எனப்படும் ஒரு தொகுப்பு வழியாக ஏற்றுகின்றன, அது 0.0.3 ஐ சரியாக விரும்புகிறது.
1:13 23:03 மணிக்கு npm இன் CTO ட்வீட் செய்கிறார்: வெளியீட்டைத் திரும்பப் பெறுதல். 23:55 மணிக்கு, 0.0.3 ஒரு காப்புப்பிரதியிலிருந்து மீண்டும் வருகிறது. இரண்டரை மணி நேரம். ஒருவரால் இதை ஏன் செய்ய முடியும்? மூன்று காரணங்கள். npm இல் உள்ள எந்தப் பதிப்பையும் அதன் ஆசிரியர் நீக்க முடியும், உடனடியாக, அதை யார் சார்ந்து இருக்கிறார்கள் என்று சரிபார்க்காமல். இரண்டாவது, சார்புகள் மாறுதல் தன்மை கொண்டவை: Babel-க்கு left-pad இருப்பதே தெரியாது, அதற்கு line-numbers தெரியும், மேலும் முழு மரமும் ஒவ்வொரு நிறுவலிலும் நேரடியாக தீர்க்கப்படுகிறது.
1:36 மூன்றாவது, 2016 இல் இயல்பாக அந்த மரத்தை எதுவும் இணைக்கவில்லை; lockfile கள் விருப்பத்தேர்வு, எனவே ஒவ்வொரு CI ரன்னும் இணையத்திடம் பதினொரு வரிகள் கொண்ட குறியீடு எப்படி இருக்கும் என்று மீண்டும் கேட்கிறது. ஒரே பதிவேடு, அதை சார்ந்த யாரும் இயக்கவில்லை. git blame. npm, அறுபது சதவீதம்: அதன் சொந்த பிந்தைய பகுப்பாய்வு கட்டுப்பாடு இல்லாத வெளியிடுவதைத் திரும்பப் பெறுதல் வலியை ஏற்படுத்தியது, மற்றும், மேற்கோள், நாங்கள் தவறு செய்துவிட்டோம் என்று கூறுகிறது. Kik, இருபத்தைந்து: ஒரு காப்புரிமை முகவர், வழக்கறிஞர் அல்ல, Kik ஏற்கனவே பயன்படுத்த வேண்டாம் என்று முடிவு செய்த ஒரு பெயருக்காக வீட்டு வாசலில் வழக்கறிஞர்களை அனுப்புவதாக அச்சுறுத்தினார். சார்பு பழக்கம், பதினைந்து: பதினொரு வரிகளை தட்டச்சு செய்வதற்கு பதிலாக npm-install செய்த அனைவரும்.
2:06 அதை தட்டச்சு செய்வதற்கு பதிலாக. Kik உட்பட, அதன் உருவாக்கங்களும் தோல்வியடைந்தன. வெடிப்பு ஆரம்: இருநூற்று எழுபத்து மூன்று தொகுப்புகள் நீக்கப்பட்டன, அவற்றில் ஒன்று ஒரு மாதத்திற்கு இரண்டரை மில்லியன் முறை பதிவிறக்கம் செய்யப்பட்டது. திருத்தம் இரண்டரை மணிநேரம் எடுக்கிறது; செயல்பாடு பதினொரு வரிகள் எடுக்கிறது. Hacker News இல், நமக்கு நிரல் எழுத மறந்துவிட்டோமா என்று கேட்கும் ஒரு பதிவு பதினேழு நூறு புள்ளிகளைப் பெறுகிறது, பெரும்பாலும் அவர்களின் உருவாக்கம் இன்னும் சிவப்பு நிறத்தில் இருப்பவர்களிடமிருந்து. தீர்ப்பு, பிந்தைய பகுப்பாய்வு: SHIP IT.
2:26 npm காப்புப்பிரதியிலிருந்து மீட்டெடுக்கிறது, அடுத்த நாள் பிந்தைய பகுப்பாய்வை வெளியிடுகிறது, மற்றும் ஒரு வாரத்திற்குள் இன்றும் நடைமுறையில் உள்ள விதியை வெளியிடுகிறது: இருபத்தி நான்கு மணிநேரம் வரை நீக்கலாம், அதன் பிறகு நீங்கள் ஒரு மனிதருடன் பேச வேண்டும். திங்கட்கிழமை: உங்கள் lockfile ஐ கமிட் செய்யுங்கள், மற்றும் ஒரு செயல்பாடு பதினொரு வரிகள் இருந்தால், அது ஒரு பத்தி, ஒரு சார்பு அல்ல. நீங்கள் இன்னும் பேச அனுமதிக்கப்படாத சம்பவத்தை எனக்கு அனுப்பவும், கருத்துகளில், அல்லது the daily diff dot dev இல். மற்றும் இது இன்றைய DIFF.
2:48 நான் Axrisi இலிருந்து Niko. பொறுப்புடன் இணைக்கவும்.
ஆதாரங்கள்
- npm, Inc., "kik, left-pad, and npm" (Mar 23, 2016)blog.npmjs.org
- npm, Inc., "changes to npm's unpublish policy" (Mar 29, 2016)blog.npmjs.org
- Azer Koçulu, "I've Just Liberated My Modules" (Mar 22, 2016; archive copy)web.archive.org
- Mike Roberts (Kik), "A discussion about the breaking of the Internet" — the full e-mail thread (Mar 23, 2016; archive copy)web.archive.org
- Laurie Voss (npm CTO) on X, Mar 22, 2016, 23:03 UTCx.com
- left-pad 0.0.3 on the npm registry (the eleven lines)registry.npmjs.org
- Hacker News, Mar 22, 2016 — "I've Just Liberated My Modules" (1,573 points)news.ycombinator.com
- Hacker News, Mar 23, 2016 — "NPM and Left-Pad: Have We Forgotten How to Program?" (1,725 points)news.ycombinator.com
- Hacker News, Mar 29, 2016 — "Changes to Npm's unpublish policy" (320 points)news.ycombinator.com
- The Register, Mar 23, 2016 — "How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript"www.theregister.com



