每週分享第 10 期

阮一峰發表於2018-06-22

這裡記錄過去一週,我看到的值得分享的東西,每週五發布。

(題圖:盧日尼基體育場,莫斯科,2014。世界盃開幕式的轉播,讓我意識到自己去過那個體育場。那天想去莫斯科大學玩,路過一個體育場,大門緊鎖,空無一人。)

我經常收到來信,詢問怎樣才能變成前端工程師。大部分的信件,來自兩類人:即將畢業的學生和工作多年的成年人。上週,我就收到一封。一位30出頭的通訊工程師問我,現在通訊行業效益不好,有沒有可能轉到前端開發?

我一般不給人生建議。你的人生,我不介入。再說,我又不瞭解你,怎麼給建議?何況我從來不確信自己是對的。但是這一次,我破例回信,告訴他別轉前端。

網際網路開發這個行業,求快求變,工作負荷非常大。年紀大了(35歲~40歲)還待在第一線開發,就會力不從心。專案下個月就要釋出,這個月必須全部關在專案室加班,最忙的幾天可能還要在電腦桌下面的睡袋過夜。十年前,你還能承受這種生活,十年後就不行了,沒法跟剛剛畢業的年輕人一樣投入了。比起年輕人,你不僅加不動班,而且技術也不佔優勢,經驗也沒太大價值,但是你的工資比較高,這時就是你離開第一線的時候了。

30多歲轉前端開發,個人愛好沒問題,但夢想以此謀生基本上是死路一條。當然,你原來的職業可能也是死路一條,我不知道哪條路更糟一些,但是留在原行業,至少你還有一些行業積累,從零開始風險太大了。

一個相關的問題是,已經待在這個行業的程式設計師,退出第一線以後幹什麼呢?很簡單,幹一些強度比較小、迭代比較慢的事情。人生幾十年,能夠體驗不一樣的生活,挺好的。至於能不能依靠那些事情謀生,就看每個人的造詣和造化了。至少那些老程式設計師離開第一線以後,看上去都還活得不錯,對嘛?

新聞

1、棉花糖測試

有一個著名的心理實驗,叫做棉花糖測試。一群小孩,每人拿到一塊棉花糖。心理學家告訴他們,你可以現在就把糖吃掉,但是如果忍耐15分鐘,就可以得到第二塊糖的獎勵。

大多數小孩子都沒能忍住,有的立刻吃掉了,有的還沒等實驗員離開半分鐘就吃掉了,有的四下張望之後偷偷吃了一點點......只有30%的孩子一直堅持了15分鐘,直到實驗員回來。

日後的追蹤發現,那些忍住不吃的小孩,往往有更成功的人生。

以前的解釋是,為了長遠利益、忍受眼前誘惑的人,更可能成功。但是,新的研究發現,那些忍住不吃的小孩,大多來自富裕人家,也就是說他們的人生成功,很可能與忍耐力無關,而是家庭的幫助。

2、古巴的聲波攻擊

2016年12月開始,古巴首都哈瓦那的美國和加拿大使館,至少有24名外交人員出現噁心,耳痛,聽力下降,流鼻血,眩暈甚至行走困難。一份醫療報告將傷勢描述為"輕度創傷性腦損傷"和"未受震盪的腦震盪"。

2018年3月,密西根大學發表一項研究成果,認為這不是古巴的有意攻擊,而是竊聽器失靈,造成多個音調的超聲波訊號相互干擾,使得不可聽見的超聲波變頻到可聽範圍內,從而導致高音噪音。

3、從空氣中吸收二氧化碳

科學家認為,人類過度釋放二氧化碳是地球暖化的主要原因,為了保護環境,我們應該減少二氧化碳的釋放。

一家加拿大公司正在嘗試另一種方法:從空氣裡面捕獲二氧化碳。方法是把空氣吹向氫氧化鉀溶液,形成碳酸鉀。進一步加工處理之後,轉變為碳酸鈣顆粒。這種顆粒加熱後,就會釋放二氧化碳,再埋入地下的管道。現在,捕獲一頓二氧化碳的成本在200美元以上,但是未來估計可以降低到100美元以下。

4、谷歌創始人投資的飛行汽車

6月初,谷歌創始人拉里·佩奇支援的飛行汽車在紐西蘭試飛。這種飛機使用電動引擎,可以在地面行駛,它的機翼上有10個小型升力扇,使其能夠像直升機一樣垂直起降。

它的飛行最高時速限制在32公里/小時,飛行高度不超過3米。設計目的是水上飛行,主要用於遊樂用途。

5、微軟的海底機房

