大型分布式团队的代码版本管理

介绍这个话题,有两个原因:
1、从开始工作到现在,我经历过从没有代码版本管理到代码集中式管理,到分布式管理,我深刻体会到它在软件开发过程中的重要性;
2、我在工作中遇到很多客户都存在对于代码版本管理的各种问题,困惑和不同的需求。
所以我希望将我在这个方面的经验分享给更多人,希望能帮助更多的团队解决在代码版本控制方面的问题和疑惑。

Serverless架构实践初探

目前AWS Lambda似乎已经成为了Serverless的代名词,为了帮助开发者更好的构建Serverless应用,市场上出现了一些工具和框架,例如Serverless Framework。但是同样我们还可以看到一些其他的云平台和开源框架也在提供类似的服务,例如webtask,OpenWhisk,以及其在IBM Bluemix上的实现。

Serverless架构作为一种新的架构方式,还在不断的发展中。希望本文能给您带来一些思考。

一张漂亮的可视化图表背后

多年前读过一篇非常震撼的文章,叫《Lisp之根》(英文版:The roots of Lisp),大意是Lisp仅仅通过一种数据结构(列表)和有限的几个函数,就构建出了一门极为简洁,且极具扩展性的编程语言。当时就深深的被这种设计哲学所震撼:一方面它足够简单,每个单独的函数都足够简单,另一方面它有非常复杂,像宏,高阶函数,递归等机制可以构建出任意复杂的程序,而复杂的机制又是由简单的组件组成的。

数据的可视化也是一样,组成一幅内容清晰、表达力强、美观的可视化信息图的也仅仅是一些基本的元素,这些元素的不同组合却可以产生出令人着迷的力量。

拥抱深度学习的正确姿势

最近几年,深度学习备受关注,几乎2016年的每一项人工智能成就背后,都能看到深度学习的影子。数据的获取、存储和计算能力的增强,算法的进步等因素综合起来促生了深度学习技术的崛起。深度学习目前的成果大多还是来自学术研究,然而,在不远的将来,以深度学习驱动的人工智能技术,将给企业软件开发带来巨大的变革。

也谈“精益”

精益对大家来说都不陌生了,无论是最开始提取的丰田制造原型,还是后面延伸出来的物流供应链管理,再到近两年颇为流行的精益创业(Lean Startup),都在不停刷新着“精益”这个概念。最近也不乏把精益当成“热词”来包装的各种理论,以至于很多客户建议我另外给“精益企业”取个名字。我一般都会礼貌回答说:看看精益房子(见下图)吧,我们并没有发明什么新东西。