這裡記錄每週值得分享的科技內容,週五發佈。
本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程序員就業信息,歡迎訪問或發佈工作/實習崗位。
封面圖

5月15日凌晨,中國科學院在珠峰地區放飛"極目一號"浮空艇,瞭解高空大氣狀況。它最高到達9032米,超過了珠峰。(via)
本週話題:汽車行業的頂峰可能過去了
4月份的時候,小鵬汽車的董事長何小鵬說,如果上海和周邊的供應鏈企業一直無法復工,五月份可能中國所有的整車廠都要停工停產了。

現在已經快要5月底了,上海還沒有恢復常態,中國汽車業今年大概很困難了。我看到的最新統計是,四月份的中國汽車總產量和總銷量,比去年同月接近腰斬。
雖然這是疫情造成的,但我覺得,就算疫情過去了,汽車行業恐怕也不會走向繁榮,行業頂峰可能已經過去了。

大家猜猜看,中國汽車銷售最多的是哪一年?
答案是五年前的2017年,當年總共銷售了近2900萬輛,以後再也沒有超過這個數字。2020年下降到2531萬輛,去年2021年有所反彈,達到2627萬輛。
中國經濟一直在增長,為什麼汽車銷量不增長了,2900萬輛可能就到頂了?
參考西方國家的情況,汽車銷量都是到了一定階段後,就無法再增長了。美國在2000年銷售了1700萬輛汽車,以後就停滯不前了,去年的銷量不到1500萬輛。
而且,所有西方發達國家(美國、澳大利亞、比利時、德國、意大利、日本、新西蘭等等)有兩個重要指標----每輛車每年的行駛里程數,以及人均每年開車出行距離----從2004年後都在不斷下降。
這說明,汽車擁有量達到一定程度以後,人們就不再增加汽車消費了。 我覺得,中國很可能已經到了這個階段。

為什麼人們最終會減少汽車消費?
首先,汽車是一種不划算、不環保的消費品。買來以後,大多數時間停著不用;使用時佔一大塊道路面積,乘客往往只有一個人;每年還有高額的折舊、停車、保險、維護費用。
其次,長時間開車的體驗一點都不好。連續幾個小時,封閉在一個狹小的金屬空間裡面,不能站立和走動。精神必須高度集中,防止突發情況。
最後,互聯網減少了交通需求。交流和辦公都可以網上解決,需要當面完成的事情越來越少。
由於以上幾點,一旦有更便宜、更輕鬆的選擇,人們就會放棄購買汽車。最近十年,公共交通、網約車、線上租車都在大發展,所以汽車銷量的下滑幾乎是必然的。
電動車的出現,也不會改變這種趨勢,因為上面幾點理由依然成立。所以,我不看好汽車這個行業,我認為,不管是傳統車企,還是以特斯拉為代表的新興車企,長期的增長潛力是有限的,除非它們轉變成"無人駕駛服務"的提供商,但這應該是很遙遠的事情。
而且,如果無人駕駛技術成熟,用車會極大方便,汽車的銷售量將進一步下降。人類社會未來的交通解決方案,應該是公共軌道交通 + 無人駕駛的網約車網絡。
非全日制計算機碩士
以前,考研錄取率都在三分之一左右,三個人取一個。去年開始,下降到四分之一,今年是歷年最低的24%。當然,這是全國總的統計,熱門高校和熱門專業的錄取率遠低於此。
儘管考研難度越來越高,但由於就業形勢不好,估計今後幾年,報考人數依然只增不降,不僅應屆生,很多已經工作的在職人員也會報考。
但是,大家可能不知道,除了常規的全日制碩士,其實還有另一種選擇,錄取難度會低一些,那就是非全日制碩士。

所謂"非全日制碩士",屬於兩年制專業碩士的一種,一般不脫產,允許學生在有正常工作的情況下,攻讀碩士學位,上課時間通常安排在週末。
你可以網上搜一下,非全日制碩士是國家正式承認的學歷教育,入學也必須通過全國碩士研究生統一招生考試(全國統考),修完學分以後,可以拿到教育部認可的學歷證書 + 學位證書。國家設立它的主要目的,就是為了推動在職人員培訓,讓那些已經在工作崗位上的人也有系統性進修的機會。

根據網上的資料,不少知名高校已經招收非全日制計算機碩士了:山東大學 、浙江大學、福州大學、西安交通大學、中國海洋大學、華中科技大學等等。
這個學位很合適那些想要繼續深造的在職人員,既可以獲得更高學歷,又不必脫產,不影響日常工作。對於應屆同學,如果看重國家承認的碩士證書,但又擔心考不上,也可以報考這個學位。
本週有一個 《計算機碩士上岸集訓營》,就是專門為大家輔導和諮詢非全日制計算機碩士考試。

