上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 44 下一页
摘要: 转载自:http://www.cnblogs.com/panfeng412/archive/2012/07/29/storm-stream-model-analysis-and-discussion.html本文首先介绍了Storm的基本概念和数据流模型,然后结合一个典型应用场景来说明Storm支持Topology之间数据流订阅的必要性,最后对比了Storm与另一个流处理系统在数据流模型上的区别之处。Storm基本概念Storm是一个开源的实时计算系统,它提供了一系列的基本元素用于进行计算:Topology、Stream、Spout、Bolt等等。在Storm中,一个实时应用的计算任务被打包作 阅读全文
posted @ 2013-01-20 13:25 zaleilynn 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 1.尽量保持别人接口的语义,最好不要限制,或者扩大,除了核心你要封装的参数。 int zoo_exists(zhandle_t *zh, const char *path, int watch, struct Stat *stat); 可以设计为: int32_t IsExists(const string& path, int32_t watch = 0, struct Stat *stat = NULL) 其中 zhandle_t 这个核心的参数作为类的变量了,其余的参数尽量不要改,可以保持其语义的丰富以及完整,否则你就需要多写几个IsExists的特殊话接口了。有必要的时候才这么 阅读全文
posted @ 2013-01-20 13:01 zaleilynn 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 区别:1.引用不能指向空对象。 不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。2.应用的对象一旦初始化就不能改变。总结:1.当你知道你必须指向一个对象并且不想改变其指向时,或者在重载操作符并为防止不必要的语义误解时,你不应该使用指针。而在除此之外的其他情况下,则应使用指针。2.引用并不能完全消除指针。 阅读全文
posted @ 2013-01-20 12:55 zaleilynn 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://blog.yufeng.info/archives/2456前几天 纯上 同学问了一个问题:我ps aux看到的RSS内存只有不到30M,但是free看到内存却已经使用了7,8G了,已经开始swap了,请问ps aux的实际物理内存统计是不是漏了哪些内存没算?我有什么办法确定free中used的内存都去哪儿了呢?这个问题不止一个同学遇到过了,之前子嘉同学也遇到这个问题,内存的计算总是一个迷糊账。 我们今天来把它算个清楚下!通常我们是这样看内存的剩余情况的:$free-mtotal usedfreeshared buffers cachedMem: 48262 7913 4 阅读全文
posted @ 2013-01-19 23:12 zaleilynn 阅读(571) 评论(0) 推荐(0) 编辑
摘要: Conv.hA variety of data conversion routines (notably to and from string), optimized for speed and safety。这个我用的到Foreach.h这个应该也会有用处的,好好看看。Format.h这个好像就是按照格式的输入以及输出,与sprintf很类似,但是它比sptrinf快,同样的是type-safe。另外,可以支持动态类型。 阅读全文
posted @ 2013-01-18 15:26 zaleilynn 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 目前正在考虑一个单机事件处理系统的架构设计,来完成一个基于事件驱动的系统。为什么要单独设计一个事件处理系统?1 ) 容错 考虑一个场景,你添加了一个物理机器,想要上报给一个master,但是因为什么原因,无法上报,但是物理机确实已经创建了,你现在怎么办。为了保持一致性,最好的方式是缓存这个事件,然后隔一段事件继续上报。这个就是单独的事件处理系统可以帮你做的事情。2) 容易审计 所有事件都被集中处理了,特别方便进行安全以及统计处理。3) 容易扩展 方便的事件注册/处理。新增事件特别容易。目前有两个架构在考虑中:1) 有event dispatcher 类 每种事件,你运行之前需要注册一种事件类. 阅读全文
posted @ 2013-01-18 14:19 zaleilynn 阅读(176) 评论(0) 推荐(0) 编辑
摘要: Hadoop 0.23中使用了基于事件驱动机制的异步编程模型。每个对象都是一个有限状态机,有相应的事件处理器(EventHandler),处理器处理对应的事件类型。事件处理后,对象将从一个状态变化到另一个状态。以Application对象为例,相关类分别为:状态类:ApplicationState处理器类:Application事件类型类:ApplicationEventType事件类:ApplicationEvent及子类其状态机如下图:状态机框架框架中的泛型OPERAND表示状态机的操作对象,如Application对象。STATE表示对象的状态,如ApplicationState代表的相 阅读全文
posted @ 2013-01-18 12:22 zaleilynn 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 多用组合,少用继承。组合:是通过对现有的对象进行拼装(组合)产生新的、更复杂的功能。也就是在一个类中直接使用另外一个类。继承:是类 D 的对象可以使用仅对类C的对象有效的方法或者属性的特性,它使得这些方法和属性就好像是由类 D 定义的。普通的继承语义。类应该对扩展开放,对修改关闭。具体有待丰富 阅读全文
posted @ 2013-01-18 11:22 zaleilynn 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 查找文件夹下包含字符串的文件例:查找/usr/local目录下所有包含”rubyer.me”的文件。1grep -lr 'rubyer.me' /usr/local/*vim替换单个文件中所有字符串方法例:替换当前文件中所有old为new1:%s/old/new/g2#%表示替换说有行,g表示替换一行中所有匹配点。替换文件夹下包含字符串的文件sed结合grep 例:要将目录/www下面所有文件中的old都修改成new,这样做:1sed -i "s/old/new/g" `grep old -rl /www`-i 表示直接修改文件,后面的`grep ...`表 阅读全文
posted @ 2013-01-18 10:45 zaleilynn 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: 写脚本时,经常要判断字符串是否相等,检查文件状态或是数字测试等。Shell提供了对字符串、文件、数值及逻辑操作等内容的条件测试的支持。1.测试文件状态test一般有两种格式,即:test condition或[ condition ]使用方括号时,要注意在条件两边加上空格。一般采用第2种方式,比较方便。测试文件状态的条件表达式很多,下面是一个常用的文件状态列表。文件状态测试-a 文件存在-b 文件存在并且是块文件-c文件存在并且是字符文件-d文件存在并且是目录-s 文件长度大于0、非空-f 文件存在并且是正规文件-w文件存在并且可写-L文件存在并且符号连接-u 文件有suid位设置-r文件存在 阅读全文
posted @ 2013-01-17 16:21 zaleilynn 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 44 下一页