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

10月5日,俄羅斯宇宙飛船將一名女演員(左一)和一名導演(右一)送入了國際空間站。他們將在那裡停留12天,拍攝一部電影。電影講述一個宇航員突發疾病,生命垂危,地面控制中心決定緊急派遣一名醫生去治療。(via)
本週話題:家庭太陽能發電的春天
最近,全國供電緊張,很多省的工業用電不夠了。
我在想,會不會因為這件事,家庭太陽能發電就要流行了。

理由是這樣的,這一次的供電緊張,主要原因是煤價漲了,從2021年初到現在翻了一倍。大家看下圖,最後一個月(剛剛過去的9月份)的價格簡直是飛漲。

但是,電價沒漲,火力發電廠因此陷入虧損,每發一度電都會虧錢。偏偏又遇上用電量猛增,今年前八個月,全國用電量增加了13.8%,相比之下,這個數字去年是3.1%,前年是4.5%。用電量增長太快,電廠又無力多發電,所以電就不夠了。
有的同學可能會說,火電不行,不是還有風電和光電嗎?問題是它們只是一個零頭,不到全部發電量的10%,根本替代不了火電,火電是絕對的大頭,佔到70%以上。
而且,風電和光電不穩定,英國的北海今年突然風停了,風電急劇減少,英國的能源就緊張到90%的加油站沒有汽油了。

總之,要解決供電緊張,還是離不開煤炭,最簡單的方法就是讓煤價下跌。但是這一次,煤價很可能不會下跌。"碳達峰、碳中和"是國家戰略,這種背景下,政府不會大量投資去增產煤炭,煤炭供應不足可能會持續下去。
另一方面,以後用電量肯定持續增長。別的不說,全國每年新增那麼多電動車,都需要用電啊,單單一臺特斯拉 Model 3 的功率(220kw)大約是家用空調的100倍。馬斯克最近說,美國的電力生產需要增長一倍,才能滿足電動車時代的需要。

我認為,如果煤價短期內不下跌,為了避免火電廠虧損,電價很可能會上調。
這樣的話,豈不是家庭太陽能發電的大好時機。一方面可以保證家庭供電不中斷,不擔心電網限電;另一方面可以減輕電價調整帶來的支出上升。
太陽能發電設備的價格,這幾年一直在下跌。一套 3000W 的光伏系統,也就不到3萬元人民幣。假定冬天工作4個小時,每天就是12度電,夏天工作8個小時,每天24度電,對於小家庭應該夠用。根據各地的電價,不難算出大概七八年可以回本。
即使不架設全屋系統,只在窗外放一塊光伏板,至少也能滿足電腦和手機的用電,等於家裡多了一個不間斷電源。

以前是電力公司集中式發電,但是隨著太陽能發電的價格下跌,今後的趨勢大概是家家戶戶的分佈式發電,每家的屋頂都有光伏板,這也許就是解決中國的能源問題,達到碳中和的有效方法。
Vue 3.0 輔導視頻
前端開發的學習路徑,一般分成三階段。
- 第一階段,學習 JavaScript 和 CSS 的基礎語法,包括瀏覽器的 API。
- 第二階段,學習框架和周邊工具,現在一般都學 Vue.js 或 React 框架。
- 第三階段,實際開發,積累經驗。
很多同學卡在第二階段,因為第一階段啃語法書,可以熬過去,但到了第二階段需要自己寫代碼,問題就全出來了。一方面,前期的語法基礎不牢固,實際應用時,API 不會用,別人的代碼也看不懂;另一方面,雖然跟著文檔學了一遍框架,但不理解為什麼這樣做,遇到問題時,不知道怎麼把框架套上去。
總之,第二階段的框架和工具學習,非常磨人。但只有過了這個階段,前端開發才算真正入門,後面才能去解決實際的開發任務。

