MongoDB Replica Sets的配置

MongoDB是一种很不错的NoSQL数据库,数据库存储基于BSON,一种JSON的变种。在使用的时候,有时候我们dump某个单个的collection/db作为备份的时候,往往会连累到整库都访问困难。集群有时候果断是个不错的选择。

MongoDB的存储是Replica,有三种角色如下:

Diagram of a replica set that consists of a primary, a secondary, and an arbiter. (more…)

CentOS 7 下使用 iptables

系统升级到CentOS 7后总感觉iptables怪怪的,比如不管怎么保存重启后都被初始化一下,即便我最后发大绝招启动时候加命令: 首先iptables-save > /etc/iptables.rules保存当前状态。 然后再在/etc/rc.local中强制加上

iptables-restore /etc/iptables.rules

重启后虽然规则生效但仔细看规则还是一些被莫名添加的额外的内容,让人很是不爽。 (more…)

CentOS 7 下安装 jdk1.8

更新: 现在 CentOS 7 下默认 repo 已经有 openjdk 1.6, 1.7, 1.8 三个选项了, 若无所谓 oraclejdk 和 openjdk 的区别, 我们可以直接安装 openjdk 命令如下:
yum install java-1.8.0-openjdk -y
要是还需要用它的头文件和库, 可以再来句
yum install java-1.8.0-openjdk-{devel,headless} -y
以后跟着 yum update 一起更新, 也是极好的.

CentOS 7 下目前默认是 jdk1.6 和 1.7。若需要更高版本的1.8,我们就需要一点额外的手段了。

首先,我们需要从这个页面下个最新版本的 jdk. Oracle 提供 rpm 包和tar.gz 包. 为了省事, 我们直接下载个 rpm 包完事.

若远程直接用 wget 下载, 有时候有一点问题, 需要加点参数来帮忙. 参考此处.

下载完成后,可以用 rpm 命令安装,不过本懒人记不住那么多命令, 更喜欢用 yum 搞定。 (more…)

从 Linux 到 macOS

一个月前更新机器,从我大 Fedora 转到了 macOS, 虽然都继承了Unix的衣钵, 但很多地方还是有些区别的. 入手一个月, 感觉已经可以小用下, 虽然很多地方还是不适应, 至少可以好好写代码了. 抽点时间写下一些 log, 希望能帮助到谁.

(more…)

Cmake 2.8 以上 OSX RPath的支持

在mac某机器中cmake生成makefile文件的时候,发现提示如下:

....
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   cjson
   iniparser
   stemmer
   word2vec

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
....

(more…)

倒排索引的简单介绍和实现

在信息检索(Information Retrieval)领域, 有个重要而基础的方法, 倒排索引(Inverted Index), 它被广泛用于各种全文搜索. 在无知的时代, 区区曾经"自创"过一种牛掰的方法, 于是称之为"映射", 小数据集上居然颇有效果, 颇为自得, 后来了解了倒排索引后, 俺才切切实实的了解到 “你以为你的 idea 很牛B, 其实只是你文献看得太少了” 这句话的真谛...

(more…)

jquery升级后toggle的一个feature失效的fix

jquery升级到1.9x后,它的toggle方法只剩下了显示/隐藏一个特性。1.9-的引申含义"两个function轮流执行"这个feature被干掉了。按照官方说法是"提高模块化"之类,对个人就只剩下"我勒个擦怎么主题变丑啦"之类的效果。 原本在单个post的右上角有个按钮,你可以点击关闭侧边栏,两栏的博客瞬间变成一栏,再点又变了回来,@良心发现桑实在太有创意啦--可惜给升级毁了。

又到写代码很痛苦的时候了,妥妥的换个代码写几行的节奏! (more…)

locate命令故障的解决

locate是一个系统命令,用于建立文件索引,当我们需要寻找什么文件的时候,只要敲入

locate xxx

它就会搜索全系统中匹配这个名字的文件。 但是在某个新的机器里面,我locate某文件,始终显示如下的错误信息:

locate: can not stat () 
    `/var/lib/mlocate/mlocate.db': No such file or directory

(more…)

编译一个gcc 4.8

很多服务器喜欢用Ubuntu的各种LTS,13.04还好,反正随便更新下就完事,偏偏有些没个调的货要我在他的12.04上跑个必须要c++11才支持的东西,所以不得不出手装个gcc 4.8.x (more…)

KNN 和 KD 树

机器学习中,knn(k-nearest neighbor , 又称k近邻法)是一种比较简单的模型。就是通过计算两个数据集之间的距离远近,然后把一堆数据分为k类。它是一种典型的判别模型(discriminative model).

老板教导曰,这个方法简单到爆了,为什么要介绍这个方法呢,因为解决具体问题的时候,用这个方法试试,调调参数,效果往往很赞,为什么不介绍?管你方法简单还是复杂,f1-measure最高、计算量最小的方法就是最好的方法。某些拿着各种复杂的计算,看起来各种高深莫测却无法说明什么让人信服的道理,也无法用f1-measure说话的,只能用来发paper。 (more…)