gentoo下安装bugzilla

我在一台gentoo机器上安装bugzilla的问题记录,过程实在是太折腾了。 安装方法参考README文件,下面记录的是遇到的问题. bugzilla是perl编写的,所以需要apache + mod_perl mod_perl需要perl,libperl启用ithread ...

June 28, 2010 · notsobad

wordpress中的cron实现

wordpress中有一个cron的实现,插件可以将一些操作放入cron中,当用户访问网站的时候,cron会被检查是否到时间,到时间的话会被执行,并不依赖系统的crontab,设计很精巧,值得学习。 主要代码在: wp-cron.php wp-includes/cron.php 参考下这篇文章: <http://blog.slaven.net.au/archives/2007/02/01/timing-is-everything- scheduling-in-wordpress/>

June 20, 2010 · notsobad

google map加载完毕的事件

我需要判断google map加载完毕,可见区域内的图片下载完毕之后触发某个操作,api里有个tilesloaded,它会多次触发,移动图片时也会,所以我写了个函数,包装了以下 var gmap_onload = function(cb){ var _load = google.maps.event.addListener(map, 'tilesloaded', function(){ google.maps.event.removeListener(_load); cb(); }); }; gmap_onload(function(){ alert('Map load done!'); }); 可以只在页面加载完毕之后触发一次。 ...

June 1, 2010 · notsobad

php屏蔽出错信息

网站的上线版本应该把php的出错信息屏蔽掉,否则会有些危险。 # 是否是发布版本? $is_release = true; ini_set('display_errors', !$is_release); # 把超时限制改为1s,方便测试执行超时的出错信息 set_time_limit(1); $i = 0; while(++$i){ # 注意sleep的时间,是不包含在max_execute_time里的,所以不用sleep来测试,而只是用个死循环 //sleep(1); }

April 13, 2010 · notsobad

linux下获取mac地址

参考[这篇](http://blog.khsing.net/2009/01/use-sed-to-got-mac-and-ip-from- ifconfig.html)文章 ifconfig eth0 | sed -n -e '/.*HWaddr \([:[:xdigit:]\-]*\).*/{s//\1/;p}' linux下由于语言版本不同,这样的脚本可能在中文下就不行了 想了下,可以在一个子shell中,配置LANG变量,然后再调用 #在一个子shell中执行,LANG不会影响调用的shell (LANG=en_US && ifconfig eth0 | sed -n -e '/.*HWaddr \([:[:xdigit:]\-]*\).*/{s//\1/;p}')

April 13, 2010 · notsobad

python的SimpleHTTPServer

想快速的共享些文件给其他人? 用samba,或者简单的起个web server即可。 serv(){ ip=`ifconfig eth0 | sed -n 's/^\s*inet [^:]*://p' | awk '{print $1}'`; echo http://$ip:8000; python -m SimpleHTTPServer; } 加到~/.bashrc中,以后在需要的目录中运行serv 550 /tmp# serv http://10.16.22.1:8000 Serving HTTP on 0.0.0.0 port 8000 ... wang-desktop.local - - [04/Apr/2010 16:17:22] "GET / HTTP/1.1" 200 - wang-desktop.local - - [04/Apr/2010 16:17:22] "GET / HTTP/1.1" 200 - 然后访问把地址, 如“http://10.16.22.1:8000”发给其他人即可。 ...

April 4, 2010 · notsobad

python改变工作目录

python脚本执行时,有一个当前工作目录,用不同方式启动,是不一样的 如在存在一个 /tmp/x.py cd /tmp; python x.py cd $HOME; python /tmp/x.py 两种执行方式,当前工作目录是不一样的,内部代码涉及到路径问题的话,需要自己处理 import os,sys print os.getcwd() os.chdir(os.path.dirname(sys.argv[0])) # 切换到脚本所在的目录 print os.getcwd()

March 29, 2010 · notsobad

windows下启动一个带有gui的程序

如何在调起一个命令,然后立即返回呢? linux下的好办。windows下怎么做呢?参考下面。 http://www.php.net/manual/en/function.exec.php function execInBackground($cmd) { if (substr(php_uname(), 0, 7) == "Windows"){ pclose(popen("start /B ". $cmd, "r")); } else { exec($cmd . " > /dev/null &"); } } windows下web.py中,想启动一个带gui的程序,或者想在一个新的cmd窗口中执行一个命令行程序,如何做呢? 启动带gui的程序: ...

March 19, 2010 · notsobad

关于frameset

备忘下,关于frameset,这个标签现在用的已经不多了,用法比较特殊。 <http://www.w3.org/TR/REC- html40/present/frames.html#h-16.2> frameset是一个与html并列的一种文档类型,如果frameset文档中出现普通html标签,则会变成普通的html文档。 An HTML document that describes frame layout (called a frameset document) has a different makeup than an HTML document without frames. A standard document has one HEAD section and one BODY. A frameset document has a HEAD, and a FRAMESET in place of the BODY. The FRAMESET section of a document specifies the layout of views in the main user agent window. In addition, the FRAMESET section can contain a NOFRAMES element to provide alternate content for user agents that do not support frames or are configured not to display frames. Elements that might normally be placed in the BODY element must not appear before the first FRAMESET element or the FRAMESET will be ignored. ...

March 17, 2010 · notsobad

python捕获stdout输出

python中捕获到stdout的输出,实际上就是把sys.stdout只想到一个打开的文件即可 import StringIO import string, sys stdout = sys.stdout sys.stdout = file = StringIO.StringIO() print """ According to Gbaya folktales, trickery and guile are the best ways to defeat the python, king of snakes, which was hatched from a dragon at the world's start. -- National Geographic, May 1997 """ sys.stdout = stdout print string.upper(file.getvalue()) 类似与php中的ob_*系列函数。 It's like comparing apples to oranges.

March 13, 2010 · notsobad