這個集訓營採用視頻講課的形式,共四天,主要內容包括:(1)如何精準選擇學校和專業;(2)AI 系統結合學員的自身情況,幫你制定備考方案;(3)參加全國統考需要知道的編程知識。講師還會帶練,伴隨學員一起編程,消化知識點。
聽課期間還有助教和班主任,隨時為你答疑。課程用到的全部代碼,都會免費開放,可用於課後自學和複習。
如果你有計算機考研的打算,對於具體的政策或者非全日制碩士有疑問,不知道如何擇校和擇專業,或者想鞏固一下考研所需的編程知識,可以參加聽聽看。

週刊讀者報名有優惠,只需 1 元就能聽課。 微信掃碼上方二維碼,瞭解集訓營詳情,並且報名。
報名後會彈出助教老師二維碼,添加領取課程。到課同學還可以獲得免費學習資料。
- 23級計算機考研手冊(獨家資料)
- 考研重點985詞彙巧記口訣
- 考研英語解題寶典
- 考研政治客觀題彙總
- AI/Java/Web/CS能力提升秘籍
科技動態
1、沒有象牙的大象

科學家在莫桑比克發現,當地的大象正在向沒有象牙的方向進化。1977年到1992年,莫桑比克發生了15年內戰,交戰的雙方都屠殺大象,用象牙去購買武器。該國4000多頭大象估計被消滅了90%,剩下的都是一些沒有象牙的大象。
正常情況下,大約2%~4%的雌性非洲象出生時,就沒有象牙。內戰結束後,有51%的雌性非洲象沒有象牙,而她們生出的下一代小象,雌性有高達32%沒有象牙。其它偷獵嚴重的非洲國家,無牙大象的比例也在急劇上升。

上圖的大象就沒有象牙。由於象牙可以幫助大象進食,科學家非常擔心,沒有象牙會影響這些大象的生存。
2、弧形光伏建築

國內最大跨度的弧形光伏建築,最近在江蘇常熟落成。這是一個車間大棚,光伏板直接鋪在防水支架上,替代傳統彩鋼瓦作為屋頂。遠遠看去,如同一個龐大的弧面鏡。

該項目用掉了6.8萬塊光伏板,覆蓋屋頂面積達17.6萬平方米,最大跨度223.7米,每天可以發電十多萬度。
3、月球土壤種植

美國佛羅里達大學的科學家,使用上個世紀阿波羅登月計劃取回的月球土壤,在裡面種出了阿拉伯草,證明了植物可以在月球土壤中發芽和生長,對未來的月球基地有重要意義。

作為對照組,科學家同時還在地球火山灰中種植。上圖左邊是地球火山灰,右邊是月球土壤,可以看到,月球土壤的植株明顯個體較小,生長速度較慢,而且植物基因也發生了一些變化。
4、地熱發電

說到清潔能源,大家想到的都是水力、太陽能、風能、潮汐能等等,很少有人瞭解,地熱也是一種清潔能源。因為地球本身就是一個巨大的核電站,我們只需要用管道,將地下的熱量引導到地球表面,就能驅動渦輪機發電。
以前,只有在火山或地理板塊的邊緣,才能獲得地熱能,因為那裡的地熱埋藏較淺。麻省理工學院孵化的一家創業公司,正在開發一種技術,能夠從20公里的地下獲取地熱能。這樣的話,就能在任何地方使用地熱發電。

這需要一種前所未有的鑽井技術,畢竟人類迄今最深的鑽井也只有12公里深。而且,還需要價格足夠便宜,低於風電和太陽能的成本。該公司宣稱,他們能夠做到這一點。
5、火星山洞

5月7日,美國好奇號火星車拍到了一個很奇怪的山洞。它看上去很像人工產物,但科學家還是相信,這是自然侵蝕產生的。


它的邊緣非常平整,沒有風化跡象,表明是最近產生的。考慮到5月4日火星發生過一次地震,科學家猜測可能是地震使得巨石裂開,產生了這個山洞。


文章
1、我養活了一隻沒有腿的小螃蟹(中文)

作者發現了一隻腿全斷的小螃蟹,按理說,這隻螃蟹肯定活不了。但是作者知道,螃蟹脫殼後會重新長出腿,就決定救它一次。
2、中國第四家電信服務商來了(中文)

