7月 06

使用vagrant搭建测试环境

使用 vagrant 管理虚拟机,能实现搭建可重复的开发或者测试环境。在需要验证某些集群软件,比如 Ceph,Kubernetes,MySQL Cluster 时,会比较有用。vagrant 是基于 Ruby 开发的,在 Windows 10 上运行会比较慢,但是似乎也没有什么替代品。如果能使用容器代替虚拟机,或许可以试试 Docker … Continue reading

6月 30

用Ghostscript合并PDF

这个需求的场景是需要将多个 PDF 合并成一个,并且加上目录。 核心命令 其中 $TOC 是目录文件。某些情况下,pdfwrite 无法正常生产 PDF,可以用 ps2write 先生成 ps 文件,再转换成 PDF: 目录 pdfmark 目录的基本结构如下: /Title 表示标题名称,如果含空格,应用括号括起来 /Count 标题下 … Continue reading

6月 30

iTop 2.7 版本变化

从 2.5 升级到目前最新的 2.7.0 版本,调研自 2.5 以来的变化。主要关注以下几点: 插件结构的变化 唯一性检查功能 新特性的使用场景 一些函数的变化 插件结构变化 其实从 2.4 就开始变化了,当时从 2.3 直接升级到 2.5,没有特别关注这个变化。 区分 extension 和 module,扩展(extension)是由 … Continue reading

6月 29

Github上给开源项目提交Pull Request

给别的 Repo 提 Pull Request 的一般流程是: Fork 开一个分支,在分支里修改代码 create Pull Request 如果上游 default 分支有更新,merge 上游 default 分支 如果一开始就在 default 分支里直接改了代码,会导致后续跟进上游时很不方便。因此最好是在分支里修改代码。如果已经 … Continue reading

6月 28

【树莓派笔记】在x86平台上编译arm二进制

概述 有很多开源软件并没有提供 arm 安装包或者二进制,或者能通过包管理工具安装但是版本比较旧(比如 Pandoc)。如果想为树莓派编译软件,一个方法是直接在树莓派上编译,另外就是在 x86 平台上借助 qemu-user-static 来构建 armv7l 或者 aarch64 编译环境。使用 qemu-user-static 方法的 … Continue reading

6月 28

字符级别的彩色diff

colordiff 只能高亮显示行级别的不同,如果需要高亮被修改的字符,需要使用其他工具,比如 diff-highlight ,有不同语言的版本,Python 版使用 pip3 install diff-highlight 来安装。此功能的效果就类似 Github,如图: 命令行 通过以下命令在命令行高亮 diff 结果: 转存为HTML … Continue reading

6月 27

【树莓派笔记】无线打印服务

我有一台 HP Deskjet 1111 喷墨打印机,不支持无线,所以手机或者其他电脑有打印需求时,一般是通过 QQ,微信等工具传输到连接打印机的电脑上来执行打印,有些麻烦。带 Wifi 功能的打印机价格较高,因此如果有树莓派,借助树莓派来实现无线打印是一个很不错的方案。 软硬件环境 树莓派4B,系统是 Ubuntu Server,打印机 … Continue reading

6月 26

【树莓派笔记】搭建下载服务

树莓派的一大用途就是作为下载服务器,毕竟一直开着电脑下载还是挺费电的。而且电脑上也不方便共享。基于树莓派搭建一个下载服务器,在用 Samba 共享出去,所有设备都能使用远程下载服务和 NAS 服务。配合 DLNA,电视投影仪之类的设备也能方便的播放 NAS 上的高清电影。 transmission BT 下载首选 transmission … Continue reading

6月 26

Kubernetes自定义Endpoint健康检查

场景描述 Kubernetes 的 Service 可以添加自定义的 Endpoints,这样通过 Ingress Nginx 就可以给集群外部的 Web 服务做负载均衡,但是会有一个问题,Ingress Nginx 用 Lua 来处理 upstream,已经移除了以下两个 annotation: there is no support … Continue reading