<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/wordpress-mu-1.1.1" -->
<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/"
	>

<channel>
	<title>王斌的Blog</title>
	<link>http://my.donews.com/wangbin1979</link>
	<description>想飞之心，永远不死！</description>
	<pubDate>Fri, 29 Dec 2006 04:12:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=wordpress-mu-1.1.1</generator>
	<language>en</language>
			<item>
		<title>今天早上登录雅虎邮箱看到的提示</title>
		<link>http://my.donews.com/wangbin1979/2006/12/28/keqkgooaiwkfrbbtkwhrudraieegecgpgxzn/</link>
		<comments>http://my.donews.com/wangbin1979/2006/12/28/keqkgooaiwkfrbbtkwhrudraieegecgpgxzn/#comments</comments>
		<pubDate>Thu, 28 Dec 2006 01:41:44 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/12/28/KEqKGOoaiwKfRbbTkwHrUDraiEeGecGPGXzn/</guid>
		<description><![CDATA[
29日更新
... ]]></description>
			<content:encoded><![CDATA[<p><img src="http://my.donews.com/wangbin1979/files/2006/12/Screenshot-The%20page%20at%20http:--cn.mail.yahoo.com%20says:.png" alt="Screenshot-The page at http:--cn.mail.yahoo.com says:.png" /></p>
<p><strong>29日更新</strong><br />
<img src="http://my.donews.com/wangbin1979/files/2006/12/Screenshot-The%20page%20at%20http:--cn.mail.yahoo.com%20says:-1.png" alt="Screenshot-The page at http:--cn.mail.yahoo.com says:-1.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/12/28/keqkgooaiwkfrbbtkwhrudraieegecgpgxzn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>低调，低调──Unobtrusive Javascript</title>
		<link>http://my.donews.com/wangbin1979/2006/11/30/zayrpkplvgsxcckkbvadmsvlppgcshmrikix/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/30/zayrpkplvgsxcckkbvadmsvlppgcshmrikix/#comments</comments>
		<pubDate>Wed, 29 Nov 2006 16:47:57 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/30/zaYrPKpLVGSXCCkKbvADmsvlppGcshMRiKiX/</guid>
		<description><![CDATA[“低调，低调”是《武林外传》里面的李大嘴的名言，把“Unobtrusive”这个词翻译成低调，有点草根味道吧，嘿嘿。
今天从Realazy大侠的一篇blog上看到“Unobtrusive Javascript”这个概念，上google搜... ]]></description>
			<content:encoded><![CDATA[<p>“低调，低调”是《武林外传》里面的李大嘴的名言，把“Unobtrusive”这个词翻译成低调，有点草根味道吧，嘿嘿。</p>
<p>今天从Realazy大侠的一篇blog上看到“Unobtrusive Javascript”这个概念，上google搜了一把，查到这个非常好的讲解“低调javascript”的网页，粗略看过之后，感觉受益不浅。</p>
<p>Javascript绝对是网站开发必不可少的利器，尤其是在ajax大行其道的今天，但是由于很多原因（比方说，安全原因，浏览器对 javascript的支持原因，对我自己而言更多的是缺乏经验的原因，等等），有时候反而会影响用户的体验（accessbility和 usibility），甚至使影响开发和重构，所以在使用javascript技术的时候要千万小心。</p>
<p>以我的理解，低调，就意味着不在非必要的时候使用，好钢用在刀刃上，用正确的技术解决正确的问题，一般可以用xhtml和css解决的问题，没有必要用javascript去做。</p>
<p>Unobtrustive Javascript非常明显的一个特征就是，即使你的Javascript代码失效了（比如用户禁用了javascript），而你的网站仍然是可以访问的，最简单的例子就是我们常在前台对用户输入的信息进行检查，即使这些检查非常严格（或者说精确），我们依然要在后台进行检测。前台的检测是为了减少和后台交互的时间，但却不是可以完全依赖的（not rely on）。</p>
<p>在http://www.onlinetools.org/articles/unobtrusivejavascript/ 的网站上还介绍了不少有效的方法，比方说：</p>
<p>除非非常特殊的情况，否则不要将javascript代码嵌到html代码中，这点的好处应该非常明显。</p>
<p>Javascript是一种“可无”但绝不是“可有可无”的技术，有效地使用javascrit可以增强用户体验，但是滥用会适得其反（这句是对所有技术都有用的废话）。</p>
<p>尽量使用浏览器都支持的w3c标准方法（这句也是废话）。IE7的出世意味着标准之战将会是一场持久战，收集一些必要的hack技术还是很有必要的:(</p>
<p><a href="http://adactio.com/atmedia2005/">Using JavaScript for good, not evil</a>这篇文章还举了个例子，如果点击一个link需要弹出一个窗口，怎么样才是Unobtrusive的呢？<br />
答案是给这个link定义一个class，在js里面用dom去找到这个link，添加onclick方法，而这个方法在页面加载的时候被调用。如果你有1000个link分布在500个页面里面，需要相同或者类似的方法，这样做的效果是不是很明显？</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/30/zayrpkplvgsxcckkbvadmsvlppgcshmrikix/feed/</wfw:commentRss>
		</item>
		<item>
		<title>django的middleware执行顺序</title>
		<link>http://my.donews.com/wangbin1979/2006/11/28/geNWZYxmfCxplNBWAwRMCcjZMEyoJjxPokMn/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/28/geNWZYxmfCxplNBWAwRMCcjZMEyoJjxPokMn/#comments</comments>
		<pubDate>Tue, 28 Nov 2006 05:22:43 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/28/geNWZYxmfCxplNBWAwRMCcjZMEyoJjxPokMn/</guid>
		<description><![CDATA[今天总算弄清了django中的middleware执行顺序是什么了，假设我的settings.py中设置的middleware顺序如下：

MIDDLEWARE_CLASSES = (
    "django.middleware.common.CommonMiddleware",
    "django.contrib.csrf.middleware.CsrfMiddleware... ]]></description>
			<content:encoded><![CDATA[<p>今天总算弄清了django中的middleware执行顺序是什么了，假设我的settings.py中设置的middleware顺序如下：</p>
<pre>
MIDDLEWARE_CLASSES = (
    "django.middleware.common.CommonMiddleware",
    "django.contrib.csrf.middleware.CsrfMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.transaction.TransactionMiddleware",
 )
</pre>
<p>那么，在处理request的时候顺序是从上往下的，即CommonMiddleware的process_request方法最先执行，最后执行的是TransactionMiddleware的process_request。<br />
但是处理response的顺序正相反，TransactionMiddleware的process_response方法先被调用，最后被调用的是CommonMiddleware的process_response方法，类似后进先出的堆栈。</p>
<p>还有一点要注意的是,CommonMiddleware的process_request方法里面有对url进行处理，处理之后就redirect了，那么之后下面的middleware的process_request就不会再执行了，而是调用process_response方法（顺序是从下往上）</p>
<p>在写middleware的时候犯了很多错误，这个middleware的执行顺序问题被review了两遍才认识到，记下来免得以后犯同样的错误。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/28/geNWZYxmfCxplNBWAwRMCcjZMEyoJjxPokMn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Move a directory out of svn control</title>
		<link>http://my.donews.com/wangbin1979/2006/11/25/fctfkovvegfsxmqvjymbdopsdqsgsvrxykci/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/25/fctfkovvegfsxmqvjymbdopsdqsgsvrxykci/#comments</comments>
		<pubDate>Sat, 25 Nov 2006 15:05:55 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/25/fcTfkovvegFSXMQvjYMBDoPsDQsGSvRXyKcI/</guid>
		<description><![CDATA[To move a directory out of svn control, you can use svn:ignore property, just like move a file out of svn control, for example, if I want to move meta directory out of svn control:

cp -r meta meta.back
svn propedit svn:ignore meta .
svn ci -m "move meta... ]]></description>
			<content:encoded><![CDATA[<p>To move a directory out of svn control, you can use svn:ignore property, just like move a file out of svn control, for example, if I want to move meta directory out of svn control:<br />
<code><br />
cp -r meta meta.back<br />
svn propedit svn:ignore meta .<br />
svn ci -m "move meta dir out of svn control"<br />
mv meta.back meta<br />
</code><br />
And next time you using &#8220;svn st&#8221;, you will not see the meta dir with &#8220;?&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/25/fctfkovvegfsxmqvjymbdopsdqsgsvrxykci/feed/</wfw:commentRss>
		</item>
		<item>
		<title>emacs &#38; svn</title>
		<link>http://my.donews.com/wangbin1979/2006/11/24/toNBthSbriLiZgkMaPofQoZPVtCCKfJetwFN/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/24/toNBthSbriLiZgkMaPofQoZPVtCCKfJetwFN/#comments</comments>
		<pubDate>Thu, 23 Nov 2006 16:50:31 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[subversion]]></category>

		<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/24/toNBthSbriLiZgkMaPofQoZPVtCCKfJetwFN/</guid>
		<description><![CDATA[Emacs是我最喜欢的编辑器，我非常喜欢在emacs下做所有的工作。由于Emacs强大的可扩展性，有很多插件可以帮助实现各种各样的功能，比方说在emacs中操作svn。
过去我一直使用emacs的shell mode作为... ]]></description>
			<content:encoded><![CDATA[<p>Emacs是我最喜欢的编辑器，我非常喜欢在emacs下做所有的工作。由于Emacs强大的可扩展性，有很多插件可以帮助实现各种各样的功能，比方说在emacs中操作svn。</p>
<p>过去我一直使用emacs的shell mode作为我的terminal，如果提交代码的话，一般是执行</p>
<p>emacs -ci xxx.py -m &#8220;comment&#8230;&#8221;</p>
<p>不过这样有个缺陷，就是我的comment必须是一行，有时候要想写的详细一些，加分段、结构什么的，就没有办法了。这样对别人review我的代码很不利，而我又不想再开一个终端去提交，终于让我找到psvn这个插件，可以很方便地执行svn命令，而不用离开emacs了。</p>
<p>最新的psvn.el可以从这里下载（用svn:））</p>
<p>http://svn.collab.net/repos/svn/trunk/contrib/client-side/psvn/psvn.el</p>
<p>我放到了~/.emacs.d/site-lisp/psvn目录下，既方便管理，又利于更新。然后配置你的.emacs文件，添加下面两句：</p>
<p>(add-to-list &#8216;load-path &#8220;~/.emacs.d/site-lisp/psvn/psvn.el&#8221;)<br />
(require &#8216;psvn)</p>
<p>这样每次启动emacs的时候都会自动载入psvn插件。</p>
<p>psvn使用也很简单，M+x svn-status，会提示你选择svn-status的目录，然后emacs会打开一个buffer，显示目录下所有的目录和文件。</p>
<p>这时候可以用光标选择要编辑的文件，按回车进入编辑状态，编辑完之后，M+x svn-status-commit，会有buffer提示你写comment，你可以详细地写你的修改，就像编辑普通文件一样，编辑完后，按C-c C-c，进行提交。</p>
<p>有时候提交会报错，</p>
<p>error in process sentinel: Unknown action &#8216;unknown for emacs</p>
<p>但是并不影响提交，我发现如果一开始设置svn-status的目录是你svn的根目录的话，就不会出现这个错误;如果在子目录下，就会出现这个错误，可惜我lisp一窍不通，没法调试，不过似乎影响不大。</p>
<p>以上是我做得一点最最基本的测试，以后在工作中边用边学吧，有好的技巧我会写下来。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/24/toNBthSbriLiZgkMaPofQoZPVtCCKfJetwFN/feed/</wfw:commentRss>
		</item>
		<item>
		<title>移动硬盘和SCSI device support</title>
		<link>http://my.donews.com/wangbin1979/2006/11/23/rwhksofgslveqweawsqqhbwgkrycpthhqori/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/23/rwhksofgslveqweawsqqhbwgkrycpthhqori/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 16:32:38 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[gentoo]]></category>

		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/23/RWhksofGSLvEQWEAWsqQHBwGKRYcpThhQori/</guid>
		<description><![CDATA[今天发现我的gentoo系统不能挂载移动硬盘了，怀疑是编译的内核出了问题，查了一下，果然在&#8221;Device Drivers&#8221;-&#62;&#8221;SCSI device support&#8221;中有一项&#8221;SCSI disk support&#8221;没有选上，选上... ]]></description>
			<content:encoded><![CDATA[<p>今天发现我的gentoo系统不能挂载移动硬盘了，怀疑是编译的内核出了问题，查了一下，果然在&#8221;Device Drivers&#8221;-&gt;&#8221;SCSI device support&#8221;中有一项&#8221;SCSI disk support&#8221;没有选上，选上了之后，重启用新的内核，就能够顺利挂载了，截了两幅图，说明一下，以后编译内核的时候一定要记得将&#8221;SCSI disk support&#8221;编译到内核当中。</p>
<p>第一幅图片是&#8221;SCSI disk support&#8221;的说明：</p>
<p><a class="imagelink" title="Screenshot-wangbin@wangbin:~-1.png" href="http://my.donews.com/wangbin1979/files/2006/11/Screenshot-wangbin@wangbin:%7E-1.png"><img alt="Screenshot-wangbin@wangbin:~-1.png" src="http://my.donews.com/wangbin1979/files/2006/11/Screenshot-wangbin@wangbin:%7E-1.png" /></a></p>
<p>第二幅图片是这个选项的位置：</p>
<p><a rel="attachment" class="imagelink" title="Screenshot-wangbin@wangbin:~.png" href="http://my.donews.com/wangbin1979/?attachment_id=87"><img alt="Screenshot-wangbin@wangbin:~.png" src="http://my.donews.com/wangbin1979/files/2006/11/Screenshot-wangbin@wangbin:%7E.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/23/rwhksofgslveqweawsqqhbwgkrycpthhqori/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gentoo下简单地升级内核</title>
		<link>http://my.donews.com/wangbin1979/2006/11/22/zqVxxgyuumoGRgYKLsbduajHffrMOpLnGHLe/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/22/zqVxxgyuumoGRgYKLsbduajHffrMOpLnGHLe/#comments</comments>
		<pubDate>Tue, 21 Nov 2006 16:02:20 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[gentoo]]></category>

		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/22/zqVxxgyuumoGRgYKLsbduajHffrMOpLnGHLe/</guid>
		<description><![CDATA[今天gentoo的内核升级到了2.6.18-r3，刚好前两天zhllg在gentoo中文wiki上发了一篇编译内核的指南，经过尝试，除了那个通用的grub配置没有成功，别的都很顺利，甚至出乎我的意料。
最有用的一条命... ]]></description>
			<content:encoded><![CDATA[<p>今天gentoo的内核升级到了2.6.18-r3，刚好前两天<a title="zhllg" href="http://zhllg.blogspot.com">zhllg</a>在<a href="http://my.donews.com/wangbin1979/wp-admin/zh.gentoo-wiki.com">gentoo中文wiki</a>上发了一篇编译内核的<a href="http://zh.gentoo-wiki.com/HOWTO_Compile_Kernel">指南</a>，经过尝试，除了那个通用的grub配置没有成功，别的都很顺利，甚至出乎我的意料。</p>
<p>最有用的一条命令就是make oldconfig，这个命令会根据旧的配置生成新的配置文件，如果新内核有新的选项，会给你提示，像从r2到r3这样的升级，根本不需要再从头配置，执行一遍make oldconfig，新的.config文件就生成好了，接下来就可以做 make &amp;&amp; make modules_install了。</p>
<p>那个号称一劳永逸的grub配置在我这里没有成功，以后有时间要研究一下wildcard的写法。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/22/zqVxxgyuumoGRgYKLsbduajHffrMOpLnGHLe/feed/</wfw:commentRss>
		</item>
		<item>
		<title>gentoo 2006.1下设置nameserver</title>
		<link>http://my.donews.com/wangbin1979/2006/11/10/bbkbddxzbteetngjvpxcgvtkdksikwymyjnb/</link>
		<comments>http://my.donews.com/wangbin1979/2006/11/10/bbkbddxzbteetngjvpxcgvtkdksikwymyjnb/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 16:33:52 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[gentoo]]></category>

		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/11/10/BBkbDDXZBteETngJVpXCgvTkdksiKWymyJnb/</guid>
		<description><![CDATA[这次安装gentoo 2006.1,遇到一个奇怪的问题，就是我在/额头擦/resolv.conf中设置了nameserver 192.168.0.1，但是每次重启，这一行都没有了，不得不再次手动设置一遍，让我很是郁闷，明明照着handbook上... ]]></description>
			<content:encoded><![CDATA[<p>这次安装gentoo 2006.1,遇到一个奇怪的问题，就是我在/额头擦/resolv.conf中设置了nameserver 192.168.0.1，但是每次重启，这一行都没有了，不得不再次手动设置一遍，让我很是郁闷，明明照着handbook上来得，以前的版本都好好的，不知道为什么现在会这样？</p>
<p>查了一下论坛，结果真有人问同样的问题，解决办法是在/etc/conf.d/net中加一行</p>
<p>dns_servers_lo=&#8221;192.168.0.1&#8243;</p>
<p>就好了，又查了一下安装手册，确实没有提到这一点，记下来免得以后再遇到同样的问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/11/10/bbkbddxzbteetngjvpxcgvtkdksikwymyjnb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>firefox2明天发布</title>
		<link>http://my.donews.com/wangbin1979/2006/10/23/QuLzDBoGeckwOmVzWoJZhJdzEIKtmWicqTBU/</link>
		<comments>http://my.donews.com/wangbin1979/2006/10/23/QuLzDBoGeckwOmVzWoJZhJdzEIKtmWicqTBU/#comments</comments>
		<pubDate>Mon, 23 Oct 2006 07:47:02 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[news]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/10/23/QuLzDBoGeckwOmVzWoJZhJdzEIKtmWicqTBU/</guid>
		<description><![CDATA[firefox 2正式版明天发布，值得记下来。不过我现在已经在用RC3了，而且irc上的人说，应该和正式版没什么区别。可惜有些插件还不兼容，像我常用到的tab mix plug、del.icio.us和fastfox都不能用了，... ]]></description>
			<content:encoded><![CDATA[<p>firefox 2正式版明天发布，值得记下来。不过我现在已经在用RC3了，而且irc上的人说，应该和正式版没什么区别。可惜有些插件还不兼容，像我常用到的tab mix plug、del.icio.us和fastfox都不能用了，不过我想很快就会有版本更新吧。</p>
<p>其实对我来说，IE7的发布更应该记录吧？不过我没有正版的windows，不能更新（而且我现在也不怎么用windows了），所以一直没有看到最新的IE，不过对于作web开发的人来说，也许预示一场灾难的来临吧？我还是期待微软更严厉的反盗版，这样IE7在中国的普及速度就会慢下来，而用firefox的人逐渐多起来，那就好啦！</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/10/23/QuLzDBoGeckwOmVzWoJZhJdzEIKtmWicqTBU/feed/</wfw:commentRss>
		</item>
		<item>
		<title>修改gnome桌面的图标</title>
		<link>http://my.donews.com/wangbin1979/2006/09/15/bwhgqvhkmoknooeqyzzoprklqzcvubtutccf/</link>
		<comments>http://my.donews.com/wangbin1979/2006/09/15/bwhgqvhkmoknooeqyzzoprklqzcvubtutccf/#comments</comments>
		<pubDate>Fri, 15 Sep 2006 05:14:33 +0000</pubDate>
		<dc:creator>Wang Bin</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://my.donews.com/wangbin1979/2006/09/15/bWhgqVHkMOkNOoEQYZZOprklQzCVuBTuTCCF/</guid>
		<description><![CDATA[gconf-editor可以修改桌面的图标，在app-&#62;nautilus-&#62;desktop中，可以设置是否显示Trash、Home等默认图标等选项。... ]]></description>
			<content:encoded><![CDATA[<p>gconf-editor可以修改桌面的图标，在app-&gt;nautilus-&gt;desktop中，可以设置是否显示Trash、Home等默认图标等选项。</p>
]]></content:encoded>
			<wfw:commentRss>http://my.donews.com/wangbin1979/2006/09/15/bwhgqvhkmoknooeqyzzoprklqzcvubtutccf/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