中國廣電是廣電系統成立的三網融合公司,有 5G 牌照,是中國第四家基礎電信運營商,5月17日開始向用戶發放192號段。
3、私有方法要寫單元測試嗎?(英文)
軟件業一直有一個懸而未決的問題:編寫單元測試時,私有方法需要寫嗎?本文總結了關於這個問題的各種意見,以及每一方的理由。
4、我們分析了 425,909 個 Favicon(英文)

每個網站都有一個 Favicon 圖標,作者分析了世界排名前10萬位網站的425,909個 Favicon 文件,得到了很多神奇的發現。比如,最大的 Favicon 體積有 7mb,大小為 7087 x 5197。

官方介紹 VS Code 編輯器的線上版 vscode.dev。
6、代碼編輯器比較:Ace、CodeMirror 和 Monaco(英文)
replit 團隊需要一個網頁版的代碼編輯器,先後試用了 Ace、Monaco 和 CodeMirror,比較了它們的優缺點。
7、如何使用 GitHub Actions 網頁截圖(英文)

本文提供了一個 Action 模板,演示怎麼使用它生成網頁截圖。
8、iPhone 激光雷達的使用(英文)

iPhone 現在內置了激光雷達掃描儀,可以對5米內的物體進行 3D 建模,本文演示瞭如何使用這個功能。
工具

一個 Mac 電腦的菜單欄替換品。
2、海綿樂隊

字節跳動最新發布的手機端音頻編輯軟件,號稱音頻的"剪映",目前只有 iOS 版。"它在實現傳統的錄音、效果器同時,引入大量AI智能來協助創作,降低使用難度,提高創作趣味和效率。"
3、DownKyi

Windows 桌面軟件,用來下載 B 站視頻,支持批量下載,支持8K、HDR、杜比視界,提供工具箱(音視頻提取、去水印等)。(@Lucid1ty 投稿)
4、Regular Expression Tester and Visualizer

在線的正則表達式測試和可視化工具。(@pccprint 投稿)
多合一的開箱即用 vue3 暗黑模式開關組件。(@markthree 投稿)
6、小舒同學

瀏覽器插件,將收藏夾裡面的書籤,展示在瀏覽器默認主頁上。(@nexmoe 投稿)
7、雲策文檔

一款開源知識管理工具,可以自己部署。通過獨立的知識庫空間,結構化地組織在線協作文檔,支持多人協作文檔。(@fantasticit 投稿)
8、code996

一款開源的分析工具,統計 Git 項目的 commit 時間分佈,推導出這個項目的編碼工作強度。(@hellodigua 投稿)

一個數學公式的 Web Component 組件。
10、RedwoodJS

一個前後端一體的 JS 框架,有點類似 Next.js,GitHub 超過一萬顆星。它的 API 看上去很簡潔優雅。
活動

互聯網大廠每天都在遭受,各種稀奇古怪的網絡攻擊。下週六(5月28日)下午,字節跳動的官方沙龍特別邀請安全工程師,跟大家網上交流,字節怎麼做網絡防禦。
本期主要有兩個主題:(1)如何確保容器鏡像的安全,防止漏洞和惡意鏡像;(2)如何防止供應鏈攻擊,確保外部依賴的安全。點擊鏈接或掃描二維碼報名,現場還有字節紀念品抽獎。
資源
1、設計模式

這個網站講解各種設計模式的含義和用法,有英文版和中文版,每一種設計模式都配上了插圖講解。
2、開源青年

B 站頻道,主要介紹開源軟件歷史故事、開源合規知識、開源事件。(@ichengxinxin 投稿)
3、趣味數據分析

介紹數據分析的中文電子書,免費在線閱讀。側重趣味性,比如用圖還是表,是閾值還是閥值。(@jiezhao9 投稿)
4、前端部署十五章

一組系列文章,介紹如何部署前端項目。從最原始的部署方案過渡到 Docker 與 Kubernetes,逐步優化,另有配套的視頻講解。(@shfshanyue 投稿)
5、費曼物理學講座

諾貝爾物理學獎得主理查德·費曼(Richard Feynman)1961年~1964年在加州理工學院,為本科生講授物理學導論,後來根據錄音帶和講義,就整理出了這本著名的物理學教材。這裡是加州理工學院的官方版本,為在線閱讀特別做了排版。
圖片
1、洩洪井
英國 Ladybower 水庫非常奇特。水庫大壩的洩洪孔,不是開在大壩上,而是壩身兩側的兩個垂直的洩洪井。

平時,水庫的水位低,兩個洩洪井都是空的。


一旦遇到洪水期,水庫的水位上漲,超過了洩洪井的圍欄,水就會從井裡垂直下洩。


