每週分享第 32 期

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

歡迎投稿,請前往 GitHub 的 ruanyf/weekly 提交 issue。

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

最近,我看到一個小寓言,很值得跟大家分享。

三個建築工人正在砌磚頭。 路人問第一個工人:"你在幹什麼?"工人回答:"我在砌磚頭。" 他問第二個工人:"你在幹什麼?"工人回答:"我正在建造一堵牆。" 他問第三個工人:"你在幹什麼?"工人回答:"我正在修建一座大教堂!"

雖然三個工人都在幹同一件事情,但是他們看待的角度完全不一樣。

程序員也應該具備這種多角度的思考能力。產品設計的時候,要有宏觀思維,問問自己,爲什麼要開發這個軟件,作用是什麼,整個生態裏面它扮演什麼角色。技術選型的時候,要有中觀思維,把軟件看成不同模塊的集合體,明確每個模塊的作用。代碼開發的時候,要有微觀思維,函數怎麼寫,循環體怎麼優化,單元測試怎麼構造。

總之,我們要能夠隨時切換角度,從不同的高度理解自己正在做的事情。比如,這個週刊在收集有用的鏈接,也是在營造一個社區,更是爲迎接未來世界在做準備。

新聞

1、同性父母的老鼠

中國科學院的團隊成功培育出了一個健康的老鼠,它沒有父親,但是有兩個母親,是同性繁殖的產物。

這項工作探討了生物學一個長期存在的問題:爲什麼哺乳動物必須有母親和父親?原因是哺乳動物有100個左右的特殊基因,只有來自母親的 DNA 或來自父親的 DNA 才能開啓。科學家使用基因編輯工具,在雌性小鼠的 DNA 中刪除母系印記,使得遺傳物質看起來像來自"男性",然後將修改過的 DNA 注射到第二隻雌性小鼠的卵子,來自兩隻雌性小鼠的遺傳物質就組合形成胚胎。

2、重新定義公斤

巴黎的國際度量衡局裏面,保存着一個國際公斤原件。它是一個鉑銥合金的圓筒,代表1000克的重量。全世界的公斤度量衡都是根據這個原件制定的。這個公斤原件只有一件,一旦損毀,全世界的公斤有失去標準的危險。而且這些年來,它本身的重量是否保持不變,也是有疑問的。

爲了解決這個問題,11月16日在巴黎舉行的國際度量衡大會上,科學家們決定改用普朗克常數定義公斤,廢除這個公斤原件。

3、Raspberry Pi 3 Model A+

今年3月,樹莓派基金會發布了 Raspberry Pi 3 Model B+ 型號,但是沒有發佈 A+。現在,A+ 終於發佈了。

它的配置比 B+ 稍弱,主要差異在於內存從 1GB 改成 512MB,USB 2.0端口只有一個,並且沒有以太網端口。價格爲25美元,比 B+ 低了10美元。它比較適合不需要較大內存和聯網的任務。

4、InSight 火星探測器登陸

下週一(11月26日)格林尼治時間19:47,InSight 火星探測器將在火星上降落。美國航天局 NASA 官網將有現場直播。

該探測器是今年5月發射的。它是一個靜態探測器,無法移動,不會像"好奇號"那樣在地面漫遊。這次探測第一次把研究重點放在火星內部。InSight 火星探測器將把地震儀放在地面上,以探測"火星震動"。這些震動將揭示地下岩石是如何分層的,這些數據可以與地球相比較,從而進一步揭示46億年前行星形成的原因。

5、二氧化碳生產蛋白質

荷蘭一家創業公司發明了一種方法,可以只用二氧化碳、氮氣、水和少量微量元素,在電力的作用下合成蛋白質。

歐洲航天局已經與這家公司合作,試圖解決火星考察的宇航員食品問題。前往火星的飛行需要幾個月,一旦人類在火星停留,那裏最多的就是二氧化碳,如果能找到生產食物的方法,將大大加速火星考察。

