存档

2016年5月 的存档

一致性哈希算法的实现

2016年5月29日 1 条评论

一致性哈希算法能够减少增减节点带来的memcache缓存失效带来的冲击。 下面是一个简单的java版实现算法,其中的哈希值算法没有实现,用HashFunction作为一个接口来提供自定义的hash值函数,大多数情况下我们可以使用md5。 import java.util.Collection; import java.util.SortedMap; import java.util.TreeMap; public class ConsistentHash<T> { private final HashFunction hashFunction; private final int numberOfReplicas; private final SortedMap<Integer, T> circle ...

分类: 技术 标签:

mac生成core文件和生成位置

2016年5月24日 1 条评论

mac环境的配置方法和linux一样。 通过ulimit来设置是否生成core文件。 ulimit -c unlimited 生成core文件 ulimit -c 0 不生成core文件 core 文件存储位置 /core/core.pid

分类: 技术 标签:

enumeration value not handled in switch

2016年5月17日 没有评论

这是一个 warnning 错误,没有处理switch中的枚举值。 在switch中添加default 和 break; 可以解决这个问题。

分类: 技术 标签:

mac下面brew的权限问题

2016年5月2日 没有评论

想写一个爬虫去爬一些图片,发现python3的request封装的比较。遂决定要装一个python3。 mac下的神器就是brew,分分种完成各种软件包的安装。执行完之后报错了。 brew install python3 结果如下,从最后几行的输出判断是由于权限不足导致的。 ==> Downloading https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/python3/3.4.3 --enable-ipv6 --dataro...

分类: 技术 标签:

mac下c++单元测试覆盖率工具gcov

2016年5月1日 没有评论

gcov 是 GNU 的代码覆盖率检查工具。它利用编译时的 -fprofile-arcs -ftest-coverage 和链接时的 -lgcov 选项参数生成 .gcno 文件进而通过这些文件统计覆盖率。不过高版本的 mac 使用 clang 编译器,不支持 -lgcov 选项生成 .gcno 文件。为了解决这个问题,我们可以使用-coverage参数来生成 .gcno 文件。例如: 我的g++ --version信息如下 Apple LLVM version 7.3.0 (clang-703.0.29) Target: x86_64-apple-darwin15.4.0 Thread model: posix 使用-lgcov会报错 ld: library not found for -lgcov 可以使用-coverage选项替换-lgcov ...

分类: 技术 标签: