這裡記錄每週值得分享的科技內容,週五釋出。([通知] 下週歡度春節,週刊暫停,2月11日恢復。)
本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖
第41屆全國專業冰雕比賽,1月6日開始,在哈爾濱市兆麟公園舉行。冰凍的湖面上,藝術家們雕刻自己的作品。黃昏時,雪地上亮起燈光,宛若仙境。(via)
本週話題:前端與後端,誰更難?
"駭客新聞"(Hacker News)是美國最大的程式設計師社群,我每天都看,週刊的很多內容就來自那裡。
有一天,我看到一個帖子。
一個前端程式設計師說,他不想幹前端了,諮詢大家意見,轉到後端是否可行。
我從2007年開始從事前端開發,到了現在,很多新技術已經不擅長了。每次開啟 Chrome 開發者工具,看到那些我不知道的新功能,我總是選擇忽略。
很多我熟悉的工具和功能,都已經或將被棄用。現在的前端開發都在 npm 環境,經常有難懂的報錯,好不容易搜到答案,又要花很多時間修復本地開發環境。
即使那些最簡單的任務,現在的開發方式也比以前複雜,要考慮很多邊界場景。我能夠完成的工作,不斷得縮小。
我失去了繼續在前端工作的信心,轉到後端,會不會容易一些。
簡單說就是,他覺得前端越來越難,自己跟不上,無法堅持下去了。他想知道,後端會不會更容易一些,轉成後端開發是否可行?
可以想象,討論這種問題,一定是眾說紛紜。
原帖下面,各種意見都有。支援的一方說,前端現在確實變得非常複雜,技術工具的更新速度太快,開發和維護的難度超過了後端。
反對的一方說,後端也很難,如果你適應不了 Node.js,改行寫 C++/Java/Go 也會很痛苦,千萬不要草率做決定。
難易是主觀感受,沒有辦法精確衡量,人與人之間不可比較。所以我覺得,討論這種問題,不可能有統一的看法。
但是,我很喜歡下面這個發言,說出了前端與後端有一個重要差異,往往被忽視。
前端的問題不是難,而是它面對終端使用者。只要使用者的喜好和口味發生變化,前端就必須跟上。
這導致前端不得不快速變化,因為使用者的口味正在越來越快地改變。
後端不需要面對終端使用者,需要解決的都是一些經典的電腦科學問題,比如演算法和資料結構。這些問題很少變化,可以利用以前的研究成果,所以變化速度慢得多。
這段話的意思是,前端和後端的差異,不在於難度,或者說各有各的難,而是所要解決的問題不一樣。
前端的特徵是混亂、嘈雜、易變,因為這些都是終端使用者的特徵,前端需要匹配使用者。 如果你不適應混亂、嘈雜、易變的開發,你就很難適應前端。
後端面對的是硬體、演算法和資料結構,所以比較穩定。但是會涉及到電腦科學、語言設計、編譯原理等高深的內容,想要搞懂這些東西,絕非易事。
所以,你判斷自己適合前端,還是適合後端?除了考慮現實因素和外部環境,也要考慮自己的性格愛好。實話實說,如果性格比較安靜,喜歡思考抽象和理論的問題,這個人可能不一定適合前端。
大家怎麼看這個問題,你會給他什麼建議?如果讓你回到從前,你會選擇從事前端還是後端?
給孩子的財經小課
這裡的很多讀者已經為人父母,有了小朋友。
小朋友的特點,就是喜歡提問,各種各樣的問題都有。如果是宇宙奧秘、大自然的問題,那還容易回答,如果是社會經濟的問題,反而不容易回答。
不信的話,看看下面這些小朋友的問題,你能回答嗎?
- 為什麼有最低工資?
- 為什麼每個電影院都會賣爆米花?
- 當了電競選手,是不是玩遊戲也能賺錢?
- 國家多印錢,大家都會變富嗎?
本週向大家介紹一檔音訊節目 《給孩子的財經小課》,專門為小朋友製作,解答各種社會經濟問題,增加小朋友的經濟知識,進行財商教育,幫助他們理解社會,培養思辯能力。
主講人是孫明展老師。他是週刊的老朋友,也是財經專家,中山大學科班出身,先在世界500強保險公司工作,後來辭職開了一家理財諮詢公司。
他家有兩個小朋友,一個12歲,另一個6歲。他經常回答大兒子的問題,久而久之就產生了一個念頭:為什麼不錄製成音訊節目,講給更多的孩子聽呢?
他從2020年開始錄,每週錄一期。第一年結束以後,很多小朋友都很喜歡,追著聽連載,一些家長說自己也受益匪淺。2021年,他又接著錄製了第二季。下面是其中的一些標題。
這個節目的宗旨就是希望,讓小朋友從生活小事瞭解經濟學,瞭解世界如何運轉,開啟理性思維和財經思維。如果家裡的小朋友,正在上小學或初中,聽了應該很有幫助。家長也可以一起聽,不僅增加跟孩子的溝通,本身也能增加一些經濟知識。
大家可以去"飛慕課"試聽(最好使用桌面電腦訪問),免費的內容有20講(含第一季和第二季)。如果覺得講得不錯,可以付費解鎖所有內容。第二季的《給孩子的財經小課》原價199元,週刊的讀者只需要69元!
這個價格包括第二季的所有52期節目,都是線上音訊的形式,每節課10-20分鐘,可以隨時無限次回聽;還包括額外的4次直播課,讓孩子跟孫老師直接互動。另外再附贈第一季的55期節目,以及一本精美的財商書籍。
微信掃描上方二維碼,或者點選這個連結《給孩子的財經小課》,就可以試聽和購課。付款的朋友,別記了新增助教微信,免費領取禮品:第一季財經小課 + 精美財商書籍。
科技動態
1、最老的唱片出版者
美國鋼琴家露絲·史蘭倩斯卡(Ruth Slenczynska)已經97歲了,她定於今年3月18日發行一張新的專輯。這使她成為世界上年齡最大的發行專輯的人。
她曾經是一個鋼琴神童,四五歲時就出名了。她5歲登臺表演的影片,今天還能在 Youtube 上看到。這段影片是1930年拍攝的,整整92年前。這意味著,她大概是目前還活著的、曾經出現在最古老影片裡面的人。
2、浮動房屋
荷蘭是一個窪地國家,大部分國土不高於海平面,所以經常淹水,並且住房短缺。該國建築師正在嘗試,在水面上架設住宅。
他們在首都阿姆斯特丹的河道里面,建了46套浮動住宅。這種房子架在鋼柱上面,可以隨著水位上下浮動,所以不擔心漲水。
每套住宅都有浮橋與岸邊相連,配有太陽能供電,以及廢水處理系統,儘量實現水電自給自足。
3、病毒檢測新方法
檢測新冠病毒的方法,目前主要是核酸。缺點是需要主動去測試,如果你不去測,就不知道是否感染了。這樣很難提前發現。
耶魯大學的團隊,發明了一種新方法,即使當事人沒有察覺,也能測出有沒有感染病毒。他們做了一種可穿戴裝置,叫做 Fresh Air Clip,可以夾在衣領上,捕捉空氣中的病毒顆粒。
出門時,你戴著它。一段時間後,再交給實驗室檢測上面有沒有病毒。如果有的話,就意味著,你今天的路線上遇到過感染者。並且,還可以透過病毒量,判斷暴露的水平。
4、犛牛機器人
我國最近研製出了"電動犛牛",速度可達每小時10公里,可負重160公斤,是世界上體形最大、載重和越野能力最強的電驅動四足仿生機器人。
它能穿越山林、山地、雪地,主要用於負重運輸,以及在不利於士兵執行任務的環境中抵近偵察。從照片來看,它可能不能爬山,否則用處就更大了。
5、超導輸電
日本即將把"超導輸電"投入實用,已在宮崎縣佈設完畢目前世界上最長的超導輸電線路。這種線路最大特點是,電線最內圈有一個密封層,裡面充滿了液氮冷卻劑,浸泡著導體。
"超導現象"指的是導體在某個低溫下,電阻會突然消失,這樣就大大降低了輸電的線路損耗。但是,以往需要冷卻到攝氏零下269度才能實現超導,日本因為開發出了零下196度就能實現超導的材料,使得冷卻劑可以從昂貴的液氦改換成每公斤數百日元的液氮,後者價格不到前者的十分之一。由於冷卻成本大幅下降,因此可以投入實用了。(@wingor 投稿)
文章
1、中國最大的核桃樹(中文)
一個研究生在雲南省發現中國野外最大核桃樹的故事。該樹高達40餘米,胸徑約2米,樹齡超過300年。
2、我如何走上字型檔設計這條路(中文)
作者講述自己怎麼開始設計字型檔,最終開了一家創業公司,以銷售原創字型檔為生。
3、2020 年全球森林資源報告(中文)
這是聯合國糧農組織的官方報告,展示了全世界目前的森林資源狀況,有中文版。這個網頁的視覺化做得很好,值得借鑑。
4、什麼是重構?(英文)
本文是馬丁·福勒的名著《重構》的讀後感,討論到底什麼是軟體重構,特別提出重構不應該改變軟體行為。
5、JavaScript Temporal API 簡介(英文)
Temporal API 是 JavaScript 下一代日期和時間的標準庫,目前是第三階段提案。本文對這個 API 做一個簡單介紹。
6、使用 Python 從頭實現 RSA 演算法(英文)
本文用 Python 程式碼講解了 RSA 演算法(公鑰加密)是怎麼回事,文章不長。
7、Chrome 開發者工具的錄製功能(英文)
Chrome 瀏覽器的開發者工具可以錄製使用者操作了,並且可以匯出指令碼供無頭瀏覽器 Puppeteer 使用。
8、佇列理論簡介(英文)
軟體開發的很多問題,其實都是佇列問題,比如快取、並行操作、延遲等等。本文介紹佇列理論的一些基本知識,主要是如何防止佇列堵塞。
工具
一個基於機器學習的中文語音克隆庫,只要5秒的原始講話錄音,就能克隆該聲音,讓它說出任意給定文字。
一個非常有用的瀏覽器外掛,可以指定 URL 規則,一旦匹配,就會自動跳轉到指定的網址。
3、Imagor
一個 Go 語言寫的影像處理伺服器,可以快速返回各種大小的影像縮圖。
4、Gatsby
一個開源的點對點影片分享平臺,影片存放在 IPFS 上面。
一個網頁的命令列 REPL 環境,目前支援 Python、Ruby、NodeJS、Lua、C++ 五種語言。
6、emojimix
這個網站支援將兩個不同的 Emoji 符號,合併成一個,比如上圖是太陽和熊貓的合成圖。
7、特斯拉燈光秀
一個很好玩的專案,讓特斯拉汽車表演一段燈光秀,還能配樂,需要用到一個叫做 xlights 的工具。
該網站使用歐美名人的口音,朗讀使用者輸入的任何文字,只支援英文。目前有80多個名人口音,包括克林頓、《辛普森一家》的 Homer 等。
9、Jodd
一個 Java 工具包,包含一些實用的小工具,增強 JDK 的功能,包體積不到 1.7M。
資源
這個網站收集各種電子遊戲裡面出現的自動售貨機,比如上圖是 Fortnight 裡面的自動售貨機。
該網頁收集了歷代 Windows 控制皮膚的外觀變化,從 Windows 1.0 到 Windows 10。
3、紀錄片網站
這個網站提供3500多部高質量紀錄片免費線上觀看,不過都是英文的。
這個網頁列出了區塊鏈工程師的英文學習資源。
5、軟體工程師書單推薦(英文)
作者推薦了12本英文專業書籍,推薦軟體工程師閱讀。
圖片和影片
1、到處都是窗的建築
日本德島縣上勝町的資源回收中心,是一個木結構建築。除了建築主體的木材,其它建築材料都使用了當地的廢棄物品,比如地面使用了回收的玻璃和陶器。
它最引人注目的地方,就是整個建築有700多扇窗子,都來自以前的老屋子。
2、城市畫素畫
eboy 是國外的一個藝術團體,以畫素畫著稱。他們的城市畫素畫系列(Pixoramas)非常有名。
他們畫筆下的城市,有著未來主義風格,充滿了機器人和汽車。
完成這樣一張精細的作品,需要六週到八週。官網商店出售複製品,價格為一張幾十歐元。
3、下一代螢幕
三星公司在拉斯維加斯舉行的消費電子展 CES 2022 上,展示了該公司正在開發的下一代摺疊屏和柔性屏,請看下面的一分鐘影片。
摺疊屏的出現,使得手機這種已經定型的產品,重新出現了許許多多的可能性。
文摘
1、壞壟斷和好壟斷
風險投資家、暢銷書《從零到一》的作者彼得·泰爾(Peter Thiel)將壟斷分成兩種。
第一種壟斷是透過非法手段打擊競爭對手而獲得的,他認為這種壟斷是壞的。我們應該堅決反對。
第二種壟斷則是因為某個公司做得非常出色,遠超競爭對手,而自然獲得的壟斷地位,他認為,這種壟斷是好的。
彼得·泰爾解釋說,在完全競爭的市場,大家激烈競爭,利潤將趨向於零。為了生存,企業不得不壓低成本,設法降低工資、減少研發和創新投入、降低產品質量。
這時,如果有一家公司做出了特別好的產品,得到了市場的認可,獲得了自然壟斷的地位。由於不再擔心與別人的競爭,因此就有可能提高工人的工資、增加研發、更關注產品對社會和環境的影響。
對於客戶來說,選擇並沒有變少。反而因為自然壟斷者在取得壟斷的過程中,發明了更好的新東西,解決了難題,所以客戶有了更多的選擇。
當然,如果自然壟斷者沒有把壟斷利潤回報社會,或者投入再生產,而是用來壓制競爭對手,那就需要糾正。
言論
1、
太空研究正在進入一個新階段,隨著火箭的負載越來越大,以及發射成本的降低和發射頻率的提高,我們現在可以把真正大型的儀器發射到太空。
-- 《太空研究的新時代》
2、
根據統計,1979年至1983年間,頂級科學期刊有101項研究,聲稱發現了很有前途的新療法或新藥物。但是十年以後,其中只有五個發現能夠做成產品上市。到了二十年以後的2003年,只剩下一種藥物被廣泛使用。
所以,你不應該相信新聞報導里面,那些令人興奮的新醫學成果,它們成功的機會其實很小。
-- Vox.com
3、
一個充滿限制和商品化的網際網路,正在取代原來那個曾經互相連通和開放的網際網路。
4、
對於非虛構類書籍,作者的寫作能力與書籍銷量無關。事實上,一個作者如果寫得簡明扼要,完全可以將一本350頁的非虛構類書籍,簡化成一篇40頁的長文,但是這樣的話,書價就到不了15美元了,而且銷量也會比較小。
5、
假設做一個調查,觀察周圍的人,如果他的主張可能是錯的,他會改變看法,還是會堅持原來的主張?幾乎所有人都選擇,設法證明自己原來的主張沒錯。
-- 美國經濟學家加爾佈雷斯
歷史上的本週
2021年(第 142 期):2020年才是21世紀元年
2020年(第 90 期):管人和技術是兩種不同的能力
2019年(第 39 期):蘋果公司的兩封公開信
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)