6、全息影像教師

倫敦帝國理工學院宣佈,將採用教師的全息影像進行遠程講課。因爲比起視頻會議軟件,全息影像能夠提供更強的存在感。

7、人工智能測謊

歐盟開始試驗,在匈牙利、拉脫維亞和希臘的邊境檢查所,對非歐盟的入境者進行人工智能測謊。該系統會向入境者提問,然後監控回答者的臉部,對每個反應進行評分。一旦測謊失敗,將交由人工進行第二輪測評。

據報道,該系統的準確率目前是76%,開發者計劃在測試結束後,將準確率提高到85%。

8、小行星採礦

美國宇航局取消了小行星捕獲任務的預算。這個項目原計劃將小行星拉入地球軌道,以便更容易地研究和開採。

據估算,小行星採礦是有利可圖的。捕獲並開採小行星的成本,可能在26億美元左右,然後一個足球場大小的小行星可能包含價值500億美元的白金。這裏的風險是,如果地球一下子得到那麼多白金,白金可能變得不值錢。

9、舊金山空氣污染創記錄

由於加州森林大火,整個加州的空氣質量最近都非常差。11月16日,舊金山的 PM2.5 空氣質量指數 AQI 達到了271,是有史以來最高的。

10、一句話新聞

  • 美國的自由職業者達到5760萬,三個勞動力裏面就有一個自由職業者。技術使得找工作變得更容易,64%的自由職業者在網上找工作。
  • 索尼宣佈缺席2019年6月的 E3 大展,24年來第一次,並且沒有說明理由。外界懷疑,它將在這段時間發佈 Play Station 5。
  • 國際能源署認爲,由於電動汽車發展比預期快,用於汽車的汽油需求量可能已經達到頂峯,以後會不斷下降。
  • 美國聯邦通信委員會要求,2019年美國所有通信服務商必須部署"呼叫認證系統",能夠追蹤到真實的撥打電話的人。因爲美國的騷擾電話實在太嚴重,今年4月全美騷擾電話達到34億個,10月更是上升到了51億個。

教程

1、TCP 協議的堵塞控制算法(英文)

網絡數據包如果一次發送太多,就會造成網絡擁堵;如果發送太少,就浪費了帶寬,延長了通信時間。TCP 協議有一個擁堵窗口機制,負責動態調整每次發送數據包的數量。本文通俗地解釋了這種算法的細節。

2、使用 Go 編寫前端 Web 框架(英文)

本文使用 Go 語言編寫一個非常簡單的前端單頁應用,然後將它編譯成 WebAssembly。所有功能,包括前端組件和前端路由,都是用 Go 寫的。看上去,網頁編程即將不再是 JS 的專利了。

3、破壞程序員生產力的12件事(英文)

本文列出了影響程序員工作效率的常見情景:工作經常被打斷、領導進行微觀管理、產品需求不斷擴大等等。

4、使用 Pandas 處理 CSV 文件(英文)

Pandas 是一個用於數據操作和分析的 Python 庫,本文通過一個範例,介紹如何使用它對 CSV 文件進行數據處理。

5、排版入門(英文)

介紹排版的基本知識。

6、創業公司的20個指標(英文)

一位風險投資家的觀點,如何判斷一家創業公司是否值得投資。

7、使用 Neovim 進行 JavaScript 開發(英文)

如果你喜歡 Vim 的便捷,又喜歡 VS Code 的圖形界面,那麼可以試試 Neovim。本文介紹如何配置 Neovim,以適應 JavaScript 開發。

8、Python 使用數字與字符串的技巧(中文)

本文是《Python 工匠》系列的第三篇,介紹在 Python 中編寫與數字和字符串相關代碼的建議與技巧。(作者@piglei_ _投稿)

9、GitHub 十大最佳實踐(英文)

如何才能最好地使用 GitHub 管理項目,本文提供了具有可操作性的十條建議。

資源

1、DevTube

該網站收集 Youtube 上面的軟件開發視頻。

