2014年1月

依赖一个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_name 是nil 。 但 set $fsn $fastcgi_script_name 然后 ngx.var.fsn 就能正常获取了。bug ? 还是我理解问题.

- 阅读剩余部分 -

朋友

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

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

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

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

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

- 阅读剩余部分 -