本雜誌開源(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。
5、vscode.dev 介紹
官方介紹 VS Code 編輯器的線上版 vscode.dev。
6、程式碼編輯器比較:Ace、CodeMirror 和 Monaco(英文)
replit 團隊需要一個網頁版的程式碼編輯器,先後試用了 Ace、Monaco 和 CodeMirror,比較了它們的優缺點。
7、如何使用 GitHub Actions 網頁截圖(英文)
本文提供了一個 Action 模板,演示怎麼使用它生成網頁截圖。
8、iPhone 鐳射雷達的使用(英文)
iPhone 現在內建了鐳射雷達掃描器,可以對5米內的物體進行 3D 建模,本文演示瞭如何使用這個功能。
工具
1、SketchyBar
一個 Mac 電腦的選單欄替換品。
2、海綿樂隊
位元組跳動最新發布的手機端音訊編輯軟體,號稱音訊的"剪映",目前只有 iOS 版。"它在實現傳統的錄音、效果器同時,引入大量AI智慧來協助創作,降低使用難度,提高創作趣味和效率。"
3、DownKyi
Windows 桌面軟體,用來下載 B 站影片,支援批次下載,支援8K、HDR、杜比視界,提供工具箱(音影片提取、去水印等)。(@Lucid1ty 投稿)
4、Regular Expression Tester and Visualizer
線上的正規表示式測試和視覺化工具。(@pccprint 投稿)
5、vue-dark-switch
多合一的開箱即用 vue3 暗黑模式開關元件。(@markthree 投稿)
6、小舒同學
瀏覽器外掛,將收藏夾裡面的書籤,展示在瀏覽器預設主頁上。(@nexmoe 投稿)
7、雲策文件
一款開源知識管理工具,可以自己部署。透過獨立的知識庫空間,結構化地組織線上協作文件,支援多人協作文件。(@fantasticit 投稿)
8、code996
一款開源的分析工具,統計 Git 專案的 commit 時間分佈,推匯出這個專案的編碼工作強度。(@hellodigua 投稿)
9、Cortex.js
一個數學公式的 Web Component 元件。
10、RedwoodJS
一個前後端一體的 JS 框架,有點類似 Next.js,GitHub 超過一萬顆星。它的 API 看上去很簡潔優雅。
活動
1、位元組跳動的網安防禦體系
網際網路大廠每天都在遭受,各種稀奇古怪的網路攻擊。下週六(5月28日)下午,位元組跳動的官方沙龍特別邀請安全工程師,跟大家網上交流,位元組怎麼做網路防禦。
本期主要有兩個主題:(1)如何確保容器映象的安全,防止漏洞和惡意映象;(2)如何防止供應鏈攻擊,確保外部依賴的安全。點選連結或掃描二維碼報名,現場還有位元組紀念品抽獎。
資源
1、設計模式
這個網站講解各種設計模式的含義和用法,有英文版和中文版,每一種設計模式都配上了插圖講解。
2、開源青年
B 站頻道,主要介紹開源軟體歷史故事、開源合規知識、開源事件。(@ichengxinxin 投稿)
3、趣味資料分析
介紹資料分析的中文電子書,免費線上閱讀。側重趣味性,比如用圖還是表,是閾值還是閥值。(@jiezhao9 投稿)
4、前端部署十五章
一組系列文章,介紹如何部署前端專案。從最原始的部署方案過渡到 Docker 與 Kubernetes,逐步最佳化,另有配套的影片講解。(@shfshanyue 投稿)
5、費曼物理學講座
諾貝爾物理學獎得主理查德·費曼(Richard Feynman)1961年~1964年在加州理工學院,為本科生講授物理學導論,後來根據錄音帶和講義,就整理出了這本著名的物理學教材。這裡是加州理工學院的官方版本,為線上閱讀特別做了排版。
圖片
1、洩洪井
英國 Ladybower 水庫非常奇特。水庫大壩的洩洪孔,不是開在大壩上,而是壩身兩側的兩個垂直的洩洪井。
平時,水庫的水位低,兩個洩洪井都是空的。
一旦遇到洪水期,水庫的水位上漲,超過了洩洪井的圍欄,水就會從井裡垂直下洩。
遠遠看去,好像水中兩個巨大的天坑,非常壯觀,成為當地的一道著名景觀。
2、燃燒的鐵軌
美國芝加哥火車站,冬季嚴寒,鐵軌會結冰。這對火車行駛很不安全。
為了除冰,鐵路公司在鐵軌上裝了燃氣管道。一旦有列車透過,就會自動開啟燃氣噴頭,並且點燃。火車就會在火焰中前進(現場影片)。
文摘
1、程式碼優先與產品優先
程式設計師可以分成兩種:一種程式設計師更關心程式碼,另一種程式設計師更關心產品。
我稱前者為"程式碼優先"程式設計師,後者為"產品優先"程式設計師。
"程式碼優先"程式設計師痴迷於程式碼的架構、關注使用什麼工具、庫和語言,有多少測試覆蓋率,諸如此類的問題。
如果達到完美的程式碼抽象,或者使用了最新的語言功能,再或者刪除了用不到的程式碼,"程式碼優先"程式設計師就會很興奮。他們真的喜歡他們編寫的程式碼,在他們眼裡,程式碼本身就是目的。
"產品優先"程式設計師也關心程式碼,但只是把它作為達到目的的一種手段。對於他們來說,程式碼是建築物的腳手架和鋼樑,而不是最終產品。最終產品是產品本身,而不是程式碼。
他們認為,重要的是,產品是不是真正解決了問題?每樣東西是否正常工作?人們喜歡用這個產品嗎?"產品優先"程式設計師喜歡構建和釋出,喜歡看到使用者使用他們構建的東西。在他們眼中,產品才是目的。
大型軟體公司裡面,你會遇到很多"程式碼優先"程式設計師。他們看重程式碼是否合乎規範,有沒有拼寫錯誤,是不是義大利麵條式的程式碼,會不會帶來技術債務。如果達不到程式碼稽核的嚴謹標準,就會要求重構程式碼。
我總是很驚訝地發現,有那麼多程式設計師認為,"程式碼優先"就是他們追求的目標。對於專案原型,他們會問:"單元測試覆蓋率怎麼樣?" 、"有沒有用到熱門的新技術 X?"、"會帶來很多技術債務嗎?"。
可是,我們現在做的只是專案的原型,遲早會重寫所有程式碼,所以上面的這些問題,在這個階段是無關緊要的。因為我們甚至還沒有認定,現在的程式碼就是解決問題的正確方法。
"程式碼優先"程式設計師對程式設計有一個根本的誤解。要知道,程式設計是為使用者解決問題,而不是為了編寫出漂亮的程式碼。重要的是程式碼能夠工作,而不是程式碼的外觀。
這是否意味著,我鼓勵大家編寫糟糕的程式碼?不在乎使用什麼技術或軟體?
絕對不是。
我很在乎程式碼!我只是認為,我們先要保證方向正確,因為我相信,只要保證程式碼能夠解決問題,那麼透過更好的產品,最終可以獲得更好的程式碼。反過來就不成立,更好的程式碼未必會獲得更好的產品。
我對程式碼的評判標準是: 如果產品不好用,程式碼也不會好。 好的程式碼只有在它產生了一個行得通的產品時才存在。
言論
1、
有一句古老的工程格言:工期短、質量好、價格便宜,這三項裡面你最多隻能同時做到兩項。
-- Daring Fireball
2、
如果一個人習慣了輕鬆成功,可能就無法培養處理真正困難的問題所必需的耐心。
-- 陶哲軒《做數學必須是天才嗎》
3、
一項日本調查發現,越會用 Excel 的職員加班時間越長,加班最長的是那些會用 sumif() 函式的人。
-- 某日本 IT 網站
4、
1879年,一個美國人問道:"為什麼所有這些新的經濟發展和工業化技術,都沒有消除貧困和壓迫?" 那個人就是亨利·喬治,後來他寫了一本名為《進步與貧困》的書。
-- 《<進步與貧困>書評》
5、
Python 曾經是一種可以在幾天內學會的語言,但這已經是很多年前的事了。最近,我相隔11年後重新用這門語言開發產品時,有點不知所措,它新增了太多的新功能。如果你不瞭解所有這些新功能,理解現代 Python 程式碼將是多麼困難的一件事。
-- 《失控的 Python3 型別》
歷史上的本週
2021年(第 159 期):遊戲開發者的年薪
2020年(第 108 期):陣地戰與奇襲戰
2019年(第 56 期):文科生為什麼不容易就業?
2018年(第 5 期):網際網路時代,做一個好人是划算的
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)