6月6日,微軟在蘇格蘭沿岸30米的海底放入一個機房。這個海底機房配置了12個機架864臺伺服器,合計27.6PB儲存空間。它主要由海底電纜供電,並通過電纜連回網際網路。同時,它還裝備了渦輪發電機和波浪發電轉換器,能夠利用潮汐流和海浪搖曳發電。

海底機房的最大好處是節省能源,機房會產生大量熱量,放在海底就不用擔心散熱。另外,由於是無人空間,機房裡面的氧氣和水蒸氣會全部抽除,減少伺服器腐蝕。

6、GraphQL 指南

jQuery 的作者 John Resig 出新書《GraphQL 指南》了。他的時間現在都投在 React 開發。

7、生育率與房價

美國一項研究發現,房價上升最快的縣市,生育率下降最多。

真是挺有趣的結果,因為生育率統計的是當地居民,這批人都是房價上漲的受益者。他們變得更有錢了,卻不願意多生小孩了。聯想到窮人往往多生,結論只能是:多生小孩的主要動機是養兒防老。

教程

1、如何使用 AWS LAMBDA 做一個 YOUTUBE MP3 下載器(英文)

作者做了一個 Bookmarklet。瀏覽 Youtube 的時候,只要按一下這個書籤工具,就會把請求發到 AWS LAMBDA,然後抓取 Youtube 流檔案,轉碼成 mp3 文後以後存到 S3,再返回下載地址。

2、各種資料結構的 JavaScript 實現(英文)

這篇文章針對初學者,介紹 Array、HashMaps、Sets、Linked Lists、Stacks、Queues 這六種資料結構的 JavaScript 實現。

3、tcpdump 示例教程(英文)

tcpdump 是一個 Linux 命令列工具,用來檢視 TCP 通訊。

4、Eloquent JavaScript 3rd edition 中文版

一本開源的 JavaScript 語言的入門教材。

5、2018 世界盃預測

有人根據歷史資料,寫了一個指令碼,預測本屆世界盃的所有比賽(見上圖)。四強是葡萄牙、阿根廷、巴西、德國,決賽是巴西對德國,冠軍是德國。連結是完整的指令碼和資料集下載。不過,世界盃已經開始了,跟真實結果一比較,似乎出入比較大,這屆的強隊都表現一般。

6、MATLAB 處理照片

你還是使用 PhotoShop 處理照片嗎?可以考慮試試看 MATLAB。

7、V8 改進垃圾清理機制(英語)

V8 引擎宣佈"垃圾清理機制"的重大改進。我們知道,對於大型程式,垃圾清理很影響效能,因為程式必須暫停,讓引擎識別哪些記憶體不再需要。

V8 現在允許記憶體識別不暫停程式,而是併發進行,使得程式停頓時間減少70%左右。引擎如何識別不再需要的物件,希望瞭解具體實現的朋友,可以看看上面這篇文章。 8、Testcafe 教程(英文)

Testcafe 是一個 UI 測試框架,可以在各大瀏覽器進行 UI 測試。相比 Puppeteer,它提供各種專門針對測試的封裝好的方法。

資源

1、高中物理筆記(英文)

高中物理要點講解,配有插圖和動畫。

2、FiraCode

開源的程式碼字型。

3、C 語言學習資料

收集各種網上可以免費得到的 C 語言學習資料,不過都是英語資源。

4、2018年最有上升潛力的 Linux 發行版

它們是 AntergosDeepinMX LinuxSubgraphDebian

工具

1、Reach router

React router 的兩位創始人鬧翻了,其中一位另起門戶,寫了一個功能相同的 Reach router

2、Lottie

Airbnb 推出的動畫效果庫,可以把 Adobe After Effects 製作的動畫用於 Web、安卓和 iOS。

3、maid

Node 專案的任務執行器,特點是用 Markdown 格式寫配置檔案。

4、wtf

在終端視窗顯示控制檯面版。

5、tusk

一個非官方的 Evernote 桌面客戶端。

6、hiper

一個檢視網頁載入效能的命令列程式。

7、Gource

Gource 是一個很好玩的視覺化工具,可以將程式碼倉庫的歷史變成視訊,支援 Git 和 SVN 等多種格式。只要在倉庫目錄執行 gource 命令,就能看到提交歷史的視訊。

8、vnote

一個寫 Markdown 筆記的桌面應用,跨平臺。

文摘

1、騰訊 TCFT 比賽採訪記

我剛剛從深圳回來。騰訊組織了一場挺有意思的 CTF 比賽,名為 TCTF。

用一句話說,CTF 比賽就是黑客們的"奧賽":出題人會精心設計二十多道"心機謎題",每個黑客戰隊的目的就是儘可能多地解開更多的謎題。比賽持續兩天一夜的時間。中間那晚你可以睡覺,但你的對手可不一定會睡覺。解出不同的題目,獲得不同的分數。誰的技術最叼,拿到的總分最多,就能分到最多的獎金。

