共 2044 字,讀完需 4 分鐘。本期以《提問的智慧》作為引子,這篇經典文章在開篇毫不客氣的寫到:“如果你正因為需要某些協助而在閱讀本指南,且最後離開是因為發現從本指南作者們身上得不到直接的協助,那麼你就是我們所說的那些白痴之一。我們在本指南中是教你如何從那些真正懂得你所遇到軟體或硬體問題的人取得協助,而 99% 的情況下那不會是我們。”,話糙理不糙,雖然模仿和請教是學習的捷徑,但如何讓自己配得上別人的解答是你必須認真思考的問題。此外,全球 JS 開發者調查目前還在收集問卷階段,你有沒有興趣也去填寫下呢?以下是本週精選內容,請享用。
技術動態
React 16 Beta 版釋出日誌
該版本幾乎是完全重寫了 React,但是還是做到了向前相容,如果你在升級到 15.x 的過程中修復了大部分廢棄宣告,基本可以直接升級,除非你使用了各種非公開的 React 黑科技。此外,期待已久的 Fiber 也整合到了該版本中,預計渲染效能會有不小提升,打包的方式也發生了不小變化,想學習更多細節的快去看日誌吧。
V8 引擎特性帶來的的 JS 效能變化清單
做應用層開發的同學對底層技術變化也要保持敏感,因為某些過去的最佳實踐在新的技術背景下就不適用或者沒必要了,HTTP 協議就是典型的例子。V8 6.X 對哪些 JS 語法或者寫法帶來了比較顯著的效能提升?這篇文章做了不錯的梳理。
文章教程
免費電子書:The JavaScript Way
現代 JS 簡明指南,站在現代前端開發的視角闡述 JS 開發方式,適合新手,基於 ES6,內容簡潔而不單薄,如果想提高自己的技術英語也會是個不錯的選擇。更重要的是,這不是純理論的書籍,閱讀的時候能有很多上手練習的機會。
Node.js 應用最佳實踐 20 條
作者從自己的經驗和別人的博文中總結出來的 Node.js 應用最佳實踐,內容涵蓋監控、日誌、請求流轉、版本鎖定、錯誤管理、效能等方面,如果你想從前端成為靠譜的
Node.js 後端工程師,認真踐行這篇文章列出的實踐,定能讓服務質量和技術能力更上一層樓。
寫給 WEB 工程師的區塊鏈入門知識
區塊鏈正被越來越多的工程師所熟知,沒聽說過區塊鏈的,總聽說過比特幣吧?可以說,區塊鏈是比特幣執行的關鍵基石,有“磚家”說區塊鏈技術給世界帶來的變化會不亞於網際網路誕生所帶來的變化,而後者是大家有目共睹的。但是究竟什麼是區塊鏈呢?如何基於區塊鏈構建去中心化的應用?這個系列文章很有料,有圖文解釋、有程式碼例項,非常適合入門。
程式碼框架
Compromise:基於 JS 的自然語言處理處理庫
想自己做些更復雜的文字處理?在開發聊天機器人或者做抓取資料批處理的時候可能會用的上,只支援英文,中文的包也有,但相對難找,即使你不用,對了解自然語言處理庫所應該具備的基本能力也是有幫助的。
React Native for Web:在 WEB 端重用 RN程式碼?
專案願景不錯,可以在 WEB 端使用和 React Native 完全相同的 API 編寫程式碼,有希望解決 Native 和 WEB 之間共享程式碼的問題,目前實現的元件包括比較常見的 View、Image、ActivityIndicator 等,但缺陷也很明顯,部分依賴 Native 能力的庫或者 API 只能用 Mock 的辦法去解決。當然了,從練手的角度來考察這個專案的意義,是不是就不一樣了呢?
Spacetime:輕量級的時間處理庫
日期時間處理在任何語言中都略顯複雜,JS 領域比較受歡迎的庫有 moment.js,支援各種格式化,時間加減、比較等操作,而 Spacetime 是個更輕量級的選擇,當然,如果你的需求很簡單,不建議引用任何庫。
找找靈感
月薪 8000 美元的工作你想要麼?
Segment Open Fellowship 2017 的招聘啟事,不限國籍,有實力的同學可以自己去研究下,他們的招聘要求、所負責的工作,祝你們好運。
LEGO Loader:樂高風格的載入中動畫
喜愛樂高的同學收下吧,不用我多說啥了,程式碼直接在 CodePen 上可以看到。
視訊教程
JS Channel Conf 2017 直播地址
JS Channel Conf 是來自印度的年度 JS 開發者大會,這是大會直播的地址,需要自備梯子才能觀看,印度式英語會是個不小的挑戰,我看完再來跟大家彙報下哪些部分比較精彩,
如何為不讀文件的人寫文件?
行為學研究的結果是:使用者在使用網際網路產品時,使用者從來都不是逐字逐句的閱讀,而是用類似掃描的方式去解讀,如果使用者在你文件的開頭或者結尾找不到他們想找的東西,他們大概率會放棄轉而給你提 Bug 或者 Issue,即使你中間寫的再精彩,維護過開源專案的同學可能有這種體會,那麼怎麼為不讀文件的開發者寫文件呢?畢竟使用你專案的人也是你的使用者嘛,如果你也想在社群得到認可,文件屬於基本功啦。
精彩問答
有沒有能列出所有城市的 npm 包?
程式設計師的世界裡面也是無奇不有,這個包能列出全世界 13W+ 人口超過 1K 的城市,並且儲存方式是粗暴的陣列,如果只是臨時使用可能也沒啥糾結的,但若是大批量使用,你會怎麼改進這個包呢?
漫畫:1 分鐘瞭解比特幣和區塊鏈
混子哥用很黃很暴力的風格來解讀什麼是比特幣和區塊鏈,雖然省去了很多技術細節,但是對於只是想大概瞭解的同學理解本質足夠了。話說基於區塊鏈技術的有意義的應用正在越來越多,是不是會成為下一個重要的軟體開發領域呢?
One More Thing
本文作者王仕軍,商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。如果你覺得本文對你有幫助,請點贊!如果對文中的內容有任何疑問,歡迎留言討論。想知道我接下來會寫些什麼?歡迎訂閱我的掘金專欄或知乎專欄:《前端週刊:讓你在前端領域跟上時代的腳步》。
Happy Hacking