【程式設計師的復仇紀】:11 行代碼讓整個網際網路界都炸開了鍋!

2021-02-21 千鋒教育

 

你們4不4以為,


程式設計師都是


看電影找bug,

  不開燻刪數據,


  集天才、禿頂於一身的極品?


所以


老闆總是沒事就給程式設計師來個連環奪命call,


半夜起來改bug;


客戶動不動就對程式設計師說這個很容易實現呀,


你怎麼還沒做出來?


同事總是對他們抱怨


和程式設計師溝通真特麼費勁,


他們都是外星來的吧……


小千都懶得說


你們才是外太空的」入侵者「吧!

  

但是,小千編要警告你們,

沒事別惹程式設計師!不信先看下面


  兩天前,一名NPM社區的貢獻者AzerKoçulu出於對NPM管理層的怨憤(詳情),不聲不響刪除了自己在NPM上面的全部代碼,其中就包含只有11行代碼的「Left-pad」,沒想到從中國北京到美國矽谷,從大學宿舍學習Nodejs的新手到Facebook的資深工程師,整個網際網路界都炸開了鍋,他們手中的許多Nodejs模塊,全罷工了。

  雖然NPM管理員在危機發生後採用強制重新編寫發布了Azer Koçulu的代碼,但是這次NPM風波無疑意義深遠。

  要理解NPM,首先就要知道Node.js。Node.js是基於Javascript語言的後端編程框架,開發網站用的語言,可以理解為PHP的替代品。Node.js最明顯的特徵在於,除了使用Javascript語言,同時還擁有許許多多公用的模塊,都由來自世界各地的開發者貢獻,這些模塊使用NPM管理,NPM就有點像蘋果的App商店,只不過這些模塊都是免費的。

  AzerKoçulu本來是NPM的熱情粉絲,經常為NPM貢獻代碼,其中之一就有個叫Kik的模塊,但是這個模塊可能是功能簡陋,也可能是知名度不高,反正用的人很少,沒什麼存在感。巧合的是,剛好有一家公司也叫Kik,是一款類似微信的社交工具。

  Kik 公司也要在NPM社區用到Kik這個名字,於是就給AzerKoçulu發律師函,義正言辭要求他把自己的Kik換成別的,否則會有律師找上門。AzerKoçulu覺得Kik公司說的很有道理,然後拒絕了。畢竟取名不應該先到先得嗎?憑啥你說什麼我就信什麼,憑什麼你要我做啥我就做啥。而且我又沒做錯什麼,我在剛開始編寫Kik模塊時候並不知道有Kik這個公司。

  Kik公司交涉失敗,直接就向NPM官方投訴了,沒多久,NPM社區管理員沒經過AzerKoçulu本人同意,就把他在NPM上面的Kik模塊的控制權交給了別人。

  這下AzerKoçulu簡直要爆炸了,對於NPM大失所望,沒想到NPM社區是這種玩意,保護大公司,漠視個人開發者。這簡直就是對自己價值觀的奇恥大辱。

  憤怒難抑,AzerKoçulu決定復仇,他要和NPM決裂,一下子刪光了自己在NPM上面的所有代碼。其中就包括流行組件「left-pad」。這個組件只有11行,功能很簡單,就是在給定的字符串左邊重複插入給定的字符,以達到需要的字符串長度。

  這個Nodejs模塊雖然簡單,但是應用非常廣泛,下載量超過57萬次。Facebook、Spotify以及Netflix等著名公司大型軟體項目中都用到了Babel這個模塊,而Bel本來這個模塊又調用了「left-pad」這個模塊。同時受影響的還有當今非常著名的React框架,這個框架幫助前端工程師更便捷地開發網站界面,全世界同時學習React框架的程式設計師可能數百萬,但是突然就都不能用了。據NPM官方博客,「left-pad」刪除後,受到影響的模塊達到數千個。

  這就像飛機的發動機突然掉了一顆螺絲,點火時候系統就肯定會報錯,但是你卻很難定位為題的出處。畢竟Nodejs採用連環套的設計思想,你調用的模塊可能調用了其他模塊,其他模塊也調用了自己的其他模塊,一層又一層,代碼量千千萬,定位並修復所有的問題代碼,實在工程浩大。

  這場意外迅速在Twitter、以及微博上炸開了鍋,眾多網友反應React、Babel、Ember無法使用,數小時後也有網友反映Babel已經推出了緊急修補版。

  以外發生4個多小時後,NPM社區管理員決定出手,把「left-pad」這個名字從AzerKoçulu手中奪了回來,重新寫了一個「left-pad」函數,終於才撫平了千萬程式設計師躁動的心。

  這次意外發生後,眾多開發者開始懷疑NPM的管理能力,龐大的Nodejs社區竟然危機四伏,今後如果有貢獻者誤操作或密碼被盜,全世界無數的Nodejs 開發者瞬間無法工作。同時也有人開始懷疑NPM的設計哲學,為什麼不設計官方標準庫,而是把十來行,甚至只有1行的代碼設計成獨立的模塊。比如有個叫 isArray的模塊,下載量達到88萬次,其實只有1行代碼而已。



