bower unable to connect to github.com

bower install 遇到错误如下:

bower angular-scenario#>=1.2.*          resolve git://github.com/angular/bower-angular-scenario.git#>=1.2.*
bower bootstrap#~3.1.1                  ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/twbs/bootstrap.git", exit code of #128

Additional error details:
fatal: unable to connect to github.com:

(more…)

Trie树

有一堆key-value的数据,有人输入一个key的子串,我们希望很容易的得到前面那个key-value中所有key包含该子串的pairs.Trie树是一个不错的解决方案.

如名字所示,Trie树是一个字典树,它的大致方向是构造一个如下图所示的字典树:

Trie

它被用来存储to,tea,ted,ten,A,in,inn等若干字符串. (more…)

vi如何退出

vi编辑完文件需要保存文件和退出。一般是esc,然后:wq或者:x来退出.但是两者还是有一些不同的.

  • :wq 的逻辑是"保存文件并退出"
  • :x 的逻辑是"检查是否有更新若有更新则保存并退出否则直接退出"

前者最后的效果是你无论是否对文件是否做出改动,文件在系统中的timestamp都会更新,而后者只会在你有改动后才会更新. (more…)

重载中括号操作符, 执行复杂操作

C++可以重载运算符, 其中中括号 "[]", 通常在其它地方用于表示下标的操作符, 重载自然也是用于"获得或者设置某个属性"这么个功能.

最简单的莫过于返回一个地址, 做的操作自然都被看光了.

class Opol {
 public:
    Opol() {
        memset(a,0,10);
    }

    int & operator [] (int k) {
        return a[k];
    }
 private:
    int a[10];
}

(more…)

修改普通用户的最大文件打开数

使用到mongo,redis等数据库的时候,往往会遇到这样一个坑。某mongo跑着跑着突然没了,某redis启动先给个warning,仔细一看log说最大文件打开数不够..

# You requested maxclients of 10000 requiring at least 10032 
# max file descriptors.
# Redis can't set maximum open files to 10032 because of OS error: 
# Operation not permitted.
# Current maximum open files is 1024. 
# maxclients has been reduced to 4064 
# to compensate for low ulimit. 
# If you need higher maxclients increase 'ulimit -n'.

(more…)

格式化MongoDB的输出

通过mongo自带的命令行进入后,db.coll_name.findOne(),可以发现mongo返回的数据是被format过的,看起来各种爽。但若你抽一下,改用db.coll_name.find(),瞬间弥漫而来的是各种unformatted数据,根本没法看。其实我们很容易就可以调整让它显示地更加漂亮。 现在有两种方法可以做到这点。 (more…)

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…)