FEX 技术周刊 - 2016/09/05
微信搜索『FEX』关注我们的公众号,及时获得最新资讯。
业界会议
JS Conf 2016 - 9.3-9.4
http://2016.jsconf.cn/
JS 盛会,规模在逐年扩大,值得关注。附演讲资料:egg - 企业级 node 框架 Node.js在线性能调优与故障排查。
这里是知乎上的一些参会体验 https://www.zhihu.com/question/50244455。
百度世界大会 - AI is the new Electricity
http://baiduworld.baidu.com/
这应该是科技含量最高的一届百度世界大会,AI 技术经多年持续投入已经初显锋芒。
相关资讯: 一图看懂百度世界大会 、如何评价百度开源的深度学习框架 Paddle。附:Paddle 、 百度大脑
深阅读
BrowserLab: Automated regression detection for the web
https://code.facebook.com/posts/1368798036482517/browserlab-automated-regression-detection-for-the-web/
Time spent in browser rendering and scripting has grown to become a major bottleneck in loading facebook.com — at the beginning of 2016, we found that the majority of load time was spent on the client. To solve this problem, we set out to build a system capable of detecting changes in performance that can run on any commit to automatically prevent client regressions from shipping to production.
另外 Facebook 还推出了Zstandard 1.0, a new compression algorithm and implementation designed to scale with modern hardware and compress smaller and faster.
The Case for Custom Elements
https://medium.com/dev-channel/the-case-for-custom-elements-part-1-65d807b4b439#.c5ey70oln
https://medium.com/dev-channel/the-case-for-custom-elements-part-2-2efe42ce9133#.6hburcdgr
In this post I want to make the case for why I think Custom Elements make sense, especially for large organizations. In Part 2 I will present a deeper dive on the features that make Custom Elements so compelling. I’ll also explore topics often overlooked when discussing Custom Elements, such as their ability to work with Virtual DOM and be rendered on the server.
JS MythBusters
http://mythbusters.js.org/index.html
The purpose of this handbook is to learn how to use JS language features without losing performance.
Three JavaScript performance fundamentals that make Bluebird fast
https://reaktor.com/blog/javascript-performance-fundamentals-make-bluebird-fast/
Bluebird is a widely used promise library for JavaScript which initially got noticed back in 2013 due to it being up to 100 times faster than other promise implementations with similar feature sets at the time. What makes Bluebird so fast is the consistent application of some JavaScript optimization fundamentals throughout the library. This article will go over in detail 3 of the most valuable fundamentals that were used to optimize Bluebird.
The State Of JavaScript: JavaScript Flavors
https://medium.com/@sachagreif/the-state-of-javascript-javascript-flavors-1e02b0bfefb6#.42m66bgx7
了解下 ES6, TypeScript, Elm, CoffeeScript, ClojureScript 的使用情况
JavaScript Garbage Collection Improvements - Orinoco
https://blog.risingstack.com/javascript-garbage-collection-orinoco/
This article summarizes the three main effect of the new V8 upgrade (5.0) on JavaScript garbage collection.
Ohm: JavaScript Parser that Creates a Language in 200 Lines of Code
https://www.pubnub.com/blog/2016-08-30-javascript-parser-ohm-makes-creating-a-programming-language-easy/
We’ll explore a new open source Javascript library called Ohm that makes building parsers easy and easier to reuse. In this series, we use Ohm to recognize numbers, build a calculator, and more. By the end of this series you will have created a complete programming language in under 200 lines of code. This powerful tool will let you do things that you might have thought impossible otherwise.
谈谈互联网后端基础设施
http://www.rowkey.me/blog/2016/08/27/server-basic-tech-stack/
对于一个互联网企业,后端服务是必不可少的一个组成部分。抛开业务应用来说,往下的基础服务设施做到哪些才能够保证业务的稳定可靠、易维护、高可用呢?这盘文章针对这个问题给出了非常详细的解读。JS 正在承担越来越多的服务端应用开发,这个文章很有参考意义。
技术团队风格指南
https://zhuanlan.zhihu.com/p/22266609
来自 ele 前端团队的经验。另附:来自腾讯互动娱乐前端重构组的 前端重构成长指南
[译] HTTP 推送
http://www.wemlion.com/2016/being-pushy/
push 能用来做什么,以及它的缺点
4 Clever Psychology Rules for Making Better UX Decisions
https://www.sitepoint.com/4-clever-psychology-rules-for-making-better-ux-decisions/
Context is Everything in UX; Image Positioning Can Have Split User Attention; Avoid Drastic Redesigns – Use a Gradual and Subtle Approach; Use Fonts to Lighten Readers’ Moods;
Ways To Reduce Content Shifting On Page Load
https://www.smashingmagazine.com/2016/08/ways-to-reduce-content-shifting-on-page-load/
Have you ever opened a website, started reading and, after some time had passed and all assets had finished loading, you found that you’ve lost your scroll position? I undergo this every day, especially when surfing on my mobile device on a slow connection — a frustrating and distracting experience. Any time a browser has to recalculate the positions of elements in a document, a reflow occurs which can affects performance and the user experience. How can these shifts be minimized?
Roadmap for learning the JavaScript language
http://bytearcher.com/articles/roadmap-for-learning-javascript-language/
If you’re new to JavaScript programming, all the buzzwords in the scene can make your head spin: ES6, Node.js, TypeScript, Angular, React, Aurelia. You’re wondering how are you going to tackle all of these technologies - even counting the number of different frameworks out there seems overwhelming. Here’s a roadmap for learning the JavaScript language.
从HTTP响应头看苹果国内用了哪家CDN及CDN高防DDOS技术
https://segmentfault.com/a/1190000006739522
看到了 ATS 悲剧的历史
iOS 符号表恢复 & 逆向支付宝
http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=2709545175&idx=1&sn=1c080685fabf2f24269c6e544e9213d7
本文介绍了恢复符号表的技巧,并且利用该技巧实现了在 Xcode 中对目标程序下符号断点调试,该技巧可以显著地减少逆向分析时间。在文章的最后,作者以支付宝为例,展示出通过在 UIAlertView 的 show 方法处下断点,从而获得支付宝的调用栈的过程。
新鲜货
Git 2.10 has been released
https://github.com/blog/2242-git-2-10-has-been-released
The open source Git project has just released Git 2.10.0, with features and bugfixes from over 70 contributors. Here’s our look at some of the most interesting new features: Progress reporting for pushes; Signature verification improvements; More color attributes.
babili(babel-minify)
https://github.com/babel/babili
An ES6+ aware minifier based on the Babel toolchain.
Announcing TypeScript 2.0 RC
https://blogs.msdn.microsoft.com/typescript/2016/08/30/announcing-typescript-2-0-rc/
This RC gives an idea of what the full version of 2.0 will look like, and we’re looking for broader feedback to stabilize and make 2.0 a solid release. Overall, the RC should be stable enough for general use, and we don’t expect any major new features to be added past this point.
微信开源PhxSQL:高可用、强一致的MySQL集群
https://github.com/tencent-wechat/phxsql
PhxSQL是由微信后台团队自主研发的一款服务高可用、数据强一致的分布式数据库服务。该服务基于Percona5.6搭建,目标在于解决MySQL在容灾和数据一致性方面的不足,并大幅简化了MySQL容灾切换的运维操作。附:微信最新开源的PhxSQL:我的收获和一些想法。另外,在 MySQL 方面 Fackbook 还有开源的 MyRocks 。
阿里云开源离线同步工具DataX 3.0
https://github.com/alibaba/DataX
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。
xterm.js
https://github.com/sourcelair/xterm.js
Xterm.js is a terminal front-end component written in JavaScript that works in the browser. It enables applications to provide fully featured terminals to their users and create great development experiences.
Micro
https://github.com/zyedidia/micro
简单的命令行文本编辑器,对鼠标支持好,适合没学过 vim 的临时用用
RE:DOM
https://redom.js.org/
https://github.com/pakastin/redom
Tiny, but super fast DOM library
Cesium
https://github.com/AnalyticalGraphicsInc/cesium/
Cesium is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization.
Textures.js - SVG patterns for Data Visualization
http://riccardoscalco.github.io/textures/
https://github.com/riccardoscalco/textures
Textures.js is a Javascript library for creating SVG patterns. Made on top of d3.js, it is designed for data visualization.
First Public Working Draft: Input Events
https://www.w3.org/blog/news/archives/5753
https://www.w3.org/TR/2016/WD-input-events-20160830/
W3C的Web平台工作组(Web Platform Working Group)发布输入事件(Input Events)首个公开工作草案。该规范定义了文本及相关输事件的添加,允许在文本编辑器应用程序和其他处理文本输入和文本格式应用程序的上下文中,对默认浏览器行为进行监控和操作。该规范建立在UI事件(UI events)规范的基础上。
Minio
https://minio.io/
https://github.com/minio/minio
Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB.
SRL - Simple Regex Language
https://simple-regex.com/
SRL, or Simple Regex Language, is an easy to use language to form and build Regular Expressions. You no more have to struggle with odd characters and signs and worry if you’ve forgotten a +, . or \ somewhere. SRL is simple but powerful and helps you to prevent common mistakes. And in addition to that it saves you a lot of time since you don’t have to learn how to write Regular Expressions any more. PHP 实现的类库,思路可借鉴。
Which Country Would Win in the Programming Olympics?
http://blog.hackerrank.com/which-country-would-win-in-the-programming-olympics/
Which countries have the best programmers in the world? According to our data, China and Russia score as the most talented developers. Chinese programmers outscore all other countries in mathematics, functional programming, and data structures challenges, while Russians dominate in algorithms, the most popular and most competitive arena. While the United States and India provide the majority of competitors on HackerRank, they only manage to rank 28th and 31st.
Exclusive - Google shelves plan for phone with interchangeable parts: sources
http://uk.reuters.com/article/uk-google-smartphone-exclusive-idUKKCN118065
http://tech.sina.com.cn/t/2016-09-03/doc-ifxvqcts9352236.shtml
Google 要停止模块化手机 Project Ara 了。
产品及其它
How a Technical Co-founder Spends their Time: Minute-by-minute Data for a Year
http://jdlm.info/articles/2016/07/04/cto-time-minute-by-minute.html
Overleaf CTO 对自己一年多来的工作时间分析
硅谷的那些明星产品是如何进行AB测试的
http://mp.weixin.qq.com/s?__biz=MjM5NDUyOTAwOA==&mid=2652912744&idx=1&sn=c21a84907d5a06f355e360befd27c4e2
A/B测试根本不是互联网行业的新发明。在流水线生产、快消领域,A/B测试早就证明了自己的价值,远比大多数万众创业者“重新发明商业模式”的性价比要高。如果你还不相信,我们就来看一下,硅谷的产品是如何用A/B测试优化了业务的。
[译]一份 Docker 的反方辩论——我还是用 Heroku 好了
http://mp.weixin.qq.com/s?__biz=MjM5NjQ4MjYwMQ==&mid=2664608086&idx=3&sn=18c0ec7627561662f398b98486e843e7
这是一篇在国外社区非常火的文章。由CircleCI创始人所写,追逐热点新技术的程序员与只想做个简单web应用的程序员对话,Docker到底能否解决简单小应用的问题吗?Heroku真的歇菜了吗?其实很多时候工程师想要的只是一个能让代码运行的简单、可靠的环境。
哪个蠢蛋写的烂代码
https://zhuanlan.zhihu.com/p/22196816
大家都在抱怨同事的代码写的烂,前同事遗留下来的代码bug多……遗憾的是,你既可能是那个吐槽别人给你留下了麻烦,也可能是别人嘴里那个制造麻烦的人。
在 Google 到底能学到啥?
http://mp.weixin.qq.com/s?__biz=MzAwNDc0MTUxMw==&mid=2649639438&idx=1&sn=158ceacc52531c21c8a23cbe15ba61f7
来自 Google 一位 Staff Software Engineer 的经验,总结出了 4 条:第一次真实地生活在一个差异化的世界里;心态一下子大不一样了,从技术的“用户”变成了技术的“主人”;“管理”二字的意义完全不同,聪明人在一起,只需要激励,不需要管理,Google 的办法主要也是强调这一点;看待职业生涯的心态不同,在整个职业生涯里,至少要有一部分(哪怕是一小部分)时间,可以比较纯粹地为了开心而工作。