每週分享第 57 期

阮一峰發表於2019-05-24

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

歡迎投稿,或推薦你自己的專案,請前往 GitHub 的 ruanyf/weekly 提交 issue。

(題圖:陸家嘴,上海,2018)

前些日子,一個運營的女同學問我:"為什麼程式設計師喜歡分享?"

我說,整個程式設計師社群都是這樣啊,把自己知道的東西告訴別人,也從別人那裡學習新知識。她回答,我就不喜歡分享,我的運營計劃一說出去,所有人都知道了,好不容易想出來的東西,馬上就被別人拷貝了,我什麼好處也拿不到。別的運營也是這樣,都不願意分享自己的成果。

我想了想,發現真的是這樣:除了程式設計師以外,好像沒有別的行業,流行分享自己的知識。相反的,這個世界上大部分行業,強調的都是保密,千萬不能讓別人知道我的獨家資訊和知識。

由此看來,程式設計師世界的開源和分享,其實是例外。正常情況下,這些東西都應該是標價出售的,花了錢才能拿到手。

經濟學有一個假定,每個人都是自私的,追求自己的利益最大化,從而才能讓這個世界變得有效率。那麼,當我們鼓勵開源和分享的時候,可不可以說我們正在做一件反人性的事情呢?

React 免費視訊課程

本期週刊很高興得到了開課吧的支援。他們是國內領先的網際網路從業者職業成長平臺,為網際網路人提供職業成長服務。

React 是目前全世界最流行的前端框架,國內大型網際網路公司,幾乎全部在使用它。想要進入這些公司,從事前端開發,React 幾乎是繞不過去的技術。同時,React 本身是對很多底層技術的抽象。深入理解 React,有助於吃透前端開發,提升個人競爭力。

開課吧結合國內 React 的應用現狀,針對初學者的學習痛點,推出了系列教學視訊 《React 基礎+實戰CNode》 ,得到了很多學員的肯定和好評。

這套視訊的第一部分,帶大家快速掌握 React 的基礎,學習各種底層庫和元件庫,搭建一個 React 專案《QQ 好友列表》。第二部分是實戰訓練,具體內容請看下圖。

第三部分《React 16 虛擬 DOM 原理剖析》,緊跟最新版本的底層改動,講解了 setState 非同步佇列、虛擬 DOM 的 Diff 演算法、Fiber 架構、React Hooks 等難點內容,並教你如何構建自己的虛擬 DOM 庫。

微信掃描下面的二維碼,就可以領取視訊。由於教學助理精力有限,限額500名。

新聞

1、宇宙射線觀測站

4月26日,中國的第一個高海拔宇宙射線觀測站,正式在四川稻城啟動,當地的海拔是4400米。宇宙射線是來自外太空的高能粒子,攜帶著宇宙起源、天體演化、太陽活動及地球空間環境等重要科學資訊,被稱為傳遞宇宙大事件的"信使"。

自從1912年被發現,宇宙射線的來源至今仍然是一個謎。這個觀測站的啟用,有助於回答宇宙射線來自哪裡,它們又是如何被加速到千倍於人類現有加速器之高的能量,這些一直是困擾科學家的問題。

2、白鯨武器

一個挪威漁民最近出海時,發現一條小白鯨主動游到船邊。這條白鯨身上還有綁帶,上面寫著俄文,意思是"聖彼得堡的裝置"。

漁民說,這頭鯨魚的行為非常奇怪,會主動尋找船隻,並試圖拉動船的兩側的繩索。考慮到它可以攜帶相機和武器,專家懷疑這是附近摩爾曼斯克的俄羅斯海軍專門訓練的白鯨。上個世紀80年代,蘇聯曾經訓練海豚發現魚雷,海豚視野敏銳,有良好的記憶力,使它們成為有效的水下探測武器工具。一份2017年的報告顯示,俄羅斯海軍重新開始訓練用於軍事目的的白鯨、海豹和寬吻海豚。

3、Red Hat 的新 Logo

Red Hat 公司釋出了新 logo(上圖),變得更簡潔和更具有可識別性,從一個戴著紅色帽子的男人(下圖),變成一頂紅帽子。

