两只金鱼
最近家里来了两个客人:两只金鱼,一只白色的,一只红色的,我给他们分别取了个名字,小红与小白。于是每天早上出门前,给他们喂点食料,晚上回来后趴在鱼缸前跟他们说两声 Hello 成了我的一大乐趣。
几天之后,我发现,当我凑近鱼缸跟他们 say Hello 的时候,他们会慢慢的游到水面,露头吐出两个泡泡然后迅速沉入水底,仿佛一脸娇羞。
最近家里来了两个客人:两只金鱼,一只白色的,一只红色的,我给他们分别取了个名字,小红与小白。于是每天早上出门前,给他们喂点食料,晚上回来后趴在鱼缸前跟他们说两声 Hello 成了我的一大乐趣。
几天之后,我发现,当我凑近鱼缸跟他们 say Hello 的时候,他们会慢慢的游到水面,露头吐出两个泡泡然后迅速沉入水底,仿佛一脸娇羞。
打开一个 rpm spec 文件,在 %files
段有一个指令很常见:%config(noreplace)
,这个指定到底是干什么用的呢?
答案是,该指令决定如果一个文件被管理员修改过后,下次更新该文件所在的rpm包时,该文件的存在状态。例如,一般升级软件时,配置文件是不会变化的,而主程序则一般需要被升级(替换)。
对于 spec 文件中在 %files
段的某一个文件,我们要讨论三种情况:
%config
指令。例如:%{_sbindir}/redis-server
%congfig
指令。例如:%config %{_sysconfdir}/redis/redis.conf
%config(noreplace)
指令。例如:%config(noreplace) %{_sysconfdir}/redis/redis.conf
对于 Nginx踩坑记(一),在 openresty 的 google group 上提了个问题:ngx.exec是如何处理上层定义的变量的 。
春哥的回复摘录如下:
Nginx 有两种定义变量的方法,一种是在模块中定义,从而成为内建变量;另一种是在配置文件中通过 set 指令来定义。
配置过 Nginx 的同学可能都知道这样一个事实:一个请求在其处理过程中,即使经历多个不同的 location 配置块,它使用的还是同一套 Nginx 变量的副本。
例如,如果有如下的配置:
location /test1 {
set $hello hello;
rewrite /test1 /test2 last;
}
location /test2 {
echo $hello;
}
虽然变量是定义在 location /test1 中,但 Nginx 变量一旦创建,其变量名的可见范围就是整个 Nginx 配置,所以在 /test2 中直接使用该变量是不会报错的。另一方面,由于变量的生命周期是与请求相关的,所以如果直接访问 /test2,得到的变量 $hello
是一个空值,而访问 /test1,则会内部跳转到 /test2,将 /test1 中赋值的 hello 打印出来。
关于svn log,我之前的工作方式一般都是这样:
最近由于办公环境网络的变化,在 Windows 下无法用 TortoiseSVN 连接到仓库了,只能在 Linux 下进行。这样就无法在 Windows 下看版本日志了,好在也就只是一个 svn log 命令,简单明了。但使用中还是有一个要注意的地方。
在使用 TortoiseSVN 客户端查看日志时,即使当前工作目录版本是某个历史版本,也能看到最新的版本记录情况。