<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>权记</title>
	<link>http://www.quanlei.com</link>
	<description>一个关于我们生活点滴的网站，一个记录我们酸甜苦辣的日志。</description>
	<lastBuildDate>Sun, 06 Jun 2010 01:10:16 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.0" -->

	<item>
		<title>[10/22 周主题] – 强悍的JQuery Validate 插件</title>
		<description><![CDATA[对于JQuery Validate，只有相见恨晚的感触，恐怕在表单验证领域这是目前我见过最好的插件了，可以很方便的使用，极大的提高表单验证的效率。 下面就介绍下简单的使用方法： 1、下载地址：http://bassistance.de/jquery-plugins/jquery-plugin-validation/，本文章发布时最新版是1.7。 2、在页面里面加载JQuery和JQuery Validate &#60;script type=&#34;text/javascript&#34; src=&#34;theme/default/js/jquery-1.4.2.min.js&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;theme/default/js/jquery.validate.min.js&#34;&#62;&#60;/script&#62; 3、写一个表单提交页面，form id 为 login，两个提交域email和password。域提供相应的id。为了完善demo，我在里面也提供了一个注册的form，同时提供了自定义验证方法和ajax提交。 4、在页面或者单独写个js文件，输入如下代码： $().ready(function() { //身份证验证 jQuery.validator.addMethod(&#34;isIdCardNo&#34;, function(value, element) { return this.optional(element) &#124;&#124; isIdCardNo(value); }, &#34;请正确输入您的身份证号码&#34;); // 电话号码验证 jQuery.validator.addMethod(&#34;isPhone&#34;, function(value, element) { var tel = /^(\d{3,4}-?)?\d{7,9}$/g; return this.optional(element) &#124;&#124; (tel.test(value)); }, &#34;请正确填写您的电话号码&#34;); //昵称验证 jQuery.validator.addMethod(&#34;nickName&#34;, function(value, element) { return this.optional(element) &#124;&#124; /^[\u0391-\uFFE5\w]+$/.test(value); [...]]]></description>
		<link>http://www.quanlei.com/2010/06/1022-week-subject-jquery-validate-plugin/</link>
			</item>
	<item>
		<title>利用JSON插件进行数据交换格式(includeProperties和excludeProperties用法)</title>
		<description><![CDATA[JSON（Java Script Object Notation），是一种语言无关的数据交换格式。 JSON插件是Structs 2 的Ajax插件，通过利用JSON插件，开发者可以很方便，灵活的利用Ajax进行开发。 Json是一种轻量级的数据交换格式，JSon插件提供了一种名为json的Action ResultType 。一旦为Action指定了该结果处理类型，JSON插件就会自动将Action里的数据序列化成JSON格式的数据，并返回给客户端物理视图的JavaScript。简单的说，JSON插件允许我们在JavaScript中异步的调用Action。 而且Action不需要指定视图来显示Action的信息显示而是由JSON插件来负责具体将Action里面具体的信息返回给调用页面。Json的数据格式可简单如下形式： person = { name: &#8216;Jim&#8217;,age: 18,gender: &#8216;man&#8217;}。 如果action的属性很多，我们想要从Action返回到调用页面的数据。这个时候配置includeProperties或者 excludeProperties拦截器即可。而这2个拦截器的定义都在struts2的json-default包内，所以要使用该拦截器的包都要继承自json-default。 &#60;struts&#62; &#60;constant value=&#34;spring&#34; name=&#34;struts.objectFactory&#34; /&#62; &#60;include file=&#34;struts-admin.xml&#34;&#62;&#60;/include&#62; &#60;package name=&#34;default&#34; extends=&#34;json-default&#34;&#62; &#60;action class=&#34;com.person.PersonAction&#34; name=&#34;person&#34; method=&#34;view&#34;&#62; &#60;result type=&#34;json&#34;&#62; &#60;param name=&#34;includeProperties&#34;&#62;person\.name,persoon\.age,person\.gender &#60;/param&#62; &#60;/result&#62; &#60;/action&#62; &#60;/package&#62; &#60;/struts&#62; 经过测试，下面的设置也是可以的，就是在includeProperties里面直接写你所在Action的属性 &#60;struts&#62; &#60;constant value=&#34;spring&#34; name=&#34;struts.objectFactory&#34; /&#62; &#60;include file=&#34;struts-admin.xml&#34;&#62;&#60;/include&#62; &#60;package name=&#34;default&#34; extends=&#34;json-default&#34;&#62; &#60;action [...]]]></description>
		<link>http://www.quanlei.com/2010/06/struts2-json/</link>
			</item>
	<item>
		<title>早起7件事</title>
		<description><![CDATA[早上睡不着，早早起来开了电脑，想到了早起的几件事，于是画了出来，尤其夏季！]]></description>
		<link>http://www.quanlei.com/2010/06/%e6%97%a9%e8%b5%b77%e4%bb%b6%e4%ba%8b/</link>
			</item>
	<item>
		<title>延庆 &#8211; 白河堡水库野营</title>
		<description><![CDATA[]]></description>
		<link>http://www.quanlei.com/2010/06/%e5%bb%b6%e5%ba%86-%e7%99%bd%e6%b2%b3%e5%a0%a1%e6%b0%b4%e5%ba%93%e9%87%8e%e8%90%a5/</link>
			</item>
	<item>
		<title>[10/21 周主题] – 安装和配置Nginx</title>
		<description><![CDATA[马上Nginx将会应用到公司的第一个实战项目上，为了方便开发和运维人员安装和配置Nginx，整理了下面的内容。 我们的服务器全部采用CentOS，因此下面的配置也是基于CentOS来配置的。 安装流程： cd /opt/ yum install gcc openssl-devel pcre-devel zlib-devel wget http://nginx.org/download/nginx-0.8.38.tar.gz wget http://github.com/gnosek/nginx-upstream-fair/tarball/master tar –zxvf nginx-0.8.38.tar.gz tar –zxvf gnosek-nginx-upstream-fair-2131c73.tar.gz cd nginx-0.8.38 ./configure --with-http_stub_status_module --add-module=/opt/gnosek-nginx-upstream-fair-2131c73 make &#38; make install 正常一步步走下面是不会出问题的，前提确保你的服务器网络可用。 Nginx启动脚本： #!/bin/bash # Nginx Manage Script # # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/var/run/nginx.pid lockfile=/var/lock/subsys/nginx RETVAL=0 prog=&#34;nginx&#34; # Source [...]]]></description>
		<link>http://www.quanlei.com/2010/05/1021-week-subject-install-and-config-nginx/</link>
			</item>
	<item>
		<title>Spring Filter Ordering</title>
		<description><![CDATA[相关介绍： Spring 官方英文：http://static.springsource.org/spring-security/site/docs/3.1.x/reference/security-filter-chain.html#d4e1307 中文翻译：http://www.family168.com/tutorial/springsecurity3/html/web-infrastructure.html#d0e2828 更多介绍：http://www.family168.com/oa/springsecurity/html/ch101-filters.html]]></description>
		<link>http://www.quanlei.com/2010/05/spring-filter-ordering/</link>
			</item>
	<item>
		<title>[10/20 周主题] – GlassFish单机和多机集群的配置</title>
		<description><![CDATA[GlassFish可以配置单机集群和多机集群（即普通意义上的真集群）。 单机集群和多机集群配置上大同小异，只是代理服务器不同而已，单机集群代理服务器和代理节点在一个机子上，而多机集群就是将代理服务器和代理节点分布在不同的机器上。 下面就一步步来配置GlassFish集群，我是在Linux上部署的，因此下面的部署方式是Linux下的部署方式，Windows下的差不多： 1、下载 GlassFish， 我选择的是 GlassFish Server Open Source Edition 2.1.1中的 glassfish-installer-v2.1.1-linux-ml.jar 多语言版； Linux Platform glassfish-installer-v2.1.1-linux.jar size 64MB glassfish-installer-v2.1.1-linux-ml.jar size 78MB 2、安装GlassFish，安装前确保你的Linux上安装了JDK5 或者 JDK6 java -Xmx256m -jar glassfish-installer-v2.1.1-b31g-linux-ml.jar cd glassfish chmod +x lib/ant/bin/ant lib/ant/bin/ant -f setup-cluster.xml (确定安装的是cluster) 3、启动GlassFish，创建Node Agent bin/asadmin start-domain (启动GlassFish)，正常情况下GlassFish就可以启动了，打开 http://localhost:4848 就可以访问了。 创建Node Agent 1，bin/asadmin create-node-agent &#8211;host 172.16.100.125 &#8211;port 4848 agent1， 创建Node [...]]]></description>
		<link>http://www.quanlei.com/2010/05/1020-week-subject-glassfish-cluster/</link>
			</item>
	<item>
		<title>打包达人是如何炼成的，出差旅人，必看</title>
		<description><![CDATA[美国洛杉 矶空姐 Heather Poole 同时也是一名打包达人，在纽约时报网站上的12张幻灯片中，她演示了如何在一个行李箱内装入10天内全部要穿的衣服 Poole 所要装下的衣物包括：三条短裤，三条正装长裤，一条裙子，三条休闲裤（或牛仔裤），三件睡衣，三件泳衣，一件布裙，三件轻毛衫，四件连衣裙，10件休闲 衫，六件正装衬衫，一个手包，化妆品若干和两双鞋 以下是步骤： 1.普通叠衣法太占空间，Poole首先将衣裤紧紧卷成轴 2. 将鞋子沿箱子边缘排放，然后将长裤放到底层的中间 3. 将卷好的重量稍轻的衣物紧密排列当上一层 4. 接着放重量最轻的上衣，这也是衣物的最上一层了 5. 最顶上放化妆品和手包，空间整整好，无需屁股坐上去压 如 果是常规叠法的结果是这样的 此 外，对于短途旅行，Poole也给出了如何最小程度减少褶皱的叠法： 1.将制服和长裤沿箱沿平铺，裤腿延伸至箱外 2. 易褶的衣物防止中间，然后化妆品和手包还是在最上面 3. 最后，将箱外的裤腿卷进来 happy trip&#8230;这样做的好处是，减少行李费，一个行李箱在传送带旁边你也不要浪费过多的时间等你的多个箱子了 转载出处：http://jandan.net/2010/05/22/suitcase-packing-ninja.html 来 源：http://www.boingboing.net/2010/05/21/secrets-of-a-suitcas.html]]></description>
		<link>http://www.quanlei.com/2010/05/%e6%89%93%e5%8c%85%e8%be%be%e4%ba%ba%e6%98%af%e5%a6%82%e4%bd%95%e7%82%bc%e6%88%90%e7%9a%84%ef%bc%8c%e5%87%ba%e5%b7%ae%e6%97%85%e4%ba%ba%ef%bc%8c%e5%bf%85%e7%9c%8b/</link>
			</item>
	<item>
		<title>VirtualBox VDI镜像的复制</title>
		<description><![CDATA[因为工作的需要，需要在不同的软件环境下做不同的事情，虚拟机这个时候就起了很大的作用，但是正常安装虚拟机还是比较麻烦的，如果已经有一个VDI文件系统了，只要复制一个就可以了！ 但是复制后不能直接使用的，VDI是携带UUID的，UUID不能重复，因此可以通过重置UUID来使用。好在VirtualBox有这方面的工具来直接使用： VBoxManage.exe internalcommands setvdiuuid disk.vdi 这样就重置了新VDI的UUID，然后就可以把这个新VDI注册进虚拟硬盘，避免了重新安装的烦恼！]]></description>
		<link>http://www.quanlei.com/2010/05/virtualbox-vdi%e9%95%9c%e5%83%8f%e7%9a%84%e5%a4%8d%e5%88%b6/</link>
			</item>
	<item>
		<title>转载：支付宝浏览器与操作系统统计报告(2010.04)</title>
		<description><![CDATA[支付宝注册用户已经突破 3 亿，2009 年网购交易额达到 2670 亿元 (via)，支付宝用户特征在一定程度上反映了中国电子商务用户的普遍情况。 基于支付宝网站流量统计数据，支付宝前端开发组最近发布了浏览器与操作系统统计报告。这份报告对电子支付行业以及所有互联网电子商务网站都具有现实意义。 &#62;更大阅读窗口 原文：http://ued.alipay.com/2010/04/alipay-client-data-report/]]></description>
		<link>http://www.quanlei.com/2010/05/%e8%bd%ac%e8%bd%bd%ef%bc%9a%e6%94%af%e4%bb%98%e5%ae%9d%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%8e%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e7%bb%9f%e8%ae%a1%e6%8a%a5%e5%91%8a2010-04/</link>
			</item>
</channel>
</rss>