Red Hat 這個名字來自創始人之一 Marc Ewing,他總是戴著紅色曲棍球帽。每當他的同學們在卡內基梅隆大學的計算機實驗室需要幫助時,他們就會說"尋找紅帽子的那個人。"Red Hat 公司希望,每當人們發現自己需要幫助時,就會去找他們。

4、停車場辦公

創業者往往想要使用共享的辦公空間,但是大城市的辦公空間很貴。舊金山的一個創業者靈機一動,註冊了 WePark 公司。他在舊金山的熱門區域,選擇若干個停車位,付出一整天的停車費,然後擺上桌椅,按小時賣給創業者。創業者就在停車位辦公。

WePark 的優勢在於價格,每小時收費 2.25美元。相比之下,WeWork 的辦公空間,每天收費50美元加上每月會員費。

5、菠菜葉生成的血管

人工心臟的一大問題,就是無法生成心臟肌肉上面的毛細血管,3D 列印可以生成人體組織,但是毛細血管不行。科學家提出了一種新的設想,菠菜葉子或許可以達到這個目的。

菠菜葉子去除葉肉以後,留下層層的葉脈,可以作為支架,將人體細胞培植在上面。然後,通過葉脈為細胞提供水和養分,促使其生長。長成以後,再取出菠菜葉,就會留下血管框架。上圖左側為去除葉肉的菠菜葉,右側為紅色染料處理過的菠菜葉。

6、大麥哲倫星雲的照片

一群法國的天文愛好者使用4,000張圖片,拼接成一張大麥哲倫星雲的照片。這些照片是2017年7月至2019年2月期間,使用位於智利天文臺的160毫米折射望遠鏡拍攝的。

大麥哲倫星雲距離地球大約16萬光年,是最靠近銀河系的星系之一,大約包含了200億顆恆星,也是裸眼能看見的最遙遠天體之一。北半球大多數區域看不到它,只有南半球才能看到。

7、Minecraft 的 AR 玩法

Minecraft 釋出了 AR (擴增實境)新玩法,允許在現實世界疊加畫素藝術。你只要掏出手機,對準街景,就可以在上面疊加一個 Minecraft 層。其他玩家在同一個地點,就可以看到這個層,與你互動。

由於這是微軟的產品,應該會引進國內,看看會不會造成像《口袋妖怪》那樣的抓寶風潮。

8、一句話新聞

  • 美國2019年銷售的汽車82%帶有觸控式螢幕,五年前這一比例為53%。這意味著,大部分汽車帶有一個計算機作業系統。特斯拉的系統有86%的滿意度,評價最高,其次是寶馬80%。

  • 微軟將 Linux 核心放進了 Windows 10,這是 Linux 第一次成為 Windows 的一部分。

  • 日本計劃將手機號碼升級到14位,取代現在的11位號碼。原因是 5G 通訊普及以後,將有大量號碼用於"機器對機器"的通訊(比如 5G 電視),11號號碼不夠用了。

  • 美國國防部高階研究局正式宣佈,與六所大學合作,研發下一代腦機介面,直接用神經活動控制計算機。

文章

1、電路圖符號解釋(英文)

本文介紹基本的電路圖符號的含義。

2、一張紙對摺12次)(英文)

長久以來,人們一直認為,一張紙最多對摺7次。2002年,加利福尼亞州的17歲中學生 Britney Crystal Gallivan(1985年出生)成功演示了,將一張1200米長的衛生紙對摺12次。她還給出了一個計算公式(上圖),根據紙張的厚度和想要對摺的次數,算出所需的紙張的最小長度。

3、Caddy 伺服器如何過濾網路請求(英文)

Caddy 是一種非常好用的 Web 伺服器,作者演示如何根據 HTTP 請求攜帶的 Cookie 資訊,返回不同的 CSS 樣式表。

4、一種新的網路釣魚方法(英文)

安卓系統的 Chrome 瀏覽器,使用者向下滾動網頁的時候,會自動隱藏位址列。有人就利用這個特點,偽造了一個位址列(上圖的 hsbc 的位址列就是偽造的),用來網路釣魚。

5、虛擬記憶體探究(中文)

