未完待续

To Be Continued

枯藤昏鸦

[Mac OS X]Lion编译安装mod_python

期望情况是下载好mod_python后执行编译并安装就能够搞定。 $ ./configure –with-apxs=/usr/sbin/apxs $ make $ sudo make install 但是事实却不尽人意,在Mac OS X Lion可能会遇到下面这个错误: connobject.c:142: error: request for member ‘next’ in something not a structure or union apxs:Error: Command failed with rc=65536 说明connobject.c这个文件中142行有错误,我们找到并打开它 vim src/connobject.c 将142行处的 !(b == APR_BRIGADE_SENTINEL(b) || 改为 !(b == APR_BRIGADE_SENTINEL(bb) || -EOF-

简单静态资源分发脚本

网站静态资源太多的情况下有时候我们需要分成多个域名来请求这些静态资源。 如原来我们使用的 http://static.ioio.name/upload/hello.jpg 改成随机的使用 http://s1.ioio.name/upload/hello.jpg http://s2.ioio.name/upload/hello.jpg http://s3.ioio.name/upload/hello.jpg 这时候我们需要将s1/s2/s3服务器上的文件跟源服务器static同步。以使得他们都是访问的static上同名文件的拷贝。 这里我写了一段简单的php脚本采用溯源的策略来更新这些文件,当s1/s2/s3服务器上不存在该文件的时候,就向源服务器(static)请求该文件,并且保存在本地cache一份以便后续的相同请求使用。 1.在s1/s2/s3服务器上添加名为cdn.php的文件,内容如下: <?php $path = $_GET["name"]; $filename = md5($path); $file = "save/".$filename.".data"; if(file_exists($file)){ header(’Content-type: ‘.mime_content_type($file)); echo file_get_contents($file); }else{ $content = file_get_contents("http://source.ioio.name/upload/".$path); file_put_contents($file,$content); header(’Content-type: ‘.mime_content_type($file)); echo $content; } ?> 这段脚本会将读取到的文件存在本地的save文件夹里,需要save文件夹的读写权限。 2.配置.htaccess文件,添加一行记录: RewriteRule ^upload/(.*)$ /cdn.php?name=$1 [L] 这样配置后s1/s2/s3就能按照static的路径规则访问到相同的文件了。在实际的生成环境,可能会需要更复杂的cache策略,这里就不深入讨论。 -EOF-

Object-Oriented JavaScript笔记(一)

第二章 基本数据类型、数组、循环和条件语句 变量是大小写敏感的 基本类型 基本类型(5类) Number、String、Boolean、Undefined、Null 除了基本类型外的,都是object,特例 >>> typeof null “object” Infinity是number类型的 >>> typeof Infinity “number” JS中最大的数是1.7976931348623157e+308 最小的分数是5e-324 非0数除以0得到Infinity,0除以0得到NaN 1/0 = Infinity 0/0 = NaN Infinity 与非NaN运算值为Infinity Infinity – 1 = Infinity NaN 与任何number运算值为NaN 一个String与一个变量做除’+’(加)以外的运算,都会转换成做数学运算 >>> var s = ’3′; s = 3 * s; typeof s; “number” >>> var s = ’3′; s = [...]

[CentOS]如何清空登陆历史记录(wtmp/btmp)?

在Linux系统中,可以使用last命令查看用户登陆成功的记录(Last Logged In Users);以及可以用lastb查看登陆失败的记录(Bad Login Attemps Log)。它们以文件形式(wtmp/btmp)存在/var/log/目录下,时间长了不免会变得越来越大,这时候我们需要做一些清理工作。 1.备份wtmp/btmp cp /var/log/wtmp ~/log/wtmp 2.清空wtmp/btmp 使用命令 cat /dev/null > /var/log/wtmp 或者 > /var/log/wtmp 上面的例子为清空登陆成功记录,将wtmp改成btmp即清空失败记录。 -EOF-

获得git版本库地址

有时候我们需要快速的确定当前版本库remote服务器的路径,以确定是否pull或push。 像svn可以使用: svn info hg可以使用: hg path 从而快速的获得远端服务器地址. 而git也不例外,它也有相关的命令,只是比较复杂一点: git config –get remote.origin.url 使用这个命令便可获得git库地址,虽然长点但有总比没有好。 -EOF-