本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦你的專案。
週刊討論區的帖子《誰在招人?》,提供大量就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖:美國緬因州的河流中,自然形成了一個大冰盤,直徑90米。(出處)
刊首語
上海現在有很多付費自習室,提供一個安靜的學習環境,有的收費要超過20元/小時。生意應該很不錯,否則不會開這麼多家。
網上有一個影片,採訪那些顧客,為什麼來自習?
答案都是一樣的:為了考試。各種各種的考試:研究生入學、公務員、會計上崗證、司法考試、CFA、註冊會計師......
受訪者說,來到收費自習室,可以保證全心備考,而且看到別人那麼努力,也能激勵自己。
我不懷疑他們的學習精神,也相信自習室肯定有一定的效果。但是更贊同影片下面的一條留言。
我也是這個感覺,那麼多年輕人參加各種各樣的考試,忙忙碌碌,只是為了掩蓋人生找不到目標。
如果你真的知道自己想要什麼,你就不會花錢找一個地方,只為了坐下來背書。許多人對自己應該做什麼,毫無想法,迷茫困惑,不知道怎麼才能改變現狀,但是又覺得必須做一些事,所以才選擇參加考試,然後安慰自己,我沒有浪費時間。
這樣是不行的, 考試根本不是出路。如果你不知道人生怎麼辦,就算考過了,你依然不知道。 很多證書對於求職根本沒用,在企業的眼裡,資歷是靠經歷和專案證明的,不是靠證書。退一步說,如果某張證書確實有用,也會因為成千上萬的人去考,而很快貶值。
我的建議就是,不要去參加考試,而要努力尋找那些你有興趣去做、並且能夠為此獲得收入的事情。
免費前端影片
隨著企業陸續復工,招聘市場逐漸恢復正常。但是,這一段時間的招聘崗位還是比以前要少很多,往年三四月的面試旺季已經往後延遲。
如果你的前端開發基礎還不夠紮實,現在正好可以利用起來,相當於有一個特別長的準備期,來準備一下面試的內容。
應對面試需要兩大要點,一是技術棧的熟練掌握,另一個就是了解面試的相關技巧。吃透了這兩點,等疫情完全結束,就有機會拿到好的 offer!
本期週刊為大家提供一批免費的影片資料,內容分別是大牛的面試技巧分享和 Vue 這個前端常用框架的講解。以下影片資料均由 開課吧 獨家提供。
影片二: 《Vue3 響應式原理剖析》:Vue3 響應式初體驗、Vue2 & Vue3 響應式原理對比、Vue3 響應式實現、原始碼分析等。
影片三: 《Vue 原始碼剖析之整體流程》:Vue 原始碼除錯環境搭建、入口檔案剖析、Vue 初始化流程分析、Vue 原始碼學習整體流程總結等等。
感興趣的讀者,長按下方二維碼兩次,現在就能免費領取這三個影片教程。溫馨提示:資料數量有限,僅提供259份。
掃二維碼,成功新增小助理,即可領取面試禮包。
資訊
1、算錯小數點
西班牙造船廠由於算錯了一個小數點,導致製造的潛艇超重了70噸(設計重量2200噸)。西班牙海軍非常擔心,如果它出海將無法浮出水面。
目前,補救方案有兩種,一種是將潛艇的船體長度延長大約5至6米,以增加浮力。另一種是不得不減少潛艇的重量70噸,但是這很可能影響戰鬥系統或推進系統等關鍵功能。
2、洞螈
過去八年,歐洲科學家在波斯尼亞和黑塞哥維那東部的山洞裡面,發現了大量的洞螈,大概有幾十條。這種動物長約20釐米~30釐米,長得像迷你的龍,是兩棲類動物,只分布在歐洲中部山區漆黑無光的山洞內部。
由於長期不見光,它的眼睛已經退化了,被皮膚覆蓋了,是一種沒有眼睛的動物,沒有視覺,只靠敏銳的嗅覺、水下聽覺、以及對周圍運動的感知來彌補視覺的喪失。
科學家發現,這種動物的活動範圍非常有限,幾年時間中,只移動了不到10米。由於長期不動,它們的代謝極低,壽命長達一個世紀,每12年才繁殖一次。
3、帶有臉部資訊的口罩
疫情期間,口罩是必備物品。隨之而來的一個問題是,蘋果手機的 Face ID 無法識別出戴口罩的人臉,必須脫下口罩,手機才能開機。
國外的一個創業者,因此發明了一款帶有面部資訊的口罩。他的思路是,先提取使用者被口罩遮擋部分的面部資訊,然後印製到口罩外側,戴上後即拼湊成完整的臉部。據他說,這種辦法可以相容Face ID,但沒有大規模測試,目前售價高達40美元一個。
4、連體翼飛機
空中客車公司在新加坡航空展上,放出了長達二米的連體翼飛機模型,表示他們正在研發這種機身和機翼一體化的飛機,並且已經於去年6月在法國試飛了。
這種飛機機翼與機身融合,可以減少空氣阻力,有利於降低燃油消耗並減少碳排放。空中客車公司表示,與目前的客機相比,這種飛機可能將燃油消耗降低多達20%,併為不同的推進系統和機艙設計提供了可能性。不過,這種飛機的設計和製造都較為複雜。
5、獨輪車環遊地球
英國青年埃德·普拉特(Ed Pratt)最近成為第一個騎獨輪車環遊世界的人。2015年3月,當時19歲的他從英國出發,經過3年時間,路經了歐洲、中東、中亞、中國、東南亞、澳大利亞、紐西蘭和美國之後,他終於回到了起點。
他的交通工具就是一輛獨輪車,為了省力,選擇了36英寸(91釐米)的輪胎。 他的所有裝備也放在獨輪車上(下圖),一路上一共換過5次輪胎,平均每個輪胎可以使用8000公里。
6、 一句話訊息
- 英國一項研究發現,中年人最不幸福的年齡是47.2歲,所以這個年齡可能就是中年危機的最高潮。
- 數位相機 2019年的全球出貨量只有1,500萬臺左右,比2018年減少20%,是2001年(1,475萬臺)以來的最低點。相比巔峰時期的2010年(1億2,146萬臺),銷量只剩下八分之一。
- 德國大眾汽車公司宣佈,不再參與電動汽車以外的賽車活動。汽車公司參與賽車,主要是為了推銷汽車,大眾公司將逐步停止內燃機汽車的生產,也就不需要參與汽油車的賽車了。
- 日本科學家2016年發明了第一代動態投影機,在投射表面塗一層紅外線塗料,就可以使得彎曲表面也獲得清晰不變形的投影效果(下圖)。目前第二代問世了,已經不需要塗料,可以直接投影在彎曲表面。
文章
1、Shopify 採用 React Native(英文)
Shopify 決定放棄原生應用,改用 React Native 開發他們的手機 App,這篇文章詳細解釋了為什麼。
主要原因有三個,一是節省開發成本、縮短開發週期;二是他們在 Web 上已經採用 React,對這項技術比較熟悉; 三是他們的 App 不是那麼複雜。
2、Internet Explorer 曾有過的創新(英文)
微軟已經放棄了自己的 Trident 瀏覽器引擎,改用谷歌的 Blink 引擎。本文回顧了歷史上 Internet Explorer 瀏覽器的眾多創新,數量非常多。
3、靜態網站為什麼需要 HTTPS(英文)
本文總結了對 HTTP 網頁進行攻擊的方法。
4、我程式設計20年的指導原則(英文)
一個程式設計20年的資深程式設計師,總結自己編寫軟體的原則,其中一條是:安全性 > 可用性 > 可維護性 > 程式碼簡潔 > 效能 。另一條是,除非已經完全理解了所要解決的問題,否則不要動手寫程式碼。
5、41種 SaaS 產品營銷策略(英文)
提供 SaaS 服務的公司越來越多,如何才能有效地推廣自己的服務?這篇長文總結了41種 SaaS 營銷方法。
6、松本行弘談 Ruby 語言的設計(英文)
Ruby 語言創始人松本行弘的訪談,介紹他對設計 Ruby 語言的想法,內容包括靜態型別和動態型別的處理、未來 Ruby 的發展方向。
7、軟體認證浪費時間和金錢(英文)
作者提出一系列理由,認為各種軟體資格證書並無意義,不值得為了它們花費時間和金錢。
8、TypeScript 的問題(英文)
作者記錄了他使用 TypeScript 過程中,覺得不夠滿意的地方。有些是可以解決的,有些屬於語言的核心設計,很難解決。
9、我使用 Google Cloud Run 的經歷(英文)
谷歌雲的 Cloud Run 服務可以"按需啟動"的方式執行 Docker 容器,作者使用這個服務部署自己的 Serverless 應用,每月的費用不足一美元。
10、OT 還是 CRDT?(英文)
網頁編輯器 TinyMCE 專案打算增加多人實時協作功能。目前,編輯器同步有兩種主要演算法:OT 和 CRDT。本文比較這兩種演算法各自的特點,並附有參考連結。
工具
1、netgraph
一個 Go 語言寫的 HTTP 抓包分析器,帶有 Web 介面。(@ga0 投稿)
2、qier-progress
一個網頁頂部進度條的 JS 庫。(@vortesnail 投稿)
3、pyprotect
一個 Python 程式碼的加密器,可以防止別人看指令碼原始碼。(@ga0 投稿)
4、簡易數學函式作圖工具
一個線上生成數學函式圖形的網頁小工具。(@DoctorLai 投稿)
5、Jane
一個超級輕量的靜態部落格系統,使用 Kotlin 語言。(@pandolia 投稿)
6、akshare
一個基於 Python 的開源金融資料介面庫,目的是實現股票、期貨等金融產品從資料採集、資料清洗到資料下載的工具,滿足金融資料科學家、資料科學愛好者在資料獲取方面的需求。(@jindaxiang 投稿)
7、Sitdown
一個將 HTML 原始碼轉換為 Markdown 的 JS 庫,可以定製規則。(@LinFeng1997 投稿)
8、GoatCounter
一個開源的訪客統計軟體。
9、Language Learning with Netflix
Chrome 瀏覽器外掛,可以在 Netflix 的影片頁面上同時顯示原文和英語字幕,適合學習外語,需要使用者有 Netflix 收看資格。
10、Clipboard History Pro
Chrome 瀏覽器外掛,用來管理系統的剪貼簿,可以檢視剪貼簿的歷史記錄。
資源
1、貨幣匯率 API
該網站提供免費貨幣匯率的 JSON API。
2、GameBoy 模擬器教程:使用 JavaScript 語言
這組系列文章講解,如何用 JavaScript 語言模擬 GameBoy 的硬體,可以用來了解硬體知識。
3、初學者的安卓學習資源
這是 HN 的一個帖子,討論初學者應該參考哪些安卓學習資源。
4、駭客的貝葉斯方法:以 Python 為例
免費的英文電子書,講解貝葉斯機率在 Python 語言中的應用。
5、Go 101
免費的英文電子書,介紹 Go 語言的基本語法。
圖片
1、微塑膠汙染
人類大量使用塑膠製品,然後隨意丟棄,導致廢塑膠以塑膠纖維的形式,進入了飲用水。
世界自然基金會最近的一項研究得出結論,人們每週可能攝入5克塑膠纖維,相當於一張塑膠信用卡的量,可以填滿一個湯匙。這些塑膠纖維進入人體的消化系統,大部分會被排解掉。
每個月食用21克塑膠,相當於小半碗飯。
半年食入125克塑膠,相當於一大碗。
每年食入250克塑膠,相當於一盆菜。
每10年食入2.5公斤塑膠,相當於一個救生圈。
一生中食入20公斤塑膠,相當於兩個垃圾桶。
2、香檳的壓力
歷史上,英國採用二次發酵法制作葡萄酒,在已發酵的葡萄酒中加入糖和糖蜜以使酵母再次發酵,然後將其密封在瓶中以產生冒泡的混合物。
這種方法的問題在於它產生了難以置信的壓力。在酒瓶中,內部壓力大約是大氣壓的六倍,是汽車輪胎的三倍。這相當於每平方釐米的玻璃上承受超過5公斤的重量,只有特別堅固的瓶子才能承受這種壓力,每年大約有4%~40%的葡萄酒會因為酒瓶爆炸而損耗。
因此,香檳酒工人只好戴著鐵的保護面罩,來製造葡萄酒,防止受到爆瓶的傷害。
3、澳大利亞一家停車場的創意
下面的標記都是真實的,利用視覺錯位塗繪。(@StevenLikeWatermelon 投稿)
文摘
1、過早最佳化的謬誤
Tony Hoare 曾經說過:"過早的最佳化是萬惡之源"。經過 Donald Knuth 大師的推薦,這句話已成為軟體工程師的名言。
不幸的是,它被誤解扭曲了。許多軟體工程師將這一準則理解成"你永遠不應該最佳化程式碼!",認為沒有必要進行最佳化。
Tony Hoare 和 Donald Knuth 的真正意思是,程式碼微最佳化(例如,一條特定語句消耗多少 CPU 週期)之前,開發者應該擔心其他問題。而且,原話並不是說:"在開發的早期階段,關注程式的效能是有害的。" 他只是反對過早的最佳化。
以下幾點理由,可以解釋為什麼不能忽視軟體效能。程式設計師正確的做法應該是,在軟體開發的早期階段,就關注效能問題。
(1)效能問題不容易在軟體開發的最後階段解決。20%的程式碼佔用了80%執行時間,它們可能散佈在整個原始碼中,不容易一次性修改解決。
(2)許多工程師相信,到軟體釋出時,CPU 的效能將會提高,以彌補部分程式碼的效能低下。儘管在1990年代確實如此,但在最近十年 CPU 效能非常有限。
(3)軟體工程師認為,他們的時間比 CPU 時間更有價值。因此,浪費 CPU 週期以減少開發時間是對的。但是,他們忘記了,使用者的時間比他們的時間更有價值。
(4)最佳化可能會導致產品延遲進入市場,並降低利潤,這是正確的。但這種想法忽略了效能不佳的產品可能很難銷售,尤其是在市場競爭激烈的情況下。
(5)有些程式設計師認為,幾乎沒有必要確保在軟體的設計階段,就使用最佳演算法,先實現功能再說,因為以後總是可以替換更好的演算法。所以,無需擔心軟體在開發階段的效能,以後可以透過更好的演算法對其進行提高。不幸的是,更好的演算法在後期不一定可以實現,而且程式碼往往因為牽扯太多,無法輕易替換其中某個部分。
2、為什麼物體潮溼時會變暗?
你是否想過,為什麼向地上倒了一攤水,土地就變暗了?
首先,我們要知道,物體的亮或暗,取決於反射的光的數量。反射的光線多,就比較亮;反射的光線少,就比較暗。
當我們向土地倒水的時候,溼的那塊地的表面就有一層水。在此之前,光可以100%擊中那塊地,現在必須穿過那層水才能被地面反射。有一些光會被水面反射,還有一些光會在水中被吸收,所以地面接受的光量就比以前少。
另外,光進入水中後,一部分光會出現漫反射,反射到人眼的光量進一步減少。
以上兩個原因,使得一個物體變溼以後,人眼接收到的光量要小得多。這就是為什麼物體潮溼時看起來更暗的原因。
言論與數字
1、
為了解決氣候變暖,人類生活的所有方面需要徹底的改變。
我們需要少吃肉,透過體外細胞培養的方式人工生產蛋白質,每個家庭的家用電器減少到兩臺,完全淘汰乾衣機,2030年全面過渡到電動汽車,2050年將全球人口限制在84億以內,到2100年下降到69億。
-- 《氣候問題已經絕望》
2、
網際網路誕生之前,程式設計師沒有 StackOverflow、Slack、Reddit、Youtube、網路教程。程式設計遇到問題的時候,手邊必須有語法手冊和系統手冊,如果你沒有這兩本書,就只能去圖書館或書店找書。
-- 推特使用者
3、
每個內容託管平臺都將消亡。Geocities、LiveJournal、what. cd 、Yahoo Groups 已經消亡。有一天,Medium、Twitter、甚至 GitHub Pages 也將消亡,只要它們不再增長或者找不到有效的商業模式。
-- 《製作持久耐用的網頁》
4、
我從小公司跳槽到大公司。我發現,大公司的很多工作都在學習他們龐大的自定義領域,而不是學習某種的公開技術。
-- HN 讀者
5、
Git 從2005年4月3日開始開發,4月6日完成開發,對外宣佈,4月7日上線使用。
-- 維基百科
6、
微軟好於谷歌的一個地方,就是它沒有廣告業務。
-- HN 讀者
回顧
去年的本週:《週刊第 46 期》
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)