"無知"的人類


你們還敢得罪程式設計師?

你們知道程式設計師的理想是什麼嗎?

小千才不會告訴你們

據說是想要3個孩子,

分別取名叫Ctrl、Alt和Delete,

如果他們不聽話


要同時敲他們一下就會好的……

此外小千想對大夥說點掏心窩子的話


沒事別惹程式設計師,對他們好一點,

平時多送些小禮物,


他們不開燻了就請吃海底撈,


加不加班都要給他們加薪,


沒有女朋友的給介紹女朋友……你會有回報的。


 

說吧,泥萌就說吧,

小千是不是泥萌最好的盆友


iOS開發交流群: 217678361

iOS公開課討論群:429632143

UI技術學習交流群 159532533

HTML5技術交流群:314548237

Android開發交流群:480637276

Swift語言學習交流群:399641039

Cocos2Dx遊戲開發交流群 243601454

相關焦點

  • 程式設計師又背鍋了 | 蝦米音樂代碼注釋驚現「窮逼vip」
    實際上,在寫代碼的時候,為了讓同事看懂這串代碼的作用,程式設計師會對這行代碼進行注釋。這位程式設計師小哥居然給這些短期 VIP 用戶起了一個名字,叫做「窮逼vip」。有意思的是,該程式設計師可能怕自己忘記,特意寫明了這類 vip 的使用對象:活動送的那種.
  • 谷歌程式設計師20行代碼把二次元「老婆」帶到現實世界
    不管你現在有多年輕,頭髮有多麼濃密,那個生成器都能讓你一眼望穿二十年後的自己。 這一充滿「惡意」的項目引發了讀者的集體不適,大家紛紛請求 up 主「整點兒陽間的東西」(聽說粉絲毫不見漲,這鍋機器之心不背)。
  • 人生第一行經典代碼,決定程式設計師的出身,更決定程式設計師的職業生涯
    入門語言與職業生涯在計算機編程領域,人生第一行經典代碼——"hello,world!",往往決定了程式設計師的出身,更決定了程式設計師的職業生涯。第一行代碼,決定的是未來程式設計師的入門程式語言。所以,換而言之,程式設計師的入門語言,決定了程式設計師的教育背景,也決定了未來編程路上能走多遠。
  • 程式設計師不知啥是代碼review,發帖諮詢,網友紛紛化身專家解答!
    關於代碼review想必大部分程式設計師都是知道的,不論是大公司還是絕大多數小公司都應該一個代碼review的流程,只不過因公司的要求,這個環節可以是比較正規,也可以是比較隨意,不管怎樣,程式設計師們還都是應該知道的,不過也有例外的,極個別小公司確實沒有代碼review這一說,以至於部分程式設計師不知道什麼是代碼
  • 被誤解是最省心的工作:每天代碼敲敲敲?程式設計師心聲:我倒希望是這樣!
    作為大眾認知眼裡的高薪工作,「程式設計師」這個行業的話題一直為人津津樂道,不只是工資相對各行各業高出許多,其工作內容也引發了眾多外行人士的猜測: 很多同學以為程式設計師一天到晚的工作就是寫代碼,寫代碼,寫代碼! 敲敲敲!
  • 程式設計師的代碼寫的再牛也沒有馬伊琍文章的分手語牛!
    還記得文章出軌的時候,馬伊琍發表了一句「戀愛雖易,婚姻不易,且行且珍惜。」,當時發的時候引起了大家的共鳴,大家視這句話為金句,紛紛使用此話造句,這一切仿佛就是昨天發生的事情!是這樣的:看來程式設計師在短期內撕掉「格子襯衫」的標籤是不太可能了,有人說格子襯衫是程式設計師的信仰……就像信仰「1024」、就像滿是BUG的代碼一樣,要有生命力
  • 「行業」從一行代碼到如今的12億用戶,微信第 1 行代碼曝光!
    因為那時候的微信,才剛剛誕生於程式設計師敲寫的代碼中。 2010年11月23日的凌晨,廣州,一群年輕人在小黑屋裡敲下了一行行代碼。 這是微信後臺第一天提交的代碼。 從此,人們的溝通方式變了。 如今,微信已經有超過12億的用戶,是一款真正的「國民級」應用。
  • 老炮程式設計師響馬:年輕時我想寫代碼到60歲,現在我想寫到65歲
    他對自己的身份認同始終是一位程式設計師,至今不變。他自稱響馬,英文 ID 名 Xicilion。今天的二叉樹,記錄了他的故事——《老炮》《眾生相》十集人物紀錄片 | 第八集由 InfoQ 二叉樹 出品響馬(Xicilion),本名劉琥,70 後程式設計師,南京第三極軟體科技有限公司創始人。
  • 我不是一個寫死代碼的碼農,我是一名程式設計師
    每一個奮鬥在代碼海洋裡的程式設計師都值得為他鼓掌,來看看此時徒弟們奮鬥的瞬間,順便分享一下作為一個程式設計師應該具備什麼樣的自我修養?"我不是一個寫死代碼的碼農,我是一名程式設計師"其實要做到並不難,一個人,無論他的身份是程式設計師,還是掏糞boy,抑或是白衣天使;思考能力,都是人能把任何一份工作做好的必要前提。一個需求發出,有人拿到了就埋頭苦幹一通,做出來的東西漏洞百出且擴展性極差。
  • 跨界程式設計師盤點:不會寫代碼的總理不是好明星
    其實學習計算機和編程,並不是一定要去當個程式設計師。更多的是從這種編程邏輯思維出發,找到人生更多可能。除了趙子建外,名人圈裡還有很多「碼農」出身的才子,他們都在自己的領域裡發光發熱,你是否留意過呢?詼諧幽默的包袱裡面,是他們作為程式設計師的曾經,即使當了脫口秀演員之後無法兼顧程式設計師的本職工作,他們也始終沒有真的放下心中那串代碼。
  • 南京一個程式設計師不幸落入傳銷黑窩 他偷偷編了一個代碼救出了自己
    故事二: 我們程式設計師不都是悶騷 也喜歡爬山、也喜歡K歌、也喜歡聚會  杭州一家遊戲公司的程式設計師小王目前主要負責遊戲開發。小王說,普通程式設計師在日常生活中並不會用代碼來傳遞消息,至少他和他身邊的程式設計師們不會。  「這種事情要麼是大神,要麼真的就像南京那個小夥子一樣,處於某種特定的目的。
  • 3D遊戲編程:遊戲代碼的整體結構是什麼樣子的?
    也就是說,你能把前面17節的內容完全掌握了,你的3D遊戲編程基礎就有了,接下來再講解代碼,你就很容易明白了。從這一節開始,我們將要把整個3D遊戲示例程序的代碼講解一遍。由於有Direct3D的幫忙,我的程序代碼只有1000來行,所以,即便你是初學者,也是可以學明白這些代碼的。
  • 程式設計師視力表:視力0.1的竟然是這個!
    講真,看完之後並不想說什麼(因為,其實,我也是靠臉的[捂臉.jpg]) 作為每天前後左右都被程式設計師包圍的非程序媛,小智想說的是,程式設計師也是有視力表的
  • 作為程式設計師的你,除了擼代碼,還能幹什麼?
    外界傳聞「程序猿」只會敲代碼,以至於人們常常將在 IT 公司工作的人認知為單一物種。作為一名程式設計師,除了敲代碼之外還應該有一些副業。什麼是副業?副業就是主要事業以外附帶經營的事業。這個對程式設計師的背景要求比較高,最好是有大廠經歷和大體量項目經驗,但其收入差異化嚴重,少的幾千,多的幾萬,需要有比較好的資源積累。2、出書。
  • 僅僅只花4天半就解開了史上最難密碼,這下整個圈子都炸開了......
    前陣子程式設計師圈子一定熱呼的不可開交,咋回事?還不是因為有個程式設計師妹子捅出了一個大簍子。事情是這樣的,在德國慕尼黑有一個名叫 Leah Neukirchen 的程式設計師妹子,她厭倦了日復一復的解決小兒科程序代碼。
  • 39 個奇葩代碼注釋,看完笑哭了.
    導讀:作為程式設計師,有沒有讓你感到既無語又崩潰的代碼注釋?StackOverflow 上有一個類似的問題,問大家見過哪些超秀的注釋,不少程式設計師紛紛吐槽自己見過的那些逆天注釋,我們一起來圍觀一下。1.//開森地調bug吧,傻x(隔著屏幕都想打他一頓)6. 糊弄過去算了
  • 大話災備|程式設計師因獎金不到位怒改代碼報復公司,而事實……
    當日 11 時許,王某在該公司使用 root 超級管理員帳戶登錄至華為雲伺服器的 FTP(File Transfer Protocol),修改了其開發的 OBS 對象存儲服務代碼,導致 2020 年 4 月 14 日 8 時至 9 時 35 分,某平臺運行異常,該公司代發的政府電子消費劵領取受阻,直至當日 10 時 43 分,11225 名會員才領取完當日電子消費劵
  • 論一個程式設計師的自我修養!
    每個程式設計師修煉之道都是漫長而艱辛的,要想成為一名偉大的程式設計師,不僅技術全面還要有程式設計師的自我修養
  • 創建「上上下下左右左右BA」代碼程式設計師去世,享年61歲
    首頁 > 快訊 > 關鍵詞 > 程式設計師最新資訊 > 正文 創建「上上下下左右左右BA」代碼程式設計師去世,享年61歲
  • 論一個程式設計師的自我修養
    於是,不禁問了問自己,作為一名程式設計師,一個「程式設計師的自我修養」是什麼?儘管我們不一定要像尹天仇那麼的認真對待自己的事業,但,一些基本的修養,作為一名新時代的碼農,總應該是要具備的吧。不過真要說修養,方面還是挺多的,技術自我提示自不必說。但我並不打算從這個大家都覺得理所當然的技術方面入手,而是談談,可讀性代碼,這個容易被大家忽視的基本素養。