科技愛好者週刊:第 99 期

阮一峰發表於2020-03-20

這裡記錄每週值得分享的科技內容,週五釋出。

本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦你的專案。

週刊討論區的帖子《誰在招人?》,提供大量就業資訊,歡迎訪問或釋出工作/實習崗位。

封面圖:美國華盛頓州的腳踏車樹。1950年代有一個男孩把腳踏車忘記在樹林中,40年後這輛腳踏車長進了樹裡。(出處

刊首語

這幾天,教育部公佈了2020年研究生招生規模,今年會多招18.9萬人,比去年增長20%。

這是為了落實國務院的要求,因為今年有疫情,高校畢業生的就業形勢非常嚴峻,擴大研究生招生,可以減少就業壓力。

這固然是不得已的措施,但也反映了我們國家的現實: 高等教育的目的,並不完全是培養學術人才,很大程度上充當了就業緩衝層。

一旦就業不好,高校就會擴招。由於一再的擴招,研究生的培養質量下滑得很厲害。我建議,大家考研一定要慎重, 如果不打算追求學術,輕易不要考研。 否則等到兩三年後畢業,拿到一張含金量有限的碩士文憑,你會發現工作同樣難找,還白白浪費了好幾年的寶貴光陰。

這些年已經司空見慣了,博士研究生去參加公務員考試、去應聘中小學教師。幾乎任何一個有學歷要求的招聘崗位,都有博士生在應聘。學歷貶值的程度可見一斑。

在我看來,讀研越來越不值得,研究生文憑在貶值,而學到的那些知識完全可以在網際網路上自學。一邊工作一邊學習,會比讀研的成本小很多。工作中提高技能,瞭解社會,更重要的是可以有收入;下班後,再透過網路自學,補充知識,思考自己未來要走的方向。總之,中國的研究生教育不是出路,學到的東西太少,浪費的時間太多。

免費前端影片

最近,企業的前端招聘已經開始了,但是招聘崗位明顯比往年少。如果你的前端基礎還不夠紮實,最好抓緊現在業務還沒有完全恢復的這段準備期。

應對前端面試有兩大要點, 一是技術棧的熟練掌握,另一個就是了解面試的相關技巧。 吃透了這兩點,等疫情完全結束,就有機會拿到好的 offer!

本期週刊為大家提供一批免費的影片資料,內容分別是大牛的面試技巧分享和 Vue 這個前端常用框架的講解。以下影片資料均由 開課吧 獨家提供。

影片一:《一小時帶走前端大牛覆盤的求職策略》 :大廠面試章法(簡歷、目標公司、如何描述做過的專案),面試技巧的分享,面試題的詳解等。

影片二: 《Vue3 響應式原理剖析》:Vue3 響應式初體驗、Vue2 & Vue3 響應式原理對比、Vue3 響應式實現、原始碼分析等。

影片三: 《Vue 原始碼剖析之整體流程》:Vue 原始碼除錯環境搭建、入口檔案剖析、Vue 初始化流程分析、Vue 原始碼學習整體流程總結等等。

感興趣的讀者,長按下方二維碼兩次,現在就能免費領取這三個影片教程。溫馨提示:資料數量有限,僅提供259份。

掃二維碼,成功新增小助理,即可領取面試禮包。

資訊

1、3D 列印呼吸機閥門

最近,義大利佈雷西亞地區(新冠病毒受災最嚴重的地區之一)的一家醫院的呼吸機突然壞了,由於供應鏈中斷,找不到替換零件,眼看很多呼吸困難的病人危在旦夕。

萬般無奈之下,醫院找到當地 3D 列印公司,希望他們可以幫忙解決。這家公司很快就把壞掉的閥門掃描後,3D 列印了出來。呼吸機又可以正常工作了,已經支援了10個危重病人的呼吸功能。這件事情的啟示是,機器的機械部件以後都應該做成 3D 列印友好的設計,或者附上 3D 掃描的原始碼,這樣對於更換零件和日後的維護會產生巨大的方便。

最新訊息是,此事經過媒體報導以後,呼吸機公司威脅將要起訴醫院和 3D 列印公司,理由是他們侵犯了專利權,沒有授權就複製了零件。評論認為,這主要是因為成本,整套零件的市場價接近10000歐元,但是 3D 列印的成本為每個1歐元。

2、公交車紫外線消毒

上海公交開始使用紫外線防毒技術,對車輛進行全面消毒。專用的"紫外線消毒車間"配有216根石英紫外線燈管,以及多臺可移動紫外燈架,對車輛進行全方位照射。

整個消毒過程完全是無人的,每輛公交車需要約10分鐘。這比疫情初期公交車手動噴灑消毒劑,不僅節省時間,而且更可靠更安全。

3、威尼斯直播

義大利威尼斯的一家旅館已經沒有了生意,就在Youtube直播它的視窗望出去的景象,現在就在播出,有好幾個攝像頭輪流切換,畫面相當清晰。

平時半夜都喧鬧無比的市政廣場,現在幾乎空無一人。直播不時插播一行字:"等到疫情結束,請預訂您的行程,幫幫這個城市"。

4、隔離手環

香港政府要求所有入境人士都要佩戴一種手環,用來監控是否居家隔離14天。這種手環戴上去,就拿不下來,除非把帶子剪掉,但是如果擅自破壞手環,可能會被監禁6個月。

手環不含 GPS,但是可以與手機通訊,再透過通訊軟體分享實時位置。只要一離開規定的範圍,手環就會自動報警,警察就會撥打隔離者的電話,要求他透過手機分享自己的位置。

5、氫動力火車

英國製造了氫動力火車的樣車,正在測試。這種火車透過分解氫氣發電,儲存在鋰電池,一次可以行駛80公里到110公里。如何順利的話,預計兩年後投入使用。

氫動力最大的好處就是環保,不會產生有害氣體和二氧化碳,唯一的產物是水。而且,氫動力火車比新建純電力火車便宜,因為不需要改造軌道,可以直接在現有軌道上行駛,這對鄉村尤其適合。

氫動力火車的最大問題是,它只能攜帶20公斤氫氣,只夠執行3個小時,因為沒有便宜的方法可以壓縮氫氣的體積,所以火車無法攜帶更多的氫氣。

6、生成所有 MIDI 旋律

MIDI 是一種電子音樂的格式,可以用數字格式生成和記錄音樂。兩位美國程式設計師為了防止有人將 MIDI 旋律申請版權,就用軟體生成了所有8個音符、12種節拍的旋律,然後以創意共享許可證釋出到網上。軟體可以每秒生成30萬種旋律。

以後,如果有人要將自己的作品申請版權,就會發現這個旋律已經發布過了,從而無法申請成功。他們解釋自己的動機時說:"版權制度有問題,急需改革。旋律只是數字而已,不應該被申請版權。"

7、一句話訊息

  • 谷歌搜尋"美國民主黨",會顯示民主黨的標誌是一隻老鼠,而不是應該出現的一頭驢。谷歌已經承認這是 Bug,會盡快修復,但沒有透露原因。

  • 黃金價格不斷上漲,3月16日金銀比價創下123.78的記錄,即等重量的黃金價格是白銀的123.78倍。這是人類5000年來的最高記錄。

  • 維基百科 說,覆蓋所有人類知識需要1.04億篇文章,目前該網站共有0.277億篇文章(含所有語種)。估計到2040年代,所有人類知識就可以全部收入了。

  • 馬斯克說,SpaceX 公司的目標是擁有1,000艘宇宙飛船,每年生產100艘,每艘使用壽命為20~30年。有了那麼多船,SpaceX 每年將向火星運送多達1億噸貨物,以及10萬個乘客,2050年時火星人口可以達到100萬。

  • 科學家發現,相隔幾千萬光年的星系會同步旋轉,因此猜想宇宙存在某些巨型結構,將遙遠的星系連在一起。

文章

1、SQL 中的 NULL 你真的懂了嗎?(中文)

SQL 中的 NULL 到底是怎樣一個概念呢?有什麼要注意的嗎?這篇文章就是要把它講清楚。第 98 期英文版的中譯。(@9527q 投稿)

2、戴森印象記(中文)

2020 年 2 月 28 日, 著名物理學家弗里曼·戴森 (Freeman Dyson) 在美國去世, 享年 96 歲。戴森去世的次日早晨, 我收到《上海書評》編輯的微信, 約寫一篇關於戴森的文章。 我說我只能寫一篇不全面, 且並非一味 "點贊" 的文章。

3、AWS 精萃介紹(英文)

AWS 是世界排名第一的雲服務,本文以簡單易懂的語言和圖片,解釋它的幾個主要服務:DynamoDB、S3、EC2、ELB 等等。

4、適合自己架設的開源遠端辦公軟體(英文)

很多企業進行遠端辦公時,使用自己架設的開源軟體會更方便,本文就介紹一些主要的選擇。

  • 聊天:Mattermost 和 Matrix
  • 雲端儲存:Nextcloud
  • 專案管理:Redmine
  • 程式碼託管:Gitlab

5、創業公司的23條規則(英文)

作者以自己創業的親身體會,總結了23條經驗,我覺得有幾條寫得非常好,比如一定要有經常性收入;不要提供免費版,寧願提供試用版;儘量選擇有多個廠商支援的平臺或技術。

6、中國地圖座標簡介(英文)

中國的地圖座標不同於國際通用座標,在標準地圖會產生幾百米的偏移,必須採用演算法換算。

7、SQLite vs MySQL vs PostgreSQL:關聯式資料庫管理系統的比較(英文)

本文對標題裡面三種關係型資料庫進行了簡要介紹,提出各自的優缺點和適用場景。

8、齒輪原理(英文)

一篇很好的科普文章,透過視覺化圖形,通俗介紹齒輪傳動的原理。

9、高效能前端架構(英文)

本文總結了提高前端網頁效能的各種措施。

10、一次瀏覽器前端加密的逆向工程(英文)

作者瀏覽一個網站時,發現該網站的加密通訊是在前端完成的,即用公鑰在前端進行加密和解密,於是進行了逆向工程,還原出明文資訊。

工具

1、openVidu

一個開源的視訊會議軟體,使用 WebRTC 技術。

2、GitHub 官方 App

GitHub 的官方手機客戶端,安卓和 iOS 都支援,可以發 issue、合併 PR、程式碼 Diff 等等。

3、bigbluebutton

開源的遠端教育軟體,也可用作視訊會議。

4、fastai-cnn-camera-app

一個示例專案,如何在網頁上使用神經網路,識別照片裡面的物體,比如人、樹、椅子等等。

5、Hand Mirror

一個 MacOS 應用,可以在系統選單欄顯示一個圖示,點選後直接顯示攝像頭畫面。

6、jira_clone

使用 React + Node.js 寫的專案管理工具 Jira 的克隆。

7、vardbg

一個 Python 指令碼的除錯工具,並可以生成指令碼執行流程的視覺化影片。

8、AmIUnique

這個網站顯示 JavaScript 可以收集多少使用者資訊,當作唯一指紋,用來追蹤使用者。

9、Commento

一個為網頁插入評論的 Web 服務,可以作為 Disqus 的替代品。

10、Mirage JS

一個模擬伺服器 API 返回結果的前端 JS 庫。

11、幾何藝術佔位符影像

該網站提供佔位符影像(Placeholder),影像內容是演算法生成的幾何圖形。

資源

1、socode.pd

程式設計師的搜尋工具,將各種網路資源彙總在一個搜尋框裡面。(@zicjin 投稿)

2、CS246:大資料探勘

史丹佛大學的大資料探勘的本科生公開課程。

3、性別中性用詞

這個倉庫收集了各種性別中性的英語詞彙,比如 businessman 說成 manager,doorman 說成 security guard,chairman 說成 chairperson。

4、Awesome Open Source

該網站對 GitHub 上的開源專案進行分類,共有7000多個類別。

5、awesome-icons

這個倉庫收集免費的圖示資源。

圖片

1、核動力破冰船

俄羅斯是目前世界上唯一擁有核動力破冰船的國家。

1957年,第一艘核動力破冰船列寧號下水。核動力船隻的生產和維護成本高昂,但可以航行數年而無需補充燃料,這在人煙稀少的極地非常重要。

列寧號的反應堆後來發生過兩次危險的故障,所以這艘破冰船已經於1989年退役,如今成為博物館,停泊在摩爾曼斯克。下圖是2019年香港遊客在列寧號前拍照留念。

1977年,核動力破冰船成為第一艘到達北極極點的船隻。

1977年,船員在 Arktika 核動力破冰船上的溫水游泳池游泳。

1991年蘇聯解體後,由於缺乏資金,核動力破冰船開始收費的北極旅遊。下圖為一名沙特男子於1990年下船在北極祈禱。

2018年,俄羅斯破冰船共進行了五次北極旅遊航行。2020年的最低價格為每人30,995美元。

文摘

1、魚雷的歷史

早期的魚雷,必須擊中船隻才會爆炸。但是,魚雷擊中船隻的機率並不高,能不能只要接近船隻,魚雷就爆炸呢?

第一次世界大戰期間,德國人開發了帶有電磁雷管的魚雷。魚雷內部有一個羅盤針,只要接近鋼製或鐵製的船殼,羅盤針會移動。越靠近,移動幅度就越大,從而啟用電觸點,使魚雷爆炸。

這種魚雷的一個問題是,地球磁場會對羅盤針產生影響,所以不適合在高緯度地區使用。

另一個問題是,海軍希望魚雷可以在船下爆炸,而不是在船的旁邊爆炸。那樣的話,損害會更大。理想情況下,直接在船隻下方引爆一兩個魚雷,就足以將船隻炸成兩半。

1925年,美國設計了線圈魚雷。它不是由羅盤啟用的,而是用感應線圈來產生電動勢。當魚雷透過目標磁場或在目標磁場下時,感應線圈就會改變。真空管放大了線圈內的變化,以釋放撞針。這個設計在當時非常複雜,使得這種魚雷的可靠性很差。但是一旦正常工作,威力十分巨大。

二戰中,美軍使用這種線圈魚雷,只有30%的可靠性。剩下的70%不是過早就是過晚爆炸,甚至根本沒有爆炸。

儘管存在種種問題,僅佔美國海軍人員2%的潛艇官兵,炸沉了1,178艘商船和214艘軍艦。他們自身的損失是52艘潛艇,374名軍官和3131名士兵。美國潛艇部隊在太平洋海戰的傷亡,是全部海軍傷亡的40%,但是摧毀了全部日本艦艇的55%。

2、Google Stadia 的錯誤是選擇了 Linux

谷歌 Stadia 於數月前推出,將遊戲和流媒體組合在一起,但是推出後並不順利。

Stadia 最初只有12個遊戲,相比之下,PS4 有2441個遊戲,而 Xbox 有2361個遊戲(如果包括向後相容的遊戲,則為3200個以上)。此外,Stadia 的開通費是129美元,後面需要每月支付訂閱費10美元,才能玩遊戲。相比之下,您可以用149美元的價格購買全新的Xbox One S。

Stadia 剛問世時,人們就將它稱為遊戲界的 Netflix。雖然它與人們認為的"吃到飽"服務相去甚遠,但將其與 Netflix 相比較是錯誤的。因為 Netflix 可以在獲得許可後,將任何現有的電影或電視節目直接新增到片庫。Stadia 做不到這一點,因為它執行Linux,而幾乎沒有大型遊戲為 Linux 做開發。因此,谷歌不僅需要獲得遊戲工作室的許可,還需要遊戲開發人員將其移植到 Linux 和 Stadia 的平臺上。舉例來說,為了使Destiny 做好準備,Google 必須讓2名工程師專職工作6個月,以確保遊戲可以按時釋出。即使這樣,遊戲也只能以 1080p 的解析度執行,並沒有提升到 4K。

如果 Stadia 使用 Windows,那麼它就是遊戲屆的 Netflix。在獲得許可協議後,Windows 上釋出的每個遊戲都可以玩。遊戲開發人員無需付出任何努力即可將遊戲移植到這個全新平臺上。它不需要再讓一個 Linux 工程師幹上幾個月,把它移植過來。

如果 Stadia 使用Windows,還有一個好處,就是可以讓 Stadia 使用者與 PC 使用者一起玩多人遊戲,這對於很多大型遊戲有重大意義。

另外,如果你在 PC 或其他遊戲平臺上已經買過同一個遊戲,進入 Stadia 仍然需要再次購買。由於使用者從 Stadia 購買的遊戲保留在雲中,因此一旦 Stadia 關閉,使用者將無法玩遊戲。考慮到過去 Google 殺死了大量產品,Stadia 關閉也不是不可能。如果 Stadia 使用 Windows,那麼關閉後,人們將能夠輕鬆下載購買的遊戲,然後轉移到 Windows 平臺繼續玩。

言論

1、

1665年8月,劍橋大學由於鼠疫傳播而關閉,一個叫做艾薩克·牛頓的學生不得不回到鄉下的老家,躲避瘟疫。

整整18個月,他與世隔絕,努力地讀書和做實驗,創造性地提出了一整套引力理論。人類的科學進展由於這個單一事件,從此徹底改變。

-- 《艱難時期的橫向思考》

2、

微軟每隔幾年就推出一個新的 .NET 框架,幾年後它們就會停止更新。每一次,你的新開發都在新框架上進行。一段時間後,這真的很累。

-- HN 讀者評論微軟最新推出 WinUI 框架

3、

兩天前,ZDNet 發表了新文章《認識 iPad:提高你生產力的10個應用》。這一類的科普文章,每週都會出現,這難道不是一件很奇怪的事情嗎?

iPad 已經發布10年了,可是人們還必須看這種文章,說明大家還沒找到辦法,到底怎樣才能在 iPad 上進行實際工作!

-- 《iPad 的失敗》

4、

我意識到,無論谷歌釋出多麼新的、文件完善的、功能強大的新 API,我們餘生都將為安卓 4.4 編寫程式碼。

-- HN 讀者 回答提問《作為手機開發者,你有沒有什麼遺憾?》

5、

你無法管理沒有量化的事情。

-- Lorin Hochstein

6、

有氣象記錄以來,地球平均氣溫最高的五年是2016年、2019年、2015年、2017年、2018年。

--《2019年是全球氣溫第二高的年份》

7、

我原本沒想發明 Node.js,而是想用 Haskell 語言完成我的專案,但是失敗了。我又不夠聰明,沒有能力改進 GHC(Haskell 語言的執行時),只好發明新的工具。

-- Ryan Dahl,Node.js 的發明者

回顧

去年的本週:《週刊第 48 期》

訂閱

這個週刊每週五發布,同步更新在阮一峰的網路日誌微信公眾號

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

(完)

相關文章