本週的學習資料就是現在最熱門的前端框架 Vue.js 3.0 的一個輔導視頻,幫助你實現 Vue 的進階,順利通過第二階段。
Vue 3.0 發佈已經一年多了,國內的推廣速度非常快。它的 Composition API 和 React 的鉤子,是業內當前的兩大熱點技術。面試時往往會問到相關問題,比如 Vue 技術棧和它的核心設計。
這次的輔導視頻,內容包括三個部分:(1)Vue 原理和源碼剖析,(2)認識 Composition API,(3)實現一個"飛機大戰"遊戲。


整個視頻總計450分鐘,重點是第三部分,主講老師在講解框架之後,帶大家從頭寫一個飛機大戰遊戲,通過實戰練習,快速上手 Vue 3.0。同時也讓你有一個成果,可以寫在簡歷中,為面試加分。

微信掃描上方二維碼,瞭解課程詳情,0 元領取這份資料。保證沒有任何套路,先到先得。
科技動態
1、貝多芬第十交響樂

偉大的德國音樂家貝多芬,一生中寫過九部交響樂。1827年,他去世時,正在著手準備第十交響樂,只留下了一些草稿(下圖),包含大約250個小節。

2019年,為了紀念貝多芬誕生250週年,奧地利音樂研究所的所長找到了一個人工智能專家,詢問能否使用 AI 技術生成第十交響樂。
那位專家就先寫了一個 AI 模型,使用貝多芬所有的作品進行訓練,熟悉他的風格以後,再根據現存的手稿,生成整部作品,長度接近一個小時。
AI 版第十交響樂的完整錄音將於2021年10月9日發佈,同一天還會在德國波恩舉行全球首演。下面就是 AI 生成的第十交響樂片段。
2、VR 編程環境

一個國外程序員發文,聲稱他都在 VR 環境編程,每週超過40小時,整個過程都戴著 VR 頭盔。下面是他的編程環境示意圖

他的實際編程還是在筆記本里面,使用實體鍵盤和鼠標,但是程序窗口會通過視頻流,投射到 VR 頭盔。這意味著,任何可以在筆記本完成的工作,都可以在 VR 環境裡面做。
在 VR 環境,他將5個命令行窗口並排,感覺就像坐在 IMAX 影廳編程。

VR 環境的一個好處是,可以任意變換虛擬工作地點,一會在藍天白雲的山頂,一會又在海灘上工作。

3、人工合成澱粉

中國科學家全球首次實現"二氧化碳生成澱粉"的全過程。澱粉是糧食的主要成分,目前都是通過植物的光合作用產生。一旦能夠實驗室生成,就為人類的糧食生產創造了另一條途徑。
科學家首先利用太陽能電解水,獲得氫氣;然後,利用氫氣將二氧化碳還原為甲醇。接著,從62種生物酶裡面選出10種,將甲醇轉化為澱粉。

據稱,1立方米大小的生物反應器年產澱粉相當於5畝玉米地的澱粉產量。這種技術雖然可以節省大量土地和淡水,但是目前的成本太高,並不具備商業價值。(@pipi32167 投稿)

4、胖熊周

每年秋天,大批的棕熊都會來到美國阿拉斯加州的布魯克斯河吃紅鮭魚,為即將到來的冬眠積累脂肪。
最早的時候,當地的國家公園架設了攝像頭,直播棕熊的動態。很多人一邊看直播的時候,一邊會在網上討論,哪一頭熊最大最胖。
國家公園看到了這些討論,從2014年開始,就跟一家網站合作,在每年的9月底10月初舉辦"胖熊周",每天讓網友投票,把來吃魚的棕熊進行兩兩 PK,直至評選出最後的"胖熊冠軍"。去年收到了將近60萬張選票。

今年的胖熊周是9月29日到10月5日,經過投票,747號熊獲得了今年的冠軍。


蘋果公司有兩個應用商店:iOS 商店和 Mac 商店。區別是 iOS 設備只能從官方商店安裝 app,而 Mac 設備可以從第三方下載安裝 app,不一定要通過應用商店。
統計數據顯示,今年開始,開發者對於 Mac 商店的興趣顯著下降,越來越傾向於讓用戶直接從自己的網站下載安裝。

以往 Mac 應用商店每月上架新 App 大約400款左右,但是今年6月份,這個數字首次降至不到300款,預計8月份將只有大約200款上架。
文章
1、鳥類撞上玻璃幕牆怎麼辦?(中文)

