scala 读写文件

scala 一般用于网络上消息的处理,比如读写 mongodb, 处理 http request. 但偶尔写个 script, 还是要读写个文件的.

scala 包装了一个 Source 类,可以读取各种来源的数据, url, file 都可以. 但似乎并没有对写数据做什么处理.

(more…)

fstab 文件格式检查

我们通常编辑 /etc/fstab 来确定启动时候挂载的硬盘, swap 等. 若文件内容有误, 重启后的效果就是直接挂了, 然后必须通过安全模式或者单用户模式进去修改, 这很麻烦.

可否不重启就检查下 fstab 呢? 答案是可以的. (more…)

如何rsync同步非标准SSH接口

一般情况下,我们用rsync可以很容易的同步一个远程目录.

$ rsync -avzh --progress --delete \
    name@remote_host:source_dir target_dir

这样就把远程的一个目录同步回来了.

但是现在问题来了,当 port 为非标准的 22 端口时, 我们应该怎样加参数呢?比如有时候我们会 NAT 到 2222 端口.

(more…)

SELinux 配置文件属性

所谓测不准定理是说,两个相关的物理变量,你对变量A要求越精密,那变量B的精度越差.反之,若对B要求越精密,那变量A精度就越无法测准. 安全也是这种屎一样的节奏,安全越高的东西,那么它往往越发的麻烦,反之,若你想把事情变得简单,那么安全往往会变屎.

SELinux是一个不错的权限管理系统.在公网跑的机器上,为了保证不会没事被人攻进来耍一波,还是被迫稍微用点心配置一下. (more…)

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