五道口你好,五道口再见

November 1st, 2010

还分不清前边到底是什么方向。

没有疲倦之前,还是一路往前走好了。

现在是这么想的。

Posted in l | 1 Comment »

grep匹配tab

May 18th, 2010

今天有同学问如何用 grep 匹配 tab,想到这么几个方法:

  • 在匹配模式里写上一个真正的 tab (bash下):
    • grep foo$'\t'bar …
    • [ESC] tab OR C-v tab
  • 用 awk:awk '/\t/' …
  • 有支持 PCRE 的 grep (编译时没有打开 --disable-perl-regexp),加上开关 -P : grep –P '\t' …
  • 换个真正的工具:perl

Tags: , , ,
Posted in t | 1 Comment »

Nginx模块中调用ngx_localtime()可能死锁

March 19th, 2010

如果设定了timer_resolution并在自己的模块中调用了ngx_localtime()nginx极有可能失去响应。

原因看来是localtime_r(3)信号不安全。nginx内部会用ngx_time这个变量中存下当前的时间,默认是在每次event循环中更新这个变量,减少gettimeofday(2)的调用次数。设置timer_resolution参数会导致nginx使用SIGALRM信号来定时更新,作者认为这样会有更好的精度。触发信号处理函数ngx_timer_signal_handler()后,里面调用ngx_localtime(),最后落实到glibclocaltime_r(3)。由于localtime_r(3)信号不安全,这样自己的模块代码中也进行了ngx_localtime()调用的话,两者很容易冲突而死锁(不知道我说清楚了吗)。

这个问题看起来也没什么好修正的,不要在自己的模块里面用ngx_localtime()就好了。如果不需要设定timer_resolution,可以假装一切都很正常。我现在使用ngx_timeofday()/ngx_gmtime()来格式化时间,目前情绪稳定。

Update: nginx 0.7.66 已经修正了此问题。

参考:

ps: 为了这篇post,山寨了个在Windows Live Writer里面给选定文字加<code>标签的插件,有需要的同学吗……

Tags: , , , , ,
Posted in t | 1 Comment »

当前窗口最小化的快捷键

January 4th, 2010

Windows 下面有最小化所有窗口的快捷键, 但默认没有最小化当前窗口的快捷键. 解决方法(之一)是使用仅16.5k的神器 HoeKey.

安装运行 HoeKey 后, 按Win+Q呼出配置界面, 选择编辑配置文件, 加入一条:

~0=Msg||274|61472

这样就可以用快捷键 Win+0 来最小化当前窗口了.

同理可以写 ~9=Msg||274|61488 来用 Win+9 最大化当前窗口.

更多自定义触发快捷键以及 HoeKey 功能, 见帮助文档以及MSDN.

Tags: , , , , ,
Posted in t | 4 Comments »

Lighttpd覆盖设置http头

December 6th, 2009

lighty 1.4 的 setenv 模块是可以操作 http 头的, 但它提供的三个指令实际只是把给定的值附加进去, 如果处理的请求本来有同名的头, 会变成这样:
Host: foo.com, bar.com

X_FORWARD_FOR 这样的头可以如此处理, 但 Host 之类就不是希望的结果了.比如作为代理时, 伺服的主机名和后端伺服的不同, 需要覆盖掉 Host 头.

lighty 1.5 和 nginx 都提供了对应的指令, 1.4 下面得自助. 这里我添加了一个 set-request-header 指令, 顾名思义(set vs add), 会用给定值覆盖设置请求头的值. 响应头的因为我用不到所以没实现, 需要的同学自己折腾吧.

patch 放在 lighty 的论坛上, 但几个月了没人理, 是没人需要鹰语太烂还是要开 issue 才行?

Tags: , , , , , , , ,
Posted in t | 2 Comments »

终于红了!

November 12th, 2009

2009-11-12_190352

来源链接

Tags:
Posted in l | 6 Comments »

Fiddler中显示当前连接的主机地址

November 9th, 2009

我(曾经)觉得 HttpWatch 比 Fiddler 强的一处是,可以显示当前 http 会话中对话主机地址。其实 Fiddler 也早就可以了,而且更强大。方法是点菜单的Rules > Customize Rules,找到并修改文件中的Main()部份:

static function Main()
{
    FiddlerObject.UI.lvSessions.AddBoundColumn("HostIP", 50, "x-
hostIP");
}

Fiddler 的订制能力挺强,参考它的文档可以加入很多元素。它的作者人很好,论坛里面帖子回复很及时。

另外,由于 .NET 中DNS.Resolve()不会进行缓存,所以在 Fiddler 代理时对 hosts 文件的修改可以即时生效。

Tags: , ,
Posted in t | 6 Comments »

周末就这样过去了

November 1st, 2009

周五晚上骑车去中关村,半路上开始下雨,就在冷雨里面骑了一转。

周六晚上骑车去师大吃饭,到了就开始下,更冷的雨,再次被浇。

只好留宿。躺半天睡不着,拿出手机,弄了两下,没电了。

周日早上醒来,发现外边下大雪。。。那个大呦,手指头插积雪里到不了底。

索性迎着风雪骑回去。我是年轻人阿!

我一会儿往西骑,雪迎着我下。一会儿往北骑,雪迎着我下。一会儿往东骑,雪迎着我下。路上好像就我一个人在骑骑骑,好拉风的。

然后到家,一下雪就停了。

Posted in l | 10 Comments »

Next page Previous page