微信搜索『FEX』关注我们的公众号,及时获得最新资讯。

深阅读

Why Google Stores Billions of Lines of Code in a Single Repository
http://m.cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext
https://www.youtube.com/watch?v=W71BTkUbdqE
This article outlines the scale of that codebase and details Google’s custom-built monolithic source repository and the reasons the model was chosen. Google uses a homegrown version-control system to host one large codebase visible to, and used by, most of the software developers in the company. This centralized system is the foundation of many of Google’s developer workflows. Here, we provide background on the systems and workflows that make feasible managing and working productively with such a large repository. We explain Google’s “trunk-based development” strategy and the support systems that structure workflow and keep Google’s codebase healthy, including software for static analysis, code cleanup, and streamlined code review. 附阮一峰老师的 学习笔记

Improving Color on the Web
https://webkit.org/blog/6682/improving-color-on-the-web/
The past few years have seen a dramatic improvement in display technology. First it was the upgrade to higher-resolution screens, starting with mobile devices and then desktops and laptops. Web developers had to understand high-DPI and know how to implement page designs that used this extra resolution. The next revolutionary improvement in displays is happening now: better color reproduction. Here I’ll explain what that means, and how you, the Web developer, can detect such displays and provide a better experience for your users.

Lists of JavaScript methods which you can use natively
https://github.com/cht8687/You-Dont-Need-Lodash-Underscore
Lodash and Underscore are great modern JavaScript utility libraries, and they are widely used by Front-end developers. However, when you are targeting modern browsers, you may find out that there are many methods which are already supported natively thanks to ECMAScript5 [ES5] and ECMAScript2015 [ES6]. If you want your project to require fewer dependencies, and you know your target browser clearly, then you may not need Lodash/Underscore.

How to Write an Open Source JavaScript Library
https://egghead.io/series/how-to-write-an-open-source-javascript-library
https://github.com/sarbbottam/write-an-open-source-js-lib/blob/master/readme.md
不错的学习资料

Google和微软牵手的产物:我为什么选择Angular 2
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650993121&idx=1&sn=d7ac7e04e28e697f91c714401676de58
对框架选型及 angular 的分析还算比较中肯,值得学习。

A Common Protocol for Languages
https://code.visualstudio.com/blogs/2016/06/27/common-language-protocol
用于编辑器自动完成、重构的协议,思想来自 TypeScript,后续有了这个,文本编辑器就都能很好支持大型应用的开发了

如何突破束缚 回归创造互联网的初衷
http://tech.163.com/16/0701/00/BQRMENDH00097U7R.html
http://www.fastcompany.com/3061357/the-web-decentralized-distributed-open
互联网的初衷:做你想做的任何事;技术’指那些‘目前还不能使用的东西’…文中提到的这几个东东挺不错的:Content Addressability、Indieweb、Interplanetary File System、Block Chain. 文章来自这个讨论下一代互联网的会议 Decentralized Web Summit

How to Upgrade a Node Module The Right Way
http://www.jamasoftware.com/blog/upgrade-node-module-right-way/
Now that all of that left-pad nonsense is behind us, we can get back to focusing on the business of utilizing node modules, or more specifically, how to upgrade our node packages in a safe, verifiable, refactory way (as refactory as Javascript lets us get, anyway).

An Introduction To Redux
https://www.smashingmagazine.com/2016/06/an-introduction-to-redux/
Redux is one of the hottest libraries in front-end development these days. However, many people are confused about what it is and what its benefits are.Redux is used mostly for application state management. To summarize it, Redux maintains the state of an entire application in a single immutable state tree (object), which can’t be changed directly. When something changes, a new object is created (using actions and reducers). We’ll go over the core concepts in detail below.

Autofill: What web devs should know, but don’t
http://blog.cloudfour.com/autofill-what-web-devs-should-know-but-dont/
Many people know that you can scan your credit credit in Mobile Safari. But how many web developers know how to create a form that supports that feature?

Module Loaders: Master the Pipeline!
https://medium.com/bitovi-design-and-development/module-loaders-master-the-pipeline-81c9416d4879#.7ucl8ukgg
This article is for developers who want to dig into JavaScript Module Loaders. We will look at how module loaders work, what the stages of the pipeline are, and how they could be customized.

The Languages Which Almost Became CSS
https://eager.io/blog/the-languages-which-almost-were-css/
A enjoyable essay looking at technologies and approaches that were proposed for styling Web documents before CSS became the firm favorite.

支付宝前端应用架构的发展和选择
https://github.com/sorrycc/blog/issues/6
了解下支付宝的前端应用架构发展历程。

PC与无线齐飞,Web共Native一色——天猫首页全解密
http://mp.weixin.qq.com/s?__biz=MzA4MjA0MTc4NQ==&mid=504090077&idx=1&sn=a35b791e51286f7048c2155f7c888c6d#rd
发展过程及优化

