每週分享第 21 期

阮一峰發表於2018-09-07

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

漫畫家蔡志忠有一個演講,題目叫做《努力是沒有用的》。讀完這份演講稿,我覺得他說的有道理。

有些人非常勤奮,別人休息和娛樂的時候,都在工作學習。但是努力了一輩子,人生也沒有顯著的提升,就像報導里經常說的:"某某在平凡的崗位上,勤勤懇懇工作了一輩子"。

另一方面,很多成功者似乎也沒有特別努力,就取得了許多成就,過上了好日子。蔡志忠以自己為例,他從小就喜歡畫畫,然後一直畫,不知不覺就成了大漫畫家,名利雙收,從沒有覺得過得很辛苦。

老師或父母老是說,努力就會走到巔峰----才怪。如果這樣,不是所有人都走上巔峰了嗎?沒有人開始不努力,為什麼後來不努力,因為努力沒有效果。"

人生不是走斜坡,你持續走就可以走到巔峰;人生像走階梯,每一階有每一階的難點,學物理有物理的難點,學漫畫有漫畫的難點,你沒有克服難點,再怎麼努力都是原地跳。所以當你克服難點,你跳上去就不會下來了。

蔡志忠的核心觀點就是黑體的那句話,成功的人生是臺階式向上,而不是一條水平線。努力只是說明你拼命在走,跟你能不能向上走,關係不大。那些努力卻沒有結果的人,根本原因就在於,他一直走在平面上,沒有走到更高的臺階。

也就是說,垂直方向的努力更有意義,水平方向的努力意義不大。你把同一件事情勤奮地做上十遍,還是隻會做這一件事;你做完這件事後,再去挑戰更難的事情,就有機會學會做兩件事。

初學者經常問我,前端開發應該學習哪一個框架?我的回答就是,你覺得哪一個框架比較容易,就用那個。因為它們都是解決同樣的問題,你只要知道怎麼解決就可以了,沒必要深究哪一個解決得更好。對你更重要的是,要去解決更多的問題,而不是如何最好地解決一個問題。

只有透過解決更多的問題,人生才能擺脫水平運動,進入上升運動。當然,這裡還有一個天賦和興趣的問題,如果找到屬於你的領域,不用特別努力就能上臺階;如果找不對領域,再努力也只能做水平運動。

新聞

1、Chrome 瀏覽器 10 週年

本週一(9月2日)是 Chrome 瀏覽器的10歲生日。十年來,這個專案帶動了無數創新,讓網際網路產生了天翻地覆的變化。

十年前,主流瀏覽器還是 IE6,JS 仍然是一種玩具語言,一大堆無法除錯的執行時錯誤。谷歌決定做自己的瀏覽器,為此特別開發了底層引擎 V8。釋出的那天,所有人都震驚了,原來JS可以執行得這麼快...... 後來,V8 導致了 Node 的誕生,Chrome 導致了 Electron 和 ChromeOS。

為了紀念了這個日子,Chrome、Gmail、Google Drive 都在這一天發了新版。

2、機器充電臂

德國科學家發明了一種機器充電臂,它能自動給電動汽車充電,完全不用司機下車。電動車開到它的旁邊,攝像頭自動識別出充電口,然後將充電臂伸進去,充滿後再縮回去。

3、車窗廣告

美國一家創業公司推出車窗廣告服務。他們在車內安裝微型投影儀,在車窗上向外播放全綵廣告,車主可以獲取廣告分成。

以後堵車的時候就有意思了,你的前後左右都是彩色螢幕,同時向你播放廣告。

4、DIY 人工胰臟

糖尿病患者對血糖含量是非常敏感的,血糖過高,就需要立刻注射胰島素,否則會有嚴重後果。但是怎麼能實時知道血糖過高呢?科學家發明了人工胰臟,它每隔幾分鐘自動檢測血糖含量,一旦發現血糖過高,就向血液注入胰島素。