2、互聯網的歷史文件

互聯網早期是沒有 DNS 系統的,所有域名與 IP 地址的映射關係都保存在一個 hosts.txt 文件裏面,該文件起到 DNS 系統的作用。這個網站收集了各個時期的 hosts.txt 文件。

3、Code I like

該網站使用圖形和動畫,解釋一些常見的算法問題。鏈接是如何在二叉搜索樹裏面插入一個值的動畫。

4、C/C++ 面向 wasm 編程---- Emscripten 工程實踐

中文開源電子書,大部分還沒有寫完。本書從 Emscripten 基本用法開始介紹如何使用 C/C++ 開發 WebAssembly 模塊。

5、OI-wiki

收集編程競賽的基礎知識、常見題型、解題思路以及常用工具等內容。

6、Go modules by example

一個代碼示例庫,解釋 Go 語言的 module 功能。

7、線性代數入門

本教程幫助初學者掌握,深度學習所需要的線性代數知識,每一部分都包含代碼、示例和圖表。

8、Levels.fyi

每個公司都有自己的內部等級,該網站比較各公司的等級對應關係,收錄了北美20多家互聯網公司。上圖是谷歌、臉書、微軟的工程師等級。

工具

1、 Mu

一個針對初學者或兒童的 Python 編輯器。

2、localroast

一個根據 JSON 文件快速生成 API 的 Web 服務端,主要用了測試和開發環境。

3、I Ching

有人用中國古代《易經》的六十四卦象,作爲二維碼的圖像,編碼和解碼庫都已經開源了。

4、ml5.js

一個基於 TensorFlow.js 的機器學習封裝庫,提供方便易用的 API,可以用於圖像分類和視頻分類等常見用途。

5、howler.js

支持各種網頁音頻格式解碼的 JS 庫。

6、GitHub Timeline

只要輸入用戶名,就能看到該用戶自己看到的 GitHub 時間線。

7、autojump

Linux 系統 cd 命令的替代工具,可以記住常用路徑,然後只要輸入路徑的一部分即可。(@wisezhao 投稿)

8、haroopad

跨平臺的 Markdown 桌面編輯器,多種界面皮膚,支持 vim 快捷鍵,多格式輸出。(@wisezhao 投稿)

9、NVDA

供盲人使用的網頁屏幕閱讀器。如果你想體驗盲人怎麼瀏覽網頁,可以下載這個軟件試試看。

文摘

1、爲什麼 Instagram 網紅可以全球旅行?

三年前,Lisa Linh 辭去了全職工作,在世界各地旅行,從墨西哥到魁北克再到庫克羣島,一路在 Instagram 發表美照,她有近10萬名粉絲。通常她會免費入住各地的豪華酒店,Instagram 上面有很多這樣的網紅,她們是怎麼做到的?

雖然她有時會收到酒店的邀請,但是大多數時候,她利用社交媒體影響力來環遊世界,讓酒店承擔假期的全部費用,以換取在社交媒體曝光。

馬爾代夫五星級度假村 Dusit Thani 的營銷經理說,酒店每天至少收到六個網紅的請求,通常是通過 Instagram 直接留言。她說:"網紅說,我想來馬爾代夫7天,並將在 Instagram 上發兩張照片。"馬爾代夫不是一個便宜的目的地,住5到7個晚上是一大筆錢。她說,收到的請求中只有大約10%值得認真對待。

一些酒店不堪騷擾,拒絕所有 YouTube 和 Instagram 網紅的請求。 一位酒店老闆在臉書寫道:"如果我讓你免費住酒店,以換取社交媒體的曝光。我能不能告訴員工,你入住期間,我不會付給他們工資,他們的報酬將是在你的視頻中出現?"

