或许是因为整天抓着代码里的 Bug 从而锻就了能敏锐发现世界缺憾的能力,抑或是这个世界本来就充满着污秽与糟粕,大多数技术人员都普遍缺乏敬畏之心。

他们习惯性的高高在上俯瞰着众生的琐碎,从不懂得尊重其他人的劳动和创作;
他们在自己狭窄可怜的 comfort zone 里游刃有余,认为自己了解到就是全世界,而剩下的全是垃圾;
他们自以为是的对待自己所遇到的一切事物,以为看一眼书名就能通晓书中的精华,瞥一眼标题就能知道全文在讲些什么,瞅一眼角色的长相就能知道是好人还是坏人;
……

阅读全文 »

1

这一两年以来,我越来越避免在 Web 的公开领域(甚至在微信朋友圈)说一些有关个人经历的事情,即便有时候为了情境必须得说出一些关于自己的东西,也会在事后把它删除或隐藏。不是担心个人隐私什么的(或者只是很小的一部分原因,这个年代还有个人隐私可言吗?),而是在玩遍社交网络之后,我觉得没必要在虚假的网络说上太多个人相关的东西。真实的世界才是真实,对于网上的东西没必要过于认真,很多事情我们永远无法知道背后的真相到底是什么。

阅读全文 »

对于工作稳定的开发者而言,我们每天大多数时间都是在做着我们熟悉的事情。一个又一个不同的业务丢过来,我们却基本上总是使用着我们早已熟悉的技术栈。很多技术先驱们提倡开发者要学会远离自己的 comfort zone,学习一些新的我们所不曾了解的东西。是的,一个没有更高技术追求的开发者很难长久的在技术这条路上走得长远,更是难以达到一定的技术高度。

选择了开发者这条职业之路,也就同时意味着这将是一条不断学习新知的道路。这篇文章将指出一个已经对自己常用的技术栈熟知的开发者,在学习新知的过程中可能会遇到的一个典型的问题。也许这个问题不仅仅是针对开发者,任何一个对自己常接触的业务领域技能熟知的职业人,在接触到新的知识领域时,都有可能会遇到这样的问题。

阅读全文 »

本文总结一下在几个月的 Web 开发实践后,我认为的目前进行 Web 开发的一些工作流程上的最佳实践。

需要事先声明的是,「最佳实践」这个词是相对的。一方面,Web 开发的世界纷繁复杂,我仅有的经验还远远只是管中窥豹的水平;另一方面,使用不同技术栈的人对某一些问题的答案往往存在争议,不同的人从不同的视角来了解 Web 开发这个庞大的领域,产生不同的理解和世界观也是十分正常的事情,需要理性看待。

阅读全文 »

There are only two hard things in Computer Science: cache invalidation and naming things.
—— Phil Karlton

缓存是高性能 Web 服务的基本要求,然而对缓存的处理和使用不当将带来一系列的副作用,尤其是同时考虑到服务的高可用性和同步的问题时。

本文将简单探讨 Web 服务中哪些功能适合用缓存(此文均指 Web 后端自行实现的缓存,如使用 Redis)来完成。

阅读全文 »
0%