阅读笔记,2014年10月
16 October 2014
目录
16 Oct
I. 什么样的软件值得信任
原文:Reflections on Trusting Trust
作者:Ken Thomps
本文通过self-reproducing程序引出编译器中的一种bug,通过某种方式可以让这个bug一直留在编译器中,即使我们在源代码中已经修改了这个错误。
所以,某个程序即使开放了源代码,也不应该完全信任它。除非其完全由你自己从头创建,包括其所有的构建工具,以及构建工具的构建工具,而在现实中这几乎是不可能的。
17 Oct
II. 构建Web应用
The twelve-factor app是一个构建SaaS(即Web应用)的方法论。
本文从1. 代码库,2. 依赖,3. 软件配置,4. 后端服务(如数据库),5. 构建,发布,运行,6. 进程,7. 端口绑定,8. 并发,9. 可处理性(稳健,快速运行,优雅地关闭),10. 开发与产品的等价,11. 日志,12. 管理过程,等十二个方面全面描述了构建SaaS的过程中应当注意的事项。
其主要有以下几个原则:
- 使用一个VCS
- 不用隐含地依赖一个系统的包(或库)
- 将配置储存在环境变量中
- 不管是使用本地服务还是第三方服务(如数据库),代码应该是一样的
- 严格分离构建,发布和运行
- 进程应该是无状态的,且不分享任何东西
- 应用应当是自包含的
- 应用以绑定到端口的服务导出HTTP
- 进程是一等公民
- 进程可以随时的开启和关闭
- 进程的开启时间应该尽量的短
- 进程应当在接受到
SIGTERM
时应该优雅地关闭 - 进程应当是健壮的,并努力避免突然的关闭
- 开发和产品之间的差距应尽可能地小,以使得应用是可持续部署的
- 反对在开发和产品中使用不同的后端服务
- 应用不该关心其Log存储形式
28 Oct
使用Clojure写Web应用
原文:Web Application Development with Clojure
作者:Vijay Kiran
全文分为5个部分:
blog comments powered by Disqus