源码安装配置 Nginx 记录

debian 官方源中的 nginx 太旧了(1.6.x),想试试开启 HTTP2 和 TCP/UDP 负载均衡试试,需要 1.9 版本以上。换了 backports 的源一些相关模块总是安装不成功(←太菜),所以尝试了从源码安装,顺便体验一下最新的 nginx。

Java 中实例化一个抽象类对象的方式

在 Java 中抽象类是不能直接被实例化的。但是很多时候抽象类的该特点成为一个比较麻烦的阻碍。例如如果我想使用动态代理来给一个抽象类赋予其执行抽象方法的能力,就会有两个困难:1. 动态代理只能创建实现接口的一个代理对象,而不能是一个继承抽象类的对象。为此标准的 JVM 中有一些实现,例如 javassist 可以使用字节码工具来完成这一目的(ProxyFactory)。

JitPack 发布包含 Annotation Processor 的项目

普通的项目(单个 Library Module)发布到 JitPack,体验不错几乎是零配置的。尝试了一下直接构建了一下一个包含两个 module 的项目——一个 Android Library Module 和一个纯 Java Module 的时候,JitPack 只构建了 Java 的 Module。

Jenkins 获得本次构建的 git change log

Jenkins 每次构建都会根据 git 的提交记录生成一个 web 页面来显示自上次构建之后的提交记录列表。在配置 CI 工作流时,很多情况需要获取这个提交记录的 String 值,但是 Jenkins 并没有提供这个功能。

借助 Docker 使用 Hexo

去歧义:本文讲述的是

本来想命名为:在 Docker 中使用 Hexo,想想还是有区别的:一个是完全把 Hexo 博客 host 在一个 docker 容器里(顶多把 site 的目录映射到外部来),一个是仅仅把 Docker 作为替代宿主机安装 Node 以及 Hexo 环境的隔离环境。这样本机就可以不用安装 node 以及 hexo 相关的环境,如果你有在多台机器上使用 Hexo 的需求,那么使用 Docker 来代替本地安装是个不错的选择。

关于 Android 背景色 Alpha 值的一个坑

这是公司项目一个留了很久的 bug,尝试找了很多次原因都没有头绪。这个 bug 是这样的:

定义了一个主题色为例如 #FF0000,很多界面控件都用了这个颜色。可是这个颜色在 app 使用过程中用着用着就会出现变成了透明的情况,而且出现透明之后,所有使用这个颜色的控件都会变成透明。

更奇怪的是,重启应用会恢复这个问题,但是操作一会儿又会出现。

用 Supervisor 监听程序运行

今天发现之前搭的 nexus maven manager 服务挂了,被要求解决挂了之后不能自动重启的问题。本来想写个 shell 糊弄一下,请教了一下公司的后端小哥得知了 supervisor。其实 supervisor 之前倒也「用」过,阴影中的袜子官方文档貌似就介绍过它的使用,查了一下文档发现用起来很方便,应该是此类问题的最佳实践了,这里稍微记录一下基本用法。