這裡記錄每週值得分享的科技內容,週五釋出。
本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。
週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。
封面圖
曼谷市內最骯髒的一條水道 Klong Ong Ang,經過5年的努力,終於變清了。兩岸佈置了綠植和燈光,遊客可以劃獨木舟,這條曾經的臭水溝成了吸引人的景點。(via)
本週話題:機器翻譯是對譯者的侮辱嗎?
上個月,豆瓣網有一條新聞。北京語言大學的一個研究生,對烏拉圭小說《休戰》的中譯本打了差評。
"機翻痕跡嚴重,糟蹋了原作。還是老話,沒有金剛鑽別攬瓷器活。希望出版社找西班牙語科班出身的譯者,翻譯這些名家。"
譯者看見了這條評論,非常生氣,你憑什麼說我像機器翻譯!
"作為譯者,願意虛心接受來自所有人的意見。但是,逐字逐句認真翻譯反覆修改的書稿被說"機翻痕跡嚴重",感覺挺糟心的。我覺得這和"翻譯不好"不是一個概念,近乎人身攻擊了。"
這本來是小事一樁,但是譯者的好友打抱不平,向北京語言大學寫舉報信,聲稱該校學生對譯者和出版社進行惡意攻擊。學校收信後,出面讓學生寫了書面道歉。這下犯了眾怒,網友蜂擁而至,為該書打"一星"。最終,豆瓣網不得不關閉了此書的評論和打分功能。
使用行政力量,壓制正常的文藝批評,令人不齒。但是,今天我不想談這個,而是想談談南橋老師提出的一個有趣的觀點:機器翻譯很難接受嗎?
"為什麼被說是機器翻譯,譯者會覺得反感?難道翻譯一定要逐字逐句人肉翻譯嗎?"
這個問題提得好。 很多人內心裡面,把"機器翻譯"等同於"劣質翻譯"。 但是,這種想法已經過時了。
現在的機器翻譯強大得很,跟人工翻譯的差距越來越小。英譯中,人工翻譯還有一點優勢;但是中譯英,真的不妨交給電腦吧。再過幾年,如果有人說,你的翻譯像機器翻譯,很可能是一種表揚。這就好比,你的圍棋水平被說成是軟體水平,那就是世界冠軍了。
我的想法是,擁抱機器翻譯,儘量多使用。它是一種工具,能夠提高生產力,為什麼不多用呢。網上那麼多英語資訊,你看原文,看得過來嗎?更好的方法是用機器翻譯,先看一下中文。
各大瀏覽器現在全都內建了機器翻譯,以 Edge 瀏覽器為例,開啟英文網頁時,會自動彈出一個對話方塊,詢問是否需要翻譯成中文。
我建議勾選"始終翻譯英語網頁",以後只要開啟英語網頁,就會預設翻譯成中文。這樣閱讀英語文章,極大提高速度,你的資訊量將成倍增長。就算有時翻譯得語句不通,但足以瞭解大意,如果覺得有必要精讀,再檢視英語原文。
此外,Gmail 網頁端也內建了"郵件翻譯"功能,這個也很有用。
回到翻譯書籍,我認為合理的流程是,先讓機器翻譯一遍原著,譯者再修改機器譯稿。這樣起碼節約了打字的時間和精力。未來也許就沒有"譯者"這個稱謂了,只有"機器翻譯校對"。
Vite + TypeScript 深度實踐
週刊與培訓機構合作,每週介紹一門課程。通常,介紹的都是基礎性課程, 本週嘗試介紹一門前沿課程,內容很新,很多公司都在嘗試,需要一定的前端基礎。那就是 Vue.js 官方新推出的開發工具 Vite。
Vite 到底是什麼?一些資深的開發者都不太瞭解。這也難怪,它只有一年的歷史,兩個月前剛釋出了穩定版 2.0。
簡單說,Vite 是 Vue.js 專案的開發伺服器,提供了快速打包能力,用來替換掉 Webpack。大家知道,Webpack 的最大痛點除了配置複雜,就是打包速度非常慢。有些大型專案,喝一杯咖啡回來,都沒打包完;開發階段哪怕只是修改一行程式碼,熱更新(HMR)重新打包有時也要好幾秒甚至更久。
Vite 就是為了解決這個問題而設計的,利用瀏覽器原生的 ES6 模組的載入能力,跳過 Webpack 打包,為開發階段提供"快如閃電"(官方文件用語)的載入速度。它的 Logo 就是一道閃電。
本週的課程介紹 Vite 的用法, 深度實踐 Vite + TypeScript,帶你真正理解 Vue3 的開發與應用。因為 Vite 是 Vue.js 的官方產品,以後的最佳實踐應該就是用它來開發 Vue 專案。瞭解和學會這一套新做法,不僅有助於前端技術水平的快速進階,也有助於先人一步掌握 Vue3.0 如何在企業專案中落地,為面試和工作助一臂之力。
本課程由騰訊課堂"雙認證"機構----京程一燈提供,原價98元,週刊讀者只需 0.02元即可報名。微信掃描下方二維碼,加入課程群,即可報名。
報名成功的同學,還會再送一份價值294元的課程資料《TypeScript 高階教程》。
科技動態
1、海水淡化暖房
一個英國團隊在非洲索馬利亞蘭海邊,建成了大型海水淡化暖房。完全不用電,只使用陽光,進行海水淡化。
暖房裡面有四個大型的金屬製成的蒸發牆,放入海水以後,在乾熱的沙漠風吹拂之下,海水迅速蒸發,水蒸汽在蒸發牆上冷凝,形成淡水。同時,蒸發後的海水變成海鹽,可以單獨出售。
2、人臉識別破解術
上海警方破獲一起虛開增值稅發票案,犯罪嫌疑人通過破解"人臉識別",註冊虛假公司開假髮票。他們先以30元每個的價格,收購他人的高清頭像照片和身份證資訊,然後使用"活照片" App 讓照片"動起來",生成包括點頭、搖頭、眨眼、張嘴等動作視訊。
有了視訊,下一步使用特殊處理的手機'劫持'攝像頭,在人臉認證環節時,手機攝像頭不會啟動,系統獲取的是之前做好的視訊。系統會認為是本人在攝像頭前,最後會通過認證。
據犯罪嫌疑人交代,他們已經破解了大量含有"人臉識別"環節的 App,其中不乏許多使用者量巨大的App。每單的破解價格從25元到300元不等。
3、月球方舟
美國亞利桑那大學的科學家提出"月球方舟"的設想,將地球上670萬物種的種子、孢子、精子和卵子,冷凍儲存後送到月球儲存,以防物種滅絕。
具體做法是,利用月球地表下熔岩形成的空洞,建設坑道,將冷凍容器放在裡面。月球地表已經有三、四十億年沒有改變過,比起現在位於北極的世界種子庫要安全得多,地球的風險實在太大。
2005年,谷歌收購了安卓系統,準備將 Java 語言用於安卓開發。由於授權費沒有談攏,最後選擇自己實現 Java 虛擬機器,沒有用官方實現,但是外部 API 保持不變。這樣一來,開發者正常編寫的 Java 程式碼不用修改,就可以在安卓上面執行。
2010年,甲骨文公司獲得 Java 語言所有權之後,起訴谷歌侵權。雙方爭議的焦點是,軟體的 API 是否具有版權,即谷歌沿用 Java 的 API,是否造成侵權?業界對這個訴訟非常關注,如果法庭判決侵權成立,以後就很難做服務的相容層,因為未經許可不能提供跟他人一模一樣的 API 了。
這個案件經歷了多輪審判,2018年法院判決甲骨文勝訴,谷歌上訴至美國最高法院。2021年4月5日,最高法院以6票贊成、2票反對,裁決谷歌對 Java API 屬於合理使用,不構成侵權。
5、一句話訊息
埃及國家博物館搬遷新館,政府舉辦了一個盛大晚會。浩浩蕩蕩的遊行隊伍將18具古埃及法老和4具皇后的木乃伊,以國王的規格,護送到新館。這些木乃伊距今已經有3000多年。
GitHub 程式碼提交統計的 3D 模型,前一段時間開放了官方下載,網友已經收到了實物。官方的 3D 列印價格很貴,大家可以下載 stl 檔案,去國內的網店列印。
奢侈品牌 Gucci 釋出了首款數字虛擬運動鞋:Gucci Virtual 25,售價人民幣78元。買來後,只能線上上世界穿。目前, Gucci App、VR 社交平臺 VR Chat、遊戲平臺 Roblox 支援該鞋。
中科院研究顯示,北半球的夏季平均從78天增加到95天,而春季、秋季、冬季都變短了。
文章
1、加油站掃碼支付的風險(中文)
政府提示,在加油機旁邊掃碼付款有重大風險,手機發射的功率可能引發射頻火花。這樣說的話,那裡也不應該手機上網。
2、如何救助一隻雪豹(中文)
青海野生動物救護中心的副主任講述,救助一隻迷路雪豹的全過程。
3、大資料視覺化工具(英文)
現在前端的圖表庫很多,作者推薦了幾個他覺得最好的庫,逐一進行了介紹。
4、Git 郵件工作流(英文)
多人專案現在一般使用 Pull Request 進行合作,但是 Linux 核心專案使用的是電子郵件工作流,本文介紹具體怎麼做。電子郵件傳送 Patch 其實也很方便。
5、React + D3.js 如何開發 SVG 圖形(英文)
本文是一篇詳細教程,講解如何在 React 裡面引入 D3,開發 SVG 動畫。
6、八進位制數字造成的安全漏洞(英文)
本文分析 node.js 庫 netmask 的一個安全漏洞的由來。如果黑客輸入0177.0.0.1
,netmask 會認為這是一個公網地址,但實際上是內網地址。
7、什麼是二分法搜尋?(英文)
通過示例,詳細講解二分法搜尋的入門教程。
8、如何建立 SVG 網格佈局和動畫(英文)
本文是一篇詳細教程,一步步教大家怎麼在 SVG 圖形裡面,建立網格佈局,並且新增影像的動畫效果。
工具
1、xeuledoc
一個命令列工具,用於獲取谷歌文件的各種元資訊。
一個 Bookmarklet 書籤指令碼,用於消除網頁上的粘性頁首或頁尾。
瀏覽器外掛,用來消除網頁上的各種 Cookie 許可的提示層。
CSS 標準一共列出了148種有名稱的顏色,這個線上工具用來在它們當中找到合適的顏色。你在色軸上面確定一個基色,相近的顏色就會按照從淺到深的順序列出。
5、Nyxt
一個帶有命令列的瀏覽器,可以完全不用滑鼠,只通過命令列瀏覽網頁。
一個只使用 CSS 的圖形庫(不需要 JS),可以把<table>
標籤變成折線圖、直方圖或其他圖形。
7、Manim
一個用來生成數學動畫視訊(比如繪製函式)的 Python 庫。
一個 React 元件,生成漂亮的密碼(驗證碼)輸入框。
一個桌面的看板軟體,類似 Trello,可以用來管理待辦事項。
10、Workflow
搜狗的 C++ 伺服器引擎,支援各種後端協議,可以在它的基礎上進行 C++ 開發,定製自己的高效能伺服器。(@holmes1412 投稿)
資源
該網站有各種常用演算法的視覺化演示。(@CIPHER-D 投稿)
2、.new
域名
.new
域名是谷歌託管的,提供了一個開啟網路服務的快捷方式,下面是一些例子。
doc.new
:新建一篇谷歌文件sheet.new
:新建一個谷歌表格js.new
:新建一個 CodeSandbox 的程式碼片段github.new
:新建一個 GitHub 倉庫
標題網址是谷歌官方的.new
域名彙總。
3、文字編輯器比較
文字編輯器是程式設計師的必備工具,這裡比較了十幾個常見編輯器的效能,包括記憶體佔用、檔案開啟時間、正則搜尋速度、大檔案支援等方面。
這個網頁按照推特的使用數量,對錶情符號 Emoji 進行排序,最常用的放在最前面。可以用它查詢哪些 Emoji 是經常使用的。
5、Go 實用教程(Practical Go Lessons)
一本很不錯的 Go 語言的英文教程,從零講起。
圖片
1、複雜的 C++
C++ 是一門複雜的語言,但是語言設計者還在往裡面新增更多的東西。
- C++98版:879頁
- C++11版:1324頁
- C++14版:1368頁
- C++17版:1586頁
- C++20版:1834頁
C++17 比 C++98 多了近80%的內容,而最新版 C++20 比 C++98 多了近1000頁。開發者可能會抱怨複雜性的增加,很難掌握所有的內容,但是除了接受,並沒有其他辦法。
2、加爾鬆潟湖大橋
加爾鬆潟湖大橋是烏拉圭的一座環狀橋樑,於2015年通車。
它的環狀設計主要出於美觀考量,但也有一些實際的好處,比如強迫司機只能減速行駛,同時可以為行人設定單行道,不同方向的行人走不同的半圓,提高了安全性。
文摘
作者:Paul Graham
幾天前,我意識到了一件令人驚訝的事情:浪費時間的最危險方法不是花時間在玩,而是花時間在做假工作。
當你花時間玩樂時,你會知道自己在放縱。內心的警報很快就會發出。如果某天早晨我醒來後,整天坐在沙發上看電視,我很快會覺得自己一定是做錯了什麼。這樣一想,就讓人不舒服。你只需要在沙發上看電視2個小時,就會有這種不舒服的反應,更不用說整天看電視了。
但是,還有一些天,你整天都在忙,等到晚上你問自己今天干了什麼,回答是:雖然很忙,做的卻沒什麼意義。
你的感覺也會因此不好,但是不像整天看電視那樣糟糕。如果我整天看電視,我會覺得自己正在走向滅亡,但如果是忙忙碌碌做無意義的事情,這樣的警報就不會響起。因為我所做的事情表面上看起來像是真正的工作,比如處理電子郵件。
表面上看,你一天都在辦公桌前工作,但其實你也是在浪費時間,因為這不會讓你的生活發生真正的變化。而且由於你的內心不會發出警報,比起看電視,假工作才是浪費時間最危險的方法。
時間要用來做對你真正重要的事情,不要落入假工作的陷阱。
言論
1、
為了提煉出一個清晰的觀點,我需要充足的睡眠、貪婪地閱讀、修煉者一樣地冥想、不跟任何人解釋我在幹嘛。
-- 納西姆·塔萊布(Nassim Taleb),暢銷書《黑天鵝》的作者
2、
寫作過程分為兩個階段:發散和收斂。在發散階段,你自由地探索新想法;在收斂階段,你變得專注,將想法儘量簡化,以便將其釋出。我最喜歡的一句寫作格言:收集點,然後連線點。
-- David Perell
3、
金錢殺死了黑客團體,加密貨幣的興起是最後一擊。有些黑客團隊通過入侵比特幣交易所而成為億萬富翁,那些聲稱自己不在乎錢的黑客幾乎毫無例外地都是孩子,或者只是假裝自己不在乎。
4、
我希望 Deno 和 node.js 可以合併,就像以前 io.js 和 node.js 的合併。但是,這次應該很難發生,io.js 屬於分叉,而 Deno 更像生態系統的重啟。
5、
大學的建立是為了培養學生進行智力探索,但是現在,大學越來越轉向職業培訓,這根本不是建立大學的原始目的。
-- David Perell
歷史上的本週
2020年(第 102 期):工作熱情從何而來?
2019年(第 50 期):"時間換收入"是一個陷阱
訂閱
這個週刊每週五發布,同步更新在阮一峰的網路日誌和微信公眾號。
微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。
(完)