/images/avatar.png

Schaepher's Blog

毕业两年啦

七月十号这一天,刚好是我入职两年整,我们几个同事出去烤串。我也想起来该回顾过去的一年了。

去年差不多这个时间,写了一篇《毕业一年啦》。在写这篇之前,我也去回顾了这篇文章。感觉自己这一年的生活没有什么进步,反而退步了。

Redis 用到的 C 语言

编译时命令

所有以 # 开头的命令都是预处理命令,在编译时处理。

定义

#define

用于替换

#define X1 X2

将所有出现 X1 的地方替换为 X2。

#define 是可覆盖的,以最近一次出现的定义为准。

  • 纯替换
  • 函数替换
  • 替换为字符串

条件编译:

#ifdef

出现在 server.c 的 main() 里面。

轻量对象存储服务——minio

minio

Minio是一个非常轻量的对象存储服务。

Github: minio

它本身不支持文件的版本管理。如果有这个需求,可以用 s3git 搭配使用。

Github: s3git

安装

minio 文档有列出各平台的安装方式。这里只说 docker 的方式。

Dockerfile

Dockerfile 的官方文档:https://docs.docker.com/engine/reference/builder/

1 示例

当你想要一个镜像,但它没有办法满足你的所有要求时,就得在它的基础上做一些定制化的修改。此时就得用到 Dockerfile 。

你有两种选择:一种是获取这个镜像的原始 Dockerfile 文件,并在上面修改,从头开始构建镜像;另一种是直接指定已存在的镜像,并添加内容。