kafka Consumer API几个问题
一直不理解这里的topicCountMap是什么意思。kafka的High Level Consumer API设计实在是比较费解。源码又比较费解。
Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
topicCountMap.put(topic, new Integer(1));
Map<String, List<KafkaStream<byte[], byte[]>>> consumerMap = consumer.createMessageStreams(topicCountMap);
List<KafkaStream<...
关于eclipse里面override上的warning
写一个Thrift的调用。生成的Thrift代码在eclipse里面打开就报错。如下:
看AsyncMethodCallback的代码,没有任何问题啊:
后来发现当前项目JRE的版本是1.5,~~貌似1.5的JRE有个bug~。切到1.6以上版本就可以了。原因如下:
Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 can be annotated with @Override, but in Java 1.5 can only be applied to methods overriding a supercla...
redis-copy的使用
有时候我们需要迁移redis的数据,从本质上看,这基本上是个rehash的过程。我们这里使用redis-copy实现。
简单写一下步骤。首先得有ruby环境,然后直接安装:
gem install redis-copy
可能会遇到几个包缺失的问题,如果有报错,安装如下几个包:
gem install redis
gem install hiredis
gem install recommendify
简单测试一下redis-copy
首先建立source和dest redis server:
redis-server redis.src.conf //6379 port
redis-server redis.dst.conf //638...
跨浏览器cookie
有时候为了标识一个用户,我们需要跨浏览器的cookie,这样用户在一个浏览器的行为可以被另一个浏览器读取。当然这种行为也备受争议,对于保护用户隐私来讲,这简直是后门。所以cookie里面一定不要存任何重要数据。
不过这么做也不完全是为了用户数据跟踪。从用户体验的角度看,可以这么实现跨浏览器甚至跨域的session。具体实现上有如下几种方法:
Local Shared Objects (Flash Cookies)
Silverlight Isolated Storage
使用HTML5客户端储存数据方法。
evercookie
关于第二种有一个解释:一般装了silverlight的人都装了flas...
node_zk_browser安装时的一个问题
zookeeper基本是基于API和console进行znode的操作,并没有一个比较方便的操作界面,taobao 伯岩大神写过一个工具node_zk_browser,可以比较方便的查询zookeeper信息。地址在
https://github.com/killme2008/node-zk-browser
界面如下所示:
安装的时候遇到一个问题
Downloading zookeeper-3.4.3 from http://apache.mirrors.tds.net/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz
这个地址是找不到的。apache的这个mirror上只有3.4.6的包了。改package.json也...
du显示只显示一层子目录/文件的大小
经常需要看当前目录下的子目录大小,比如开发机被人占满的情况,du -lh显示的是递归的所有文件大小,du -s又只统计了所有文件/文件夹合起来的大小。正常情况下需要执行:
du -lh –max-depth=1
未免太过麻烦。后来肖总提示发现这样就行了:
du -sh *
果然是学无止境啊
虚函数模板和模板类中的虚函数
自从知道了C++不支持虚函数模板之后就觉得相关的一概不支持,今天写程序的时候想把基类做成模板,然后继承基类。以为也不支持,写了一下才发现支持的,无论是非模板类继承一个特化之后的模板还是模板类继承包含虚函数的模板基类都是没问题的。从实现上看,反正使用的时候都会特化的,特化之后虚函数表指针是固定的。不存在像函数模板这种类生成的时候无法确定虚函数表的情况。
例子如下:
澄清几个关于C++继承的问题
之前讨论编码规范的时候遇到过一个问题,继承的类覆盖基类的虚函数,不写virtual关键字是否依然有覆盖(override)的效果。是个基础问题,但是大家的理解好像都不一样。验证如下:
#include
class Base
{
public:
Base (){}
virtual ~Base (){}
virtual void print() {printf("Base\n");}
};
class Middle : public Base
{
public:
Middle(){}
virtual ~Middle(){}
void print() {printf("Middle\n");}
};
class Deriv...
506 post articles, 64 pages.