2017

基础镜像 | 再谈 Docker 瘦身
镜像是 Docker 运维的基本单元。 优化镜像体积,能够: 缩短部署时的下载时间; 提升安全性,因为可供攻击的目标更少; 减少故障恢复时间; 节省存储开销。 正确认识分层和共享 认清与理解 Docker 镜像的层次结构,是进行镜像优化的前提和基础。 Read More

多步构建 | Docker 瘦身之旅
软件生命周期管理中,CI/CD 体系引入 Docker 以提升开发效率形成共识; 然而 Docker 构建出的镜像体积太大,成为令人头疼的问题。 解决思路,除了选择较小的基础镜像(base image),在构建过程对新增内容进行选择,也是控制镜像体积的有效途径。 Docker 17.05 引入 多步构建,特别有助于高效构建精简镜像。 Read More

YC 2017 夏季阅读书单
Y Combinator 推荐的 20 本书 Read More

Docker、Kubernetes、Apache Mesos 之争 | 一个与传说不同的故事
有无数的文章、讨论和社交网络上的交流在比较 Docker、Kubernetes 和 Mesos。 如果只听取部分信息,你会以为这三个开源项目正在为容器世界的霸权而决战。 你也可能认为,选择其一几乎是一个宗教选择;真正的信徒维护他们的信仰,烧死胆敢考虑其它替代品的异端者。 这都是呓语。 Read More

“茴”字的 N 种写法:关于 Ruby Array 与 Enumerable
【词汇量?是的!编程语言也要背单词!】 Array 是最基本的数据结构之一。 对数组的操作,回忆一下,除了 .each,你还会哪些操作? 对 Array 元素进行处理的操作很常见。 Array 的内置方法提供了基本的操作。然而有些场合这些方法并不够用以实现简单的处理逻辑。 好消息是可以利用 Enumerable 模块提供的方法,而这些方法容易被忽视。 Read More

2017 年值得关注的开源项目
常回顾过去,有益于看清未来。 值此 2017 年已过半,通过找出当前正流行的技术项目,看看他们怎么“改变世界”。 技术不是孤立存在,而是在整个经济社会发展过程中应运而生。 这些项目热门项目,涵盖信息革命当前阶段的几个关键问题: 方向、核心、载体、设施等。 Read More

故障平均恢复时间 - MTTR
DevOps 组织不是试图避免故障,而是承认故障是生活的一部分 Read More

编写一个 Unix Shell - 第一部分
按部件来构建自己的 UNIX shell。这篇文章的重点是系统调用 fork 的语义 Read More

选择适合 Rails 开发的操作系统
有人说 Ubuntu, 有人说 Linux Mint, 也有人偏好 MacOS, 甚至用 Windows。 到底应该怎么选择适合 Rails 开发的操作系统呢? Read More

用科技解决洁净水资源供应难题
生命离不开水,人的健康更需要洁净水。 我们正面临着日益严重的水资源短缺的威胁。 洁净水资源的短缺已经成为一个全球性问题。 人口增长、空气污染和气候变化都将加剧了洁净水的短缺,尤其是大城市增多,更面临如何管理水资源的挑战。 科技是解决发展问题的根本。 环境问题日趋严重的事实,不应完全归罪于生产的发展,解决的根本之道是提高人类认识、适应和改造世界的能力。 Read More

2016

Nginx访问计数和频率控制
在使用了负载均衡设施的网站中,对 HTTP 请求做访问控制(频率控制)是个经常遇到的需求。 频率控制的主要目的,传统应用场景中要保护后端系统。 在多租户的云服务上,通过频率控制对不同租户的资源使用量进行有效分配,从而避免相互影响访问质量。 频率控制的精细度,也需要控制在集群级别,而非传统意义的单进程级别。 Read More

创业公司的科学方法
(译自 Y Combinator) 当讨论创业公司时,人们倾向于谈论灵感和创造力。 这使得创始人相信可以想象出一个方案来解决所有他们试图解决的问题。 现实中,运行一个创业公司是 创造力/直觉/本能 与 科学方法 ( 假设 > a/b 测试 > 总结 > 重复 )之间的平衡。 灵感 帮你找到一个问题来解决。 创造力 使你能够集思广益出解决问题的各种潜在方案。 科学方法 指导你从这些方案中选出哪一个能真正解决你客户的问题。 Read More