現在,這種裝置已經有 DIY 方案,病人隨身攜帶葡萄糖監測儀,測試結果透過藍芽傳回手機,發現含量過高就會報警,提醒要注射胰島素。整套裝置的成本大約250美元。

5、貝佐斯的財富

亞馬遜的市值本週突破了1萬億美元,成為歷史上第二家萬億美元公司(第一家是蘋果)。這使得亞馬遜的老闆貝佐斯的財富暴漲,2018年就增加了670億美元,總資產到達了1670億美元,成為世界最富有的人。

今年670億美元的淨增長,相當於他每小時就新增800萬美元的財富。

6、Stratolaunch 飛機

微軟共同創始人保羅艾倫投資的 Stratolaunch 飛機,最近正式亮相。它是世界上最大的飛機,翼展可以達到117米,主要用來在空中發射火箭。由於它可以多次使用,因此顯著降低了火箭的發射成本。

7、Lerna 修改許可證

多倉庫管理工具 Lerna 修改了 MIT 許可證,加了一個條款:凡是幫助美國海關移民執行局(ICE)虐待非法移民的公司,一律不得使用該工具,排在第一名的是微軟。其他開發者在這個名單的基礎上,又加上了一些虐待勞工的公司,包括蘋果、沃爾瑪和特斯拉。

更新:這個許可證現在又被改回來了。

8、亞馬遜電子書銷售主題排行榜

有人統計了,什麼主題的電子書在亞馬遜銷售額最高。前5名全部是教科書,裡面有4種是醫學教科書。排名最高的計算機類書籍是 Access 資料庫。

9、TempleOS 作者去世

最近,TempleOS 作業系統的作者特里.戴維斯(Terry a. Davis)去世了。他生於1969年,是一個程式設計師,曾經為一些大公司工作。工作十年後,他患上了精神分裂症,必須接受治療。

2003年,他聲稱接收到了上帝的指令,要為上帝寫一個作業系統,起名為 TempleOS(temple的意思是聖殿)。這個系統的程式語言是他自創的 HolyC(神聖的C)。IT 行業沒人認真對待 TempleOS,特里.戴維斯後來一無所有,沒有房子,不得不睡在車上。沒人知道他是怎麼死的,TempleOS 官網上只有一句話,宣佈他死了,僅此而已。

10、一句話新聞

  • Firefox 宣佈,將禁止第三方 Cookie 追蹤使用者。舉例來說,我訪問臉書,臉書在我的瀏覽器留下 Cookie。然後,我又訪問其他引用臉書的網站,這時Firefox將禁止發向臉書的請求讀取Cookie。
  • 歐盟建議成員國取消夏令時。目前,所有28個歐盟成員國被要求在3月的最後一個星期天將時鐘撥快一小時,並在10月的最後一個星期天撥慢一個小時。
  • 日本首相安倍晉三稱,希望打造"終身不退休社會",僱傭不設年齡限制,只要有意願就能參加工作。

教程

1、如何維持快取的一致性?(英文)

有一句名言:"電腦科學有兩大難題:快取不一致和變數命名。"本文就介紹快取與源資料不一致的基本知識。

2、如何對快取伺服器注入惡意程式碼?(英文)

使用者發出的請求,很大一部分是快取伺服器響應的。這意味著,不一定需要感染源站,只要能在快取伺服器注入惡意程式碼,就能達到目的。本文給出了這方面的詳細介紹以及實際的案例。

3、OCaml 語言入門教程(英文)

OCaml 是一種通用語言,在函數語言程式設計裡面加入了指令式程式設計和麵向物件程式設計的特性。

4、Python魔術方法指南(英文)

Python 有大量的魔術方法(方法名前後有兩個下劃線),本文給出了一個完整的介紹。

5、如何用 Node 搭建一個推特機器人?(英文)

本文詳細指導你搭建一個免費推特機器人,每當有人在推特 follow 你,就會收到一條歡迎私信。

