FEX 技術周刊 - 2015/08/03

npde 9年前發布 | 35K 次閱讀 FEX

原文:http://fex.baidu.com/blog/2015/08/fex-weekly/

業界會議

Velocity - 性能與運維大會 8.11
http://velocity.oreilly.com.cn/2015/
今年的話題都還不錯,可以圍觀。

百度 Web 技術專欄

[EFE][譯]避免使用 forEach
http://efe.baidu.com/blog/avoid-foreach/
本文和性能無關。執行 for 循環總是比執行 Array.forEach 快。如果性能測試顯示迭代的開銷足夠顯著并且性能優先,那么你絕對應該使用 for 循環而不是 forEach(總是使用 for 循環是典型的過早優化。forEach 仍然可以在 1 微秒內遍歷長度為 50 的數組)。本文和編碼風格有關,是我對 forEach 和其它 Array.prototype 方法的思考,與性能無關。

[EFE]CSS 代碼靜態質量檢查
http://efe.baidu.com/
CSS 中也有一些 Lint 工具,例如 CSSLint,PrettyCSS,recess,CKStyle,stylelint,當然還有百度 EFE 出品的 CSS 代碼風格檢查工具 CSSHint。本文將從功能、性能、適用范圍、規則實現、個性化幾個方面對這幾個 Lint 工具進行對比。

[FEX]FIS 3.0
http://fis.baidu.com/
FIS3 , 為你定制的前端工程構建工具解決前端開發中自動化工具、性能優化、模塊化框架、開發規范、代碼部署、開發流程等問題

深閱讀

春晚微信紅包,是怎么扛住一百億次請求的
http://www.infoq.com/cn/articles/weixin-bonus-load
介紹了這個項目是如何不斷迭代開發出來的

Architecting Backend For A Social Product
http://highscalability.com/blog/2015/7/22/architecting-backend-for-a-social-product.html
一個社交產品后端架構需要考慮的關鍵點,適合入門

Autocomplete using Tries
http://dibaiee.ir/autocomplete-predict-trie/
使用 Tries 數據結構實現輸入框自動完成

Code caching
http://v8project.blogspot.jp/2015/07/code-caching.html
介紹 V8 中代碼緩存的實現,它可以將 JavaScript 編譯后的二進制緩存到本地

Redesigning Chrome Android. Part 2 of 2
https://medium.com/@KounterB/redesigning-chrome-android-part-2-of-2-8884f0430940
很有價值的文章,詳細介紹了新版 Android 版本 Chrome 是如何設計出來的,你會發現原來在簡單的 UI 背后有那么多細致的工作

The Foundations of a Good UI
http://www.codelitt.com/blog/the-foundations-of-a-good-ui/
設計優秀 UI 需要注意的問題

MySQL InnoDB 學習資料
https://github.com/jeremycole/innodb_diagrams
http://blog.jcole.us/2013/01/02/on-learning-innodb-a-journey-to-the-core/
https://www.percona.com/live/mysql-conference-2013/sessions/innodb-journey-core
Google的MySQL大神,Jeremy Cole在github開了一個項目:innodb_diagrams,里面繪制了很多InnoDB原理的圖

在 JavaScript 中用箭頭函數寫出遞歸的方法
https://github.com/Lucifier129/Lucifier129.github.io/issues/7
可以了解下這個新特性的神奇之處。

7 Reasons to use AngularJS for developing your next web apps
http://codecondo.com/7-reasons-to-use-angularjs-for-developing-your-next-web-apps/
文章中的圖挺漂亮的,對 anaularjs 的分析還算中肯。

The 非死book Method of Dealing With Complexity
http://ubiquity.acm.org/blog/the-非死book-method-of-dealing-with-complexity/
Computer systems used to be weak, so we had to make their world simple and standardized. They now can handle almost endless complexity—but we still need to understand how to make the world simple, so we don’t risk burdening the majority of users with the needless complexity of the few.

The Hitchhiker's Guide to Modern JavaScript Tooling
http://reactkungfu.com/2015/07/the-hitchhikers-guide-to-modern-javascript-tooling/
JavaScript tooling often consists of small tools, utilities and libraries that combined builds your code to be used in a browser. They allow you to rebuild your project after changes, run your test suite, hot reload your code and so on. I’d like to give you a quick overview about what popular tools do - and whether you need them or not.

一起寫一個Web服務器
http://python.jobbole.com/81820/
有助于補習 http 和 webserver 的基礎知識

