我心中理想的 Web 开发流程
本文总结一下在几个月的 Web 开发实践后,我认为的目前进行 Web 开发的一些工作流程上的最佳实践。
需要事先声明的是,「最佳实践」这个词是相对的。一方面,Web 开发的世界纷繁复杂,我仅有的经验还远远只是管中窥豹的水平;另一方面,使用不同技术栈的人对某一些问题的答案往往存在争议,不同的人从不同的视角来了解 Web 开发这个庞大的领域,产生不同的理解和世界观也是十分正常的事情,需要理性看待。
本文总结一下在几个月的 Web 开发实践后,我认为的目前进行 Web 开发的一些工作流程上的最佳实践。
需要事先声明的是,「最佳实践」这个词是相对的。一方面,Web 开发的世界纷繁复杂,我仅有的经验还远远只是管中窥豹的水平;另一方面,使用不同技术栈的人对某一些问题的答案往往存在争议,不同的人从不同的视角来了解 Web 开发这个庞大的领域,产生不同的理解和世界观也是十分正常的事情,需要理性看待。
There are only two hard things in Computer Science: cache invalidation and naming things.
—— Phil Karlton
缓存是高性能 Web 服务的基本要求,然而对缓存的处理和使用不当将带来一系列的副作用,尤其是同时考虑到服务的高可用性和同步的问题时。
本文将简单探讨 Web 服务中哪些功能适合用缓存(此文均指 Web 后端自行实现的缓存,如使用 Redis)来完成。
编程快乐是一种创建事物的纯粹快乐,这种快乐的来源之一来自于在易于驾驭的介质上工作
《人月神话》
《人月神话》是几乎每个程序员都或多或少了解过的一本书,著名的「没有银弹(No Silver Bullet)」的软件工程理论就被其作者Fred Brooks收录在这本书中。
这本书的第一章「焦油坑」就讨论了「编程的快感是什么?」这样一个对大多数程序员来说不言而喻,但如果要具体说说或许又难以准确表达出来的一个问题。简要归纳一下,原书提供了这样几个答案: