字符串斗转星移

字符串s="code", 循环左移可得到:"odec", "deco", "ecod"
对这s.size()个字符串排序可得"code"<"deco"<"ecod"<"odec". 那么, 最后的字符依次是e,o,d,c. 该尾字符序列是确定的
问题来了, 假如我们给定尾序列, 如何推演原字符串?

Read More >>

Flume source关注四种类型的数据源

本文针对的是flume V1.4, 介绍source, channel, sink这三个串联的功能组件
通常在实际系统中, 会把source端的Flume称为agent. 采集数据有两种方式:

  • push sources
    外部系统主动将数据推送到Flume, 如RPC, syslog, post
  • poll sources
    采用轮询的方式去获取数据.

    Read More >>

Hadoop搭建

Hadoop项目

  • zookeeper 集群管理, 配置
  • Flume 数据收集
  • HDFS 分布式文件系统
  • Hive SQL 引擎
  • MapReduce 分布式计算. MR2.0(YARN)=资源配置, 任务管理
  • HBase K-V存储

    Read More >>

Learning cxx

using namespace std;

container

tuple
A tuple is an object capable to hold a collection of elements. Each element can be of a different type.
stringstream
需要注意的是, stringstream.str()返回一个临时对象, 因此如果再不伦不类的配合c_str()来用, 就是错误的. 如这个例子:
const char * stupid = ss.str().c_str(); // WRONG!

Read More >>

AngularJS(ng) 的坑

dirty checking

ng会记录数据模型包含的数据项在任何特定时间点的值.
当ng认为某个值可能发生变化时, 它会运行自己的事件循环来采集这个值. 这也是ng可以跟踪和响应应用变化的方式, 有点类似高级语言的垃圾回收机制.
这样, 如果在页面上绑定函数调用, 让ng来决定值采集的时机, 可能会报错infdig错误.
这个坑我踩了, 避免让ng来决定数据的采集时机, 页面上只做绑定.