這組系列文章通過實驗的方式,介紹虛擬記憶體的相關概念和實現,這裡是中文翻譯,還可以參考英語原版。(@NeoTse 投稿)

6、x86-64 組合語言入門教程(英文)

本文通過執行一個最簡單的 hello world 例項,介紹組合語言的基本概念。

7、使用 Wasabi 和 restic 備份伺服器(英文)

本文介紹如何寫一個簡單的指令碼,將伺服器資料備份到 Wasabi。

8、如何從零開始製作一塊智慧手錶(英文)

本文含有大量圖片,作者從零開始製作一塊手錶,錶盤是3D列印的,電路是自己設計的,電池和充電器都是自己裝配的。

9、二進位制檔案的編譯過程(英文)

原始碼編譯成為可執行的二進位制檔案,有好幾個步驟,本文用一個最簡單的例子,詳細解釋編譯器的每一步都在幹什麼。

10、美國政府的高技術管制名單(英文)

2018年底,美國聯邦政府釋出了一份高技術出口管制名單,列出了14個大項、40多個小項的管制行業。凡是屬於這些行業,原則上都不能出口,必須得到政府批准。這份名單可以當作參考,目前哪些行業屬於真正的高科技行業。

軟體

1、water.css

一個極小化的 CSS 框架,用來快速為網頁加上簡單樣式,特別是不必使用任何 class。

2、ElGrapho

一個基於 WebGL 的瀏覽器資料視覺化庫,主要用於效能要求特別高的視覺化圖形。

3、googler

命令列搜尋谷歌的工具。另外,還有一個 DuckDuckGo 的命令列客戶端 ddgr

4、Convert images to LaTeX

數學公式的截圖 OCR 轉為 LaTex 程式碼的桌面軟體。(@chenylvia 投稿)

5、ScreenDump

一個線上截圖工具。使用者只要輸入網址,就會顯示各種裝置的網頁截圖,相當方便。

6、I love IMG

該網站提供各種線上的影像編輯工具,比如影像縮放、壓縮、裁剪、水印等。(@ifrontend-xyz 投稿)

7、mpvue

基於 Vue.js 的小程式開發框架,美團點評出品。這裡有一篇教程,以及用它開發的 Unsplash 小程式。(@iyuyoung 投稿)

8、Motrix

一款桌面端下載工具,支援下載 HTTP、FTP、BT、磁力鏈、百度網盤等資源。(@ifrontend-xyz 投稿)

9、js-cloudimage-360-view

一個可以360度旋轉觀看圖片的 JS 庫,用於在網頁上展示商品。

10、re-editor

一個基於 Slate 的開箱即用的 React 富文字編輯器,可以定製化。(@wowlusitong 投稿)

11、Pyodide

一個在瀏覽器執行的完整的 Python 直譯器,可以執行 Python 指令碼。

12、Microsoft Edge MacOS 預覽版

Microsoft 公司的 Edge 瀏覽器釋出第一個 MacOS 的版本。(@sedgwickz 投稿)

資源

1、國家地理頻道紀錄片:宇宙時空之旅

美國國家地理頻道拍攝的13集科學紀錄片,從理論物理學的角度,探討宇宙的奧祕。中英文字幕,網易公開課提供全片。(@qinhanlei 投稿)

2、wamp

一個收集 WebAssembly 軟體包的網站,相當於 WebAssembly 模組的 NPM。它還提供一個命令列工具,可以在命令列執行這些軟體包。

3、資料庫基礎

免費的英文電子書,介紹資料庫涉及的基本的數學知識。

4、MuseNet

人工智慧公司 OpenAI 開發的自動作曲系統,可以指定你想聽的音樂家(比如肖邦、莫扎特),然後該系統就會使用10種樂器生成一段4分鐘的音樂。現在,OpenAI 每天在網上直播音樂會,旋律都是人工智慧生成的。

5、資料科學的原理與技巧

加州大學伯克利分校的本科生入門教材,全英文,介紹資料科學原理,內容較簡單,需要統計學和 Python 基礎。

6、RemixIcon

一套免費高質量的開源圖示庫,目前有1500多枚圖示,提供向量圖和字型圖示檔案,可用於商業用途。(@xiaochunjimmy 投稿)

文摘

