观点
文章平均质量分 70
owenandhisfriends
这个作者很懒,什么都没留下…
展开
-
互联网服务线上数据迁移的原则和方法
互联网业务变更非常快,随着业务规模扩大,线上的业务也会涉及重构和迁移。比较难的就是存储迁移,可能从前的存储不适合新的业务模型了,例如从关系型数据库迁移到nosql,或者数据的存储格式发生了巨大的变化。为什么说涉及数据迁移的业务最难呢?因为数据是有状态的,不像逻辑和接入层,方便灰度,即使出问题马上回滚就能恢复(如果涉及写数据也也有问题)。然而数据是有状态的,如果切换后发现新的写存储数据有问题,是很难修原创 2016-12-11 21:39:28 · 2420 阅读 · 0 评论 -
如何处理运营事故
终于发布完成了,还没等休息,收到一堆告警短信,收件箱都快炸了; 刚发完特性不到一天,客服群里用户反馈,数据错了,多扣钱了; 半夜睡觉,突然被短信吵醒,业务崩溃了…… 以上这些场景,对于做过后台大系统的人来说,都应该有遇到过。每次线上事故都会让人刻骨铭心,都会扰乱你的日常。 事故是不可避免的,只要有人写的程序,就会有bug,就会酿成事故。遇到事故,我们应该怎么办呢?告知l原创 2016-12-06 20:20:37 · 1260 阅读 · 0 评论 -
如何看待优化
腾讯曾经有句很经典的话——先抗住再优化。优化和需求相比,永远都是排在第二位的,唯快不破,首先是要业务生存下来,然后才是如何稳定运营业务。见到一些技术人员,包括刚工作是的自己,恨不得把架构代码打磨得无可挑剔,用当下最流行最“高效”的技术。而且还会说“要有技术追求;不能等到撑不住的时候再优化,那就来不及了……”到底应该如何优化,什么时候优化,要遵守以下几个原则。先弄清极限容量,自己能撑多少先弄清楚现在系原创 2017-02-19 22:21:06 · 401 阅读 · 0 评论 -
程序员如何科学地记日志
无论是哪种程序员,日常开发中都离不开记日志。但是通过最近的review会,发现很多程序员在记日志的时候,还是会有些问题。那么如何科学地记录日志呢? 为什么要记日志 在寻求方法前,我们先看看我们记日志的目标。 日志是程序运行时的x光,能够追踪到程序运行的状态,通过日志,程序员能够加速调试速度,还原异常情况出现的场景。 也有通过日志记录处理数据,方便后面统计和审计。 还有通过日志进行备份,当数据有...原创 2019-01-30 22:00:29 · 388 阅读 · 0 评论 -
程序员如何高效工作——个人软件篇
在上一篇《如何高效工作——个人硬件篇》介绍了硬件层面提高的方法。即通过加快操作熟练性,升级办公用具的方法,提高工作执行速度。本质工作的流程和步骤不变,但是执行时间缩短。今天说的软件篇,里面介绍的方法,是优化工作执行的方式,让事情的解决效率,有指数级的提升。就像你用快速排序和用冒泡排序相比,优化了算法复杂度,排序速度有量级的提升。 具体到各行各业的工作,有很多和工作内容相关联的方法。在此提一些通用的...原创 2019-02-23 17:24:13 · 253 阅读 · 0 评论 -
找到bug的根源,问五次为什么
在学习《问题分析与解决》时学到了一种找到问题根源的方法——问五次为什么。具体内容是:当遇到一个问题,不要只看当前答案,要继续往下问,为什么,连问五次,就能够找到更深层次的问题。 最近在复盘bug的时候,也使用了这种方法,屡试不爽。 案例 前端发布后,页面按钮点击失效,用户反馈问题,前端回滚代码后恢复。 问题一、为什么按钮点击会失效? 因为前端代码写出了一个bug,没有对空对象进行判空,导致页面js...原创 2019-02-23 17:40:40 · 256 阅读 · 0 评论 -
90%的程序员都犯过的代码错误
最近参加了多次的代码review会,在review的过程中,发现有些问题几乎每次都出现。挑了几个比较典型的问题讲解下。这几个问题都是初级问题,解决方法都很容易。只要掌握了方法,有意识避免,能让短时间内迅速提高代码质量。真所谓投入小,见效快。 变量命名不清晰,一词多义 为变量命名时最重要的考虑事项是,该名字要完全、准确地描述出该变量所代表的事务。容易阅读,不会与其他事务混淆。 例如: if(staf...原创 2019-02-23 17:41:43 · 136 阅读 · 0 评论