這裡記錄每週值得分享的科技內容,週五釋出。
本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖
美國的 RobotReport 網站,評選波士頓動力公司的跳躍機器人為2021年度技術突破之一。根據8月份的視訊,該公司的機器人已經可以跳躍了,只見它雙手一甩,從左邊的臺子挺身躍起,穩穩落在右邊的桌子上。(via)
本週話題:一個程式設計師的財務獨立之路
本週,推薦一篇美國程式設計師的文章。
作者20歲時第一次當實習生,發現在 IT 行業,普通人有可能在30多歲就實現"財務獨立",不再為維持生計和支付日常賬單而勞碌。以前,他一直以為每個人都需要工作到退休。
從此,他就將財務獨立作為自己的人生目標。
2009年,他大學畢業了,沒有任何積蓄,進入英特爾公司擔任初級工程師。當時的年薪是10萬美元,年支出3.8萬美元,再扣掉稅,第一年就有了3.5萬美元的淨資產。
以後,他每年都記賬。在這篇文章裡面,他公開了收入和支出(見下表)。十二年以後的2021年,他已經是亞馬遜的高階工程師,年薪62.5萬美元(含股票),年支出7.8萬美元,淨資產達到了240萬美元(含股票)。
他詳細說了,自己怎麼經過十二年的奮鬥,在35歲做到財務獨立,我覺得很有借鑑意義。
(1)首要的努力方向,就是追求工資提升。 普通人的收入來源,主要還是本職工作,如果工資很低,根本不可能實現財務獨立,所以必須想方設法提高工資。
一般來說,大廠的高階職位可以拿到穩定的高工資。所以,他要求自己一定要進大廠,並且做到高階工程師。
(2)每過三年,就到別處面試。 他一般三年換一家公司,這樣可以獲得顯著的加薪和晉升。他說每次換公司,收入至少增加30%。另外,還可以讓自己始終擁有一種進取的心態,不斷處於學習和成長的環境之中。
不過,換公司是雙刃劍,為了獲得更高的薪酬,就需要在面試和工作中給別人留下深刻印象,後面的公司對你的要求也會越來越高。
(3)建立良好的職業履歷。 要通過大廠的面試,必須有良好的職業履歷。最早的時候,他的履歷沒有特別的亮點,他就去一個名校,讀了一年制碩士(歐美碩士一般都是一年)。這會帶來很多職業機會(前提是必須為 Top 5 名校),同時一年的時間成本相對較小。
不過,IT 行業跟律師和金融業不一樣,就算沒有名校經歷,只要自身水平過硬,也能求職成功,只是開始時的機會可能會少一些。
(4)優先加入增長最快的領域。 一個行業增長越快,產生的機會越多,越容易漲工資。在機會面前,你不要害怕改變專業領域。
他是硬體工程師出身,進入行業時在英特爾做硬體。後來發現網際網路機會更大,他就跳到網際網路公司當軟體工程師。現在,機器學習很熱門,他又去嘗試這個領域。
(5)投資你的錢。 有了積蓄以後,不要讓錢在銀行閒置,要學會投資。他的很大一部分資產是股票,雖然投資過程中經常遭遇損失,但還是比放在銀行增長快得多。
(6)節制消費。 想要財務獨立,一定要控制消費。他認為,錢要花在生活必需品,不要花在奢侈品(比如高檔車)。錢也不要用於享受,但可以用來增加體驗。他說自己始終認為,跟物質享受相比,財務獨立才是人生最大的奢侈品。
另外,購買房屋通常是最大的財務決定,務必要想清楚。他有能力購房以後,還是選擇租房,而且跟別人一起合租,因為感覺這樣在財務上更靈活。不過那是在美國,跟國內的情況不太一樣。
以上就是他的一些主要做法,供大家參考。
Go 語言高頻面試題
去年,週刊推送過一份《Go 語言高頻面試題》,很受歡迎。如果你錯過了,可以過來看一下。
最近,Go 新版本 1.18 正式加入了泛型,這是近幾年來這門語言最大的功能增強。可以預見,它的應用領域還會進一步擴充套件。
Go 已經是國內的第二大網際網路開發語言,僅次於 Java,各大廠都在用於生產環境。這導致 Go 語言的招聘崗位一直很多,而開發者相對稀缺。
所以,Go 很值得學習。一方面,它本身具有很強的生產力;另一方面,它的行業應用很廣,容易求職。
這一份 《Go 語言高頻面試題》 資料,收集了2021年國內各大廠的面試真題,共250多道,按照學習順序分類編排,每道題都包括簡要的解題思路講解,可以作為面試或學習指南。
整份資料一共134頁,除了 Go 語言的部分,還帶有一個附錄,包括跟後端開發相關的一些其它面試真題。
它是由知名的工程師學習平臺"極客時間"製作的,他們為了推廣 Go 的學習品牌,特別向週刊讀者贈送。
現在領取的讀者,還能獲贈一份2021版的 《資料結構與演算法面試題講解》(113頁)。
微信掃描上方二維碼,新增助教老師,就可以 免費領取 這些資料。因為是手動傳送,新增老師後,還請大家保持耐心。
2021年度最佳新產品
美國《大眾科學》雜誌,評選出了2021年度最佳的100種新產品,包括 mRNA 疫苗、蘋果公司的 M1 晶片、SpaceX 公司的龍飛船等著名產品。
下面是其中一些很有趣、但不那麼出名的新產品。
1、鍵盤貼紙
微軟推出了一套可觸控的鍵盤貼紙,供盲人和視障人士使用。只要貼在膝上型電腦的某個位置,盲人就可以觸控識別,比如貼一個圓圈在 Win 鍵上。
這種貼紙對正常人加快盲打速度也很有幫助。
2、磁鐵睫毛膏
一家美國公司推出了含有氧化鐵粉末的睫毛膏,並配有磁性睫毛刷。只要一刷,化妝品粉末就能均勻分佈到睫毛各處,並且能讓睫毛獲得最大長度和彎曲。
3、健康追蹤內衣
這款運動內衣,內建了電池和感測器,可以24小時感知穿戴者的睡眠質量、運動壓力和心率,從而確定健康狀況和健身安排。
4、飛機藍芽系統
飛機座椅背後的電視螢幕,以前只能連有線耳機。松下公司開發了一套新系統,允許乘客用自己的藍芽耳機連線。
在飛機這樣狹小的金屬機身裡面,同時讓所有乘客都能有穩定的藍芽連線,並不是一件容易的事。但是,松下這套系統效果很好,已經有航空公司開始採用它。
5、太陽帆
人類迄今發射的宇宙飛船都帶有動力系統,美國宇航局研發成功不帶有動力系統的太陽帆。它基本上就是一大張鍍鋁的塑料膜,依靠太陽噴射出來的粒子流(太陽風)推動前進。
它可以用來追蹤高速飛行的小行星,計劃在今年7月發射。由於不需要攜帶燃料和動力系統,它的造價只有傳統飛船的十分之一。
6、氫氣鍊鋼
傳統的鍊鋼方法是使用焦炭,將氧化鐵礦石裡面的氧元素還原出來,這個過程會產生大量的二氧化碳。
為了減少二氧化碳排放,一家瑞典鋼鐵公司發明了氫氣鍊鋼,不使用焦炭,而是用氫氣將氧元素還原出來。這樣不會產生二氧化碳,只產生水。
7、立體鏡頭
佳能公司釋出了一款兩眼的鏡頭,只要把這款鏡頭安裝在普通相機上,就能拍攝立體視訊。這個鏡頭的每個眼用到一半的影像感測器,使用視訊製作軟體 Adobe Premiere 的外掛,就能將兩眼拍攝到的影像疊加在一起,得到立體視訊。
8、空中加油無人機
波音公司新開發的無人機,可以為戰鬥機空中加油,從而使空中加油變得更簡單和方便,不需要額外投入飛行員。
它對航母的意義尤其重大,海上作戰時,戰鬥機就不必返回航母加油了。美國海軍可能會訂購70架這種空中加油無人機。
9、雷達攝像頭
傳統的監控都使用攝像頭,通過視覺偵測判斷是否有入侵。美國的 Ring 公司釋出的一款家庭監控器,除了攝像頭,還加上了電波偵測,相當於一個微型的雷達。
這個雷達可以在10米範圍內跟蹤運動的物體,再加上攝像頭識別物體。兩者結合起來,就能更好地判斷是否出現異常情況。
10、兩棲摩托艇
一家法國軍工公司開發了兩棲摩托艇,在海上是高速快艇,到了岸上,它的底下會升出兩排履帶,變成履帶車。它適合登陸作戰,到了海灘以後,士兵不用下艇,接著駕駛到合適的登陸位置。
文章
1、令人困惑的 HDMI 2.1(中文)
本文介紹了高清視訊 HDMI 2.1 標準,並且討論了一個外行人容易誤解的細節:由於標準化組織的奇怪規定,HDMI 2.0 裝置都可以自稱符合 HDMI 2.1 標準。
這裡是中文譯文,另有英文原文。
2、德國最受歡迎的程式設計師技能排行(英文)
有人統計了德國程式設計師招聘廣告裡面,出現頻率最高的技能,跟中國的情況基本一致。大家可以看看,什麼技能容易在德國就業。
3、自制 NFC 唱片卡(英文)
作者將 NFC 標籤,貼在紙卡片的背後,然後將唱片的資料寫入 NFC 標籤。手機只要靠近這些紙卡片,就可以讀取資料,自動播放這張唱片。
這篇文章值得借鑑,學習怎麼使用 NFC 標籤。
4、node_modules 目錄放入程式碼倉庫(英文)
本文提出 Node.js 專案的 node_modules 目錄可以放入程式碼倉庫,尤其是在公司內網,有很多好處。
5、where 與 having 子句的區別(英文)
SQL 查詢有 where 子句和 having 子句,它們的區別是什麼?
6、如何在 Mac 安裝 Rails(英文)
這個網頁很別緻,以視覺化的形式,給出命令列怎麼安裝 Rails。
7、為什麼 ISO 格式應該被淘汰(英文)
磁碟的映象檔案有兩種格式:ISO 和 IMG。作者認為 ISO 檔案格式應該被淘汰,只使用 IMG 格式。
8、顯示伺服器是什麼?(英文)
本文是一篇長文裡面的一節,解釋 Linux 系統裡面顯示伺服器的作用(X11 協議和 Wayland 協議),寫得很通俗。
工具
1、xxh
遠端伺服器登入的時候,往往只有 Bash 可用。這個工具可以把你本地的 Shell 環境(zsh、fish 等等)自動帶到遠端伺服器。
2、Pico.css
一個極小化的 CSS 框架,只有 8KB,優雅簡單,功能也不弱。
一個瀏覽器外掛,可以從 Google/Bing 的搜尋結果裡面,去除指定網站或 URL。
4、Lapce
一個 Rust 語言寫的輕量級程式碼編輯器,速度極快,功能上模仿了 VS Code,支援 Windows 和 MacOS。
一個 VS Code 外掛,只要在 JavaScript 指令碼里面選中一個變數,就可以自動為這個變數插入一行console.log
列印語句。(@moore529 投稿)
6、PPTist
一個 PPT 網頁應用,還原了大部分 PowerPoint 常用功能,支援 PPT 的線上編輯、演示和匯出。這裡有 demo。(@pipipi-pikachu 投稿)
一個 MacOS 的網頁收藏器,支援分類、標記、收集影像、新增標籤,所有資料都儲存在你的 iCloud。(@hite 投稿)
一個開源的安卓 App 商店,可以用來搭建自己的應用商店。
除錯工具 GDB 的一個前端,可以在圖形介面上除錯 C/C++ 程式,使用 Python 語言寫的。
資源
中國山水畫生成器是一個很有名的軟體,一個老外使用者很驚歎,希望把它徹底搞懂,就寫了這個由24篇文章組成的系列,逐一分析程式碼,看看能否自己重新實現。(@ameizi 投稿)
該網站列出了 ECMAScript 標準所有各階段的提案。
3、eja.tv
該網站收集全世界可以網上免費觀看的電視訊道,目前一共收集了4029個頻道,提供地區和語言分類。
這本線上刊物收集了世界眾多黑客在逆向分析、滲透測試、生活感悟等方面的文章,再由編輯潤色排版,圖文並茂。國內網友特別製作了電子書,提供下載。(@evmn 投稿)
5、DareBee
這個網站收集了1700多種身體鍛鍊的方法,每種方法都有插圖說明。
圖片和視訊
1、小飛機墜機視訊
一個美國飛行愛好者說,自己的小飛機在空中發生故障,螺旋槳停轉力後墜毀,他不得不跳傘逃生。事後,他將視訊放上網,這種第一視角的墜機視訊,真是難得一見。
由於拍攝得太過完美,很多人質疑這場墜機是故意安排的,美國航空管理局 FAA 宣佈進行調查。
2、南非窮人怎麼上網
南非窮人負擔不起手機流量上網,只能在圍牆欄杆外面,蹭學校的 Wifi 上網。Wifi 的密碼是學生賣給他們的,用來換取一點午餐費。
文摘
現在最流行的資料庫都是關係型資料庫。這種資料庫以表格的形式儲存資料。
但是,現實世界中,事物之間的關係不像表格,更像一張互相連線的網。也就是說,圖資料庫才是描述事物更合適的方式,也更容易擴充套件和理解。
那麼,為什麼關係型資料庫才是主流,圖資料庫始終屬於小眾應用?
原因跟資料的儲存媒介有關。磁帶發明以後,沒過多久,關係型資料庫就誕生了,這不是偶然的。因為磁帶的資料是線性儲存,關係型資料庫恰恰最適合線性讀寫資料。
磁碟是磁帶的繼承者,也是線性儲存,這決定了關係型資料庫的主導地位。
2、滑坡謬誤
滑坡謬誤(Slippery slope)指的是使用一連串的因果推論,誇大了每個環節的因果強度,而得到不合理的結論。
它的典型形式是,"如果發生 A1,接著就會發生 A2,接著就會發生 A3,接著就會發生 A4,......,接著就會發生 An",然後推論"由於 An 不應該發生,因此我們不應允許 A1 發生"。
從 A1 推論至 An 的過程就像一個滑坡。
它的問題在於,每個"坡"的因果強度不一,有些因果關係只是可能、而非必然,有些因果關係相當微弱,有些因果關係甚至是未知或缺乏證據,因而即使 A 1發生,也無法一路滑到 An,An 並非必然發生。
若有充足證據顯示每個"坡"都有合理、強烈的因果連結,即不構成滑坡謬誤。
例一:如果我今天借了10元給小明,他明天又會跟我借一百元,接下來就借一千元、一萬元,我豈不破產?
小明今天借十元也不表示明天就會借一百元,就算明天借一百元也不表示以後就會借一千元,就算小明借一千元甚至一萬元,也不表示說話者就會破產。
例二:孩子如果不上好的小學,就考不上好的中學,之後就考不進好的大學,接著會找不到好的工作,然後會窮困潦倒,一生就毀了!
孩子如果不上好的小學,也不表示之後就考不上好的中學;就算考不上好的中學,也不表示就考不進好的大學;就算考不進好的大學,也不表示就找不到好的工作;就算找不到好的工作,也不表示會窮困潦倒;就算窮困潦倒,也不表示一生就毀了。
例三:員工偷懶公司便會損失,公司賺不到錢就要裁員,被裁員的人會沒工作,沒工作的人為了生計就會鋌而走險。因此,上班偷懶是非常嚴重的問題。
公司損失不表示公司會賺不到錢,就算公司賺不到錢也不表示公司就要裁員,就算公司裁員也不表示被裁的人會走投無路,就算被裁的人走投無路,也不表示會為了生計鋌而走險。
言論
1、
C 和 C++ 這兩種語言不保證記憶體安全,後果就是所有軟體安全問題的大約三分之二,都跟記憶體處理不當有或多或少的關係。
2、
媒體業務的核心,是每天能從消費者的注意力裡面,分到多少分鐘。它滿足消費者需求、賣給廣告商的就是這個東西,也是媒體之間相互競爭的核心。
3、
一隻蠍子請求青蛙帶他過河,青蛙害怕被蜇傷。蠍子說,如果他蜇青蛙,兩者都會淹死在河裡。青蛙就同意揹他。但是,一到河中間,蠍子就蜇了青蛙。青蛙臨死之前問:"為什麼啊?" 蠍子回答說:"這是我的本性。"
這個故事告訴我們,不要跟本質有毒的人交易。
-- 《五堂永恆的課》
4、
舊金山是美國房價最貴的城市,很多窮人負擔不起住房,只能流落街頭。市政府每年撥款10億美元,幫助無家可歸者,平均每人超過10萬美元。
諷刺的是,這筆鉅款不僅沒有解決流浪問題,反而讓它變得更嚴重了。很多全職工作的人,為了住房,花光了積蓄,活得非常辛苦。那些流浪者,反而因為政府的資助,處在一種無憂無慮的穩定狀態,不想再去工作。
5、
你永遠不會通過與現實做鬥爭,而改變事物。想要改變事物,需要建立一個使現有模型過時的新模型。
-- 富勒,美國建築師
歷史上的本週
2020年(第 140 期):印度人的工資是多少?
2019年(第 88 期):如果你遇到一條蛇
2018年(第 37 期):小說家的時代,永遠地過去了
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)