科技愛好者週刊(第 127 期):未來人人開發軟體,幾乎沒人編碼

阮一峰發表於2020-09-30

這裡記錄每週值得分享的科技內容,週五釋出。( 本週五是十一假期,週刊提前到週三釋出。)

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

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

封面圖

西班牙藝術家胡安•蓋瑞扎博 (Juan Garaizabal)的作品《永恆之門》,正在上海靜安雕塑公園展出,18級臺階通向一個空中之門。(出處

本週話題:未來人人開發軟體,幾乎沒人編碼

現在,少兒程式設計培訓班很流行,一到週末,家長們就送孩子去學計算機。

雖然我很贊成從小學習計算機,但總感到有點疑惑: 程式設計正變得越來越容易,門檻越來越低,小朋友們真有必要犧牲週末的睡眠和體育時間,專門去學程式語言(比如 Python)嗎?

上個世紀要當程式設計師,你必須懂組合語言。到了如今,程式設計幾乎已經沒有門檻了,大多數人一天內就能學會,怎麼寫一個簡單的網頁 JavaScript 指令碼。那麼,你告訴我,未來會怎樣?

再過15年或20年,等到現在的小孩進入就業市場,程式設計可能已經變得極其傻瓜化、智慧化,也許只需要動動嘴,說出你想要什麼程式,人工智慧就自動生成了程式碼。

那時還會有程式設計師,但是人數應該很少,而且只負責編寫底層程式碼,就像今天的組合語言程式設計師非常少一樣。因此我懷疑,孩子們沒必要專門去學程式設計,因為未來可能根本不是今天這樣程式設計。

大家知道嗎,世界上使用者最多的程式設計工具是什麼軟體?

答案是 Excel。無數財務人員、管理人員、銷售人員都在用它,解決各種問題,儘管他們根本不懂程式設計。

我覺得,這就是未來程式設計工具的趨勢,你不需要或者只需要懂一點點程式碼,就能做出軟體,解決你的問題。最近正在興起的"低程式碼"(low code)和"無程式碼"(no code)工具,正好呼應了這種趨勢。未來人人都是軟體工程師,都能夠做出自己需要的軟體,但是幾乎沒人知道如何程式設計。

JavaScript 學習影片

本週的課程資料是 開課吧 提供的《JavaScript 學習影片》。

在可見的時間裡,JavaScript 語言都會是前端最重要、最基礎的技能。不管你打算開發什麼(Web、Node.js、還是小程式),JavaScript 都是繞不過去的,屬於必須掌握的基本技能,就像物理研究繞不過去數學一樣。只要你面試前端崗位,JavaScript 技能是必考的。

JavaScript 的難度並不低,有著各種怪異的語法點,而且語法還在快速發展中,TC39 委員會每年都釋出一個語言的新版本。只有掌握了基礎語法,才跟得上頂層框架的各種變化,以不變應萬變。

下面的影片課程,就是講解幾個特別重要的語法點和開發技巧,幫助你更好地理解這門語言。課程內容涵蓋四大模組,課程時長達到300分鐘!

  1. this 關鍵字的指向
  2. 基於防抖(debounce)和節流(throttle)的效能最佳化
  3. 響應式資料雙向繫結的原理剖析
  4. 基於 Web Component 的元件化開發

手機掃描下面的二維碼,就可以 0元領取 這套影片了 。只有 100個 名額,先到先得。

資訊

1、眼神校正功能

蘋果的視訊通話服務 Facetime,將正式啟用眼神校正功能。視訊通話時,對話者的眼神往往不是看著攝像頭,而是看著螢幕或其他地方。這項功能可以自動修改眼神,讓它看上去直接注視著前置攝像頭,好像正在與另一方發生眼神交流。

這項功能在 iOS 13 的 Beta 版本開始測試,當時稱為"注意力校正",但沒有包括在 正式版本中。iOS 14 重新將其引入,並在頁面上列為正式功能。

2、根據 DNA 生成畫像

美國弗吉尼亞州的一家遺傳學公司,正在開展根據 DNA 畫出犯罪嫌疑人畫像的服務(上圖)。他們根據犯罪現場得到的 DNA,進行資料庫查詢,找到相似的 DNA。理論上,DNA 相似的人應該具有血緣關係,長相很可能接近,就可以根據親戚的長相畫出嫌犯的長相。

該技術已經幫助警察偵破了一些久遠的懸案,比如1987年一對加拿大夫婦被謀殺。但是,這已經在美國引起了巨大的爭議,很多人認為這會侵犯隱私,不應該允許警方用 DNA 查詢你的血緣關係。

3、推特的影像預覽 Bug

一個推特使用者發現,如果上傳的圖片中同時包括黑人和白人,推特的影像預覽總是向使用者呈現白人。下圖是上傳的原圖,無論奧巴馬的頭像在上方或下方,最後的預覽總是上圖的樣子。

推特官方表示,將調查使用的人臉識別模型。

4、大象死亡之謎

今年五六月間,波札那西北部的國家公園內,約330頭大象突然死亡,一直找不到原因。最近,政府宣佈這些大象死於一種神經系統疾病,可能由於飲用了被有毒的藍藻汙染過的水。

官方解釋由於降雨,國家公園內會有一些季節性水塘,大量繁殖的藍藻使得水塘充滿細菌。當水塘乾涸以後,大象死亡就停止了,所以這可能就是死因。波札那估計擁有13萬頭大象,是世界上最大的大象種群,每年吸引著大量遊客。

5、人臉識別垃圾桶

北京市西城區德勝街道新風街一號院上線了人臉識別垃圾桶。居民預先提交一張個人臉部的照片,就能完成註冊。以後扔垃圾時,垃圾桶將用數秒的時間自動"刷臉"。在識別出居民身份後,垃圾桶蓋開啟,還能根據垃圾重量為居民返還一定積分。

對於沒有註冊的居民,可以手動按下按鈕或刷卡,開啟垃圾桶蓋。

6、一句話訊息

  • 中國發行首枚內嵌 NFC 晶片的郵票。集郵者可透過中國郵政 App 讀取郵票序列碼、熒光暗碼、晶片 ID 等等。

  • 小米申請了三折式摺疊手機專利,完全展開後,螢幕可以變成三倍大。只是手機厚度驚人,更像充電寶。

  • 亞馬遜推出了雲遊戲服務 Luna,跟谷歌的 Stadia 很像,就是在機房執行遊戲,使用者不需要買主機,只要有上網裝置就能玩。這個服務有可能進中國。

  • 中國宣佈,2060年實現碳中和,即二氧化碳的排放量和吸收量相等。由於中國是世界最大碳排放國,這個承諾的難度很大。此前,拜登說當選後,美國會在2050年實現碳中和,川普則根本不在乎這件事。

  • 美國人由於疫情在家辦公,每天全國可以節省6000萬小時。這些時間本來都是浪費在路上,現在可以用來幹其他事。

  • 芝加哥商品交易所開設水期貨合約,可以對水價下注。由於氣候變暖和水資源短缺,未來的淡水價格可能出現劇烈波動。

文章

1、如何提高 Node.js 的 libuv 效能(英文)

Node.js 的底層 JS 引擎是 v8,非同步庫 是 libuv。本文介紹一個小技巧,透過設定UV_THREADPOOL_SIZE引數,提高 libuv 效能。

2、俄羅斯的圖-160用25小時飛了2萬公里,這是不是一項假紀錄?(中文)

2020年9月19日,俄羅斯的兩架Tu-160戰略轟炸機進行了一次攜彈訓練飛行:歷時25小時,飛行超過2萬公里。俄羅斯航空航天部隊遠端航空兵指揮官謝爾蓋·科比拉什中將說:這次飛行打破了此類飛機"最遠航程"和"不間斷飛行"的世界紀錄。果真如此嗎?

3、前端開發的 VS Code 外掛推薦(英文)

作者推薦他每天使用的 VS Code 外掛,專門用於前端開發。

4、別在網頁上顯示"註冊"(英文)

很多網站在頁面上有註冊按鈕或註冊連結(上圖),作者認為,"註冊"這個詞大大降低了使用者進一步使用的慾望,因為這要求使用者付出操作成本,但沒有給出足夠的誘因。

經過他的實驗,只要將"註冊"改成"開始使用"或"免費試用",就能將轉化率提高三倍。

5、11 種 Node.js ORM 庫的簡介(英文)

作者介紹了11種常用的用於連線資料庫的 Node.js ORM 庫。

6、如何透過new Function建立 async 函式(英文)

JavaScript 語言允許透過Funtion()生成函式,async 函式能透過這種方式生成嗎?

7、Intl.RelativeTimeFormat():相對時間格式化(中文)

有時需要顯示相對時間,比如"5分鐘前"、"2天前"等等。一般使用外部庫來實現,其實瀏覽器原生的 Intl.RelativeTimeFormat API 就可以做到。(@232650413 投稿)

8、如何寫一個 Node.js 命令列程式,獲取 Slack 的 OAuth 授權?(英文)

本文是一個 OAuth 授權示例,演示如何用 Node.js 在命令列獲得 Slack 的授權,從而可以操作 Slack 的 API。

9、互動式《蒙娜麗莎》畫像(英文)

傳說中,不管你從哪個角度看《蒙娜麗莎》畫像,都會感到畫像中的女子在看著你。TensorFlow 的官方部落格,演示怎麼用 TensorFlow.js,製作一個互動式的《蒙娜麗莎》畫像,攝像頭捕捉觀看者的角度,然後自動改變畫像的眼神。

工具

1、Tables

谷歌釋出的新產品,主要用於專案管理。跟 Trello 有點類似。

2、photoflare

跨平臺的影像編輯桌面軟體,相對小巧簡單。

3、visx

Airbnb 推出的一套資料視覺化元件庫,基於 D3 和 React。

4、Release

一個 Node.js 庫,一鍵生成軟體包的 changelog。

5、Blacklight

一個線上工具,可以檢查某個網站使用了哪些追蹤技術。

6、Wewatermark

一個線上工具,可以為圖片加上各種各樣的水印。

7、Headless recorder

一個 Chrome 瀏覽器外掛,自動記錄你的操作,轉成 Puppeteer 或 Playwright 指令碼,從而實現瀏覽器操作自動化。

8、wave-share

一個概念性專案,兩臺計算機透過聲波通訊!A 計算機把資料轉成音訊,透過喇叭發聲;B 計算機聽到後,對聲波解碼,從而與 A 建立 WebRTC 的點對點連線。要不是這種通訊速率太慢,透過聲波分享檔案也未嘗不可。

9、Pixelixe Photo Editor

一個 Chrome 瀏覽器外掛,在瀏覽器裡面開啟一個圖片編輯器。

10、Taskwarrior

一個命令列的待辦事項(todo)管理軟體,功能相當強。(@nosarthur 投稿)

資源

1、Malware Bazaar

惡意軟體資料庫,提供惡意軟體樣本下載。

2、CurrentlyDown.com

該網站可以查詢,哪些服務現在正在當機,以及當機的歷史記錄。

3、Flexbox Defense

一個線上的塔防小遊戲,透過 CSS Flexbox 的練習,擊退一波波進攻的敵人。

4、WebRTC 教程

一本英文的免費電子書,介紹 WebRTC 的基礎知識。

圖片

1、一天的毫秒數

下面計算式的結果,就是一天的毫秒數。

這個式子的來歷如下。

2、勞拉的變化

電子遊戲《古墓麗影》主人公勞拉,從1996年第一代到2018年最新一代的變化。

文摘

1、個人護城河

我最喜歡的職業建議是發展"個人護城河"。

你的個人護城河是一組獨特的且不斷累積的競爭優勢,別人很難學習,或者很難做到。如果你有了它,你會讓自己變得無法取代。

你必須找到屬於你的特殊東西,而且這些東西會隨著時間的流逝而增加價值。

如何找到自己的護城河?

你可以問自己:對我來說,什麼事情容易做,而對別人卻很難?我所擁有的技能中,哪些是其他人模仿會非常困難的?或者,你所愛的、擅長的事物,跟社會需要的事物有什麼交匯點?

護城河會隨著條件的變化而變化。比如,錄音技術誕生之前,稀缺的是音樂本身,你想聽音樂,就需要有一個藝術家給你現場表演。現在,音樂錄音到處都是,稀缺的是策劃、發行和個性的展示。

同樣地,在社會中,以前的稀缺資源是金錢和特殊關係。而在網際網路時代,稀缺的是特定知識和某些稀有技能。

漫畫家斯科特·亞當斯(Scott Adams)曾經提過一種建立個人護城河的方法,就是找到自己最擅長的2個~3個事物的交集。比如,他既不是最好的漫畫家,也不是最好的作家,也不是最好的企業家,但他可以是最好的商業類漫畫短文作者,這就是他的護城河。

總之,你要發現對你來說容易而對他人卻很難的事物,並在這些事物上變得出色,然後利用它來積累社會和金融資本。

2、《國家地理》雜誌:石峁遺址之謎

幾十年來,黃土高原北部石峁村的村民,一直認為村裡塵土飛揚的山丘上,那些搖搖欲墜的石牆,不過是古代長城的一部分,並沒有什麼特別。

但是,2012年開始的系統挖掘,證實這裡曾經有過一座皇城,距今約4000年,史書沒有任何記載,是目前已知的中國史前文明最大的遺址,為中華文明的起源帶來了許多未解之謎。

石峁遺址出土了大量玉器,做成圓盤、劍刃和節杖的形狀。當地並不產玉,這些玉器要麼來自貿易,要麼來自戰爭的掠奪。如此大的數量,證明這個城池地位非凡。

最奇妙的東西就是4000年前遺留下來的宏偉城牆,總長將近10公里,城牆內有一個高達70米金字塔形建築,大約是埃及大金字塔一半的高度。金字塔平臺上方是龐大的宮殿建築群,宮殿建築內有壁畫、玉器、彩繪,以及人類遺骸,表明這裡進行過祭祀。

城牆上還發現了70幅令人驚歎的浮雕雕塑,形狀是野獸的獸頭。

碳14法判定這個遺址可以追溯到4300年前,跟埃及金字塔是同一時間,比長城最古老的遺蹟要早2000年,比現在已知最早的中原文明遺址(夏朝遺址)要早500年。而且,它的位置在那些夏朝遺址以北幾百公里,表明中原文明來自北方。

遺址的建築規模如此龐大,僅僅城牆就需要125,000立方米的石材。這意味著,這個城市的人口很多,大概在10,000至20,000之間。

這個遺址的繁榮期是從大約公元前2300年到公元前1800年,將近500年。然後,它突然被神秘地廢棄了,原因很可能是氣候。公元前3000年,石峁遺址成立時,黃土高原還是相對溫暖潮溼的氣候。歷史記錄表明,從公元前2000年到公元前1700年,氣候迅速轉變為更加乾燥和涼爽。湖泊乾枯、森林消失、沙漠侵襲,迫使人們離開石峁南遷。

如今,石峁遺址靜靜地躺在鄂爾多斯沙漠的邊緣,被灰塵、土石和寂靜所籠罩。但是,這座世界上最古老的城市之一,正在被慢慢揭開面紗,將讓我們對中華文明的起源有更多的瞭解,顛覆現在的許多觀點。

言論

1、

如果你無法將產品的價格翻倍,那麼你的產品就不佔有市場優勢。

-- 《創業公司的功夫》

2、

蘋果公司在釋出新的作業系統(iOS、iPadOS、watchOS )之前,都公開了測試版,但是等到正式版上市,並沒有多少改進,依然有很多 Bug。

那麼,公開測試版的意義何在?真的是為了提高正式版的質量嗎?......無論最初的目的是什麼,公共測試版現在都是一種營銷工具,一種大肆宣傳新版本、並讓蘋果愛好者購買與新版本一起釋出的新產品的方式。

-- 《蘋果軟體的測試版》

3、

關聯式資料庫有兩個優勢,一個是節省儲存空間,另一個是可以跟蹤複雜的資料關係。

但是,現在的儲存裝置很便宜,反而是 CPU 的處理時間更貴。所以,我建議客戶,如果不需要處理複雜的資料關係,那就避免使用關係型資料庫,而使用 NoSQL 資料庫。

-- Hacker News 讀者

4、

有一種說法,年齡在35歲以上的人,建立學術影響力的唯一機會是編寫一本教科書。

-- Mark Seemann

5、

理性的人使自己適應世界,不理性的人不願意妥協,堅持要求世界適應他的方式。因此,一切進步都取決於不理性的人。

-- 蕭伯納

6、

Zoom 之類的遠端會議軟體已經成為標準,疫情結束後,很多商務旅行永遠不會回來了。

-- Hacker News 讀者

回顧

2019年的本週(第 76 期):任何愛好都能變成職業,只要你會拍影片

2018年的本週(第 24 期):新人進入軟體行業的建議

訂閱

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

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

(完)

相關文章