科技愛好者週刊(第 115 期):保護你的 DNA,不要洩漏

阮一峰發表於2020-07-10

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

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

封面圖

澳門去年11月舉辦龍馬巡遊,該大型機械裝置為中法團隊合作打造,上身為龍,下身為馬,身體各部分都能動,還能噴火。(出處:Instagram

本週話題:保護你的 DNA,不要洩漏

上週,美國佛羅里達州透過了《DNA 隱私法》,成為美國第一個對 DNA 立法的州。它明文規定 DNA 屬於個人隱私,保險公司不得獲取 DNA 測試的結果。

為什麼 DNA 不能讓保險公司知道?

因為 DNA 包含了一個人所有的遺傳資訊,你有什麼基因缺陷,一查 DNA 都能知道。保險公司拿到你的 DNA 以後,就能識別你可能會得哪些疾病,於是相應調整費率,或拒絕你投保人壽險和醫療險。

DNA 不僅對保險公司有用,對就業和招生也有用,可以用來找出基因上最合適的人選。所以,DNA 裡面的個人資訊可能不利於你,要注意保護,防止洩漏。

DNA 測序已經是一項常規技術了,普通實驗室都能做,毫無難度。現在,新生兒出生前,醫院都會建議孕婦做一下產前 DNA 檢查,防止遺傳病。2018年,湖南一個孕婦起訴華大基因公司,原因就是該公司的 DNA 檢查一切正常,但是新生兒生出來有嚴重的遺傳病。

如果 DNA 檢查發現遺傳缺陷,這個新生兒是不會生出來的。引申一下,這對成人也一樣,如果你的 DNA 洩漏了,有時就直接出局了。

DNA 檢測現在有多便利?電商平臺搜一下"DNA 檢測"、"DNA 測序",會返回很多結果。

DNA 也很容易獲得,頭髮、血液、唾液、身體組織都能用來檢測。所以,保護 DNA 的難度其實挺大的,只能說個人要有保護意識,儘量不留下 DNA 痕跡。

講座:演算法面試的必考知識點

暑假到了,大家打算怎麼利用這個假期?

如果你能靜得下心,其實可以考慮好好學一下演算法。以後進入公司,開發任務一重,就很難有時間和心思,再來學這些基礎的東西。

這裡介紹一門極客大學推出的講座 《演算法面試必考知識點》,可以幫助你學好演算法。因為演算法內容實在太多,所以這個講座一共安排了7天。

講座的主要內容是針對 LeetCode 的海量題庫,精選 30 道 BAT 大廠面試高頻特色演算法題,重點講解面試的必考知識點,教學風格通俗易懂,零基礎的同學也可以聽。錄播、直播、線上答疑相結合,配合小測試和課後作業,保證教學效果。

主講老師是覃超,他曾擔任 Facebook 多年面試官,作為 Facebook Messenger Tech Lead,主導和參與了 Facebook App、Facebook Messenger、Facebook Phone 等產品的研發工作。離開Facebook以後,他與極客大學合作,親自授課,傳授大廠面試經驗。透過覃超老師指導的學員,很多都拿到了矽谷公司以及國內頂級網際網路公司 Offer。

除了影片講座,每天還會有來自一線網際網路企業的助教老師在群內答疑,並配備專屬班主任全程帶班,召開班會,幫助大家結成學習夥伴,互相監督鼓勵。課程結束後,還有學習資料可以領取。

這樣規格的7天講座,僅象徵性收費 9.9元。微信掃描下方二維碼,即可報名,只有 100 個名額哦。

資訊

1、平流層飛船

美國一傢俬人公司提出了"平流層飛船"計劃,讓遊客乘坐飛船上升到平流層(距離地面30公里),體驗一下太空的感覺,票價預計為每人12.5萬美元。飛船可以乘坐八名乘客和一名飛行員,先進行長達兩個小時的上升,然後在空中停留兩個小時,最後再花兩個小時下降。

飛船的上升動力,主要來自一個巨大的充滿氫氣的氣球。飛船內部有酒吧,還有一個"擁有世界上最佳視野"的廁所,甚至有 Wifi。該公司計劃飛船在2024年完工,目前已經在官網接受預訂。

2、AI 海灘救生系統

夏季的海灘有很多人,如果發生溺水,不容易發現。為了幫助救生員儘快發現溺水者,以色列創業公司 Sightbit 開發了一套 AI 溺水救生系統,使用攝像頭自動偵測溺水者,還能發現無人看管的孩子和異常的水流。

該系統接受了"成千上萬張照片"的訓練,只要三個攝像頭,就能監控300米的海岸線。它會自動識別游泳者,一旦發現危險,就會出現閃爍框,救生員可以單擊警報,放大檢視。

3、加州大學舊金山分校支付贖金

6月1日,加州大學舊金山分校(UCSF)的電腦中毒,出現了上圖的對話方塊,要求支付贖金,才能繼續使用電腦。

舊金山分校立刻根據留下的 Email 地址,與駭客取得聯絡。駭客要求支付贖金300萬美元,舊金山分校說新冠病毒使得學校財務很困難,希望只支付78萬美元。最後,雙方討價還價,駭客同意了114萬美元的贖金。第二天,舊金山大學就將116.4個比特幣轉移到了對方的電子錢包,然後就得到了解密軟體。

4、自動結算的購物車

合肥某超市出現了帶有自助結算裝置的購物車。消費者從貨架取完商品後,使用該裝置掃描二維碼,然後手機付款,就完成了整個自助結算的過程。

這個裝置可能不容易推廣。它最大的問題是,購物車需要經常充電,而且容易遭到破壞或偷竊,一旦被人拿走,超市會有較大的損失。

5、寶馬汽車的付費加熱座椅

德國寶馬汽車公司最近釋出了新的汽車作業系統,最引人注目的是將許多汽車功能做進了系統,讓它們都變成了軟體服務,像自動導航、自動遠光燈、甚至加熱座椅都變成了軟體控制。

新的系統還帶有收費設定,這意味著,這些服務都可以改成按小時收費,付款後才能開啟。以後,你可能需要按月購買服務包(service pack),才能使用汽車的某些功能,比如冬季購買加熱座椅服務,夜裡購買自動遠光燈服務。

6、一句話訊息

  • 科學家在海拔6700米的安第斯山脈的山頂,發現了老鼠。這是已知生活區域最高的哺乳動物。這些老鼠吃什麼,目前還是一個迷,那個高度沒有植物,氧氣只有海平面的一半。

  • 小米申請了滑動相機專利,手機背面設定一個滑動條,上面裝了三個攝像頭。要用前置攝像頭時,滑動條會自動滑出,這樣手機正面就可以實現全面屏。

  • 英國科學家發表研究成果,每天盯著紅光看幾分鐘,有助於防止老年人視力下降。

  • 推特工程部門宣佈,開始替換帶有歧視性的軟體術語,比如"黑名單"(blacklist)改為"拒絕名單"(denylist),"白名單"改為"允許名單"(allowlist)。

  • 中國電子書廠商 Onyx 拒絕釋出裝置原始碼,那是根據 Linux 核心改的,明顯違反了 GPL 許可證。Reddit 社群正在討論,開源軟體有沒有辦法在中國維權。

文章

1、Vim 的由來(英文)

Vim 有30多年曆史,目前依然是最流行的編輯器之一。本文簡要地回顧了歷史,它的一些主要的設計決定,到底是怎麼來的。

2、史上最難的定位挑戰(英文)

一個推特使用者發了一張照片,空蕩蕩的藍天上有一架飛機。他給出了三個已知條件,本文分析如何根據下面三個條件,定位他在哪裡拍這張照片。

  • 天空中的飛機是從倫敦飛往香港的波音747。
  • 該照片拍攝於2019年10月30日。
  • 拍攝者在旅館裡。

3、Makefile 的靜態網站實現(英文)

現在有各種各樣的靜態網站工具,比如 Jekyll 和 Hugo 等。作者提出,Makefile 也可以用來實現靜態網站,這樣就不需要任何外部工具了,只維護一個 Makefile 配置檔案即可。

4、雜湊演算法的種類(英文)

這篇文章用相對通俗的語言,介紹了目前常用的幾種雜湊演算法,以及它們各自適用的場景。

5、React Hooks 的常見的錯誤寫法(英文)

Hooks 是前端框架 React 現在主推的寫法,它很靈活,但也很容易誤用。本文作者總結了四個錯誤寫法,雖然能夠執行,但是不應該這樣寫。

6、字型反爬的攻與防(中文)

作者因為業務原因需要爬取一批鬥魚主播的相關資料,結果發現鬥魚使用了一種很有意思的反爬技術:字型反爬。

7、分頁查詢不要使用 OFFSET 和 LIMIT 語法(英文)

資料查詢時,如果資料多,就需要分頁,一般使用 OFFSET 和 LIMIT 語法。這篇文章提出,這樣做不好,耗費資源,有效能問題。

8、寫給 JavaScript 程式設計師的 Rust 教程(英文)

一組系列文章,使用 JavaScript 作為例子,介紹 Rust 語言。

9、Git 多行提交資訊的簡單方法(英文)

git commit命令的-m引數用來指定提交資訊,但是這樣提交的資訊只有一行。本文介紹實現多行資訊的簡單方法。

工具

1、ward

一個簡單的伺服器監控的儀表盤,基於 Java。

2、httpsproxy2http

一個開源的反向代理伺服器,以 Docker 映象形式釋出,提供 HTTP 到 HTTPS 的反向代理服務,可以把不加密的 HTTP 網站代理成加密的 HTTPS 網站。

3、jsonbase

一個 JavaScript 資料庫,後端資料都存成 JSON 格式檔案,可以用來學習怎麼自己實現關係型資料庫。

4、guietta

一個 Python 工具,用來生成簡單的圖形介面。

5、UIkit

一個前端 Web 元件庫,不依賴任何框架,元件型別多、功能強。

6、Zettlr

一個桌面 Markdown 編輯器,介面美觀。

7、Reabble

Kindle 等電子書閱讀器的 RSS 推送服務,繫結 Inoreader 帳號。(@weijarz 投稿)

8、Midway Serverless

阿里釋出的 Node.js 的 Serverless 框架,幫助 Node.js 開發人員遷移到雲端 Serverless 平臺。(@czy88840616 投稿)

9、gitqlite

使用 SQL 語法查詢 Git 倉庫的工具,比如SELECT * FROM commits

10、honkit

GitBook 官方不再維護開源版本後,其他人分叉繼續開發的版本。

資源

1、微軟學習 TV

微軟官方的學習影片中心,有各種教程。

2、aww rated

這是一個Netflix 評價網站,透過抓取 IMDb、metacritic、爛番茄、豆瓣等評分網站的資料,列出 Netflix 各種節目的評分。

3、Go 語言程式設計

英文的免費電子書,DigitalOcean 釋出的。

4、Just JavaScript 課程

著名程式設計師 Dan Abramov 正在撰寫的 JavaScript 教程,他還沒有寫完。只要在上面網址報名,每寫好一部分就會透過郵件發給你。(@hacker0limbo 投稿)

5、webRTC 執行流程演示

這個網頁演示和講解,如何在無後端的情況下,透過 webRTC 建立雙方的實時視訊通話。(@nashaofu 投稿)

6、Raft 共識的動畫講解

透過一步步的動畫,講解 Raft 協議如何保證分散式叢集的一致性,以及選舉 leader 的過程。(@wzxJayce 投稿)

圖片

1、盲文的由來

1786年,法國人 Valentin Haüy 發明了第一本凸起字母書,盲人和弱視的人透過觸控讀書。

1831年,美國人塞繆爾·豪(Samuel Howe)的美國人受到浮雕字母的啟發,發明了一種新的字型,更容易觸控識別,稱為波士頓字型。

1932年,六個點的布萊葉盲文,成為國際標準,取代了具體的字母。

2、漫長的雨

《漫長的雨》(The long rain,中譯全文)是美國科幻小說作家雷·布拉德伯裡(Ray Bradbury)1950年發表的一篇短篇小說。

它講述四個宇航員因為火箭失事,來到一個不停下雨的星球。這個星球永遠在下瓢潑大雨,過去10年一秒都沒有停過。宇航員冒著雨水,在叢林裡面穿行,拼命尋找前人修建的"陽光穹頂",那裡是一個大屋頂,有溫暖的人造陽光,以及充足的食物和休息的場所。

小說的開頭是這樣的:

文摘

1、克拉馬托爾核事故

1989年,烏克蘭克拉馬托爾市 Hvardiytsiv Kantemyrivtsiv 大街7號公寓大樓的居民,向有關部門要求,立即檢查該棟大樓是否存在核輻射。1980年到1989年,該樓前後有4人死於白血病。

檢查發現,該樓的核輻射極高。最後確認,在85號和52號房間之間的那堵牆壁裡面,有一個具有高度放射性的銫-137膠囊。

9年前,這個膠囊在一個採石場丟失,始終沒有找到。現在人們知道了,這個丟失的膠囊混在石料裡面,做成了混凝土,砌進了這堵牆。

九年的時間裡面,兩個家庭就在這堵牆旁邊生活,其中有一個家庭的孩子的床就放在放射源旁邊。事後統計,一共有17個人受到了嚴重的核輻射。

最終,這堵牆被拆除,銫膠囊由核研究所取出,並進行處置。

2、Linus 不再程式設計了

2020年5月,Linux 基金會一年一度的峰會上,Linux 創始人萊納斯·託瓦爾茲(Linus Torvalds)與 VMware 公司副總裁兼首席開源官 Dirk Hohndel 進行了對話。

Dirk Hohndel 問 Linus,現在的工作流程是怎樣的。

Linus 說,我現在整天就是讀 Email,寫 Email,再也不程式設計了。

我現在寫的大部分程式碼,都是在 Email 裡面。某人給我發來一個補丁,或者一個 Pull Request,或者跟我討論,我就寫一段虛擬碼,不編譯也不測試,發給對方看,然後在郵件里加上一句"我覺得應該這麼寫"。

我現在就幹這些事,我不再是程式設計師了。

我每天讀的 Email,要比寫的多得多。 因為我的工作說到底,就是拒絕其他人的程式碼。總是需要有一個人來拒絕其他人,其他開發者知道程式碼寫得不好,會被我拒絕,就會更小心。為了能夠有說服力地拒絕他人,我不得不知道事情的前因後果,否則我就不稱職了。所以基本上,我的所有時間都用來讀其他人的 Email,必須知道他們在幹嘛......這工作很有意思,但是你不得不把大部分時間用來讀 Email。

對於開發者,我希望大家不僅只是寫出好的程式碼,還必須很善於解釋自己的程式碼。程式碼的提交資訊,對我來說,幾乎跟程式碼本身一樣重要。有時,程式碼的意圖非常明顯,不需要解釋,但是這種情況極其少。我對開發者的一個希望就是,能夠更好地解釋他們的程式碼是幹嘛的,為什麼需要變更以前的程式碼。這樣的話,我管理起來就比較容易,如果你能夠解釋清楚,我就能信任這些程式碼。

開源軟體的一大部分其實是交流,而交流包括提交資訊,也包括來來回回的 Email。告訴別人你想做什麼,為什麼原來的程式碼你覺得要改,真的是非常重要的一件事。

言論

1、

看到抽象的東西,應該儘量使它變得具體;看到具體的東西,應該儘量使它變得抽象。

-- 李敖

2、

創業公司不要專注於創造產品,而要專注於解決問題。

-- 《創業公司要創造客戶不期望的產品》

3、

創新型的創業公司,一開始的目標使用者應該是對新產品最有興趣的那2%的人群,並設法與剩下的那 98%的人建立一座橋樑,把那些人推向未來。

-- 《創業公司要創造客戶不期望的產品》

4、

NPM 現在有130萬個軟體包,絕大部分都不是長期維護的。即使你找到一個長期維護的軟體包,它可能會有10層或更多的依賴,涉及其他數百個包,你根本不可能每一個都去驗證。

-- 《NPM 生態系統令人擔憂》

5、

自從第一款遊戲機問世,此後的每一款遊戲機都出現了盜版。但是,這種情況已經結束了,Xbox One 和 PS4 已經上市了將近6年,沒有任何駭客能夠破解它們實現盜版遊戲。這是遊戲機歷史上第一次持續瞭如此長的時間,沒有出現破解和盜版。

-- Hacker News 讀者

回顧

2019年的本週(第 64 期):新人如何進入網際網路行業?

2018年的本週(第 12 期):政府無法保障養老,必須靠自己

訂閱

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

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

(完)

相關文章