REST簡介
http://www.cnblogs.com/loveis715/p/4669091.html
一說到REST,我想大家的第一反應就是“啊,就是那種前后臺通信方式。”但是在要求詳細講述它所提出的各個約束,以及如何開始搭建REST服務時,卻很少有人能夠清晰地說出它到底是什么,需要遵守什么樣的準則。在您將看到的這一篇文章中,我們將對REST,尤其是基于HTTP的REST服務進行詳細地介紹。通過這些文章,您不僅可以了解到什么是REST,更能清晰地了解到您在編寫REST服務時所需要遵守的各個守則,設計RESTful API時需要考慮的各種因素以及實現過程中可能遇到的問題等內容。

[譯]Quora是如何維持高質量代碼的
http://www.jointforce.com/jfperiodical/article/942
一個高質量的代碼庫可以加快長期開發的速度,因為它會使得迭代、協作和維護更加容易。在Quora,我們十分重視代碼庫的質量。我們開發了一系列工具和流程,這樣就可以在維護高質量代碼庫的同時,提升開發的速度。在這篇文章中,我們將會介紹關于保證代碼質量的一些方法,以及一些平衡這兩方面的具體案例。

一個“三端”開發者眼中的React Native
http://f2e.souche.com/blog/-ge-san-duan-kai-fa-zhe-yan-zhong-de-react-native/

How to Create a Node.js Cluster for Speeding Up Your Apps
http://www.sitepoint.com/how-to-create-a-node-js-cluster-for-speeding-up-your-apps/
cluster 掃盲

互聯網主要安全威脅解讀及應對方案
http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209270229&idx=1&sn=02ee04586a55578907165cdf4312dead&scene=1#rd
據Gartner調查,絕大多數信息安全攻擊都發生在Web應用層,而超過60%的Web網站都相當脆弱,在如此嚴峻的安全形勢下,如何才能構建一個相對安全的網站成為大家關心的一個話題。本文后包括17種常見安全問題應對方案Q&A,可以當 Web 安全掃盲文來看。

新鮮貨

Chrome 45 Beta: New ES2015 features, service worker improvements, and media controls
http://blog.chromium.org/2015/07/chrome-45-beta-new-es2015-features.html
加入更多 ES6 的功能、增強 Service worker、優化觸摸滾屏性能,并在 Android 版本播放媒體時出現提示

DevTools Digest: Film strip and a new home for throttling
https://developers.google.com/web/updates/2015/07/23/devtools-digest-film-strip-and-a-new-home-for-throttling
DevTools 新功能介紹,包括通分析性能時帶截圖、網速限制、等

jsmpeg-vnc
https://github.com/phoboslab/jsmpeg-vnc
基于 WebSocket 和 jsmpeg 在瀏覽器中實現遠程共享屏幕,不過客戶端目前只支持 Windows

Cooperative Scheduling of Background Tasks
https://w3c.github.io/requestidlecallback/
W3C Web性能工作組只用了一周半定稿的很逆天的規范,API允許網頁協同調用backgroundtasks,從而避免同一事件回路里高優先級任務(如輸入,動畫,幀合成)帶來延誤。此規范相信瀏覽器應有權利能力實現最優調用。看編輯,應該很快能在Chrome上實現啦。

NativeScript 1.2 release - live sync, push notifications, native plugins and more
https://www.nativescript.org/blog/nativescript-1.2-release---live-sync-push-notifications-native-plugins-and-more
新版增加了很多功能

深JS PPT匯總
https://github.com/jsconfcn/ShenJS/issues/30
Maintainable Node.js

WOPR
https://github.com/yaronn/wopr
WOPR is a simple markup language for creating rich terminal reports, presentations and infographics.

JSCITY
https://github.com/ASERG-UFMG/JSCity/wiki/JSCITY
JSCity is an implementation of the Code City metaphor for visualizing source code. We adapted and implemented this metaphor for JavaScript, using the three.js 3D library.

開發 Apple Watch 應用
http://tech.glowing.com/cn/make_apple_watch_app/
這篇文章來對 Apple Watch 的開發做個介紹,也列出開發過程中遇到的一些坑。雖然 Watch OS 2 已經出來,而我們是用 WatchKit 進行的開發,但很多內容也適用于 Watch OS 2。

迄今為止最全的.NET技術棧
http://www.cnblogs.com/unruledboy/p/NetStack.html
.NET 雖然在互聯網應用中沒太多話語權。但作為一個完整的體系,還是有很多值得學習的。

ECMAScript 2015 編碼規范--廣發證券前端團隊
https://github.com/gf-web/es6-coding-style
另附百度 JS 編碼規范:https://github.com/fex-team/styleguide/blob/master/javascript.md