遠遠看去,好像水中兩個巨大的天坑,非常壯觀,成為當地的一道著名景觀。

2、燃燒的鐵軌
美國芝加哥火車站,冬季嚴寒,鐵軌會結冰。這對火車行駛很不安全。
為了除冰,鐵路公司在鐵軌上裝了燃氣管道。一旦有列車通過,就會自動打開燃氣噴頭,並且點燃。火車就會在火焰中前進(現場視頻)。



文摘
程序員可以分成兩種:一種程序員更關心代碼,另一種程序員更關心產品。
我稱前者為"代碼優先"程序員,後者為"產品優先"程序員。

"代碼優先"程序員痴迷於代碼的架構、關注使用什麼工具、庫和語言,有多少測試覆蓋率,諸如此類的問題。
如果達到完美的代碼抽象,或者使用了最新的語言功能,再或者刪除了用不到的代碼,"代碼優先"程序員就會很興奮。他們真的喜歡他們編寫的代碼,在他們眼裡,代碼本身就是目的。
"產品優先"程序員也關心代碼,但只是把它作為達到目的的一種手段。對於他們來說,代碼是建築物的腳手架和鋼樑,而不是最終產品。最終產品是產品本身,而不是代碼。
他們認為,重要的是,產品是不是真正解決了問題?每樣東西是否正常工作?人們喜歡用這個產品嗎?"產品優先"程序員喜歡構建和發佈,喜歡看到用戶使用他們構建的東西。在他們眼中,產品才是目的。
大型軟件公司裡面,你會遇到很多"代碼優先"程序員。他們看重代碼是否合乎規範,有沒有拼寫錯誤,是不是意大利麵條式的代碼,會不會帶來技術債務。如果達不到代碼審核的嚴謹標準,就會要求重構代碼。
我總是很驚訝地發現,有那麼多程序員認為,"代碼優先"就是他們追求的目標。對於項目原型,他們會問:"單元測試覆蓋率怎麼樣?" 、"有沒有用到熱門的新技術 X?"、"會帶來很多技術債務嗎?"。
可是,我們現在做的只是項目的原型,遲早會重寫所有代碼,所以上面的這些問題,在這個階段是無關緊要的。因為我們甚至還沒有認定,現在的代碼就是解決問題的正確方法。
"代碼優先"程序員對編程有一個根本的誤解。要知道,編程是為用戶解決問題,而不是為了編寫出漂亮的代碼。重要的是代碼能夠工作,而不是代碼的外觀。
這是否意味著,我鼓勵大家編寫糟糕的代碼?不在乎使用什麼技術或軟件?
絕對不是。
我很在乎代碼!我只是認為,我們先要保證方向正確,因為我相信,只要保證代碼能夠解決問題,那麼通過更好的產品,最終可以獲得更好的代碼。反過來就不成立,更好的代碼未必會獲得更好的產品。
我對代碼的評判標準是: 如果產品不好用,代碼也不會好。 好的代碼只有在它產生了一個行得通的產品時才存在。
言論
1、
有一句古老的工程格言:工期短、質量好、價格便宜,這三項裡面你最多隻能同時做到兩項。
2、
如果一個人習慣了輕鬆成功,可能就無法培養處理真正困難的問題所必需的耐心。
-- 陶哲軒《做數學必須是天才嗎》
3、
一項日本調查發現,越會用 Excel 的職員加班時間越長,加班最長的是那些會用 sumif() 函數的人。
-- 某日本 IT 網站
4、
1879年,一個美國人問道:"為什麼所有這些新的經濟發展和工業化技術,都沒有消除貧困和壓迫?" 那個人就是亨利·喬治,後來他寫了一本名為《進步與貧困》的書。
-- 《<進步與貧困>書評》
5、
Python 曾經是一種可以在幾天內學會的語言,但這已經是很多年前的事了。最近,我相隔11年後重新用這門語言開發產品時,有點不知所措,它添加了太多的新功能。如果你不瞭解所有這些新功能,理解現代 Python 代碼將是多麼困難的一件事。
歷史上的本週
2021年(第 159 期):遊戲開發者的年薪
2020年(第 108 期):陣地戰與奇襲戰
2019年(第 56 期):文科生為什麼不容易就業?
2018年(第 5 期):互聯網時代,做一個好人是划算的
訂閱
這個週刊每週五發布,同步更新在阮一峰的網絡日誌和微信公眾號。
微信搜索"阮一峰的網絡日誌"或者掃描二維碼,即可訂閱。

(完)