1、為什麼我們的工作時間越來越長?

中國社科院曾經發布過一個報告,說2017年我國每天工作時間超過8小時的人,佔了42.2%。而且這不僅僅是中國的情況,日本,美國這些已開發國家也普遍存在過勞。

這種現象雖然普遍,而且我們都身在其中。但仔細想想就會發現,其實"過勞"這件事,不太符合邏輯。

我們都知道,近兩百年,人類整體的生產效率,那是一飛沖天啊。按說,生產效率上去了,單位工作時間的產出高了,那相應的工作時間應該減少才對啊。所以經濟學家凱恩斯在1930年曾經做出一個有名的預測,他認為到2030年,人類的勞動時間每週15小時,就足夠了。

現實是,很多網際網路公司甚至開創了996模式,上午9點上班,下午9點下班,一週工作6天。我們還有724模式,一週7天24小時隨時待命。你看,凱恩斯在1930年的預測錯了。錯的離譜,方向都錯了。

問題是:他為什麼錯了?工具越高階,應該幹活越省力才對。那為什麼我們反而更累了呢?

《過勞時代》這本書裡提供了很多解釋。比如,全球化把所有人拉到了同一個競爭平面上。你是在一個地方工作,但你不是在和一個地方的人競爭。一個美國的工人是和一箇中國的工人,甚至是非洲的工人在競爭。所以,競爭強度增大了。再比如,消費主義盛行。你和身邊的人越來越多的攀比,比房子比車比包包比度假酒店,你想掙錢的慾望就越大,所以只能拼命幹活。等等。

但是,我覺得最有說服力的解釋,不是這些。問題的根子不在別的,就在於生產工具本身。它越進化、越高階、效率越高、越好用,我們就用得越多,所以工作時間就越長。

這是一個很有意思的悖論。舉個例子,過去我們上班,必須得到單位才行,和同事見了面,才能展開協作。很不方便,後來有了電腦,有了郵件,有了微信,按說是更方便、更省時間了。但是結果呢?你知道的,老闆能隨時在微信群裡抓到我們說事,週末也行,深更半夜也行。你上班的時間能不更長嗎?

表面上看,工具的發明,總是解決一個現實問題的。有了斧頭,砍樹就更快。有了汽車,走得就更遠。這是工具給我們提供的第一樣東西,叫便利性。

但是,如果你只看到這一面,就忽略了一個更重要的東西,這也是工具帶來的。你要解決問題,任何問題都是有它的時間空間邊界的,工具一升級,邊界內的問題,是被更高效的解決了,但是,這個時空邊界本身也被打破了。於是,會出現新的問題,而且是更大的問題。

比如說,當年人們用馬車,非常慢。後來,給車裝上了發動機,這就成了汽車,速度提上去了。在有限的時空邊界內,這就是一項改善。確定無疑的改善吧?那你說,會因為速度提上去了,所以,人旅行用的時間少了,所以車就會變少嗎?當然不是啊。因為汽車打破了原來的時空限制,出現了全新的可能性。你就想,原來坐馬車,你至少要帶一個馬車伕。現在呢?可以開汽車,一個人就可以開車,沒有馬車伕打擾了。車不僅是交通工具,它還是一個移動的私人空間了。所以就出現了一種新的行為方式,沒有確定目的的開車兜風,這種行為模式就出現了。不去哪兒,就是帶上女朋友開車去看看詩和遠方。車的使用當然就越來越多。

當然,現實中遠遠不止是這一種情況了。因為車可以走得更遠,所以,就一定會走得更遠。因為可以走得更遠,所以,整個社會的假設就變了,汽車旅館就出現了,郊區景點和度假村就出現了,遠離城區的購物中心,像奧特萊斯就出現了。這就反過來逼迫,你如果不能有汽車,你不能走得更遠,你就沒有辦法享受社會基礎設施提供的便利。它就會走到這個程度。

你看,這個過程就是:工具不僅為你解決了問題。工具還在你始料未及的地方,推開了一扇新的可能性的大門。這扇大門一旦推開,就再也關不上了,後面的人就會一湧而出,只會把門撐得越來越寬。這就是工具對人的反向塑造。