QQ空间直播秒开优化实践
http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1204
采用了预加载和缓存等方式优化

ReactMix:基于HTML+JS+CSS写APP的最佳实践
http://www.infoq.com/cn/articles/introducing-reactmix
对 React Native 的封装,RN 相关文章:React Native 实践之携程 Moles 框架 React Native痛点解析之性能调优

2016:iOS开发趋势思考
http://www.jianshu.com/p/9202e7de9cd7
从 swift native hybird 应用研发等角度给出了自己的思考。

Android 自绘动画实现与优化实战——以 Tencent OS 录音机波形动
https://segmentfault.com/a/1190000005811915
介绍了 Android Canvas 的应用。

Android热修复技术专题:来自微信、淘宝、支付宝、QQ空间的热修复方案
https://github.com/DiyCodes/code_news/blob/master/dialy_news/2016/06/%E7%AC%AC34%E6%9C%9F%EF%BC%9AAndroid%E7%83%AD%E4%BF%AE%E5%A4%8D%E6%8A%80%E6%9C%AF%E4%B8%93%E9%A2%98%EF%BC%9A%E6%9D%A5%E8%87%AA%E5%BE%AE%E4%BF%A1%E3%80%81%E6%B7%98%E5%AE%9D%E3%80%81%E6%94%AF%E4%BB%98%E5%AE%9D%E3%80%81QQ%E7%A9%BA%E9%97%B4%E7%9A%84%E7%83%AD%E4%BF%AE%E5%A4%8D%E6%96%B9%E6%A1%88.md
热补丁基本上是各大 app 的标配了

FaaS, PaaS, and the Benefits of the Serverless Architecture
https://www.infoq.com/news/2016/06/faas-serverless-architecture
This article discusses what serverless is, comparing it with PaaS and SPaaS, the benefits and costs of a serverless architecture and the need for a framework.

百度贴吧王伟冰:跳出历史技术栈,谨慎寻找最佳优化思路
http://www.infoq.com/cn/news/2016/06/baidu-tieba-History-technology-s
可以了解下贴吧性能优化方面的工作,赞这段:“性能优化是无止境的,一方面业务还在变得更复杂,流量还在涨;另一方面,比较好做的优化我们都已经做了,未来的优化将会更难,这对我们是很大的挑战。这时候需要跳出原来的技术栈,从更上层或者更低层的技术栈来看优化。除了性能之外,研发效率是更大的挑战”

消息队列设计精要
http://tech.meituan.com/mq-design.html
来自美团的实践。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。
当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文不会一一介绍这些消息队列的所有特性,而是探讨一下自主开发设计一个消息队列时,你需要思考和设计的重要方面。过程中我们会参考这些成熟消息队列的很多重要思想。

一篇文章,掌握所有开源数据库的现状
http://mp.weixin.qq.com/s?__biz=MzA5NzkxMzg1Nw==&mid=2653159940&idx=1&sn=8dae7a9184290fcc164fc9afe46ee78f
数据库作为业务的核心,在整个基础软件栈中是非常重要的一环。近几年社区也是新的方案和思想层出不穷,接下来我将总结一下近几年一些主流的开源数据库方案,其背后的设计思想以及适用场景。

滴滴passport设计之道:帐号体系高可用的7条经验
http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547482&idx=1&sn=13675fae5e037d720a9e9fb4a4861afd
介绍了滴滴登录体系的设计

微服务转型绕不开的坑——日志记录
http://blog.dataman-inc.com/shurenyun-microservice-132/
日志记录存在于一切应用当中,无论其属于整体还是微服务架构。关键在于,当我们将应用拆分为微服务形式时,我们需要投入大量时间来思考业务边界并找寻最理想的应用逻辑拆分方式——但很少有人会对日志记录给予应有的重视。

新鲜货

ECharts 3.2.0
http://efe.baidu.com/blog/echarts-3.2.0/
在 ECharts 四岁第一天发布的 3.2 版本,新增了刷选、markArea、单轴等组件;优化升级折线图、线图、dataZoom、坐标轴等;引入渐进式渲染和单独高亮层防止阻塞,重绘效率提升二到三倍!还有酷炫的主题编辑器 http://echarts.baidu.com/theme-builder/

Weex 正式开源
https://github.com/alibaba/weex
A framework for building Mobile cross-platform UI. Write Once Run Everywhere. Native Speed in Native Platform.

D3 V4.0
https://github.com/d3/d3/releases/tag/v4.0.0
There are a lot of improvements in 4.0: there were about as many commits in 4.0 as in all prior versions of D3. Some changes make D3 easier to learn and use, such as immutable selections.

