<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Herbert Yang &#187; Web</title>
	<atom:link href="http://www.herbertyang.com/category/web/feed" rel="self" type="application/rss+xml" />
	<link>http://www.herbertyang.com</link>
	<description></description>
	<lastBuildDate>Thu, 09 Sep 2010 14:41:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>2010系统架构师大会</title>
		<link>http://www.herbertyang.com/2010/09/01/sacc2010.html</link>
		<comments>http://www.herbertyang.com/2010/09/01/sacc2010.html#comments</comments>
		<pubDate>Wed, 01 Sep 2010 09:52:01 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.herbertyang.com/?p=618</guid>
		<description><![CDATA[2010年8月27、28日，由IT168、ChinaUnix、ITPUB、IXPUB共同主办的SACC2010系统架构师大会在北京永泰福朋·喜来登大酒店成功举行。两天的盛会以七个技术专场为平台，内容涵盖从系统架构、网络、安全、存储、数据库、移动互联、云计算等与架构师相关的方方面面。 相关地址： http://sacc.it168.com/ 部分PPT下载地址： 1、架构师大会－架构设计专场 http://linux.chinaunix.net/SACC2010/topic1.zip 2、架构师大会－架构设计与存储管理专场 http://linux.chinaunix.net/SACC2010/topic2.zip 3、架构师大会－应用系统优化与流量管理 http://linux.chinaunix.net/SACC2010/topic3.zip 4、架构师大会－可扩展数据库架构 http://linux.chinaunix.net/SACC2010/topic4.zip 5、架构师大会－移动互联网产品架构设计 http://linux.chinaunix.net/SACC2010/topic5.zip 6、架构师大会－系统安全与服务监控 http://linux.chinaunix.net/SACC2010/topic6.zip 7、架构师大会－云计算分布式应用实践 http://linux.chinaunix.net/SACC2010/topic7.zip]]></description>
			<content:encoded><![CDATA[<p>2010年8月27、28日，由IT168、ChinaUnix、ITPUB、IXPUB共同主办的SACC2010系统架构师大会在北京永泰福朋·喜来登大酒店成功举行。两天的盛会以七个技术专场为平台，内容涵盖从系统架构、网络、安全、存储、数据库、移动互联、云计算等与架构师相关的方方面面。<br />
相关地址：</p>
<p>http://sacc.it168.com/</p>
<p>部分PPT下载地址：<br />
1、架构师大会－架构设计专场</p>
<p>http://linux.chinaunix.net/SACC2010/topic1.zip</p>
<p>2、架构师大会－架构设计与存储管理专场</p>
<p>http://linux.chinaunix.net/SACC2010/topic2.zip</p>
<p>3、架构师大会－应用系统优化与流量管理</p>
<p>http://linux.chinaunix.net/SACC2010/topic3.zip</p>
<p>4、架构师大会－可扩展数据库架构</p>
<p>http://linux.chinaunix.net/SACC2010/topic4.zip</p>
<p>5、架构师大会－移动互联网产品架构设计</p>
<p>http://linux.chinaunix.net/SACC2010/topic5.zip</p>
<p>6、架构师大会－系统安全与服务监控</p>
<p>http://linux.chinaunix.net/SACC2010/topic6.zip</p>
<p>7、架构师大会－云计算分布式应用实践</p>
<p>http://linux.chinaunix.net/SACC2010/topic7.zip</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2010/09/01/sacc2010.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微博客输入框jQuery插件</title>
		<link>http://www.herbertyang.com/2010/08/29/micro-blog-jquery-plug-in-input-box.html</link>
		<comments>http://www.herbertyang.com/2010/08/29/micro-blog-jquery-plug-in-input-box.html#comments</comments>
		<pubDate>Sun, 29 Aug 2010 05:54:27 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Thinking]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.herbertyang.com/?p=612</guid>
		<description><![CDATA[自己开发的一个类似微博客输入框的一个jQuery插件，也可以让大家学习下怎么开发一个简单的jQuery插件。 (function($){ $.fn.extend({ speaker:function(countId){ var intervalId = jQuery.data(this, 'intervalId'); this.focus(function(){ if(intervalId==null&#124;&#124;intervalId!=0){ intervalId = setInterval(&#34;jQuery.speaker.check('&#34;+this.id+&#34;','&#34;+countId+&#34;')&#34;,50); jQuery.data(this, 'intervalId', intervalId); } }); this.blur(function(){ var intervalId = jQuery.data(this, 'intervalId'); jQuery.data(this, 'intervalId', 0); clearInterval(intervalId); }); } }); jQuery.extend({ speaker: { check:function(id,countId){ var str = $(&#34;#&#34;+id).val(); var count = 140-str.length; $(&#34;#&#34;+countId).html(count); if(count&#62;10){ $(&#34;#&#34;+countId).attr(&#34;style&#34;,&#34;color:#000000;&#34;); }else if(count&#62;=0){ $(&#34;#&#34;+countId).attr(&#34;style&#34;,&#34;color:#085879;&#34;); }else{ $(&#34;#&#34;+countId).attr(&#34;style&#34;,&#34;color:#BA2636;&#34;); } } }]]></description>
			<content:encoded><![CDATA[<p>自己开发的一个类似微博客输入框的一个jQuery插件，也可以让大家学习下怎么开发一个简单的jQuery插件。</p>
<pre class="brush: jscript;">
(function($){
	$.fn.extend({
		speaker:function(countId){
		var intervalId = jQuery.data(this, 'intervalId');
		this.focus(function(){
			if(intervalId==null||intervalId!=0){
				intervalId = setInterval(&quot;jQuery.speaker.check('&quot;+this.id+&quot;','&quot;+countId+&quot;')&quot;,50);
				jQuery.data(this, 'intervalId', intervalId);
			}
		});
		this.blur(function(){
			var intervalId = jQuery.data(this, 'intervalId');
			jQuery.data(this, 'intervalId', 0);
			clearInterval(intervalId);
		});
		}
	});
	jQuery.extend({
		speaker: {
			check:function(id,countId){
				var str = $(&quot;#&quot;+id).val();
				var count = 140-str.length;
				$(&quot;#&quot;+countId).html(count);
				if(count&gt;10){
					$(&quot;#&quot;+countId).attr(&quot;style&quot;,&quot;color:#000000;&quot;);
				}else if(count&gt;=0){
					$(&quot;#&quot;+countId).attr(&quot;style&quot;,&quot;color:#085879;&quot;);
				}else{
					$(&quot;#&quot;+countId).attr(&quot;style&quot;,&quot;color:#BA2636;&quot;);
				}
			}
		}
	});
})(jQuery);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2010/08/29/micro-blog-jquery-plug-in-input-box.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ANT自动化压缩合并JS/CSS和更改版本号</title>
		<link>http://www.herbertyang.com/2010/07/20/ant-automatic-compression-js-css-and-change-the-version-number-2.html</link>
		<comments>http://www.herbertyang.com/2010/07/20/ant-automatic-compression-js-css-and-change-the-version-number-2.html#comments</comments>
		<pubDate>Tue, 20 Jul 2010 13:19:40 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Ant]]></category>

		<guid isPermaLink="false">http://www.herbertyang.com/?p=604</guid>
		<description><![CDATA[最近做到了前端优化的一些工作，涉及到了自动化部署的问题。前端优化无非是雅虎的优化法则，不过如果想把优化法则加到自动化部署中去的话，下面的几种方法可以帮助你。 1、JS/CSS压缩脚本 &#60;!-- 压缩JS，CSS --&#62; &#60;target name=&#34;compress&#34;&#62; &#60;apply executable=&#34;java&#34; parallel=&#34;false&#34; failonerror=&#34;true&#34;&#62; &#60;fileset dir=&#34;${html-js}&#34; includes=&#34;**/*.js&#34; /&#62; &#60;arg line=&#34;-jar&#34; /&#62; &#60;arg path=&#34;${yui-compressor}&#34; /&#62; &#60;arg line=&#34;--charset utf-8&#34; /&#62; &#60;srcfile /&#62; &#60;arg line=&#34;-o&#34; /&#62; &#60;mapper type=&#34;glob&#34; from=&#34;*.js&#34; to=&#34;${webhtml-js}/*-min.js&#34; /&#62; &#60;targetfile /&#62; &#60;/apply&#62; &#60;apply executable=&#34;java&#34; parallel=&#34;false&#34; failonerror=&#34;true&#34;&#62; &#60;fileset dir=&#34;${html-css}&#34; includes=&#34;**/*.css&#34; /&#62; &#60;arg line=&#34;-jar&#34; /&#62; &#60;arg path=&#34;${yui-compressor}&#34; /&#62; &#60;arg line=&#34;--charset utf-8&#34;]]></description>
			<content:encoded><![CDATA[<p>最近做到了前端优化的一些工作，涉及到了自动化部署的问题。前端优化无非是雅虎的优化法则，不过如果想把优化法则加到自动化部署中去的话，下面的几种方法可以帮助你。<br />
<strong>1、JS/CSS压缩脚本</strong></p>
<pre class="brush: xml;">
	&lt;!-- 压缩JS，CSS --&gt;
	&lt;target name=&quot;compress&quot;&gt;
		&lt;apply executable=&quot;java&quot; parallel=&quot;false&quot; failonerror=&quot;true&quot;&gt;
			&lt;fileset dir=&quot;${html-js}&quot; includes=&quot;**/*.js&quot; /&gt;
			&lt;arg line=&quot;-jar&quot; /&gt;
			&lt;arg path=&quot;${yui-compressor}&quot; /&gt;
			&lt;arg line=&quot;--charset utf-8&quot; /&gt;
			&lt;srcfile /&gt;
			&lt;arg line=&quot;-o&quot; /&gt;
			&lt;mapper type=&quot;glob&quot; from=&quot;*.js&quot; to=&quot;${webhtml-js}/*-min.js&quot; /&gt;
			&lt;targetfile /&gt;
		&lt;/apply&gt;
		&lt;apply executable=&quot;java&quot; parallel=&quot;false&quot; failonerror=&quot;true&quot;&gt;
			&lt;fileset dir=&quot;${html-css}&quot; includes=&quot;**/*.css&quot; /&gt;
			&lt;arg line=&quot;-jar&quot; /&gt;
			&lt;arg path=&quot;${yui-compressor}&quot; /&gt;
			&lt;arg line=&quot;--charset utf-8&quot; /&gt;
			&lt;srcfile /&gt;
			&lt;arg line=&quot;-o&quot; /&gt;
			&lt;mapper type=&quot;glob&quot; from=&quot;*.css&quot; to=&quot;${webhtml-css}/*-min.css&quot; /&gt;
			&lt;targetfile /&gt;
		&lt;/apply&gt;
	&lt;/target&gt;
</pre>
<p><strong>2、更新JSS/CSS版本号</strong></p>
<pre class="brush: xml;">
	&lt;!-- 更新静态文件的版本号 --&gt;
	&lt;target name=&quot;version&quot;&gt;
		&lt;tstamp&gt;
			&lt;format property=&quot;TIMESTAMP&quot; pattern=&quot;yyyyMMddHHmmss&quot; locale=&quot;en&quot; /&gt;
		&lt;/tstamp&gt;
		&lt;loadfile property=&quot;svn.version&quot; srcFile=&quot;./.svn/entries&quot;&gt;
			&lt;filterchain&gt;
				&lt;headfilter lines=&quot;1&quot; skip=&quot;3&quot; /&gt;
				&lt;deletecharacters chars=&quot;\n&quot; /&gt;
			&lt;/filterchain&gt;
		&lt;/loadfile&gt;
		&lt;delete file=&quot;${webinf-ftl}/config.ftl&quot;/&gt;
		&lt;copy file=&quot;${ftl-app}/config.ftl&quot; tofile=&quot;${webinf-ftl}/config.ftl&quot; /&gt;
		&lt;replace file=&quot;${webinf-ftl}/config.ftl&quot; token=&quot;$version$&quot; value=&quot;${svn.version}&quot; /&gt;
	&lt;/target&gt;
</pre>
<p>接下来就是合并JS/CSS文件</p>
<pre class="brush: xml;">
	&lt;!-- 合并静态文件 --&gt;
	&lt;target name=&quot;js-concat&quot;&gt;
		&lt;concat destfile=&quot;${webhtml-js}/jquery.js&quot; encoding=&quot;utf-8&quot; append=&quot;false&quot;&gt;
			&lt;path path=&quot;${webhtml-js}/jquery.core-min.js&quot; /&gt;
			&lt;path path=&quot;${webhtml-js}/jquery.cookie-min.js&quot; /&gt;
			&lt;path path=&quot;${webhtml-js}/jquery.timeago-min.js&quot; /&gt;
			&lt;path path=&quot;${webhtml-js}/jquery.utils-min.js&quot; /&gt;
			&lt;path path=&quot;${webhtml-js}/jquery.watermarkinput-min.js&quot; /&gt;
		&lt;/concat&gt;
	&lt;/target&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2010/07/20/ant-automatic-compression-js-css-and-change-the-version-number-2.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTTP 错误</title>
		<link>http://www.herbertyang.com/2010/05/28/http-error.html</link>
		<comments>http://www.herbertyang.com/2010/05/28/http-error.html#comments</comments>
		<pubDate>Fri, 28 May 2010 07:12:48 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[HTTP]]></category>

		<guid isPermaLink="false">http://www.herbertyang.com/?p=594</guid>
		<description><![CDATA[HTTP 400 &#8211; 请求无效 HTTP 401 &#8211; 未授权 HTTP 403 &#8211; 禁止访问 HTTP 404 &#8211; 无法找到文件 HTTP 405 &#8211; 资源被禁止 HTTP 406 &#8211; 无法接受 HTTP 407 &#8211; 要求代理身份验证 HTTP 410 &#8211; 永远不可用 HTTP 412 &#8211; 先决条件失败 HTTP 414 &#8211; 请求 &#8211; URI 太长 HTTP 500 &#8211; 内部服务器错误 HTTP 501 &#8211; 未实现 HTTP 502 &#8211; 网关错误]]></description>
			<content:encoded><![CDATA[<p>HTTP 400 &#8211; 请求无效<br />
HTTP 401 &#8211; 未授权<br />
HTTP 403 &#8211; 禁止访问<br />
HTTP 404 &#8211; 无法找到文件<br />
HTTP 405 &#8211; 资源被禁止<br />
HTTP 406 &#8211; 无法接受<br />
HTTP 407 &#8211; 要求代理身份验证<br />
HTTP 410 &#8211; 永远不可用<br />
HTTP 412 &#8211; 先决条件失败<br />
HTTP 414 &#8211; 请求 &#8211; URI 太长<br />
HTTP 500 &#8211; 内部服务器错误<br />
HTTP 501 &#8211; 未实现<br />
HTTP 502 &#8211; 网关错误 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2010/05/28/http-error.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>当负载过高时重启Apache</title>
		<link>http://www.herbertyang.com/2009/11/23/when-the-load-is-too-high-to-restart-apache.html</link>
		<comments>http://www.herbertyang.com/2009/11/23/when-the-load-is-too-high-to-restart-apache.html#comments</comments>
		<pubDate>Mon, 23 Nov 2009 05:30:27 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Load]]></category>

		<guid isPermaLink="false">http://www.herbertyang.com/?p=452</guid>
		<description><![CDATA[最近半年碰到了几次，由于“蜘蛛”导致机器挂掉了，所以想出了这个方法，等系统负载过高的情况下，直接重启Apache。这就是Twitter提倡的那样，等进程杀死你之前，你先杀死他（原话不记得了）。其实这种方法早就在业界使用了。 来吧，看看我写的脚本。 checkload.sh #!/bin/sh TOP_SYS_LOAD_NUM=5 SYS_LOAD_NUM=`uptime &#124; awk '{print $(NF-2)}' &#124; sed 's/,//'` echo $(date +&#34;%y-%m-%d&#34;) `uptime` if [ `echo &#34;$TOP_SYS_LOAD_NUM &#60; $SYS_LOAD_NUM&#34;&#124;bc` -eq 1 ] then echo &#34;##&#34; $(date +&#34;%y-%m-%d %H:%M:%S&#34;) &#34;pkill httpd&#34; `ps -ef &#124; grep httpd &#124; wc -l` pkill httpd sleep 10 for i in 1 2 3 do if []]></description>
			<content:encoded><![CDATA[<p>最近半年碰到了几次，由于“蜘蛛”导致机器挂掉了，所以想出了这个方法，等系统负载过高的情况下，直接重启Apache。这就是Twitter提倡的那样，等进程杀死你之前，你先杀死他<em>（原话不记得了）</em>。其实这种方法早就在业界使用了。<br />
来吧，看看我写的脚本。<br />
<strong>checkload.sh</strong></p>
<pre class="brush: bash;">
#!/bin/sh
TOP_SYS_LOAD_NUM=5
SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`

echo $(date +&quot;%y-%m-%d&quot;) `uptime`
if [ `echo &quot;$TOP_SYS_LOAD_NUM &lt; $SYS_LOAD_NUM&quot;|bc` -eq 1 ]
then
    echo &quot;##&quot; $(date +&quot;%y-%m-%d %H:%M:%S&quot;) &quot;pkill httpd&quot; `ps -ef | grep httpd | wc -l`
    pkill httpd
	sleep 10
	for i in 1 2 3
    do
		if [ `pgrep httpd | wc -l` -le 0 ]
		then
			/home/app/httpd/bin/apachectl start
			sleep 30
			echo &quot;##&quot; $(date +&quot;%y-%m-%d %H:%M:%S&quot;) &quot;start httpd&quot; `ps -ef | grep httpd | wc -l`
		fi
	done
else
	if [ `pgrep httpd | wc -l` -le 0 ]
	then
		/home/app/httpd/bin/apachectl start
		sleep 30
		echo &quot;##&quot; $(date +&quot;%y-%m-%d %H:%M:%S&quot;) &quot;start httpd&quot; `ps -ef | grep httpd | wc -l`
	fi
fi
</pre>
<p>然后在crontab里增加定时执行的命令</p>
<pre class="brush: bash;">*/2 * * * * (/root/checkload.sh &gt;&gt;/root/checkload.log)</pre>
<p>每两分钟检查一次系统负载。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2009/11/23/when-the-load-is-too-high-to-restart-apache.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Google的Ajax库API</title>
		<link>http://www.herbertyang.com/2009/08/12/use-googles-ajax-apicdn.html</link>
		<comments>http://www.herbertyang.com/2009/08/12/use-googles-ajax-apicdn.html#comments</comments>
		<pubDate>Wed, 12 Aug 2009 08:42:12 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.shishuo.com/?p=337</guid>
		<description><![CDATA[使用这个的一个好处是使用了Google的CDN，这对于贫穷的站长来说，实在是太好了。 &#60;script src=&#34;http://www.google.com/jsapi&#34;&#62;&#60;/script&#62; &#60;script&#62; google.load(&#34;jquery&#34;, &#34;1.3.1&#34;); google.load(&#34;jqueryui&#34;, &#34;1.5.3&#34;); &#60;/script&#62; 同时在介绍一下Google的代码园地很不错的一个东西，有很多的Google开发的API可以使用。]]></description>
			<content:encoded><![CDATA[<p>使用这个的一个好处是使用了Google的CDN，这对于贫穷的站长来说，实在是太好了。</p>
<pre class="brush: jscript;">&lt;script src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;
&lt;script&gt;
google.load(&quot;jquery&quot;, &quot;1.3.1&quot;);
google.load(&quot;jqueryui&quot;, &quot;1.5.3&quot;);
&lt;/script&gt;</pre>
<p>同时在介绍一下Google的<a href="http://code.google.com/apis/ajax/playground/?exp=libraries" target="_blank">代码园地</a>很不错的一个东西，有很多的Google开发的API可以使用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2009/08/12/use-googles-ajax-apicdn.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让你的用户感受特别</title>
		<link>http://www.herbertyang.com/2009/08/10/let-your-customers-feel-special.html</link>
		<comments>http://www.herbertyang.com/2009/08/10/let-your-customers-feel-special.html#comments</comments>
		<pubDate>Mon, 10 Aug 2009 04:54:00 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[User]]></category>

		<guid isPermaLink="false">http://blog.shishuo.com/?p=334</guid>
		<description><![CDATA[原文：Web Directions UX: Making Your Users Feel Special http://www.sitepoint.com/blogs/2008/05/16/web-directions-ux-making-your-users-feel-special/ 1. First impressions count 2. Attention to detail gets noticed 3. Personalisation and customisation matters 4. Dripfeed your information 5. Take care of the mundane 6. Make it fun 7. Feedback is important 8. Recommendations are powerful 9. Users love competitions 马斯洛的需求层次”web”体系 马斯洛的需求层次体系当每一层次需求得到满足时，人们便会移至上一层次 1. functional 功能]]></description>
			<content:encoded><![CDATA[<p>原文：Web Directions UX: Making Your Users Feel Special</p>
<p>http://www.sitepoint.com/blogs/2008/05/16/web-directions-ux-making-your-users-feel-special/</p>
<p>1. First impressions count<br />
2. Attention to detail gets noticed<br />
3. Personalisation and customisation matters<br />
4. Dripfeed your information<br />
5. Take care of the mundane<br />
6. Make it fun<br />
7. Feedback is important<br />
8. Recommendations are powerful<br />
9. Users love competitions</p>
<p>马斯洛的需求层次”web”体系<br />
马斯洛的需求层次体系当每一层次需求得到满足时，人们便会移至上一层次<br />
1. functional 功能<br />
2. reliable  可靠<br />
3. usable 可用<br />
4. convenient  便捷<br />
5. pleasurable 愉悦<br />
6. meaningful  意义</p>
<p>参考文献：</p>
<p>http://blog.youmila.com/?p=349【Web方向用户体验之”让你的用户感受特别”】</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2009/08/10/let-your-customers-feel-special.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse中高亮</title>
		<link>http://www.herbertyang.com/2009/08/07/eclipse-in-the-highlight.html</link>
		<comments>http://www.herbertyang.com/2009/08/07/eclipse-in-the-highlight.html#comments</comments>
		<pubDate>Fri, 07 Aug 2009 03:32:38 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.shishuo.com/?p=328</guid>
		<description><![CDATA[不知道为什么，Eclipse的编辑器的高亮不见了，很不方便啊。最后搜索找到一篇文章，介绍了怎么重新启动高亮。 其恢复方式如下： 选择:windows-&#62; preferences-&#62;java-&#62;Editor-&#62;Mark Occurences 我是碰到过两次了，这次写个日志记录下吧。 参考文章： http://blog.csdn.net/ccsuliuxing/archive/2007/04/16/1566583.aspx]]></description>
			<content:encoded><![CDATA[<p>不知道为什么，Eclipse的编辑器的高亮不见了，很不方便啊。最后搜索找到一篇文章，介绍了怎么重新启动高亮。</p>
<p>其恢复方式如下：</p>
<p>选择:windows-&gt; preferences-&gt;java-&gt;Editor-&gt;Mark Occurences</p>
<p>我是碰到过两次了，这次写个日志记录下吧。</p>
<p>参考文章：</p>
<p>http://blog.csdn.net/ccsuliuxing/archive/2007/04/16/1566583.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2009/08/07/eclipse-in-the-highlight.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows环境下的项目环境搭建（Tomcat+Apache+Memcached+ActiveMQ+MySQL）</title>
		<link>http://www.herbertyang.com/2009/07/26/windows-environment-to-build-the-project-environment-tomcat-apache-memcached-activemq-mysql.html</link>
		<comments>http://www.herbertyang.com/2009/07/26/windows-environment-to-build-the-project-environment-tomcat-apache-memcached-activemq-mysql.html#comments</comments>
		<pubDate>Sun, 26 Jul 2009 13:21:34 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://blog.shishuo.com/?p=311</guid>
		<description><![CDATA[首先到 http://labs.xiaonei.com/apache-mirror/ 下载相关的软件。 http://labs.xiaonei.com/apache-mirror/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.zip 这个软件现在不用，不过以 后会用的。 http://labs.xiaonei.com/apache-mirror/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so http://www.splinedancer.com/memcached-win32/memcached-1.2.4-Win32-Preview-20080309_bin.zip 这个软件以后也会用 现在这几个软件被安装在以下目录 D:\Program Files\Apache Software Foundation\Tomcat 6.0 D:\Program Files\Apache Software Foundation\Apache2.2 D:\Program Files\Apache Software Foundation\apache-activemq-5.2.0 首先把mod_jk-1.2.28-httpd-2.2.3.so文件复制到 D:\Program Files\Apache Software Foundation\Apache2.2\modules 改名为mod_jk.so 再在 D:\Program Files\Apache Software Foundation\Apache2.2\conf 创建文件 workers.properties 内容为 workers.tomcat_home=D:\Program Files\Apache Software Foundation\Tomcat 6.0 workers.java_home=D:\Program Files\Java\jdk worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.type=ajp13 worker.ajp13.lbfactor=1 然后在文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 找到]]></description>
			<content:encoded><![CDATA[<p>首先到 http://labs.xiaonei.com/apache-mirror/ 下载相关的软件。</p>
<p>http://labs.xiaonei.com/apache-mirror/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.zip 这个软件现在不用，不过以</p>
<p>后会用的。</p>
<p>http://labs.xiaonei.com/apache-mirror/httpd/binaries/win32/apache_2.2.11-win32-x86-no_ssl.msi</p>
<p>http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe</p>
<p>http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so</p>
<p>http://www.splinedancer.com/memcached-win32/memcached-1.2.4-Win32-Preview-20080309_bin.zip 这个软件以后也会用</p>
<p>现在这几个软件被安装在以下目录<br />
D:\Program Files\Apache Software Foundation\Tomcat 6.0<br />
D:\Program Files\Apache Software Foundation\Apache2.2<br />
D:\Program Files\Apache Software Foundation\apache-activemq-5.2.0</p>
<p>首先把mod_jk-1.2.28-httpd-2.2.3.so文件复制到<br />
D:\Program Files\Apache Software Foundation\Apache2.2\modules<br />
改名为mod_jk.so</p>
<p>再在<br />
D:\Program Files\Apache Software Foundation\Apache2.2\conf<br />
创建文件<br />
workers.properties<br />
内容为<br />
workers.tomcat_home=D:\Program Files\Apache Software Foundation\Tomcat 6.0<br />
workers.java_home=D:\Program Files\Java\jdk<br />
worker.list=ajp13<br />
worker.ajp13.port=8009<br />
worker.ajp13.type=ajp13<br />
worker.ajp13.lbfactor=1</p>
<p>然后在文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 找到<br />
LoadModule rewrite_module modules/mod_rewrite.so<br />
去掉前面的#号<br />
再添加<br />
LoadModule jk_module modules/mod_jk.so<br />
在文件的最后添加<br />
JkWorkersFile &#8220;D:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties&#8221;<br />
JkLogFile &#8220;D:\Program Files\Apache Software Foundation\Apache2.2\logs\mod_jk2.log&#8221;</p>
<p>JkLogLevel inf
<pre class="brush: xml;">&lt;VirtualHost *:80&gt;
DocumentRoot &quot;D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\iguoer&quot;
ServerName www.iguoer.com
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
JkMount /dwr/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
&lt;/VirtualHost&gt;</pre>
<p>现在去配置Tomcat<br />
找到文件<br />
D:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml<br />
如果你安装的Tomcat和我的版本是一样的话，在文件的最后面应该可以找到</p>
<pre class="brush: xml;">&lt;Engine name=&quot;Catalina&quot; defaultHost=&quot;localhost&quot;&gt;
&lt;Host name=&quot;localhost&quot;  appBase=&quot;webapps&quot;
unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;
xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;&gt;
&lt;/Host&gt;
&lt;/Engine&gt;</pre>
<p>我修改为</p>
<pre class="brush: xml;">&lt;Engine name=&quot;Catalina&quot; defaultHost=&quot;www.iguoer.com&quot;&gt;
&lt;Host name=&quot;www.iguoer.com&quot;  appBase=&quot;webapps&quot;
unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;
xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;&gt;

&lt;Context path=&quot;&quot; docBase=&quot;iguoer&quot; reloadable=&quot;true&quot; /&gt;
&lt;/Host&gt;
&lt;/Engine&gt;</pre>
<p>修改这段后，此时Tomcat的根目录为<br />
D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\iguoer<br />
这样用Eclipse的插件，就能启动项目为根目录启动了。</p>
<p>当然还可以配置不同域名访问不同目录</p>
<pre class="brush: xml;">&lt;Engine name=&quot;Catalina&quot; defaultHost=&quot;www.iguoer.com&quot;&gt;
&lt;Host name=&quot;www.iguoer.com&quot;  appBase=&quot;webapps&quot;
unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;
xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;&gt;

&lt;Context path=&quot;&quot; docBase=&quot;iguoer&quot; reloadable=&quot;true&quot; /&gt;
&lt;/Host&gt;
&lt;Host name=&quot;img.iguoer.com&quot;  appBase=&quot;webapps&quot;
unpackWARs=&quot;true&quot; autoDeploy=&quot;true&quot;
xmlValidation=&quot;false&quot; xmlNamespaceAware=&quot;false&quot;&gt;

&lt;Context path=&quot;&quot; docBase=&quot;D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\iguoer&quot;

reloadable=&quot;true&quot; /&gt;
&lt;/Host&gt;
&lt;/Engine&gt;</pre>
<p>当然不要忘记修改你的C:\Windows\System32\drivers\etc\hosts<br />
127.0.0.1  www.iguoer.com<br />
127.0.0.1  img.iguoer.com<br />
127.0.0.1  memcached.iguoer.com<br />
127.0.0.1  mysql.iguoer.com<br />
127.0.0.1  mq.igueor.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2009/07/26/windows-environment-to-build-the-project-environment-tomcat-apache-memcached-activemq-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>抛弃在Hibernate的二级缓存使用Memcached</title>
		<link>http://www.herbertyang.com/2009/07/19/discard-the-secondary-cache-in-hibernate-using-memcached.html</link>
		<comments>http://www.herbertyang.com/2009/07/19/discard-the-secondary-cache-in-hibernate-using-memcached.html#comments</comments>
		<pubDate>Sun, 19 Jul 2009 15:54:44 +0000</pubDate>
		<dc:creator>Herbert</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Memcached]]></category>

		<guid isPermaLink="false">http://blog.shishuo.com/?p=305</guid>
		<description><![CDATA[Memcached就像一个调皮的精灵，在你困难的时候，他会跳出来帮你一把，那绝对是雪中送。 不过，也如精灵的天性一样，喜欢冲破任何约束，感觉都不太可靠。 在Hibernate的二级缓存加上Memcached，似乎是把这个精灵捆住了，也正因为如此，Memcached不再是Memcached了。 扔掉这种想法吧，如果你使用了Memcached，就要做好他上窜下窜的准备，这就是他的魅力。]]></description>
			<content:encoded><![CDATA[<p>Memcached就像一个调皮的精灵，在你困难的时候，他会跳出来帮你一把，那绝对是雪中送。</p>
<p>不过，也如精灵的天性一样，喜欢冲破任何约束，感觉都不太可靠。</p>
<p>在Hibernate的二级缓存加上Memcached，似乎是把这个精灵捆住了，也正因为如此，Memcached不再是Memcached了。</p>
<p>扔掉这种想法吧，如果你使用了Memcached，就要做好他上窜下窜的准备，这就是他的魅力。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herbertyang.com/2009/07/19/discard-the-secondary-cache-in-hibernate-using-memcached.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
