本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖
西班牙巴塞羅那的聖家堂大教堂,本週在尖塔頂端安裝了一顆12角玻璃星,將在新年前夕被聚光燈照亮。這座建築是聯合國世界遺產,已經造了130多年,估計還要好幾年才能土建完工。(via)
本週話題:低緯度,高海拔,氣候優勢
上個月,我在四川旅行。離開成都以後,一路向南,就到了攀枝花。
那是一個很奇特的地方,氣候與周邊截然不同。
從成都開始,就一直是陰天,但到了攀枝花,天天都是陽光明媚的大晴天。而且很暖和,當時已經是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、小行星碰撞實驗
11月24日,美國宇航局發射了一艘飛船,飛向一顆直徑170米的小行星,計劃於明年9月下旬與後者相撞。這將是人類歷史上第一次小行星碰撞實驗。
這顆小行星屬於雙子星,它本身圍繞另一顆較大的小行星公轉。這次碰撞預計將讓小行星的公轉速度每秒增加半毫米,從而讓公轉的時間減少約10分鐘,這個差異將能夠從地球上觀測到。
上圖中,白線是小行星的公轉軌道,黃線是飛船的軌道,兩者會相撞。美國宇航局希望透過這個實驗,為人為改變小行星軌道積累經驗,以防未來有小行星撞上地球。
2、DNA 儲存
東南大學團隊成功將校訓"止於至善",寫入一段 DNA,然後又從 DNA 上讀取出來,實現了 DNA 儲存技術的新突破。
DNA 的基本組成單位是四種鹼基(上圖的 A、G、C、T),總是組成兩種鹼基對 A-T 和 C-G,那麼只要將鹼基對對映成0和1,再將排列好的鹼基對寫入 DNA 序列,就實現了資訊的 DNA 儲存。
目前,DNA 儲存的讀寫還需要液體試劑,東南大學團隊的下一步目標是,實現全固體的 DNA 儲存讀寫。
3、特斯拉哨子
特斯拉公司本週釋出了一款不鏽鋼哨子,定價50美元。官網掛出後,幾分鐘就一搶而光。這款哨子沒有任何特殊用途,材質和形狀類似特斯拉即將發售的皮卡 Cybertruck,官網說明是"限量收藏品"。
CEO 馬斯克發推說:"別買那塊愚蠢的蘋果布,買我們的哨子!"。蘋果公司最近推出的擦拭顯示器的布,定價145元人民幣。
4、城市漣漪
廣州的一個商場外圍,打造了一圈名為"城市漣漪"的公共空間,包含兒童樂園、籃球場、步道、休息座位等。
整個空間由一個個幾何水波紋元素組成,並帶有形似河流的條紋,採用鮮豔的色彩搭配,吸引路人的眼球。
5、儲存千年的塑膠書
塑膠是一種不環保材料,1000年也不會降解。為了提醒人們這一點,越南的一家設計公司收集了各種塑膠垃圾,包括泡沫塑膠盒、塑膠袋、塑膠板等,然後邀請家人和朋友向一千年後的人們寫信。他們把這些信件印上了塑膠,再做成一本書。
書名叫做《致未來》,理論上可以儲存千年不會壞,塑膠垃圾就是可以留存這麼久。
6、月球提取氧氣
澳大利亞航天局啟動了一項計劃,研究能否從月球取回的岩石裡面提取氧氣,供將來登陸月球的宇航員使用。
月球表面是一層風化的岩石,跟地球的成分類似,主要包含了二氧化矽、鋁、氧化鐵和氧化鎂等化合物,氧元素能夠佔到45%,因此有可能採用電解,將氧氣提取出來。
但是,電解提取氧氣需要巨大的能量,怎麼在月球獲得能量呢?歐洲宇航局有另外一項計劃,研究能否在月球建設三個核反應堆,也許能派上用處。
文章
1、阿斯麥光刻機(英文)
光刻機是生產晶片的核心裝置,最先進的晶片需要用到極紫外光刻機(EUV),世界上只有荷蘭阿斯麥公司(ASML)能夠生產。本文是一篇圖片報導,介紹 ASML 公司的這臺號稱世界最複雜的機器。
2、圖說如何製造 CPU(英文)
本文使用一系列圖片,解釋沙子是如何轉變成計算機晶片的。
3、釘釘考勤作弊 APP 的法律爭議(中文)
釘釘考勤作弊 APP 的作者,因為破壞計算機資訊系統罪,一審判處有期徒刑五年六個月,二審改判四年。
但是,律師堅持認為其無罪,因為他的軟體不觸及釘釘程式本身,只是偽造了使用者的地理位置,不屬於"破壞"釘釘。使用者使用該程式去打卡,該行為由使用者負責,不是程式設計師的責任,但是法院不認同這種看法。本文是對律師的訪問。
4、中國 Flash 遊戲的興衰(英文)
一個英文播客的逐字稿,來賓討論中國 Flash 遊戲業是怎麼興起的,回憶了當年的盛況。
5、如何設計網頁的焦點樣式(英文)
網頁元素可以獲得焦點,瀏覽器會顯示以一個焦點樣式(通常是一個框,參考上圖),使用者可以覆蓋這個樣式。本文討論焦點樣式應該怎麼設計。
6、瀏覽器的 structuredClone() 方法(英文)
Firefox 瀏覽器開始原生提供 structuredClone() 方法,用於物件的深複製(deep clone)。
7、如何用 ssh-keygen 命令加密檔案?(英文)
很少有人知道,ssh-keygen 命令除了生成金鑰,還可以基於 SSH 金鑰進行檔案的加密/解密。
8、我如何配置 VS Code 開發環境(英文)
一篇長文,作者詳細介紹自己怎麼配置 VS Code 編輯器。
工具
1、Microdiff
一個 JS 庫,用來對兩個物件進行 Diff 比較,判斷它們有何不同,體積非常小,不到 1KB。
2、OCRmyPDF
一個對影像 PDF 進行文字識別,並新增為文字層的命令列工具。安裝中文語言包後,支援識別中文。
3、Codepng
該網站將程式碼片段轉為美觀的圖片,可以貼到社交媒體上面。
4、Repobeats
這個工具可以在 GitHub 倉庫的 README 檔案裡面,加入圖形化的專案資料統計。
5、Plectica
這個網站可以線上繪製知識圖譜,還可以分享給其他人。(@xcuYao 投稿)
6、ASCII 字元播放器
一個網頁演示,將影片轉成 ASCII 字元的形式播放。播放時,注意把字型尺寸調小。
7、Jam
這個開源軟體可以搭建語音聊天室,供多人(最高達幾千人)一起實時聊天,類似於 Clubhouse。
8、waveshare-epaper-display
這個倉庫提供所有程式碼,教你用樹莓派和電子墨水屏,搭建一個天氣時間資訊的螢幕。
9、JavaScript 限制器
這是一個瀏覽器外掛,禁止網頁尾本使用某些瀏覽器的 API,從而避免被追蹤或生成使用者指紋。
10、giscus
一個基於 GitHub Discussions(討論區) 的網站評論系統,可以插在自己的網頁中,供使用者發表評論。無需資料庫,全部資料存在 GitHub 倉庫的 Discussions 中。
資源
1、Python 迭代器詳解(PDF)
一份英文的 PPT,淺顯而詳細地解釋了 Python 的迭代器(Generator)是怎麼回事。(@cheungfeifu 投稿)
2、Ambient Chaos
一個網頁的背景音生成器,提供20多種聲音,比如風聲、雨聲、火車站、教堂鐘聲等。每種都可以調節音量,還可以選擇聲音進行合成。
3、comp.lang.c FAQ
免費的英文電子書,以問答形式介紹 C 語言的基本語法,都是作者早年在網上回答網友問題時寫的。
4、"元宇宙" 網站
據說,下面三個是目前最具有"元宇宙"特徵的網站。它們都允許使用者擁有虛擬土地,在上面構建自己的世界,創造一種獨特的體驗。
- 沙盒
- 夢境空間
- Decentraland
5、2021 年顯微攝影大賽
一年一度的世界顯微鏡攝影大賽,這是今年的獲獎作品,比如上圖是黴菌的特寫照片。
下面是其它一些今年攝影大賽的獲獎結果。
- 2021年鳥類攝影比賽
- 2021年無人機攝影比賽
- 2021年海洋攝影比賽
圖片
1、全天星空圖
夜晚仰望星空,你只能看到一半的宇宙,北半球看不到南天星座,南半球看不到北半球的星座。
最近,兩個攝影師合作,一個在北緯29度的加那利群島天文臺,另一個在南緯29度的智利歐洲南方天文臺,同一個晚上拍下各自的星空。
他們使用軟體,將兩張照片縫合起來,形成了一張全天星空圖。
建議訪問官網提供的 360 度版本,感受一下,頭頂是星空,腳底也是星空。
2、英國更改度量衡
英國退出歐盟以後,開始將歐盟使用的國際度量衡,改回原本的英制度量衡,比如把公斤改成磅和盎司。
上圖的標識牌中,原本寫的是車輛限長12米,現在改為"40英尺"。
3、沙特的奇怪岩石
沙烏地阿拉伯的沙漠之中,有一塊叫做 Al Naslaa 的奇怪巨石。
那是一塊巨大的砂岩,站立在很薄的基座上,保持著平衡。中間有一道非常筆直的裂縫,將巨石一分為二,好像有人用鐳射劈開一樣。
地質學家也無法解釋,它是怎麼形成的。有人甚至說,這是外星人的傑作。
它就這樣佇立了千萬年,上面還有古人留下的巖畫。
文摘
1、美國晶片工廠的問題
最近,哈佛商學院 Willy Shih 教授接受了 The Verge 網站的採訪。
主持人問,美國新建一家晶片工廠需要多長時間,多少錢?
Willy Shih 回答:
新建晶片工廠,首先必須建造建築物,然後將所有裝置搬進來,再進行清潔、檢測、啟動、投產。
在亞洲,一年之內可以建造好廠房,第二年搬入裝置,年底前檢測合格,工廠開始執行。
在美國或西方,這需要更長的時間,因為對待工廠的心態不同。公司必須完成各種法律許可、開完所有的聽證會,以及辦完其它手續,才能投產。美國晶片工廠的建造時間,可能需要三四年,更久也是很正常的。
現代最新技術的晶片工廠,最少也需要100億美元的投資。如果要達到規模經濟的產量,可能需要接近200億美元的投資。你想一想,這麼大金額的投資,每一年會帶來多少折舊。
在亞洲,人們的心態是每拖延一個小時或一天,工程的成本就會增加數萬、數十萬、甚至數百萬美元。有一次,我在聖誕節那天去亞洲,那裡的人還拿著手提鑽在施工和澆築混凝土。他們的心態是"這件事每早一分鐘完成,我們就可以早一分鐘開始賺錢。" 我們在西方沒有這種心態。
言論
1、
微世紀(microcentury)指的是一個世紀的百萬分之一,相當於52分35.7秒。
差不多每過一個小時,你就度過了這個世紀的百萬分之一。
-- 《微世紀到底有多長》
2、
巴菲特每年會寫一封股東信,解釋過去一年的投資思路。據說,他的做法是先寫給他的妹妹多蘿西,寫完後再把多蘿西的名字替換為"股東"。
向大量讀者寫作的一個竅門,就是改成向一個熟人寫作。
-- David Perell
3、
心理學家研究發現,人的記憶具有位置效應。當按順序回憶一個序列時,我們對第一項和最後一項的記憶最好,對中間專案的記憶最差。
-- 維基百科
4、
Facebook 的通訊軟體 Messager 有 50% 的語音訊息來自柬埔寨。
那裡幾乎沒人發文字訊息,所有人都發語音訊息,原因是高棉語有74個字母,是所有語言中字母最多的,手機鍵盤輸入太不方便。
--《為什麼柬埔寨人喜歡發語音訊息》
5、
無程式碼工具生成的程式碼總是更復雜,因為它包含了無程式碼開發環境 + 設計工具 + 直譯器或執行時 + 整合器 + 實際生成的程式碼。如果出了問題,所有部分可能都需要排查。
無程式碼工具最好只用來生成原型產品。當你確切想清楚想要什麼,再找程式設計師將它寫出來,這樣可能更快,有利於以後的升級和排查。
-- Hacker News 讀者
歷史上的本週
2020年(第 135 期):什麼行業適合創業?
2019年(第 83 期):技術解決不了人類的對立
2018年(第 32 期):砌磚頭的三種角度
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)