6、地中海為什麼沒有潮汐?(中文)

地中海沿岸,很多城市最熱鬧的大街就在海邊。我一直很奇怪,難道他們不怕漲潮嗎?現在終於確認了,地中海幾乎沒有潮汐。

7、如何將 Swift 用於服務端程式設計?(英文)

Swift 語言一般用於開發 iPhone 的 App,現在開始有人嘗試將它用於服務端程式設計。

8、Puppeteer 網頁爬蟲和自動化測試教程(中文)

想要學習瀏覽器自動化的同學,可以看看這篇中文教程。

9、.snap vs .deb(英文)

.snap 是一種新的 Linux 安裝包格式,最大特點就是自帶依賴,某種程式上很像容器。

10、人臉檢測服務對比(英文)

本文比較了谷歌、微軟、亞馬遜、IBM 四家公司的人臉檢測服務的準確性。

資源

1、 OpenStax.org

該網站收集各個學科開源的大學教材。

2、C++ 程式設計題

25道 C++ 的程式設計題,經常用於面試。

3、世界各國護照效力排名

中國護照排在第55位,免籤國29個,落地籤國49個。

4、PublicWWW

一個網頁原始碼的搜尋引擎,可以搜尋哪些網頁使用 react.min.js,或者伺服器是 Server: nginx/1.4.7"

5、JCSprout

一個收集 Java 核心知識的中文庫。

6、計算機網路:系統方法

《計算機網路:系統方法》英文原版開源了(下載地址)。

工具

1、termtosvg

一個命令列操作錄製成 SVG 動畫的工具,效果不錯。

2、eno

eno 是類似 yaml、 toml 的一種配置語言。

3、wcpp

Node 指令碼里面載入 wasm 模組的處理器,即讓 Node 可以方便地執行 wasm 模組。

4、Symmetry Groups

一個生成對稱圖形的網站,可以用來生成牆紙。

5、Kakoune

Kakoune 是一個類似 Vim 的編輯器,它的主要特點是更友好合理的命令語法。 Vim 的命令是"動詞 + 物件",Kakoune 的命令是"物件 + 動詞"。

7、Mithril

Mithril 是一個類似 React 的輕量級前端端架,比 React 簡單。主要特點有兩個:一個是路由、狀態管理、fetch 這些主要功能都內建了,二是體積很小(8kb)。

8、Favioli

Favioli 是一個很好玩的 Chrome 瀏覽器外掛。它可以將網頁的 Favicon 替換成 Emoji。

9、codesandbox.io

codesandbox.io 是一個前端程式碼的線上編輯器,支援各種不同的框架,可以隨時預覽程式碼的執行結果。

10、mobiledoc-kit

mobiledoc 是一種資料格式,用於所見即所得編輯器的底層資料。mobiledoc-kit 是這種資料格式的開發工具,開發者可以基於這套工具方便地做出編輯器。

文摘

1、生命的誕生

以下摘自比爾布萊森的《萬物簡史》。

1953年,芝加哥大學的研究生斯坦利·米勒拿起兩個長頸燒瓶----一個盛著一點水,代表遠古的海洋,一個裝著甲烷、氨和硫化氫的氣體混合物,代表地球早期的大氣----然後用橡皮管子把兩個瓶子一連,放了幾次電火花算作閃電。幾個星期以後,瓶子裡的水呈黃綠色,變成了營養豐富的汁,裡面有氨基酸、脂肪酸、糖以及別的有機化合物。米勒的導師、諾貝爾獎獲得者哈羅德·尤里欣喜萬分,說:"我可以打賭,上帝肯定是這麼幹的。"

所有生命的始發點,都可以追溯到同一種原始的抽動。極其遙遠的過去,在某個時刻,有一小塊化學物質躁動一下,於是就有了生命。它吸收營養,輕輕地搏動幾下,經歷了短暫的存在。這麼多情況也許以前發生過,也許發生過多次。但是,這位老祖宗幹了另一件非同尋常的事:它將自己一分為二,產生了一個後代。一小袋遺傳物質從一個生命實體轉移給了另一個生命實體,此後就這樣延續下去,再也沒有停止過。這是個創造我們大家的時刻。生物學家有時候將其稱為"大誕生"。

