摘要: 在设计模式中,经常会谈到的一点是解耦。很多设计模式的优点,就是把调用方和实现方解耦了。比方说Command模式,比方说Mediator模式等等。 进一步思考一下,解耦的目的是什么呢?我的答案是复用。如果仅仅是解耦,没有复用,那解耦没有任何意义。 打个比方,我们都知道,业务逻辑不应该依赖具体的DAO实 阅读全文
posted @ 2019-02-18 22:20 米其林轮船 阅读(970) 评论(0) 推荐(0) 编辑
摘要: 最近一段时间,突然把【焦虑】这件事给想通了。焦虑的原因,是出于对事件的不可控。如果我能100%掌控明天发生的一切,我不可能对明天感到焦虑。 想通这一关节,其实怎么解除焦虑就很容易了,那就是增加对事件的掌控。 举个例子,我们经常对自己的工作感到焦虑,其原因是我们无法对工作做到完全的掌控,工作中可能出现 阅读全文
posted @ 2019-02-18 22:12 米其林轮船 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 解决什么问题 以下两句话是从Wikipedia上抄的,我觉得总结得很到位: An abstraction and its implementation should be defined and extended independently from each other. A compile-ti 阅读全文
posted @ 2019-02-12 17:36 米其林轮船 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 解决什么问题 考虑以下现实场景:数据库多种多样,我们可能从Mysql迁移到Oracle,甚至可能从关系型数据库迁移到非关系型数据库。我们不希望业务逻辑依赖具体的数据库实现,否则迁移数据库的时候,我们必须修改核心业务逻辑。怎么解决这个问题呢?依赖倒置,即核心业务逻辑定义数据持久化借口,即DAO接口。我 阅读全文
posted @ 2019-02-10 16:29 米其林轮船 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 在阿里工作已有四年,回头来看,很庆幸当初开了这个博客,让我今天能回忆一下四年前的自己。豪不客气的说,这四年我真的成长了很多,领悟了很多。这众多领悟之中,关于学习的非常重要的一点是:学习一定要多问为什么,为什么会有这个知识,这个技能,它最初的出现,是为了解决什么问题,而它一步一步发展到今天,是为了解决 阅读全文
posted @ 2019-02-08 20:52 米其林轮船 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 最近发现数据库的QPS定期飙高,简单排查后,定位到原因是由于定期执行的任务,会对数据库有大量的访问。但奇怪的是,有的数据,我明明做了缓存,但是依然对数据库的请求量很大。 原因是,当缓存里没有我查询的数据,数据库里也没有,这时每次都会去查数据库。打个比方,你把某个DO做了缓存,key是主键,value 阅读全文
posted @ 2017-02-21 22:30 米其林轮船 阅读(1440) 评论(0) 推荐(0) 编辑
摘要: 时隔两年,重新启动这个博客。熟悉又有点陌生,这两年我的技术方向有了很大改变,但由于一直在使用为知笔记,因此这些改变没有提现在本博客上。之所以重启这个博客,主要是因为博客是一个开放的东西,可以带来一些交流,而笔记则是个人的东西,缺少思维碰撞。闲话少叙,这就开始。 问题:怎么保持缓存与数据库一致? 要解 阅读全文
posted @ 2017-02-21 21:13 米其林轮船 阅读(7800) 评论(4) 推荐(2) 编辑
摘要: gdb调试程序的时候打印变量值会出现 情况,可以在gcc编译的时候加上 -O0参数项,意思是不进行编译优化,调试的时候就会顺畅了,运行流程不会跳来跳去的,发布项目的时候记得不要在使用 -O0参数项,gcc 默认编译或加上-O2优化编译会提高程序运行速度. 阅读全文
posted @ 2015-01-30 21:13 米其林轮船 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 在Linux/Unix环境下,可以使用indent工具来格式化代码,看起来更规范。安装indent很简单:sudo apt-get install indent使用indent的方法也很简单:indent [参数][源文件] 或 indent [参数][源文件][-o 目标文件]常用的命令为:ind... 阅读全文
posted @ 2015-01-30 21:11 米其林轮船 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 802.11中采用CSMA/CA协议来规定多个工作节点共用信道的问题。CSMA/CA的全称是Carrier sense multiple access with collision avoidance该协议可以分为两个部分来看: 1.Carrier sence:每个节点在传输之前,先对信道进行监听... 阅读全文
posted @ 2015-01-30 16:46 米其林轮船 阅读(997) 评论(0) 推荐(0) 编辑