<?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>潔靜精微</title>
	<atom:link href="http://julabs.me/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://julabs.me/blog</link>
	<description>专注、坚持、重复……</description>
	<lastBuildDate>Thu, 09 Sep 2010 14:18:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pro HTML5 Programming</title>
		<link>http://julabs.me/blog/front/pro-html5-programming/</link>
		<comments>http://julabs.me/blog/front/pro-html5-programming/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 16:00:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=259</guid>
		<description><![CDATA[《Pro HTML5 Programming》已经可以在网上下到PDF版的了，有兴趣可以去下载来研究下。
里面的内容也很丰富，介绍了HTML5的新元素和API，如下：

Canvas API
Audio  and Video
Geolocation  API 
Communication APIs
WebSocket  API
Forms API
Web Workers  API
Web Storage  API
Offline Web Applications

虽然介绍了不少新技术，但真正可以实际使用的却非常少。现在在中国主流的浏览器还是IE系列的，里面真正支持HTML5的只有IE 9，但是现在的IE 9还只是个测试版。IE 6连css 2都支持不全，更别谈HTML5了。更杯具的是HTML5的标准还没有最终确定下来，也就是说HTML5也不标准，它以后可能还会再变。
但我觉得HTML5可能会在中国很早地得到大规模地支持，因为搜狗浏览器、QQ浏览器5、Maxthon 3，它们的高速模式使用了WebKit核心，就连360浏览器也打算要内嵌WebKit了，而目前来说WebKit对HTML5的支持是最好的。就算这些浏览器的用户不默认开启高速模式，但是他也拥有了支持HTML5的平台，对于HTML5的推广是件好的事。
没有最好的技术，只有最适合的技术。个人认为对于HTML5是要了解一些，但不要过分地追求新技术，毕竟现在HTML5还不规范，支持也少。最后引用岁月如歌的一段话：
关注是可以的。有时间（我觉得大部分人其实都没时间），去尝尝鲜也是有益的。但是对于大部分营养不良的前端，推荐还是脚踏实地老老实实的去学一门传统编程语言，去把数据结构/基础算法/设计模式/数据库等等基础知识点给搞瓷实了再说。这样，等 HTML9 出来的时候，对你而言，无非就是淘汰了一些旧 API, 增加了一些新 API 而已。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://book.douban.com/subject/4143106/" target="_blank" class="img"><img src="http://img3.douban.com/mpic/s4360518.jpg" alt="Pro HTML5 Programming" width="105" height="140" /></a><a href="http://book.douban.com/subject/4143106/" target="_blank">《Pro HTML5 Programming》</a>已经可以在网上下到<abbr title="Portable Document Format">PDF</abbr>版的了，有兴趣可以去下载来研究下。</p>
<p>里面的内容也很丰富，介绍了<abbr title="Hyper Text Markup Language 5">HTML5</abbr>的新元素和API，如下：</p>
<ol>
<li>Canvas API</li>
<li>Audio  and Video</li>
<li>Geolocation  API </li>
<li>Communication APIs</li>
<li>WebSocket  API</li>
<li>Forms API</li>
<li>Web Workers  API</li>
<li>Web Storage  API</li>
<li>Offline Web Applications</li>
</ol>
<p>虽然介绍了不少新技术，但真正可以实际使用的却非常少。现在在中国主流的浏览器还是<abbr title="Internet Explorer">IE</abbr>系列的，里面真正支持<abbr title="Hyper Text Markup Language 5">HTML5</abbr>的只有<abbr title="Internet Explorer 9">IE 9</abbr>，但是现在的<abbr title="Internet Explorer 9">IE 9</abbr>还只是个测试版。<abbr title="Internet Explorer 6">IE 6</abbr>连<abbr title="Cascading Style Sheets Level 2">css 2</abbr>都支持不全，更别谈<abbr title="Hyper Text Markup Language 5">HTML5</abbr>了。更杯具的是<abbr title="Hyper Text Markup Language 5">HTML5</abbr>的标准还没有最终确定下来，也就是说<abbr title="Hyper Text Markup Language 5">HTML5</abbr>也不标准，它以后可能还会再变。</p>
<p>但我觉得<abbr title="Hyper Text Markup Language 5">HTML5</abbr>可能会在中国很早地得到大规模地支持，因为<a href="http://ie.sogou.com/" target="_blank">搜狗浏览器</a>、<a href="http://labs.qq.com/labs/browser.shtml" target="_blank">QQ浏览器5</a>、<a href="http://www.maxthon.cn/mx3/index.htm" target="_blank">Maxthon 3</a>，它们的高速模式使用了<a href="http://webkit.org/" target="_blank">WebKit</a>核心，就连<a href="http://se.360.cn/" target="_blank">360浏览器</a>也打算要内嵌<a href="http://webkit.org/" target="_blank">WebKit</a>了，而目前来说<a href="http://webkit.org/" target="_blank">WebKit</a>对<abbr title="Hyper Text Markup Language 5">HTML5</abbr>的支持是最好的。就算这些浏览器的用户不默认开启高速模式，但是他也拥有了支持<abbr title="Hyper Text Markup Language 5">HTML5</abbr>的平台，对于<abbr title="Hyper Text Markup Language 5">HTML5</abbr>的推广是件好的事。</p>
<p>没有最好的技术，只有最适合的技术。个人认为对于<abbr title="Hyper Text Markup Language 5">HTML5</abbr>是要了解一些，但不要过分地追求新技术，毕竟现在<abbr title="Hyper Text Markup Language 5">HTML5</abbr>还不规范，支持也少。最后引用<a href="http://lifesinger.org/" target="_blank">岁月如歌</a>的一段话：</p>
<blockquote cite="http://lifesinger.org/blog/2010/09/what-is-important/"><p>关注是可以的。有时间（我觉得大部分人其实都没时间），去尝尝鲜也是有益的。但是对于大部分营养不良的前端，推荐还是脚踏实地老老实实的去学一门传统编程语言，去把数据结构/基础算法/设计模式/数据库等等基础知识点给搞瓷实了再说。这样，等 HTML9 出来的时候，对你而言，无非就是淘汰了一些旧 API, 增加了一些新 API 而已。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/pro-html5-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>动态载入JavaScript以及它的load事件</title>
		<link>http://julabs.me/blog/front/dynamic-script-loading/</link>
		<comments>http://julabs.me/blog/front/dynamic-script-loading/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 06:54:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[load]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=256</guid>
		<description><![CDATA[动态载入JavaScript
动态载入JavaScript非常简单，代码演示如下：
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'test.js';
head.appendChild(script);

侦测JavaScript是否载入
我们常常用JavaScript来给其它元素添加load事件，但如果给一个script自身添加load事件还真不是一件容易的事。对于非IE的高级浏览器来说和一般元素添加事件方法是一样的，代码演示如下：
script.onload=function(){
	// do something
};

但对于IE来说则要复杂一点，不能直使用onload，而要使用onreadystatechange事件，通过onreadystatechange事件来判断script元素的readyState属性是否等于complete或者loaded，从而来确认script元素是否已经载入。代码演示如下：
script.onreadystatechange=function(){
	if(this.readyState == 'loaded' &#124;&#124; this.readyState == 'complete'){
		// do something
	}
};

readyState具有以下几个状态值：

0 : uninitialized
1 : loading
2 : loaded
3 : interactive
4 : complete


注意：在IE中complete或者loaded值是不会一起出现的，IE中会忽略一些状态，所以只需要判断它俩中的一个就可以了。
对于JavaScript不存在的处理
如果动态载入的JavaScript文件不存在的话，非IE浏览器会一直请求。在IE6、IE7中，script的属性值readyState会返回一个loading值，但有时候延迟久了会返回一个loaded值。而在IE8中，script的属性值readyState仍然会返回一个complete，这个很奇怪。
最终方案
这里根据jQuery里面的代码修改了下，增加了载入错误的回调功能。代码演示如下：
/**
 * 动态载入 javascript 脚本
 * @author &#60;a href="mailto:jon.ju@msn.com"&#62;Jon&#60;/a&#62;
 * @param {Object} options 选项
 * @param {String} options.url 脚本的 url 地址
 * @param {Function} options.callback 脚本完成载入后回调的函数
 * @param {Function} [...]]]></description>
			<content:encoded><![CDATA[<h4>动态载入JavaScript</h4>
<p>动态载入<strong>JavaScript</strong>非常简单，代码演示如下：</p>
<pre><code class="javascript">var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'test.js';
head.appendChild(script);
</code></pre>
<h4>侦测JavaScript是否载入</h4>
<p>我们常常用<strong>JavaScript</strong>来给其它元素添加<strong>load</strong>事件，但如果给一个<strong>script</strong>自身添加<strong>load</strong>事件还真不是一件容易的事。对于非<abbr title="Internet Explorer">IE</abbr>的高级浏览器来说和一般元素添加事件方法是一样的，代码演示如下：</p>
<pre><code class="javascript">script.onload=function(){
	// do something
};
</code></pre>
<p>但对于<abbr title="Internet Explorer">IE</abbr>来说则要复杂一点，不能直使用<strong>onload</strong>，而要使用<strong>onreadystatechange</strong>事件，通过<strong>onreadystatechange</strong>事件来判断<strong>script</strong>元素的<strong>readyState</strong>属性是否等于<strong>complete</strong>或者<strong>loaded</strong>，从而来确认<strong>script</strong>元素是否已经载入。代码演示如下：</p>
<pre><code class="javascript">script.onreadystatechange=function(){
	if(this.readyState == 'loaded' || this.readyState == 'complete'){
		// do something
	}
};
</code></pre>
<p><strong>readyState</strong>具有以下几个状态值：</p>
<ol>
<li>0 : uninitialized</li>
<li>1 : loading</li>
<li>2 : loaded</li>
<li>3 : interactive</li>
<li>4 : complete</li>
</ol>
<p><span id="more-256"></span></p>
<p>注意：在<abbr title="Internet Explorer">IE</abbr>中<strong>complete</strong>或者<strong>loaded</strong>值是不会一起出现的，<abbr title="Internet Explorer">IE</abbr>中会忽略一些状态，所以只需要判断它俩中的一个就可以了。</p>
<h4>对于JavaScript不存在的处理</h4>
<p>如果动态载入的<strong>JavaScript</strong>文件不存在的话，非<abbr title="Internet Explorer">IE</abbr>浏览器会一直请求。在<abbr title="Internet Explorer 6">IE6</abbr>、<abbr title="Internet Explorer 7">IE7</abbr>中，<strong>script</strong>的属性值<strong>readyState</strong>会返回一个<strong>loading</strong>值，但有时候延迟久了会返回一个<strong>loaded</strong>值。而在<abbr title="Internet Explorer 8">IE8</abbr>中，<strong>script</strong>的属性值<strong>readyState</strong>仍然会返回一个<strong>complete</strong>，这个很奇怪。</p>
<h4>最终方案</h4>
<p>这里根据<a href="http://jquery.com/" target="_blank">jQuery</a>里面的代码修改了下，增加了载入错误的回调功能。代码演示如下：</p>
<pre><code class="javascript">/**
 * 动态载入 javascript 脚本
 * @author &lt;a href="mailto:jon.ju@msn.com"&gt;Jon&lt;/a&gt;
 * @param {Object} options 选项
 * @param {String} options.url 脚本的 url 地址
 * @param {Function} options.callback 脚本完成载入后回调的函数
 * @param {Function} options.error 脚本没有按时载入时回调的函数
 * @param {Number} options.time 请求超时时间,默认为 5 秒
 * @param {String} options.charset 脚本的编码
 */
function insertScript(options){
	var head = document.getElementsByTagName("head")[0] || document.documentElement,
	script = document.createElement("script");
	script.src = options.url;
	var done=false, // 是否完成脚本载入的标识
	timer; // 超时时间
	if (options.charset) {
		script.charset = options.charset;
	}

	script.onload = script.onreadystatechange = function() {

		if ( !done &#038;&#038; (!this.readyState ||
				this.readyState === "loaded" || this.readyState === "complete") ) {
			done = true;
			// 如果有计时器，去除
			if(timer)clearTimeout(timer);
			if(options.callback)options.callback.call();

			// 防止 IE 下的内存泄漏
			script.onload = script.onreadystatechange = null;
			if ( head &#038;&#038; script.parentNode ) {
				head.removeChild( script );
			}

		}
	};

	// 如果有错误回调函数，则超过一定时间就去除 script 的相关设置
	if(options.error){
		timer = setTimeout(function(){
			// 如果还没有完成
			if(!done){
				script.onload = script.onreadystatechange = null;
				if ( head &#038;&#038; script.parentNode ) {
					head.removeChild( script );
				}
				if(options.error){
					options.error.call();
				}
			}
		},options.time || 5000);
	}

	head.appendChild(script);

}
</code></pre>
<p>假设有个在动态载入的<strong>test.js</strong>文件，里面的代码是这样的：</p>
<pre><code class="javascript">var myVar = 'OK';
</code></pre>
<p>载入代码为：</p>
<pre><code class="javascript">insertScript({
	'url':'test.js',
	'callback':function(){
		// IE 在文件不存在时也会触发 callback 函数，
		// 所以在这里要加个判断
		try{
			alert(myVar);
		}catch(e){
			alert('error');
		}
	},
	'error':function(){
		alert('error');
	},
	'time':1000
});
</code></pre>
<p>如果<strong>test.js</strong>存在，则会<strong>alert</strong>出“<strong>OK</strong>”，如果文件不存在<abbr title="Internet Explorer 8">IE8</abbr>会立即<strong>alert</strong>出“<strong>error</strong>”，而其它常用浏览器过1秒后会<strong>alert</strong>出“<strong>error</strong>”。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/dynamic-script-loading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS中文字体转编码</title>
		<link>http://julabs.me/blog/front/css-font-unicode/</link>
		<comments>http://julabs.me/blog/front/css-font-unicode/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 13:20:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=251</guid>
		<description><![CDATA[转自悠悠左的《Unicode – CSS中文字体转编码》。
在制作网页的时候，为了兼容大部分浏览器，我们常常要求在CSS样式文档中不出现中文字体的，尤其是在{}中，因此通过参照下表将其对应转编，可以将中文名转成英文名。
注意unicode2是直接输出为文本的。
比如：微软雅黑，我们在CSS中的设置为：
.font01{
	font-family:"Microsoft Yahei";
}
也可以是对应的unicode形式：
.font02{
	font-family:"\5FAE\8F6F\96C5\9ED1";
}
但微软雅黑对应的unicode2即&#x5FAE;&#x8F6F;&#x6B63;&#x9ED1;&#x4F53;写在样式文档里是没有效果的，因为unicode2是以文本形式输出的，这个可以将对应的unicode2放到html文档中尝试一下，对应输出微软雅黑四个字。



中文名
英文名
Unicode
Unicode 2




Mac OS


华文细黑
STHeiti Light [STXihei]
\534E\6587\7EC6\9ED1
&#38;#x534E;&#38;#x6587;&#38;#x7EC6;&#38;#x9ED1;


华文黑体
STHeiti
\534E\6587\9ED1\4F53
&#38;#x534E;&#38;#x6587;&#38;#x9ED1;&#38;#x4F53;


华文楷体
STKaiti
\534E\6587\6977\4F53
&#38;#x534E;&#38;#x6587;&#38;#x6977;&#38;#x4F53;


华文宋体
STSong
\534E\6587\5B8B\4F53
&#38;#x534E;&#38;#x6587;&#38;#x5B8B;&#38;#x4F53;


华文仿宋
STFangsong
\534E\6587\4EFF\5B8B
&#38;#x534E;&#38;#x6587;&#38;#x4EFF;&#38;#x5B8B;


丽黑 Pro
LiHei Pro Medium
\4E3D\9ED1 Pro
&#38;#x4E3D;&#38;#x9ED1; Pro


丽宋 Pro
LiSong Pro Light
\4E3D\5B8B Pro
&#38;#x4E3D;&#38;#x5B8B; Pro


标楷体
BiauKai
\6807\6977\4F53
&#38;#x6807;&#38;#x6977;&#38;#x4F53;


苹果丽中黑
Apple LiGothic Medium
\82F9\679C\4E3D\4E2D\9ED1
&#38;#x82F9;&#38;#x679C;&#38;#x4E3D;&#38;#x4E2D;&#38;#x9ED1;


苹果丽细宋
Apple LiSung Light
\82F9\679C\4E3D\7EC6\5B8B
&#38;#x82F9;&#38;#x679C;&#38;#x4E3D;&#38;#x7EC6;&#38;#x5B8B;




Windows


新细明体
PMingLiU
\65B0\7EC6\660E\4F53
&#38;#x65B0;&#38;#x7EC6;&#38;#x660E;&#38;#x4F53;


细明体
MingLiU
\7EC6\660E\4F53
&#38;#x7EC6;&#38;#x660E;&#38;#x4F53;


标楷体
DFKai-SB
\6807\6977\4F53
&#38;#x6807;&#38;#x6977;&#38;#x4F53;


黑体
SimHei
\9ED1\4F53
&#38;#x9ED1;&#38;#x4F53;


宋体
SimSun
\5B8B\4F53
&#38;#x5B8B;&#38;#x4F53;


新宋体
NSimSun
\65B0\5B8B\4F53
&#38;#x65B0;&#38;#x5B8B;&#38;#x4F53;


仿宋
FangSong
\4EFF\5B8B
&#38;#x4EFF;&#38;#x5B8B;


楷体
KaiTi
\6977\4F53
&#38;#x6977;&#38;#x4F53;


仿宋_GB2312
FangSong_GB2312
\4EFF\5B8B_GB2312
&#38;#x4EFF;&#38;#x5B8B;_GB2312


楷体_GB2312
KaiTi_GB2312
\6977\4F53_GB2312
&#38;#x6977;&#38;#x4F53;_GB2312


微软正黑体
Microsoft JhengHei
\5FAE\x8F6F\6B63\9ED1\4F53
&#38;#x5FAE;&#38;#x8F6F;&#38;#x6B63;&#38;#x9ED1;&#38;#x4F53;


微软雅黑
Microsoft YaHei
\5FAE\8F6F\96C5\9ED1
&#38;#x5FAE;&#38;#x8F6F;&#38;#x96C5;&#38;#x9ED1;




Office


隶书
LiSu
\96B6\4E66
&#38;#x96B6;&#38;#x4E66;


幼圆
YouYuan
\5E7C\5706
&#38;#x5E7C;&#38;#x5706;


华文细黑
STXihei
\534E\6587\7EC6\9ED1
&#38;#x534E;&#38;#x6587;&#38;#x7EC6;&#38;#x9ED1;


华文楷体
STKaiti
\534E\6587\6977\4F53
&#38;#x534E;&#38;#x6587;&#38;#x6977;&#38;#x4F53;


华文宋体
STSong
\534E\6587\5B8B\4F53
&#38;#x534E;&#38;#x6587;&#38;#x5B8B;&#38;#x4F53;


华文中宋
STZhongsong
\534E\6587\4E2D\5B8B
&#38;#x534E;&#38;#x6587;&#38;#x4E2D;&#38;#x5B8B;


华文仿宋
STFangsong
\534E\6587\4EFF\5B8B
&#38;#x534E;&#38;#x6587;&#38;#x4EFF;&#38;#x5B8B;


方正舒体
FZShuTi
\65B9\6B63\8212\4F53
&#38;#x65B9;&#38;#x6B63;&#38;#x8212;&#38;#x4F53;


方正姚体
FZYaoti
\65B9\6B63\59DA\4F53
&#38;#x65B9;&#38;#x6B63;&#38;#x59DA;&#38;#x4F53;


华文彩云
STCaiyun
\534E\6587\5F69\4E91
&#38;#x534E;&#38;#x6587;&#38;#x5F69;&#38;#x4E91;


华文琥珀
STHupo
\534E\6587\7425\73C0
&#38;#x534E;&#38;#x6587;&#38;#x7425;&#38;#x73C0;


华文隶书
STLiti
\534E\6587\96B6\4E66
&#38;#x534E;&#38;#x6587;&#38;#x96B6;&#38;#x4E66;


华文行楷
STXingkai
\534E\6587\884C\6977
&#38;#x534E;&#38;#x6587;&#38;#x884C;&#38;#x6977;


华文新魏
STXinwei
\534E\6587\65B0\9B4F
&#38;#x534E;&#38;#x6587;&#38;#x65B0;&#38;#x9B4F;



]]></description>
			<content:encoded><![CDATA[<p>转自<a href="http://www.uuzuo.com/" target="_blank">悠悠左</a>的<a href="http://www.uuzuo.com/archives/unicode-css/" target="_blank">《Unicode – CSS中文字体转编码》</a>。</p>
<p>在制作网页的时候，为了兼容大部分浏览器，我们常常要求在<abbr title="Cascading Style Sheets">CSS</abbr>样式文档中不出现中文字体的，尤其是在<strong>{}</strong>中，因此通过参照下表将其对应转编，可以将中文名转成英文名。</p>
<p><strong>注意unicode2是直接输出为文本的。</strong></p>
<p>比如：微软雅黑，我们在<abbr title="Cascading Style Sheets">CSS</abbr>中的设置为：</p>
<pre><code class="css">.font01{
	font-family:"Microsoft Yahei";
}</code></pre>
<p>也可以是对应的unicode形式：</p>
<pre><code class="css">.font02{
	font-family:"\5FAE\8F6F\96C5\9ED1";
}</code></pre>
<p>但微软雅黑对应的<strong>unicode2</strong>即<strong>&#x5FAE;&#x8F6F;&#x6B63;&#x9ED1;&#x4F53;</strong>写在样式文档里是没有效果的，因为<strong>unicode2</strong>是以文本形式输出的，这个可以将对应的<strong>unicode2</strong>放到html文档中尝试一下，对应输出微软雅黑四个字。</p>
<table>
<thead>
<tr>
<th>中文名</th>
<th>英文名</th>
<th>Unicode</th>
<th>Unicode 2</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="4">Mac OS</th>
</tr>
<tr style="font-family:\534E\6587\7EC6\9ED1;">
<td>华文细黑</td>
<td>STHeiti Light [STXihei]</td>
<td>\534E\6587\7EC6\9ED1</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x7EC6;&amp;#x9ED1;</td>
</tr>
<tr style="font-family:\534E\6587\9ED1\4F53;">
<td>华文黑体</td>
<td>STHeiti</td>
<td>\534E\6587\9ED1\4F53</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x9ED1;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\534E\6587\6977\4F53;">
<td>华文楷体</td>
<td>STKaiti</td>
<td>\534E\6587\6977\4F53</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x6977;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\534E\6587\5B8B\4F53;">
<td>华文宋体</td>
<td>STSong</td>
<td>\534E\6587\5B8B\4F53</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x5B8B;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\534E\6587\4EFF\5B8B;">
<td>华文仿宋</td>
<td>STFangsong</td>
<td>\534E\6587\4EFF\5B8B</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x4EFF;&amp;#x5B8B;</td>
</tr>
<tr style="font-family:\4E3D\9ED1 Pro;">
<td>丽黑 Pro</td>
<td>LiHei Pro Medium</td>
<td>\4E3D\9ED1 Pro</td>
<td>&amp;#x4E3D;&amp;#x9ED1; Pro</td>
</tr>
<tr style="font-family:\4E3D\5B8B Pro;">
<td>丽宋 Pro</td>
<td>LiSong Pro Light</td>
<td>\4E3D\5B8B Pro</td>
<td>&amp;#x4E3D;&amp;#x5B8B; Pro</td>
</tr>
<tr style="font-family:\6807\6977\4F53;">
<td>标楷体</td>
<td>BiauKai</td>
<td>\6807\6977\4F53</td>
<td>&amp;#x6807;&amp;#x6977;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\82F9\679C\4E3D\4E2D\9ED1;">
<td>苹果丽中黑</td>
<td>Apple LiGothic Medium</td>
<td>\82F9\679C\4E3D\4E2D\9ED1</td>
<td>&amp;#x82F9;&amp;#x679C;&amp;#x4E3D;&amp;#x4E2D;&amp;#x9ED1;</td>
</tr>
<tr style="font-family:;">
<td>苹果丽细宋</td>
<td>Apple LiSung Light</td>
<td>\82F9\679C\4E3D\7EC6\5B8B</td>
<td>&amp;#x82F9;&amp;#x679C;&amp;#x4E3D;&amp;#x7EC6;&amp;#x5B8B;</td>
</tr>
</tbody>
<tbody>
<tr>
<th colspan="4">Windows</th>
</tr>
<tr style="font-family:\65B0\7EC6\660E\4F53;">
<td>新细明体</td>
<td>PMingLiU</td>
<td>\65B0\7EC6\660E\4F53</td>
<td>&amp;#x65B0;&amp;#x7EC6;&amp;#x660E;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\7EC6\660E\4F53;">
<td>细明体</td>
<td>MingLiU</td>
<td>\7EC6\660E\4F53</td>
<td>&amp;#x7EC6;&amp;#x660E;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\6807\6977\4F53;">
<td>标楷体</td>
<td>DFKai-SB</td>
<td>\6807\6977\4F53</td>
<td>&amp;#x6807;&amp;#x6977;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\9ED1\4F53;">
<td>黑体</td>
<td>SimHei</td>
<td>\9ED1\4F53</td>
<td>&amp;#x9ED1;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\5b8b\4f53;">
<td>宋体</td>
<td>SimSun</td>
<td>\5B8B\4F53</td>
<td>&amp;#x5B8B;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\65B0\5B8B\4F53;">
<td>新宋体</td>
<td>NSimSun</td>
<td>\65B0\5B8B\4F53</td>
<td>&amp;#x65B0;&amp;#x5B8B;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\4EFF\5B8B;">
<td>仿宋</td>
<td>FangSong</td>
<td>\4EFF\5B8B</td>
<td>&amp;#x4EFF;&amp;#x5B8B;</td>
</tr>
<tr style="font-family:\6977\4F53;">
<td>楷体</td>
<td>KaiTi</td>
<td>\6977\4F53</td>
<td>&amp;#x6977;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\4EFF\5B8B_GB2312;">
<td>仿宋_GB2312</td>
<td>FangSong_GB2312</td>
<td>\4EFF\5B8B_GB2312</td>
<td>&amp;#x4EFF;&amp;#x5B8B;_GB2312</td>
</tr>
<tr style="font-family:\6977\4F53_GB2312;">
<td>楷体_GB2312</td>
<td>KaiTi_GB2312</td>
<td>\6977\4F53_GB2312</td>
<td>&amp;#x6977;&amp;#x4F53;_GB2312</td>
</tr>
<tr style="font-family:\5FAE\x8F6F\6B63\9ED1\4F53;">
<td>微软正黑体</td>
<td>Microsoft JhengHei</td>
<td>\5FAE\x8F6F\6B63\9ED1\4F53</td>
<td>&amp;#x5FAE;&amp;#x8F6F;&amp;#x6B63;&amp;#x9ED1;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\5FAE\8F6F\96C5\9ED1;">
<td>微软雅黑</td>
<td>Microsoft YaHei</td>
<td>\5FAE\8F6F\96C5\9ED1</td>
<td>&amp;#x5FAE;&amp;#x8F6F;&amp;#x96C5;&amp;#x9ED1;</td>
</tr>
</tbody>
<tbody>
<tr>
<th colspan="4">Office</th>
</tr>
<tr style="font-family:\96B6\4E66;">
<td>隶书</td>
<td>LiSu</td>
<td>\96B6\4E66</td>
<td>&amp;#x96B6;&amp;#x4E66;</td>
</tr>
<tr style="font-family:\5E7C\5706;">
<td>幼圆</td>
<td>YouYuan</td>
<td>\5E7C\5706</td>
<td>&amp;#x5E7C;&amp;#x5706;</td>
</tr>
<tr style="font-family:\534E\6587\7EC6\9ED1;">
<td>华文细黑</td>
<td>STXihei</td>
<td>\534E\6587\7EC6\9ED1</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x7EC6;&amp;#x9ED1;</td>
</tr>
<tr style="font-family:\534E\6587\6977\4F53;">
<td>华文楷体</td>
<td>STKaiti</td>
<td>\534E\6587\6977\4F53</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x6977;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\534E\6587\5B8B\4F53;">
<td>华文宋体</td>
<td>STSong</td>
<td>\534E\6587\5B8B\4F53</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x5B8B;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\534E\6587\4E2D\5B8B;">
<td>华文中宋</td>
<td>STZhongsong</td>
<td>\534E\6587\4E2D\5B8B</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x4E2D;&amp;#x5B8B;</td>
</tr>
<tr style="font-family:\534E\6587\4EFF\5B8B;">
<td>华文仿宋</td>
<td>STFangsong</td>
<td>\534E\6587\4EFF\5B8B</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x4EFF;&amp;#x5B8B;</td>
</tr>
<tr style="font-family:\65B9\6B63\8212\4F53;">
<td>方正舒体</td>
<td>FZShuTi</td>
<td>\65B9\6B63\8212\4F53</td>
<td>&amp;#x65B9;&amp;#x6B63;&amp;#x8212;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\65B9\6B63\59DA\4F53;">
<td>方正姚体</td>
<td>FZYaoti</td>
<td>\65B9\6B63\59DA\4F53</td>
<td>&amp;#x65B9;&amp;#x6B63;&amp;#x59DA;&amp;#x4F53;</td>
</tr>
<tr style="font-family:\534E\6587\5F69\4E91;">
<td>华文彩云</td>
<td>STCaiyun</td>
<td>\534E\6587\5F69\4E91</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x5F69;&amp;#x4E91;</td>
</tr>
<tr style="font-family:\534E\6587\7425\73C0;">
<td>华文琥珀</td>
<td>STHupo</td>
<td>\534E\6587\7425\73C0</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x7425;&amp;#x73C0;</td>
</tr>
<tr style="font-family:\534E\6587\96B6\4E66;">
<td>华文隶书</td>
<td>STLiti</td>
<td>\534E\6587\96B6\4E66</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x96B6;&amp;#x4E66;</td>
</tr>
<tr style="font-family:\534E\6587\884C\6977;">
<td>华文行楷</td>
<td>STXingkai</td>
<td>\534E\6587\884C\6977</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x884C;&amp;#x6977;</td>
</tr>
<tr style="font-family:\534E\6587\65B0\9B4F;">
<td>华文新魏</td>
<td>STXinwei</td>
<td>\534E\6587\65B0\9B4F</td>
<td>&amp;#x534E;&amp;#x6587;&amp;#x65B0;&amp;#x9B4F;</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/css-font-unicode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>attachEvent中this指针问题</title>
		<link>http://julabs.me/blog/front/attachevent-this-solution/</link>
		<comments>http://julabs.me/blog/front/attachevent-this-solution/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 09:53:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[attachEvent]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[this]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=248</guid>
		<description><![CDATA[在IE中使用attachEvent给一个元素绑定行为时，事件中的this指针会指向window对象，而不是元素本身，但使用addEventListener或者以elem.onclick = someFunc这种形式绑定的行为则不会出现这种问题。解决的问题也很简单，就是通过call或者apply把this指针引向元素自己，jQuery中也是这样做的。

var _ele = document.getElementById('myElement');
try{
	_ele.addEventListener('click',clickFunc,false);
}catch(e){
	try{
		_ele.attachEvent('onclick',function(){clickFunc.call(_ele)},false);
	}catch(e){};
}

这样函数clickFunc中的this指针就会指向被绑定行为的元素了。
]]></description>
			<content:encoded><![CDATA[<p>在<abbr title="Internet Explorer">IE</abbr>中使用<strong>attachEvent</strong>给一个元素绑定行为时，事件中的<strong>this</strong>指针会指向<strong>window</strong>对象，而不是元素本身，但使用<strong>addEventListener</strong>或者以<strong>elem.onclick = someFunc</strong>这种形式绑定的行为则不会出现这种问题。解决的问题也很简单，就是通过<strong>call</strong>或者<strong>apply</strong>把<strong>this</strong>指针引向元素自己，<a href="http://jquery.com/" target="_blank">jQuery</a>中也是这样做的。</p>
<pre class="javascript"><code>
var _ele = document.getElementById('myElement');
try{
	_ele.addEventListener('click',clickFunc,false);
}catch(e){
	try{
		_ele.attachEvent('onclick',function(){clickFunc.call(_ele)},false);
	}catch(e){};
}
</code></pre>
<p>这样函数<code>clickFunc</code>中的<strong>this</strong>指针就会指向被绑定行为的元素了。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/attachevent-this-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Dust-Me Selectors清理CSS文件</title>
		<link>http://julabs.me/blog/front/dust-me-selectors/</link>
		<comments>http://julabs.me/blog/front/dust-me-selectors/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 14:39:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[clear]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=246</guid>
		<description><![CDATA[现在减少文件大小是前端的一项重要任务，对于js和css文件可以用软件去除里面的注释和空格来达到减少体积的目的。但是css文件还是有很多无用的代码，可以用Dust-Me Selectors来得到无用代码的名单，然后就可以按图索骥来清除它们。

支持外链形式的样式表，如使用&#60;link&#62;和@import外联到页面中的样式表，还包括&#60;?xml-stylesheet?&#62;处理结构里带的样式表。但是对于嵌入样式（在标签&#60;style&#62;内的样式）和内联（使用元素的style属性的行样式）的样式，是不支持的。
支持IE条件注释语句。
即可以检查单页，也可以检查整个站点。
可以识别大部分的CSS2和CSS3选择器，但可以识别所有的CSS1选择器。
可以识别一般的CSShack，如：“* html #foo”会被当成“html #foo”。



]]></description>
			<content:encoded><![CDATA[<p>现在减少文件大小是前端的一项重要任务，对于<strong>js</strong>和<strong>css</strong>文件可以用软件去除里面的注释和空格来达到减少体积的目的。但是<strong>css</strong>文件还是有很多无用的代码，可以用<a href="http://www.sitepoint.com/dustmeselectors/" target="_blank">Dust-Me Selectors</a>来得到无用代码的名单，然后就可以按图索骥来清除它们。</p>
<ul>
<li>支持外链形式的样式表，如使用<strong>&lt;link&gt;</strong>和<strong>@import</strong>外联到页面中的样式表，还包括<strong>&lt;?xml-stylesheet?&gt;</strong>处理结构里带的样式表。但是对于嵌入样式（在标签<strong>&lt;style&gt;</strong>内的样式）和内联（使用元素的<strong>style</strong>属性的行样式）的样式，是不支持的。</li>
<li>支持IE条件注释语句。</li>
<li>即可以检查单页，也可以检查整个站点。</li>
<li>可以识别大部分的<strong>CSS2</strong>和<strong>CSS3</strong>选择器，但可以识别所有的<strong>CSS1</strong>选择器。</li>
<li>可以识别一般的<strong>CSS</strong>hack，如：“* html #foo”会被当成“html #foo”。</li>
</ul>
<p class="img"><a href="http://www.sitepoint.com/dustmeselectors/" target="_blank"><img width="411" height="594" alt="Dust-Me Selectors" src="/blog/img/10/dust-me-selectors01.png" /></a></p>
<p class="img"><a href="http://www.sitepoint.com/dustmeselectors/" target="_blank"><img width="355" height="219" alt="Dust-Me Selectors" src="/blog/img/10/dust-me-selectors02.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/dust-me-selectors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Table的“min-height”属性</title>
		<link>http://julabs.me/blog/front/min-height-of-table/</link>
		<comments>http://julabs.me/blog/front/min-height-of-table/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 15:39:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[前端]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[min-height]]></category>
		<category><![CDATA[table]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=242</guid>
		<description><![CDATA[今天在制做页面时，需要对table元素里的td设置min-height属性，但怎么设置都没有效果。我想难道是和position属性一样，不能对table元素设置吗？搜索了一下这才恍然大悟，原来对于table元素，如th、td来说，使用height属性就等效于min-height属性了，如果表格内容高度大于所设定的高度值，表格会自己扩大高度以适应内容的。如：
td{
    height:300px; /* 等效于普通元素的 min-height */
}

]]></description>
			<content:encoded><![CDATA[<p>今天在制做页面时，需要对<strong>table</strong>元素里的<strong>td</strong>设置<strong>min-height</strong>属性，但怎么设置都没有效果。我想难道是和<strong>position</strong>属性一样，不能对<strong>table</strong>元素设置吗？搜索了一下这才恍然大悟，原来对于<strong>table</strong>元素，如<strong>th</strong>、<strong>td</strong>来说，使用<strong>height</strong>属性就等效于<strong>min-height</strong>属性了，如果表格内容高度大于所设定的高度值，表格会自己扩大高度以适应内容的。如：</p>
<pre><code class="css">td{
    height:300px; /* 等效于普通元素的 min-height */
}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/front/min-height-of-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用php操作sqlite3</title>
		<link>http://julabs.me/blog/php/php-pdo-sqlite3/</link>
		<comments>http://julabs.me/blog/php/php-pdo-sqlite3/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 04:09:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=240</guid>
		<description><![CDATA[Sqlite是一个跨平台的软件，不需要安装或设置，只需在最终用户的系统上创建一个数据库文件就可以了，在平台和系统之间移植非常方便。由于它具有跨平台、规模小的特点，所以被很多公司使用，如Mozilla、Adobe，Symbian等。
这段时间我也打算学习下Sqlite，做一些简单的演示时非常方便，不用在最终用户的系统安装数据库环境了。但在利用PHP操作数据库时发现PHP默认只支持到Sqlite2，不支持最新版的Sqlite3。如果想支持Sqlite3就要使用PDO。要想使用PDO，需要在php.ini里面载入php_pdo.dll和php_pdo_sqlite.dll两个模块。如下：
extension=php_pdo.dll
extension=php_pdo_sqlite.dll

如果这两段代码前面有;，就把它去掉。下面是我编写的Sqlite操作代码，一共有五个函数，分别是链接数据库、插入新数据、删除数据、更新数据和显示数据。

/**
 * 创建一个 sqlite3 链接
 * @author Jon&#60;jon.ju@msn.com&#62;
 * @return object 返回一个数据链接对象
*/
function connectSqlite(){
    // 设置数据库的位置
    $db = &#34;sqlite:&#34;.$_SERVER['DOCUMENT_ROOT'].&#34;/sqlite/web.db&#34;;
    echo $_SERVER['DOCUMENT_ROOT'].&#34;/sqlite/web.db&#34; . '&#60;br /&#62;';
    $user = &#34;&#34;;
    $pass = &#34;&#34;;
    $dbHandle = new PDO($db,$user,$pass);
    echo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sqlite.org/" target="_blank">Sqlite</a>是一个跨平台的软件，不需要安装或设置，只需在最终用户的系统上创建一个数据库文件就可以了，在平台和系统之间移植非常方便。由于它具有跨平台、规模小的特点，所以被很多公司使用，如<a href="http://www.mozilla.com/" target="_blank">Mozilla</a>、<a href="http://www.adobe.com/" target="_blank">Adobe</a>，<a href="http://www.symbian.com/" target="_blank">Symbian</a>等。</p>
<p>这段时间我也打算学习下<a href="http://www.sqlite.org/" target="_blank">Sqlite</a>，做一些简单的演示时非常方便，不用在最终用户的系统安装数据库环境了。但在利用<a href="http://php.net/" target="_blank">PHP</a>操作数据库时发现<a href="http://php.net/" target="_blank">PHP</a>默认只支持到<strong>Sqlite2</strong>，不支持最新版的<strong>Sqlite3</strong>。如果想支持<strong>Sqlite3</strong>就要使用<strong>PDO</strong>。要想使用<strong>PDO</strong>，需要在<strong>php.ini</strong>里面载入<strong>php_pdo.dll</strong>和<strong>php_pdo_sqlite.dll</strong>两个模块。如下：</p>
<pre><code class="apache">extension=php_pdo.dll
extension=php_pdo_sqlite.dll
</code></pre>
<p>如果这两段代码前面有<strong>;</strong>，就把它去掉。下面是我编写的<a href="http://www.sqlite.org/" target="_blank">Sqlite</a>操作代码，一共有五个函数，分别是链接数据库、插入新数据、删除数据、更新数据和显示数据。</p>
<pre><code class="php">
/**
 * 创建一个 sqlite3 链接
 * @author Jon&lt;jon.ju@msn.com&gt;
 * @return object 返回一个数据链接对象
*/
function connectSqlite(){
    // 设置数据库的位置
    $db = &quot;sqlite:&quot;.$_SERVER['DOCUMENT_ROOT'].&quot;/sqlite/web.db&quot;;
    echo $_SERVER['DOCUMENT_ROOT'].&quot;/sqlite/web.db&quot; . '&lt;br /&gt;';
    $user = &quot;&quot;;
    $pass = &quot;&quot;;
    $dbHandle = new PDO($db,$user,$pass);
    echo 'Connected to database&lt;br /&gt;';
    return $dbHandle;
}
/**
 * 插入新数据
*/
function insertSqlite($conn){
    $qry = $conn-&gt;query('select * from site');
    //如果不存在，则创建表
    if($qry ==false){
    $conn-&gt;exec('create table mysite(name VARCHAR(30),url VARCHAR(50))');
    }
    // 准备存入数据
    $insert = $conn-&gt;prepare(&quot;INSERT into mysite VALUES(?,?)&quot;);
    // 存入数据
    $insert-&gt;execute(array('julabs','julabe.com'));
    $insert-&gt;execute(array('google','www.google.com'));
}
/**
 * 删除数据
*/
function deleteSqlite($conn){
	$conn-&gt;exec(&quot;DELETE FROM mysite WHERE name = 'google'&quot;);
}

/**
 * 更新数据
*/
function updateSqlite($conn){
	$conn-&gt;exec(&quot;UPDATE mysite set url='julabs.me' WHERE name = 'julabs'&quot;);
}

/**
 * 显示数据
*/
function showSqlite($conn){
    $sth = $conn-&gt;prepare(&quot;SELECT * FROM mysite&quot;);
    $sth-&gt;execute();
    $result = $sth-&gt;fetchAll(PDO::FETCH_ASSOC);
    echo '&lt;br /&gt;共有&lt;strong&gt;' . count($result) . '&lt;/strong&gt;条数据&lt;br /&gt;';
    echo '&lt;table&gt;';
    echo '&lt;tr&gt;&lt;th&gt;名称&lt;/th&gt;&lt;th&gt;地址&lt;/th&gt;&lt;/tr&gt;';
    foreach($result as $row){
        echo '&lt;tr&gt;';
        foreach($row as $key =&gt; $val){
            echo '&lt;td&gt;';
            echo $val;
            echo '&lt;/td&gt;';
        }
    	echo '&lt;/tr&gt;';
    }
    echo '&lt;/table&gt;';
}

$connect = connectSqlite();
insertSqlite($connect);
showSqlite($connect);
updateSqlite($connect);
showSqlite($connect);
deleteSqlite($connect);
showSqlite($connect);
$connect = NULL;
</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/php/php-pdo-sqlite3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>你是这样爱国的吗？</title>
		<link>http://julabs.me/blog/culture/for-some-patriot/</link>
		<comments>http://julabs.me/blog/culture/for-some-patriot/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 16:17:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[文史]]></category>
		<category><![CDATA[爱国]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=229</guid>
		<description><![CDATA[
你是这样爱国的吗？腐败盛行，你不骂；权贵横行，你不怒；教育之重，你不语；医疗之痛，你不忿；农村之病，你不视；下岗之哀，你不闻；专独之恶，你不问；可每每因了一些于民无甚增减，于家无甚建树，于己无甚危险的事情时，你就拍案而起了，你就热情似火了，你就冲锋陷阵了，你就上窜下跳了，你就开始爱国了！虚伪。
——来自广东省广州市的匿名人士对新闻:《《京华时报》:反CNN网站站长 年仅23岁的80后》的评论

]]></description>
			<content:encoded><![CDATA[<blockquote>
<p>你是这样爱国的吗？腐败盛行，你不骂；权贵横行，你不怒；教育之重，你不语；医疗之痛，你不忿；农村之病，你不视；下岗之哀，你不闻；专独之恶，你不问；可每每因了一些于民无甚增减，于家无甚建树，于己无甚危险的事情时，你就拍案而起了，你就热情似火了，你就冲锋陷阵了，你就上窜下跳了，你就开始爱国了！虚伪。</p>
<p><cite>——来自广东省广州市的匿名人士对新闻:《《京华时报》:反CNN网站站长 年仅23岁的80后》的评论</cite>
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/culture/for-some-patriot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>最大的恶行：自爱</title>
		<link>http://julabs.me/blog/culture/the-lamest-thing-self-love/</link>
		<comments>http://julabs.me/blog/culture/the-lamest-thing-self-love/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 10:04:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[文史]]></category>
		<category><![CDATA[柏拉图]]></category>
		<category><![CDATA[自爱]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=225</guid>
		<description><![CDATA[
对于大多数人来说，一切恶行中最大的恶行已在他的灵魂中植了根，对此任何人都原谅自己，并且决不想找什么借口。
这种情况是由于任何人生性爱自己，并且他是必定从自利的角度来思考一切的。但是，事实上在所有过失中，对自己的强烈的爱，是任何人在任何情况下的遭遇的起因。由于一个人对他所爱的事物是盲目的，以致他很难发现正当的，善良的美好的东西，因为他认为必须尊重的不是真实，而是对他来说是亲切的事物；而真正杰出的人必然既不给自己也不给他人以优先地位，而是给公正的事以优先地位，不管这事他自己或是他人做的。我们可以看到，在所有人那里同样的错误在起作用，在他们看来，自己的愚昧似乎是智慧，以致于我们在什么都不知道的时候，却认为自己什么都知道。
由于我们不让他人去实施我们不理解的事情，导致我们自己去做时必然目睹自己将犯的错误。
——[古希腊]柏拉图

]]></description>
			<content:encoded><![CDATA[<blockquote>
<p>对于大多数人来说，一切恶行中最大的恶行已在他的灵魂中植了根，对此任何人都原谅自己，并且决不想找什么借口。</p>
<p>这种情况是由于任何人生性爱自己，并且他是必定从自利的角度来思考一切的。但是，事实上在所有过失中，对自己的强烈的爱，是任何人在任何情况下的遭遇的起因。由于一个人对他所爱的事物是盲目的，以致他很难发现正当的，善良的美好的东西，因为他认为必须尊重的不是真实，而是对他来说是亲切的事物；而真正杰出的人必然既不给自己也不给他人以优先地位，而是给公正的事以优先地位，不管这事他自己或是他人做的。我们可以看到，在所有人那里同样的错误在起作用，在他们看来，自己的愚昧似乎是智慧，以致于我们在什么都不知道的时候，却认为自己什么都知道。</p>
<p>由于我们不让他人去实施我们不理解的事情，导致我们自己去做时必然目睹自己将犯的错误。</p>
<p><cite>——[古希腊]柏拉图</cite>
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/culture/the-lamest-thing-self-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>常用时区与语言编码</title>
		<link>http://julabs.me/blog/php/time-zone-and-language-code/</link>
		<comments>http://julabs.me/blog/php/time-zone-and-language-code/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 09:35:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://julabs.me/blog/?p=223</guid>
		<description><![CDATA[在编程时，有时候会遇到时区和语言编码配置问题。在中国所用的时区码一般为下面几个：

Asia/Shanghai；大陆东部，包括北京、上海、广州等；
Asia/Harbin；大陆东北，包括黑龙江、吉林等，但不包括漠河；
Asia/Chongqing；大陆中部，包括四川、云南、广西、陕西、贵州等；
Asia/Hong_Kong；香港；
Asia/Taipei；台北；

更详细的时区码内容请参见List of tz database time zones，但为什么没有Asia/Beijing这样的设置呢？
在中国所用到的语言编码一般有下面几个：

zh-tw；中文繁体（台湾）；
zh-cn；中文简体；
zh-hk；中文繁体（香港）；
zh-sg；新加坡中文；

更详细的语言编码内容请参见Language Codes。
]]></description>
			<content:encoded><![CDATA[<p>在编程时，有时候会遇到时区和语言编码配置问题。在中国所用的时区码一般为下面几个：</p>
<ul>
<li>Asia/Shanghai；大陆东部，包括北京、上海、广州等；</li>
<li>Asia/Harbin；大陆东北，包括黑龙江、吉林等，但不包括漠河；</li>
<li>Asia/Chongqing；大陆中部，包括四川、云南、广西、陕西、贵州等；</li>
<li>Asia/Hong_Kong；香港；</li>
<li>Asia/Taipei；台北；</li>
</ul>
<p>更详细的时区码内容请参见<a href="http://en.wikipedia.org/wiki/List_of_tz_zones_by_name" target="_blank">List of tz database time zones</a>，但为什么没有<strong>Asia/Beijing</strong>这样的设置呢？</p>
<p>在中国所用到的语言编码一般有下面几个：</p>
<ul>
<li>zh-tw；中文繁体（台湾）；</li>
<li>zh-cn；中文简体；</li>
<li>zh-hk；中文繁体（香港）；</li>
<li>zh-sg；新加坡中文；</li>
</ul>
<p>更详细的语言编码内容请参见<a href="http://msdn.microsoft.com/en-us/library/ms533052(VS.85).aspx" target="_blank">Language Codes</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://julabs.me/blog/php/time-zone-and-language-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
