<?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>Lefter</title>
	<atom:link href="http://lefter.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://lefter.net/blog</link>
	<description>blog of lefter</description>
	<lastBuildDate>Mon, 23 Nov 2009 10:27:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS,JS文件压缩工具</title>
		<link>http://lefter.net/blog/compressor/</link>
		<comments>http://lefter.net/blog/compressor/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 10:27:56 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[程序相关]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[yuicompressor]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1122</guid>
		<description><![CDATA[js/css文件常见的压缩工具有：		

			YUIcompressor GUI TBcompressor
			ESC(ECMAScript cruncher)
			JSmin
  GUI:JsMinGUI
			Dojo ShrinkSafe
			在线Js压缩
			Google Closure compiler   Closure Tools			
打包下载地址
		
Yuicompre... ]]></description>
			<content:encoded><![CDATA[<h4>js/css文件常见的压缩工具有：</h4>		
<ul>
			<li><a href="http://yuilibrary.com/downloads/#yuicompressor">YUIcompressor</a><sup> GUI TBcompressor</sup></li>
			<li><a href="http://www.saltstorm.net/depo/esc/">ESC(ECMAScript cruncher)</a></li>
			<li><a href="http://www.crockford.com/javascript/jsmin.html">JSmin</a>
 <sup> GUI:JsMinGUI</sup></li>
			<li><a href="http://www.dojotoolkit.org/docs/shrinksafe">Dojo ShrinkSafe</a></li>
			<li><a href="http://dean.edwards.name/packer/">在线Js压缩</a></li>
			<li><a href="http://code.google.com/closure/compiler/">Google Closure compiler</a>  <sup> <a href="http://code.google.com/closure/">Closure Tools</a></sup></li>			
<li><strong><a href="http://lefter.googlecode.com/files/JS-css%E5%8E%8B%E7%BC%A9%E5%B7%A5%E5%85%B7.7z">打包下载地址</a></strong></li>
		</ul>
<h4>Yuicompressor的用法</h4>
<pre><code>java -jar D:\yuicompressor-2.4.2\build\yuicompressor-2.4.2.jar 
--charset UTF-8 D:\my.js -o D:\my-min.js
	
java -jar D:\yuicompressor-2.4.2\build\yuicompressor-2.4.2.jar 
--charset UTF-8 D:\my.css -o D:\my-min.css 
</code></pre>
<p>具体语法和其他参数参考：<a href="http://www.julienlecomte.net/yuicompressor/">julienlecomte Yuicompressor</a>。 也可以写一个批处理文件<a href="http://hi.baidu.com/wymwon/blog/item/f060cd6e868b6adc80cb4a6f.html">具体格式</a>，同时处理多个文件，例如:将D盘中的WEBsite文件夹下的所有.CSS , .JS文件进行压缩</p>
<pre><code>@echo off
::设置YUI Compressor启动目录
SET YUIFOLDER=D:\yuicompressor-2.4.2\build
::设置你的JS和CSS根目录，脚本会自动按树层次查找和压缩所有的JS和CSS
SET JSFOLDER=D:\WEBsite
echo look for JavaScript, CSS ...
chdir /d %JSFOLDER%
for /r . %%a in (*.js *.css) do (
@echo It's compressing  %%~a ...
@java -jar %YUIFOLDER%\yuicompressor-2.4.2.jar --charset UTF-8 %%~fa -o %%~fa
 )
@echo OK!
pause &amp; exit</code></pre>
<h4>ESC(ECMAScript cruncher)</h4>
<p>这个工具只能在Windows下使用,ESC.wsf提供5种压缩级别，从0到4：<br/>
Level 0 :: No compression 不对JS文件进行压缩<br/>
Level 1 :: Comment removal 移除JS文件中的注释<br/>
Level 2 :: Whitespace removal 移除JS文件中的注释及空行（默认，一般选择此级别就足够了）<br/>
Level 3 :: Newline removal 移除JS文件中的注释，将所有代码合并为一行<br/>
Level 4 :: Variable substitution 提供最新的压缩率，移除JS文件中的注释，将所有代码合并为一行，并且修改JS文件中的变量名。例如：将"big.js"按照压缩级别2来压缩（ESC.wsf默认压缩级别为2）为"min.js"</p>
<pre><code>cscript ESC.wsf -ow min.js big.js </code></pre>
<h4>Google Closure Tools 包含三大块</h4>
<ol>
<li><a href="http://code.google.com/closure/compiler/">Closure Compiler</a>：这是个JavaScript优化器，可以将JavaScript编译成压缩的、高性能代码。它除了能移除无效代码，重写代码使其最小化且运行更快，还能检查语法、变量引用和类型，并对一些常见JavaScript错误提出警告。同时，它还提供了Closure Inspector（一个Firefox插件）用于调试编译后的代码。<a href="http://closure-inspector.googlecode.com/files/closureinspector09.xpi">FireFox插件</a></li>
<li><a href="http://code.google.com/closure/library/">Closure Library</a>：这是个广泛的、经过良好测试、模块化且跨浏览器的JavaScript库。在例子中可以看到，Google Docs就是用这个库写的。</li>
<li><a href="http://code.google.com/closure/templates/">Closure Templates</a>：这是一个为Java和JavaScript实现的模板系统，可在服务器和客户端使用相同的模板。值得一提的是，JavaScript模板会进行预编译处理，以提高其性能。此外，Gmail和Google Docs也是使用该模板系统。</li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/compressor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>手机里的世界</title>
		<link>http://lefter.net/blog/mylive_myview/</link>
		<comments>http://lefter.net/blog/mylive_myview/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 05:16:50 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[摄影，娱乐，音乐]]></category>
		<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[lefter]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1114</guid>
		<description><![CDATA[刚过完生日，有大家的陪伴，真是高兴，喝的一塌糊涂，感谢身边的人：小时候的老同学，高中时候的老同学，大学时候的新同学，和工作室以及里面的师兄师弟们。
这是我用手机（30万像素... ]]></description>
			<content:encoded><![CDATA[<p>刚过完生日，有大家的陪伴，真是高兴，喝的一塌糊涂，感谢身边的人：小时候的老同学，高中时候的老同学，大学时候的新同学，和工作室以及里面的师兄师弟们。</p>
<p>这是我用手机（30万像素）拍下的我一段生活的画面，调了一下对比度和亮度，勉强还能看清，特此纪念一段难忘的时光，祝福我们大家一切都好。</p>
<a href="http://www.flickr.com/photos/lefter/4076797994/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2793/4076797994_613b68d7df_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076792222/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2600/4076792222_661d733798_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076792846/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2583/4076792846_49517bb09f_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076793114/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2553/4076793114_11e478054c_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076039735/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm4.static.flickr.com/3497/4076039735_f5bae7c61c_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076794408/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2622/4076794408_4bcabb0397_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076040767/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2623/4076040767_cf9d726995_o.jpg" width="636"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076040353/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2458/4076040353_8f17111f6c_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076041005/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2706/4076041005_0fccacdea9_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076795166/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2802/4076795166_ec130499ee_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076795496/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm4.static.flickr.com/3496/4076795496_013efc616a_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076042411/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2733/4076042411_fbcf25f4ac_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076795988/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2614/4076795988_45ba428956_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076796976/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2695/4076796976_48906c2cf9_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076044043/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2728/4076044043_8a331a7de6_o.jpg" width="635"  alt="手机里的世界" /></a>

<a href="http://www.flickr.com/photos/lefter/4076043739/" title="Flickr 上 luweijun 的 手机里的世界"><img src="http://farm3.static.flickr.com/2762/4076043739_1d2cd3ba48_o.jpg" width="635"  alt="手机里的世界" /></a>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/mylive_myview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让IE支持HTML5的两种方案</title>
		<link>http://lefter.net/blog/ie_html5/</link>
		<comments>http://lefter.net/blog/ie_html5/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 06:41:03 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[semantic]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1069</guid>
		<description><![CDATA[

HTML5 最主要的特性就是加入了更加具有语义的标签比如：嵌入音频、视频、图片的函数、客户端数据存储，以及交互式文档，和页面元素，比如 header, section, footer, figure等。更详细的介绍可... ]]></description>
			<content:encoded><![CDATA[<img src="/blog/wp-content/uploads/2009/09/structure-html5.gif" alt="structure-html5" title="html5"/>
<p>
<a href="http://www.w3.org/TR/html5/">HTML5</a> 最主要的特性就是加入了更加具有语义的标签比如：嵌入音频、视频、图片的函数、客户端数据存储，以及交互式文档，和页面元素，比如 header, section, footer, figure等。更详细的介绍可以看下面几篇文章的介绍:
<br/><a href="http://www.alistapart.com/articles/previewofhtml5/">A Preview of HTML 5</a>
<br/><a href="http://articles.sitepoint.com/article/html-5-snapshot-2009/">Yes, You Can Use HTML 5 Today!</a>
<br/><a href="http://www.w3.org/TR/html5/">W3C HTML5</a>
</p>
<p>但IE不支持HTML5这些有用的标签，<a href="http://www.w3.org/TR/html5/">HTML5</a>,有两种方法让IE支持HTML5.</p>
<h3>1.用 Google Chrome Frame插件</h3>
<p>这中方法没什么好说的，参见<a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a>的说明。</p>
<h3>2.用JS将HTML5增加的标签创建出来</h3>
<pre><code>&lt;script>
var html5Tags=['header' ,'footer','article','nav' ,'section','aside']
for(var i=0;i&lt;html5Tags.length;i++){
    document.createElement(html5Tags[i]);
}
&lt;/script>
</code></pre>
<p><strong><a href="/demo/ie_html5.htm">查看演示</a></strong></p>
<ins datetime="2009-09-28T06:31:32+00:00">今天才发现这个方法早就有人这样实施了:</ins><a href="http://www.fofronline.com/2009-06/moving-markup-towards-html5/">Moving markup towards HTML5</a>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/ie_html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>小窗口的的浏览体验</title>
		<link>http://lefter.net/blog/minify_view/</link>
		<comments>http://lefter.net/blog/minify_view/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 03:58:56 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[体验&交互&平面&策划]]></category>
		<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ue]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1026</guid>
		<description><![CDATA[小窗口的的浏览体验是必须的，在保证页面内容的完整性的前提下，满足多终端设备的访问，细小部分的处理更能体现一个企业的水准。出现小窗口浏览的情形有很多，比如和女朋友抢电脑用... ]]></description>
			<content:encoded><![CDATA[小窗口的的浏览体验是必须的，在保证页面内容的完整性的前提下，满足多终端设备的访问，细小部分的处理更能体现一个企业的水准。出现小窗口浏览的情形有很多，比如和女朋友抢电脑用的时候，女朋友要看电影，用户要看新闻，在难分高下的时候只能“AA”，因此浏览新闻就只能缩小窗口了：）
<br/><strong>看了一下国内网站（满屏自适应部分）基本上没有考虑这点</strong>
<img src="/blog/wp-content/uploads/2009/09/tenPay_full.gif" alt="tenPay_full" title="tenPay_full" />
<img src="/blog/wp-content/uploads/2009/09/tenPay_minify.gif" alt="tenPay_minify" title="tenPay_minify" />
<img src="/blog/wp-content/uploads/2009/09/baidu.gif" alt="baidu" title="baidu" />
<img src="/blog/wp-content/uploads/2009/09/baidu_full.gif" alt="baidu_full" title="baidu_full" />
<img src="/blog/wp-content/uploads/2009/09/taobao.gif" alt="taobao" title="taobao" />
<img src="/blog/wp-content/uploads/2009/09/qq.gif" alt="qq" title="qq"  />
<strong>再看Yahoo</strong>最上面的提示条满屏的时候是100%，占据整个宽度
<img src="/blog/wp-content/uploads/2009/09/yahoo.gif" alt="yahoo" title="yahoo" />
缩小的时候页面内容完整，布局没有错乱
<img src="/blog/wp-content/uploads/2009/09/yahoo_small.gif" alt="yahoo_small" title="yahoo_small" />
<p>对于块级元素,宽度默认会继承父级的宽度也就是100%（内联元素没有宽度，即使定义了也无效），而最外层元素HTML的宽度一般是随窗口的改变而改变的(改变窗口大小再点击下面代码)</p>
<pre><code>alert(document.body.offsetWidth + "px")</code></pre>
<p>YAHOO的做法是为满屏的元素（顶部提示条）加上min-width ,IE6不支持此属性不知道是YAHOO是怎么解决的，但是让IE6支持min-width实现方法可以用执行表达式 Expression:</p>
<pre><code>width:expression((documentElement.clientWidth &lt; 400) ? "400px" : "auto" )</code></pre>
<p>另一种方法是用border-width来模拟</p>
<pre><code>* html .minwidth { 
	border-left:600px solid #fff; float:left
}
* html .container { 
	margin-left:-600px; float:left;	 position:relative;
}</code></pre>
<p><strong><a href="/demo/ie6_min-width.htm">查看演示</a></strong></p>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/minify_view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marking up content with RDFa</title>
		<link>http://lefter.net/blog/about_rdfa/</link>
		<comments>http://lefter.net/blog/about_rdfa/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 03:05:53 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[semantic]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1024</guid>
		<description><![CDATA[
上图左边是代理对页面的理解，右边是人的理解，代理可读的和人类可读的数据之间的关联是相当少的，结果就是现在的浏览器在解析和处理web数据上的能力很差，因为浏览器更多的功能是负... ]]></description>
			<content:encoded><![CDATA[<a href="http://www.w3.org/TR/rdfa-syntax/"><img src="/blog/wp-content/uploads/2009/09/presentation-vs-semantics.png" alt="presentation-vs-semantics" title="presentation-vs-semantics" /></a>
<p>上图左边是代理对页面的理解，右边是人的理解，代理可读的和人类可读的数据之间的关联是相当少的，结果就是现在的浏览器在解析和处理web数据上的能力很差，因为浏览器更多的功能是负责展示这些信息。因此为了耦合人类和机器的理解可以通过为一些可视化的数据提供一系列的XHML属性而使得这些数据可以被机器所理解，让页面更有语意<a href="http://www.w3.org/TR/rdfa-syntax/">RDFa</a>就是一种解决办法,（还有<a href="/blog/microformats_web/">微格式-Microformats</a>）</p>
<p><a href="http://www.w3.org/TR/rdfa-syntax/">RDFa</a> “Resource Description Framework in attributes” 即资源描述框架，其应用格式可以参见<a href="http://www.w3.org/TR/rdfa-syntax/">W3C</a>。例如为了表明h2代表页面的标题而h3代表作者可以用RDFa这样描述：</p>
<pre><code>&lt;div xmlns:dc="http://purl.org/dc/elements/1.1/">
   &lt;h2 property="dc:title">Marking up content with RDFa&lt;/h2>
   &lt;h3 property="dc:creator">Lefter&lt;/h3>
&lt;/div>
</code></pre>
<p>为什么要用dc:creator和dc:title而不简单地用creator和title呢？这是因为XHTML并没有为这两个概念保留关键词；而xmlns:dc="http://purl.org/dc/elements/1.1/ 个人理解有点类似XML的命名空间,RDFa还提供了@property 来自定义属性因此也可以简写为：</p>
<pre><code>&lt;h2 property="title">RDFa: Now everyone can have an API&lt;/h2>
&lt;h3 property="creator">Lefter&lt;/h3>
</code></pre>
<strong>可以看出其优势为</strong>
<ul>
<li>增强的搜索功能</li>
<li>用户自定义，可扩展性</li>
<li>数据再利用性</li>
<li>自我控制</li>
<li>模块化架构</li>
<li>更具可访问性</li>
</ul>
<strong>推荐阅读</strong>
<ul>
<li><a href="http://www.w3.org/TR/rdfa-syntax/">W3C RDFa in XHTML</a></li>
<li><a href="http://www.w3.org/TR/xhtml-rdfa-primer/">W3C xhtml rdfa primer</a></li>
<li><a href="http://www.w3.org/MarkUp/2009/rdfa-for-html-authors">RDFa for HTML Authors</a></li>
<li><a href="http://www.alistapart.com/articles/introduction-to-rdfa/">alistapart introduction tordfa</a></li>
<li><a href="http://www.xml.com/pub/a/2007/02/14/introducing-rdfa.html">XML introduction tordfa</a></li>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&#038;answer=146898">Google About RDFa</a></li>
<li><a href="http://en.wikipedia.org/wiki/RDFa/">wikipedia</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/about_rdfa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>D630安装MAC成功</title>
		<link>http://lefter.net/blog/d630-mac/</link>
		<comments>http://lefter.net/blog/d630-mac/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 16:00:29 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=1005</guid>
		<description><![CDATA[
我选的是.iatkos V7(10.5.7)现已升级到了10.5.8;安装有很多种方式,USB,虚拟机,光盘,硬盘安装,我选的是光盘安装.
PC装MAC对CPU的要求是，必须支持SSE3/SSE3指令集，可以到osx86Project.org查看支持情况.
我的... ]]></description>
			<content:encoded><![CDATA[<p><img src="/blog/wp-content/uploads/2009/09/D630_MAC.gif" alt="D630_MAC" title="D630_MAC" /></p>
<p>我选的是.iatkos V7(10.5.7)现已升级到了10.5.8;安装有很多种方式,USB,虚拟机,光盘,硬盘安装,我选的是光盘安装.<br />
PC装MAC对CPU的要求是，必须支持SSE3/SSE3指令集，可以到<a href="http://wiki.osx86project.org/wiki/index.php/HCL">osx86Project.org</a>查看支持情况.</p>
<p>我的D630配置:cpu:Intel Core2 Duo(Merom) T7250(2.0GHz);主板芯片组:Intel PM965+ICH8M;独立,NVIDIA Quadro NVS 135M;无线网卡：Dell Wireless 1395 WLAN Mini-Card;有线网卡：Broadcom NetXtreme 57xx Gigabit Controller.这里有篇比较详细的<a href="http://bbs.kenapple.com/thread-29834-1-1.html">图文教程</a>,我只是回忆一下我安装的过程:</p>
<p>将BIOS硬盘模式选为ACHI;第一次安装没有自定义选项就直接一路NEXT过来,结果提示找不到keyboard(键盘)进不了系统.当时旁边没的USB键盘,于是重装,再次装的时候，我把所有选项都选上,心里想这么多的驱动总有一个能用,结果大错特错了,MAC不像WINDOWS,驱动一般都是需要部署的.这次安装成功之后出现了开机界面(灰苹果)下面有个风火轮在转,就是进不了系统,等了很长时间风火轮不转了,系统也就此卡死了。</p>
<p>第三次选我看了一下网上的说明，根据自己配置选了一下.安装成功了,进入系统的第一步就是填写一些个人信息，比如你的使用环境等等,键盘还是不能用，用了一个USB外置键盘,不知道什么原因键盘会自动输入,特别是输入密码的时候,好像有一个什么键被按下了一样,后来我知道了输入的是&#8221;7&#8243;,原因是我在选项的时候把PS/2和VOODOOPS/2都选了.解决方法是在BIOS里面把MOUSE/TOUCHPAD改成PS/2,进入系统删除其中一项,当时我不知道怎么卸载驱动,直接找到VOODOOPS/2.kext删除了。</p>
<p>再下一步是修复VISTA并建立一个MAC引导,方法比较多，如拷贝TOOB到C:\,我用的是安装了一个小软件:EasyBCD;进了系统安装显卡驱动,<a href="http://scottdangel.com/blog/?page_id=20">Nvinstallerv.41</a>,和其他一大堆.<a href="http://bbs.weiphone.com/read.php?tid=345820">关于D630很详细的帖子</a>.启动的时候发现又停留在灰色苹果界面那里,没有风火轮.用单用户模式进入发现几行skipping&#8230;,后面的我内容不是很清楚了,解决方法是删除驱动缓存文件,这里有两个方法:1:</p>
<pre><code>rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
参数－rf 表示递归和强制</code></pre>
<p>2:在windows下安装一个磁盘共享文件，由于自定义选项的时候选择了对NTFS的支持，MAC下能访问Window下的资源，但不能修改，但反过来不行，可以安装一个小软件-<a href="http://www.mediafour.com/products/macdrive/">Macdrive</a> ,然后就像删除WINDOWS文件一样，对文件进行管理了。<br />
<strong>建议最好把Extensions里的驱动文件全部备份,以便恢复</strong>
</p>
<p>升级到10.5.8的时候很顺利(点击右上角苹果图标选择软件更新,一切系统自动帮你搞定),只是wifi网卡要重新安装一次,现在的一个小问题就是关机不断电,其他的都不错。很简介，用起来很流畅</p>
<p><strong>推荐一些不错的资源</strong></p>
<ul>
<li><a href="http://www.insanelymac.com">insanelymac(国外很专业的讨论网站)</a></li>
<li><a href="http://bbs.kenapple.com/forum-38-1.html">啃苹果</a></li>
<li><a href="http://bbs.kenapple.com/thread-4835-1-1.html">啃苹果新手必看帖子索引</a></li>
<li><a href="http://bbs.pcbeta.com/">远景论坛</a></li>
<li><a href="http://bbs.weiphone.com/">weiphone</a></li>
<li><a href="http://bbs.weiphone.com/read.php?tid=345820">关于D630很详细的帖子</a></li>
<li><a href="http://macuknow.com/">macuknow</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/d630-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用XBL实现FireFox连续字符自动换行</title>
		<link>http://lefter.net/blog/word-break_for_firefox/</link>
		<comments>http://lefter.net/blog/word-break_for_firefox/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 10:03:26 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=973</guid>
		<description><![CDATA[一般来讲，在排版中,中文及一些亚洲国家的文字标点不会在每行的起始位置显示，一个完整的英文单词不会出现在两行中，因此当连续的文字过长是会破坏所在区域的布局；IE下有word-break和word... ]]></description>
			<content:encoded><![CDATA[<p>一般来讲，在排版中,中文及一些亚洲国家的文字标点不会在每行的起始位置显示，一个完整的英文单词不会出现在两行中，因此当连续的文字过长是会破坏所在区域的布局；IE下有<a href="http://www.w3.org/TR/css3-text/#word-wrap">word-break</a>和<a href="http://www.w3.org/TR/css3-text/#word-break">word-warp</a>来解决这个方法，但是Firefox不支持这两属性，用XBL能让Firefox达到相应的效果</p>
<p><a href="https://developer.mozilla.org/en/XBL">XBL</a>eXtensible Bindings Language也即是可扩展绑定语言,有点类似IE的HTC,HTC在CSS中的引用格式为：</p>
<pre><code>p{behavior:url(test.htc)}</code></pre>主要作用就是用来定义XUL组件的行为模式,XBL语法结构为：
<pre>
<code>&lt;?xml version="1.0"?>
&lt;bindings xmlns="http://www.mozilla.org/xbl">
  &lt;binding id="binding1">
    &lt;!-- content, property, method and event descriptions go here -->
  &lt;/binding>
  &lt;binding id="binding2">
    &lt;!-- content, property, method and event descriptions go here -->
  &lt;/binding>
&lt;/bindings>
</code>
</pre>
<p>
然后就可以通过Firefox的私有属性<a href="https://developer.mozilla.org/en/CSS/-moz-binding">-moz-binding</a> 将一个元素关联到一个XBL文件中的指定项上:</p>
<pre><code>p {
    -moz-binding:(url('lefter.net/demo/wordwrap.xml.xml#wordwrap');
}</code></pre>
<a href="/demo/FF_word_break.htm"><strong>Firefox演示效果</strong></a><br/>
<strong>推荐阅读</strong>
<ol>
<li><a href="https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions">FireFox私有属性</a></li>
<li><a href="https://developer.mozilla.org/en/XBL">Firefox XBL</a></li>
<li><a href="http://blog.stchur.com/2007/02/22/emulating-css-word-wrap-for-mozillafirefox/">Emulating CSS word-wrap for Mozilla/Firefox</a></li>
<li><a href="http://www.hedgerwow.com/360/dhtml/css-word-break.html">Cross Browser Word Breaker</a></li>
<li><a href="http://dancewithnet.com/2008/12/04/word-break-all/">连续字体换行的解决方案</a></li>
</ol>
<ins datetime="2009-09-03T12:38:36+00:00">回家在自己的电脑上升级Firefox到Firefox/3.5.2，发现Firefox/3.5.2已经对word-breakz支持了，对text-shadow也已经支持了。</ins>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/word-break_for_firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>两种解决IE6不支持固定定位的方法</title>
		<link>http://lefter.net/blog/ie6_position_fixed/</link>
		<comments>http://lefter.net/blog/ie6_position_fixed/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 03:40:05 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=966</guid>
		<description><![CDATA[有两种让IE6支持position:fixed
1.用CSS执行表达式

*{margin:0;padding:0;}
* html,* html body{ 
	background-image:url(about:blank);
 	background-attachment:fixed;
}
* html .fixed{
    position:absolute;
    bottom:auto;
    top:expres... ]]></description>
			<content:encoded><![CDATA[<h4>有两种让IE6支持position:fixed</h4>
<h3>1.用CSS执行表达式</h3>
<pre>
<code>*{margin:0;padding:0;}
* html,* html body{ 
	background-image:url(about:blank);
 	background-attachment:fixed;
}
* html .fixed{
    position:absolute;
    bottom:auto;
    top:expression(eval(document.documentElement.scrollTop+
    document.documentElement.clientHeight-this.offsetHeight-
    (parseInt(this.currentStyle.marginTop,10)||0)-
    (parseInt(this.currentStyle.marginBottom,10)||0)));
}      
.fixed{
    position:fixed;
    bottom:0px;
    top:auto;
}   
</code>
</pre>
<a href="/demo/IE6position_fix.htm"><strong>查看演示</strong></a>
<h3>2.让body保持其原有高度，让html只有一个窗口那么高</h3>
<pre><code>*{margin:0;padding:0}
*html{overflow:hidden;}
*html body{height:100%;overflow:auto;}        
.fixed{
    position:fixed; _position:absolute;
    left:0;
    bottom:0;
}</code>
</pre>
<a href="/demo/IE6positionfixed_bug.htm"><strong>查看演示</strong></a>
<p><strong>推荐阅读</strong> <br/><a href="http://tagsoup.com/cookbook/css/fixed/">http://tagsoup.com/cookbook/css/fixed/</a><br/><a href="http://subtlegradient.com/articles/2009/07/29/css_position_fixed_for_ie6.html">http://subtlegradient.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/ie6_position_fixed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>翻墙的又一方法-荷兰免费VPN</title>
		<link>http://lefter.net/blog/free-vpn/</link>
		<comments>http://lefter.net/blog/free-vpn/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 09:45:25 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[SEO&推广]]></category>
		<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[lefter]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=954</guid>
		<description><![CDATA[
GWF把国外很多优秀的服务都封了，像twitter youtube friendfeed picasa。我的相册是基于picasa搭建的，包括BLOG中的很多外链图片，现在都不能显示了。
网上讲翻墙的方法很多，今天发现了一个比较简... ]]></description>
			<content:encoded><![CDATA[<a title="我的相册" href="/photo/"><img src="/blog/wp-content/uploads/2009/09/my.photo.jpg" alt="我的相册" title="我的相册" width="460" height="623"  /></a>
<p><abbr title="Great Firewall of China">GWF</abbr>把国外很多优秀的服务都封了，像<a href="http://twitter.com/lefter">twitter</a> <a href="http://youtube.com">youtube</a> <a href="http://http://friendfeed.com/lujo">friendfeed</a> picasa。<a href="/photo/">我的相册</a>是基于picasa搭建的，包括BLOG中的很多外链图片，现在都不能显示了。</p>
<p>网上讲翻墙的方法很多，今天发现了一个比较简单的方法：<a href="http://itshidden.com">ItsHidden</a>-荷兰免费<abbr title="Virtual Private Network"><a title="虚拟专用网" href="http://baike.baidu.com/view/19735.htm">VPN</a></abbr>，主机放置在荷兰阿姆斯特丹，公司注册在塞舌尔，申请简单，填写名字、用户名、密码、邮箱即可免费注册为会员。ItsHidden免费VPN代理无需下载安装客户端软件，只要在操作系统中设置一下VPN网络连接就行了，非常方便。ItsHidden免费VPN代理总计拥有5G带宽，支持128位SSL安全连接。</p>
<a href="http://itshidden.com/index.php?option=com_acctexp&#038;task=subscribe&#038;Itemid=">免费账户注册</a><br/>
<a href="http://itshidden.com/Support/VPNXP.html">VPN设置方法</a>
<p><strong>上图是我的相册的预览效果</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/free-vpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何提高交互设计效率</title>
		<link>http://lefter.net/blog/interaction-heuristics/</link>
		<comments>http://lefter.net/blog/interaction-heuristics/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 07:30:19 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[体验&交互&平面&策划]]></category>
		<category><![CDATA[informationDesign]]></category>
		<category><![CDATA[Interaction]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=949</guid>
		<description><![CDATA[
对之前做过的一些东西的总结
尽可能把旧产品的交互、行为分析透，并且形成交互架构文档，作为自己的改进基础
对行为的了理解可以让你真正懂得交互是什么
一定要把客户的需求理解透... ]]></description>
			<content:encoded><![CDATA[<img src="/blog/wp-content/uploads/2009/09/image004.jpg" alt="interaction-heuristics"  />
<h4>对之前做过的一些东西的总结</h4>
<ul><li>尽可能把旧产品的交互、行为分析透，并且形成交互架构文档，作为自己的改进基础</li>
<li>对行为的了理解可以让你真正懂得交互是什么</li>
<li>一定要把客户的需求理解透，这样会少走弯路</li>
<li>对好的交互原则和案例，最好直接引用，因为这是成功的经验</li>
<li>不妨先打乱常规思维，乱了再收摊，总比一点没动要好</li>
<li>信息层的架构设计是客户关注的一个环节，可以在此多下功夫</li>
<li>不能小看交互，它也是创意。好的交互点子可以让产品容光焕发</li>
<li>用户需求；内容需求；信息构架；导航设计；可视化设计，每一阶段充分理解，做充足的准备。</li></ul>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/interaction-heuristics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微格式和语意网</title>
		<link>http://lefter.net/blog/microformats_web/</link>
		<comments>http://lefter.net/blog/microformats_web/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 09:50:33 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[microformats]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=931</guid>
		<description><![CDATA[

微格式（Microformat）
是在标准 XHTML 代码中嵌入结构化数据的一种新方法。理念非常简单。获得一个包含某些事件信息的页面,开始时间、结束时间、位置、主题、Web 页面，等等。过去的方法... ]]></description>
			<content:encoded><![CDATA[<img src="http://lefter.net/blog/wp-content/uploads/2009/08/microformats.gif" alt="microformats" title="microformats" width="445" height="213" />
<dl>
<dt><a href="http://microformats.org/">微格式</a>（Microformat）</dt>
<dd>是在标准 XHTML 代码中嵌入结构化数据的一种新方法。理念非常简单。获得一个包含某些事件信息的页面,开始时间、结束时间、位置、主题、Web 页面，等等。过去的方法是将这些信息放置在页面的超文本标记语言（HTML）中，微格式摒弃了这种做法，而是添加一些标准化 HTML 标记和层叠样式表（CSS）类名。</dd>
</dl>
<dl>
<dt>语义 Web</dt>
<dd>富含语义的 HTML 是一种 Web 应用开发的实践，它强调从文档所需要表达的语义出发，使用 HTML 语法中表示文档结构和富含语义的元素来编写 HTML 文档，从而使得 Web 应用的结构与展示分离，降低各部分之间的耦合度</dd>
</dl>
<pre>
<code>&lt;DIV class="vcard">
	&lt;A rel="me" class="url fn" href="http://lefter.net/">Lefter &lt;/A>
	&lt;ADDRESS title="UESTC" class="adr hidden">
		&lt;SPAN class="locality">SiChuan Chengdu &lt;/SPAN>
		&lt;SPAN class="country-name">China &lt;/SPAN>  
	&lt;/ADDRESS>
&lt;/DIV></code>
</pre>
<p>上面就是定义了一个Hcard，描述个人信息包括联系方式，地址之类的一种微格式，然后用FF下一个插件<a href="https://addons.mozilla.org/zh-CN/firefox/addon/2240">Tails Export</a>就能从页面上导出相应的信息，还可以导出后缀名为<abbr title="vCard format">.vcf</abbr>的实体文件。
<img src="http://lefter.net/blog/wp-content/uploads/2009/08/microformats.jpg" alt="microformats" title="microformats" /><strong>除了Vcard还有很多常见的有</strong>:</p>
<dl>
               <dt>People and Organizations </dt>
               <dd><a href="http://microformats.org/wiki/hcard">hCard</a>, <a href="http://gmpg.org/xfn"><abbr title="XHTML Friends Network">XFN</abbr></a></dd>
               <dt>Calendars and Events</dt> 
               <dd><a href="http://microformats.org/wiki/hcalendar">hCalendar</a></dd>
               <dt>Opinions, Ratings and Reviews</dt>
               <dd><a href="http://microformats.org/wiki/vote-links">VoteLinks</a>, <a href="/wiki/hreview">hReview</a></dd>
               <dt>Licenses:</dt>
               <dd><a href="http://microformats.org/wiki/rel-license">rel-license</a></dd>               
               <dt>Tags, Keywords, Categories</dt>
               <dd><a href="http://microformats.org/wiki/rel-tag">rel-tag</a></dd>
               <dt>Lists and Outlines</dt>
               <dd><a href="http://microformats.org/wiki/xoxo">XOXO</a></dd>
               <dt>More…</dt>
               <dd>See <a href="http://microformats.org/wiki/">the list of all microformats</a></dd>
</dl>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/microformats_web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>浏览器检测</title>
		<link>http://lefter.net/blog/check-agent/</link>
		<comments>http://lefter.net/blog/check-agent/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 10:30:44 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=880</guid>
		<description><![CDATA[判断浏览器的型号一般有两种：一是可以通过DOM的userAgent来判断；另一种是通过浏览器的私有属性来判断
通过userAgent来判断
通过查找userAgent返回的字符串中一些特定的字符来判断浏览器类型,... ]]></description>
			<content:encoded><![CDATA[<p>判断浏览器的型号一般有两种：一是可以通过DOM的userAgent来判断；另一种是通过浏览器的私有属性来判断</p>
<h4>通过userAgent来判断</h4>
<p>通过查找userAgent返回的字符串中一些特定的字符来判断浏览器类型,可以通过indexOf()，返回值是所查找的字符串在整个字符串中首次出现的位置，没有找到要查的字符串其返回值是-1；indexOf()对大小写敏感，而userAgent方法返回值一般为大写混合，以下是常见浏览器的userAgent值</p>
<pre><code><strong>IE7</strong>:mozilla/4.0 (compatible; msie 7.0; windows nt 5.1; 
.net clr 2.0.50727; .net clr 3.0.04506.648; .net clr 3.5.21022; ciba)
<strong>IE6:</strong>mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; 
.net clr 2.0.50727; .net clr 3.0.04506.648; .net clr 3.5.21022; ciba) 
<strong>FF</strong>:mozilla/5.0 (windows; u; windows nt 5.1; zh-cn; rv:1.9.0.10) 
gecko/2009042316 firefox/3.0.10 
<strong>Opera</strong>:opera/9.64 (windows nt 5.1; u; edition ibis; zh-cn) presto/2.1.1
<strong>Safari</strong>:mozilla/5.0 (windows; u; windows nt 5.1; zh-cn) 
applewebkit/528.16 (khtml, like gecko) version/4.0 safari/528.16
<strong>Chrome</strong>:mozilla/5.0 (windows; u; windows nt 5.1; en-us) applewebkit/531.3 
(khtml, like gecko) chrome/3.0.193.0 safari/531.3
</code></pre>
<p>对比上面返回值的差异可以用下面的方法对浏览器进行检查</p>
<pre><code>var ua = navigator.userAgent.toLowerCase();
var _isOpera = ua.indexOf('opera') != -1,
_isChrome = ua.indexOf('chrome') != -1,
_isSafari = !_isChrome &amp;&amp; ua.indexOf('safari') != -1,
_isGecko = !_isChrome &amp;&amp; !_isSafari &amp;&amp; ua.indexOf('gecko') != -1,
_isIE = !_isOpera &amp;&amp;ua.indexOf('msie') != -1, 
_isIE6 = ua.indexOf('msie 6') != -1,
_isIE7 = ua.indexOf('msie 7') != -1;		
</code></pre>
<p><a href="/demo/ua.html"><strong>点击查看示例</strong></a></p>
<h4>通过浏览器的私有属性来判断</h4>
<ul>
<li><strong>IE</strong>支持创建ActiveX控件，因此ActiveXObject函数也是IE独有的</li>
<li><strong>Opera</strong>提供了专门的浏览器标志，就是window.opera属性</li>
<li><strong>Safari</strong>有一个私有的openDatabase属性</li>
<li><strong>Chrome</strong>和Firefox有一个MessageEvent函数，但没有Firefox的getBoxObjectFor</li>
<li><strong>Firefox</strong>有一个getBoxObjectFor函数用来获取DOM的位置和大小,类似IE的getBoundingClientRect</li>
</ul>
<p>因此可以大概用一下代码</p>
<pre><code>var ua = navigator.userAgent.toLowerCase();
var _isOpera = window.opera,
_isChrome = window.MessageEvent &amp;&amp; !document.getBoxObjectFor,
_isSafari = window.openDatabase,
_isGecko = document.getBoxObjectFor,
_isIE = window.ActiveXObject;
if(_isIE ) alert("ie");
if(_isGecko ) alert("isGecko ");
if(_isChrome ) alert("isChrome ");
if(_isOpera ) alert("isOpera ");
if(_isSafari ) alert("isSafari ");</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/check-agent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>收集的一些国内外艺术院校的网址</title>
		<link>http://lefter.net/blog/art-universitys/</link>
		<comments>http://lefter.net/blog/art-universitys/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 09:18:14 +0000</pubDate>
		<dc:creator>lefter</dc:creator>
				<category><![CDATA[体验&交互&平面&策划]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=875</guid>
		<description><![CDATA[
国外美术及艺术院校

巴黎美术学院(法国)
佛罗伦萨美术学院(意大利)
英国皇家美术学院(英国)
汉堡美术学院(德国)
 柏林艺术大学美术学院(德国)
苏里科夫美术学院(俄罗斯)
罗马美术学院(意大... ]]></description>
			<content:encoded><![CDATA[<p><img src="/blog/wp-content/uploads/2009/08/Artuniversitys.jpg" alt="Artuniversitys" title="Artuniversitys" /></p>
<h4>国外美术及艺术院校</h4>
<ul>
<li><a href="http://www.ensba.fr/">巴黎美术学院(法国)</a></li>
<li><a href="http://www.accademia.firenze.it/">佛罗伦萨美术学院(意大利)</a></li>
<li><a href="http://www.rca.ac.uk/">英国皇家美术学院(英国)</a></li>
<li><a href="http://www.hfbk-dresden.de/ ">汉堡美术学院(德国)</a></li>
<li><a href="http://www.kunsthochschule.org/"> 柏林艺术大学美术学院(德国)</a></li>
<li><a href="http://www.pencil.nm.ru/">苏里科夫美术学院(俄罗斯)</a></li>
<li><a href="http://www.accademiabelleartiroma.it/">罗马美术学院(意大利)</a></li>
<li><a href="http://www.artic.edu/">芝加哥美术学院(美国)</a></li>
<li><a href="http://www.uni-kassel.de/fb24/">卡塞尔美术学院(德国) </a></li>
<li><a href="http://www.artrotterdam.nl/">鹿特丹美术学院(荷兰)</a></li>
<li><a href="http://art.alfred.edu/">阿尔佛莱德美术学院(美国)</a></li>
<li><a href="http://www.accademiavenezia.edu/">威尼斯美术学院(意大利)</a></li>
<li><a href="http://www.gsa.ac.uk/">格拉斯哥美术学院(英国)</a></li>
<li><a href="http://www.investitionsgueterdesign.abk-stuttgart.de/">斯图加特美术学院(德国)</a></li>
<li><a href="http://www.wherecreativitygoestoschool.ca/">加拿大美术学院(加拿大)</a></li>
<li><a href="http://www.enba-lyon.fr/">里昂美术学院(法国)</a></li>
<li><a href="http://www.multiwire.net/ass/accademia">库内奥美术学院(意大利)</a></li>
<li><a href="http://www.naba.it/">米兰纳巴美术学院(意大利)</a></li>
<li><a href="http://www.scuoladesign.com/">波罗尼亚美术学院(意大利)</a></li>
<li><a href="http://www.ensa-bourges.fr/">布尔杰美术学院(法国)</a></li>
<li><a href="http://www.erba-valence.fr/">瓦兰斯国立美术学院(法国)</a></li>
<li><a href="http://www.esbam.net/">勒芒美术学院 (法国)</a></li>
<li><a href="http://www.penninghen.com/">佩皮尼昂美术学院 (法国)</a></li>
<li><a href="http://www.schoolofvisualarts.edu/">纽约艺术学院美术学院(美国) </a></li>
<li><a href="http://www.uima-art.org/">乌克兰美术学院(乌克兰)</a></li>
</ul>
<h4>国内美术及艺术院校</h4>
<ul>
<li><a href="http://ad.tsinghua.edu.cn/">清华美术学院</a></li>
<li><a href="http://www.caa.edu.cn/">中国美术学院</a></li>
<li><a href="http://www.tjarts.edu.cn/">天津美术学院</a></li>
<li><a href="http://www.lumei.edu.cn/">鲁迅美术学院</a></li>
<li><a href="http://www.scfai.edu.cn/">四川美术学院</a></li>
<li><a href="http://www.gzarts.edu.cn/">广州美术学院</a></li>
<li><a href="http://www.xafa.edu.cn/">西安美术学院</a></li>
<li><a href="http://www.hifa.edu.cn/">湖北美术学院</a></li>
<li><a href="http://www.njarti.edu.cn/">南京艺术学院</a></li>
<li><a href="http://www.gxai.cn/">广西艺术学院</a></li>
<li><a href="http://www.sdca.edu.cn/">山东艺术学院</a></li>
<li><a href="http://www.jlart.com.cn/">吉林艺术学院</a></li>
</ul>
<p>排名不分先后</p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/art-universitys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript中的Function对象</title>
		<link>http://lefter.net/blog/javascript-function/</link>
		<comments>http://lefter.net/blog/javascript-function/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 15:33:54 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=841</guid>
		<description><![CDATA[函数的类型分为三类

	作为普通逻辑代码容器
	作为对象方法
作为构造函数	

函数逻辑代码容器
function Add(x,y){
    return x+y
}
alert(Add(2,8));

定义一个函数有三种方式

	函数声明function fo... ]]></description>
			<content:encoded><![CDATA[<p>函数的类型分为三类</p>
<ol>
	<li><a href="#content">作为普通逻辑代码容器</a></li>
	<li><a href="#method">作为对象方法</a></li>
<li><a href="#constructor">作为构造函数</a></li>	
</ol>
<h4><a name="content">函数逻辑代码容器</a></h4>
<pre><code>function Add(x,y){
    return x+y
}
alert(Add(2,8));
</code></pre>
定义一个函数有三种方式
<ol>
	<li>函数声明function foo(){}</li>
	<li>函数表达式 var foo=function(){}</li>
<li>Function对象 var foo=new Function</li>	
</ol>
而函数声明和函数表达式是有差别的,先看两个例子：<pre><code>函数表达式：var example = function(){
return 1;
}
example();//1

var example = function(){
return 2;
}
example();//2</code></pre>
<pre><code>函数声明：function example(){
return 1;
}
example();//1

function example(){
return 2;
}
example();//2</code></pre>
<p>在采用函数声明创建同名函数时，后创建的函数会覆盖先创建的函数。这种差别是由于JavaScript解释引擎的工作机制所导致的。JavaScript解释引擎在执行任何函数调用之前，首先会在全局作用域中注册以函数声明创建的函数，然后再依次执行函数调用。由于注册函数时，后定义的函数重写了先定义的函数，因此无论调用语句位于何处，执行的都是后定义的函数。<br/>相反，对于函数表达式创建的函数，JavaScript解释引擎会像对待任何声明的变量一样，等到执行调用该变量的代码时才会对变量求值。由于JavaScript代码是从上到下顺序执行的，因此当执行第一个example()调用时，example函数的代码就是首先定义代码；而当执行第二个example()调用时，example函数的代码又变成了后来定义的代码。</p>

<h4><a name="method">作为对象方法</a></h4>
<p>JavaScript在解析代码时，会为声明或定义的函数指定调用对象。所谓调用对象，就是函数的执行环境。如果函数体内有以关键字this声明的变量，则this引用的就是调用对象。事实上，在普通的函数中，也存在调用对象，只不过这个调用对象是默认的全局window对象而已。例如上面的例子相当于：</p>
<pre><code>var Add= window.Add(26,26); // Add= 52</code></pre>
<p>这说明，默认情况下，在全局作用域中定义或声明的函数的调用对象就是window。
在面向对象编程中，通常将作为对象成员的函数称为方法。
</p>
<pre><code>var people={}
people.name="lefter";
people.age="24 years old"
people.intro=function(){
    alert(this.name+" is "+this.age)
}
people.intro();//lefter is 24years old

var animal ={}
animal .name='huahua'
animal .age='1years old';
animal .wangwang=people.intro;//对象可以借用其他对象的方法
animal .wangwang();//huahua is 1years
</code></pre>
<p>使用函数对象的call和apply方法，还可以动态指定函数或方法的调用对象
<br/><strong>call 方法</strong>:调用一个对象的一个方法，以另一个对象替换当前对象(其实就是更改对象的内部指针，即改变对象的this指向的内容)
<br/>
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数，那么 Global 对象被用作 thisObj。 
</p>
<p><strong>apply方法</strong>apply方法的第一个参数也是要传入给当前对象的对象，即函数内部的this。后面的参数都是传递给当前对象的参数。<br/>
对于apply和call两者在作用上是相同的，但两者在参数上有区别的。对于第一个参数意义都一样，但对第二个参数：apply传入的是一个参数数组，也就是将多个参数组合成为一个数组传入，而call则作为call的参数传入（从第二个参数开始）。<br/>
如 func.call(func1,var1,var2,var3)对应的apply写法为：func.apply(func1, [var1,var2,var3])同时使用apply的好处是可以直接将当前函数的arguments对象作为apply的第二个参数传入</p>
因此上面可以写为：<pre><code>animal.wangwang.call(people);
或者：animal.wangwang.apply(people); </code></pre>
<h4><a name="constructor">作为构造函数</a></h4>
<pre><code>function Man(name,age){
this.name= name;
this.age = age;
}
//然后可以new一个实例
var lefter=new Man("lefter",24);</code></pre>
<p>
创建lefter的对象的过程如下：首先，new运算符创建一个空对象({})，然后以这个空对象为调用对象调用函数Man，为这个空对象添加两个属性name和age，接着，再将这个空对象的默认constructor属性修改为构造函数的名称（即Man；空对象创建时默认的constructor属性值是Object），并且将空对象的__proto__属性设置为指向Man.prototype——这就是所谓的对象初始化。最后，返回初始化完毕的对象。这里将返回的新对象赋值给了变量lefter,除了new外还可以用这样的方式来创建。
</p>
<pre><code>var lefter = {};
Man.call(lefter,"lefter",24);</code></pre>
<p>区别是后者新创建的lefter对象失去了通过Man.prototype属性继承其他对象的能力。只要与前面采用new运算符调用构造函数创建对象的过程对比一下，就会发现，new运算符在初始化新对象期间，除了为新对象添加显式声明的属性外，还会对新对象进行了一番“暗箱操作”——即将新对象的constructor属性重写为Man，将新对象的__proto__属性设置为指向Man.prototype。虽然手工“初始化对象”也可以将dog.constructor重写为Man，但根据ECMA262规范，对象的__proto__属性对开发人员是只读的，对它的设置只能在通过new运算符创建对象时由JavaScript解释引擎替我们完成。
<br/>JavaScript是基于原型继承的，如果不能正确设置对象的__proto__属性，那么就意味着默认的继承机制会失效：
</p><pre><code>Man.prototype.say="hellow";
lefter.say;//undefine</code></pre>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/javascript-function/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>推荐几款漂亮的ubuntu主题</title>
		<link>http://lefter.net/blog/ubuntu-themes/</link>
		<comments>http://lefter.net/blog/ubuntu-themes/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 04:59:38 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[程序相关]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=831</guid>
		<description><![CDATA[

不喜欢 Ubuntu 自带的咖啡色主题的朋友可以试一下

1：编辑源文件
sudo gedit /etc/apt/sources.list

修改源并报存
deb http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bisigi/ppa/... ]]></description>
			<content:encoded><![CDATA[<a title="进入作者的HOME" href="http://www.bisigi-project.org/?page_id=6"><img src="http://lefter.net/blog/wp-content/uploads/2009/08/sendpix0.jpg" alt="linux-theam" title="linux-themes" style="background:none"/></a>
<p>
不喜欢 Ubuntu 自带的咖啡色主题的朋友可以试一下
</p>
1：编辑源文件
<pre><code>sudo gedit /etc/apt/sources.list
</code></pre>
修改源并报存
<pre><code>deb http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
</code></pre>
2:导入密钥
<pre><code>sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com
1781bd45c4c3275a34bb6aec6e871c4a881574de
</code></pre>
3:更新源
<pre><code>sudo apt-get update
</code></pre>
4:安装(整个)<pre><code>sudo aptitude install zgegblog-themes</code></pre>
或者单独安装（1个或者几个）
<pre><code>sudo aptitude install showtime-theme
sudo aptitude install balanzan-theme
sudo aptitude install infinity-theme
sudo aptitude install wild-shine-theme
sudo aptitude install exotic-theme
sudo aptitude install tropical-theme
sudo aptitude install bamboo-zen-theme
sudo aptitude install ubuntu-sunrise-theme
sudo aptitude install  aquadreams-theme
</code></pre>
附卸载方法<pre><code>sudo aptitude remove zgegblog-themes(Themse Name)</code></pre>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/ubuntu-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>墨菲法则</title>
		<link>http://lefter.net/blog/murphy-rule/</link>
		<comments>http://lefter.net/blog/murphy-rule/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 05:05:10 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=816</guid>
		<description><![CDATA[“墨菲法则”、“派金森定理”和“彼德原理”并称为二十世纪西方文化中最杰出的三大发现。它源于1949年，一名叫墨菲的美国空军上尉工程师，发现：如果某件事有可能变坏的话，这种可能... ]]></description>
			<content:encoded><![CDATA[<p>“墨菲法则”、“派金森定理”和“<a href="http://baike.baidu.com/view/39071.htm">彼德原理</a>”并称为二十世纪西方文化中最杰出的三大发现。它源于1949年，一名叫墨菲的美国空军上尉工程师，发现：如果某件事有可能变坏的话，这种可能就会成为现实。这就是墨菲法则。它的适用范围非常广泛，它揭示的了一种独特的社会及自然现象。它的极端表述是：如果坏事有可能发生，不管这种可能性有多小，它总会发生，并造成最大可能的破坏。　</p>
<h3>墨菲法则摘录</h3>
<blockquote><p>
If anything can go wrong, it will。<br />
如果事情还能更糟的话，它会的。 </p>
<p>In nature, nothing is ever right. Therefore, if everything is going right &#8230; something is wrong。<br />
在现实生活中，没有什么事情是永远正确的。所以，如果每件事都在朝好的方向发展……一定出问题了。 </p>
<p>It is impossible to make anything foolproof because fools are so ingenious。<br />
愚蠢是不可避免的，因为愚蠢太富有创造力了。 </p>
<p>Nothing is as easy as it looks<br />
没什么事情像看上去一样简单。 </p>
<p>Everything takes longer than you think<br />
每件事总比你估计的要多花点时间 </p>
<p>Whenever you set out to do something, something else must be done first<br />
每当你准备做什么的时候，总有些别的事你得先做了。 </p>
<p>Every solution breeds new problems<br />
每个解决办法都会衍生出新的问题。  </p>
<p>You will always find something in the last place you look<br />
东西总是在你最后去找的地方被发现。</p>
<p>Left to themselves, things tend to go from bad to worse<br />
听之任之的话，事情一般不会向好的方向发展。 </p>
<p>After you bought a replacement for something you&#8217;ve lost and searched for everywhere, you&#8217;ll find the original<br />
在你丢了东西到处找不到并买了新的后，你就会找回原来丢了的那样。 </p>
<p>The other line always moves faster<br />
你旁边的车道总是比你这条走得快些。 </p>
<p>Build a system that even a fool can use, and only a fool will use it<br />
建立一个连傻瓜都会用的系统的话，一般只有傻瓜才会去用。 </p>
<p>Everyone has a scheme for getting rich that will not work<br />
每个人都有套没法运作的致富计划。 </p>
<p>The better you know the amount of ill luck that will strike you,<br />
the worse you know when this will happen<br />
你越清楚厄运的危害，你越不知道它什么时候降临。 </p>
<p>Your best golf shots always occur when playing alone<br />
你最好的分数一定是你一个人玩的时候得到的。 </p>
<p>He who angers you controls you, there-fore you have no control over your anger<br />
都是那些让你愤怒的人控制你，所以你没法控制你的愤怒。 </p>
<p>No matter how hard you try, you cannot push a string<br />
不管你怎么努力，你不能推一根绳子。</p>
<p>Any thing that can go wrong, HAS Already Gone Wrong!<br />
You just haven&#8217;t been notified<br />
如果事情还能更糟的话，它已经有那么糟了，只是你没发觉罢了。  </p>
<p>No degree of acceptance can ever change the facts<br />
没有任何限度的接受可以改变现实。  </p>
<p>Don&#8217;t let go of something until you have a hold of something else<br />
不管是西瓜还是芝麻，没捡到前别把手里的扔了。 </p>
<p>It takes forever to learn the rules and once you&#8217;ve learned them they change again<br />
规则不容易掌握，一旦掌握了，规则又变了。 </p>
<p>You will find an easy way to do it, after you&#8217;ve finished doing it<br />
你总能找出一个更便捷的方法，在你已经做完这件事以后。 </p>
<p>The wind will always blow opposite to your hairdo<br />
风永远不顺着你的发型吹。 </p>
<p>Window polishing: It&#8217;s always on the other side<br />
擦窗法则：不干净的老是在另一面。
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/murphy-rule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>心中有爱，天地吉祥</title>
		<link>http://lefter.net/blog/everthing-is-ok/</link>
		<comments>http://lefter.net/blog/everthing-is-ok/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 14:00:35 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[lefter]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=792</guid>
		<description><![CDATA[这世界上有没有轮回？


有段时间没到工作室了，里面的电脑多多少少都有点问题，只是一台电脑能上网了，而且鼠标很难用。这几天感冒了，还口腔溃疡，全身无力，说下班了之后去学校... ]]></description>
			<content:encoded><![CDATA[<p><strong>这世界上有没有轮回？</strong></p>

<a href="http://www.tiandijixiang.com"><img title="天地吉祥" src="http://lefter.net/blog/wp-content/uploads/2009/08/banner.gif" alt="banner" /></a>
<p>有段时间没到工作室了，里面的电脑多多少少都有点问题，只是一台电脑能上网了，而且鼠标很难用。这几天感冒了，还口腔溃疡，全身无力，说下班了之后去学校打网球，来个以毒攻毒。打网球的时候我在想着世界上有没的轮回，为什么我没到一个月的这几天就身体不舒服。</p>

<p>临近结束的时候在回工作室的路上，才娃子给我发短信说明天晚上有空没有，我有几张门票（门票市价300+），《天地吉祥》的演出。说说这个《<a href="http://www.tiandijixiang.com">天地吉祥</a>》吧，<a href="http://ditu.google.cn/maps?source=igchina&amp;hl=zh-CN&amp;ie=UTF-8&amp;q=%E5%A4%A9%E5%9C%B0%E5%90%89%E7%A5%A5&amp;near=%E5%9B%9B%E5%B7%9D%E7%9C%81%E6%88%90%E9%83%BD%E5%B8%82&amp;fb=1&amp;split=1&amp;gl=cn&amp;cid=4614595394361512164&amp;li=lmd&amp;z=14&amp;t=m">剧场地点</a>在我们学校后面，一环路北四段，主要展示藏羌文化，和服饰为主，还是很有特色。里面有个应该说的主打节目叫《<a href="http://www.tiandijixiang.com">天地吉祥</a>》，被<a href="http://6.cn/watch/10889981.html">09春节联欢选中</a>过。</p>

<p>为什么我知道，因为我去过，也是免费的，也是才娃子弄的门票，他的两个高中同学在里面上班。我忘记上次有些谁去过，反正是免费的，我叫了很多大学同学一起去.</p>

<p>如是群发了一条短信：“明天晚上有空没的，晚上八点，有一个演出，我这里有几张免费的门票”，玩了还不忘记吹嘘一下门票在外面买的事300+。</p>

<p>江大侠：“去过”<br/>

罗文雯：“什么”<br/>

谢阳：“300+不如看梁静茹的演唱会”<br/>

我回他：“风格不一样，你们看明白我的意思，我有免费的门票，去的话你叫上你女朋友和向谢平”<br/>
他说：“那我来”<br/></p>

<p>然后给田静，也就是我现在的女朋友发短信：“你还在图书馆看书，明晚上我带你去看演出”<br/>

好啊。<br/>

路过图书馆的门口带了一个月饼给她（我打网球前买的，我吃了一个了，我们都还没晚饭），她让我带上她的社保卡回去买点感冒药，煮点稀饭，洗个澡早点睡。<br/>

一路的幸福
</p>
<p>感谢上天,把幸福吉祥撒向人间,感谢朋友,让真心诚意温暖家园;感谢父母,把缕缕青丝织成祝愿;感谢祖国,让和谐山川春光无限。</p>

<p>去年的那个时候我还没女朋友，现在我有了.</p><p><strong>轮回，我相信！</strong></p>]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/everthing-is-ok/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>充分利用javascript参数对象</title>
		<link>http://lefter.net/blog/making-full-use-of-the-arguments-object/</link>
		<comments>http://lefter.net/blog/making-full-use-of-the-arguments-object/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 10:29:23 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=780</guid>
		<description><![CDATA[ 在javascript中，参数是传递给函数的变量,可以理解为一个自动售货机，你投入什么面值的硬币就给出什么样的商品。硬币就是arguments,一下是一般的使用参数的方法。

(function (str1, str2) {
    ale... ]]></description>
			<content:encoded><![CDATA[ 在javascript中，参数是传递给函数的变量,可以理解为一个自动售货机，你投入什么面值的硬币就给出什么样的商品。硬币就是arguments,一下是一般的使用参数的方法。
<pre>
<code>(function (str1, str2) {
    alert( str1 + str2);
})('left', 'er');
// returns 'lefter';
</code></pre>
但是这样在有些时候访问参数并不是很方便，因此javascript提供了Arguments对象。
<pre>
<code>(function  () {
    alert(arguments[0] + arguments[1];)
})('left','er');
// returns 'lefter'
</code></pre>
在我们不确定有多少参数的时候更能体现Arguments对象的好处。
<pre>
<code>function concatenate () {
    var result = '' ";
    for(var i=0; i &lt;arguments.length; ++i){
        result += arguments[i];
    }
    return result;
}
concatenate('lefter', 'crockford', 'has', 'a', 'posse');
// returns 'leftercrocfordhasaposse'
</code></pre>
javascript提供了两个方法call和apply，做为每一个function的属性,提供了很强的灵活性，看下面两个例子
<pre>
<code>function concatenate () {
    return Array.prototype.slice.call(arguments).join('');
}
concatenate('douglas', 'crockford', 'has', 'a', 'posse');
// returns 'douglascrocfordhasaposse'
</code></pre>
<pre><code>function concatenate (separator) {
    return Array.prototype.slice.call(arguments, 1).join(separator);
}
concatenate(' ', 'lefter', 'crockford', 'has', 'a', 'posse');
// returns 'lefter crockford has a posse'
</code></pre>

]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/making-full-use-of-the-arguments-object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自动改变CSS，JS版本</title>
		<link>http://lefter.net/blog/automatically-version-your-css-and-javascript-files/</link>
		<comments>http://lefter.net/blog/automatically-version-your-css-and-javascript-files/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 03:35:36 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[程序相关]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=759</guid>
		<description><![CDATA[在雅虎工程师，史蒂夫Souders 的高性能网站建设中，有很多条关于网站性能优化的建议,其中第3条建议您使用树立了一个Expires头的静态文件（图片， CSS和JavaScript ），实施Expires头很简单，在您... ]]></description>
			<content:encoded><![CDATA[在雅虎工程师，史蒂夫Souders 的<a href="http://oreilly.com/catalog/9780596529307/">高性能网站建设</a>中，有很多条关于网站性能优化的<a href="http://developer.yahoo.com/performance/rules.html">建议</a>,其中<a href="http://developer.yahoo.com/performance/rules.html#expires">第3条建议</a>您使用树立了一个Expires头的静态文件（图片， CSS和JavaScript ），实施Expires头很简单，在您的<a href="http://www.freewebmasterhelp.com/tutorials/htaccess/1" title="Apache非常强大的分布式配置文件">.htaccess</a>的文件，您可以使用下面的代码
<pre><code>#Far Future Expires Header
&lt;FilesMatch "\.(gif|png|jpg|js|css|swf)$"&gt;
    ExpiresActive On
    ExpiresDefault "access plus 10 years"
&lt;/FilesMatch&gt;
</code>
</pre>
作者指出：<blockquote>Keep in mind, if you use a far future Expires header you have to change the component’s filename whenever the component changes. At Yahoo! we often make this step part of the build process: a version number is embedded in the component’s filename, for example, yahoo_2.0.6.js.</blockquote>
要生成像yahoo_2.0.6.js可以按照下面的方法：
<p>第一步，建立一些可规则重写的存储模块，一边存储文件的版本号，因此还是在.htaccess的文件中加入下面的代码</P><pre><code>#Rules for Versioned Static Files
RewriteRule ^(scripts|css)/(.+)\.(.+)\.(js|css)$ $1/$2.$4 [L]
</code></pre>
<p>然后写一个PHP函数来检查文件的最后修改日期，然后将服务器的修改时间作为版本号</p>
<pre><code>&lt;?php 
function autoVer($url){$path = pathinfo($url); 
$ver = '.'.filemtime($_SERVER['DOCUMENT_ROOT'].$url).'.';
echo $path['dirname'].'/'.str_replace('.', $ver, $path['basename']); } 
?&gt; 
</code></pre>
然后我们可以将这个函数包含到页面中
<pre><code>include($_SERVER['DOCUMENT_ROOT'].'/path/to/autoVer.php'); 
&lt;link rel="stylesheet" href="&lt;?php autoVer('/css/structure.css'); ?&gt;" 
type="text/css" /&gt; 
&lt;script type="text/javascript" src="&lt;?php autoVer('/scripts/prototype.js'); ?&gt;"&gt;
&lt;/script&gt; :include($_SERVER['DOCUMENT_ROOT'].'/path/to/autoVer.php'); 
&lt;link rel="stylesheet" href="&lt;?php autoVer('/css/structure.css'); ?&gt;"
type="text/css" /&gt;
&lt;script type="text/javascript" src="&lt;?php autoVer('/scripts/prototype.js'); ?&gt;"&gt;
&lt;/script&gt; 
</code></pre>
然后经过解析之后在页面文件看到的HTML代码将会是
<pre><code>&lt;script type="text/javascript" src="/prototype.197993206.js">&lt;/script&gt; 
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/automatically-version-your-css-and-javascript-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>18步岛内部会议感想</title>
		<link>http://lefter.net/blog/18-steps-island/</link>
		<comments>http://lefter.net/blog/18-steps-island/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 05:57:19 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=743</guid>
		<description><![CDATA[星期五公司组织到18步岛系统开发部内部培训及团队建设，会议上谈论的话题有，孙永宝：SobeyMAM Family 产品结构；温序铭：媒体资产管理业务需求及广电业务流程； 胡明耀：媒资基础 ；严来建... ]]></description>
			<content:encoded><![CDATA[<p>星期五公司组织到18步岛系统开发部内部培训及团队建设，会议上谈论的话题有，孙永宝：SobeyMAM Family 产品结构；温序铭：媒体资产管理业务需求及广电业务流程； 胡明耀：媒资基础 ；严来建：DCMP 背景和架构。</p>
<p><img src="/blog/wp-content/uploads/2009/08/2009531116131136_big.jpg" alt="18步岛" />
<p>这次聚会很有意义，从大的流程上对其有一定的认识，但是具体实现，和底层上还需要继续的认识，四位的演说都提到了什么是媒资，我从一开始就对其理解的很简单，就是把一些素材存在一个储存介质上，然后通过数据库来来找到想要的素材然后对其处理。</p>
<p>讲了那么多的高深的知识，回归到产品本质，回到产品的使用者，他们不一定会具备这些专业的知识，因此在技术实现的同时我们也应该怎么样呈现我们的产品更能让用户容易接受，了解在用户使用中更关心些什么，这也是网上常提到的可用性，易用性，和用户体念。Windows的技术不比Unix先进但却更流行，其中一个因素是易用性做得很好，如界面友好、操作简便、丰富的帮助支持和外形靓丽。</p>
<p>这里我想指出的是，可用性不一定是建立在界面的华丽上，GOOGLE界面算不上华丽但是有自己的风格很好用。在.NET（MAMspace）这边我觉得不是很满意，可能一是由于当时时间来得比较仓储，很多地方只是换汤不换药的改了改整体的风格，二是就界面而言这里面融入了太多人的意见，这会破坏页面的统一性，就比如说有些人说这个标题用蓝色好，另一些人说用红色好，因为就界面而言带有很强的主观性，不能谁对谁错，解决的一个方法就是。大家一开始就为系统定义一个标准，比如颜色，新浪的淡黄，淘宝的橙色；还有字体，行间距等.</p>
<p><img src="/blog/wp-content/uploads/2009/08/1431_b.jpg" alt="18步岛" title="18步岛" /></p>
<h4>然后就是对对自己的一个反思，觉得在一下几个方面还需要加强。</h4>
<ol>
<li>沟通的能力
<p>当然做为一个设计这沟通是很重要的，怎样少走弯路，只有了解了用户的真正思想，而要了解用户的思想就只有沟通。同时还有表达自己的能力，和文档制作能力。 </p>
</li>
<li>英语的掌握
<p>这点没什么说的，但是说起来简单，做起来很抽象。 </p>
</li>
<li>编程的思维和技能
<p>然后具体的就是JS，PHP,和一些数据库的知识，系统，服务器的部署等，这些都需要去了解。</p>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/18-steps-island/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c720刷机心得</title>
		<link>http://lefter.net/blog/c720_rom/</link>
		<comments>http://lefter.net/blog/c720_rom/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 02:22:46 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[c720]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=736</guid>
		<description><![CDATA[
上次的系统里面的程序全不在了，任何格式的文件都不能打开，然后我的SD卡上的文件全部只是剩下空的文件夹了，我终于知道上次是为什么，因为这样的事情又出现了。
是因为我安装了杀毒... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/lefter/3754032226/" title="Flickr 上 luweijun 的 c720"><img src="http://farm3.static.flickr.com/2454/3754032226_248cc789b5.jpg" width="500" height="316" alt="c720" /></a>
<p>上次的系统里面的程序全不在了，任何格式的文件都不能打开，然后我的SD卡上的文件全部只是剩下空的文件夹了，我终于知道上次是为什么，因为这样的事情又出现了。</p>
<p>是因为我安装了杀毒软件<a href="http://airscanner.com/">Airscanner Antivirus v3.00</a>，这是<a href="http://bbs.shouji.com.cn/do/preparedownsofturl?id=13082&#038;softID=288">下载地址</a>，安装之后再卸载就会变成上面的症状，他NND狗屁杀毒软件真是太狠毒了</p>
<h4>刷机的基本步骤是</h4>
<ul>
<li>运行SDA Application Unlock.exe进行解锁</li>
<li>重启之后运行运行Uspl.bat文件（此时手机白屏，背景灯亮－－－出现它才表示成功）</li>
<li>然间就是安装，大概几分钟的时间</li>
<li>然后重启手机会自己配置</li>
</ul>
<p>这里会出现网上很多人都遇到过的问题，刷机会出现“EERO(270) UPDATE ERRO”，这是由于没有留意手机上的提示，必须要在手机上按确认键<img style="width:283px" src="http://lefter.net/blog/wp-content/uploads/2009/07/e69caae591bde5908d.gif" alt="" title="e69caae591bde5908d"  /></p>
<p>然后另外一个问题就是刷机之后一直停留在启动界面，只是关闭电源的时候才会出现系统配置正在配置，当到了2%的时候电源又完全断掉了，下次又是这样；这个问题的原因是启机的时候会出现一个绿色的屏幕提示一串英文意思是电源不足啥的，这是选择否，然后系统就会自己配置了,ROM在网上搜索一下就有，给出一些<a href="../demo/doom.zip">上面提到的小工具和教材</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/c720_rom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>毕业旅行图片整理</title>
		<link>http://lefter.net/blog/xi-an/</link>
		<comments>http://lefter.net/blog/xi-an/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 06:46:43 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[摄影，娱乐，音乐]]></category>
		<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[旅行]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=720</guid>
		<description><![CDATA[
临近一个月假期结束的时候，去了一趟 西安，现在算了算包括车票在内才花了200多块钱（回来的车票113，去的车票72），还买了一块玉，60多块钱。去的时候坐了17个小时，也是我第一次在车上... ]]></description>
			<content:encoded><![CDATA[<p><a title="点击查看我毕业旅行的图片O_O" target="_blank" href="/photo/"><img src="http://lh5.ggpht.com/_M2p9f-QlWt4/SkrYJabloWI/AAAAAAAACLw/jMq6rQ04Ce4/s800/DSCI0754_small.jpg" /></a>
<p>临近一个月假期结束的时候，去了一趟 <a href="/photo/in-xian/">西安</a>，现在算了算包括车票在内才花了200多块钱（回来的车票113，去的车票72），还买了一块玉，60多块钱。去的时候坐了17个小时，也是我第一次在车上过夜，当时觉得简直是受罪，现在想起来还是值得。</p>
<p>由于买错车票，火车到达地点是 <a href="/photo/in-xian/">西安南</a>，到市区还有很远的距离（回家查了一下，大概有2个半的成都火车北站到南站的距离），由于一晚上都没那么睡觉，坐在从西安南到市区的公交车上一会儿就睡着了。也不知道坐了好久，醒来的时候就到了市区</p>
<p>“<a href="/photo/in-xian/">西安</a> 简直”不是人待的地方，这是我现在的感受，太热了，40多度，太阳从早上5点多就出来晒你来了，一直要晒到晚上9点才甘心。天空基本上没多少像样的能挡太阳的云，简直是暴晒（还好我去的时候带的有墨镜和防晒霜）</p>
<p>到了之后动都不能动，一直在我高中时候同班的一个西安同学寝室（18个人一个寝室），睡觉，冲冷水澡，然后再睡觉。饭也不想吃，因为没的胃口。天天就这样，到了最后一天的时候，心里是有点不甘心，于是一个人就带着参观一下<a title="点击查看我毕业旅行的图片O_O" target="_blank" href="/photo/xi-an-daxues">西安的大学</a>的心态，顶着一张地图，就溜出来了，坐了40多分钟的车，到了<a title="点击查看我毕业旅行的图片O_O" target="_blank" href="/photo/xi-an-daxues/">西安电子科技大学</a>，在里面转了大圈就走路到了西北工业大学。一直这样又到了<a title="点击查看我毕业旅行的图片O_O" target="_blank"  href="/photo/northeast-u/">西北大学</a>，都是走路。从<a title="点击查看我毕业旅行的图片O_O" target="_blank"  href="/photo/northeast-u/">西北大学</a>出来的时候就是古城墙了，一直这样，走路把西安的南城墙（相当于其他城市的1环路南路）走了一通。现在想起来简直是个奇迹</p>
<p>回成都又坐了17个小时，这次是做的空调软座，不过感觉没啥区别，坐车本身就是一样的难受。到了车上睡了一觉就到了<a title="点击查看我毕业旅行的图片O_O" target="_blank"  href="/photo/deyang/">德阳</a>，就感觉凉爽多了。回到家坐在床上，心有余悸的想 “还是成都好啊” 于是最后几天在网上查了一下成都的周边旅游景区，骑车就去转了一下，包括人民公园，<a title="点击查看我毕业旅行的图片O_O" target="_blank" href="/photo/wenshuyuan/">文殊院</a>，<a title="点击查看我毕业旅行的图片O_O" target="_blank"  href="/photo/kuanzhaixiangzi/">宽窄巷子</a>等。现在觉得：西安乃至其他城市有的，俺们成都照样有。其实所有城市都差不多滴，道理一环套一环，楼房一层累一层</p>
<p><strong>附上：在西安时候通过手机上网写下的牢骚</strong></p>
<ul>
<li>人的心里有一座城，每个人都是城里的过客</li>
<li>西安，真让人心怡，心悦，心醉，心碎</li>
<li>西安城，支离破碎，街道一层套一层，让人喘不过气</li>
<li>西安的天，是不能穿内裤的</li>
<li>如果成都是个妙龄女郎的话，西安则是一个大叔，压抑，死气，杂乱，昏暗，邋遢，萧条，和支离破碎</li>
<li>我嘀神啦，要自燃了</li>
</ul>
<p>上面的牢骚是按时间排序的，由此也看出当时的心态变化</p>
<h5>还好照了一些自我感觉很棒的照片</h5>
<p>一个很差的相机相机<a href="http://product.pcpop.com/000067415/Index.html">AIGO-v720</a>(700万像素)，现在才买500多，后期处理了一下感觉还是很棒。按照时间罗列出来，还有其他的一堆，像大雁塔啦，古城墙啦，碑林啦，就不想弄了。</p>
<ol>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/in-xian/">毕业旅行之-西安</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/jiaoda/">毕业旅行之-交大</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/xingqing/">毕业旅行之-兴庆公园</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/northeast-u/">毕业旅行之-西北大学</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/xi-an-daxues/">毕业旅行之-西安大学s</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/deyang/">毕业旅行之在希望的田野外</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/wenshuyuan/">毕业旅行之-文殊院</a></li>
<li><a target="_blank" title="毕业旅行之-西安" href="/photo/kuanzhaixiangzi/">毕业旅行之-宽窄巷子</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/xi-an/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>戏说老照片</title>
		<link>http://lefter.net/blog/old-photos/</link>
		<comments>http://lefter.net/blog/old-photos/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 16:26:36 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=703</guid>
		<description><![CDATA[情娃子把以前的几张老照片扫描出来传在网上，引起了我们大家的兴趣，在此进行整理
特此说明

图片排名不分先后，只是按照人数多少
小孩请在家长的陪同下阅读
相片质量差，请大家尽快前... ]]></description>
			<content:encoded><![CDATA[<p>情娃子把以前的几张老照片扫描出来传在网上，引起了我们大家的兴趣，在此进行整理</p>
<p><strong>特此说明</strong>
<ol>
<li>图片排名不分先后，只是按照人数多少</li>
<li>小孩请在家长的陪同下阅读</li>
<li>相片质量差，请大家尽快前来认领自己的人头</li>
<li>相片中的人物一律按照花名，发现自己的花名不对的请抗议更改</li>
</ol>
<p><img style="width:350px;" src="http://lh5.ggpht.com/_M2p9f-QlWt4/Sj5PwnAMsPI/AAAAAAAABxg/bq1xeu7OIb8/s800/img%E6%90%9C%E7%B4%A2%E5%91%B5%E5%91%B5.jpg" />
<p><strong>片中主角：</strong>夏理智，情娃子，梦林子（唱灯儿戏的）</p>
<p><strong>点评：</strong>那个时候我们很傻，很天真！</p>
<p><strong>大家发言</strong></p>
<ul>
<li>这么老的照片都有？</li>
<li>作者是情娃子！找他要原版！这些照片太珍贵了</li>
<li>情娃子最先走向熟透，那个时候就知道照相要穿公斤点，连西装都绷上到了</li>
</ul>
<p><img style="width:350px;"  src="http://lh6.ggpht.com/_M2p9f-QlWt4/Sj5PwjK5r2I/AAAAAAAABxU/4Q9PPFe02DI/s800/img222.jpg" />
<p><strong>片中主角：</strong>军娃子，才婆娘（旺财）情娃子，夏理智，马天志，常超娃子，张新K。</p>
<p><strong>点评：</strong>那个时候我们很黄，很暴力！</p>
<p><strong>大家发言</strong></p>
<ul>
<li>这些照片应该尽快扫描，或者用数码翻拍，不然就氧化了</li>
<li>呵呵，那个时代的物质贫乏，导致小时候的照片都没有几张</li>
<li>这个是什么时候照的呀？脸蛋的原型都没发育好，呵呵</li>
<li>妈妈Y，我小时候那副德性！</li>
<li>那个时候应该是我们在巴中读高中放假回来，因为夏理智穿的BZZX的校服，不像是暑假，也不像是寒假，最大的嫌疑是逃课！</li>
</ul>
<p><img style="width:350px;"  src="http://lh5.ggpht.com/_M2p9f-QlWt4/Sj5PwtAEZ2I/AAAAAAAABxc/gzwfnbA7tMI/s800/img.jpg" /></p>
<p><strong>片中主角：</strong>军娃子，才婆娘（旺财），情娃子，夏理智，马天志，园娃子，笔垮子，长跑冠军，李老师（我们应该尊师，重教，老师无绰号），常超娃子，情娃子。</p>
<p><strong>点评：</strong>这是第一张记录女生的照片，所以弥足更加珍贵</p>
<p><strong>大家发言</strong></p>
<ul>
<li>那个时候我们还穿的灯草泥衣裳</li>
<li>还有轮胎底子胶鞋</li>
<li>那个时候老师常说的话是“给我蔑个条子来”</li>
</ul>
<p><img style="width:350px;"  src="http://lh5.ggpht.com/_M2p9f-QlWt4/Sj5PwZbx1JI/AAAAAAAABxQ/WGX3xjeWC_Y/s800/img33.jpg" />
<p><strong>片中主角：</strong>第一排：梦林子，银子娃二，母瓜子，xx,烟鬼。第二排从右开始应该是：李平子，鸡拐子，常超，张新K，夏礼智，国林斯儿,马天智，猿猴子，还有个认不到了</p>
<p><strong>点评：</strong>那个时候我们在五星红旗下，诚实勇敢，团结活剥；</p>
<p><strong>大家发言</strong></p>
<ul>
<li>大家伙帮我看看，上面有我哇？</li>
<li>也有我哟</li>
<li>这是全班合照还是全校合照，怎么前面的几个要幢些，明显比后面的人要高几届，不是一个档次的！</li>
<li>我在哪儿喃？</li>
<li>你那天旷课了。</li>
<li>向梦林在屋里唱灯儿戏</li>
</ul>
<p><strong>说明：</strong>这只是算是一种娱乐吧，更像是我对过去的一种怀念和回望！如果谁是“小气包”，我把他摘下来就是了！<strong>欢迎老同学们对其，进行留言补充</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/old-photos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wordpress自定义字段</title>
		<link>http://lefter.net/blog/wordpress-custom-fields/</link>
		<comments>http://lefter.net/blog/wordpress-custom-fields/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 12:39:49 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=701</guid>
		<description><![CDATA[我在做我的相册的时候,主要用到了wordpress自定义字段可以说wordpress自定义字段是wordpress很强的一个扩展之一，用有改功能就可以把wordpress完全做成一个很全面的CMS ，点击欣赏一个很棒的基于Wor... ]]></description>
			<content:encoded><![CDATA[<p>我在做<a href="http://lefter.net/photo/">我的相册</a>的时候,主要用到了<a href="http://codex.wordpress.org/Using_Custom_Fields">wordpress自定义字段</a><a title="点击进入我的相册" href="http://lefter.net/photo/"><img src="http://lh4.ggpht.com/_M2p9f-QlWt4/Sj4pIffAi2I/AAAAAAAABxI/ZChtCQH-leE/s800/gll.jpg" /></a>可以说wordpress自定义字段是wordpress很强的一个扩展之一，用有改功能就可以把wordpress完全做成一个很全面的CMS ，点击欣赏<a href="http://www.cssremix.com/">一个很棒的基于Wordpress的相册</a></p>
<p>什么是自定义字段呢？一般来讲wordpress提供了博客文章的作者，分类，标签，时间等，然后你可以根据你的需要自定义出一系列的其他信息，比如图片的拍摄器材，相册的缩略图，发表文章时候的心情等。</p>
<p>一个自定义字段有两个显而易见的变量 — 键 ( key ) 和值 ( value )
<pre><code>&lt;?php if ( get_post_meta($post->ID, 'index_image', true) ) { ?&gt;
&lt;a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"&gt;
&lt;img src="<?php echo get_post_meta($post->ID, "index_image", $single = true) ?>" title="<?php the_title(); ?>" /&gt;
&lt;/a>
&lt;?php } else {?&gt;
&lt;a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" &gt;
&lt;img src="<?php bloginfo('stylesheet_directory'); ?>/images/fix.jpg" alt="<?php the_title(); ?>" title="<?php the_title(); ?>"/&gt;
&lt;/a>
&lt;?php } ? &gt;</code></pre>
<p>get_post_meta($post_id, $key, $single = true)。这个函数能够能让你按自己所需列出自定义字段;。上面代码的解释就是查找自定义字段“index_image”属性，如果能找到该属性，就显示该属性对应的值（这里是一个图片地址）,如果没有找到该属性，则为一个固定的图片 fix.jpg来代替。</p>
<p>参考资料
<ul>
<li><a target="_blank" class="external" href="http://codex.wordpress.org/Using_Custom_Fields">Using_Custom_Fields</a></li>
<li><a target="_blank" class="external" href="http://www.wpdesigner.com/2007/06/05/one-way-to-use-custom-fields/">One Way To Use Custom Fields</a></li>
<li><a target="_blank" class="external" href="http://www.wpdesigner.com/2007/07/26/using-wordpress-as-a-css-gallery/">Using WordPress as a CSS gallery</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/wordpress-custom-fields/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>META,http-equiv,name</title>
		<link>http://lefter.net/blog/meta/</link>
		<comments>http://lefter.net/blog/meta/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 04:19:13 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=694</guid>
		<description><![CDATA[今天在上看一个positioniseverything查看IE6的border混乱的BUG说明页面发现Firefox的滚动条有点不一样，心想难道Firefox也可以像IE一样控制其滚动条的颜色之内的了么？于是研究了一下原来是这段代码... ]]></description>
			<content:encoded><![CDATA[<p>今天在上看一个<a href="http://www.positioniseverything.net/">positioniseverything</a>查看<a href="http://www.positioniseverything.net/explorer/border-chaos.html">IE6的border混乱的BUG说明页面</a>发现Firefox的滚动条有点不一样，心想难道Firefox也可以像IE一样控制其滚动条的颜色之内的了么？于是研究了一下原来是这段代码的作用<code>&lt;meta http-equiv="MSThemeCompatible" content="yes"/&gt;</code>其作用是：是否在浏览器中中关闭操作系统的的主题用法，比如按钮样式，选择菜单的样式等，一般和WINDOW经典主题一致</p>
<p>BTW : 用IE私有属性能控制滚动条的样比如：scrollbar-3dlight-color,scrollbar-highlight-color，scrollbar-face-color，scrollbar-arrow-color，scrollbar-shadow-color，scrollbar-darkshadow-color，scrollbar-base-color，scrollbar-track-color</p>
<p>在此对常用的META标签的属性进行一些总结，</p>
<h4>HTTP-EQUIV</h4>
<p>HTTP-EQUIV类似于HTTP的头部协议，它回应给浏览器一些有用的信息，以帮助正确和精确地显</p>
<dl>
<dt>Refresh (刷新)</dt>
<dd>让网页多长时间（秒）刷新自己，或在多长时间后让网页自动跳转到其它网页<code>&lt;Meta http-equiv="Refresh" Content="5; Url=http://lefter.net"/&gt;</code></dd>
<dt>Expires (期限)</dt>
<dd>指定网页在缓存中的过期时间，一旦网页过期，必须重发请求到服务器获取更新<code>&lt;Meta http-equiv="Expires" Content="Wed, 26 Feb 1997 08:21:57 GMT"/&gt;</code></dd>
<dt>Pragma (cach模式)</dt>
<dd>禁止浏览器从本地机的缓存中调阅页面内容<code>&lt;Meta http-equiv="Pragma " Content="No-cach"/&gt;</code></dd>
<dt>X-UA-Compatible</dt>
<dd>X-UA-Compatible是针对ie8新加的一个设置，对于ie8之外的浏览器是不识别的，这个区别与content=&#8221;IE=7&#8243;在无论页面是否包含指令，都像是使用了 Windows Internet Explorer 7的标准模式。而content=&#8221;IE=EmulateIE7&#8243;模式遵循指令。对于多数网站来说，它是首选的兼容性模式。<code>&lt;Meta http-equiv="X-UA-Compatible " Content="IE=7"/&gt;</code></dd>
</dl>
<h4>NAME变量</h4>
<p>name是描述网页的，对应于Content网页内容，以便于搜索引擎机器人查找、分类，目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类。name的value值name=&#8221;"；指定所提供信息的类型。有些值是已经定义好的。</p>
<p>例如description，keyword，Author，Copyright等，这些常见的就不特地说明了</p>
<dl>
<dt>name=&#8221;Robots&#8221; (搜索引擎向导)</dt>
<dd>说明：Robots用来告诉搜索机器人哪些页面需要索引，哪些页面不需要索引。Content的参数有all、none、index、noindex、follow、nofollow。默认是all。index针对，页面文件本身，而Follow针对页面的链接，搜索引擎顺着连接往下抓取</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/meta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable/Disable Digital Signature Icons</title>
		<link>http://lefter.net/blog/disable-digital-signature-icons/</link>
		<comments>http://lefter.net/blog/disable-digital-signature-icons/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 04:12:08 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[os]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=682</guid>
		<description><![CDATA[不知是怎么回事，我的鼠标右键最近出现了Enable/Disable Digital Signature Icons（让/禁用数字签名图标），这个出现在快捷方式和 .EXE文件上，网上好像也遇到这样的问题，一遇到这样的问题就是优化... ]]></description>
			<content:encoded><![CDATA[<p>不知是怎么回事，我的鼠标右键最近出现了Enable/Disable Digital Signature Icons（让/禁用数字签名图标），这个出现在快捷方式和 .EXE文件上，<a href="http://bbs.cfan.com.cn/viewthread.php?tid=437839">网上好像也遇到这样的问题</a>，一遇到这样的问题就是优化大师，超级兔子什么之类的</p>
<p>据说这是由于装了AUTOCAD的原因，<a href="http://hi.baidu.com/06032424/blog/item/4891a57725631c1ab051b9eb.html">网上有人给出了安装三方软件ContextEdit解决方法</a>，但是我装了之后还是没解决，于是自己试着自己来搞定吧这是自己努力的成果</p>
<h4>删除下面的所有注册表信息即可</h4>
<p><code>HKEY_CLASSES_ROOT\exefile\shell\Enable/Disable Digital Signature Icons<br />
HKEY_CLASSES_ROOT\exefile\shell\Enable/Disable Digital Signature<br />
Icons\command  (Default) REG_SZ acsignopt.exe<br />
</code></p>
<h4>额外的收获：Run as Administrator</h4>
<pre><code>HKEY_CLASSES_ROOT\exefile\shell\open
EditFlags REG_BINARY 00000000

HKEY_CLASSES_ROOT\exefile\shell\open\command
(Default) REG_SZ "%1" %*
IsolatedCommand REG_SZ "%1" %*

HKEY_CLASSES_ROOT\exefile\shell\runas

HKEY_CLASSES_ROOT\exefile\shell\runas\command
(Default) REG_SZ "%1" %*
IsolatedCommand REG_SZ "%1" %*
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/disable-digital-signature-icons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>新闻网被人攻击啦</title>
		<link>http://lefter.net/blog/someone-into-newscenter/</link>
		<comments>http://lefter.net/blog/someone-into-newscenter/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 02:04:14 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[前端开发&架构]]></category>
		<category><![CDATA[程序相关]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=667</guid>
		<description><![CDATA[今天早上还在睡觉的时候，工作室同学打电话说新闻网不能访问了，我用Firefox能打开,但是用IE打开会报错XML 文档只能有一个顶层元素。处理资源'http://www.news.uestc.edu.cn/' 时出错。第 163 行，位... ]]></description>
			<content:encoded><![CDATA[<p>今天早上还在睡觉的时候，工作室同学打电话说新闻网不能访问了，我用Firefox能打开,但是用IE打开会报错<img  title="IE下报错" alt="IE下报错" src="http://lh6.ggpht.com/_M2p9f-QlWt4/SjrnoeMCKII/AAAAAAAABuA/GdCzYD0J-Qs/s640/%E6%9C%AA%E6%A0%87%E9%A2%98-1.jpg" /><code>XML 文档只能有一个顶层元素。处理资源'http://www.news.uestc.edu.cn/' 时出错。第 163 行，位置: 2<br />
< a href="http://devturkler.com" title="devturk">< font color="#FFFFFF" >turkler< /a ><br />
-^<br />
</code>我看怎么多出了一个链接，然后代开这个链接，好像能打开，我想知道是那个国家的人攻击的，想查一下其IP地址是那个国家的，但是PING不通，太强了 <ins datetime="2009-06-19T02:16:54+00:00">现在知道是土耳其人侵略了我们:)</ins></p>
<p>后来才注意到Firefox里面也是不正常的，因为下面多出了一行空白，因为他给链接用的白色的字体，背景也是白色的所以就不能看见；但是FIREFOX为什么不报错呢，我想是因为我们新闻网的前端架构采用XSL解析XML的方式,而XSL也是一种XML,XML相对html要规范的多,很多标签如CENTER，FONT等都被取消了,还有所有的标签必须关闭,而他用的<code>< a >< font color="#FFFFFF" >turkler< /a ></code>这两点都不满足，而Firefox渲染的时候是把XML直接转换为HTML(在IE，和firefox下分别查看源文件就可以知道)，因此不报错！但是能解析出来，只是此人用了白色的字体，而背景也是白色的，所以看不出来罢了，全选的时候就能看出来了<img alt="FIREFOX下面的效果" title="FIREFOX下面的效果" src="http://lh3.ggpht.com/_M2p9f-QlWt4/SjrnokIOpBI/AAAAAAAABuE/-vscosXBTpU/s640/%E6%9C%AA%E6%A0%87%E9%A2%98s-1.jpg"/></p>
<p>我滴神啦，被改掉的DEFAULT文件，还不知道有没有其他的文件被改掉<img alt="被改之后的文件" title="被改之后的文件"  src="http://lh6.ggpht.com/_M2p9f-QlWt4/SjrnooQVYkI/AAAAAAAABuI/7rv6GfDx2ck/s640/%E6%9C%AA%E5%91%BD%E5%90%8D.jpg" /></p>
<p>还好此人没有多少恶意，只是加上他的链接在上面，可能是想赚取PR，也给我们敲了个警钟。现在应该找出我们的服务器的漏洞出在哪里，大家不要在上面安装其他的软件</p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/someone-into-newscenter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu安装 Apache</title>
		<link>http://lefter.net/blog/ubuntu-apache/</link>
		<comments>http://lefter.net/blog/ubuntu-apache/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 02:20:30 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[程序相关]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=658</guid>
		<description><![CDATA[Ubuntu为我们提供了 su apt-get install 命令，通过它你可以很方便地安装一些软件，这些软件是放在Ubuntu放置在各个地方的服务器上面，如果你想安装的软件是比较常见的，一般都可以通过它来下载... ]]></description>
			<content:encoded><![CDATA[<p>Ubuntu为我们提供了 su apt-get install 命令，通过它你可以很方便地安装一些软件，这些软件是放在Ubuntu放置在各个地方的服务器上面，如果你想安装的软件是比较常见的，一般都可以通过它来下载.<br />
<code>sudo apt-get install apache2</code></p>
<p>配置网站目录，在Ubuntu下面的 apache 目录存放方式跟 Window下面有很大区别，它的配置文件是存放在 etc/apache2/ 这个文件夹下面,又将以前的配置文件分成了
<dl>
<dt>etc/apache2/conf.d/charset</dt>
<dd>这个是网站编码配置，里面内容很少，打开看就知道了，我这里将最后行的 ＃AddDefaultCharset UTF-8 前面的#去掉，使用UTF-8编码，当然也可以把 UTF-8改成别的编码.</dd>
<dt>etc/apache2/sites-available/default </dt>
<dd>这个是网站目录配置，想更改网站目录的话，就修改这个，默认的网站目录是/var/www(所有者为root,所以修改起来很不方便)</dd>
</dl>
<p>像LINUX源一样，要有一定的权限才能修改上面的配置文件，可以这样：<code>1:su  输入root密码 2:gedit etc/apache2/conf.d/charset </code>或者直接临时获取权限<code>1:sudo gedit etc/apache2/conf.d/charset </code>
</p>
<p>重启apache即可,<code>sudo service apache2 restart</code>也可以<code>sudo /etc/init.d/apache2 restart</code></p>
<p>BTW: init.d 下面是系统的服务类程序（比如xinet,samba,vsftp，xserver,apche,mysql）的启动登记   各个init.x目录下的文件表示这个运行级别下服务的运行与否,这里面的文件通常是一些脚本,来启动和结束各个服务的,具体的内容你可以用任何一个编辑器打开看的 </p>
<p><strong>顺便提一下mysql</strong> ，开启mysql的方法和apche一样：<code>sudo /etc/init.d/mysql start</code>不知我什么时候已经把 mysql安装成功了,因为我的/etc/nit.d/ 目录下有 mysal文件，于是我在终端上输入 mysql，提示<code>ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'h'</code>我想也是由于权限的问题造成的输入<code>mysql --user=root -p</code>就对了，然后就可以在终断开上运行MySql的命令了比如<br />
<code>mysql > show databases;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/ubuntu-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>最近迷恋网球</title>
		<link>http://lefter.net/blog/study-tennis/</link>
		<comments>http://lefter.net/blog/study-tennis/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 14:43:25 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[tennis]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=651</guid>
		<description><![CDATA[从中午1点钟的时候到网上8点钟，一直在奔跑。现在左手上有五个水泡，可能是打球的时候已经达到了忘我的境界了，但是感觉不到痛，现在小腿，手臂，手掌，乃至全身都好痛，身上一层盐，... ]]></description>
			<content:encoded><![CDATA[<p>从中午1点钟的时候到网上8点钟，一直在奔跑。现在左手上有五个水泡，可能是打球的时候已经达到了忘我的境界了，但是感觉不到痛，现在小腿，手臂，手掌，乃至全身都好痛，身上一层盐，在霓虹灯下发出耀眼的光芒；简直是用“爬”到工作室的，喝了八瓶矿泉水，晚饭也没吃，快虚脱了！</p>
<p><img alt="love tennis" src="http://lh6.ggpht.com/_M2p9f-QlWt4/SjUO8cOfpHI/AAAAAAAABtg/da9HkpWLZ7Q/s640/e14920a4b6c6aed39152ee6a.jpg" />
<p>最近迷恋上打网球，有空之余，除了足球篮球现在又多了一项活动了。有幸从朋友那里得到一只网球拍，是<a href="http://tieba.baidu.com/f?kz=250876334">威尔逊proStaff6.5</a>,现在版本都9.0，所以看起来很旧，不过在网上查了一下还是值一千五百左右，然后在网上找了一些视频教程，现在基本上算是入门了，正手单手、正手双手，反手单手，反手削球，然后还有什么握拍方式，西方式，半西方式，东方式，半东方式，总结了一下这么多的“招式”，无非就两点最重要 1：垂直击球；2：网球中最最重要的是脚步</p>
<p>明天肯定起不了床了，还好明天有NBA，不用打球了可以在家休息一天，想给自己说的是喜欢上一个东西，就应该不惜一切，希望我自己的这份热求继续保持</p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/study-tennis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>king-box</title>
		<link>http://lefter.net/blog/king-box/</link>
		<comments>http://lefter.net/blog/king-box/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 10:06:30 +0000</pubDate>
		<dc:creator>lujo</dc:creator>
				<category><![CDATA[生活及其他]]></category>
		<category><![CDATA[摄影，娱乐，音乐]]></category>

		<guid isPermaLink="false">http://lefter.net/blog/?p=644</guid>
		<description><![CDATA[对劲霸男装广告词的恶搞
A:明天走？
B:放心吧，从小到大没输过你。
A:有你的！
B:混不好我就不回来了。（转换镜头，某男站在楼顶，手按台阶向远方呼喊）
背景音:给你这样的男人。
劲霸男... ]]></description>
			<content:encoded><![CDATA[<p><strong>对劲霸男装广告词的恶搞</strong></p>
<p>A:明天走？<br />
B:放心吧，从小到大没输过你。<br />
A:有你的！<br />
B:混不好我就不回来了。（转换镜头，某男站在楼顶，手按台阶向远方呼喊）<br />
背景音:给你这样的男人。<br />
劲霸男装。专注夹克28年。</p>
<p>编辑:咋错位这么严重？<br />
D B:放心吧，用IE6就不会错位了！<br />
编辑:有你的！<br />
D B:如果全兼容我早就跳槽了！<br />
给你这样的网页构架师！<br />
D B 专注网页前端28年！</p>
]]></content:encoded>
			<wfw:commentRss>http://lefter.net/blog/king-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
