科技愛好者週刊(第 179 期):AR 技術的開啟方式

阮一峰 發表於 2021-10-15

這裡記錄每週值得分享的科技內容,週五釋出。

本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。

週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。

封面圖

科技愛好者週刊(第 179 期):AR 技術的開啟方式

濟寧市美術館2019年建成,由日本建築師設計。上圖中,上方的不規則白色屋頂,就是美術館的展廳。下方是一個公園,左側是一個迴廊步道,右側是咖啡館。(via

本週話題:AR 技術的正確開啟方式

前兩天,我看到一條新聞,德國杜塞爾多夫開張了一家 AR 公園(擴增實境公園)。

表面上,這就是一家普通的公園,草地、綠樹、小溪流......

科技愛好者週刊(第 179 期):AR 技術的開啟方式

但是,當你開啟手機 App,使用攝像頭,就會看到所有場景上面,都疊加了一個虛擬層。

天空漂浮著奇怪的生物。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

道路上有充氣路障。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

長椅上坐著一個不存在的人。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

遊客可以探索這些虛擬物件,也可以根據提示,完成指定任務,解鎖關卡。

新聞說,這個公園一共部署了35個 AR 應用,其中13個是免費作品,其餘22個必須付費4.99歐元才能啟用,相當於公園門票了。

我覺得,這個主意太好了,值得借鑑。

城市公園改建為 AR 遊戲場,這才是 AR 技術的正確開啟方式。 公園還是那個公園,什麼都沒變,但是加入了電子遊戲的成分。這裡最關鍵的一點是,AR 就是應該在室外玩。

仔細想一下,你會發現,絕大多數電子遊戲只適合在室內玩,但是 AR 可以在室外玩,而且室外比室內好玩得多。

這是因為 AR 是部分虛擬、部分現實,虛擬層需要疊加在現實層之上,如果現實空間太小、太單調,就不可能設計出好玩的 AR 應用。目前,國內影響最大的 AR 應用,就是支付寶"集五福"的室內找"福"字,這個遊戲非常乏味,原因就在這裡,室內很難想出好玩的玩法。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

相反的,室外可以疊加尋寶、解謎、打卡等多種手段,還能跟虛擬物件互動,可玩性大大增強。國外的 AR 遊戲《Pokemon Go》就出現過萬人街頭尋寶的熱潮。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

遊戲公司真的應該多開發針對室外空間的 AR 遊戲。如果政府同意把公園改造為 AR 遊戲場,就解決了遊戲場地的問題。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

最後提一下,最近很熱門的"元宇宙",指的是一個與真實世界平行的虛擬世界。但是,目前的元宇宙實現都是基於 VR,也就是全部虛擬的宇宙。我在想,有沒有可能出現基於 AR 的元宇宙呢?

在 AR 元宇宙之中,世界本身依然是真實世界,但是玩家的各種活動發生在虛擬層裡面。舉例來說,如果要舉辦一個晚會,地址在人民路,那麼 VR 元宇宙需要構建一條虛擬的人民路,而 AR 元宇宙則是在真實的人民路上構建一個虛擬會場,不僅開發難度低,而且真實感更強。

Go 語言基礎學習

我們常說的"網際網路開發",其實包括前端和後端兩個部分。前端是客戶端開發,後端是伺服器開發。

Java 語言是後端開發的老大,企業級的網際網路後臺大部分都是用 Java 寫的。但是,這幾年 Go 語言上升很快,目前市場佔有率可能僅次於 Java,比如視訊網站 B 站的後臺就完全是用 Go 寫的。

Go 語言有幾個顯著的優點。首先從一開始,它就是為網際網路併發環境設計的,特別適合網際網路應用,其次它是跨平臺的,同樣的程式碼可以執行在不同的作業系統,再次它背後有谷歌這樣的大公司支援。語法上,它比 Java 和 C++ 都要簡潔,新人一週左右就能入門上手,而效能絲毫不落下風。

目前招聘市場上,Go 語言的行情非常好,招聘的公司遠多於應聘的程式設計師。根據一份2021年的調查,Go 語言位列最想學習的程式語言的前三名。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

如果你有打算伺服器開發,想為前端程式做一個後臺,Go 語言肯定是值得學習的。

本週介紹的課程,就是一門來自極客時間的學習資料 《Go 基礎衝刺班》。它通過四節課 + 三個實戰專案,幫助大家入門 Go 語言,講解基礎語法,理清學習難點。

這份學習資料適合下面三種同學:

  • 已經有其他語言基礎、但還沒上手過 Go
  • 想從其他技術棧轉到 Go 技術棧的
  • 已經在做 Go 研發,想要鞏固基礎

四節課的學習內容如下。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

每節課都提供配套原始碼和 PPT。想學習 Go 語言的同學可以嘗試一下,不花一分錢就得到一份基礎教程。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

微信掃描上方二維碼,新增班主任,即可免費獲得課程連結和配套原始碼。

科技動態

1、《魷魚遊戲》的官司

科技愛好者週刊(第 179 期):AR 技術的開啟方式

韓國電視劇《魷魚遊戲》最近成了 Netflix 平臺觀看次數最多的電視劇,但是卻為 Netflix 帶來了官司。

韓國的網路服務商 SK Broadband 起訴 Netflix,理由是太多觀眾通過網路收看電視劇,要求後者支付網路流量增加和維護工作的費用。證據之一是 Netflix 在美國為了提高流媒體速度,向寬頻提供商康卡斯特公司支付網路維護費用,已經超過七年。

這種指控其實有點奇怪,因為內容提供商不會產生流量,而是觀眾產生流量,但是觀眾已經向網路運營商付費了。另一方面,如果 SK Broadband 設立網內的快取伺服器,那麼所有的觀看流量都是網內流量,幾乎沒有成本。

2、加油機器人

科技愛好者週刊(第 179 期):AR 技術的開啟方式

國內首款加油機器人,在南寧投入試執行。只要把小轎車停在加油機前,手機下單以後,加油機器人就會伸出"手臂",開啟油箱蓋,插入加油槍。整個過程僅需3分鐘,司機不需要下車。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

這臺機器能夠自動判斷車型、定位油箱蓋位置、自動開啟和關閉油箱內外蓋,實現了"開關蓋+插拔槍"動作的智慧化。

3、疫苗貼片

科技愛好者週刊(第 179 期):AR 技術的開啟方式

美國科學家發明了一種 3D 列印的疫苗貼片,只要貼在皮膚上,就會溶解到皮膚中,達到疫苗注射的效果。

這種疫苗貼片表面有許多微針頭,可以刺破皮膚的表皮細胞,進行給藥。相比傳統的疫苗注射,這種方式的優點是無痛、侵入性更小,並且可以自我給藥,不需要護士。(@jijiah 投稿)

4、ABBA 虛擬演唱會

科技愛好者週刊(第 179 期):AR 技術的開啟方式

瑞典著名樂隊 ABBA 最近錄製了新專輯,距離上一張專輯已經過去了40年。1982年樂隊解散時,四個成員還是年輕人,現在都已經成了老人。

專輯的兩首新歌定於今年11月5日首發,同時還會在網上舉行一次虛擬演唱會。四名成員以 3D 人物的形式在舞臺上演唱20多首歌。雖然他們的演唱會化身是計算機生成的,但是舞臺上的動作確實是本人的。他們為了這次演唱會,穿上了感應服裝,進行動作捕捉。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

5、木製大鐘

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個日本大學生,為了自己的畢業設計,製作了一個木製大鐘,一共有400個零件,全部手工製作,令人歎為觀止,簡直是一件藝術品。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

它的最神奇之處,莫過於顯示時間的錶盤是一塊白板,每當時間發生變化,機器會自動抹去原來的時間,用筆寫上新的時間。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

請看下面的視訊

6、城市太陽能裝置

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個法國藝術家發明了一種新的太陽能裝置,可以裝在城市樓房外側。它將兩塊太陽能交叉在一起,從而不管太陽在哪個角度,都能獲得光照。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

而且,每塊太陽能板還可以做成不同的形狀,將照射在牆上的陰影,變成各種文字和圖案。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

文章

1、兩個電動車主的長假出遊遭遇(中文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

十一假期,很多人開電動車出遊,都遭遇到了充電困境。本文講述了兩位車主的親身經歷。

2、釷燃料反應堆試驗(中文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

核反應堆目前都使用鈾燃料,《自然》雜誌報導中國正在甘肅省試驗釷燃料反應堆。釷比鈾有一些顯著的優點,比如核廢料更少、不需要大量的水,但是成本比較高,技術還不成熟。本文介紹了釷反應堆的背景知識。

3、NASA 的互動式影像小說(中文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

美國宇航局 NASA 在官網釋出了一部互動式小說,使用者可以下載 PDF 檔案閱讀。它的最大特點就是裡面有很多二維碼,手機掃描後可以看到背景材料、插圖和視訊。但是與其這樣做,為什麼不直接做成網頁釋出呢?

科技愛好者週刊(第 179 期):AR 技術的開啟方式

4、我在通用電氣工作的一件往事(中文)

作者2018年底加入了美國通用電氣在英國劍橋的軟體部門,發現公司內部使用的是一種自己發明的語言,但是這種語言沒有 while 語句。(@DoctorLai 投稿)

5、如何用核取方塊實現圖片、動畫和遊戲(英文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

在視覺上,核取方塊的選中狀態不同於未選中狀態。作者突發奇想,利用這一點將圖片、動畫、遊戲轉成核取方塊。(@abel533 投稿)

6、中位數為什麼比平均值有用(英文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

這篇文章的前半部分使用圖形,通俗地解釋了為什麼中位數(medium)比平均值(average)更好地反映了總體狀況。

文章後半部分講解了資料庫如何查詢中位數,不感興趣的同學可以只看前半部分。

7、Envoy 開源五年的回顧(英文)

這是一篇長文,作者是開源專案 Envoy 的創始人,講述了這個專案是如何誕生和發展的,抒發了很多個人感想,值得一讀。網上有中文翻譯

8、JavaScript 如何遍歷樹結構(英文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

本文介紹了樹結構在 JavaScript 語言裡面如何遍歷,寫得淺顯易懂,解釋了廣度優先、深度優先等多種方法的實現。

9、GitHub Markdown 現在支援腳註(英文)

科技愛好者週刊(第 179 期):AR 技術的開啟方式

這篇是 GitHub 的官方部落格,宣佈該網站的 Markdown 語法現在支援腳註了,可以看看腳註怎麼寫。(@jwenjian 投稿)

工具

1、htmlq

一個命令列工具,可以從 HTML 程式碼裡面提取內容,類似於 jq 從 JSON 裡面提取內容。

2、Notion Avatar Maker

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個網頁工具,可以線上製作 Notion 風格的個人頭像。(@Mayandev 投稿)

3、DeepFaceLive

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個桌面軟體,進行深度學習訓練後,可以在視訊直播和視訊會議裡面實時換臉。

4、FSNotes

科技愛好者週刊(第 179 期):AR 技術的開啟方式

蘋果裝置的筆記軟體,支援 Touchbar 和 iCloud 同步,還可以 Git 版本控制和備份。

5、Windows 11 in React

科技愛好者週刊(第 179 期):AR 技術的開啟方式

該專案將 Windows 11 的桌面移植到網頁上,使用 React 開發。

6、PoW! Captcha

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個開源的網頁機器人識別服務(Captcha),通過工作量來識別。伺服器會傳送一個計算難題,要求客戶端進行計算,使得入侵指令碼的計算成本很高。

7、youtube-dl-gui

科技愛好者週刊(第 179 期):AR 技術的開啟方式

youtube-dl 的圖形介面封裝,支援多個視訊網站的視訊下載。

8、Ozzillate

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個很有意思的聲波傳送工具,將上傳的檔案轉成聲波,其它電腦從麥克風"聽到"以後,再將聲波轉回檔案。

9、BeMyEars

科技愛好者週刊(第 179 期):AR 技術的開啟方式

MacOS 應用,可以對系統播放的聲音(比如瀏覽器、視訊播放器、音樂播放器)進行語音識別,然後實時生成字幕。(@yujinqiu 投稿)

10、message-box

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個 Web Component 的訊息框元件。(@kingcc 投稿)

資源

1、雲媒體速覽

科技愛好者週刊(第 179 期):AR 技術的開啟方式

該網站收集了中國333個地級市的報紙電子版和電視直播網址。(@DiamonWoo 投稿)

2、公司作息時間表

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個民間眾包專案,使用者通過騰訊文件的表格,提交自己所在部門的上下班作息時間,可以用來了解不同公司的加班情況。(@erdong 投稿)

3、中等代數

一本英文的數學教材,講解中學代數,包括線性方程、指數函式、二項式定理等等,免費閱讀。

4、教娃程式設計視訊300天

科技愛好者週刊(第 179 期):AR 技術的開啟方式

一個工程師給娃講了很多數學和計算機知識的短視訊,詳見說明文章。(@DoctorLai 投稿)

5、路徑演算法的動圖演示

科技愛好者週刊(第 179 期):AR 技術的開啟方式

這個倉庫提供常見路徑演算法的動畫演示,一共有20多個演算法演示。(@DoctorLai 投稿)

圖片

1、高瀨川

1608 年,一個名叫角倉了以(Suminokura Ryōi)的日本商人,得到了一份合同,為京都的一座寺廟提供建築材料。

這件事的最大困難,就是無法把巨大數量的建材運到市中心。於是,他出錢請人挖了一條運河,從港口通到市中心。他用當地採石場的石頭鋪設岸堤和河底,由於他的船吃水大約15釐米,河的深度就翻一倍,定為30釐米。

1614年,這條長9.7公里、寬7米的運河挖好了,稱為"高瀨川"。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

這條運河一直沿用到1920年,基本上不需要維護,可靠地發揮著航運功能。1920年以後,停止了航運,變成了純粹的觀光河流,直到今天還保留著400年前建造時的樣貌。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

科技愛好者週刊(第 179 期):AR 技術的開啟方式

2、《解析數論導論》的封面

1976年出版的美國高等數學教材《解析數論導論》,封面是一張很奇怪的圖片。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

很多人以為,這張圖片只是一張普通的對稱圖片,但其實是有含義的。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

它畫了一個座標軸,x 軸和 y 軸都是0到17,每個點的座標(x, y)就是一個數值對。只要數值對的最大公約數不等於1 (gcd(x, y) ≠ 1),該點就會畫上一個方塊,否則為空。

舉例來說,原點(0, 0)的最大公約數為0,所以有一個方塊;而它旁邊的兩個點(0, 1)(1, 0),可以認為最大公約數為1,所以為空。

對角線上除了(1, 1),其它點的最大公約數都不等於1,所以這些點都有一個方塊。

文摘

1、谷歌如何收購 Android

Android 是谷歌公司的作業系統,但並不是谷歌從頭開發的,而是從一家小公司收購而來的。

最近,美國出版了一本新書,作者採訪了幾十位當事人,介紹 Android 的誕生內幕。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

Android 團隊最早的創業想法,是為照相機開發一個作業系統。但是,後來意識到手機會取代相機,成為主流的拍攝裝置,就轉而為手機開發作業系統。

2005年初,Android 團隊陷入困境,急需現金,開始尋找外部投資。

工程師就為當時的按鍵手機寫了一個演示程式,包括一個主螢幕和幾個應用程式,不過大部分都不能執行。毫不奇怪,這個演示程式與今天的 Android 相去甚遠。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

有了演示程式,他們又準備了一個 PPT,解釋他們的願景,然後就開始向潛在投資者推銷自己,試圖獲得投資。

這個 PPT 儲存到了今天,一共15頁。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

他們首先解釋了為什麼手機市場即將發生鉅變。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

2004年,全球個人電腦出貨量為1.78億臺,手機出貨量為6.75億部,幾乎是 PC 數量的四倍。這意味著,手機市場已經遠遠超過 PC 市場,並且還在高速發展。

但是,2004年手機的處理器和記憶體只相當於 1998 年 PC 的效能(200MHz 的 CPU 和 32MB 的記憶體),因此手機需要一個真正的、功能強大的作業系統。

而且,手機的硬體成本正在下降,但是軟體成本沒有下降,手機制造商迫切需要一個廉價的作業系統,從而降低軟體成本。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

手機制造商並不是軟體開發專家,沒有能力也沒有興趣,持續改進軟體,因此需要外部的軟體公司為他們提供作業系統。

Android 將是一個免費的手機作業系統,以開源的形式提供給手機制造商。手機公司能夠自由使用這個作業系統,不必依賴軟體公司,也無需自己來開發。

2005年的市場上,手機作業系統寥寥無幾。

  • 微軟的系統要得到許可後,才能移植。
  • 塞班(Symbian)系統主要由諾基亞使用,其它手機公司雖然可以用,但是無法與諾基亞競爭。
  • 黑莓的系統不能用於其他手機。

對於那些想要製造一款功能強大的智慧手機的製造商來說,根本沒有作業系統可用,要麼自己從頭開發,要麼支付高額許可費,使用那些專有的作業系統。然後,就會面對一個更大的問題:根本沒有應用程式生態,誰來為這些作業系統開發應用程式呢?

塞班系統允許外部應用程式,但是通用性很差,為一種型號手機寫的程式,無法執行在另一個型號上,即使兩部手機出自同一個製造商,它們的應用程式也不是通用的。

Android 希望提供世界第一個完整的開源的手機作業系統。它建立在 Linux 之上,為應用程式開發者提供單一的程式設計模型,同一個應用程式可以執行在使用該系統的所有裝置上,從而簡化開發。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

接著就是最困難、也是最重要的問題,Android 如何賺錢呢。如果這個開源手機作業系統,不能讓發明者賺到錢,怎麼吸引外部投資呢,又如何保證能夠持續開發呢?

Android 團隊設想,通過為手機制造商提供雲服務、以及應用程式的基礎設施(比如認證和加密)來盈利。後來的事實證明,谷歌果然是通過谷歌服務框架和 Play 應用商店來盈利。

創始團隊與很多風投進行了接觸,其中就包括了谷歌。谷歌邀請他們到總部來會談,兩位谷歌創始人拉里和佩奇都參加了。那次會議非常隨意,但是谷歌顯然對 Android 很感興趣。會議結束時,谷歌說:"我們想幫助你們。"

接著,Android 團隊去了亞洲,訪問了三星和 HTC,瞭解手機制造商的態度。三星說,如果美國的無線運營商能夠接受 Android,他們就願意推出基於 Android 的手機。HTC 則說,希望獨家合作,這個系統只授權給他們使用。團隊不願答應這個要求,但是後來推出的世界第一部 Android 手機,就是 HTC G1。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

從亞洲回來以後,谷歌又找 Android 團隊開會。這次會議來了更多的人。團隊原以為,谷歌想了解專案開發進展,但是演講進行到一半,谷歌打斷了他們,直接說:"我們想收購你們。"

谷歌表示,如果 Android 願意被收購,而不是接受風險投資,情況會好得多。這樣可以不必理會風險投資家的要求,也不必向客戶和運營商收取專門服務的費用,一心一意將作業系統免費提供給手機制造商即可。而且,手機內部還可以繫結谷歌的搜尋服務,谷歌會從搜尋獲得收入,這些收入可以與手機制造商分享,從而手機制造商會從 Android 獲利,因而有動力使用這個系統。

2005年7月,Android 正式加入谷歌。

幾周後,團隊再次在谷歌內部,向高管進行了宣講。當講到如何將 Android 貨幣化時,拉里打斷了演講者:"不用考慮這個,我只希望你們造出最好的手機,其餘的事情以後再說。"谷歌收購這個團隊的原因很簡單,就是希望通過它可以讓谷歌進入移動裝置市場。

言論

1、

飛行汽車結合了兩種完全不同的工程體系:它必須既能飛行,又能適應地面運輸的狹窄空間限制。

同時滿足飛行和地面運輸的各種安全和效率要求並非易事,這就是為什麼至今沒有公司能造出飛行汽車,最多就是造出點對點的飛行汽車,這種車輛通常沒有車輪,更像小飛機。

--《技術成功的規則》

2、

程式設計師沒有必要侷限在一種語言或工具。工具每天都在變化,只要新工具適合你的用例,就可以選擇它。你的標準應該是,選擇最能夠快速有效地解決問題的任何語言或工具。

-- 《下一個專案要用哪些工具》

3、

一個可執行的複雜系統,總是從一個簡單系統演變而來的。似乎可以因此推斷:從頭開始設計一個複雜系統,永遠不會奏效,必須從一個簡單系統開始設計。

-- 《加爾定律》

4、

大師並不是一開始就是大師。你把他們早期第一階段的作品找出來看看,就會了解他們取得了多大的進步。

-- David Perell

5、

不要對技術鑽牛角尖,要對如何獲取客戶鑽牛角尖。

-- Hacker News 讀者

歷史上的本週

2020年(第 128 期):這個社會是否正在變成"賽博朋克"?

2019年(第 76 期):任何愛好都能變成職業,只要你會拍視訊

2018年(第 25 期):安卓手機十週年的感想

訂閱

這個週刊每週五發布,同步更新在阮一峰的網路日誌微信公眾號

微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。

科技愛好者週刊(第 179 期):AR 技術的開啟方式

(完)