本雜誌開源,歡迎投稿。另有《誰在招人》服務,釋出程式設計師招聘資訊。合作請郵件聯絡([email protected])。
封面圖
中國國家博物館正在舉辦"巴黎聖母院展覽",來了四件雕塑原件。巴黎原址現在放的是,維修過程中替換的複製品。(via)
驢子、老虎和獅子的寓言
本週看到一個很有趣的寓言,分享給大家。
有一天,驢子和老虎發生了爭論。
驢子說:"草是藍色的。"
老虎回答:"不對,草是綠色的。"
他們各執己見,互不相讓,爭論越來越激烈。
最後,兩人決定將這個問題提交給獅子法官。
他們來到獅子面前,驢子大叫大嚷:"法官大人,草難道不是藍色的嗎?"
獅子回答:"如果你真的這麼認為,草就是藍色的。"
驢子不依不饒:"老虎不同意這一點,還出言不遜,請懲罰他。"
獅子隨後宣佈:"老虎將受到三天面壁思過的懲罰。"
驢子非常高興,心滿意足地離開了,嘴裡不停地念叨著:"草是藍的,草是藍的......"
老虎十分氣憤:"法官大人,草難道不是綠色的嗎?"
獅子回答:"草確實是綠色的。"
老虎困惑不解:"那你為什麼要懲罰我呢?"
獅子回答:"懲罰你與草是藍的還是綠的這個問題無關,而是因為像你這樣的高階生物,竟然浪費時間和驢子爭論這樣簡單的問題。最重要的是,你還用這個問題來煩我,只是為了驗證你已經知道是真的事情。"
這個寓言就結束了,講的其實是,應該如何處理爭論。
它的觀點很簡單,就是不要爭論。一來,有些人根本無法說服,他們不關心真相或現實,只關心自己的信念和觀點獲得勝利。
他們會竭盡全力,捍衛自己是正確的,與這樣的人爭論,就是浪費時間。
二來,一旦開始爭論,難免情緒壓倒理智。當你勝負心高漲,一心想贏過對方,你的智力就會急劇下降。
我一直對自己、對這個週刊有一個想法,也希望讓大家知道:不說教,儘量提供事實,如果要說出觀點,必須是那些根據事實顯而易見的觀點。與他人討論時,主要是澄清事實,儘量不辯論對錯,如果對方無法說服,那就算了,讓他贏。
科技動態
1、頭戴式拍攝裝置
本週,蘋果公司舉辦新品釋出會,邀請了很多自媒體作者來到現場。
來自中國的"老師好我叫何同學",以奇特的裝備引起了國外媒體的注意。
據他說,現場不允許攜帶三腳架,如果一隻手拿手機拍攝,另一隻手試用新手機,就很不方便。
他就做了一個頭戴支架,把拍攝用的 iPhone 固定在上面,並且佩戴了一個單目 AR 眼鏡,用來接收 iPhone 的畫面。這樣就能把雙手空出來了,可以邊看邊拍。
其實,很多人都想要頭戴式拍攝裝置,既能看到取景框,又能解放雙手,但是市場上沒有這類產品。
智慧眼鏡是最接近的裝置,可是拍出來的畫質太差。哪家公司如果率先推出可用的產品,一定會大賣。
2、遊輪加長手術
遊輪在國外非常受歡迎,船體十分龐大,可以容納上萬人。
但是,巨大的遊輪並不是一次建成的。為了減少風險,遊輪公司通常會先建造一艘較小的遊輪,等到確認市場需求後,再將小遊輪改建成大遊輪。
改建的方法是將小遊輪一切為二,然後在中間加長,再把兩半連線起來。
這種加長方法最經濟快速,只需要幾個月的時間,平均花費8000萬美元,船體加長30~40米,全部為高階艙室,可以在幾年內收回成本。
加長的這段時間,正好還可以進行裝置大修,以及員工培訓。
目前,加長後最大的遊輪長458米,相比之下,美國最大的航空母艦"福特號"只有333米。
3、泡麵計時器
網友甄大大本甄製作的泡麵計時器,加水後,把泡麵放在這個裝置上面,就會開始3分鐘計時。
時間到後,它會發出鈴聲,提醒你可以食用了。
這個裝置的奇特之處在於,不需要電池,完全依靠泡麵的重力勢能,轉換為計時的動能。
全部材料除了螺絲和磁鐵,都是 3D 列印,而且模型原始檔已經公開,可以下載。
4、其他
(1)蘋果公司正式宣佈,AirPods Pro 2 耳機可以用作助聽器。
(2)SpaceX 完成第一次私人公司的太空行走,以後太空旅遊就不止於艙內觀光了。
文章
1、餘弦相似度如何計算(英文)
一篇入門的科普文章,詳細解釋餘弦相似度的計算方法,寫得不錯。
2、Cursor 一個真正讓程式設計師產生危機感的 AI 程式設計工具(中文)
作者對 AI 程式設計助手 Cursor 的使用感受和評價。(@xiaobox 投稿)
3、Accept-Language 頭有什麼用(英文)
HTTP 請求的資料頭,有一個Accept-Language
欄位,作者解釋網站可以用這個欄位,決定向使用者提供哪種語言的網頁。
4、Postgres 和 Elasticsearch 全文搜尋比較(英文)
全文搜尋一般使用 Elasticsearch,但是 Postgres 資料庫自帶全文搜尋,本文比較兩者的優缺點。
5、什麼是企業級 Linux?(英文)
有些 Linux 發行版屬於"企業級"(Enterprise),本文介紹需要滿足哪些特點,一個發行版才能稱為"企業級"。
6、如何最佳化 JavaScript 程式碼(英文)
本文是一篇中級教程,介紹10個最佳化 JavaScript 程式碼,提高執行速度的技巧。
7、Bash 指令碼高階技巧(英文)
本文介紹一些寫好 Bash 指令碼的技巧。
工具
1、Applite
MacOS 的第三方應用管理器,可以一鍵下載、更新、解除安裝應用。
2、deno_python
這個模組為 Deno 整合了 Python 支援,使得開發者可以在 JS 程式碼裡面,加入並執行 Python 程式碼。
3、文顏
一個 Mac 桌面軟體,可以將 Markdown 文件轉換成公眾號、知乎、今日頭條等格式。(@caol64 投稿)
4、Cozy Reader
開源的 Epub 電子書的桌面閱讀軟體,跨平臺,基於 Rust + tauri + Vue3。(@srsng 投稿)
5、SimpleMockServer
一個簡單的 Mock 伺服器,可以將靜態檔案作為 API 介面的 JSON 資料返回。(@couriourc 投稿)
6、up-mode-extension
一個 Chrome 瀏覽器外掛,可以在截圖或錄製視屏時,隱藏位址列的瀏覽器外掛圖示。(@cunzaizhuyi 投稿)
7、File Browser
一個開源工具,提供一個 Web 介面,瀏覽和操作本地檔案。(@xiaobaidadada 投稿)
8、Notion Avatar Maker
免費的 Notion 風格頭像線上製作器。(@hwlvipone 投稿)
9、k-colors.js
一個從圖片提取主要顏色的 JS 庫,底層是作者自己實現的 K-means 演算法庫。(@ppzreboot 投稿)
10、Peter Cat
根據程式碼倉庫的地址,一鍵建立答疑機器人,快速整合到專案中。(@xingwanying 投稿)
11、XDeck
macOS 系統的一個 Twitter 桌面客戶端,程式碼開源。
12、AeroSpace
macOS 系統的平鋪式視窗管理器,類似於 Linux 平臺的 i3。
13、XPipe
一個跨平臺桌面應用,透過 SSH 在圖形介面上管理遠端伺服器。
資源
1、你想學習物理學
一位美國物理學家為本科生開的物理學入門書單,介紹物理學各個方面的基本知識。
2、資料科學家的 SQL 教程
一份簡要的初學者 SQL 教程。
3、Hugeicons React Icons
一個 React 圖示庫,提供3600多個 React 圖示元件。
圖片
1、日本銀行廣島分行
1936年,日本銀行廣島分行搬進了新建的辦公大樓。
這座建築採用歐洲式風格,使用鋼筋混凝土建造,窗戶上都裝有鐵柵欄。
1945年8月6日的早上,原子彈落在廣島。
樓內當時有20名工作人員,全部死亡。三樓的窗是開啟的,導致整個頂層都被摧毀。一樓和二樓的窗是關著的,使得內部沒有完全毀壞。
廣島的所有建築中,這座樓在核爆後的狀況是最好的。
當天,它就被用作傷員的避難所。爆炸發生兩天後,該銀行重新開放提款,並一直營業到1946年春季,才進行大修。
大修後,它繼續作為銀行運作,直到1992年3月銀行搬走。現在,這棟樓是廣島的一個公共活動空間,作為文化和藝術活動的場所。
文摘
1、谷歌的工程師等級
谷歌的工程師有明確的等級制。
1級是 IT 支援人員,2級是剛從大學畢業的學生,3級通常擁有碩士學位。
4級需要你工作幾年時間,或者需要博士學位。大多數工程師停止在5級。
6級工程師非常有能力,屬於所有工程師的前 10%,是專案成功的主要原因。7級是資深的6級。
8級是首席工程師,一般會負責主要產品或基礎設施。
9級是傑出工程師,受到業界景仰。
10級是谷歌研究員(Google Fellow),屬於終身榮譽,通常是各自領域的世界領先專家。
11級是資深研究員(Google Senior Fellow),目前為止只有兩個人:桑傑·格馬瓦特(Sanjay Ghemawat)和傑夫·迪恩(Jeff Dean)。他們都是谷歌的創始員工,參與架設了谷歌的搜尋服務。
2、當軟體新增了越來越多的功能
商業公司的軟體,最終都會患上一種叫做"功能蔓延"的疾病。
有人曾經說過的:"新功能是軟體開發和營銷的貨幣。"意思是,只有新增新功能,商業公司才能讓客戶和投資人為軟體掏錢。
這種說法是有道理的。最根本的原因是,沒有用過某種軟體的人,會根據功能數量來判斷軟體的價值。
因此,為了最大限度地提高初始銷售量,公司傾向於打造多功能的產品,將新功能源源不斷地新增到軟體之中,直到它們把整個產品淹沒。
問題是太多的軟體功能,會帶來沉重的負擔。擁有的功能越多,維護成本就越高。
這有幾點原因。
首先,因為不斷新增新功能,軟體就不可避免地需要重新設計,軟體設計就一直在變,永遠無法完成。
其次,每一項推出的新功能,都需要錯誤修復、客戶支援,以及驗證是否相容以前的功能。這些都是巨大的成本。
再次,新功能往往意味著,產品團隊將短期價值置於長期價值之上。因為新功能通常會給開發者帶來榮譽、晉升和影響力,而維護舊功能是沒有獎賞的。產品的長期發展,並沒有得到充分考慮。
另外,太多功能會帶來軟體的易用性問題,讓軟體的口碑變差。
由於上面這些原因,越來越多的軟體功能不可避免地會阻礙公司未來的發展。公司陷入了自己造成的功能困境,無法快速滿足新客戶和市場需求。
言論
1、
如果你一生只看過兩部電影,那麼你很可能會認為這兩部電影都相當不錯。
但如果你看過一千部電影,你就會真正知道如何分辨優秀電影。這就是為什麼多看可以提高辨別力。
-- 《提升品味以打造更好的產品》
2、
一家媒體公司發現,上個世紀90年代它用來存檔的上萬個硬碟驅動器,已經有五分之一無法讀取,上面的資料可能全部遺失。
人類生活已經"數字化"了,除非定期維護和備份數字介質,否則幾十年後,上面的資料就可能不存在,根本無法像紙張那樣,無人維護也能流傳幾百上千年。
-- 《是時候討論硬碟了》
3、
一位心理學家提出,色盲不太可能挑食,原因是缺少色彩可以減輕對新食物的牴觸。
-- Conversation.com
4、
我認為,討論網際網路安全時,有兩點需要明確。
首先,安全是無限的。你總是可以花更多的金錢和努力,讓事情變得更安全。
其次,安全與使用者體驗和易用性是對立的。提高產品的安全性,產品通常會變得更難用。
-- 《"安全是我們的首要任務"是廢話》
5、
一個人千萬不能習慣於舒適,因為久而久之,一點點的不適都會變得難以忍受。
-- gabe.rocks
往年回顧
"精益開發"的精益是什麼?(2023 #270)
人工智慧的機會在哪裡(2022 #220)
軟體訂閱制的勝利(2021 #170)
只有開放才能打敗封鎖(2020 #120)
(完)