Monthly Archives: 十一月 2008

自定义Google搜索引擎—-美化


好几个朋友之前问过我有关Google自定义搜索的美化,之前我一直在Bus工作,只是在QQ上应付几句完事。现在刚好请假,有点时间,自己弄了一下,发现其实一点不复杂,只需要基本的HTML知识就可以搞定了。
问我自定义搜索的朋友大致有两类,一个是嫌程序本身自带的搜索太烂,比如wordpress就是,还有一个是为了赚$,当然这个需要和Google Adense帐号绑定,本文不打算介绍这部分内容,因为我的Adense帐号不知为何故就被Google告知作弊,然后就莫名其妙的封掉了,我对天发誓,我没有做过弊,帐号中仅有的几美元也随之飞灭,从此我对Google Adense失去兴趣。
要自定义Google搜索,首先你当然需要有个Google自定义搜索,没有的同学,可以去这里申请一个,过程超级简单,Google有帮助功能,此处略去数千字。

ARJ21首飞,真的是中国自主知识产权?


出于对中国飞机设计与制造者的神奇速度的好奇,我搜索到如下内容:
动力装置 供应商
发动机/短舱 GEAE
系统 [...]

正则表达式入门之顺序环视(lookahead)


在 以前的编码过程中,总是遇到货币数值的问题,比如¥10000000,根据习惯,¥10,000,000更容易阅读,我从前的做法很复杂,要先计算字符串的位数,然后根据位数再决定将第一个逗号放在第一位数字后面还是第二、第三位,后面的数字每个三位加上一个逗号,最后一位不加逗号,设计如此复杂的算法的原因是我没办法,像手动添加逗号一样,自右向左添加每三个数字添加一个逗号,当然也可能是我愚钝,高人会有更好的解决方法。如果您刚好知道一个更好的算法,请告诉,我会感谢您的。
正则表达有个叫lookahead的东西,我也不知道为什么翻译成顺序环视,姑且就这么叫吧,知道是这么回事就行了。顺序环视是自左至右查看文本,尝试匹配子表达式,如果能够匹配,就返回匹配成功信息。顺序环视又分为肯定型顺序环视和逆序环视,解决上面问题,当然是用到逆序环视了。
肯定型顺序环视用的特殊序列是:?=……来表示,省略号表示需要匹配的内容,匹配的顺序是习惯性匹配即自左向右,例如:?=\d,它表示如果位置右边的字符是数字则匹配成功,另一种环视的特殊序列是:?<=……来表示,例如:?<=\d,它表示如果当前位置的左边有一位是数字则匹配成功.
现在来解决本文开始部分提出的数字问题,代码段如下:
/(?<=\d)(?=(\d{3})+\b)/,/g
对代码段解释如下:
(?<=\d)是要限定匹配的位置,保证数字字符串刚好是3的倍数的时候不会出现  ,200,000  这种情况,即逗号的左边是必须有数字的
(?=(\d{3})+\b)是查询每个三个数字的位置,有意思的是段不匹配任何文本,而只是匹配一个位置,所以如果你试图输出每个匹配,那么显示的结果将是NULL
g表示全局替换,跟i表示忽略大小写一样的用法
顺序环视还有其他的内容,我们这里只用到肯定逆序环视和肯定顺序环视,还有否定逆序环视和否定顺序环视,读者可以举一反三,从名称上揣测他们的用法,顺带着找一些资料阅读下便可,这里不再赘述

在IE和Firefox中将Flash至于最底层


当一个网页的中既加入了弹出DIV效果,也有flash影片时,就会出现弹出层被flash挡住,这时候就需要将flash权重降低,至于网页的最底层,而且flash必须设置成透明,否则仍然会遮住,代码如下:
<div  style=”z-index:-1;padding-top:10px; text-align:center; border:0;”>// 这里设置Z-index= -1将包含flash的层至于最底层
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ width=”1003″ height=”490″
codebase=”http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab”>
<param name=”movie” value=”wall2.swf” />
<param name=”quality” value=”high” />
<param name=”bgcolor” value=”#000000″ />
<param name=”allowScriptAccess” value=”sameDomain” />
<embed src=”wall2.swf” quality=”high” bgcolor=”#000000″
width=”1003″ height=”490″ name=”wall2″ align=”middle”
play=”true”
loop=”false”
quality=”high”
wmode=”Opaque” // 这里设置针对firefox的透明效果
allowScriptAccess=”sameDomain”
type=”application/x-shockwave-flash”
pluginspage=”http://www.adobe.com/go/getflashplayer”>
</embed>
<param name=”wmode” value=”Opaque”> // 这里设置针对IE的透明效果
</object>
</div>

统计一下自己最常用的命令


车大人在MSN给我发过来一个链接,打开一看,发现是小花学习Linux日志分析的一些命令的笔记,刚好小曹也出去了,没人玩,统计了一下专题服务器的error log 发现了问题基本上都是non object这个老大难问题,这个问题并不是程序问题,而是程序需要查询的表被锁了,返回的对象是空。
好吧,统计自己最常用的命令是这样的:
history | awk {’print $4′} | sort | uniq -c | sort -k1 -rn | head
得到的结果是:
330 cd
225 sudo
199 ls
54 exit
33 ll
27 grep
15 man
12 tail
11 whois
8 vi
似乎这个有点乱,用到主要知识是Linux 管道(pipe),awk,sort
简单点说Linux管道是从一个程序进程向另一个程序进程单向传递信息的一个方式和技术
它的主要特点是:单向
管道是将一个进程的输出作为另外一个进程输入,在接收进程信息前,系统临时保留信息
当然这是我自己关于管道的理解,不一定对
关于awk,sort等命令的使用知识可以参阅车大人的笔记:GUN工具箱,不再赘述
不过神仙同学的脚本更加厉害,连命令后的参数都统计出来了
history | perl -n -e ’split(/\s+/,$_,5); print $_[4],”\n”‘ | tr “|” “\n” | awk ‘{print $1}’ | grep -E “^\w+$” | sort | uniq -c | [...]