2016.04.18  
========  

## 业界会议

**Facebook F8 Developer Conference 2016**  
https://www.fbf8.com/  
https://www.theguardian.com/technology/2016/apr/13/facebook-f8-developer-event-key-points  
可以围观下 FB 的黑科技，FB 还 [开源了 F8 大会用的 App](http://www.jackpu.com/react-nativezui-jia-xue-xi-mo-ban-f8-appkai-yuan-liao/ ) ，可以当做学习 React Native 的参考。附 [8观后有感](http://mp.weixin.qq.com/s?__biz=MjM5NTg2NTU0Ng==&mid=2656593348&idx=1&sn=514323013cd86b8bc3048f046ffe3b38)

**Gopher China 2016 - 4.16**  
http://www.gopherchina.org/  
Go 语言的应用越来越广了，期待资料。

**2016.04.24-大数据可视化浪潮－2016大数据可视化上海高峰论坛**  
http://weibo.com/ttarticle/p/show?id=2309403962830209556330  
学术界会议，感兴趣的同学可以参加

## 深阅读

**[译]How to be a Programmer**  
https://github.com/ahangchen/How-to-Be-A-Programmer-CN  
做一个好的程序员,困难而高尚。将一个软件工程集体愿景变为现实，最困难的地方在于与你的同事和顾客相处。编程很重要，这需要强大的智力和技能。 但在好的程序员看来，相比构建一个让客户和各种各样的同事都满意的软件系统，（纯粹的）编程真的只是小孩子的玩意。在这篇文章里，我尝试尽可能简洁地总结那些当我21岁时，希望别人告诉我的事。

**The Basics of Web Application Security**  
http://martinfowler.com/articles/web-security-basics.html  
Modern web development has many challenges, and of those security is both very important and often under-emphasized. While such techniques as threat analysis are increasingly recognized as essential to any serious development, there are also some basic practices which every developer can and should be doing as a matter of course.

**A Guide to Proper Error Handling in JavaScript**  
http://www.sitepoint.com/proper-error-handling-javascript/  
In this article I would like to explore error handling in JavaScript. I will cover pitfalls and good practices. We’ll finish by looking at asynchronous code and Ajax.

**REACT NATIVE 蛮荒开发生存指南**  
http://www.desgemini.com/?p=77  
不少有价值的经验分析。另附：[React-Native痛点解析之开发环境搭建及扩展](http://www.infoq.com/cn/articles/react-native-solution-dev-environment  ，React Native 的环境搭建在国内不像官网文档写得那么简单。

**从《中文排版需求》开始**  
http://www.typeisbeautiful.com/2015/04/9171/  
这个草案已经出来了，对出版业具有参考价值

**Jank Busters Part Two: Orinoco**  
http://v8project.blogspot.jp/2016/04/jank-busters-part-two-orinoco.html  
V8 技术团队介绍了新的并行垃圾回收机制的实现，这项技术记得减少了 GC 导致的延迟

**How V8 optimises JavaScript code?**  
https://medium.com/@ghaiklor/how-v8-optimises-javascript-code-a0f3bbd46ac9#.cav6904pu  
内容有点老，不过对于初学者来说还是挺有价值的

**Are Progressive Web Apps the Future?**  
http://developer.telerik.com/featured/are-progressive-web-apps-future/  
Progressive web apps aim to bridge the gap between the mobile web and native apps by providing things like the ability to install, run background processes (even when the app isn’t open) and send push notifications. This effort is being pushed by Google, and works on Android, but currently not backed by Apple – so no iOS support at the moment.

**npm is the Beating Heart of the JavaScript Ecosystem**  
https://hashnode.com/post/npm-is-the-beating-heart-of-the-javascript-ecosystem-cimvnbetj02r1wz53u4bjw1dr  
npm is the heart of the JavaScript ecosystem. It makes sure our modules end up where they’re supposed to. Pumping them out as needed. As JavaScript continues to grow, npm will grow with it. Supporting large enterprises, small startups, and tiny side projects. Being used for anything from web apps to robotics or home entertainment systems.

**The current state of dependency inversion in JavaScript**  
http://blog.wolksoftware.com/the-current-state-of-dependency-inversion-in-javascript  
http://inversify.io/  
Learn about the past, present and future of dependency inversion in JavaScript. Over the last year and a half, I’ve been reading a lot about dependency inversion and taking a look to the source code of many open-source IoC containers for JavaScript. At the same time I’ve been working on the development of InversifyJS (a powerful IoC container for JavaScript apps powered by TypeScript).

**Docker - libcontainer Principles**  
https://github.com/docker/libcontainer/blob/master/PRINCIPLES.md  
In the design and development of libcontainer we try to follow these principles:  
- Don't try to replace every tool. Instead, be an ingredient to improve them.  
- Less code is better.  
- Fewer components are better. Do you really need to add one more class?  
- ...  

**Why Javascript Development is Crazy**  
http://www.planningforaliens.com/blog/2016/04/11/why-js-development-is-crazy/  
The state of Javascript development is overwhelming and confusing because everyone is overengineering their apps by default without even realizing it.

**HTML5游戏引擎深度测评**  
http://www.jianshu.com/p/0469cd7b1711  
作者花了不少精力分析各个引擎的特性、性能及使用情况，值得参考

**HTTPS is Hard**  
https://blog.yell.com/2016/03/https-is-hard/  
有想迁移 https 的可以可控这篇文章，里面有些经验。另附[谈谈 HTTP/2 的协议协商机制](https://imququ.com/post/protocol-negotiation-in-http2.html)，介绍了服务端和客户端如何协商出最终使用的 HTTP 协议版本。

**State of the JavaScript Landscape: A Map for Newcomers**  
http://www.infoq.com/articles/state-of-javascript-2016  
给 JavaScript 新人的指南，介绍了各种相关的技术

**[译]展望 Javascript 2016年的趋势和生态发展**  
https://github.com/gaohailang/blog/issues/12  
之前的英文版没看的同学可以快速瞄一眼。

**为什么谷歌的服务从来不会崩溃？**  
http://mp.weixin.qq.com/s?__biz=MjM5ODIzNTc2MA==&mid=412331950&idx=1&sn=bab734f17b3baa97c66cb19a1f635baf  
把开发和运维结合起来，乃至把运维融合到代码之中，谷歌以此来调和开发与运维之间的结构性冲突。Google 提出了一个概念：网站可靠性管理（Site Reliability Engineering，简称SRE）。期望：在未来的世界里，运维能够更进一步变成代码的一部分；我们期待着有朝一日，不需要人进行任何管理。这是对应的书籍： [Site Reliability Engineering](https://landing.google.com/sre/book.html) ，Notes on Google's Site Reliability Engineering Book

**百度贾海禄为你揭秘室内定位技术的神秘面纱**  
http://www.infoq.com/cn/articles/baidu-indoor-positioning-system  
有不少干货

**background系列之无处不在的妙趣**  
http://blog.doyoe.com/2016/04/11/css/background%E7%B3%BB%E5%88%97%E4%B9%8B%E6%97%A0%E5%A4%84%E4%B8%8D%E5%9C%A8%E7%9A%84%E5%A6%99%E8%B6%A3/  
background 是一个很有意思的东西，不仅实际使用的频度超高，而且处处充满着好玩的妙趣。这里并不打算和大家聊所谓的最佳实践，更多的是希望可以通过一些示例激起大家更深层次的思考和探索欲。

**Typography — Deep Into OpenType Features**  
http://blog.ricardofilipe.com/post/deep-into-opentype-features  
OpenType 有许多鲜为人知的高级特性，可以通过 CSS 控制

**[译]CSS之父最担心什么**  
https://mp.weixin.qq.com/s?__biz=MzAwNDg2MDg3Ng==&mid=2650006744&idx=1&sn=4b1ac6b8d32810982cf9af1d29bba2b0  
原来是这个：“大家应该没有忘记，在IE一手遮天的时代，微软不在乎什么Web标准，也不改bug，技术发展趋于停滞。这样的历史有可能重演。苹果和谷歌现在都很强，谢天谢地，总算有两家在！”

## 新鲜货

**「百度 H5」开放使用了**  
http://h5.baidu.com/  
http://zhuanlan.zhihu.com/p/20675594  
欢迎大家来体验，完全无广告的 H5 制作工具

**Visual Studio Code 1.0**  
http://code.visualstudio.com/blogs/2016/04/14/vscode-1.0  
终于正式发布了，性能比 Atom 要好

**apiary - Powerful API Design Stack. Built for Developers**  
https://apiary.io/  
Write an API in 30 minutes. Share it with your teammates or customers. Let them use the API mock to take your API for a spin--without writing any code. Iterate, rinse & repeat. Coding can wait until you know what your developers really need. 这是 Tesla Model S JSON API 的例子 http://docs.timdorr.apiary.io/  

**Announcing Rust 1.8**  
http://blog.rust-lang.org/2016/04/14/Rust-1.8.html  
The Rust team is happy to announce the latest version of Rust, 1.8. Rust is a systems programming language focused on safety, speed, and concurrency.

**Vim 8.0 is coming**  
https://github.com/vim/vim/blob/master/runtime/doc/version8.txt  

**jspm.io - Frictionless Browser Package Management**  
http://jspm.io/  
jspm is a package manager for the SystemJS universal module loader, built on top of the dynamic ES6 module loader. Load any module format (ES6, AMD, CommonJS and globals) directly from any registry such as npm and GitHub with flat versioned dependency management. Any custom registry endpoints can be created through the Registry API.

**Spectre.css**  
https://github.com/picturepan2/spectre  
Spectre.css is a lightweight, responsive and modern CSS framework for faster and extensible development.
- lightweight and clean starting point for your project and prototype
- flexbox, responsive and mobile-friendly layout
- built in useful components and utilities

**WrapAPI-Build an API on top of any website**  
https://wrapapi.com/  
Build, share, and use APIs made from webpages. Use WrapAPI to scrape sites, build better UIs, and automate online tasks.

**buble**  
https://gitlab.com/Rich-Harris/buble  
一个 ES2015 编译为 ES5 的工具，号称速度很快

**React Native Playground**  
https://rnplay.org/  
可以在线学习 React Native 开发的在线平台，有远程e虚拟机方便调试

**Open-sourcing ReDex: Making Android apps smaller and faster**  
https://code.facebook.com/posts/998080480282805/open-sourcing-redex-making-android-apps-smaller-and-faster/  
Facebook 出的 Dex 字节码优化工具，号称能减小 25% 体积并提升 30% 速度

**Hjson, the Human JSON**  
https://hjson.org/  
方便手工编写 JSON 的工具，适合用来做为 JSON 配置文件

**Jaspy**  
https://github.com/koehlma/jaspy  
基于 JavaScript 写的 Python 虚拟机，这个是从零开始写的

**腾讯云机房访问微信支付接口的延时比其他云服务厂商少30%**  
http://mp.weixin.qq.com/s?__biz=MjM5MzM3NjM4MA==&mid=406956398&idx=1&sn=d3c57a68d8f6d35c7b3485bef6353c79  
腾讯云机房主机调用微信支付接口的延时最高缩短了20%，腾讯云机房访问微信支付接口的延时比其他云服务厂商少30%。

## 产品及其它

**TOMsInsight - 碎片化信息的价值：懒惰与慰藉**  
http://mp.weixin.qq.com/s?__biz=MzA3NTcwOTIwNg==&mid=2655842753&idx=1&sn=4462d9d3fddb79c7ffbf4f0aa4971448&scene=0#rd  
如果对本质的认识就是错的，了解的信息越多偏差越大；如果没有体系化的认知，了解的信息越多也就越迷茫。只是我们都觉得自己仅仅信息了解不足，而不是认识不清，更不是没有科学系统学习。信息绝对不等于认知，然而互联网碎片化信息更没有价值。我们会继续在迷茫和蹉跎中寻找目标，也会继续寻找成功道路上的捷径，我们用大量的时间消费着碎片化的信息，给予自己各种慰藉，却永远不会承认自己的懒惰。互联网改变了我们的生活方式，改变了信息传承和创新，同时也改变了我们生命中的时光。

**The Wetware Crisis: the Dead Sea effect**  
http://brucefwebster.com/2008/04/11/the-wetware-crisis-the-dead-sea-effect/  
【死海效应】公司发展到一定阶段，能力强的员工容易离职，因为他们对公司内愚蠢的行为的容忍度不高，他们也容易找到好工作；能力差的员工倾向于留着不走，他们也不太好找工作，年头久了，他们就变中高层了。文章把这种现象叫做死海效应：好员工像死海的水一样蒸发掉，然后死海盐度就变得很高，正常生物不容易存活。

**两年时间从0做到日均300万单，美团外卖是这样做到的**  
http://www.cyzone.cn/a/20160415/294217.html  
非常详细的介绍了美团外卖的崛起之路。

**也谈程序员影响力的经营**  
http://weibo.com/ttarticle/p/show?id=2309403963757121391703  
这是一个首先靠实力，然后才靠传说的江湖。没有真材实料，膜拜的小船说翻就翻。另附，[民工叔的-程序员的自我营销](http://zhuanlan.zhihu.com/p/20736908?columnSlug=%28null%29)

**摆脱对PC、服务器的依赖，英特尔“悄悄”在人工智能布下两颗棋子**  
http://www.huxiu.com/article/145416/1.html  
了解下 Intel 如何针对人工智能领域提供计算能力和感知能力。另附：[马斯克的秘密 AI 项目 OpenAI 在做什么？](http://36kr.com/p/5045937.html)

-- THE END --
