本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖
上海中環的一根高架柱子上面,畫著一匹巨大的斑馬。(via)
本週話題:五菱汽車的產品設計
很多年前,我就知道五菱汽車。大學時,一個廣西同學去了那裡就業,從此我就記住了,柳州有一家汽車廠。
當年,它很不起眼,主要生產麵包車。據說,模仿的是日本三菱麵包車,連牌子和名字都模仿了人家。
但是後來,這家公司逐漸擺脫了模仿,開始生產原創的家用轎車,發展得越來越好,成了全國知名品牌。尤其是近兩年的幾個車型,簡直令人刮目相看。
寶駿 E300。
宏光 Mini EV。
皮卡和房車。
這些車的造型和外觀設計,十分新穎和別緻,完全原創,明顯有一套自己的設計語言,非常吸引眼球。
要知道,它們都是低價車,定價幾乎是同類車的下限,房車十幾萬,其他車幾萬塊,配置都很低端。這就是我覺得不簡單的地方, 明明是廉價貨,可是看上去一點都不廉價,反而有點氣派。
舉例來說,很多年輕人,尤其是女性,購買五菱宏光 Mini EV,作為代步車。但它的配置和價格,跟有一些四輪的老年代步車差不多。那些老年代步車讓人覺得很簡陋,年輕人幾乎不可能購買,但是五菱重新設計和包裝以後,就開啟了市場。這就是厲害的產品設計。
把廉價的東西做得很廉價,那不叫本事; 把廉價的東西做得很輕盈,那才叫本事。
所謂"輕盈",就是簡單優雅,在物質上節省材料和能源,在精神上追求自由。廉價的東西,原來只能吸引低端的顧客;做得輕盈以後,就能吸引到高收入的顧客。
我覺得,五菱汽車是一個好例子,值得軟體開發者學習,怎麼把產品做得簡單而不簡陋,輕盈而不笨重。
Vue 3 和 React 17 的原始碼比較
React 和 Vue 是國內最流行的兩個前端框架,孰優孰劣的爭論,就從來沒有停息過。只要有人提一句:"我覺得 A 比 B 更好",下面肯定就是一堆回帖。
- " Vue 只適合小專案,大專案扛不起來"
- " React 元件太複雜,程式碼組織亂!"
- " Vue好上手,崗位多"
- " 大廠基本都用 React,不用 Vue "
其實大可不必,它們各有特點,都能解決前端開發的問題,你只要選擇更適合自己風格的那種就可以了。這就像不同品牌的汽車,都能開到目的地,只是你開起來順不順手而已。
不過,這兩個框架的對比和爭論,並非全無意義。
本週的課程資料,就是兩大框架的對比 《Vue 3.0 和 React 17 原始碼剖析比較》 資料包。它從框架原理開始講起,分析各自的設計思路,再到現實業務場景的適用性,最後抽象二者的底層實現,層層遞進,幫你掌握這兩個框架的異同。
下面就是資料包的主要內容。
它比較適合前端入門不久、對主流框架還不夠熟悉的同學。可以幫助學習者掌握 Vue3 和 React17 設計思路和麵試技巧,也能對比框架生態,瞭解技術選型方法論,探究框架原理。
資料包由國內著名培訓機構"開課吧"提供,編寫者大聖老師(盛鑫晶)是前百度、360 的前端架構師,精通 Vue 和 React 開發,也是 Vue 3.0 原始碼的貢獻者。
主辦方為了推廣品牌,現在向週刊讀者贈送這個資料包。微信掃描下方二維碼,就可以免費領取。
掃描後,記得新增助教老師微信。當天,老師就會把資料包發給你,數量不多,歡迎掃碼領取。
科技動態
1、閃爍燈光的程式碼
有人發現,2020年釋出的遊戲 Alyx,裡面地下室的閃爍燈光,跟1998年發售的《半條命》是一樣的,說明它們使用的是同樣的程式碼。
大家仔細看下面的遊戲影片,兩者閃爍燈光的模式和頻率完全一樣。
它的程式碼實現,是使用一個字串mmamammmmmammamamaaamammma
表示燈光亮度變化的順序,a 表示暗,m 表示亮。這個技巧最早是1996年 John Carmack 在雷神之錘(Quake)裡使用的。
2、奧運村的遙控器
加拿大網球運動員來到東京參加奧運會,住進奧運村後,就遇到了麻煩。空調遙控器竟然只有日文,完全看不懂,她只好在網上發文求助。
網友紛紛給她出主意,用手機翻譯軟體拍照就可以了。但是,這件事反映了組委會的疏漏,以及空調廠家的設計完全沒有考慮外國使用者。
3、沼氣摩托車
一個荷蘭藝術家將一輛二手摩托車,改建成使用沼氣(主要成分甲烷)作為燃料。摩托車的尾部掛了一個大瓶子,用來儲存沼氣。
加氣時,需要使用一個特殊裝置,到池塘和溝渠去收集有機物質分解或腐爛所釋放的甲烷。
收集8個小時的沼氣,可以行駛20公里。這個專案的主要目的,是為了提醒公眾環境保護。
4、交通訊號燈
1914年,美國城市克利夫蘭安裝了人類第一個交通訊號燈,從那時到現在,基本樣子沒變過。一家俄羅斯設計公司,最近提出了新的訊號燈設計。
這種訊號燈就是一整塊液晶皮膚,透過背景色的變化,來提示紅燈、黃燈和綠燈,並用勾、叉和感嘆號等輔助符號,加強注意力。
它還會顯示剩餘的秒數,以及綠燈時可通行的道路走向。
5、
《紐約時報》報導,越來越多的美國年輕人拍一段自己的短影片,放在 TikTok 上面求職,請求看到的人轉發。
這比 A4 紙的簡歷效果好多了,值得借鑑。大家完全可以在簡歷上印一個自己影片的二維碼。
6、3D 列印的汽車配件
福特公司在美國新發布的 Maverick 皮卡汽車,車內的大量配件都沒有提供實物,而是提供了 STL 原始碼檔案,讓車主自己去 3D 列印,有一點"毛坯車"的意思。
可以列印的配件包括杯架、儲物箱、垃圾桶、繩索組織器、掛袋的雙鉤、座椅下的儲物隔板等等。福特公司說,還會發布更多可 3D 列印的配件。
這樣做有幾個好處,一是降低了車輛的出廠價格,二是使用者可以根據自己的喜好,決定列印哪些配件,以及使用什麼材質。另外,外部廠商也可以根據公開的介面,生產第三方配件。
7、
一位設計師提出,瀏覽器的視窗標籤應該可以改變位置,放置在瀏覽器的左右兩側,就像活頁夾一樣。
我覺得,這種設計對寬螢幕顯示器很有意義。
文章
1、JavaScript 新增的運算子(中文)
本文介紹 ES6 的後續標準為 JavaScript 新增的七個運算子,其中包括最新的 ES2021 標準增加的三個運算子。
2、軟體未來的10個預測(英文)
一個雲端計算專家預測軟體未來的10個變化,可以當作一家之言看看。
3、如何向美國政府索取入境照片(英文)
外國人每次進入美國時,需要拍照並掃描指紋。根據美國法律,可以向美國政府索取這些資訊的副本。本文記錄作者是怎麼做的。
4、Haskell 語言入門第一步(英文)
這篇文章介紹怎樣動手嘗試 Haskell 語言,並寫一個簡單函式,內容清晰易懂 。
5、關於微控制器的知識(英文)
當代計算機越做越小,符合馮諾依曼架構的全套計算裝置,已經可以做進一塊晶片了,這種晶片式的計算機稱為"微控制器"。本文介紹微控制器的基本知識。
6、最糟糕的音量控制介面(英文)
本文收集各種極其難用的音量控制介面設計,有點惡作劇性質,比如上圖。
7、JS 指令碼如何正確檢測使用者的裝置(英文)
使用者經常使用偽裝的 User-Agent 標頭,隱藏自身的資訊。本文給出了各種思路,如何用 JS 指令碼,正確檢測使用者的上網裝置。
8、Suspense 和 React.lazy() 用法示例(英文)
React 16.6 版本引入了 Suspense 元件,用於生成動態載入元素的過渡效果。本文給出了一個完整的示例,介紹它配合 React.lazy() 的用法。
工具
1、Orbit
一個 React 的元件庫,由旅遊網站 Kiwi.com 設計,帶有旅遊休閒的風格。
2、Feed me up, Scotty!
這個工具使用 CSS 選擇器,從任意頁面提取想要的內容,透過 GitHub Actions,自動生成該頁面的 RSS。
3、transfer.sh
這個開源工具允許自己架設服務,從命令列分享檔案給其他人,也可以直接使用官方的線上版。
4、MoviePy
一個影片編輯的 Python 庫,可以方便地編寫指令碼,進行各種影片操作,基於 ffmpeg。
5、Ampache
一個開源的流媒體伺服器,允許遠端訪問託管的音訊和影片檔案,有點類似於 Plex。
6、Mobian
手機版的 Debian 系統,可以安裝在指定型號的手機上,現在支援一加 6 和 Poco F1。
7、push-bot
一個基於 wechaty 的微信推送機器人,可以用指令碼向微信推送訊息。(@tans 投稿)
8、織信
一個面向企業使用者的低程式碼平臺,幫助企業不用寫程式碼,就能搭建管理系統、業務平臺、企業官網等,有免費使用的版本。(@hopper20 投稿)
資源
1、網路迷蹤
炒飯社群的一個板塊,網友上傳照片(比如上圖),請求幫助找出這是在哪裡拍的。(@cijianzy 投稿)
2、Mac 電腦如何設定開發環境(2021版)(英文)
一個程式設計師買了新的 Mac 電腦,用於全棧開發。他詳細記錄了,如何將這臺電腦設定成開發環境。
3、微軟 Rust 語言初學者教程
微軟公司推出 Rust 語言影片教程,一共35講,每一講都是幾分鐘的短影片,存放在 Youtube 上面。
4、Pitch Deck Hunt
創業公司向投資者和使用者介紹自己的 PPT,叫做 Pitch Deck。該網站收集了150多家著名公司早期的 Pitch Deck,可以用來當作模板。
圖片
1、地下小鎮
澳大利亞南部內陸有一個名叫庫伯佩迪(Coober Pedy)的小鎮。它最初是一個蛋白石礦場,現在已經停止開採了。
該鎮的夏季地表溫度接近50攝氏度,為了躲避酷暑,許多居民都搬到地下的礦洞裡面居住,已經有100年曆史了。
當地的地面上,到處都是煙囪和通氣孔。
人們則是在地下安家,客廳、臥室、廚房,一應俱全。
酒吧、教堂、商店、旅館、娛樂設施等也在地下,整個小鎮可以都在地下運作,不到地面活動。
2、自動合影機
美國達拉斯牛仔隊的體育場裡,有一個自動合影機,球迷可以挑選自己喜歡的體育明星合影,非常酷。
我預感,國內很快就會出現類似的機器。
文摘
1、一個人可以有多少個朋友?
英國人類學家羅賓·鄧巴(Robin Dunbar)提出過著名的"鄧巴數"的概念。
他認為,由於人類大腦的容量,一個人能夠保持的友誼關係是有限的,平均大約為150人。大腦認知功能比較強的人,會有更多一點的朋友。
下圖就是他的理論。
(1)你最貼心的朋友,平均是1.5個,很可能是你的伴侶。
(2)你的親密朋友大約是5個,如果你遇到困難,他們會放下一切來支援你。
(3)你的至交平均是15個,他們是你的主要社交夥伴,你足夠信任他們,會想著跟他們一起吃飯、旅行,交流生活經驗。
(4)你熟悉的朋友是50個,如果你在家裡舉辦週末大燒烤,會邀請他們。
(5)你的普通朋友是150個,你舉行婚宴的時候,他們會參加。
(6)你認識的人大約是500個,路上見到,會打招呼。
(7)你記得住名字的人是1500個。
(8)你對臉有印象的人是5000個。
之所以會有這些層,是因為一個人的社交時間和精力是有限的。你不得不選擇,如何分配這些時間,與哪些人共度。
他還有其他一些推論。
(1)一般來說,內向的人在每一層的朋友數,都比外向的人少。
(2)與一個陌生人成為好朋友,大約需要相處200個小時。
(3)隨著年齡的增長,朋友關係變得越來越難以建立,每一層的朋友數字都會下降。
(4)墜入愛河會讓你減少兩個好朋友。
言論
1、
年輕時,我犯的最大錯誤,就是沒有及時離職。我以為我必須向公司證明自己,然後再離開,但這其實沒有任何意義。你不欠僱主任何東西,不必向僱主證明任何事情。他們對你絲毫沒有忠誠度,對你做對或做錯、是聰明還是愚蠢,毫不在意。
把時間用在你最終不會引以為豪的東西上面,是一件可怕的事情,浪費了你在地球上的短暫旅程。
-- Hacker News 讀者
2、
新手作家追求寫得聰明,專業作家追求寫得清晰,大師追求引起讀者靈魂的共鳴。
-- David Perell
3、
上週俄羅斯西北部的氣溫高達35度以上,持續了好幾天,那個地方在北極圈裡面,晚上太陽幾乎不下山,沒日沒夜的高溫暴曬,簡直是對人的折磨。
-- Hacker News 讀者
4、
創業者要做兩件事:第一件是弄清楚要做什麼,第二件就是去做。
但是,大多數創業者不認為第一件事很重要,如果花費一天時間思考,試圖更好地理解一個問題,他往往覺得那一天是浪費掉的,沒有行動力。
-- 《動作要快,但要先了解問題》
歷史上的本週
2020年(第 118 期):高考志願怎麼填
2019年(第 66 期):創業不是零和遊戲
2018年(第 15 期):週刊的內容從何而來?
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)