薅微信读书的羊毛
直奔主题,通过 edu.cn 邮箱,可以领取 30 天付费无限卡。领取路径在 我->账户->赠全国高效师生无限卡。如果学校不在毕业后收回 edu.cn 邮箱,那么毕业后也可以领。 领完之后,作为付费用户,翻一翻可以直接翻 6 次,有机会获取赠币,无限卡或者赠书。另外,7 月 10 号之前买书还可以享受付费用户鼓励金计划。 最近 … Continue reading
直奔主题,通过 edu.cn 邮箱,可以领取 30 天付费无限卡。领取路径在 我->账户->赠全国高效师生无限卡。如果学校不在毕业后收回 edu.cn 邮箱,那么毕业后也可以领。 领完之后,作为付费用户,翻一翻可以直接翻 6 次,有机会获取赠币,无限卡或者赠书。另外,7 月 10 号之前买书还可以享受付费用户鼓励金计划。 最近 … Continue reading
第一次到苏州,是 1 月份,在察院场地铁站附近住了 4 天。宾馆的窗外,是江南风格的瓦房,远处是高楼。 察院场旁边不远处就是拙政园和平江路,但是第一天去了工业园区逛街,在金鸡湖东边出了地铁,整洁宽敞的街道,现代化的高楼大厦,和姑苏的老房子形成鲜明对比。走到月光码头,人很少,加上天空阴沉沉的,给人冷清的感觉。 随后去了附近几个商场,可能是工 … Continue reading
本系列介绍 文本转图片 工具,图形描述语言将图片描述为代码或者文本,有利于版本管理,很适合嵌入 LaTeX 或 Markdown 文档。用于网站时,还可以减轻图片存储压力,因为图片可以根据代码在使用时生成。本文是该系列第九篇,介绍 draft。 概述 A commandline tool that generate H … Continue reading
Kubernetes Node 节点上,可能有一些基于 docker 命令的维护需求,可以通过脚本调用 docker inspect 等获取到更易读的信息。 列出所有业务容器 docker ps 列出的容器名称很长,不容易看出是哪个业务。通过 docker inspect,将获取到的容器输出为以下格式: 查看业务容器日志 查看容器TCP状 … Continue reading
很多年前去美团面试,内容基本忘完,但有一个情节至今仍然历历在目,我把 Ruby 念成了 /ˈrʌːbi/,面试官接过话来,发音是 /ˈruːbi/,顿觉脸上发热,太丢人了。 如今,我已经不会念错 Ruby 了,但是 IT 行业还有很多容易读错的单词,也有很多新造的轮子可能会用到生造词,因此,我决定做一个项目,搜集这样的单词,标注音标,并提 … Continue reading
DokuWiki 使用 Docker 做容器化,主要解决以下问题。 插件和模板的安装 插件和模板的默认配置和配置文件的传递 持久化存储 插件模板安装 使用容器之后就不能在使用插件管理器来安装插件了,否则容器重启后插件将丢失。需要将插件代码打包到镜像里。基本思路是使用多段构建,在 builder 过程中下载并解压插件和模板代码,然后复制到运 … Continue reading
制作 PHP 7 + Nginx 的基础镜像,要求能够通过环境变量修改 PHP 和 Nginx 的部分常用配置。并且支持自定义启动脚本。 Dockerfile --rewrite 15:3 意思是把 SIGTERM 重写为 SIGQUIT,因为对 Nginx 来说,SIGQUIT 是 优雅退出。 Nginx default.conf: 自 … Continue reading
当面向很多用户时,Kubernetes 的使用方式是一个需要考虑的问题。如果直接让用户写 yaml,一方面是要求每个用户都学 Kubernetes,这对研发人员来说是一个不必要的负担,另一方面 yaml 的管理以及权限分配对运维人员来说也是一个不必要的负担,平添很多琐事。因此,使用一个管理系统来屏蔽 Kubernetes 细节,管理权限等 … Continue reading
使用 Docker 运行程序时,需要注意进程数是否正确,能否正确处理退出信号。本文记录几个我遇到过的案例。 Zabbix进程树错误 容器化 Zabbix 后运行不到1分钟就退出,日志如下。 pstree看到进程树不对: cron.sh用于发报警,发完就退出,不应该是zabbix_server的子进程 需要引入init程序,比如dumb-i … Continue reading