但是,大多數酒店願意與網紅合作。畢竟,Instagram 已經膨脹到每月8億活躍用戶,其中很多用戶有能力全球旅行。對於酒店來說,最大的問題是識別誰是真正的網紅,必須過濾掉那些購買殭屍粉的人。另外,酒店還必須防止網紅拍出無用的照片,比如許多網紅只是在沙灘上拍攝幾張比基尼照片,但用戶無法分辨出這是哪家酒店,它可能在馬爾代夫的任何地方。

有些網紅爲了吸引酒店,除了提供社交媒體曝光,還會提供其他服務,比如幫助酒店拍一些視頻和照片,用在宣傳手冊和官網,這比聘請專業攝影師或攝像師省錢;再比如爲酒店社交媒體團隊舉辦訓練營,培訓員工如何使用 Facebook 和 Instagram 推廣品牌。

2、嗎啡和海洛因

以下摘自科普讀物《阿加莎的毒藥》。

18世紀,人們就知道罌粟可以製造鴉片。鴉片具有鎮痛作用,但是人們不知道它的有效成分到底是什麼。

德國化學家弗雷德里希·賽爾吐納(Friedrich Sertürner,1783--1841)16歲時,曾聽見醫生說有些鴉片比其他鴉片威力更大。於是,他估計鴉片是各種雜質的混合物,其中也許只包含了一種活性成分。他花了幾年時間終於從鴉片中提取到一種白色的晶體,他用它在自己和三個朋友身上做實驗。所有人全都感覺到一種嚴重的噁心,接下來昏睡了24小時。因此,賽爾吐納將該種化合物命名爲嗎啡,象徵古希臘睡神索莫納斯(Somnus)之子夢神馬菲斯(Morpheus)。後來,賽爾吐納有一次得了嚴重的牙疼,即使用鴉片也無濟於事,於是他再次試用那種白色粉末,但這次用了很小的劑量。他沒有出現像上次那樣的昏睡症狀,而且牙疼也徹底消失了。

19世紀後半期,化學家們在嗎啡的結構上動了各種腦筋,希望改進其藥物作用。其中一項成功的改造是在嗎啡裏添加二乙酰基,形成二乙酰嗎啡。二乙酰基的添加增強了嗎啡在油脂裏的分子溶解度,使其更容易突破血腦屏障。一旦進入大腦,酶就會迅速轉移二乙酰基,將二乙酰嗎啡還原爲嗎啡,然後與大腦裏的阿片受體直接發生作用。因此,二乙酰嗎啡起效比嗎啡更快,也就是說威力更大。它會令你感覺自己像個英雄,所以俗稱"海洛因"(拉丁語原意爲英雄)。

二乙酰嗎啡最初誕生於德國的拜爾化學品公司的實驗室裏。嗎啡轉製爲海洛因的化學處理非常簡單,因此這種威力強大的藥物就被大量、廉價、方便地製造出來。海洛因於1898年被投向了市場。一開始,海洛因是作爲一種強效的嗎啡類藥物來銷售的,被推薦使用於遭受任何形式的痛苦的成人和兒童。但是,該藥物的高度聚集性和快速起效性,導致了它的致癮性遠遠大於嗎啡,該藥的斷癮症狀也遠比嗎啡來得強烈,因爲再度吸食的慾望更強。海洛因投入市場的四年後,人們終於認識到了它的高度致癮性,許多國家開始禁止該藥。全世界的大部分國家至今依然禁止海洛因的製造、運輸和銷售,因爲人們認爲對它上癮的危險要遠大於它所帶來的益處。

從醫學角度來看,嗎啡最主要的作用就是鎮痛,至今仍被視爲是最好的止疼藥之一。嗎啡與大腦皮層內的阿片受體發生相互作用,能修改我們對疼痛產生的感覺。一個處於嗎啡作用下的人,也許仍然能意識到疼痛,但不會介意疼痛。

嗎啡的作用一般持續3到6個小時。若要控制嚴重的疼痛,一般需要持續施藥。在一開始施加了幾個劑量之後,我們的身體會漸漸適應嗎啡的存在,之後再要產生鎮痛作用,就需要更大劑量的嗎啡。在幾個星期的持續治療後,病人可能需要比開始時大100倍的劑量才能達到效果。爲了獲得開始治療時的鎮痛效果,就需要持續不斷地增加劑量。因此,嗎啡治療的持續時間越長,患者就越容易產生上癮性。

