Home

Linux上的远程log监控

名字太大,其实只是遇到了一个问题,想远程实时看一个log文件的变化。开始是这么做的。 vim 里面 :e scp://xxx@xxx//filePath :e! 来刷新 太low了。直接用ssh: ssh xx@xxx “less filePath” 发现less直接就退出了。 换成: ssh -t xx@xxx “less filePath” 也不能实时刷新。测试less 本地一个文件同时写入,发现less没有实时刷新的功能。看来是在ob的时候deploy给我的错觉啊。 换tail: ssh -t xx@xxx "tail filePath" 还是直接执行完毕退出。查tail有没有自动刷新的模式,有一个follow: ssh xx@x...

Read more

git中删除已经缓存的文件

经常遇到一种情况,开始项目的时候没加.gitignore文件,提交之后发现有大量的pyc文件残留,这样两地共同修改的时候pyc文件会造成大量的冲突。针对这种情况,可以如下解决: 建立.gitignore文件并写入: .pyc .swp 删除所有缓存中的数据: find . -name ‘.pyc’ -o -name ‘.swp’ > /tmp/files while read line; do git rm –cached $line done < /tmp/files 在冲突的一端回滚所有pyc冲突: find . -name ‘.pyc’ -o -name ‘.swp’...

Read more

Thrift依赖和Slf4j

用Thrift做一个分布式系统的RPC,发现跑起来的时候总提示Failed to load class org.slf4j.impl.StaticLoggerBinder,看了看maven依赖感觉没啥问题啊,slf4j-api-xx.jar好好的在呢。分析了maven的依赖,eclipse的问题,最后发现都没问题啊。最后发现还是不了解slf4j,以为跟log4j一样的,其实作为一个proxy,slf4j-api只是一套接口,实现的依赖没有添加进来。 Thrift的依赖加进来的时候(如下),Dependency Hierachy解析会添加相关的包,但是只添加了slf4j-api,动态编译也不会出错,毕竟接口都有了,但是运行时从classpath找不到对应的包。 <depen...

Read more

关于Maven回滚了eclipse中项目的JRE版本

发现在命令行对一个项目执行mvn install的时候,回eclipse看就会有些错误,原因如这里所说,JRE版本和compliance level被回滚到1.5了。查看配置发现,eclipse导入配置并没有设置这里。如下: <?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>realtime_ua</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name...

Read more

Flash Cookie的跨域读取

关于Flash Cookie相关的问题见参考文献1。这里主要说如何实现跨域的Flash Cookie读取。 首先,我们要实现Js调用Flash插件。比较简单的实现是用swfobject。简单的示例代码如下: <object id="myCom" name="myCom" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="0" height="0"> <param name="movie" value="http://xxx/xxx.swf" /> <param name="allowScriptAccess" value="always" /> <...

Read more

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<...

Read more

关于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...

Read more

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...

Read more