enjoy coding, enjoy life.

Code

Index of Rust Language

rust 是一门很有趣的语言, 最近正在试着玩它. 有一些链接感觉很有用, 所以找个地方保存一下.

Code

重启 audit 服务, 恢复 audit.log 信息更新

audit 是一个很重要的日志服务, 它可以帮助我们查看各种异常情况. 比如有人尝试登录然后失败了什么, 你可以在此处看到它更多的介绍. 更有用的是, 我们可以通过分析 /var/log/audit/audit.log 日志, 查看被防火墙错误屏蔽的操作, 然后贴个 patch 让系统可以正常工作.

最近突然发现 audit.log 好一些日子不正常更新了, 查看停止时间, 貌似是某次某同志错误设置了系统权限的那会儿. 服务可能既被砍掉了权限, 又被停止了运行. 监测权限的日志被停止了权限, 简直囧囧的.

Code

Scala 怎样添加事件, 获得打断信号

启动 Scala 工程, 我们有时候可能需要做这样的处理: 获取打断(Interrupt )信号, 在程序关闭前做最后一些操作.

在 C 中, 我们一般可以用 signal 来实现, 而在 scala 中,我们同样有类似的机制.

Code

中文分词之最大匹配

最近做中文分词, 先做个 baseline, 基于字典的后向最大匹配. 本文先介绍下最基础的那个版本的.

Code

CentOS 7 用 UEFI Boot 导致的若干坑的介绍

CentOS 是一个不错的 Linux Distribution, 它是我最喜欢的公司之一 RedHat 发布的 RHEL 重编译的. 几个月前自己组装了一台台机, 在 FreeBSD 和 CentOS 之间徘徊了好久后, 终于决定还是用 CentOS 完事.

安装完毕若干天后重启, 发现有一些问题... 启动失败了! 经过若干小时的痛苦打 patch, 终于让系统变得正常一点了.

Code

利用 Cargo 发布 Rust 依赖库介绍

Rust 是 Apache 基金会开的一个新坑, 简单说就是一个函数式编程的现代语言. 速度期望是和 c++ 差不多.

一个语言的实用与否, 不仅仅需要考虑语言本身(当然, 一个写起来爽的语言比一个语法糟糕的语言可能要好一千倍, 但这并不是唯一判断条件), 一些好的工具链, 社区环境等都可以让语言本身更加充满希望--或者失望.

rust 使用的是 Cargo 作为编译环境. 这是你安装好 rust 后的默认选项.

很多时候, 许多代码可以被复用, 一个好的工程组织会给人带来许多方便. 目前看来, Cargo 就是一个非常不错的工具(当然, 有些时候还是有些让人不尽如人意的)

Cargo 之于 rust, 大致相当于 cmake + make 之于 c. 我们可以在工程根目录下准备一个 Cargo.toml 文件, 里面可以写上我们想要的配置信息. 然后利用 Cargo 工具可以自动下载依赖, 编译. 此外, 我们还可以利用它发布我们的依赖等等. 总之, 这是一个包办了许多事情的一个集成工具.

本文的主旨是介绍一下库的写法, 依赖的发布和使用.

Code

GitLab的安装和升级, 一把辛酸泪

警告:

  • gitlab 提供了一键安装包, 这种从 source 编译的方法并不有趣, 每次升级和改配置都极其麻烦, 它只会浪费你现在以及预期的未来的生命, 要是打算用它做生产环境, 那绝对是你的不智
  • 在 gitlab 早期, 并没有那么好的条件, 因为历史原因才被迫这么做的. 本文作为历史存档, 仅作为参考, 主要目的是记录一段过去的血泪教训.

更新了下 gitlab. 留个 log. 安装可以按照说明文档 https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md, 若是6.x升级到7.14, 可以使用这个文档: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/6.x-or-7.x-to-7.14.md , 若7.14升级到8.0, 则可以使用这个文档: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/7.14-to-8.0.md. 一步一步走下去, 介绍得非常好. 本文也毫无意愿去吧内容翻译一下. 只是介绍下错误的处理.

Code

一个c++的索引总结

之前介绍过倒排索引,不过因为python实现的,效率够呛,而且因为是demo,很多细节完全没有考虑. 最近用c++断断续续终于写了一个稍微更好一点的程序(的半成品),若有兴趣,求 fork & star.

Life

Some Time, Sometime 和 Sometimes

Some Time, Sometime 和 Sometimes 在语法上都是存在的, 不过在意义上各有不同.

Some Time 是形容词性, 它被用来表述"一定数量的时间", 经常暗示"很有一段时间".

He has been studying Aramaic for some time.

意味着这哥们研究亚拉姆语已经很有一段时间了。

Code

docker 限制容器使用系统资源

docker 是一个非常不错的容器, 让我们可以先把程序部署在镜像中, 然后再放到某个实体机器上跑. 若一个实体机中我们使用多个容器, 我们可能需要限制一个容器占用的系统资源. 比如内存, CPU 等