有句話叫,身懷利刃殺心自起。你身上有把刀,看見什麼都想用上。對,工具雖然只是提供了某種可能,但是人性使然,我們總是傾向於要把這種可能性變成現實性。工具在可能性上推開了多大的空間,我們就一定會傾向於把這個空間填滿。

理解了這個邏輯,再回到今天的主題,為什麼勞動工具效率越來越高,我們卻越來越忙呢?這麼看來,答案就非常簡單了。和全球化,消費主義有關,但關係沒那麼大。因為勞動工具讓我們工作的可能性越來越高,我們就一定會把這個可能性填滿,我們當然就會一直工作,所以越來越忙。

《過勞時代》這本書的解讀人,李南南老師還開了一個腦洞。他說,假如未來,你的工資不是按月計算,而是按秒計算。在你的面前,有一個計時器,你每多工作一秒,你的賬上馬上就會多一毛錢。結果會是什麼?表面看起來,這對你只有好處沒有壞處。首先,每天工作8小時,這就是一天2880塊錢,不少吧?你收入提高了。更重要的是,你碎片時間的工作,比如,吃飯間歇、睡覺前給同事回個工作微信,也能計算報酬了,對你更公平了。好事吧?好工具。

但這是在你現在的時空邊界下看問題。真實情況可能是,這個可能性的大門一旦開啟,大多數人因為碎片時間也能掙錢,會工作到筋疲力盡才會停。如果不信,你現在到網咖裡去看看那些打遊戲掙積分通宵不睡的人,你就知道,如果真有那麼一天,工作到筋疲力盡那就是我們的未來。

圖片

1、微軟總部

當你漫步在微軟位於西雅圖 Overlake 社群的龐大總部時,一定會覺得,那裡熙熙攘攘的喧囂就像大學校園一樣。

微軟在那裡僱傭了超過50,000名員工。午餐時間,你會發現很多人在微軟內部的許多咖啡館和餐館閒逛,在建築物之間漫步,瀏覽商店,就像週末在一個小鎮一樣。

微軟總部的中央大樓,裡面有咖啡館、銀行、電信服務、快遞服務、酒吧、餐廳和體育用品商店。較低樓層是提供全世界各種口味食物的免費食堂。

中央大樓室外有幾個運動場,那裡舉辦的員工足球和板球聯賽非常受歡迎。

總部內部還有一片森林,裡面有一套樹屋會議室。

在微軟較新的工作空間中,八到十二人的團隊一起工作在大型吊艙中,附近有一些會議室、休息區、咖啡館、遊戲設施,甚至還有充滿樂器的音樂室。

言論

1、

工會不允許波音公司解僱任何人,結果導致有大量不幹活的員工。我保守估計,同事中有30%是反社會人士,他們會積極破壞其他人的工作;另外50%的人在那裡愚蠢地整天瞎扯,閱讀報紙或書籍;剩下的20%才是那些真正關心飛機乘客不會死亡的人。

-- 一個自稱是波音員工的人,在網上爆料。

2、

我發現很多東西都過時了。其中一個就是簽名,現在沒有人要我的簽名,大家都拿著手機,要求跟我一起自拍。

-- 泰勒·斯威夫特,美國紅歌星

3、

年少時,我選擇做一件事,只是因為我喜歡這件事。現在,只要一個愛好無法獲利,我就會放棄它,轉而開始嘗試一個可能帶來收入的新的愛好或目標。

-- 《每個愛好都是一次賺錢的嘗試》

4、

任何情況下,幾乎都不應該購買噴墨印表機。鐳射印表機已經非常便宜,而噴墨印表機的墨水非常貴,實際比香奈兒5號的香水還貴。一加侖墨水的價格,可以購買超過2,600加侖的汽油!

-- 《沒有理由購買噴墨印表機》

5、

我們現在可以期待,中國人加倍努力推出自己開發的智慧手機作業系統,設計自己的晶片,開發自己的半導體技術,並實施自己的技術標準。這隻會加速建立數字鐵幕的過程,將世界分為兩個截然不同的互斥技術領域。

-- 《技術冷戰已經開始》,彭博社評論

回顧

去年的本週:《每週分享第 5 期》

訂閱

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

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

(完)