ngx.var.arg与ngx.req.get_uri_args的区别

ngx.var.arg_xx与ngx.req.get_uri_args[“xx”]两者都是为了获取请求uri中的参数,例如

http://pureage.info?strider=1  

为了获取输入参数strider,以下两种方法都可以:

  1. local strider = ngx.var.arg_strider

  2. local strider = ngx.req.get_uri_args[“strider”]

差别在于,当请求uri中有多个同名参数时,ngx.var.arg_xx的做法是取第一个出现的值,ngx.req_get_uri_args[“xx”]的做法是返回一个table,该table里存放了该参数的所有值,例如,当请求uri为:

http://pureage.info?strider=1&strider=2&strider=3&strider=4  

时,ngx.var.arg_strider的值为”1”,而ngx.req.get_uri_args[“strider”]的值为table [“1”, “2”, “3”, “4”]。因此,ngx.req.get_uri_args属于ngx.var.arg_的增强。

电影,其实是一件非常私人的东西

看电影,就像其他一切需要调动内心体验的行为,都是非常私人化的,这是无数次教训得出的宝贵经验。它告诉我,自己的看法,不要指望其他任何人能认同。

很多次沮丧的发现,自己给身边的人倾心推荐的电影,他们看完都表示没有什么感觉。有一个经验是,如果电影看到一半,对方萌萌的抬起头,弱弱的问道,这个电影到底是讲什么的啊?这个时候最聪明的做法是赶紧换别的活动,不要抱有任何也许后面的剧情会让他/她大为震撼的幻想。

刚开始的时候是心情是很不愉快的,明明这个电影我已经看了三遍了,恨不得次次都有泪点,为啥在您这就一无是处呢?后来,我逐渐领悟到,问题在我,而不在别人。

两只金鱼

最近家里来了两个客人:两只金鱼,一只白色的,一只红色的,我给他们分别取了个名字,小红与小白。于是每天早上出门前,给他们喂点食料,晚上回来后趴在鱼缸前跟他们说两声Hello成了我的一大乐趣。

几天之后,我发现,当我凑近鱼缸跟他们say Hello的时候,他们会慢慢的游到水面,露头吐出两个泡泡然后迅速沉入水底,仿佛一脸娇羞。一脸娇羞,说明我是一个喜欢歪歪的人,放佛,有说明我并没有歪歪的那么放肆。

RPM中的%config和%config(noreplace)

打开一个rpm spec文件,在 %files段有一个指令很常见:%config(noreplace),这个指定到底是干什么用的呢?

答案是,该指令决定如果一个文件被管理员修改过后,下次更新该文件所在的rpm包时,该文件的存在状态。例如,一般升级软件时,配置文件是不会变化的,而主程序则一般需要被升级(替换)。

对于spec文件中在%files段的某一个文件,我们要讨论三种情况:

  1. 没有带%config指令。例如:%{_sbindir}/redis-server
  2. 带了%congfig指令。例如:%config %{_sysconfdir}/redis/redis.conf
  3. 带了%config(noreplace)指令。例如:%config(noreplace) %{_sysconfdir}/redis/redis.conf