這裡記錄每周值得分享的科技內容,周五發布。
本雜誌開源(GitHub:ruanyf/weekly[1]),歡迎提交 issue,投稿或推薦科技內容。
周刊討論區的帖子《誰在招人?》[2],提供大量程序員就業信息,歡迎訪問或發布工作/實習崗位。
封面圖
西班牙巴塞羅那的聖家堂大教堂,本周在尖塔頂端安裝了一顆12角玻璃星,將在新年前夕被聚光燈照亮。這座建築是聯合國世界遺產,已經造了130多年,估計還要好幾年才能土建完工。(via[3])
本周話題:低緯度,高海拔,氣候優勢
上個月,我在四川旅行。離開成都以後,一路向南,就到了攀枝花。
那是一個很奇特的地方,氣候與周邊截然不同。
從成都開始,就一直是陰天,但到了攀枝花,天天都是陽光明媚的大晴天。而且很暖和,當時已經是10月底,北方都下雪了,那裡白天的最高氣溫卻還在25度以上,可以穿短袖。
總之,天氣好得讓人懷疑。我就去查了,果然是有原因的,大家看下面這幅中國年平均氣溫圖。
上圖中,顏色越深,年平均氣溫越高(越熱)。注意看,在成都和昆明之間,箭頭所指的地方,有一塊異常的深色區域,氣溫顯著高於周邊,比南邊的昆明還要高,接近西雙版納的顏色(溫度)了。那就是攀枝花。
為什麼這裡氣溫高?
書上的解釋是,主要原因是獨特的地理環境,這裡是「低緯度、高海拔的盆地」。緯度低,接近北回歸線,所以冬天不冷;平均海拔1000米以上,所以夏天不熱;
更主要的是,這裡地處金沙江河谷,周圍都是高山,空氣不易流動,風比較小,所以比同緯度的地方更熱。而且,高山擋住了水汽,所以很少下雨,晴天多。
(圖片說明:旅館窗口望出去的景象,城市被高山包圍。)
這樣的地理條件,使得冬天的氣候非常舒服,暖洋洋的。當地政府現在把康養產業(養老)當作主要產業,一到冬天,大量外地人口湧入過冬。
仔細想一下,國內符合「低緯度、高海拔」這個條件的城市,沒有幾個的,可能都在雲貴高原。這些城市都非常宜居,冬無嚴寒,夏無酷暑,植物生長鬱鬱蔥蔥。
這就是氣候優勢,其他城市望塵莫及,想學都學不了。東部沿海地區雖然經濟發達,但是氣候不好,就說上海吧,夏天太熱,冬天太冷,還有梅雨季。將來氣候變暖,那裡的氣候恐怕會更難熬。
我覺得,未來我們選擇生活地點,氣候條件可能是主要考慮之一。低緯度、高海拔的氣候優勢會越來越吸引人,建議大家多關注這些城市,去那裡旅行看看,可能會讓你流連忘返。
Go 語言面試題合集
前些天,一個朋友找我訴苦:「Go 工程師太難找了。」招聘廣告掛了一個月,應聘者寥寥無幾。
他感到不理解,Go 的學習收益其實很高,為什麼學習的人卻不多呢。
要知道,Go 的勢頭這些年很好,國內應該已經是後端的第二大開發語言,僅次於 Java。
越來越多的公司,整個後端都是用 Go 開發的,比如 B 站和七牛雲。除了網絡服務,Go 也是容器和微服務的首選語言,Docker 就是用 Go 寫的。
總之,Go 的招聘崗位一直在增加。雖然比不了 Java 和前端,但是關鍵一點是,後兩者的學習者遠多於 Go,就業競爭激烈,而 Go 工程師就沒有競爭問題,更容易找到滿意的工作。
所以,學習 Go 的回報是很高的。何況 Go 語言入門其實不難,有 Java 和 C 語言基礎的話,轉 Go 是很容易的。
本周的學習資料,就是為那些想要學習 Go 和對 Go 感興趣的同學準備的。它是一本《2021年大廠 Go 語言面試題合集》,收錄了今年面試中出現過的 Go 語言題目,並且按照學習順序進行了分類編排,每道題都包括簡要的答案解析。
下面就是目錄頁的截圖。
整份資料一共134頁,除了 Go 語言的部分,還帶有一個附錄,收錄了跟後端開發相關的其它面試題,比如消息隊列和數據庫的題目。
它除了作為面試準備,由於題目多數考察基礎知識,所以也可以作為初學者學習指南,幫助大家入門 Go 語言。
這份資料是由知名的 IT 知識平台「極客時間」贈送給周刊讀者的,他們正在大力推廣 Go 語言。
微信掃碼上方二維碼,添加課程小助手,就能免費領取這份面試題合集了。
注意,因為是手動發送,人數多的話,請耐心等待。
科技動態
1、小行星碰撞實驗[4]
11月24日,美國宇航局發射了一艘飛船,飛向一顆直徑170米的小行星,計劃於明年9月下旬與後者相撞。這將是人類歷史上第一次小行星碰撞實驗。
這顆小行星屬於雙子星,它本身圍繞另一顆較大的小行星公轉。這次碰撞預計將讓小行星的公轉速度每秒增加半毫米,從而讓公轉的時間減少約10分鐘,這個差異將能夠從地球上觀測到。
上圖中,白線是小行星的公轉軌道,黃線是飛船的軌道,兩者會相撞。美國宇航局希望通過這個實驗,為人為改變小行星軌道積累經驗,以防未來有小行星撞上地球。
2、DNA 存儲[5]
東南大學團隊成功將校訓「止於至善」,寫入一段 DNA,然後又從 DNA 上讀取出來,實現了 DNA 存儲技術的新突破。
DNA 的基本組成單位是四種鹼基(上圖的 A、G、C、T),總是組成兩種鹼基對 A-T 和 C-G,那麼只要將鹼基對映射成0和1,再將排列好的鹼基對寫入 DNA 序列,就實現了信息的 DNA 存儲。
目前,DNA 存儲的讀寫還需要液體試劑,東南大學團隊的下一步目標是,實現全固體的 DNA 存儲讀寫。
3、特斯拉哨子[6]
特斯拉公司本周發布了一款不鏽鋼哨子,定價50美元。官網掛出後,幾分鐘就一搶而光。這款哨子沒有任何特殊用途,材質和形狀類似特斯拉即將發售的皮卡 Cybertruck,官網說明是「限量收藏品」。
CEO 馬斯克發推說:「別買那塊愚蠢的蘋果布,買我們的哨子!」。蘋果公司最近推出的擦拭顯示器的布,定價145元人民幣。
4、城市漣漪[7]
廣州的一個商場外圍,打造了一圈名為「城市漣漪」的公共空間,包含兒童樂園、籃球場、步道、休息座位等。
整個空間由一個個幾何水波紋元素組成,並帶有形似河流的條紋,採用鮮艷的色彩搭配,吸引路人的眼球。
5、保存千年的塑料書[8]
塑料是一種不環保材料,1000年也不會降解。為了提醒人們這一點,越南的一家設計公司收集了各種塑料垃圾,包括泡沫塑料盒、塑料袋、塑料板等,然後邀請家人和朋友向一千年後的人們寫信。他們把這些信件印上了塑料,再做成一本書。
書名叫做《致未來》,理論上可以保存千年不會壞,塑料垃圾就是可以留存這麼久。
6、月球提取氧氣[9]
澳大利亞航天局啟動了一項計劃,研究能否從月球取回的岩石裡面提取氧氣,供將來登陸月球的宇航員使用。
月球表面是一層風化的岩石,跟地球的成分類似,主要包含了二氧化硅、鋁、氧化鐵和氧化鎂等化合物,氧元素能夠占到45%,因此有可能採用電解,將氧氣提取出來。
但是,電解提取氧氣需要巨大的能量,怎麼在月球獲得能量呢?歐洲宇航局有另外一項計劃,研究能否在月球建設三個核反應堆,也許能派上用處。
文章
1、阿斯麥光刻機[10](英文)
光刻機是生產芯片的核心設備,最先進的芯片需要用到極紫外光刻機(EUV),世界上只有荷蘭阿斯麥公司(ASML)能夠生產。本文是一篇圖片報道,介紹 ASML 公司的這台號稱世界最複雜的機器。
2、圖說如何製造 CPU[11](英文)
本文使用一系列圖片,解釋沙子是如何轉變成計算機芯片的。
3、釘釘考勤作弊 APP 的法律爭議[12](中文)
釘釘考勤作弊 APP 的作者,因為破壞計算機信息系統罪,一審判處有期徒刑五年六個月,二審改判四年。
但是,律師堅持認為其無罪,因為他的軟件不觸及釘釘程序本身,只是偽造了用戶的地理位置,不屬於「破壞」釘釘。用戶使用該程序去打卡,該行為由用戶負責,不是程序員的責任,但是法院不認同這種看法。本文是對律師的訪問。
4、中國 Flash 遊戲的興衰[13](英文)
一個英文播客的逐字稿,來賓討論中國 Flash 遊戲業是怎麼興起的,回憶了當年的盛況。
5、如何設計網頁的焦點樣式[14](英文)
網頁元素可以獲得焦點,瀏覽器會顯示以一個焦點樣式(通常是一個框,參考上圖),用戶可以覆蓋這個樣式。本文討論焦點樣式應該怎麼設計。
6、瀏覽器的 structuredClone() 方法[15](英文)
Firefox 瀏覽器開始原生提供 structuredClone() 方法,用於對象的深拷貝(deep clone)。
7、如何用 ssh-keygen 命令加密文件?[16](英文)
很少有人知道,ssh-keygen 命令除了生成密鑰,還可以基於 SSH 密鑰進行文件的加密/解密。
8、我如何配置 VS Code 開發環境[17](英文)
一篇長文,作者詳細介紹自己怎麼配置 VS Code 編輯器。
工具
1、Microdiff[18]
一個 JS 庫,用來對兩個對象進行 Diff 比較,判斷它們有何不同,體積非常小,不到 1KB。
2、OCRmyPDF[19]
一個對圖像 PDF 進行文字識別,並添加為文字層的命令行工具。安裝中文語言包後,支持識別中文。
3、Codepng[20]
該網站將代碼片段轉為美觀的圖片,可以貼到社交媒體上面。
4、Repobeats[21]
這個工具可以在 GitHub 倉庫的 README 文件裡面,加入圖形化的項目數據統計。
5、Plectica[22]
這個網站可以在線繪製知識圖譜,還可以分享給其他人。(@xcuYao[23]投稿)
6、ASCII 字符播放器[24]
一個網頁演示,將視頻轉成 ASCII 字符的形式播放。播放時,注意把字體尺寸調小。
7、Jam[25]
這個開源軟件可以搭建語音聊天室,供多人(最高達幾千人)一起實時聊天,類似於 Clubhouse。
8、waveshare-epaper-display[26]
這個倉庫提供所有代碼,教你用樹莓派和電子墨水屏,搭建一個天氣時間信息的顯示屏。
9、JavaScript 限制器[27]
這是一個瀏覽器插件,禁止網頁腳本使用某些瀏覽器的 API,從而避免被追蹤或生成用戶指紋。
10、giscus[28]
一個基於 GitHub Discussions(討論區) 的網站評論系統,可以插在自己的網頁中,供用戶發表評論。無需數據庫,全部數據存在 GitHub 倉庫的 Discussions 中。
資源
1、Python 迭代器詳解[29](PDF)
一份英文的 PPT,淺顯而詳細地解釋了 Python 的迭代器(Generator)是怎麼回事。(@cheungfeifu[30]投稿)
2、Ambient Chaos[31]
一個網頁的背景音生成器,提供20多種聲音,比如風聲、雨聲、火車站、教堂鐘聲等。每種都可以調節音量,還可以選擇聲音進行合成。
3、comp.lang.c FAQ[32]
免費的英文電子書,以問答形式介紹 C 語言的基本語法,都是作者早年在網上回答網友問題時寫的。
4、「元宇宙」 網站
據說,下面三個是目前最具有「元宇宙」特徵的網站。它們都允許用戶擁有虛擬土地,在上面構建自己的世界,創造一種獨特的體驗。
•沙盒[33]•夢境空間[34]•Decentraland[35]
5、2021 年顯微攝影大賽[36]
一年一度的世界顯微鏡攝影大賽,這是今年的獲獎作品,比如上圖是黴菌的特寫照片。
下面是其它一些今年攝影大賽的獲獎結果。
•2021年鳥類攝影比賽[37]•2021年無人機攝影比賽[38]•2021年海洋攝影比賽[39]
圖片
1、全天星空圖[40]
夜晚仰望星空,你只能看到一半的宇宙,北半球看不到南天星座,南半球看不到北半球的星座。
最近,兩個攝影師合作,一個在北緯29度的加那利群島天文台,另一個在南緯29度的智利歐洲南方天文台,同一個晚上拍下各自的星空。
他們使用軟件,將兩張照片縫合起來,形成了一張全天星空圖。
建議訪問官網提供的360 度版本[41],感受一下,頭頂是星空,腳底也是星空。
2、英國更改度量衡[42]
英國退出歐盟以後,開始將歐盟使用的國際度量衡,改回原本的英制度量衡,比如把公斤改成磅和盎司。
上圖的標識牌中,原本寫的是車輛限長12米,現在改為「40英尺」。
3、沙特的奇怪岩石[43]
沙特阿拉伯的沙漠之中,有一塊叫做 Al Naslaa 的奇怪巨石。
那是一塊巨大的砂岩,站立在很薄的基座上,保持着平衡。中間有一道非常筆直的裂縫,將巨石一分為二,好像有人用激光劈開一樣。
地質學家也無法解釋,它是怎麼形成的。有人甚至說,這是外星人的傑作。
它就這樣佇立了千萬年,上面還有古人留下的岩畫。
文摘
1、美國芯片工廠的問題[44]
最近,哈佛商學院 Willy Shih 教授接受了 The Verge 網站的採訪。
主持人問,美國新建一家芯片工廠需要多長時間,多少錢?
Willy Shih 回答:
新建芯片工廠,首先必須建造建築物,然後將所有設備搬進來,再進行清潔、檢測、啟動、投產。
在亞洲,一年之內可以建造好廠房,第二年搬入設備,年底前檢測合格,工廠開始運行。
在美國或西方,這需要更長的時間,因為對待工廠的心態不同。公司必須完成各種法律許可、開完所有的聽證會,以及辦完其它手續,才能投產。美國芯片工廠的建造時間,可能需要三四年,更久也是很正常的。
現代最新技術的芯片工廠,最少也需要100億美元的投資。如果要達到規模經濟的產量,可能需要接近200億美元的投資。你想一想,這麼大金額的投資,每一年會帶來多少折舊。
在亞洲,人們的心態是每拖延一個小時或一天,工程的成本就會增加數萬、數十萬、甚至數百萬美元。有一次,我在聖誕節那天去亞洲,那裡的人還拿着手提鑽在施工和澆築混凝土。他們的心態是「這件事每早一分鐘完成,我們就可以早一分鐘開始賺錢。」 我們在西方沒有這種心態。
言論
1、
微世紀(microcentury)指的是一個世紀的百萬分之一,相當於52分35.7秒。
差不多每過一個小時,你就度過了這個世紀的百萬分之一。
--《微世紀到底有多長》[45]
2、
巴菲特每年會寫一封股東信,解釋過去一年的投資思路。據說,他的做法是先寫給他的妹妹多蘿西,寫完後再把多蘿西的名字替換為「股東」。
向大量讀者寫作的一個竅門,就是改成向一個熟人寫作。
-- David Perell
3、
心理學家研究發現,人的記憶具有位置效應。當按順序回憶一個序列時,我們對第一項和最後一項的記憶最好,對中間項目的記憶最差。
--維基百科[46]
4、
Facebook 的通信軟件 Messager 有 50% 的語音消息來自柬埔寨。
那裡幾乎沒人發文字消息,所有人都發語音消息,原因是高棉語有74個字母,是所有語言中字母最多的,手機鍵盤輸入太不方便。
--《為什麼柬埔寨人喜歡發語音消息》[47]
5、
無代碼工具生成的代碼總是更複雜,因為它包含了無代碼開發環境 + 設計工具 + 解釋器或運行時 + 集成器 + 實際生成的代碼。如果出了問題,所有部分可能都需要排查。
無代碼工具最好只用來生成原型產品。當你確切想清楚想要什麼,再找程序員將它寫出來,這樣可能更快,有利於以後的升級和排查。
--Hacker News 讀者[48]
歷史上的本周
2020年(第 135 期):什麼行業適合創業?
2019年(第 83 期):技術解決不了人類的對立
2018年(第 32 期):砌磚頭的三種角度
References
[1]ruanyf/weekly:https://github.com/ruanyf/weekly[2]《誰在招人?》:https://github.com/ruanyf/weekly/issues/2092[3]via:https://edition.cnn.com/style/article/sagrada-familia-star-installation-scli-intl/index.html[4]小行星碰撞實驗:https://www.cnbc.com/2021/11/23/spacex-launching-nasa-dart-spacecraft-to-crash-into-an-asteroid.html[5]DNA 存儲:http://news.xhby.net/index/202112/t20211201_7332191.shtml[6]特斯拉哨子:https://shop.tesla.com/product/cyberwhistle[7]城市漣漪:https://test.osogoo.com/article/a611b56e448d2144.html[8]保存千年的塑料書:https://www.itsnicethat.com/articles/ki-saigon-letters-to-the-future-graphic-design-270921[9]月球提取氧氣:https://theconversation.com/the-moons-top-layer-alone-has-enough-oxygen-to-sustain-8-billion-people-for-100-000-years-170013[10]阿斯麥光刻機:https://archive.md/TchSb[11]圖說如何製造 CPU:https://blog.robertelder.org/how-to-make-a-cpu/[12]釘釘考勤作弊 APP 的法律爭議:https://www.toutiao.com/a7028533764280500744/[13]中國 Flash 遊戲的興衰:https://chaoyang.substack.com/p/gold-miner-swf[14]如何設計網頁的焦點樣式:https://www.sarasoueidan.com/blog/focus-indicators/[15]瀏覽器的 structuredClone() 方法:https://developer.mozilla.org/en-US/docs/Web/API/structuredClone[16]如何用 ssh-keygen 命令加密文件?:https://www.agwa.name/blog/post/ssh_signatures[17]我如何配置 VS Code 開發環境:https://pawelcislo.com/2021/11/14/my-vs-code-playground/[18]Microdiff:https://github.com/AsyncBanana/microdiff[19]OCRmyPDF:https://ocrmypdf.readthedocs.io/en/latest/index.html[20]Codepng:https://www.codepng.app/[21]Repobeats:https://repobeats.axiom.co/[22]Plectica:https://www.plectica.com/[23]@xcuYao:https://github.com/ruanyf/weekly/issues/2086[24]ASCII 字符播放器:https://pessimistress.github.io/ascii/[25]Jam:https://github.com/jam-systems/jam[26]waveshare-epaper-display:https://github.com/mendhak/waveshare-epaper-display[27]JavaScript 限制器:https://polcak.github.io/jsrestrictor/[28]giscus:https://giscus.app/[29]Python 迭代器詳解:http://www.dabeaz.com/generators/Generators.pdf[30]@cheungfeifu:https://github.com/ruanyf/weekly/issues/2090[31]Ambient Chaos:https://neal.fun/ambient-chaos/[32]comp.lang.c FAQ:http://c-faq.com/[33]沙盒:https://www.sandbox.game/cn/[34]夢境空間:https://somniumspace.com/[35]Decentraland:https://decentraland.org/[36]2021 年顯微攝影大賽:https://www.nikonsmallworld.com/galleries/2021-photomicrography-competition/microfluidic-device-containing-300k-networking-neurons-in-2-isolated-populations[37]2021年鳥類攝影比賽:https://www.birdpoty.com/2021-winners[38]2021年無人機攝影比賽:https://droneawards.photo/gallery/2021[39]2021年海洋攝影比賽:https://www.theguardian.com/environment/gallery/2021/sep/20/ocean-photographer-of-the-year-2021-winners-in-pictures[40]全天星空圖:https://www.eso.org/public/images/potw2137a/[41]360 度版本:https://www.eso.org/public/images/potw2137b/[42]英國更改度量衡:https://www.nytimes.com/2021/09/17/world/europe/imperial-measurements-pounds-ounces-return.html[43]沙特的奇怪岩石:https://www.science101.com/a1-naslaa-rock-formation/[44]美國芯片工廠的問題:https://www.theverge.com/2021/8/31/22648372/willy-shih-chip-shortage-tsmc-samsung-ps5-decoder-interview[45]《微世紀到底有多長》:https://susam.in/blog/microcentury.html[46]維基百科:https://en.wikipedia.org/wiki/Serial-position_effect[47]《為什麼柬埔寨人喜歡發語音消息》:https://restofworld.org/2021/facebook-didnt-know-why-half-of-messengers-voice-traffic-comes-from-cambodia-heres-why/[48]Hacker News 讀者:https://news.ycombinator.com/item?id=29191068