依赖一个 RPM 来制作新的 RPM

项目中有这样一个场景:A 软件通过 rpm 包发布,B 软件严重依赖 A 软件,但在它的基础上有一些业务逻辑的添加和修改。A 软件是公司一个历史悠久的产品,且保持频繁的更新,B 软件是我在维护。

在开发的时候,很简单,先把某一个稳定版本的 A 软件安装到开发机上,然后直接进行业务逻辑的开发就可以了。但在发布的时候肯定就不能这么做了,你很难要求运维先去发布服务器上下载一个 A 软件的 rpm 包,安装或更新完后,再去发布服务器上下载一个 B 软件的业务逻辑包,再进行相关的配置。所以,我需要做出一个 B 软件的独立的 rpm 包,用这个 rpm 包安装或更新后,直接能进行相关的配置。

再来澄清一下需求:B 软件既要严重依赖 A 软件,但要在 A 软件上添加很多业务逻辑。但要求在发布的时候脱离对 A 软件 rpm 包的依赖。

最简单的方法,当然是先把 A 软件的代码库做一个分支,或者拷贝出一个新的代码库,在上面进行开发,将 B 软件与 A 软件独立开来。这样发布的时候当然就是一个独立的包了。但如前所属,A 软件更新频繁,生命力旺盛,我可不想时时来在同步上花时间。

给有道云笔记的分类自定义排序

有时候换一个工具是很莫名其妙的,去年一直用的 evernote,今年却习惯了使用有道云笔记。慢慢“我的笔记本”栏里笔记本的类别越来越多了。这些类别默认是按照类别的字母先后来排序的。这就导致有些你需要特别关注的类别不能处在一个显眼的位置。作为一个处女座 IT 男,我硬是用鼠标在分类处拖动了很久,实在不行后,只好点开设置选项,期望能找到一个自定义排序的选项,又以失败告终。

绝望后,我念叨了一声,有道云笔记这怎么回事,做的也太垃圾了吧。旁边一位小帅哥见我这么抓狂,凑过来问。我告诉他,我现在想把这个“每日工作安排”放到所有分类的最前面。小帅哥扶了扶眼镜,然后拿过我的鼠标,把“每日工作安排”重命名为“001-每日工作安排”,然后飘然回到他的座位,整个操作过程没有说一句话,大有事了拂衣去,深藏功与名的架势。

2014 年的读书计划

2013 年我读了太多好书,主要原因有两点:

  1. 作为一个宅男,看电影、看书本来就是我的爱好。
  2. 两年前就养成了看电子书的习惯了,但 2013 年看的更多了。工具从 Kindle,到手机和 Web 端,平台主要是多看和豆瓣,技术类电子书主要是买图灵社区的 PDF。

如果你也跟我一样算是个喜欢看书的宅男,那么一旦习惯了阅读电子书,就会发现阅读量比以前突飞猛进了。国内电子书市场刚刚起步,很多地方不尽如人意,比如多看,最近几个月出的新书的质量简直不忍直视。这也不能怪它,好书的版权难拿,只好多出一些杂七杂八的书了。换个角度想想,即使你走进购书中心,合你口味的书还是少数,所以能偶尔在上面找到一本好书就心满意足了,没什么好怨念的。

lua-nginx 使用自定义变量时需要说明的一点

在 Nginx 中,有两种方式添加自定义的变量:

  • 在配置文件中用 set 指定添加
  • 在自己编写的 C 模块中,调用 ngx_http_add_variable 接口来添加变量

第一种方法较简单,第二种方法有一处需要说明一下。

当调用 ngx_http_add_variable 接口时,如果传入的 flag 参数中 NGX_HTTP_VAR_NOHASH 位被设置了,那么在 lua 代码中使用 ngx.var.XXX 是不能访问到该变量的,得到的值是 nil

在这种情况下,如果现在配置文件中通过set指定一个中间变量,则在lua代码中可以访问到。

例如,某个 C 模块中用带有 NGX_HTTP_VAR_NOHASH 位的 flag 参数调用了 ngx_http_add_variable,创建了变量 A,则如果在 lua 代码中通过 ngx.var.A 只能得到一个 nil 值。

而如果在配置文件中,先调用 set 命令:set $B $A;,那么在 lua 代码中,通过代码 local A2 = ngx.var.B 则可以间接访问到该变量。

翻了一下邮件列表,发现该问题 agentzh 早有解答:

逆雪寒: 通过 ngx.var.fastcgi_script_namenil 。 但 set $fsn $fastcgi_script_name 然后 ngx.var.fsn 就能正常获取了。bug ? 还是我理解问题?

朋友

其实工作了挺没劲的,以前的朋友们、同学们都散落在各自的城市,为了生活而奔波着。从一开始偶尔会在 QQ 群里热闹一下,到现在是几乎有老死不相往来的趋势了。

其实,说为了生活而奔波显得很诡异。大部分还是一休息就呆坐在电脑前,打游戏,看电影,死宅。互相不联系还是因为生活中没有交集。虽然谁都知道,真正需要倾诉的时候,还是得找这些个当年的铁哥们。

今天跟两个朋友各自聊了很久。其中一个是我主动联系的,另一个是他打过来的。

我主动联系的那个朋友叫 XX 伟,人称大伟,大学室友,形影不离的几个人之一。大学时我一个南方人,千里迢迢跑到哈尔滨读书,室友大部分都是东北人,最南的也是河北。可跟这几个家伙丝毫没有隔阂,每天在一起打游戏,上自习,看电视,骂娘,骂政府,当然,少不了一起看毛片。

大伟的年龄是我们中最大的,因为当初高考失利,复读了两次。这家伙比我们其他人都显得成熟,无论是相貌上,还是行为举止上,很有老大哥的风范。可诡异的是,他却是个扎扎实实的死宅男。每天在床上一躺就能是一整天,看各种电子书。本科毕业后,我去读研,他直接到一个县城工作了。