當我們的身體適應了嗎啡的存在,對該藥的突然減用或停用會導致斷癮症狀的出現。細胞會突然發現大量的阿片受體沒有足夠的嗎啡或完全沒有嗎啡去刺激它們。這能導致一系列症狀的出現,包括焦慮、盜汗、嘔吐、腹瀉、寒顫、骨痛、心律失常、情緒低落和頭痛。這些症狀儘管令人非常難受、飽受折磨,但基本都不會致命。在漫長的戒毒期裏,阿片受體的數量會逐漸減少,在數週乃至數月後可恢復到正常水平。

呼吸頻率的減少,是服用嗎啡的一個很嚴重的副作用。這就是過量用藥或中毒會引起死亡的原因。正常情況下,呼吸頻率在我們的身體裏受到嚴密的監督和控制。鴉片會降低呼吸中樞對二氧化碳的敏感度,抑制該部位的自主運動,因此呼吸就會變慢,甚至可能在睡夢中完全停止。嗎啡的致死劑量一般在100到300毫克之間,不過一個癮君子可以承受該劑量的10到20倍之多。

本週圖片

1、沙漠公路

阿聯酋在沙漠裏面建造高速公路,現在不可避免地面臨沙漠吞噬公路的問題。

2、Okunoin 公墓

和歌山縣的高野山,有一個日本最大的公墓 Okunoin(奧之院)。公元835年,日本佛教大師空海和尚死於這裏,後來規定符合資格的日本佛教徒,都可以將骨灰埋在附近。超過1000年來,總共有20萬人埋葬在這個公墓,聯合國認定爲世界遺產。

3、最偏僻的小屋

我經常看到下面這張照片,現在終於知道它是位於冰島西南海岸的 Elliðaey 島。

三百年前,Elliðaey 島上居住着五個家庭。他們住在小屋裏,在島上的草地上養牛,並通過海雀狩獵獲得食物。1930年代,這些居民離開了這個島嶼。1953年,Elliðaey 狩獵協會爲其成員建造了一個小屋,供他們在島上捕捉海雀時使用。

新奇

1、磁鐵炸雞蛋

我們知道,運行的磁場會產生感應電流。有人就用旋轉的磁鐵,在電鍋裏炸雞蛋。他把10塊磁鐵裝在一個圓盤上,然後使用跑步機的馬達,讓這個圓盤不斷旋轉。這時,上面放一個導電煎鍋就會產生渦流,把雞蛋烤熟。

本週金句

1、

同一個應用程序,QT 寫出來的界面比 HTML5 寫出來的內存佔用低4-8倍,CPU 佔用也低。這意味着,運行 HTML5 應用程序會導致更多的運算,消耗更多的電力,要求消費者更頻繁地升級機器,從而產生更多的電子垃圾。

--《生態友好的程序員》

2、

我寫小說的祕訣就是不停的修改,每次修改都必須讓小說變得更短,第二稿至少比第一稿短10%。

-- 《暢銷小說之王斯蒂芬·金對程序員的啓示

3、

我離開谷歌的部分原因,是因爲我覺得自己沒有足夠的自主權,我想要更小更快的東西,而不是公司讓我做的東西。

-- 一位谷歌員工談爲什麼辭職

4、

瑞士有世界最發達的化工和製藥行業,主要原因是19世紀瑞士沒有專利制度,一些法國化學家移居瑞士以規避法國專利。

-- HN 讀者留言,分析專利制度與工業發展的關係。他提到,當今世界最大製藥公司之一的諾華,成立於1859年,早期是一家無許可證而使用法國專利的絲綢染色企業。它轉向製藥業的主要原因是,直到1907年,瑞士才實行專利法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章