caniuse-cmd
https://github.com/sgentle/caniuse-cmd
Just what you've always wanted, it's a caniuse command line tool! All the power of caniuse.com with none of the nice UI or interactivity!

非死book為C++11帶來了健壯且強大的Folly Futures庫
http://www.infoq.com/cn/news/2015/07/非死book-folly-futures
Future是一種用于同步并發操作的構件,它能夠被視為對異步操作結果的只讀代理對象,這個對象的初始值是未知的。如果Future的客戶端試圖在操作完成前讀取它的值,可能會被阻塞。Future通常和一個Promise關聯,Promise提供對Future的值進行寫訪問。

Elixir: 編程語言的未來
http://elixir-lang.org/
http://blog.eood.cn/elixir
這篇文章談一談最近火爆的 Elixir,同時說一下對編程語言選擇的看法。同時作為 Erlang 發燒友,Elixir 不可不提。即使有了那么多編程語言 Elixir 也值得接觸。

TimLiu-iOS
https://github.com/Tim9Liu9/TimLiu-iOS
匯總了一些iOS、mac開源項目及庫。

TauCharts. Data focused javascript charting library
https://github.com/TargetProcess/tauCharts
http://blog.taucharts.com/taucharts-data-focused-charting-library/

Bokken – Open-Source Reverse Code Engineering
http://bokken.re/index.html
黑科技,貌似很強大

國內手機繼續放大招,國外公司已經開始不務正業了
http://mp.weixin.qq.com/s?__biz=MzA5MTMyNTYzNA==&mid=208056012&idx=1&sn=e65b56937d78a330874ae5f0f1d19d0c#rd
20 $ 的 Android 平板:Remix 是亮點。

非死book WDT Warp speed Data Transfer
https://github.com/非死book/wdt
http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=207424565&idx=1&sn=04e9ab4d703ec554b9cbc730f92de6fc#rd
Warp speed Data Transfer (WDT) is an embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths.

RebornDB:下一代分布式Key-Value數據庫架構介紹
http://mp.weixin.qq.com/s?__biz=MzAwNjMxNjQzNA==&mid=208050108&idx=1&sn=05f972ab35726fcaa0fc3a8c4e9a33f8&scene=1
RebornDB是一個基于代理的分布式Redis集群解決方案。它有點像twemproxy,一個幾乎是最早的、最著名的基于代理的Redis集群解決方案。

產品及其它

HTML5進擊者系列訪談
http://www.egret-labs.org/news 訪談了多位 HTML5 游戲開發者,聽聽他們的想法。
另附:你為什么會離開游戲行業?http://www.skywind.me/blog/archives/1259

[譯]如何杜絕大家在辦公室耍手段
http://jiongks.name/blog/how-to-minimize-politics-in-your-company/
在我所有的從商經歷中,我從沒聽過有人說:“我喜歡辦公室政治”。另一方面,我周圍無數的人對政治深惡痛絕,甚至抱怨自己的公司就是如此。既然大家都不喜歡政治,那為什么它無處不在呢?

H5 生態圈、H5 產業該歇歇了
http://www.pingwest.com/h5-and-html5/
隨著微信朋友圈中各種動態頁面的流行,HTML5這個Web技術標準被一些營銷人員、創業者包裝成了生態圈、產業。品玩采訪了一些技術人員,在他們看來,這不但在概念上誤導人,也并沒有看到做出了什么有價值的事情。

CTO的終結
http://mp.weixin.qq.com/s?__biz=MzAxNjYwMjY1MA==&mid=208176040&idx=1&sn=556d330df8f5726f05578bce057c7d46&scene=2
其實是對研發的思考,值得每個中型研發團隊的CTO 及技術負責人深思。

《成為技術領導者》讀書心得
http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=209233791&idx=1&sn=967c7e473aac021b639dd7409fc70657&scene=1#rd
溫伯格的這本書,值得深入學習。

不一樣的命令行工具 mycli
http://pgcli.com/
一個 MySQL 的命令行客戶端,具有自動完成和語法高亮的功能。

移動測試人員的未來:測試開發技術的融合
http://www.infoq.com/cn/articles/mobile-testing-future
過去:從極易到極難;現狀:業務與工具無法兼得;未來:找出問題還不夠,要定位問題

喵星人玩毛線
http://codepen.io/Yakudoo/full/oXJYxy
一個短小有趣的代碼示例,基于 three.js 實現并渲染一只可以互動的 3D 貓咪。

</div> 作者:zswang (http://weibo.com/zswang) - 站在巨人的肩上也要成為巨人的一部分

 本文由用戶 npde 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!