I'm twiting

访问统计

free counters

JQuery 动作绑定

假设页面有一段html需要做点击事件:
<span id=”id”>XXX</span>
我们当然可以使用 onclick=”” 方法,当这种方法不符合“结构与逻辑分离”的开发规范。
我们依然采用上面的结构,并对该对象做事件绑定。代码:

$(”#id”).click(function() {
alert(”You clicked #id”);
});

这里首先获取该对象,并且定义该对象的触发点击时的行为。想要修改点击行为,只需要修改 function() { alert(”You clicked #id”); } 这一部分。
这种方法看起来更麻烦,实际上更好的实现了“逻辑与结构分离”的思想,我们可以分开存放js和html,在开发中使程序员和美工更好的协作。
BTW. 以上代码必需放到jQuery(document).ready()中。jquery还有一种jQuery(document).ready()的替代方案:
$(function() {});这种方式要更简洁一些。

使用subversion忽略整个目录

当使用 svn st 时有时会提示很多不需要的目录。我们其实可以用如下的方法忽略它。
使用这个命令:svn propedit svn:ignore Directory_Path
然后输入文件名的正则表达式。全部忽略则输入*即可。保存退出,输入svn st,就可以看到该目录已经被忽略了。

Ubuntu编译软件时解决依赖关系的一个小技巧

当提示configure: error: cannot find XXX时
我们可以尝试用 aptitude install XXX
这时往往会提示有一堆的包可以安装,其中往往有名字类似libXXX-dev。
然后我们再使用 aptitude install libXXX-dev 安装这个包,很大部分的依赖关系可以这样解决。;D

编译PHP5缺t1lib包解决方案

遇到这个报错:
configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
以下是解决步骤:
1. 下载t1lib-5.1.2.tar.gz
2. 解决依赖关系:apt-get build-dep t1lib
3. 安装:./configure & make without_doc & make install
4. 编译php5 时在./configure后加上 –with-t1lib=/usr/local/share/t1lib。再次编译就能通过了。

Ubuntu 上配置 Apache 虚拟主机

1. 在 /etc/apache2/sites-available 目录下新建一个文件,文件名:yourprojectname。
2. 编辑该文件,放入以下代码:
ServerName yourdomain.com
ServerAdmin adminemail
DocumentRoot “/var/www/yourprojectname”
Options FollowSymLinks
AllowOverride All
ErrorLog “/var/log/apache2/yourprojectname_errors.log”
CustomLog “/var/log/apache2/yourprojectname_accesses.log” common
yourdomain.com 换成你的域名
adminemail 换成管理员的email(随便填一个就行)
yourprojectname 你在 /var/www 目录下的项目名称(假设你的项目放在 /var/www 之下,不在该目录下做个软连接即可)
3. 运行 a2ensite yourprojectname(启用这个主机 。)
4. 运行 /etc/init.d/apache2 reload (使apache加载这个主机。)
5. 编辑 /etc/hosts 加入一行:
127.0.0.1      yourdomain.com
在浏览器输入 yourdomain.com 就可以访问你的项目了。Enjoy It!

在 Ubuntu 上使用 apt-get 安装配置 Apache2.2 + PHP5.2 + MySQL5.0

安装以下这些包
apache2 php5-mysql libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-cli
(中间会提示输入MySQL密码)
参考:LAMP服务器的配置

基于 Ubuntu 通过源代码安装 MySQL 5.0

一、安装
CFLAGS=”-O3″ CXX=gcc CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti” ./configure –prefix=/usr/local/mysql –enable-thread-safe-client –enable-assembler –enable-shared –enable-static –with-charset=utf8 –with-ssl –with-plugins=max –with-unix-socket-path=/tmp/mysql.sock –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static
make
make install
二、配置
cp /usr/local/mysql/bin/mysql_config /usr/bin/
(创建软连接)
ln -s /usr/local/mysql/bin/mysql /usr/bin/
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/
ln -s /usr/local/mysql/bin/mysql_conf /usr/bin/
ln -s /usr/local/mysql/share/mysql/mysql.server /usr/bin/
(创建用户组mysql)
groupadd mysql
(在用户组mysql下创建用户mysql)
useradd -g mysql mysql
(进入主程序目录)
cd /usr/local/mysql
(如果还没有安装的MySQL,必须创建MySQL授权表。创建后,需要手动重新启动服务器)
bin/mysql_install_db –user=mysql
(使/usr/local/mysql/目录下所有文件为根用户root所有)
chown -R root .
(使/usr/local/mysql/var/目录下所有文件为用户mysql所有)
chown -R mysql var
(使/usr/local/mysql/目录下所有文件为用户组mysql所有)
chgrp -R mysql .
(初始化并测试你的mysql,其中&为后台执行的意思)有文件为用户mysql 所有)
bin/mysql_safe –use=mysql &
(为数据库设置密码)
mysql -p
(启动Mysql [...]

基于 Ubuntu 编译 Apache2.2

准备工作
1. 下载Apache2.2 地址:http://httpd.apache.org/download.cgi
2. 安装依赖包 apt-get build-dep apache
开始安装
1. 解包源文件
tar xvf httpd-2.2.11.tar.bz2
2. 安装apr
cd httpd-2.2.11/srclib/apr
./configure –prefix=/usr/local/apr
make
make install

3. 安装apr-util
cd ../apr-util
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
make
make install

4. 正式安装apache2
./configure –prefix=/usr/local/apache2 –enable-so –enable-cache –enable-disk-cache –enable-mem-cache –enable-file-cache –enable-mods-shared=most –enable-ssl –enable-http –enable-rewrite –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –with-mpm=worker
make
make install
5. 设置自动启动
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
chmod +x /usr/local/apache2/bin/apachectl
sysv-rc-conf
(实际上是将apachectl添加为服务,sysv-rc-conf为服务管理器)
找到apachectl 将其2,3,4,5都选中
q退出

所使用到的参数的一些说明

参数
说明

–enable-so
如果希望核心能够装载 DSO,而不实际编译任何动态模块,则要明确指定 –enable-modules=so 或者 –enable-so”,所以前面的顺序不能交换顺序。

–enable-cache
Apache 的缓存方式有两种,一种是基于硬盘文件的缓存,由 mod_disk_cache 实现,另一种是使用内存缓存,由 mod_mem_cache 实现,不过它们都是依赖 mod_cache 模块的,mod_cache 模块提供了一些缓存配置的指令供它们使用,而 [...]