參加 TCTF 的戰隊,每個隊不能超過四個人。看起來人數不少,但你要知道。這二十多道題目,隨便拽出來一個,可能都需要幾個小時時間的分析。所以,這四個人,雖然各個智商冒煙,但還是遠遠不夠用的。

之前說到,比賽的題目分了五類。而這幾類題目,需要動用的專長都不盡相同。所以對大多數戰隊來說,每個隊員基本都承擔了一個特定方向的題目。比如在比賽開始時,隊長可能會分配:密碼學的三道題都交給你,答不出來提頭來見。比如這次 TCTF 最終獲得冠軍的 Dragon Sector,他們就解出了 Crypto(密碼學)分類的全部三道題目。而第三名的 LC↯BC 戰隊,就解出了 Misc(雜項)的全部三道題目。這在全場是獨一無二的。

2、斯蒂芬·金的筆名

美國最暢銷的小說家斯蒂芬·金,是在上個世紀70年代成名的。

當時,出版公司為了保證每本書的銷量,只允許小說家一年出一本書,但是斯蒂芬·金一年可以寫兩本書。他決定不放慢寫作速度,另一本用筆名 Richard Bachman 出版。接下來的幾年裡,每一本署名斯蒂芬·金的書都賣出了數百萬美元,而每一本署名 Richard Bachman 的書都不成功。雖然,它們的內容質量是完全相同的。

最終,有人發現了,這兩個作者實際上是一個人,因為寫作風格實在太像了。斯蒂芬·金接受採訪的時候,承認這個事實。於是,所有 Richard Bachman 的書立即重版,署名改成了斯蒂芬·金。它們馬上佔據了暢銷書排行榜第一名,最終一共賣出了300萬本。

這個故事告訴我們,起步時的市場佔有率是多麼重要。兩個水平相當的作品或者專案,僅僅因為一個已經有市場,另一個沒有,就會導致後者僅僅依靠自身的力量,根本無法與前者競爭。

新奇

1、完全安靜的電腦

外國網友自制了一臺"完全安靜的電腦",執行時毫無聲音,可以達到 0db。全機沒有任何風扇,為了替 CPU 散熱,採用巨大的銅管散熱。

2、Radio Garden

世界地圖上每一個綠點,就代表一個當地的電臺。游標移上去,就可以聽到該電臺的現場直播。

本週圖片

1、谷歌硬體產品的設計風格

上圖是谷歌硬體產品的全家福,從左到右依次是 Google Pixel Buds,Pixel 2 XL,Pixel 2 XL,Pixel 2,Google Home Mini,Google Home,Google Home Max,Google Clips,Daydream View,Pixelbook Pen,Google Pixelbook。

可以看到,這些產品大多采用了統一的設計語言:純淨的雙色塊對比。

2、來自遙遠法羅群島的故事(組圖)

BBC 的圖片報導。

法羅群島藏在挪威和冰島之間,在北大西洋的黑暗水域中,18個小島嶼擁有超過5萬人口。這些居民中有一半居住在群島首府托爾斯港的"托爾鎮"。但是一些島嶼人口稀少,只有少數人居住在這些島嶼上。

法羅群島的居民是自力更生、謙虛的人,具有豐富的講故事的傳統,並且渴望彼此分享資訊。

3、12 間值得一去的日本洗手間

日本作家 Maritomo,耗時十餘年,遍訪了日本各地300多間洗手間,寫下《日本的洗手間及其它》(Aspect出版)一書,為此還得了一個「洗手間獵手」的綽號,在雜誌、電視、網站上也常常可以看到她的活躍身影。

上圖:福井縣越前海岸,有一家名叫「Rest有情」的日本餐廳,這裡連洗手間都是日本庭院式的。

上圖:兵庫縣明石市林崎松江海岸前的「Hipopopapa」(原名「嚕嚕米爸爸」),是一家看得見海景的餐廳,這裡的洗手間,還能讓你享受到身在海中的感覺。

4、三星摺疊手機

據傳,三星一直在研發可摺疊手機,上圖是網友流出的介面圖。左側是兩個螢幕垂直摺疊的介面,右側是水平摺疊的介面。

本週金句

挪威畫家蒙克一生留下了7000張畫作,他活了79歲;大家經常聽到的梵高,活了37歲,大概也留下了2000張各種作品。這些人不光天才,還勤奮加努力,關鍵還得有興趣,一件事一直做,堅持一輩子。(@cathayan

歡迎訂閱

這個專欄每週五發布,同步更新在我的個人網站微信公眾號語雀

微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。

(完)