玻璃幕牆建築越來越多,撞上玻璃的鳥類也越來越多,導致大量鳥類死亡。本文是這個問題的調查報告。
2、Facebook 下線的原因(英文)

本週,Facebook 下線了七個小時,原因是它的 BGP 路由被撤銷了,可能是內部人員更新 BGP 時出錯了。本文是一篇簡單的解釋,什麼是 BGP,為什麼它會導致 Facebook 下線。
3、Service Worker 簡介(中文)

谷歌官方的 Service Worker 教程,介紹什麼是 PWA 應用,以及怎麼開發,寫得非常好,很容易懂。官方提供中文版翻譯。
4、一個人能領導多少人?(英文)

人的精力是有限的,如果想做到有效領導,那麼直線下屬最好不超過5-7人。
5、異步函數如何使用緩存?(英文)

需要密集計算的函數,可以部署緩存(memoizing),用來提高性能。本文介紹了函數緩存的概念和實現。
6、Chrome 背景窗口的大小(英文)
Chrome 瀏覽器有一個 Bug,如果一個窗口在後臺打開,這個窗口的大小(window.outerHeight)會是 0,但是內部視口(window.innerHeight)的大小卻不是 0,這會導致一些奇怪的問題。
7、C23 的進展(英文)

C 語言的最新版本是 C17,這是2017年通過的標準。下一版本將在2023年發佈,稱為 C23。本文介紹 C23 會引入的一些新語法,關心 C 語言的朋友可以看看。
8、SourceMappingURL 的惡意使用(英文)

瀏覽器加載網頁時,如果指定了 Sourece Map 文件網址,就會加載這個文件。但是,這個網址居然可以用腳本動態修改,因此惡意腳本可以用它發送用戶信息。不過,這個技巧的生效條件,是用戶必須打開開發者工具。
工具
1、listmonk

一個開源的郵件列表管理器,提供美觀好用的管理界面,只要配上郵件發送服務(比如 AWS SES 或者開源的 Haraka)就可以使用。

命令行的 SQLite 數據庫查看器。

該網站是一個開源的雲服務套件,向用戶提供各種免費的雲服務,比如網盤、Office、聊天、地圖、項目管理、社交等等。

一個非常易用的輕量級前端框架,只做了 DOM 的包裝層,沒有加任何其他接口,體積小,加載快,並且支持組件和前端路由。開發小型頁面,明顯優於 React。
但是不知道什麼原因,多年來它一直不流行,因為名字難記?......
5、Pollen
一個 CSS 變量庫,提供一組常用的 CSS 變量(比如顏色、長度、字體大小等等)。開發者可以將這個庫作為初始變量,以後通過調整變量來改變樣式,比如從亮模式變成暗模式。

Windows 原生的網絡管理器非常難用,這是一個第三方的網絡管理器,在圖形界面中,提供各種方便的網絡管理、調試功能。

一個封裝了顯示模塊的容器,可以用來通過 Docker 容器運行圖形界面應用。
8、Arc

一個眾包 CDN,宣稱用戶使用它們的服務可以賺錢。它跟以前的迅雷 CDN 是一樣的,訪問者打開安裝了它的腳本的網站以後,就會分享一部分帶寬,用來給其它用戶作為 CDN 加速。
雖然不確定這樣做是否合適,但從技術上看,是很有趣的實踐。
一個根據提交信息,生成 Changelog 文件的命令行工具。
資源
1、深入計算機系統(Dive into Systems)

免費閱讀的英文教材,介紹計算機系統的底層知識,內容包含 C 語言和彙編語言的教程。
2、JS 庫的免費公共 CDN(英文)

網上有一些 JS 庫的公共 CDN,可以從它們加載庫腳本。本文列出了主要的名單。

該網站列出主要語言的常用操作(比如創建數組、連接數組等),目前已經有250多種操作。可以指定任意兩種語言進行對比,方便快速入門。(@jerrylususu 投稿)
4、OpenMoji

