本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦你的專案。
週刊討論區的帖子《誰在招人?》,提供大量就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖:液晶屏拼接器
刊首語
最近,我看到一個網友的推特發言。
直到現在這年紀,我覺得我跟他們越來越像了,於是感慨人生早就在家族基因註定。如果沒有碰上基因突變,一個人的一生就是父母兩邊家族平均基因的 ±20% 吧,至少我覺得我是。
他的意思是, 不管你多麼努力,大多數情況下,你的處境最多隻比父輩好上20%。我也有類似的感受,子輩很難大幅度超越父輩,尤其是在經濟增長放緩的情況下。
好像是巴爾扎克說的:"培養一個巴黎的上等人,需要三代人的努力。"當時我覺得這話太誇張了,現在覺得這是現實。我認識的人裡面,子輩遠遠超過父輩的例子並不多, 大多數人的生活境遇、社會階層、經濟地位跟父輩都是類似的。
計算一下,如果每一代比上一代改善20%,翻倍確實需要經過三代人,即你的人生處境會比曾祖父好上一倍(1.2 的四次方等於2.07)。這還是最理想的情況,前提是每一代都勤奮努力。如果當中出了一個遊手好閒之徒,改進速度就會大大放緩;要是出了敗家子,還會出現倒退。
總之,正常情況下,人生境遇的改變,是一個緩慢的過程,需要幾代人的累積。只有運氣特別好,你才可能有著大大超越父母的人生,或者說大大地超越你的起點。如果運氣不好,你的人生可能還不如父母。
職座標系列課程
大家知道,國內最大的線上教育平臺之一的騰訊課堂,贊助了我的個人網站。他們最近啟動了"騰訊課堂101計劃",推廣優質的技術教育資源。今天,就向大家介紹三門課程。
第一門是 《前端全棧程式設計師:小白165天逆襲成為 Web 全棧工程師》,幫助你學習全棧,提升實務能力,開拓就業競爭力。這門是全面性的前端課程,覆蓋前端開發的主要知識點和技能。
下面兩門是微信小程式的專項課程,分別是 《小程式入門課程》 和 《2019新語法課程》,適合學習小程式的同學。
這些課程的出品方都是"職座標"。它是騰訊課堂上面唯一一家雙認證("嚴選課程"和"官方認證")的前端培訓機構,匯聚了一批國內外 IT 資深師資力量,注重教輔服務,培訓都以就業和跳槽加薪為導向。
微信掃描下方的二維碼,加入職座標 web 前端學習群,即可獲得 免費的200種 web 前端學習系列電子書 ;回覆"小程式"即可獲得 《7天入門 | 微信小程式開發課程》5折優惠券 !
除了收費課程,他們還誠意提供了許多 CSS、H5、Nodejs 的試聽課程,歡迎大家去看看。
資訊
1、搜尋失蹤兒童
最近,一個6歲男孩在明尼蘇達州的森林地區走失了。當時已經入夜,氣溫零度以下。當地的警察組織了600人投入搜尋,但是一無所獲。
晚上8點,一位攝影師得知了這件事,立刻趕到了現場。他帶上了大疆的 DJI m210RTK v2 無人機,上面配備了熱像儀,可以拍攝紅外線影像。他隨身攜帶了10~12組電池,將無人機升空,檢視地面的熱源。
排除了各種誤報(主要是野生動物水獺、鹿、熊)以後,終於在凌晨1:40 發現了小男孩的位置,正好在兩組搜救人員之間(上圖)。搜尋人員迅速趕往該地點,救出了男孩,下圖是搜尋隊前往救人的熱像圖。
2、漫遊的老鷹
俄羅斯科學家為了瞭解瀕臨滅絕的草原老鷹的遷移軌跡,在它們身上繫結了追蹤裝置,裡面的 SIM 卡會每隔一段時間,就發出一條簡訊報告位置。
10月初,這幾隻老鷹飛出了哈薩克草原,即將進入伊朗和巴基斯坦,這引起了科學家的恐慌。因為一旦進入那兩個地區,手機訊號就會變成國際漫遊,簡訊費用將暴漲,從2盧布~15盧布一條,變成49盧布一條。
科學家在網上發起了"為老鷹充值"運動,希望網友捐款,彌補簡訊費用。鳥類愛好者紛紛支援,目前籌集的費用已經夠一年的支出。下圖為17只老鷹的遷移軌跡。
3、消滅脊髓灰質炎病毒
10月24日(星期四)是世界脊髓灰質炎日,世界衛生組織當天宣佈在世界範圍內根除第3型脊髓灰質炎病毒。
脊髓灰質炎病毒是小兒麻痺症的病因,這種病毒有三個型別(型別1、2、3)。第2型病毒已經在2015年根除,第3型病毒的最後一個病例在2012年奈及利亞北部出現,此後再也沒有發現新的病例,可以認為它已經根除。
目前,只剩下第一型病毒還存在於阿富汗和巴基斯坦,今年報告了94個病例。一旦在這兩個國家消滅了這個病毒,人類就將徹底告別小兒麻痺症。這將是繼天花以後,人類消滅的第二種傳染病。
4、搜尋新演算法
10月25日,谷歌釋出了一種新的搜尋演算法 BERT,已經用於生產環境。這種演算法最大的特點,就是考慮了搜尋詞的語序。以前的演算法只考慮每個詞本身,搜尋hello world
與搜尋world hello
,結果是一樣的。
但是很多時候,語序是搜尋結果的關鍵因素之一。上圖搜尋"巴西遊客去美國的簽證",裡面的單詞to
表示語序。傳統的搜尋演算法往往識別不了這個to
,搜尋的第一個結果是美國遊客去巴西不需要簽證,新演算法的第一個搜尋結果則是美國大使館的簽證網頁。
目前,這種演算法只對英語搜尋有效,後面會擴充套件到其他語言。
5、人類的起源
大部分人類學家都認為,人類起源於非洲。現在,有一個研究團隊提出,人類的祖先最早出現於非洲中部的波札那,即人類的發源地在那裡,時間是距今20萬年前。在那裡生活了7萬年以後(即距今13萬年前),開始向東北方向遷移,逐漸進入今天的埃及。
距今8萬年前,人類開始走出非洲,遷移到全世界各地。
6、780天的飛行
美國一架太空無人飛機 X-37B 在地球軌道上飛行780天以後,10月27日回到地球。這架飛機大約是小型公共汽車的大小,具有太空梭的許多設計特徵,但是不能載人。它於2017年發射進入軌道,是美軍的第五次太空軌道機試驗任務。
此前的一次太空無人飛機在太空待了718天,於2017年返回地球。目前,該試驗已經累計在太空進行了2865天。
7、一句話訊息
- 一家資料公司稱,2018年全世界的軟體工程師有2230萬人,中國有190萬。
- 中國航天科技集團稱,2050年中國將建成地月經濟區,月球相關產業的產值可以達到10萬億美元以上。
- 沙特的阿美石油公司(Aramco)是全球最賺錢公司,決定進行 IPO。它的石油產量佔全球的10%,去年淨利潤為1110億美元,比蘋果+谷歌+埃克森美孚還要多。該公司的總市值可能會到2萬億美元,目前世界市值最大的公司也只有1萬億美元。
- 美國心理學家重做了著名的"10000小時規則" 實驗,結果發現練習10000個小時以後,你可以變得更好,但沒法保證你一定會超過其他人。
- 美國空軍邀請7個駭客破解 F-16 戰鬥機的資料系統,結果發現了不少漏洞。空軍感到滿意,明年計劃邀請駭客攻擊軌道上的真實衛星。
- 美國人口統計局提供的1960年與2060年的美國人口年齡結構圖。今後幾十年中,年輕人佔總人口的比重將急劇下降。
- 俄羅斯程式設計師製作了一條 LED 領帶,裡面裝有 LED 發光二極體,可以程式設計顯示發光的圖案。
- Firefox 瀏覽器明年會隱藏彈出的通知框(notification,下圖),使用者必須點選位址列圖示才會顯示。早該如此了,這個框和是否同意 Cookie,是網頁的兩個毒瘤。
文章
1、為什麼秋天葉子會變黃?(英文)
一篇圖文並茂的科普文章,製作精良。
2、華為 HR 五千字實名控訴(中文)
胡玲是一位從研發轉崗到 HR 的華為員工,她的這篇5000字長帖講述了她在 HR 崗位上幾個月的感受。當研發員工月加班160多個小時的時候,HR 團隊領導只關心160個小時中有多長時間是怠工;這位領導吃著公司200塊一對的大閘蟹,卻認為給食堂提意見的研發應該清退;當32歲的研發績效B+被勸退的時候,40歲的 HR 同事上班摸魚績效三連B卻還隨心所欲。
3、JSON.stringify 如何影響 Node.js 的效能(英文)
JSON.stringify()
方法用於 JSON 物件的序列化,該方法對 CPU 的消耗很大,會影響 Node.js 的效能。本文是深入分析。
4、影響世界未來最重要的三件事(英文)
一篇非常好的英語長文,指出有三種大趨勢將完全改變世界和每個人的未來。
5、六個畫板程式的 Linux 替代品(英文)
本文介紹6個可以用來作畫的 Linux 開源程式。
6、華為 MateBook X Pro 筆記本體驗(英文)
一個澳大利亞開發者購買了一臺華為 MateBook X Pro 筆記本,在上面安裝 Linux,本文是他的總結。
7、網站釋出到 IPFS 指南(英文)
一個簡單的教程,教你如何把網站釋出到 IPFS,並設定域名解析。
8、Bash 自動補全的工作原理(英文)
本文教你如何為自己的命令列工具,加上 Bash 補全功能。
9、學術論文的變化(英文)
本文是一個以色列研究團隊分析了200年來5.28億篇學術參考文獻,所得到的一些發現。這些年來,隨著論文數量激增,論文變得越來越短,而標題、摘要、作者列表和參考文獻卻越來越長,大量的自我引用。研究者認為,論文的發表數量和引用數量,已經成為學者主要追求的目標。
10、如何把回撥函式轉為 Promise?(英文)
JavaScript 的非同步操作,傳統上採用回撥函式寫法,本文介紹如何把基於回撥函式的程式碼改為 Promise。
工具
1、瀏覽器位址列的貪吃蛇遊戲
整個遊戲就在位址列裡玩。
2、algosuggest
一個線上工具,只需回答幾個簡單的問題,描述你遇到的機器學習場景,它就返回應該使用哪一種機器學習演算法。
3、crontab 編輯器
crontab 是 Linux 系統的定時任務執行器。這個線上工具可以視覺化生成 crontab 的配置檔案。
4、Calibre 4.0
電子書管理軟體 Calibre 釋出4.0版本,底層進行了大幅度重寫。
5、AltStore
蘋果裝置安裝第三方應用商店的方法(不必越獄),看上去好像有效。
6、nanoid
一個極小的 uuid 生成的 JS 庫。
7、AutoCannon
一個 Node.js 寫的 Web 伺服器負載效能測試工具。
8、streamlit
一個機器學習工具,可以一邊寫指令碼,一邊自動生成模型的視覺化執行結果。還可以生成網頁控制元件,手動拖拉檢視模型變化。
9、Bitwarden
一個免費的多端密碼管理器。
10、imagededup
一個基於 Python 的找出重複圖片的工具,支援多種查重演算法。
11、Visual Studio Online
微軟官方的 Visual Studio 線上版,在瀏覽器裡面提供 IDE 功能。
資源
1、摺紙地球儀
該網站提供多種模板下載,可以列印出來,自己摺紙做一個地球儀。
2、後端常用文件
該網站收集開發常用框架文件及中文翻譯(部分是機器翻譯),包含 Spring 系列文件、大資料(Apache Hive, HBase, Apache Flume)、日誌(Log4j2, Logback),Http Server(NGINX,Apache),Python,資料庫等最新官方文件。(@heyuxian 投稿)
3、碼農週刊一週精選分類
碼農週刊一週精選的分類整理。(@rogerzhu 投稿)
4、Go 語言風格規範
Uber 公司開源了該公司的《Go 語言風格規範》。
5、50座最具影響力的高層建築
該網站評選和介紹,過去50年中50座最具影響力的高層建築。下圖是倫敦 Swiss Re Tower 大樓,179米高,2004年建成,俗稱"小黃瓜"。
圖片
1、資料、資訊、知識、洞察、智慧
2、攝影師塞巴斯蒂昂·薩爾加多
1986年,巴西攝影師塞巴斯蒂昂·薩爾加多(Sebastião Salgado)在亞馬遜叢林的一個金礦待了16天。5萬人在那裡手工淘金。
3、Apple I 與錄音機
1976年,蘋果公司的第一個產品 Apple I 電腦釋出。
該電腦的資料儲存在普通磁帶上面,寫入/讀取資料的裝置(即硬碟)是松下公司的 Panasonic RQ-2102 錄音機。
文摘
1、軟體架構被高估,清晰和簡單的設計被低估
(1)設計一個計算機系統的目標應該是簡單性 。
系統越簡單,理解起來就越簡單,找到問題就越簡單,實現它就越簡單。描述的語言越清晰,設計就越容易理解。
乾淨的設計類似於乾淨的程式碼:它易於閱讀且易於理解。
(2)如何編寫乾淨的程式碼?
編寫乾淨程式碼有很多好方法。但是,你很少會聽到有人建議,在程式碼中應用"四人幫"的設計模式。
乾淨程式碼的特徵是:單一責任,明確命名和易於理解的約定。這些原則同樣適用於清晰的架構。
(3)設計模式的作用是什麼?
設計模式可以為你提供如何改進程式碼或架構的想法。瞭解常見的設計模式是一件好事,它們有助於縮短與他人的討論,讓別人以與你相同的方式談論一件事。
但是,設計模式不是目標,它們不能替代系統設計的簡單性。在設計系統時,你可能會發現自己意外地應用了一個眾所周知的設計模式,這是一件好事。但你不應該為了採用一種或多種設計模式,而將其用作錘子,到處尋找釘子來使用它。
我承認,雖然我花了很多時間閱讀和理解"四人幫"的《設計模式》,但它們對我成為一名更好的程式設計師的影響,要小於我從其他工程師那裡得到的反饋。
作為一名工程師,你的目標應該是更多地解決問題,並透過它們進行學習,而不是選擇閃亮的設計模式。
2、我的孩子喜歡抖音和 FaceApp
你8歲的女兒正在一個貌似夢幻般的遊樂園裡獨自走來走去,這個遊樂園遠在中國或俄羅斯,一個你毫無瞭解的地方。
公園沒有入場費,一切都是免費的,從糖果到數百個景點。公園充滿了閃光和彩虹的所有顏色,有趣的音樂不斷播放。
公園大得無窮無盡,她越深入公園,就會發現更多的樂趣。不需要排隊,就可以參觀各個景點。只要是能看到的東西,就立即可用。對她來說,這就像一個獨立於外部世界的幻想宇宙。
你的女兒與數千名其他孩子一起在公園裡遊玩,大家都非常喜歡它,一樣狂歡跳舞。她感覺好極了!
在此同時,擁有成千上萬工人的巨型公司,透過高度機密的人工智慧和機器學習、超級先進的攝像頭、麥克風以及數百種其他感測器,監控你女兒在公園中的每一步。
該公司分析了數百萬個資料,建立您女兒的完美模型。她穿什麼衣服、她的音樂品味、她的動作、她的幸福感、傷心、著急、害怕。她在公園的每一步,公司都在分析她的面部表情。
進入公園僅幾個小時,公司就知道了有關你女兒的一切,她的年齡、性別、興趣愛好、確切的家庭位置、生日、眼睛的顏色、她的朋友、她喜歡什麼衣服、她最喜歡的顏色,甚至無限期地保留了她的資料。
你的女兒毫無所知,仍然一切正常在公園玩耍。她感覺好極了!
遊樂園不像監獄。她可以隨時離開。有時她覺得有些不對勁,想離開公園。然而,每次她決定離開公園後不久,她都會想返回。她害怕錯過了好東西,擔心自己不會第一個發現有新景點可玩,不會認識新朋友。她最大的恐懼是,如果我的一位朋友發現了一項新活動,而我什麼都不知道,這該怎麼辦。
人工智慧監控系統收到了她想離開公園的訊號,系統開始將她最喜歡的景點移向公園的入口區域,因此她無需走很長時間即可做到這個景點,一切對她來說都變得更加容易。更好的是,她在公園裡喜歡的所有東西,從糖果到背景音樂,都針對她的口味進行了最佳化。她感覺好極了。
與此同時,公司的先進計算機網路一直在後臺努力工作,透過過去幾天和幾周收集到的有關女兒的數百萬條資訊,為你的女兒建立一個完美的資料模型。龐大資料庫還為她與其他孩子們進行了配對,這些資料庫包括了公園的數億其他孩子。
你女兒不知道的是,她現在已經成為公司的產品。公司用她作為模型和內容,去服務其他跟她相似的兒童,使公司創始人和股東成為億萬富翁。
言論與數字
1、
負利率的一個嚴重問題是,規模萬億美元的金融工具所使用的數學模型,根本無法使用負數。
-- 《負利率正在改寫現代金融規則》
2、
世界正在迅速電氣化,轎車、卡車、摩托車、飛機都在變成電動裝置。原因大致相同:執行更安靜,維護需求減少,效能和效率更高,能源使用更加靈活。
-- IEEE
3、
1900年,美國83%的死者不超過65歲,今天正好反過來,75%的死者超過65歲。
-- George Will
4、
一旦戰爭變成對峙的陣地戰,就進入了靜態階段。在動態階段,獲勝依靠奇襲;在靜態階段,哪一方發射較多的彈藥,哪一方獲勝。
-- 二戰德國元帥隆美爾
5、
人工智慧的計算量越來越大,使得越來越少的人可以負擔這樣的計算能力。大型科技公司每年花費數十億美元,建設自己的資料中心,壟斷了計算資源。最終,只有它們才負擔得起人工智慧。
-- 《紐約時報》
6、
是的,美國人只能暴露在美國公司批准的宣傳之中。
-- HN 讀者評論美國政府宣佈對抖音收購 Musical.ly 進行國家安全稽核
回顧
去年的本週:《週刊第 29 期》
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌、微信公眾號和語雀。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)