魏超 说 他很期待老王我的年终总结,我有点激动的不能自已,而且骤然发现2018年是我踏入IT 的第十个年头了,值得大书特书。于是决定将这篇年中总结分成两个部分,在2018年年底,和2019年年初分别发布
忙碌的一年
今年是非常忙碌的一年,身体的健康下降了太多,人老先老腿。这一点在我身上体现的特别明显。大学时候我可以跑1500米全校第一,没觉得什么。现在只要跑两步就觉的腿很沉。
大公司如何处理一个 bug
-
开始处理一个新的 bug 。
-
花两周的时间试图理解 20 个不同的 flag ,这些 flag 以神秘的方式相互交互,导致这个困境。
-
再添加一个 flag 来处理新的特殊场景。添加几行代码来检查此 flag ,并解决有问题的情况,规避该 bug 。
-
将更改提交到包含大约100-200台服务器的测试服务器集群,这些服务器将编译代码,构建新的 Oracle 数据库,并以分布式方式运行数百万个测试。
-
回家。第二天来上班,继续处理别的 bug 。测试可能需要20-30个小时才能完成。
-
再回家。再来上班,检查你的集群测试结果。顺利的话,会有大约100个失败的测试。倒霉的话,将有大约1000个失败的测试。随机选择一些测试并试图搞清楚你的假设出了什么问题。或许还需要考虑10多个 flag 才能真正理解 bug 的本质。
-
再添加一些 flag 以尝试解决问题。再次提交更改以进行测试。再等20-30个小时。
-
来来回回重复两周,直到你得到了将这些 flag 组合起来的“神秘咒语”。
-
终有一天,你会成功,不再出现测试失败。
-
为你的新更改添加100多个测试,以确保下一个不幸接触这段新代码的开发人员永远不会破坏你的修复。
-
提交最后一轮测试的成果。然后提交以供审核。审查本身可能还需要2周到2个月。所以接下来继续去处理下一个 bug 。
-
在2周到2个月之后,一切已就绪,代码将最终合并到主分支中。
以上是oracle 处理一个 bug 的过程
优秀是一种习惯
最早写博客是上了大学以后,每个人内在都有一个渴望被别人了解的社会性需求。我开始是在qq 空间上面写
试图引经据典,找到一些前进的方向。
相信自己的直觉,思考的更深入一些
前段时间工作上有个项目,需求收集的比较模糊,开完会之后发邮件,所有人都指向往简单了去做。但是我心里觉的实际上肯定没有这么简单。但是还是为了避免不必要的麻烦,最后沟通总结邮件时候也是按照简单的方式做了总结。果不其然晚上就被领导们教育了一番。
投资,我看到一句发人深省的话:
牛市之中,不管是买方还是卖方都是你的战友。而熊市之中,不管是买方还是卖方,都是你的敌人。
什么意思呢?或者说这是为什么呢?
很多人不理解为什么老交易员经常讲:牛市胆子要大,熊市要懂的寂寞,刀枪入库,马放南山。
因为,在牛市里,不管是买方还是卖方,双方都是实质性赚钱。
在熊市里,不管买方还是卖方,二者都是实质性亏钱。