一套開源的 Emoji 圖標,目前已經有將近4000個圖標,還在持續增加中。
5、Mathlets

這個網站提供網頁小程序,幫助學習各種數學概念,比如正弦曲線、複數運算、傅里葉變換等等。
圖片
1、 大公司起家的地方
下圖是蘋果、谷歌、亞馬遜等大公司,各自創業起家的地方。

2、奇特的轉向燈
一家英國汽車公司推出了不一樣的轉向燈。

這種燈在右轉時,顯示向右的箭頭;左轉時,顯示向左的箭頭。為了顯目,還會閃爍。


有些人覺得這個設計很好,另一些人覺得很愚蠢,你覺得呢?
下面是一組倫敦地鐵隧道的建設照片,展示了隧道是怎麼建設的。
第一步,先用盾構機打洞。盾構機的直徑7米,每天可以前進38米。

第二步,洞壁塗上混凝土。

第三步,鋪設各種線路,同時保證良好的空氣流通。

第四步,鋪設路面和牆面,具備開通條件。

文摘
1、喬布斯逝世十週年
喬布斯去世於2011年10月5日,今年是十週年。
著名 IT 作家史蒂文·利維發表了一篇回憶短文。

2011年時,作為一家科技媒體,妥善的做法是提前準備好史蒂夫·喬布斯的訃告,我們都知道他沒有多少時間了。
將近有一年,蘋果公司堅持說,它的創始人兼首席執行官能夠成功康復,但是喬布斯本人的狀況卻是每況愈下。他的身體堅持不了多久了,他也認識到這一點。
那一年的早些時候,我和另一名記者要求對他專訪。地點就在無限環路1號(One Infinite Loop)的蘋果公司總部大樓四樓的一間辦公室。專訪沒有指定議題,但是我們三人都知道這是為了告別。
那一天是工作日中午,整個蘋果總部有數千人在上班,但是我們90分鐘的談話過程中,沒有被一個電話或訪客打斷。就好像對於蘋果公司來說,他已經是一個鬼魂了。
專訪結束後,我還是沒辦法提前準備他的訃告。內心裡,我不想承認他會很快逝世。
所以,2011年10月5日的下午,快要天黑的時候,接到喬布斯逝世的電話,我驚呆了。
那時,我手裡什麼文章也沒有。於是,接下來的四個小時裡,我開始寫文章回顧喬布斯的一生,我使用的就是他創造的 Mac 電腦。我儘自己所能,講述他的生平和遺產。
在訃告的最後一段,我寫道:"喬布斯的全部遺產,在很長一段時間內都不會消失。"直到今天,我想我們還在整理他留下的遺產。不會再有像他這樣特質的領導者和創新者,我們仍然生活在他的世界裡。
言論
1、
開發人員是創建軟件最寶貴的資源,但他們的時間往往被管理層低估和濫用。
管理者的作用應該是讓開發人員能夠工作,而不是拿走開發人員的時間。
-- medium.com
2、
一週的上班時間是40小時,但是我分配到了一個需要60小時的開發任務,我能怎麼辦呢?
-- medium.com
3、
唯一比量子力學更難的是解釋量子力學。
4、
達爾文散步時,喜歡邊走邊思考問題。散步開始時,他會在起點放五塊小石頭,每走一圈就踢掉一塊石頭,這樣就能在不打斷思路的情況下,達到預定的圈數。
5、
遊戲分成兩種。一種是有限遊戲,另一種是無限遊戲。有限遊戲的目的是獲勝,某方獲勝就結束了,無限遊戲的目的是繼續遊戲,你玩這個遊戲是為了可以繼續玩下去。
-- 《無限創業》
歷史上的本週
2020年(第 127 期):未來人人開發軟件,幾乎沒人編碼
2019年(第 75 期):電子取代機械,對就業有何影響?
2018年(第 24 期):新人進入軟件行業的建議
訂閱
這個週刊每週五發布,同步更新在阮一峰的網絡日誌和微信公眾號。
微信搜索"阮一峰的網絡日誌"或者掃描二維碼,即可訂閱。

(完)












