相信很多人都听说过二八定律,这是一个适用性非常广泛的定律。我发现二八定律同样适用于软件开发,并对其产生了十分深远的影响。这次我想聊聊二八定律是如何影响我们日常的开发工作的,希望通过这个话题来改变一下大家习以为常的开发思维。
编程心智(一)——代码架构与系统架构
写在开头的话
想写这个系列文章很久了,但是对于一个重度的拖延症患者来说,决定写一个系列文章还是颇有挑战。最开始,只想写一两片文章分享一下自己对于编程的感悟。但随着时间越拖越久,发现想写的东西越来越多。直到今天,居然发现我的博客的To-Do-List(目前我在使用WunderList
,很好用的一个To-Do-List工具)文章数达到了10篇,终于说服自己动笔了。
“编程心智”这个词这段时间一直萦绕在我的脑海中,我觉得这个词最能表达我想分享了内容了。我希望通过这个系列文章分享自己对于代码、编程、架构以及软件工程的理解与感悟,另外,还有隐藏在代码后面的程序员心智。所有文章仅代表个人观点,没有是非对错的标准。如果你对文章中的观点不认同,还请给我留言,不同的声音对于进步有着极大的促进。
再谈领域事件
跨Region实践初探
最近网易云上线华北REGION(cn-north-1)地区的服务,在此过程中我们做出了很多调整以适应跨REGION架构。
记一次坑爹的Debug过程
昨天QA跟我反馈说系统有几个接口反应很慢,起初我不以为意,因为这几个接口就是简单的写入和删除,最多就是再更新一下缓存,能有多慢。我让QA看看是不是网络抖动,延迟的问题,再看看我们的access_log
里面响应时间是多少。QA说网络比较稳定,access_log
里面显示要好几秒,这就让我有些诧异了。其中有一个删除用户XXX数据的接口响应特别慢,我们在测试环境去复现的时候果然复现了这个问题。当前端直接点击删除的时候,接口过了8秒多才返回,这肯定不正常了,而且access_log
也印证了这一现象。
架构师应该是一种角色,而不是一个职位
昨天看到一篇关于“架构师”的文章,读后非常有感触。我个人比较认同作者的大部分观点,故决定将原文进行翻译,和国内的开发者一起分享。原文地址:“Architect” Should Be a Role, Not a Position”。