Code
Scala 怎样添加事件, 获得打断信号
启动 Scala 工程, 我们有时候可能需要做这样的处理: 获取打断(Interrupt )信号, 在程序关闭前做最后一些操作.
在 C 中, 我们一般可以用 signal 来实现, 而在 scala 中,我们同样有类似的机制. (more…)
Code
利用 Cargo 发布 Rust 依赖库介绍
Rust 是 Apache 基金会开的一个新坑, 简单说就是一个函数式编程的现代语言. 速度期望是和 c++ 差不多.
一个语言的实用与否, 不仅仅需要考虑语言本身(当然, 一个写起来爽的语言比一个语法糟糕的语言可能要好一千倍, 但这并不是唯一判断条件), 一些好的工具链, 社区环境等都可以让语言本身更加充满希望--或者失望.
rust 使用的是 Cargo 作为编译环境. 这是你安装好 rust 后的默认选项.
很多时候, 许多代码可以被复用, 一个好的工程组织会给人带来许多方便. 目前看来, Cargo 就是一个非常不错的工具(当然, 有些时候还是有些让人不尽如人意的)
Cargo 之于 rust, 大致相当于 cmake + make 之于 c. 我们可以在工程根目录下准备一个 Cargo.toml 文件, 里面可以写上我们想要的配置信息. 然后利用 Cargo 工具可以自动下载依赖, 编译. 此外, 我们还可以利用它发布我们的依赖等等. 总之, 这是一个包办了许多事情的一个集成工具.
本文的主旨是介绍一下库的写法, 依赖的发布和使用. (more…)
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. 一步一步走下去, 介绍得非常好. 本文也毫无意愿去吧内容翻译一下. 只是介绍下错误的处理. (more…)
Life
Some Time, Sometime 和 Sometimes
Some Time, Sometime 和 Sometimes 在语法上都是存在的, 不过在意义上各有不同.
Some Time 是形容词性, 它被用来表述"一定数量的时间", 经常暗示"很有一段时间".
He has been studying Aramaic for some time.
意味着这哥们研究亚拉姆语已经很有一段时间了。 (more…)
Code
docker 限制容器使用系统资源
docker 是一个非常不错的容器, 让我们可以先把程序部署在镜像中, 然后再放到某个实体机器上跑. 若一个实体机中我们使用多个容器, 我们可能需要限制一个容器占用的系统资源. 比如内存, CPU 等 (more…)
Code
Gitlab服务端redis配置错误的一个解决
在gitlab配置完毕后,我们push一个repo,效果可能如下:
$ git push origin master:dev enjoy code, enjoy life. Total 0 (delta 0), reused 0 (delta 0) remote: GitLab: An unexpected error occurred (redis-cli returned 1). To git@xxx:root/my_project.git * [new branch] master -> dev
这儿它提示得已经足够清楚,redis有问题.不过也再也找不到其它提示了. (more…)