2、餓死在食物周圍的科學家

第二次世界大戰,希特勒包圍列寧格勒長達900天,切斷了200萬居民的所有食物供應,企圖餓死俄國人。冬天的時候,成千上萬的人餓死了。列寧格勒居民餓到吃木屑,許多人試圖在零下30°C的天氣裡步行幾公里到食品配送亭,結果凍死在路上。

當時,列寧格勒瓦維洛夫植物研究所藏有近20萬種植物的種子,其中約四分之一可食用,是世界上最大的糧食作物遺傳多樣性庫之一。其中有大量的大米,小麥,玉米,豆類和土豆,足以支撐研究所的植物學家吃飽。但是,科學家們並沒有用食物來挽救自己的生命,而是保護這些種子不受納粹以及街頭尋找食物的人們的破壞。

科學家全天候輪流保護著倉庫,冷得麻木,飢餓消瘦。隨著圍困時間越來越長,他們一個接一個地開始餓死,但至死沒有吃過一粒研究所的種子。1942年1月,花生專家 Alexander Stchukin 在寫字檯上去世。植物學家德米特里·伊萬諾夫(Dmitri Ivanov)也死於飢餓,他的周圍是數千包大米種子。1944年春天,德軍撤退時,有9人已經餓死。

這個種子庫是世界第一個植物多樣性種子庫。它由俄羅斯最傑出的植物學家和遺傳學家尼古拉·瓦維洛夫於1926年建立。他是首批預見植物多樣性消失的科學家之一,並認識到這可能對糧食生產造成災難性影響。瓦維洛夫在一個貧困的鄉村長大,飽受經常性的作物歉收和食物配給困擾,從很小的時候就開始痴迷於他的祖國俄羅斯和世界的饑荒。20世紀早期,他在五大洲進行了廣泛的訪問,共訪問了64個國家,收集了各種植物和糧食作物標本。他自學了15種語言,以便與當地農民交談。經過近十年的旅行和數百次旅行後,成立了列寧格勒植物研究所。

下圖是瓦維洛夫製作的種子標本。

新奇

1、Predator Thronos

宏碁公司新推出了一款 Predator Thronos 遊戲椅,自帶三個27寸顯示器,可以讓你躺著(140度後仰)打遊戲,還會隨著遊戲一起震動。

這個產品有前途,如果能解決睡眠問題就好了,打累了睡一會,醒了接著打。以後網咖可能都是這種椅子。

2、捲起來的觸控式螢幕

加拿大科學家做出來了一個原型裝置,可以把觸控式螢幕捲起來。

本週圖片

1、各大 IT 公司的架構圖

本週金句

1、

一個網頁依賴於大約十萬個其他發明。沒有 HTML 程式碼的發明,沒有計算機程式設計,沒有LED或陰極射線管,沒有計算機晶片,沒有電話線,沒有長距離訊號中繼器,沒有發電機,沒有高速渦輪機,就沒有任何網頁。(凱文·凱利《重建工業社會的成本》

2、

我很遺憾花了這麼多年時間專注於一個狹窄的領域,忽略了許多重要的技能。我嚴重低估了產業界可以學到的東西,以及博士的機會成本!

-- fast.ai 創始人,數學博士。他發表文章認為,即使人工智慧這樣的領域,博士學位都是不必要的,不值得專門去讀。

3、

偉大的文明會崩潰,技術也會倒退。羅馬帝國滅亡後,歐洲的技術水平大大倒退,停滯發展了1000年。這樣的事情,如今也不是沒有可能發生。

-- TIm O'reily《未來地圖》

歡迎訂閱

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

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

image | left

(完)