Rails 5.0: Action Cable, API mode, and so much more
http://weblog.rubyonrails.org/2016/6/30/Rails-5-0-final/#yay
After six months of polish, four betas, and two release candidates, Rails 5.0 is finally done! It’s taken hundreds of contributors and thousands of commits to get here, but what a destination: Rails 5.0 is without a doubt the best, most complete version of Rails yet. It’s incredible that this community is still going so strong after so long.

Announcing .NET Core 1.0
https://blogs.msdn.microsoft.com/dotnet/2016/06/27/announcing-net-core-1-0/
We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and Entity Framework Core 1.0, available on Windows, OS X and Linux! .NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications. This release includes the .NET Core runtime, libraries and tools and the ASP.NET Core libraries. We are also releasing Visual Studio and Visual Studio Code extensions that enable you to create .NET Core projects

anime.js
http://anime-js.com/
https://github.com/juliangarnier/anime
Anime is a flexible yet lightweight JavaScript animation library.
It works with CSS, Individual Transforms, SVG, DOM attributes and JS Objects.

NativeBase - The missing piece of React Native
http://nativebase.io/
NativeBase is a free and open source framework that enables developers to build high-quality mobile apps using React Native iOS and Android apps with a fusion of ES6. NativeBase builds a layer on top of React Native that provides you with basic set of components for mobile application development. This helps you to build world-class application experiences on native platforms.

JavaScript performance updates in Microsoft Edge and Chakra
https://blogs.windows.com/msedgedev/2016/06/22/javascript-performance-updates-anniversary-update/
在内存方面做了些优化

Awesome React Boilerplates
http://habd.as/awesome-react-boilerplates/
React 入门模板

Twitter开源软件列表
http://www.infoq.com/cn/articles/twitter-open-source-list
很有意义的整理

WarriorJS: Learn ES6 While Playing A Game
https://github.com/olistic/warriorjs
Game written in JavaScript for learning JavaScript and artificial intelligence.

polygon-shredder
https://www.clicktorelease.com/code/polygon-shredder/#128
效果挺炫的

mac-cli
https://github.com/guarinogabriel/mac-cli
mac 下方便命令行操作的小工具

ELaunch
https://github.com/zaaack/ELaunch
A launcher based on Electron and inspired by UAfred, now only support linux and MacOS.

LayoutKit
http://layoutkit.org/
一个 iOS 的布局库

Build Your First Thing With WebAssembly
http://cultureofdevelopment.com/blog/build-your-first-thing-with-web-assembly/
尝试 WebAssembly,看来还很不成熟

程序员,你会从 Bug 中学习么?
http://blog.jobbole.com/103025/
作者至今已经用了 13 年的一个方法是,写下这个 bug 的简单描述、修复方法以及吸取的经验。每当我修复一个特别棘手或有趣的 bug,我总会花几分钟写下一些这个 bug 的信息。

AST explorer
http://astexplorer.net/
https://github.com/fkling/astexplorer
Paste or drop code into the editor and inspect the generated AST. 感兴趣的同学可以学习一下这个工具背后的各种开源语法解析器。

See How Dreamweaver is Transforming for the Future
http://blogs.adobe.com/dreamweaver/2016/06/see-how-dreamweaver-is-transforming-for-the-future.html
可以了解下这个暴露年龄的前端开发工具的新动作。

产品及其它

Finding Time to Become a Better Developer
https://medium.freecodecamp.com/finding-time-to-become-a-better-developer-eebc154881b2#.m6e8eqoc7
I used to think that the only way to be a great developer was to work myself sick. My health, friendships, and family all suffered because of it. Understanding the following 5 truths about time management for a developer is what saved me.

产品设计美学的跨界书单
https://zi.com/w/a?id=577004db0cf26862160c066a 作者觉得行业内的设计作品能给的灵感,感动,已经越来越少,看来看去都是一些重复的东西。所以开始探寻跨界设计师的想法,这篇文章以三本书作为载体,分享一些关于产品设计美学的跨界感悟。

谷歌远征教育的路上说不上成功,但你不得不服
http://www.leiphone.com/news/201607/fOOyslL3omOGWSSC.html
https://projectbloks.withgoogle.com/
https://developers.google.com/blockly/
这两天,谷歌推出积木式编程教育平台Project Bloks,以及宣布要把VR带入课堂的消息,让不少人兴奋了一把。毕竟,在大家盯着VR游戏和羞羞事的时候,大佬出来带头做教育。有盼头啊!谷歌远征教育的路上说不上成功,但你不得不服然而,搜索巨头谷歌搞教育也不是一天两天的事了。而且,地域也早已超越美国,远征非洲。但是,高潮似乎还没到。

Web 字体的选择和运用
https://blog.coding.net/blog/Web-Fonts
字体知识科普

作者:2betop (https://github.com/2betop) - 念我昵称的时候请用英文发音,谢谢!