FEX 技术周刊 – 2016/05/30
最后更新于:2022-04-01 00:03:51
## 深阅读
**Awaiting the future of JavaScript in V8**
[https://blogs.igalia.com/compilers/2016/05/23/awaiting-the-future-of-javascript-in-v8/](https://blogs.igalia.com/compilers/2016/05/23/awaiting-the-future-of-javascript-in-v8/)
On the evening of Monday, May 16th, 2016, we have made history. We’ve landed the initial implementation of “Async Functions” in V8, the JavaScript runtime in use by the Google Chrome and Node.js. We do these things not because they are easy, but because they are hard. Because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one we are willing to accept. It is very exciting to see this, roughly 2 months of implementation, codereview and standards finangling/discussion to land. It is truly an honour.
**Introducing Hot Reloading**
[http://facebook.github.io/react-native/blog/](http://facebook.github.io/react-native/blog/)
[http://www.jianshu.com/p/1fa6e9c0799f#rd](http://www.jianshu.com/p/1fa6e9c0799f#rd)
The idea behind hot reloading is to keep the app running and to inject new versions of the files that you edited at runtime. This way, you don’t lose any of your state which is especially useful if you are tweaking the UI.
**[译]如何成为一名黑客**
[http://www.kerneltravel.net/jiqiao/hacker.html](http://www.kerneltravel.net/jiqiao/hacker.html)
[http://www.catb.org/esr/faqs/hacker-howto.html](http://www.catb.org/esr/faqs/hacker-howto.html)
有人翻译了 Eric Steven Raymond 的这篇经典之作。The world is full of fascinating problems waiting to be solved. No problem should ever have to be solved twice. 每次看到这些都会热血澎湃。BTW : 最近国内翻译优质英文资源的速度、质量、数量都在快速进步,让我想到中国佛教经历过的译经时代,期待前端开发中的“禅宗”降临。感觉众成翻译有扮演类似鸠摩罗什、玄奘组织的译经团这个角色的潜质。
**RailsConf 2016 - 我们如何为三万人的公司横向伸缩 GitLab**
[https://ruby-china.org/topics/30146](https://ruby-china.org/topics/30146)
介绍支付宝如何改造 Gitlab,作为整个阿里巴巴集团的代码管理后台。
**Going deeper with Project Infinite**
[https://blogs.dropbox.com/tech/2016/05/going-deeper-with-project-infinite/](https://blogs.dropbox.com/tech/2016/05/going-deeper-with-project-infinite/)
Dropbox 客户端基于底层文件协议,可以避免完整同步文件,从而实现「无限空间」功能,本文介绍了它的实现细节
**Going native with React Native**
[http://blog.cloudoki.com/going-native/](http://blog.cloudoki.com/going-native/)
使用 React Native 的体会
**Things that Excite Me about Angular 2**
[http://teropa.info/blog/2016/05/19/things-that-excite-me-about-angular-2.html](http://teropa.info/blog/2016/05/19/things-that-excite-me-about-angular-2.html)
In the past six months or so I’ve spent a good amount of time playing with Angular 2\. I’ve built some fun projects and given talks about them. I’ve written some documentation and had lots of discussions with other people who are doing that. And I’ve written a couple of articles too. I thought this might be a good time to sum up what I find exciting about this platform right now.
**The Complete-Ish Guide to Upgrading to Gulp 4**
[https://www.joezimjs.com/javascript/complete-guide-upgrading-gulp-4/](https://www.joezimjs.com/javascript/complete-guide-upgrading-gulp-4/)
Gulp 4 has been in the works for far too long, but it’s practically inevitable that it’ll be released… some day. I’m here to help you out for when that fateful day arrives by showing you the differences between Gulp 3.x and Gulp 4 and how you can make the migration to the new version relatively painless.
**Implementing a Stepping Debugger in JavaScript**
[http://jlongster.com/Implementing-Stepping-Debugger-JavaScript](http://jlongster.com/Implementing-Stepping-Debugger-JavaScript)
译[https://www.h5jun.com/post/implementing-a-stepping-debugger-in-javascript.html](https://www.h5jun.com/post/implementing-a-stepping-debugger-in-javascript.html)
用 JS 实现对 JS 的单步运行
**Stylelint: The Style Sheet Linter We’ve Always Wanted**
[https://www.smashingmagazine.com/2016/05/stylelint-the-style-sheet-linter-weve-always-wanted/](https://www.smashingmagazine.com/2016/05/stylelint-the-style-sheet-linter-weve-always-wanted/)
Everyone wants a clean, consistent code base, no matter the language. Developers are accustomed to setting up linters in programming languages such as JavaScript and Python, but they rarely use a linter for style sheets. In this article, we’ll look at stylelint, a linter for style sheets.
**HEAD - A collection of HTML head elements**
[https://github.com/joshbuchea/HEAD](https://github.com/joshbuchea/HEAD)
详细的介绍了 HEAD 中的元素。
**Living SC5 Styleguide, the next level**
[http://varya.me/en/posts/sc5-style-guide-next-level/](http://varya.me/en/posts/sc5-style-guide-next-level/)
介绍了 SC5 Style Guide Generator[http://styleguide.sc5.io/](http://styleguide.sc5.io/) 在项目中的使用
**通过源码解析 Node.js 中一个文件被 require 后所发生的故事**
[https://fe.ele.me/tong-guo-yuan-ma-jie-xi-node-js-zhong-yi-ge-wen-jian-bei-require-hou-suo-fa-sheng-de-gu-shi/](https://fe.ele.me/tong-guo-yuan-ma-jie-xi-node-js-zhong-yi-ge-wen-jian-bei-require-hou-suo-fa-sheng-de-gu-shi/)
如题
**从微信WeUI设计规范 解读移动界面设计**
[http://www.jianshu.com/p/1c3e1fae519c](http://www.jianshu.com/p/1c3e1fae519c)
挺不错的总结
**最全前端资源汇集**
[http://www.jianshu.com/p/c3dae0951f74](http://www.jianshu.com/p/c3dae0951f74)
整理了很多资源
**一条数据狗的上海房价研究**
[https://yq.aliyun.com/articles/38618](https://yq.aliyun.com/articles/38618)
数据分析及可视化的例子
**Android官方MVP架构解读**
[http://mp.weixin.qq.com/s?__biz=MzAwNjQwNzU2NQ==&mid=2650342666&idx=1&sn=812cf8dccd1e25feb9f3e0af476f0dcf](http://mp.weixin.qq.com/s?__biz=MzAwNjQwNzU2NQ==&mid=2650342666&idx=1&sn=812cf8dccd1e25feb9f3e0af476f0dcf)
MVP (Model View Presenter)架构是从MVC(Model View Controller)架构演变而来的,它将UI界面和数据进行隔离,所以我们的应用也就分为三个层次: - View: 在View层中只负责对数据的展示,提供友好的界面与用户进行交互 - Model: 区别于MVC架构中的Model,在这里不仅仅只是数据模型。在MVP架构中Model它负责对数据的存取操作,例如对数据库的读写,网络的数据的请求等。 - Presenter: 对于Presenter层他是连接View层与Model层的桥梁并对业务逻辑进行处理
**浅析EventBus 3.0实现思想**
[https://github.com/greenrobot/EventBus](https://github.com/greenrobot/EventBus)
[http://alighters.com/blog/2016/05/22/eventbus3-dot-0-analyze/](http://alighters.com/blog/2016/05/22/eventbus3-dot-0-analyze/)
EventBus is a publish/subscribe event bus optimized for Android. Google 的 guava 中也有一个 [eventbus](https://github.com/google/guava/wiki/EventBusExplained),可以一起学习下 Java 开发中如何解决组件通信问题。
**你所不知道的 EMC 开源的那些事**
[http://emccode.com/](http://emccode.com/)
[https://linux.cn/article-7384-1.html](https://linux.cn/article-7384-1.html)
EMC 是一家全球顶尖的存储产品供应商,它开源的这些东西值得对存储和云计算技术有兴趣的同学研究。
**技改之路:从单块应用到微服务,我的血泪总结**
[http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659597250&idx=1&sn=a5c36d68f96271b10589cf049a8d7f3b](http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659597250&idx=1&sn=a5c36d68f96271b10589cf049a8d7f3b)
详尽的介绍了一个国内领先的B2B机票分销平台的技改之路,值得学习。
**为何大量网站不能抓取?爬虫突破封禁的6种常见方法**
[http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547274&idx=1&sn=52e5037b163146c1656eedce2da1ecd8](http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547274&idx=1&sn=52e5037b163146c1656eedce2da1ecd8)
在采集网站的时会遇到一些比数据显示在浏览器上却抓取不出来更令人沮丧的事情。也许是向服务器提交自认为已经处理得很好的表单却被拒绝,也许是自己的 IP 地址不知道什么原因直接被网站封杀,无法继续访问。这篇文章将会介绍一些网络采集的黑魔法(HTTP headers、CSS 和 HTML 表单等),以克服网站阻止自动采集。在有类似场景时可以参考。
**那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程**
[http://www.cnblogs.com/aoyeyuyan/archive/2016/05/22/5495219.html](http://www.cnblogs.com/aoyeyuyan/archive/2016/05/22/5495219.html)
文艺范的一篇科普文,这几个耳熟能详的术语还是得搞明白的。
**无他,但手熟尔**
[http://icodeit.org/2016/05/practise-in-programming/](http://icodeit.org/2016/05/practise-in-programming/)
对高效的思考,从搜索、肌肉记忆两个维度展开讨论。文章末尾提到的 Kata 挺值得学习的,每个Kata都包含一个简单的编程问题,可以当做编程练习
## 新鲜货
**ECMAScript 6 Proper Tail Calls in WebKit**
[https://webkit.org/blog/6240/ecmascript-6-proper-tail-calls-in-webkit/](https://webkit.org/blog/6240/ecmascript-6-proper-tail-calls-in-webkit/)
Proper Tail Calls (PTC) is a new feature in the ECMAScript 6 language. This feature was added to facilitate recursive programming patterns, both for direct and indirect recursion.
**Fetch (or the undeniable limitations of XHR)**
[https://blogs.windows.com/msedgedev/2016/05/24/fetch-and-xhr-limitations/](https://blogs.windows.com/msedgedev/2016/05/24/fetch-and-xhr-limitations/)
Edge 也开始支持 Fetch APIs 了,另附一个 IE 支持 [Real-Time Communications with Microsoft Edge](https://www.sitepoint.com/real-time-communications-with-microsoft-edge/) 的文章。
**[译]CSS2.1规范中文版**
[http://www.ayqy.net/blog/css2-1%E8%A7%84%E8%8C%83%E4%B8%AD%E6%96%87%E7%89%88/](http://www.ayqy.net/blog/css2-1%E8%A7%84%E8%8C%83%E4%B8%AD%E6%96%87%E7%89%88/)
赞这个浩大的工程。
**Six nifty ES6 tricks**
[http://www.2ality.com/2016/05/six-nifty-es6-tricks.html](http://www.2ality.com/2016/05/six-nifty-es6-tricks.html)
译文[https://www.h5jun.com/post/six-nifty-es6-tricks.html](https://www.h5jun.com/post/six-nifty-es6-tricks.html)
In this blog post, I show six tricks enabled by new ES6 features. At the end of each section, I point to related material in my book “Exploring ES6” (which is free to read online).
**v8_inspector Support Being Added to Node**
[https://github.com/nodejs/node/pull/6792](https://github.com/nodejs/node/pull/6792)
This PR brings in v8_inspector support to Node.js (currently behind a compile time flag.) This means Node.js can now be debugged and profiled via the Chrome Debugging Protocol, which enables inspection via Chrome DevTools and other tools & IDEs.
**Introducing QuorraJS**
[https://quorrajs.org/](https://quorrajs.org/)
[https://medium.com/@quorrajs/we-are-just-getting-started-f6593e4ae06b#.tk161tx4n](https://medium.com/@quorrajs/we-are-just-getting-started-f6593e4ae06b#.tk161tx4n)
Quorra is a full fledged Node.js MVC framework inspired by Laravel. 在 ThinkPHP 被 ThinkJS 借鉴后,PHP 最火的框架 Laravel 也迎来了追随者。
**Deco IDE**
[https://github.com/decosoftware/deco-ide](https://github.com/decosoftware/deco-ide)
开源 React Native IDE,一个很大的优势就是内嵌了 node 及框架,不用翻墙下载了。。。
**Heron**
[https://github.com/twitter/heron](https://github.com/twitter/heron)
Twitter 的实时分析引擎开源了,号称吞吐量是 Storm 的 10 倍以上。同时开源的还有 DistributedLog (DL)[https://github.com/twitter/distributedlog](https://github.com/twitter/distributedlog) a high-performance, replicated log service, offering durability, replication and strong consistency as essentials for building reliable distributed systems.
**提高编程技能的有趣方法—游戏**
[http://mp.weixin.qq.com/s?__biz=MzA3NDM1NjUwMQ==&mid=2650486681&idx=2&sn=2798dc99c2baa82e95a0af39be78eb75](http://mp.weixin.qq.com/s?__biz=MzA3NDM1NjUwMQ==&mid=2650486681&idx=2&sn=2798dc99c2baa82e95a0af39be78eb75)
如果你曾经从书上学习编写代码,你就知道那有多乏味。为什么不试试一些激动人心的方法来使学习更有乐趣呢?下面介绍的这些网站每个都有自己独特的风格,但是它们都加入了游戏元素。这些稀奇古怪而有趣的游戏能够使你找回学习的乐趣。
**BlueKit**
[http://bluekit.blueberry.io/](http://bluekit.blueberry.io/)
实时预览 React 组件效果
**vConsole**
[https://github.com/WechatFE/vConsole](https://github.com/WechatFE/vConsole)
微信团队出的移动页面 console 工具,类似 firebug lite
**Futurice React Native Starter Kit**
[https://github.com/futurice/pepperoni-app-kit](https://github.com/futurice/pepperoni-app-kit)
方便使用 React Native 的应用模板
**Eruda**
[https://github.com/liriliri/eruda](https://github.com/liriliri/eruda)
Console for Mobile Browsers. Logging things out on mobile browser is never an easy stuff. I used to include window onerror alert script inside pages to find out JavaScript errors, kind of stupid and inefficient. Desktop browser DevTools is great, and I wish there is a similar one on mobile side, which leads to the creation of Eruda.
**WebVR 规范**
[https://mozvr.com/webvr-spec/](https://mozvr.com/webvr-spec/)
Mozilla 主导的,在 Firefox 中率先支持
**Android群英传**
[http://www.duokan.com/book/109325](http://www.duokan.com/book/109325)
一本名字和简介很吊的书:让你笑傲Android江湖的实战派武功秘籍!真正一线安卓开发者实作,无私分享独到的思维与技巧!
**Real-Time Communications with Microsoft Edge**
[https://www.sitepoint.com/real-time-communications-with-microsoft-edge/](https://www.sitepoint.com/real-time-communications-with-microsoft-edge/)
Modern browsers are rapidly converging on a set of standardized APIs for plugin-free, interoperable real-time communications. This session will cover development of real-time communications applications for the web and mobile devices using Microsoft Edge as well as open source libraries to enable interoperability across platforms and mobile devices.
**找回文本的力量,恰到好处的写作体验——MarkEditor**
[http://markeditor.com/app/markeditor](http://markeditor.com/app/markeditor)
[http://www.zouyuhui.com/post/chan-pin-yu-she-ji/zhao-hui-wen-ben-de-li-liang-qia-dao-hao-chu-de-xie-zuo-ti-yan-markeditor](http://www.zouyuhui.com/post/chan-pin-yu-she-ji/zhao-hui-wen-ben-de-li-liang-qia-dao-hao-chu-de-xie-zuo-ti-yan-markeditor)
与其说 MarkEditor 是一款编辑器,倒不如说它是一个文本处理、写作等诸多工具的集合。潜伏着野兽般的强大功能,用该产品开发者「海波」的话来说就是:简洁与强大,从不是矛盾的事物。
**lightgallery**
[http://sachinchoolur.github.io/lightgallery-desktop/](http://sachinchoolur.github.io/lightgallery-desktop/)
一个基于 electron 和 node 的桌面图片浏览工具
**Black Screen**
[https://github.com/shockone/black-screen](https://github.com/shockone/black-screen)
基于 electron 写的终端,自动完成功能很强大
**LoadingDrawable**
[https://github.com/dinuscxj/LoadingDrawable](https://github.com/dinuscxj/LoadingDrawable)
Some android loading drawable, can be combined with any View as the loading View and Progressbar, and is especially suitable for the loading animation of the RecyclerRefreshLayout.
**CryEngine out on GitHub**
[https://github.com/CRYTEK-CRYENGINE/CRYENGINE](https://github.com/CRYTEK-CRYENGINE/CRYENGINE)
著名游戏引擎 CryEngine 开源,对 Game 开发有兴趣的可以学习。
**Moving Away from Python 2**
[https://asmeurer.github.io/blog/posts/moving-away-from-python-2/](https://asmeurer.github.io/blog/posts/moving-away-from-python-2/)
**Algorithm Visualizer**
[https://github.com/parkjs814/AlgorithmVisualizer](https://github.com/parkjs814/AlgorithmVisualizer)
一些经典算法的可视化展示。
**Mock Node**
[https://github.com/ianunay/mock-node](https://github.com/ianunay/mock-node)
A configurable mock server with an intuitive configuration management interface and a http api.
**Nix as OS X Package Manager**
[http://ariya.ofilabs.com/2016/05/nix-as-os-x-package-manager.html](http://ariya.ofilabs.com/2016/05/nix-as-os-x-package-manager.html)
[https://nixos.org/nix/](https://nixos.org/nix/)
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments.
**Headless GL**
[https://github.com/stackgl/headless-gl](https://github.com/stackgl/headless-gl)
gl lets you create a WebGL context in node.js without making a window or loading a full browser environment.
## 产品及其它
**克制的力量-腾讯创始人Tony谈产品人的信仰**
[http://mp.weixin.qq.com/s?__biz=MzA3MzA4NjgxMg==&mid=2651831122&idx=1&sn=82b5f21cd8c8b8f668bf477ca5deedc0](http://mp.weixin.qq.com/s?__biz=MzA3MzA4NjgxMg==&mid=2651831122&idx=1&sn=82b5f21cd8c8b8f668bf477ca5deedc0)
克制背后是敬畏心,对自然的敬畏,对顾客感受的敬畏。自然就是用户跟产品的接触点是顺其自然的,不是强行来的。致力于在自然接触点上感动用户,而不是勤快的各种搭售、各种拉,这是两个不同的用力的方向。每个产品,均有自己的边界,一个产品应对一个核心诉求,解决一个核心问题。团队智慧的凝聚,不是来自于VP、总裁、CEO的赞美,甚至不是来自于奖金激励, 而是产品本身让生活变得美好所带来的愉快和兴奋。能拿得起,放得下,凭着自己的克制、智慧、功力,用好产品去让这个世界变得优雅。
**当悲剧或失望来袭,要知道你们能扛过任何事**
[https://www.h5jun.com/post/when-tragedy-or-disappointment-strike-know-that-you-have-the-ability-to-get-through-absolutely-anything.html](https://www.h5jun.com/post/when-tragedy-or-disappointment-strike-know-that-you-have-the-ability-to-get-through-absolutely-anything.html)
Facebook COO 谢丽尔·桑德伯格在加州伯克利大学 2016 年毕业典礼上的演讲。建立起你们自己的韧性,当悲剧或失望来袭,要知道你们能扛过任何事。我保证你们有这个能力。常言道,我们比我们想象的更脆弱,但我们比我们想象的更坚强。
**来自老外的《道德经》之项目管理实践**
[https://opensource.com/open-organization/16/2/tao-project-management](https://opensource.com/open-organization/16/2/tao-project-management)
译:[https://linux.cn/article-7385-1.html](https://linux.cn/article-7385-1.html)
《道德经》,被认为是由圣人老子于公元前六世纪时所编写,是现存最为广泛翻译的经文之一。从宗教到关于约会的有趣电影等方方面面,它都深深地影响着它们,作者们借用它来做隐喻,以解释各种各样的事情(甚至是编程)。在思考有关开放性组织的项目管理时,我的脑海中便立马浮现出上面的这段文字。文中还提到《开放性组织:点燃激情提升执行力》这本书,看起来蛮不错的样子。
**云舒,一个技术至上者的理想主义**
[http://weibo.com/ttarticle/p/show?id=2309403978201981434927](http://weibo.com/ttarticle/p/show?id=2309403978201981434927)
[http://weibo.com/ttarticle/p/show?id=2309403978592936662526](http://weibo.com/ttarticle/p/show?id=2309403978592936662526)
喜欢这句感言:“如果你站在岸上,对在田里插秧的人指手画脚,说他们姿势不对,没有人会理你。但是当你亲自挽起裤腿跳下水,脚上有泥、头上有汗的时候,你说的话才有说服力、才有价值”。第二篇关于云舒的访谈也不错,很坦诚直接,有很多亮点。
** Electron 及 node-webkit 的维护者谈维护开源项目的体验**
[https://www.zhihu.com/question/36292298/answer/102418523](https://www.zhihu.com/question/36292298/answer/102418523)
看看 node-webkit 是如何被 Intel 玩坏的
**挑战-看完这段三分钟的视频**
[http://www.miaopai.com/show/cWWu6pPYDqviuOQ2sMgZrw__.htm](http://www.miaopai.com/show/cWWu6pPYDqviuOQ2sMgZrw__.htm)
不要快进,不要暂停,不要打开别的页面,不要东张西望。对很多人来说,这是很难的。分享给敢于挑战的你!!! 视频中的关于时间和注意力的讨论挺不错的,希望人人都能珍惜“时间”这个不可再生资源,找回小时候那种专注,重新控制自己的人生。