岚天逸见

上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 77 下一页

2012年7月24日 #

改进后的日志类CLogger

摘要: 在原有的基础上增加了module_name,表示模块名,当一个系统由多模块组成时,输出的日志将更加清晰,使用方法,以MOOON-agent中的为例:点击(此处)折叠或打开#define AGENT_MODULE_NAME "AGENT"#define AGENT_LO... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(324) 评论(0) 推荐(0)

开发理念和用户体验

摘要: 开发理念:要有追求美的意识,简就是美。要形成自己的思想,设计需要灵魂。模式模式有时是恶魔,它容易让你走上抄袭模仿之路。把职责单一作为第一原则,并努力遵守,将让你柳暗花明又一村。一切源于生活,多和生活类比,能让理解更为深刻透彻。始终抱严谨心态,用心思考,细节决定品质。用... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(171) 评论(0) 推荐(0)

怎么做自动化

摘要: 在做系统时,不应当盲目地去做自动化,原因有两点:1.有些自动化的代价非常高,反不如人工简单实在2.有些自动化不能保证系统的正确性,它需要人工确认不过,这些也并不应当成为推进自动化的理由,自动化它可以带来两方面巨大的好处:1.大大降低运维工作量2.快速的进行故障恢复所以... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(217) 评论(0) 推荐(0)

来自mooon的最简单的日志类CSimpleLogger

摘要: /** * 单个头文件,可即时独立使用,只要定义了宏NOT_WITH_MOOON,即不依赖于mooon * 简单的写日志类,非线程安全,提供按大小滚动功能 * 不追求功能,也不追求性能,只求简单,若要功能强、性能高,可以使用CLogger * * 使用方法: * 1)... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(161) 评论(0) 推荐(0)

优雅的让一个类在线程安全和线程非安全间切换

摘要: 一个良好的多线程库,不应当一刀切的全加锁。因为有些时候,虽然是多线程环境,但可能依照设计一个类只会被一个线程操作,这个时候加锁是多余的,纯浪费性能,但另一些场景又需要它是线程安全的。假设有一个类X:class X{public: void xoo();};这里总... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(173) 评论(0) 推荐(0)

简单的主备切换方案

摘要: 主备切换是很多高可用性系统都必须解决的问题,方法有很多,象基于ZooKeeper的主备切换就是一个很好的选择。在这里提供一种更简单但不完美的主备切换方法:1) 假设A和B是集群中的主控(Master)节点2) 1~7是工作节点(如HDFS中的DataNode)... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(933) 评论(0) 推荐(0)

内网软件设计要领

摘要: 内网软件指的是只为一个企业内部提供服务的软件,它和外网软件有个很大不同 —— 即节点数是相对稳定的而且是非常有限的,在设计时可以充分利用这一特点进行简化。比如设计一款在各IDC间传输数据(文件或消息)的软件时,完全可以建立一对一的连接(为支持重连,可以为会话Sessi... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(145) 评论(0) 推荐(0)

Linux与网卡相关的几个命名

摘要: ifup - start a preconfigured net interface.ifdown - stop a (preconfigured) net interface.ifstatus - show the state of a (preconfigured... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(132) 评论(0) 推荐(0)

细节决定品质:不良的if/else使用习惯

摘要: 代码重构无处不在,重点滴做起。经常见到一些下面这样的代码:1、不要拿bool和false直接比if (false == IsXXX()){}这是画蛇添足,费力不会讨好,直接了当即可:if (!IsXXX())2、太多的if/else嵌套,导致过多缩进,造成眼花缭乱,阅... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(222) 评论(0) 推荐(0)

源于生活的设计之一:职责问题

摘要: 我相信大家在工作时,都厌烦手上同时有多个项目,特别是运维多个项目,那么我们在做软件设计时,也应当如此,我们不能给一个对象赋予太多责任,并尽量将主要的剥离出来单独实现(比如mooon中将异步收发数据的状态机剥离出来成了单独可复用的类CRecvMachine和CSendM... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(104) 评论(0) 推荐(0)

上一页 1 ··· 47 48 49 50 51 52 53 54 55 ··· 77 下一页

导航