<?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>Think Louder - 大声想</title>
	<atom:link href="http://thinklouder.cn/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinklouder.cn</link>
	<description>on Linux, Open Source, etc.</description>
	<lastBuildDate>Tue, 29 Dec 2009 09:43:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Python code auto complete in vim by ropevim</title>
		<link>http://thinklouder.cn/2009/12/ropevim-rope-in-vim/</link>
		<comments>http://thinklouder.cn/2009/12/ropevim-rope-in-vim/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:45:13 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=1044</guid>
		<description><![CDATA[ropevim introduce a one stop python code auto complete, auto import and other features to vim.
refs: http://rope.sourceforge.net/ropevim.html
I did this:

$ mkdir /home/liwen/install/rope
$ cd /home/liwen/install/rope
$ hg clone http://bitbucket.org/agr/rope/
$ cd rope
$ python setup.py install
$ cd ..
$ hg clone http://bitbucket.org/agr/ropevim/
$ cd ropevim
$ hg clone http://bitbucket.org/agr/ropemode/
$ mv ropemode/ropemode/* ropemode/
$ python setup.py install

And added some code in my .vimrc:


let $PYTHONPATH .= [...]]]></description>
			<content:encoded><![CDATA[<p>ropevim introduce a one stop python code auto complete, auto import and other features to vim.<br />
refs: <a href="http://rope.sourceforge.net/ropevim.html">http://rope.sourceforge.net/ropevim.html</a></p>
<p>I did this:</p>
<pre>
$ mkdir /home/liwen/install/rope
$ cd /home/liwen/install/rope
$ hg clone http://bitbucket.org/agr/rope/
$ cd rope
$ python setup.py install
$ cd ..
$ hg clone http://bitbucket.org/agr/ropevim/
$ cd ropevim
$ hg clone http://bitbucket.org/agr/ropemode/
$ mv ropemode/ropemode/* ropemode/
$ python setup.py install
</pre>
<p>And added some code in my .vimrc:</p>
<pre>

let $PYTHONPATH .= ":/home/liwen/install/rope/rope:/home/liwen/install/rope/ropevim"
source /home/liwen/install/rope/ropevim/ropevim.vim

let ropevim_codeassist_maxfixes=10
let ropevim_guess_project=1
let ropevim_vim_completion=1
let ropevim_enable_autoimport=1
let ropevim_extended_complete=1

function! CustomCodeAssistInsertMode()
    call RopeCodeAssistInsertMode()
    if pumvisible()
        return "\&lt;C-L&gt;\&lt;Down&gt;"
    else
        return ''
    endif
endfunction

function! TabWrapperComplete()
    let cursyn = synID(line('.'), col('.') - 1, 1)
    if pumvisible()
        return "\&lt;C-Y&gt;"
    endif
    if strpart(getline('.'), 0, col('.')-1) =~ '^\s*$' || cursyn != 0
        return "\&lt;Tab&gt;"
    else
        return "\&lt;C-R&gt;=CustomCodeAssistInsertMode()\&lt;CR&gt;"
    endif
endfunction

inoremap &lt;buffer&gt;&lt;silent&gt;&lt;expr&gt; &lt;Tab&gt; TabWrapperComplete()
</pre>
<p>Then auto complete should work automatically. But RopeRename not work, which will fill up my cpu, I think it&#8217;s ok for a beginning. </p>
<p>PS: hg is <a href="http://mercurial.selenic.com/">mercurial</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/12/ropevim-rope-in-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla Prism的Defect</title>
		<link>http://thinklouder.cn/2009/03/mozilla-prism-windows-live-reply-empty/</link>
		<comments>http://thinklouder.cn/2009/03/mozilla-prism-windows-live-reply-empty/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 03:12:18 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=1016</guid>
		<description><![CDATA[昨天，3月17日，是比较不幸的一天。下午因某些原因我在Windows Live Mail里回复邮件，可以说是我写过的最长的邮件，而且此邮件充斥着我的真情实感。我有个习惯发出去的邮件在Sent目录检查一下。但我发现这封邮件发出去后内容为空。我就崩溃了。难道这封邮件设置了“禁止转发”？没记得email支持这样的功能，如果是某些脚本捣的鬼，浏览器也应该提示我。
我使用Mozilla Labs的Prism启动的Windows Live Mail。用其他浏览器（Firefox, Opera）实验了一下，发现这是一个defect。gg了也没有发现同样的case。后来任同学帮忙在Windows下试了一下也有同样的问题。
去了#prism的IRC，没有人响应，可能另一个半球的同学都在睡觉。于是我默默的file了一个defect。

]]></description>
			<content:encoded><![CDATA[<p>昨天，3月17日，是比较不幸的一天。下午因某些原因我在Windows Live Mail里回复邮件，可以说是我写过的最长的邮件，而且此邮件充斥着我的真情实感。我有个习惯发出去的邮件在Sent目录检查一下。但我发现这封邮件发出去后内容为空。我就崩溃了。难道这封邮件设置了“禁止转发”？没记得email支持这样的功能，如果是某些脚本捣的鬼，浏览器也应该提示我。</p>
<p>我使用Mozilla Labs的Prism启动的Windows Live Mail。用其他浏览器（Firefox, Opera）实验了一下，发现这是一个defect。gg了也没有发现同样的case。后来<a href="http://www.renwenyue.com">任同学</a>帮忙在Windows下试了一下也有同样的问题。</p>
<p>去了#prism的IRC，没有人响应，可能另一个半球的同学都在睡觉。于是我默默的file了一个<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=483923">defect</a>。</p>
<p><!--da585e32-7db2-4b28-9aaa-82600c6cfcd6--></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/03/mozilla-prism-windows-live-reply-empty/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>将Python程序编译并转换成Windows可执行程序</title>
		<link>http://thinklouder.cn/2009/03/compile-python-to-bytecode-and-py2exe/</link>
		<comments>http://thinklouder.cn/2009/03/compile-python-to-bytecode-and-py2exe/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 07:29:56 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=999</guid>
		<description><![CDATA[因为要在桃园学校的电脑上安装rur-ple，Pockey和Fred翻译了主程序和前三节课程，rur-ple网站的win32安装包没法merge到一起。所以我重新打一个临时的包。
在编译和打包之前需要安装下面的包：
Python2.5
http://www.python.org/download/releases/
wxPython 2.6
http://www.wxpython.org/download.php#binaries
http://sourceforge.net/projects/wxpython/files/wxPython/2.6.4.0/wxPython2.6-win32-unicode-2.6.4.0-py25.exe/download
py2exe 0.6.5 &#8211; 第一个支持Python2.5的版本
http://www.py2exe.org/
编译程序
参照：http://effbot.org/zone/python-compile.htm
进入要编译的python文件所在目录如下。
D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&#62;python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.
&#62;&#62;&#62; import compileall
&#62;&#62;&#62; compileall.compile_dir(&#8220;./&#8221;, force=1)
编译完成后运行一下，确认正常。
D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&#62;rur_start.py
貌似运行起来快了一点。
将程序打包成exe
参照：http://www.py2exe.org/index.cgi/Tutorial
添加setup.py文件如下 (http://www.py2exe.org/index.cgi/Tutorial?action=AttachFile&#38;do=view&#38;target=setup.py)
from distutils.core import setup
import py2exe
setup(console=['rur_start.py'])
然后执行
D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&#62;python setup.py py2exe
运行exe程序试试
D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&#62;.\dist\rur_start.exe
成功。
安装包
另外我简单的将编译好的文件用7zip打成自解压程序。
注：
尽量保证依赖的库版本低一些，方便一些安装Windows 2000的电脑使用。
]]></description>
			<content:encoded><![CDATA[<p>因为要在桃园学校的电脑上安装rur-ple，Pockey和Fred翻译了主程序和前三节课程，rur-ple网站的win32安装包没法merge到一起。所以我重新打一个临时的包。</p>
<p>在编译和打包之前需要安装下面的包：</p>
<blockquote><p>Python2.5<br />
<a href="http://www.python.org/download/releases/">http://www.python.org/download/releases/</a></p>
<p>wxPython 2.6<br />
<a href="http://www.wxpython.org/download.php#binaries">http://www.wxpython.org/download.php#binaries</a><br />
<a href="http://sourceforge.net/projects/wxpython/files/wxPython/2.6.4.0/wxPython2.6-win32-unicode-2.6.4.0-py25.exe/download">http://sourceforge.net/projects/wxpython/files/wxPython/2.6.4.0/wxPython2.6-win32-unicode-2.6.4.0-py25.exe/download</a></p>
<p>py2exe 0.6.5 &#8211; 第一个支持Python2.5的版本<br />
<a href="http://www.py2exe.org/">http://www.py2exe.org/</a></p></blockquote>
<h3>编译程序</h3>
<p>参照：<a href="http://effbot.org/zone/python-compile.htm">http://effbot.org/zone/python-compile.htm</a></p>
<p>进入要编译的python文件所在目录如下。</p>
<blockquote><p>D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&gt;python<br />
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on<br />
win32<br />
Type &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.<br />
&gt;&gt;&gt; import compileall<br />
&gt;&gt;&gt; compileall.compile_dir(&#8220;./&#8221;, force=1)</p></blockquote>
<p>编译完成后运行一下，确认正常。</p>
<blockquote><p>D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&gt;rur_start.py</p></blockquote>
<p>貌似运行起来快了一点。</p>
<h3>将程序打包成exe</h3>
<p>参照：<a href="http://www.py2exe.org/index.cgi/Tutorial">http://www.py2exe.org/index.cgi/Tutorial</a><br />
添加setup.py文件如下 (<a href="http://www.py2exe.org/index.cgi/Tutorial?action=AttachFile&amp;do=view&amp;target=setup.py">http://www.py2exe.org/index.cgi/Tutorial?action=AttachFile&amp;do=view&amp;target=setup.py</a>)</p>
<blockquote><p>from distutils.core import setup<br />
import py2exe<br />
setup(console=['rur_start.py'])</p></blockquote>
<p>然后执行</p>
<blockquote><p>D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&gt;python setup.py py2exe</p></blockquote>
<p>运行exe程序试试</p>
<blockquote><p>D:\sunlw\projects\ygclub\teaching\rurple1.0rc3&gt;.\dist\rur_start.exe</p></blockquote>
<p>成功。</p>
<h3><del datetime="2009-10-22T19:20:32+00:00">安装包</del></h3>
<p><del datetime="2009-10-22T19:20:32+00:00">另外我简单的将编译好的文件用<a href="http://www.7-zip.org/">7zip</a>打成自解压程序。</del></p>
<p>注：<br />
尽量保证依赖的库版本低一些，方便一些安装Windows 2000的电脑使用。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/03/compile-python-to-bytecode-and-py2exe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux教育笔记本</title>
		<link>http://thinklouder.cn/2009/03/education-linux-laptop/</link>
		<comments>http://thinklouder.cn/2009/03/education-linux-laptop/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 07:28:51 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[kgeographic]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rur-ple]]></category>
		<category><![CDATA[开放式教育]]></category>
		<category><![CDATA[开源软件]]></category>
		<category><![CDATA[打工子弟学校]]></category>
		<category><![CDATA[教育笔记本]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=986</guid>
		<description><![CDATA[先前在BLUG认识了pockey，了解到一些关于她所在团队Gdium的一些情况。于是去了一下他们的公司（也是BLUG的总部）聊了很多。3月7日，在众阳光志愿者、Gdium团队的共同努力下，我们在朝阳区崔各庄实验学校（非公立，非政府承认）展开了一次教育笔记本体验活动（召集贴，总结贴）。
总结如下：
有5个三年级的孩子，和4个的五年级的孩子参加了计划中的项目。

包括：
1) ”我明白了“ GCompris 数学、英文生词、打字、用鼠标等练习（初学者也可以应用的）
2) 一个关于地里的简单练习（就是在地图上找出国内不同城市的位置配对）
3）机器人游戏（输入简单的键来控制机器人的方向）
4）怎么用计算机录像 与 怎么用简单的绘画工具来绘画

不过能明显看出，孩子们最感兴趣的是电脑中的游戏，如泡泡龙。孩子天性嘛！
但我们应该让他们知道可以利用电脑做很多其他的事情。
值得一提的是，逻辑发展这个环节，虽然给定的机器人没有向右转的功能。
但大部分五年级的孩子都能很快的想到机器人“左转”三次就等于“右转”一次。
有的五年纪的孩子能理解给出的三个英文命令的中文意思：“前进“、“左转“和“停止“。
一个五年级的孩子最后成功的用程序画出了一个正方形。
然后这个孩子负责教了其他几个孩子写这个程序，还积极的演示给来参观的志愿者看。
pockey给三位崔各庄的老师介绍了“开放教育”的一系列内容。
随后这几位老师和pockey、浮游和fredthered等同学聊了好一阵子。
我觉得老师对这种体验活动都很接受和欢迎。
朱力安演示了一下教师终端控制学生电脑的功能。很好很强大～
播放了准备的用开源软件制作的动画片，投影到黑板上，孩子们很开心的以此为背景玩手影游戏。
去看了一下崔各庄的机房，比桃园学校好一些，机器多一些。刚配置的这匹二手电脑，看起来还不错。
据说还要安装网络。
最后几个孩子还问我们下周会不会来。我说回头来把今天用的软件拷给他们，或者装到学校的机器上让他们用。
现在已经确定下周六(2009年3月14日)在桃园学校再办一次体验活动，
番茄JJ建议之后在汇蕾学校也办一次。
因为崔各庄实验学校的校长今天不在，所以下周六还会再去一次崔各庄。
=====
一直以来大家在讨论Linux以及开源软件与我们所熟知的MS Windows世界的异同。很多朋友在尝试之后发现，从功能上确实可以互相替代，但最后因为习惯，游戏支持，办公软件或者因为企业部署成本的原因又回到Windows上。这种争论还会继续下去。
但从这次活动我们可以看到，对于孩子来说用什么软件不是很重要。他们也没怎么想过这是运行在什么操作系统上，运行的是什么软件，他们只看到了实质的内容：控制机器人，或者好玩的游戏。鼠标点击就可以开启一个游戏或者开启一个文字处理的界面。
先前还曾担心，让孩子们学习python编写的机器人小游戏（rur-ple），他们会觉着陌生乏味而没法继续下去。但实际的反应却超出预期。
对于孩子们的教育方式，我觉着还需要再想想，再调整。
不过无论如何，so fay so good!
]]></description>
			<content:encoded><![CDATA[<p>先前在<a href="http://www.beijinglug.org">BLUG</a>认识了pockey，了解到一些关于她所在团队<a href="http://www.gdium.com">Gdium</a>的一些情况。于是去了一下他们的公司（也是BLUG的总部）聊了很多。3月7日，在众<a href="http://www.ygclub.org">阳光志愿者</a>、<a href="http://www.gdium.com">Gdium团队</a>的共同努力下，我们在朝阳区崔各庄实验学校（非公立，非政府承认）展开了一次教育笔记本体验活动（<a href="http://www.ygclub.org/bbs/viewthread.php?tid=2015">召集贴</a>，<a href="http://www.ygclub.org/bbs/viewthread.php?tid=2026">总结贴</a>）。</p>
<p>总结如下：</p>
<div id="postmessage_12674" class="t_msgfont">有5个三年级的孩子，和4个的五年级的孩子参加了计划中的项目。</p>
<div class="quote">
<blockquote><p>包括：<br />
1) ”我明白了“ <a href="http://gcompris.net/">GCompris </a>数学、英文生词、打字、用鼠标等练习（初学者也可以应用的）<br />
2) 一个关于<a href="http://kgeography.berlios.de/">地里</a>的简单练习（就是在地图上找出国内不同城市的位置配对）<br />
3）<a href="http://rur-ple.sourceforge.net/">机器人游戏</a>（输入简单的键来控制机器人的方向）<br />
4）怎么用计算机录像 与 怎么用简单的绘画工具来绘画</p></blockquote>
</div>
<p>不过能明显看出，孩子们最感兴趣的是电脑中的游戏，如泡泡龙。孩子天性嘛！<br />
但我们应该让他们知道可以利用电脑做很多其他的事情。</p>
<p>值得一提的是，逻辑发展这个环节，虽然给定的机器人没有向右转的功能。<br />
但大部分五年级的孩子都能很快的想到机器人“左转”三次就等于“右转”一次。<br />
有的五年纪的孩子能理解给出的三个英文命令的中文意思：“前进“、“左转“和“停止“。<br />
一个五年级的孩子最后成功的用程序画出了一个正方形。<br />
然后这个孩子负责教了其他几个孩子写这个程序，还积极的演示给来参观的<span class="t_tag" onclick="tagshow(event)">志愿者</span>看。</p>
<p>pockey给三位崔各庄的老师介绍了“开放教育”的一系列内容。<br />
随后这几位老师和pockey、浮游和fredthered等同学聊了好一阵子。<br />
我觉得老师对这种体验<span class="t_tag" onclick="tagshow(event)">活动</span>都很接受和欢迎。</p>
<p>朱力安演示了一下教师终端控制学生电脑的功能。很好很强大～<br />
播放了准备的用开源软件制作的动画片，投影到黑板上，孩子们很开心的以此为背景玩手影游戏。</p>
<p>去看了一下崔各庄的机房，比<span class="t_tag" onclick="tagshow(event)">桃园学校</span>好一些，机器多一些。刚配置的这匹二手电脑，看起来还不错。<br />
据说还要安装网络。</p>
<p>最后几个孩子还问我们下周会不会来。我说回头来把今天用的软件拷给他们，或者装到学校的机器上让他们用。</p>
<p>现在已经确定下周六(2009年3月14日)在桃园学校再办一次体验活动，<br />
番茄JJ建议之后在汇蕾学校也办一次。<br />
因为崔各庄实验学校的校长今天不在，所以下周六还会再去一次崔各庄。</p></div>
<div class="t_msgfont">=====</div>
<div class="t_msgfont">一直以来大家在讨论Linux以及开源软件与我们所熟知的MS Windows世界的异同。很多朋友在尝试之后发现，从功能上确实可以互相替代，但最后因为习惯，游戏支持，办公软件或者因为企业部署成本的原因又回到Windows上。这种争论还会继续下去。</div>
<div class="t_msgfont">但从这次活动我们可以看到，对于孩子来说用什么软件不是很重要。他们也没怎么想过这是运行在什么操作系统上，运行的是什么软件，他们只看到了实质的内容：控制机器人，或者好玩的游戏。鼠标点击就可以开启一个游戏或者开启一个文字处理的界面。</div>
<div class="t_msgfont">先前还曾担心，让孩子们学习python编写的机器人小游戏（rur-ple），他们会觉着陌生乏味而没法继续下去。但实际的反应却超出预期。</div>
<div class="t_msgfont">对于孩子们的教育方式，我觉着还需要再想想，再调整。</div>
<div class="t_msgfont">不过无论如何，so fay so good!</div>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/03/education-linux-laptop/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>在OpenSUSE11.1下使用WG111v3无线网卡</title>
		<link>http://thinklouder.cn/2009/03/wg111v3-on-opensuse/</link>
		<comments>http://thinklouder.cn/2009/03/wg111v3-on-opensuse/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 18:33:45 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[compat-wireless-2.6]]></category>
		<category><![CDATA[kernel modules]]></category>
		<category><![CDATA[linux wireless]]></category>
		<category><![CDATA[opensuse11.1]]></category>
		<category><![CDATA[wg111]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=974</guid>
		<description><![CDATA[我的USB无线网卡型号是NetGear WG111v3（芯片为RTL8187B），性能不错，长时间使用稍微有点热，但绝对可以接受。
之前一直在Ubuntu8.04下通过ndiswrapper+Windows驱动的方法使用。OpenSUSE11.1的Kernel是 2.6.27.7-9，这个版本内置了rtl8187的驱动。但是有defect，使用一段时间网速会变慢或者dhcp获得了ip却ping不通 router。
suse:/home/sunlw # uname -a
Linux suse 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686 i686 i386 GNU/Linux
我本想同样用ndiswrapper的方式解决，但没能成功。也许我使用方法不对，ndiswrapper的方式NetworkManager或者ifup的形式都找不到wlan0这个设备。
苦恼中发现了下面这个帖子：
http://www.susegeek.com/wireless/rtl8187b-wireless-native-driver-support-in-opensuse-111-kernel-2627/
有几个网友在抱怨与我类似的问题，三楼的网友给了一个linux-wireless邮件列表中的解决方案。
http://osdir.com/ml/linux-wireless/2009-01/msg00713.html
rtl8187驱动的维护者说，目前这个defect已经解决，但是需要几个月才能放入kernel的mainline，即使2.6.29也不会有这个补丁。
需要动手编译一下相关的modules。这个页面有详细说明，作者建议仔细阅读这个页面再进行下一步操作。
http://linuxwireless.org/en/users/Download
简单摘要如下：
到 compat-wireless-2.6的下载目录 http://wireless.kernel.org/download/compat-wireless-2.6/ 下载最新的包。这个包来自wireless-testing.git tree最新的版本，每天更新。（这个目录有防盗链，所以最好直接点击下载&#8230;）
然后，
解压缩
tar jxvf compat-wireless-$(date -I).tar.bz2
编译
cd compat-wireless-$(date -I)
make
安装
sudo make install
卸载之前的模块
sudo make unload
如果想卸载自己编译的版本
sudo make uninstall
因为我需要rtl8187这个模块，所以
modprobe rtl8187
lsmod &#124; grep rtl8187
确认已经加载成功。重启。
使用&#8221;Yast2控制中心&#62;网络设备&#62;网络设置&#8221;重新进行无线网卡的设置。搞定！
因为compact-wireless-2.6不是mainline的版本所以
sunlw@suse:~/Desktop&#62; dmesg &#124; grep rtl
rtl8187: 8187B chip detected. Support is EXPERIMENTAL, and could damage your
phy0: hwaddr 00:1e:2a:af:14:0c, RTL8187BvE V0 [...]]]></description>
			<content:encoded><![CDATA[<p>我的USB无线网卡型号是NetGear WG111v3（芯片为RTL8187B），性能不错，长时间使用稍微有点热，但绝对可以接受。</p>
<p>之前一直在Ubuntu8.04下通过<a href="http://www.tuxmagazine.com/node/1000167">ndiswrapper+Windows驱动</a>的方法使用。OpenSUSE11.1的Kernel是 2.6.27.7-9，这个版本内置了rtl8187的驱动。但是有defect，使用一段时间网速会变慢或者dhcp获得了ip却ping不通 router。</p>
<pre>suse:/home/sunlw # uname -a
Linux suse 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686 i686 i386 GNU/Linux</pre>
<p>我本想同样用ndiswrapper的方式解决，但没能成功。也许我使用方法不对，ndiswrapper的方式NetworkManager或者ifup的形式都找不到wlan0这个设备。</p>
<p>苦恼中发现了下面这个帖子：</p>
<p><a href="http://www.susegeek.com/wireless/rtl8187b-wireless-native-driver-support-in-opensuse-111-kernel-2627/">http://www.susegeek.com/wireless/rtl8187b-wireless-native-driver-support-in-opensuse-111-kernel-2627/</a></p>
<p>有几个网友在抱怨与我类似的问题，三楼的网友给了一个linux-wireless邮件列表中的解决方案。</p>
<p><a href="http://osdir.com/ml/linux-wireless/2009-01/msg00713.html">http://osdir.com/ml/linux-wireless/2009-01/msg00713.html</a></p>
<p>rtl8187驱动的维护者说，目前这个defect已经解决，但是需要几个月才能放入kernel的mainline，即使2.6.29也不会有这个补丁。</p>
<p>需要动手编译一下相关的modules。这个页面有详细说明，作者建议仔细阅读这个页面再进行下一步操作。</p>
<p><a href="http://linuxwireless.org/en/users/Download">http://linuxwireless.org/en/users/Download</a></p>
<p>简单摘要如下：</p>
<p>到 compat-wireless-2.6的下载目录 http://wireless.kernel.org/download/compat-wireless-2.6/ 下载最新的包。这个包来自wireless-testing.git tree最新的版本，每天更新。（这个目录有防盗链，所以最好直接点击下载&#8230;）</p>
<p>然后，</p>
<p>解压缩</p>
<pre>tar jxvf compat-wireless-$(date -I).tar.bz2</pre>
<p>编译</p>
<pre>cd compat-wireless-$(date -I)
make</pre>
<p>安装</p>
<pre>sudo make install</pre>
<p>卸载之前的模块</p>
<pre>sudo make unload</pre>
<p>如果想卸载自己编译的版本</p>
<pre>sudo make uninstall</pre>
<p>因为我需要rtl8187这个模块，所以</p>
<pre>modprobe rtl8187
lsmod | grep rtl8187</pre>
<p>确认已经加载成功。重启。<br />
使用&#8221;Yast2控制中心&gt;网络设备&gt;网络设置&#8221;重新进行无线网卡的设置。搞定！</p>
<p>因为compact-wireless-2.6不是mainline的版本所以</p>
<pre>sunlw@suse:~/Desktop&gt; dmesg | grep rtl
rtl8187: 8187B chip detected. Support is EXPERIMENTAL, and could damage your
phy0: hwaddr 00:1e:2a:af:14:0c, RTL8187BvE V0 + rtl8225z2
usbcore: registered new interface driver rtl8187</pre>
<p>PS：OpenSUSE里NetworkManager和ifup形式的网络管理只能二选一，回头找一个network monitor放在panel里。</p>
<p>PS：我在Ubuntu下编译了整套的monodevelop，但是有点麻烦，需要逐个安装依赖，并逐个编译cil的wrapper包，然后才能编译一个功能较为完整的monodevelop。装一个OpenSUSE11.1是为了直接使用编译好的<a href="http://monodevelop.com/Download_-_Unstable">Unstable版</a>。但好像最近也有for Debian的deb包了，不知道是不是于同步的。</p>
<p>PS: OpenSUSE下编译内核模块需要安装的工具有gcc, automake, autoconf, kernel-source, kernel-syms这些包在安装DVD中都有。<br />
Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/03/wg111v3-on-opensuse/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>.NET类的成员变量初始化与构造函数执行的顺序</title>
		<link>http://thinklouder.cn/2009/02/types-and-initialization/</link>
		<comments>http://thinklouder.cn/2009/02/types-and-initialization/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 10:27:09 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=926</guid>
		<description><![CDATA[.NET类的成员变量初始化与构造函数执行的顺序是怎样的呢？可以通过下面的测试得出。


namespace MSIL.Tests
&#123;
    public class BaseType
    &#123;
        string field = Helper.WriteLine&#40;&#34;base type instance field&#34;&#41;;
        static string staticField = Helper.WriteLine&#40;&#34;base type static field&#34;&#41;;
&#160;
        static BaseType&#40;&#41;
      [...]]]></description>
			<content:encoded><![CDATA[<p>.NET类的成员变量初始化与构造函数执行的顺序是怎样的呢？可以通过下面的测试得出。</p>
<p />

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">namespace</span> MSIL.<span style="color: #0000FF;">Tests</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> BaseType
    <span style="color: #000000;">&#123;</span>
        <span style="color: #FF0000;">string</span> field <span style="color: #008000;">=</span> Helper.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;base type instance field&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">string</span> staticField <span style="color: #008000;">=</span> Helper.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;base type static field&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF;">static</span> BaseType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;base type cctor&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> BaseType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;base type ctor&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> DerivedType <span style="color: #008000;">:</span> BaseType
    <span style="color: #000000;">&#123;</span>
        <span style="color: #FF0000;">string</span> field <span style="color: #008000;">=</span> Helper.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;derived type instance field&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">string</span> staticField <span style="color: #008000;">=</span> Helper.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;derived type static field&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF;">static</span> DerivedType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;derived type cctor&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> DerivedType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;derived type ctor&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> Helper
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">string</span> WriteLine<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> info<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span>info<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">return</span> info<span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #000000;">&#91;</span>TestFixture<span style="color: #000000;">&#93;</span>
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> BaseTypeTestFixture
    <span style="color: #000000;">&#123;</span>
        <span style="color: #000000;">&#91;</span>Test<span style="color: #000000;">&#93;</span>
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> TestNewDerivedType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            var obj <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> DerivedType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p />
在执行了<code>TestNewDerivedType</code>这个用例后会在输出中显示如下结果:</p>
<p />
<pre>derived type static field
derived type cctor
derived type instance field
base type static field
base type cctor
base type instance field
base type ctor
derived type ctor</pre>
<p />
可以得出其顺序是：</p>
<ol>
<li>派生类静态成员变量</li>
<li>派生类静态构造函数</li>
<li>派生类实例成员变量</li>
<li>基类静态成员变量</li>
<li>基类静态构造函数</li>
<li>基类实例成员变量</li>
<li>基类实例构造函数</li>
<li>派生类实例构造函数</li>
</ol>
<p />
实际上在这个过程中一直到System.Object的构造函数都会被执行。</p>
<p>另见<br />
<em><a href="http://www.amazon.com/Essential-NET-Language-Microsoft-Development/dp/0201734117">Essential .NET Volume 1: The Common Language Runtime</a></em> Page 60 Types and Initialization</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/02/types-and-initialization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>什么是PrivateImplementationDetails</title>
		<link>http://thinklouder.cn/2009/01/what-is-privateimplementationdetails/</link>
		<comments>http://thinklouder.cn/2009/01/what-is-privateimplementationdetails/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 08:42:51 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[CIL]]></category>
		<category><![CDATA[CLR]]></category>
		<category><![CDATA[compiler optimization]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[PrivateImplementationDetails]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=838</guid>
		<description><![CDATA[解析一个.NET程序集时发现了一段&#60;PrivateImplementationDetails&#62;{A_GUID}模样的代码，这是.NET编译器对某些指令做得优化，经分析会在如下情况下产生。
优化数组创建

var int1 = new&#91;&#93; &#123; 1, 2, 3, 4, 5, 6 &#125;;

在解析上面的代码时，发现其产生了一些由编译器控制的IL代码

IL_0008:  ldc.i4.6
IL_0009:  newarr     &#91;mscorlib&#93;System.Int32
IL_000e:  dup
IL_000f:  ldtoken    field valuetype '&#60;PrivateImplementationDetails&#62;{393AE015-A550-4A61-9BFF-186AFB6A4D12}'/'__StaticArrayInitTypeSize=24' '&#60;PrivateImplementationDetails&#62;{393AE015-A550-4A61-9BFF-186AFB6A4D12}'::'$$method0x60000f8-1'
IL_0014:  call       void &#91;mscorlib&#93;System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray&#40;class &#91;mscorlib&#93;System.Array, valuetype &#91;mscorlib&#93;System.RuntimeFieldHandle&#41;
IL_0019:  stloc.0

如果没有使用初始化器

var int1 = new int&#91;6&#93;;

生成的IL代码如下

IL_0008:  ldc.i4.6
IL_0009:  newarr     &#91;mscorlib&#93;System.Int32
IL_000e:  stloc.0

上面是创建值类型数组的情况，如果是引用类型的数组呢？

var obj1 = new object&#91;3&#93;;
var obj2 = new&#91;&#93; &#123;new object&#40;&#41;, &#34;test&#34;, 1&#125;;

生成的IL代码如下

IL_0001:  [...]]]></description>
			<content:encoded><![CDATA[<p>解析一个.NET程序集时发现了一段<em>&lt;PrivateImplementationDetails&gt;{A_GUID}</em>模样的代码，这是.NET编译器对某些指令做得优化，经分析会在如下情况下产生。</p>
<h4>优化数组创建</h4>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var int1 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #FF0000;">1</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">6</span> <span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span></pre></div></div>

<p>在解析上面的代码时，发现其产生了一些由编译器控制的IL代码</p>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;">IL_0008<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>6
IL_0009<span style="color: #339933;">:</span>  newarr     <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Int32
IL_000e<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
IL_000f<span style="color: #339933;">:</span>  ldtoken    field valuetype <span style="color: #7f007f;">'&lt;PrivateImplementationDetails&gt;{393AE015-A550-4A61-9BFF-186AFB6A4D12}'</span><span style="color: #339933;">/</span><span style="color: #7f007f;">'__StaticArrayInitTypeSize=24'</span> <span style="color: #7f007f;">'&lt;PrivateImplementationDetails&gt;{393AE015-A550-4A61-9BFF-186AFB6A4D12}'</span><span style="color: #339933;">::</span><span style="color: #7f007f;">'$$method0x60000f8-1'</span>
IL_0014<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       void <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Runtime<span style="color: #339933;">.</span>CompilerServices<span style="color: #339933;">.</span>RuntimeHelpers<span style="color: #339933;">::</span>InitializeArray<span style="color: #009900; font-weight: bold;">&#40;</span>class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Array<span style="color: #339933;">,</span> valuetype <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>RuntimeFieldHandle<span style="color: #009900; font-weight: bold;">&#41;</span>
IL_0019<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>0</pre></div></div>

<p>如果没有使用初始化器</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var int1 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">6</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span></pre></div></div>

<p>生成的IL代码如下</p>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;">IL_0008<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>6
IL_0009<span style="color: #339933;">:</span>  newarr     <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Int32
IL_000e<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>0</pre></div></div>

<p>上面是创建值类型数组的情况，如果是引用类型的数组呢？</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">var obj1 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">object</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">3</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
var obj2 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span><span style="color: #008000;">new</span> <span style="color: #FF0000;">object</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, <span style="color: #666666;">&quot;test&quot;</span>, <span style="color: #FF0000;">1</span><span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span></pre></div></div>

<p>生成的IL代码如下</p>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;">IL_0001<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>3
IL_0002<span style="color: #339933;">:</span>  newarr     <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Object
IL_0007<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>0
IL_0008<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>3
IL_0009<span style="color: #339933;">:</span>  newarr     <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Object
IL_000e<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>2
IL_000f<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>2
IL_0010<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>0
IL_0011<span style="color: #339933;">:</span>  newobj     instance void <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Object<span style="color: #339933;">::.</span>ctor<span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #009900; font-weight: bold;">&#41;</span>
IL_0016<span style="color: #339933;">:</span>  stelem<span style="color: #339933;">.</span>ref
IL_0017<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>2
IL_0018<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>1
IL_0019<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;test&quot;</span>
IL_001e<span style="color: #339933;">:</span>  stelem<span style="color: #339933;">.</span>ref
IL_001f<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>2
IL_0020<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>2
IL_0021<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>1
IL_0022<span style="color: #339933;">:</span>  box        <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Int32
IL_0027<span style="color: #339933;">:</span>  stelem<span style="color: #339933;">.</span>ref
IL_0028<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>2
IL_0029<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>1</pre></div></div>

<p>从下图可以看到，在产生的.NET程序集中有一个&lt;PrivateImplementationDetails&gt;开头的Module</p>
<p><a href="http://thinklouder.cn/wp-content/uploads/2009/01/privateimplementationdetails.png"><img src="http://thinklouder.cn/wp-content/uploads/2009/01/privateimplementationdetails-273x300.png" alt="PrivateImplementationDetails" title="PrivateImplementationDetails" width="273" height="300" class="alignright size-medium wp-image-875" /></a></p>
<p>&lt;PrivateImplementationDetails&gt;{0BAF451E-34D3-4B3B-8567-B578D84A6965}是这个编译器产生的Module的名字，{0BAF451E-34D3-4B3B-8567-B578D84A6965}是这个dll的MVID(<a href="http://msdn.microsoft.com/en-us/library/system.reflection.module.moduleversionid.aspx">Module Version Identifier</a>)。</p>
<p>那么为什么要通过调用System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray这个静态方法来初始化数组呢？通过这位<a href="http://bartdesmet.net/blogs/bart/default.aspx">同学</a>的<a href="http://bartdesmet.net/blogs/bart/archive/2008/08/21/how-c-array-initializers-work.aspx">试验</a>可以得出结论这是为提高效率而做出的编译时优化。</p>
<p>那什么情况下.NET编译器会产生PrivateImplementationDetails这种机制呢，我还没找到一个完整的列表。除数组外我还发现大的switch表也会产生PrivateImplementationDetails，并简单的试出了启用这种机制的case数量的临界值。</p>
<h4>优化case比较多的switch</h4>
<p>在代码中加入两个方法SwitchWith6Cases()和SwitchWith7Cases()</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> SwitchWith6Cases<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    var param <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;a&quot;</span><span style="color: #008000;">;</span>
    <span style="color: #0600FF;">switch</span> <span style="color: #000000;">&#40;</span>param<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;a&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;b&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;c&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;d&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;e&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;f&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> SwitchWith7Cases<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    var param <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;a&quot;</span><span style="color: #008000;">;</span>
    <span style="color: #0600FF;">switch</span> <span style="color: #000000;">&#40;</span>param<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;a&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;b&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;c&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;d&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;e&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;f&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">case</span> <span style="color: #666666;">&quot;g&quot;</span><span style="color: #008000;">:</span> break<span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>前者生成的代码如下，基本符合C#代码的逻辑</p>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;"><span style="color: #339933;">.</span>method <span style="color: #000000; font-weight: bold;">public</span> hidebysig instance void  SwitchWith6Cases<span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #009900; font-weight: bold;">&#41;</span> cil managed
<span style="color: #009900; font-weight: bold;">&#123;</span>
  <span style="color: #339933;">//</span> <span style="color: #000000; font-weight: bold;">Code</span> <span style="color: #000000; font-weight: bold;">size</span>       <span style="color: #0000ff;">105</span> <span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #0000ff;">0x69</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  <span style="color: #339933;">.</span>maxstack  <span style="color: #0000ff;">2</span>
  <span style="color: #339933;">.</span>locals init <span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">0</span><span style="color: #009900; font-weight: bold;">&#93;</span> string param<span style="color: #339933;">,</span>
           <span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#93;</span> string <span style="color: #00007f;">CS</span>$<span style="color: #0000ff;">4</span>$<span style="color: #0000ff;">0000</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0000<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">nop</span>
  IL_0001<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;a&quot;</span>
  IL_0006<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>0
  IL_0007<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>0
  IL_0008<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>1
  IL_0009<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_000a<span style="color: #339933;">:</span>  brfalse<span style="color: #339933;">.</span>s  IL_0068
  IL_000c<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_000d<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;a&quot;</span>
  IL_0012<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       bool <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>String<span style="color: #339933;">::</span>op_Equality<span style="color: #009900; font-weight: bold;">&#40;</span>string<span style="color: #339933;">,</span> string<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0017<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_005c
  IL_0019<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_001a<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;b&quot;</span>
  IL_001f<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       bool <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>String<span style="color: #339933;">::</span>op_Equality<span style="color: #009900; font-weight: bold;">&#40;</span>string<span style="color: #339933;">,</span> string<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0024<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_005e
  IL_0026<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_0027<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;c&quot;</span>
  IL_002c<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       bool <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>String<span style="color: #339933;">::</span>op_Equality<span style="color: #009900; font-weight: bold;">&#40;</span>string<span style="color: #339933;">,</span> string<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0031<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_0060
  IL_0033<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_0034<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;d&quot;</span>
  IL_0039<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       bool <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>String<span style="color: #339933;">::</span>op_Equality<span style="color: #009900; font-weight: bold;">&#40;</span>string<span style="color: #339933;">,</span> string<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_003e<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_0062
  IL_0040<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_0041<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;e&quot;</span>
  IL_0046<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       bool <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>String<span style="color: #339933;">::</span>op_Equality<span style="color: #009900; font-weight: bold;">&#40;</span>string<span style="color: #339933;">,</span> string<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_004b<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_0064
  IL_004d<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_004e<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;f&quot;</span>
  IL_0053<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       bool <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>String<span style="color: #339933;">::</span>op_Equality<span style="color: #009900; font-weight: bold;">&#40;</span>string<span style="color: #339933;">,</span> string<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0058<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_0066
  IL_005a<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_005c<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_005e<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_0060<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_0062<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_0064<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_0066<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_0068
  IL_0068<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">ret</span>
<span style="color: #009900; font-weight: bold;">&#125;</span> <span style="color: #339933;">//</span> <span style="color: #000000; font-weight: bold;">end</span> of method SwitchSample<span style="color: #339933;">::</span>SwitchWith6Cases</pre></div></div>

<p>而当switch有超过6个case的时候，所生成的IL代码如下。</p>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;"><span style="color: #339933;">.</span>method <span style="color: #000000; font-weight: bold;">public</span> hidebysig instance void  SwitchWith7Cases<span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #009900; font-weight: bold;">&#41;</span> cil managed
<span style="color: #009900; font-weight: bold;">&#123;</span>
  <span style="color: #339933;">//</span> <span style="color: #000000; font-weight: bold;">Code</span> <span style="color: #000000; font-weight: bold;">size</span>       <span style="color: #0000ff;">189</span> <span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #0000ff;">0xbd</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  <span style="color: #339933;">.</span>maxstack  <span style="color: #0000ff;">4</span>
  <span style="color: #339933;">.</span>locals init <span style="color: #009900; font-weight: bold;">&#40;</span><span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">0</span><span style="color: #009900; font-weight: bold;">&#93;</span> string param<span style="color: #339933;">,</span>
           <span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#93;</span> string <span style="color: #00007f;">CS</span>$<span style="color: #0000ff;">4</span>$<span style="color: #0000ff;">0000</span><span style="color: #339933;">,</span>
           <span style="color: #009900; font-weight: bold;">&#91;</span><span style="color: #0000ff;">2</span><span style="color: #009900; font-weight: bold;">&#93;</span> int32 <span style="color: #00007f;">CS</span>$<span style="color: #0000ff;">0</span>$<span style="color: #0000ff;">0001</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0000<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">nop</span>
  IL_0001<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;a&quot;</span>
  IL_0006<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>0
  IL_0007<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>0
  IL_0008<span style="color: #339933;">:</span>  stloc<span style="color: #339933;">.</span>1
  IL_0009<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_000a<span style="color: #339933;">:</span>  brfalse    IL_00bc
  IL_000f<span style="color: #339933;">:</span>  volatile<span style="color: #339933;">.</span>
  IL_0011<span style="color: #339933;">:</span>  ldsfld     class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt; <span style="color: #7f007f;">'&lt;PrivateImplementationDetails&gt;{E6F6F304-0E96-4AD2-AF7A-7D08372A387B}'</span><span style="color: #339933;">::</span><span style="color: #7f007f;">'$$method0x60000fd-1'</span>
  IL_0016<span style="color: #339933;">:</span>  brtrue<span style="color: #339933;">.</span>s   IL_0079
  IL_0018<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>7
  IL_0019<span style="color: #339933;">:</span>  newobj     instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::.</span>ctor<span style="color: #009900; font-weight: bold;">&#40;</span>int32<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_001e<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_001f<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;a&quot;</span>
  IL_0024<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>0
  IL_0025<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_002a<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_002b<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;b&quot;</span>
  IL_0030<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>1
  IL_0031<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0036<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_0037<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;c&quot;</span>
  IL_003c<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>2
  IL_003d<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0042<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_0043<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;d&quot;</span>
  IL_0048<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>3
  IL_0049<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_004e<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_004f<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;e&quot;</span>
  IL_0054<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>4
  IL_0055<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_005a<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_005b<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;f&quot;</span>
  IL_0060<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>5
  IL_0061<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0066<span style="color: #339933;">:</span>  <span style="color: #000000; font-weight: bold;">dup</span>
  IL_0067<span style="color: #339933;">:</span>  ldstr      <span style="color: #7f007f;">&quot;g&quot;</span>
  IL_006c<span style="color: #339933;">:</span>  ldc<span style="color: #339933;">.</span>i4<span style="color: #339933;">.</span>6
  IL_006d<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance void class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span><span style="color: #00007f; font-weight: bold;">Add</span><span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span> !<span style="color: #0000ff;">1</span><span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0072<span style="color: #339933;">:</span>  volatile<span style="color: #339933;">.</span>
  IL_0074<span style="color: #339933;">:</span>  stsfld     class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt; <span style="color: #7f007f;">'&lt;PrivateImplementationDetails&gt;{E6F6F304-0E96-4AD2-AF7A-7D08372A387B}'</span><span style="color: #339933;">::</span><span style="color: #7f007f;">'$$method0x60000fd-1'</span>
  IL_0079<span style="color: #339933;">:</span>  volatile<span style="color: #339933;">.</span>
  IL_007b<span style="color: #339933;">:</span>  ldsfld     class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt; <span style="color: #7f007f;">'&lt;PrivateImplementationDetails&gt;{E6F6F304-0E96-4AD2-AF7A-7D08372A387B}'</span><span style="color: #339933;">::</span><span style="color: #7f007f;">'$$method0x60000fd-1'</span>
  IL_0080<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>1
  IL_0081<span style="color: #339933;">:</span>  ldloca<span style="color: #339933;">.</span>s   <span style="color: #00007f;">CS</span>$<span style="color: #0000ff;">0</span>$<span style="color: #0000ff;">0001</span>
  IL_0083<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">call</span>       instance bool class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt;<span style="color: #339933;">::</span>TryGetValue<span style="color: #009900; font-weight: bold;">&#40;</span>!<span style="color: #0000ff;">0</span><span style="color: #339933;">,</span>
                                                                                                                        !<span style="color: #0000ff;">1</span>&amp;<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_0088<span style="color: #339933;">:</span>  brfalse<span style="color: #339933;">.</span>s  IL_00bc
  IL_008a<span style="color: #339933;">:</span>  ldloc<span style="color: #339933;">.</span>2
  IL_008b<span style="color: #339933;">:</span>  switch     <span style="color: #009900; font-weight: bold;">&#40;</span> 
                        IL_00ae<span style="color: #339933;">,</span>
                        IL_00b0<span style="color: #339933;">,</span>
                        IL_00b2<span style="color: #339933;">,</span>
                        IL_00b4<span style="color: #339933;">,</span>
                        IL_00b6<span style="color: #339933;">,</span>
                        IL_00b8<span style="color: #339933;">,</span>
                        IL_00ba<span style="color: #009900; font-weight: bold;">&#41;</span>
  IL_00ac<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00ae<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00b0<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00b2<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00b4<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00b6<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00b8<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00ba<span style="color: #339933;">:</span>  br<span style="color: #339933;">.</span>s       IL_00bc
  IL_00bc<span style="color: #339933;">:</span>  <span style="color: #00007f; font-weight: bold;">ret</span>
<span style="color: #009900; font-weight: bold;">&#125;</span> <span style="color: #339933;">//</span> <span style="color: #000000; font-weight: bold;">end</span> of method SwitchSample<span style="color: #339933;">::</span>SwitchWith7Cases</pre></div></div>

<p>这时候在&lt;PrivateImplementationDetails&gt;*模块中会有如下的一个叫做$$method0&#215;60000fd-1的静态字段，辅助switch的case匹配。</p>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;"><span style="color: #339933;">.</span>field static assembly class <span style="color: #009900; font-weight: bold;">&#91;</span>mscorlib<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Collections<span style="color: #339933;">.</span>Generic<span style="color: #339933;">.</span>Dictionary`<span style="color: #0000ff;">2</span>&lt;string<span style="color: #339933;">,</span>int32&gt; <span style="color: #7f007f;">'$$method0x60000fd-1'</span></pre></div></div>

<p>通过Dictionary&lt;string,int32&gt;::TryGetValue方法去查找匹配的case。O(1)的效率在case多的情况下比线性O(n)的查找快的多。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/01/what-is-privateimplementationdetails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Conversation with Anders Hejlsberg, by Bill Venners with Bruce Eckel(August 4, 2003)</title>
		<link>http://thinklouder.cn/2009/01/conversation-with-anders/</link>
		<comments>http://thinklouder.cn/2009/01/conversation-with-anders/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 09:01:44 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Todo]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ByteCode]]></category>
		<category><![CDATA[CLR]]></category>
		<category><![CDATA[Common Type System]]></category>
		<category><![CDATA[il]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jvm]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=790</guid>
		<description><![CDATA[A Conversation with Anders Hejlsberg,
by Bill Venners with Bruce Eckel
August 4, 2003
These conversation includes 8 parts:
In Part I: The C# Design Process, Hejlsberg discusses the process used by the team that designed C#, and the relative merits of usability studies and good taste in language design.
In Part II: The Trouble with Checked Exceptions, Hejlsberg discusses [...]]]></description>
			<content:encoded><![CDATA[<p>A Conversation with Anders Hejlsberg,<br />
by Bill Venners with Bruce Eckel<br />
August 4, 2003</p>
<p>These conversation includes 8 parts:</p>
<li>In <a href="http://www.artima.com/intv/csdes.html">Part I: The C# Design Process</a>, Hejlsberg discusses the process used by the team that designed C#, and the relative merits of usability studies and good taste in language design.</li>
<li>In <a href="http://www.artima.com/intv/wp-admin/handcuffs.html">Part II: The Trouble with Checked Exceptions</a>, Hejlsberg discusses versionability and scalability issues with checked exceptions.</li>
<li>In <a href="http://www.artima.com/intv/simplexity.html">Part III: Delegates, Components, and Simplexity</a>, Hejlsberg discusses delegates and C#&#8217;s first class treatment of component concepts.</li>
<li>In <a href="http://www.artima.com/intv/nonvirtual.html">Part IV: Versioning, Virtual, and Override</a>, Hejlsberg explains why C# instance methods are non-virtual by default and why programmers must explicitly indicate an override.</li>
<li>In <a href="http://www.artima.com/intv/interop.html">Part V: Contracts and Interoperability</a>, Hejlsberg discusses DLL hell and interface contracts, strong names, and the importance of interoperability.</li>
<li>In <a href="http://www.artima.com/intv/abstract.html">Part VI: Inappropriate Abstractions</a>, Hejlsberg and other members of the C# team discuss the trouble with distributed systems infrastructures that attempt to make the network transparent, and object-relational mappings that attempt to make the database invisible.</li>
<li>In <a href="http://www.artima.com/intv/generics.html">Part VII: Generics in C#, Java, and C++</a>, Hejlsberg compares C#&#8217;s generics implementation to Java generics and C++ templates, describes constraints in C# generics, and describes typing as a dial.</li>
<li>In <a href="http://www.artima.com/intv/choicesP.html">Part VIII: CLR Design Choices</a>, Hejlsberg discusses IL instructions, non-virtual methods, unsafe code, value types, and immutables.</li>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2009/01/conversation-with-anders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>从Google Docs发布到Wordpress</title>
		<link>http://thinklouder.cn/2008/12/google-docs-to-wordpress/</link>
		<comments>http://thinklouder.cn/2008/12/google-docs-to-wordpress/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 09:01:43 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=744</guid>
		<description><![CDATA[之前我在Google Docs里维护了几篇技术文档，正想迁移到Wordpress里来。Google Docs原生支持Blogger，按照其一贯作风，也应该直接或间接的支持其他应用。果然，可以通过xmlrpc的方式支持发布到Wordpress。
]]></description>
			<content:encoded><![CDATA[<p>之前我在Google Docs里维护了几篇技术文档，正想迁移到Wordpress里来。Google Docs原生支持Blogger，按照其一贯作风，也应该直接或间接的支持其他应用。果然，可以通过xmlrpc的方式支持<a href="http://www.blogopreneur.com/2006/10/28/google-docs-to-publish-to-wordpress-and-other-engines/">发布到Wordpress</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/google-docs-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Freemind做会议记录，并导出成Wikipedia格式</title>
		<link>http://thinklouder.cn/2008/12/freemind2mediawiki/</link>
		<comments>http://thinklouder.cn/2008/12/freemind2mediawiki/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 08:06:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Freemind]]></category>
		<category><![CDATA[Mindmap]]></category>
		<category><![CDATA[mm2mediawiki]]></category>
		<category><![CDATA[wikipedia]]></category>
		<category><![CDATA[思维导图]]></category>
		<category><![CDATA[维基百科]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/2008/12/729/</guid>
		<description><![CDATA[1. Compile a minutes in freemind like the structure below.

2. You can format your mind map with a default fancy theme (just like the picture
above)
Format &#62; Automatic Layout
3. Export your mind map to a mediawiki markup format.
File &#62; Export &#62; Using XSLT&#8230;
Choose the XSL file in the attachment, and the export file path.
Then click Export.
4. [...]]]></description>
			<content:encoded><![CDATA[<p id="lqhm6" style="margin-bottom: 0.14in;">1. Compile a minutes in freemind like the structure below.</p>
<p><img id="mjax" src="http://docs.google.com/File?id=dc7s8bgw_337d55phpf7_b" alt="" /></p>
<p id="lqhm9" style="margin-bottom: 0.14in;">2. You can format your mind map with a default fancy theme (just like the picture<br />
above)</p>
<p id="lqhm10" style="margin-bottom: 0.14in;"><strong id="lqhm11">Format &gt; Automatic Layout</strong></p>
<p id="lqhm12" style="margin-bottom: 0.14in;">3. Export your mind map to a mediawiki markup format.</p>
<p id="lqhm13" style="margin-bottom: 0.14in;"><strong id="lqhm14">File &gt; Export &gt; Using XSLT&#8230;</strong></p>
<p id="lqhm15" style="margin-bottom: 0.14in;">Choose the XSL file in the attachment, and the export file path.</p>
<p id="lqhm16" style="margin-bottom: 0.14in;">Then click <strong id="lqhm17">Export</strong>.</p>
<p id="lqhm18" style="margin-bottom: 0.14in;">4. Copy the text in the file on your export file path to the editor on mediawiki. Like<br />
below.</p>
<p id="lqhm19" style="margin-bottom: 0.14in;"><img id="lqhm20" src="http://docs.google.com/File?id=dc7s8bgw_335hf9fjsch_b" border="0" alt="" width="650" height="650" align="bottom" /></p>
<p id="lqhm24" style="margin-bottom: 0.14in;">5. Click <strong id="lqhm25">Show Preview</strong> button to see if the page is correct and polish it accordingly.</p>
<p id="lqhm26" style="margin-bottom: 0.14in;"><img id="lqhm27" src="http://docs.google.com/File?id=dc7s8bgw_336wczp2wdq_b" border="0" alt="" width="650" height="660" align="bottom" /></p>
<p id="lqhm28" style="margin-bottom: 0.14in;">Limitation:</p>
<p id="lqhm31" style="margin-bottom: 0.14in;">We only support plain text node in freemind.</p>
<p>Download:</p>
<p><a href="http://code.google.com/p/zhimaowan/  ">http://code.google.com/p/zhimaowan/</a><br />
<a href="http://zhimaowan.googlecode.com/files/mm2mediawiki.xsl">Download directly</a></p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/freemind2mediawiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>单元测试相关视频和播客</title>
		<link>http://thinklouder.cn/2008/12/unit-testing-videos-and-podcasts/</link>
		<comments>http://thinklouder.cn/2008/12/unit-testing-videos-and-podcasts/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 06:16:20 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[stackoverflow]]></category>
		<category><![CDATA[test automation]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Unit Testing]]></category>
		<category><![CDATA[xunit]]></category>
		<category><![CDATA[单元测试]]></category>
		<category><![CDATA[自动化测试]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=718</guid>
		<description><![CDATA[StackOverflow的关于单元测试的讨论中看到了如下资源，列出备查


The Clean Code Talks has some of Miško Heverys lectures at Google. New episodes are posted at the Google Testing Blog as they arrive.
Some of the GTAC 2008 (Google Test Automation Conference 2008) videos are pretty interesting.
Automated Testing Patterns and Smells
Becoming a Software Testing Expert is not really about unit testing, but helps you get [...]]]></description>
			<content:encoded><![CDATA[<p>StackOverflow的关于单元测试的<a href="http://stackoverflow.com/questions/387326/unit-testing-videos-or-pod-casts#388466" target="_blank">讨论</a>中看到了如下资源，列出备查</p>
<blockquote>
<ul>
<li>The <a rel="nofollow" href="http://www.youtube.com/view_play_list?p=BDAB2BA83BB6588E">Clean Code Talks</a> has some of <a rel="nofollow" href="http://misko.hevery.com/">Miško Hevery</a>s lectures at Google. New episodes are posted at the <a rel="nofollow" href="http://googletesting.blogspot.com/">Google Testing Blog</a> as they arrive.</li>
<li>Some of the <a rel="nofollow" href="http://www.youtube.com/view_play_list?p=4E81859265562302">GTAC 2008</a> (Google Test Automation Conference 2008) videos are pretty interesting.</li>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=Pq6LHFM4JvE">Automated Testing Patterns and Smells</a></li>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=3FTwaojNkXw">Becoming a Software Testing Expert</a> is not really about unit testing, but helps you get into the tester mindset</li>
<li><a rel="nofollow" href="http://www.youtube.com/watch?v=aAb7hSCtvGw">How To Design A Good API And Why It Matters</a> briefly touches on testability.</li>
<li>Browsing the <a rel="nofollow" href="http://www.se-radio.net/tags/testing">testing</a> tag on se-radio reveals some interesting podcasts</li>
<li>Check out the videos from the Test track of Öredev 2007 (<a rel="nofollow" href="http://www.oredev.org/toppmeny/video/november13.4.3f1ff754117a0ed3480800013820.html">1</a>, <a rel="nofollow" href="http://www.oredev.org/toppmeny/video/november14.4.3f1ff754117a0ed3480800013882.html">2</a>), I especially liked the &#8216;testable architecture&#8217; one.</li>
<li>The <a rel="nofollow" href="http://www.infoq.com/Testing">Testing</a> sub-site of InfoQ is also worth a visit for more (text, audio, video) resources</li>
</ul>
</blockquote>
<blockquote>
<div class="post-text">
<p>At <a rel="nofollow" href="http://www.dnrtv.com/">Dnr TV</a> there are two episodes with JP Boodhoo, where he gives an introduction to test driven development:</p>
<ul>
<li><a rel="nofollow" href="http://www.dnrtv.com/default.aspx?showNum=10">Test Driven Development with JP Boodhoo, Part 1</a></li>
<li><a rel="nofollow" href="http://www.dnrtv.com/default.aspx?showNum=11">Test Driven Development with JP Boodhoo, Part 2</a></li>
</ul>
<p>If you want to see unit testing and TDD used together with a whole bunch of other agile practices, I would recommend watching the sceencast series <a rel="nofollow" href="http://autumnofagile.net/"><strong>Autumn of Agile</strong></a>. This series shows the development of a fully unit tested application from start to finish.</p>
<p>As for podcasts, check out the following:</p>
<ul>
<li><a rel="nofollow" href="http://polymorphicpodcast.com/shows/bock/">Polymorphic Podcast &#8211; Jason Bock on Unit Testing, Code Coverage &amp; Analysis</a></li>
<li><a rel="nofollow" href="http://perseus.franklins.net/hanselminutes_0031.mp3">Hanselminutes &#8211; Scott Hanselman on Test Driven Development</a></li>
<li><a rel="nofollow" href="http://www.se-radio.net/podcast/2007-10/episode-70-gerard-meszaros-xunit-test-patterns">Software Engineering Radio &#8211; Gerard Meszaros on XUnit Test Patterns</a></li>
</ul>
<p>Since mock objects are a quite important part of unit testing, these podcast episodes might be of interest as well:</p>
<ul>
<li><a rel="nofollow" href="http://www.hanselminutes.com/default.aspx?ShowID=43">Hanselminutes &#8211; Scott Hanselman on Mock Objects</a></li>
<li><a rel="nofollow" href="http://www.dotnetrocks.com/default.aspx?ShowNum=278">Dot Net Rocks &#8211; Eli Lopian on TypeMock.Net</a></li>
<li><a rel="nofollow" href="http://www.dotnetrocks.com/default.aspx?ShowNum=224">Dot Net Rocks &#8211; Oren Eini on RhinoMocks</a></li>
<li><a rel="nofollow" href="http://www.dotnetrocks.com/default.aspx?ShowNum=402">Dot Net Rocks &#8211; Oren Eini on RhinoMocks 3.5</a></li>
</ul>
</div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/unit-testing-videos-and-podcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://perseus.franklins.net/hanselminutes_0031.mp3" length="21179854" type="audio/mpeg" />
		</item>
		<item>
		<title>CIL Programming: Under the Hood of .NET</title>
		<link>http://thinklouder.cn/2008/12/cil-programming-under-the-hood-of-net/</link>
		<comments>http://thinklouder.cn/2008/12/cil-programming-under-the-hood-of-net/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 04:48:26 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Todo]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[CIL]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=621</guid>
		<description><![CDATA[在实现DTE的过程中难以避免的读或写IL，《CIL Programming》这本书给我带来很大帮助。在此记录下一些知识。
堆栈信息基础(Basic Stack Information)
四个数字类型: int32, int64, native int, F
一个对象引用类型: 0
两个指针类型: native int, &#038;
传递参数(Passing Arguments)

.class SimpleType
&#123;
    .method public instance int64 SomeMethod&#40;int32 arg1, float64 arg2,
        class &#91;System.Windows.Forms&#93;System.Windows.Forms.Form thisForm&#41; &#123;&#125;
&#125;

这个例子中
int32
float64
class [System.Windows.Forms]System.Windows.Forms.Form
都是对参数的描述，前两个是primitive type，最后一个是引用类型。
有三个可以用来修饰参数的属性in,out,opt.
in - 调用方(caller)负责将已初始化的变量作为参数传入方法。
out - 被调用方(callee)负责在方法结束之前，将参数设置成正确的类型。
opt - 表示参数是可选的，需用.param 指令(directive)
]]></description>
			<content:encoded><![CDATA[<p>在实现DTE的过程中难以避免的读或写IL，《CIL Programming》这本书给我带来很大帮助。在此记录下一些知识。</p>
<h4>堆栈信息基础(Basic Stack Information)</h4>
<p>四个数字类型: <code>int32, int64, native int, F</code><br />
一个对象引用类型: <code>0</code><br />
两个指针类型: <code>native int, &#038;</code></p>
<h4>传递参数(Passing Arguments)</h4>

<div class="wp_syntax"><div class="code"><pre class="asm" style="font-family:monospace;"><span style="color: #339933;">.</span>class SimpleType
<span style="color: #009900; font-weight: bold;">&#123;</span>
    <span style="color: #339933;">.</span>method <span style="color: #000000; font-weight: bold;">public</span> instance int64 SomeMethod<span style="color: #009900; font-weight: bold;">&#40;</span>int32 arg1<span style="color: #339933;">,</span> float64 arg2<span style="color: #339933;">,</span>
        class <span style="color: #009900; font-weight: bold;">&#91;</span>System<span style="color: #339933;">.</span>Windows<span style="color: #339933;">.</span>Forms<span style="color: #009900; font-weight: bold;">&#93;</span>System<span style="color: #339933;">.</span>Windows<span style="color: #339933;">.</span>Forms<span style="color: #339933;">.</span>Form thisForm<span style="color: #009900; font-weight: bold;">&#41;</span> <span style="color: #009900; font-weight: bold;">&#123;</span><span style="color: #009900; font-weight: bold;">&#125;</span>
<span style="color: #009900; font-weight: bold;">&#125;</span></pre></div></div>

<p>这个例子中<br />
<code>int32</code><br />
<code>float64<code><br />
<code>class [System.Windows.Forms]System.Windows.Forms.Form</code><br />
都是对参数的描述，前两个是primitive type，最后一个是引用类型。</p>
<p>有三个可以用来修饰参数的属性in,out,opt.<br />
<code>in</code> - 调用方(caller)负责将已初始化的变量作为参数传入方法。<br />
<code>out</code> - 被调用方(callee)负责在方法结束之前，将参数设置成正确的类型。<br />
<code>opt</code> - 表示参数是可选的，需用.param 指令(directive)</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/cil-programming-under-the-hood-of-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java与.NET集合框架的比较</title>
		<link>http://thinklouder.cn/2008/12/collection-frameworks-java-vs-dotnet/</link>
		<comments>http://thinklouder.cn/2008/12/collection-frameworks-java-vs-dotnet/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 13:50:08 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C5]]></category>
		<category><![CDATA[generic collection]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=677</guid>
		<description><![CDATA[


 
Java 中的实现


Hash Table
Resizable Array
Balanced Tree
Linked List
Hash Table + Linked List




Interfaces
Set
HashSet
 
TreeSet
 
LinkedHashSet


List
 
ArrayList
 
LinkedList
 


Map
HashMap
 
TreeMap
 
LinkedHashMap



与之对比



 
C5中的实现


Hash Table
Resizable Array
Balanced Tree
Linked List
Hash Table + Linked List




Interfaces
ICollection
HashSet
 
TreeSet
 
HashedLinkedList


IList
 
ArrayList
 
LinkedList
 


IDictionary
HashDictionary
 
TreeDictionary
 
???LinkedHashMap



java.util.Collection&#60;T&#62;对应 C5中的C5.ICollection
C5只读模式的集合
GuardedCollection&#60;T&#62;
GuardedList&#60;T&#62;
GuardedDictionary&#60;K,V&#62;
C5的在线文档，其中有很好的注释讲解各种数据结构。在线版本可能不完整，但很方便。更多信息请参见C5项目主页。
]]></description>
			<content:encoded><![CDATA[<table border="1" width="90%" align="center" summary="C5中对应的功能、接口与实现">
<thead>
<tr>
<th colspan="2" rowspan="2" align="center"> </th>
<th colspan="5">Java 中的实现</th>
</tr>
<tr>
<th>Hash Table</th>
<th>Resizable Array</th>
<th>Balanced Tree</th>
<th>Linked List</th>
<th>Hash Table + Linked List</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="3">Interfaces</th>
<th>Set</th>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashSet.html">HashSet</a></td>
<td> </td>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/TreeSet.html">TreeSet</a></td>
<td> </td>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedHashSet.html">LinkedHashSet</a></td>
</tr>
<tr>
<th>List</th>
<td> </td>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html">ArrayList</a></td>
<td> </td>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedList.html">LinkedList</a></td>
<td> </td>
</tr>
<tr>
<th>Map</th>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.html">HashMap</a></td>
<td> </td>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/TreeMap.html">TreeMap</a></td>
<td> </td>
<td><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedHashMap.html">LinkedHashMap</a></td>
</tr>
</tbody>
</table>
<p style="text-align: center;">与之对比</p>
<table border="1" width="90%" align="center" summary="C5中对应的功能、接口与实现">
<thead>
<tr>
<th colspan="2" rowspan="2" align="center"> </th>
<th colspan="5">C5中的实现</th>
</tr>
<tr>
<th>Hash Table</th>
<th>Resizable Array</th>
<th>Balanced Tree</th>
<th>Linked List</th>
<th>Hash Table + Linked List</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="3">Interfaces</th>
<th>ICollection</th>
<td>HashSet</td>
<td> </td>
<td>TreeSet</td>
<td> </td>
<td>HashedLinkedList</td>
</tr>
<tr>
<th>IList</th>
<td> </td>
<td>ArrayList</td>
<td> </td>
<td>LinkedList</td>
<td> </td>
</tr>
<tr>
<th>IDictionary</th>
<td>HashDictionary</td>
<td> </td>
<td>TreeDictionary</td>
<td> </td>
<td>???LinkedHashMap</td>
</tr>
</tbody>
</table>
<p>java.util.Collection&lt;T&gt;对应 C5中的C5.ICollection</p>
<p>C5只读模式的集合</p>
<pre>GuardedCollection&lt;T&gt;
GuardedList&lt;T&gt;
GuardedDictionary&lt;K,V&gt;</pre>
<p><a href="http://www.itu.dk/research/c5/">C5</a>的<a href="http://www.itu.dk/research/c5/Release1.1/c5doc/frames.htm">在线文档</a>，其中有很好的注释讲解各种数据结构。在线版本可能不完整，但很方便。更多信息请参见C5项目<a href="http://www.itu.dk/research/c5/">主页</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/collection-frameworks-java-vs-dotnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用.NET泛型集合(Generic Collection)</title>
		<link>http://thinklouder.cn/2008/12/generic-collection-in-dotnet/</link>
		<comments>http://thinklouder.cn/2008/12/generic-collection-in-dotnet/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 16:17:06 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Todo]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Language]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=602</guid>
		<description><![CDATA[StackOverflow上看到一个关于泛型类型检查的问题。
定义一个泛型类时，可以使用where关键字对初始化时用做类型参数(type arguments)的类型加以约束(constraints )。如果不符合约束则抛出编译时错误(compile-time error)。
支持的约束有：



约束
描述


where T : struct
类型参数必须是值类型。除了Nullable。


where T : class
类型参数必须是引用类型，包括类、接口、委托和数组。


where T : new()
类型参数必须包含一个公共的无参构造函数，这个约束必须放在所有的其他约束之后。


where T : &#60;base_class_name&#62;
类型参数必须是此基类或者此基类的派生类


where T : &#60;interface_name&#62;
类型参数必须实现指定接口，可以指定多接口，或者泛型接口。


where T : U
T的类型参数必须是U，或者U的类型参数派生类。所谓裸类型约束(naked type constraint)。



.NET泛型支持，泛型参数，泛型接口，泛型方法等。Code Project上一篇讲解.Net泛型集合的文章。
C5项目
CollectionBase应该是Java中的Set，是众多集合的基类。
Java集合与C5集合对比



Java中的
C5中的


java.util.Set
C5.CollectionBase


java.util.HashSet
C5.HashSet


java.util.List
C5.IList


java.util.TreeSet
C5.TreeSet


java.util.Collection
C5.ICollection


java.util.Map
C5.IDictionary



使用1:

Set&#60;Entry&#60;VALUE&#62;&#62; newHead = new HashSet&#60;Entry&#60;VALUE&#62;&#62;&#40;&#41;;

使用2:

Map&#60;KEY, Set&#60;Entry&#60;VALUE&#62;&#62;&#62; head = new HashMap&#60;KEY, Set&#60;Entry&#60;VALUE&#62;&#62;&#62;&#40;&#41;;
for &#40;Collection&#60;Entry&#60;VALUE&#62;&#62; entries : head.values&#40;&#41;&#41;
&#123;
    // ...
&#125;

使用3:

public static &#60;T&#62; List&#60;T&#62; asList&#40;T... a&#41; &#123;
    return new [...]]]></description>
			<content:encoded><![CDATA[<p>StackOverflow上看到一个关于泛型类型检查的<a href="http://stackoverflow.com/questions/8941/generic-type-checking">问题</a>。<br />
定义一个泛型类时，可以使用where关键字对初始化时用做类型参数(type arguments)的类型加以<a href="http://msdn.microsoft.com/en-us/library/d5x73970.aspx">约束</a>(constraints )。如果不符合约束则抛出编译时错误(compile-time error)。<br />
支持的约束有：</p>
<table border="1">
<tbody>
<tr>
<th>约束</th>
<th>描述</th>
</tr>
<tr>
<td>where T : struct</td>
<td>类型参数必须是值类型。除了<a href="http://msdn.microsoft.com/en-us/library/2cf62fcy.aspx">Nullable</a>。</td>
</tr>
<tr>
<td>where T : class</td>
<td>类型参数必须是引用类型，包括类、接口、委托和数组。</td>
</tr>
<tr>
<td>where T : new()</td>
<td>类型参数必须包含一个公共的无参构造函数，这个约束必须放在所有的其他约束之后。</td>
</tr>
<tr>
<td style="white-space: nowrap;">where T : &lt;base_class_name&gt;</td>
<td>类型参数必须是此基类或者此基类的派生类</td>
</tr>
<tr>
<td style="white-space: nowrap;">where T : &lt;interface_name&gt;</td>
<td>类型参数必须实现指定接口，可以指定多接口，或者泛型接口。</td>
</tr>
<tr>
<td>where T : U</td>
<td>T的类型参数必须是U，或者U的类型参数派生类。所谓裸类型约束(naked type constraint)。</td>
</tr>
</tbody>
</table>
<p><a href="http://msdn.microsoft.com/en-us/library/512aeb7t.aspx">.NET泛型</a>支持，泛型参数，泛型接口，泛型方法等。Code Project上一篇讲解.Net泛型集合的<a href="http://www.codeproject.com/KB/recipes/genericset.aspx">文章</a>。</p>
<p>C5项目<br />
CollectionBase应该是Java中的Set，是众多集合的基类。</p>
<p>Java<a href="http://java.sun.com/j2se/1.5.0/docs/guide/collections/overview.html">集合</a>与C5集合对比</p>
<table border="1">
<tbody>
<tr>
<th>Java中的</th>
<th>C5中的</th>
</tr>
<tr>
<td>java.util.Set<T></td>
<td>C5.CollectionBase<T></td>
</tr>
<tr>
<td>java.util.HashSet<T></td>
<td>C5.HashSet<T></td>
</tr>
<tr>
<td>java.util.List<T></td>
<td>C5.IList<T></td>
</tr>
<tr>
<td>java.util.TreeSet<T></td>
<td>C5.TreeSet<T></td>
</tr>
<tr>
<td>java.util.Collection<T></td>
<td>C5.ICollection<T></td>
</tr>
<tr>
<td>java.util.Map<T></td>
<td>C5.IDictionary<K,V></td>
</tr>
</tbody>
</table>
<p>使用1:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Set<span style="color: #339933;">&lt;</span>Entry<span style="color: #339933;">&lt;</span>VALUE<span style="color: #339933;">&gt;&gt;</span> newHead <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HashSet<span style="color: #339933;">&lt;</span>Entry<span style="color: #339933;">&lt;</span>VALUE<span style="color: #339933;">&gt;&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>使用2:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">Map<span style="color: #339933;">&lt;</span>KEY, Set<span style="color: #339933;">&lt;</span>Entry<span style="color: #339933;">&lt;</span>VALUE<span style="color: #339933;">&gt;&gt;&gt;</span> head <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HashMap<span style="color: #339933;">&lt;</span>KEY, Set<span style="color: #339933;">&lt;</span>Entry<span style="color: #339933;">&lt;</span>VALUE<span style="color: #339933;">&gt;&gt;&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>Collection<span style="color: #339933;">&lt;</span>Entry<span style="color: #339933;">&lt;</span>VALUE<span style="color: #339933;">&gt;&gt;</span> entries <span style="color: #339933;">:</span> head.<span style="color: #006633;">values</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// ...</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>使用3:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #339933;">&lt;</span>T<span style="color: #339933;">&gt;</span> List<span style="color: #339933;">&lt;</span>T<span style="color: #339933;">&gt;</span> asList<span style="color: #009900;">&#40;</span>T... <span style="color: #006633;">a</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>T<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p />
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/generic-collection-in-dotnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entity Data Model可能不是那么好</title>
		<link>http://thinklouder.cn/2008/12/entity-data-model-might-not-be-so-good/</link>
		<comments>http://thinklouder.cn/2008/12/entity-data-model-might-not-be-so-good/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 07:23:43 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=515</guid>
		<description><![CDATA[Frans Bouma(.NET平台强大的ORM工具-LLBLGen的作者)写了一篇评论微软Entity Framework的帖子。微软尝试将其推行为一个比ORM更底层的框架。
而Frans对此进行了批判，按此推理，近十年来许多优秀的ORM工具所实现的解决方案似乎在EF的到来之日都变得毫无价值。但实际上某些很常见的功能却被推到了下一个版本中实现。
当年Ajax红火的时候，微软开始鼓吹自己第一个发明了Ajax核心的XHR机制。而微软的Ajax框架却迟迟不能被复杂应用使用，所谓早期Live版的Hotmail也因为用了微软自己的Ajax而变的难用无比。与GMail对比之下，好多Hotmail忠实用户都无法接受而分分换用GMail。
微软似乎是，在尝试发明(Invention)，而不是去创新(Innovention)。如果别人已经有了一些方案，为何不去借鉴学习一下呢？难怪Frans Bouma说，微软需要学习一下如何使用互联网，另外还需要一副近视眼镜。
其实微软也有很多成功的产品，不能其否认其创造性。只是有的时候出于商业目的微软为了推出自己的同类产品，而明示暗示的贬低其他已有产品的价值，这就不好了。从这方面来说制造业的公司(如GE)做的更好更实际一些，发明很重要，创新更重要。毕竟后者才真正产生价值，服务于特定客户的需求，解决其面对的问题，这些才是最重要的。
曾经MSDN Magazine里有一篇介绍TDD的文章，作者大篇幅的介绍了VS中“自动生成测试代码的功能”，但却被一些TDDer狠狠批了一顿。因为TDD的时候生产代码不一定存在呢。这篇文章后来灰溜溜的下了架。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://weblogs.asp.net/fbouma/default.aspx">Frans Bouma</a>(.NET平台强大的<a href="http://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a>工具-<a href="http://www.llblgen.com">LLBLGen</a>的作者)写了一篇评论微软<a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework">Entity Framework</a>的<a href="http://weblogs.asp.net/fbouma/archive/2008/08/20/quot-the-entity-data-model-is-much-bigger-than-just-an-orm-quot-stephen-forte.aspx">帖子</a>。微软尝试将其推行为一个比ORM更底层的框架。<br />
而Frans对此进行了批判，按此推理，近十年来许多优秀的ORM工具所实现的解决方案似乎在EF的到来之日都变得毫无价值。但实际上某些很常见的功能却被推到了下一个版本中实现。<br />
当年Ajax红火的时候，微软开始鼓吹自己第一个发明了Ajax核心的XHR机制。而微软的Ajax框架却迟迟不能被复杂应用使用，所谓早期Live版的Hotmail也因为用了微软自己的Ajax而变的难用无比。与GMail对比之下，好多Hotmail忠实用户都无法接受而分分换用GMail。<br />
微软似乎是，在尝试发明(Invention)，而不是去创新(Innovention)。如果别人已经有了一些方案，为何不去借鉴学习一下呢？难怪Frans Bouma说，微软需要学习一下如何使用互联网，另外还需要一副近视眼镜。<br />
其实微软也有很多成功的产品，不能其否认其创造性。只是有的时候出于商业目的微软为了推出自己的同类产品，而明示暗示的贬低其他已有产品的价值，这就不好了。从这方面来说制造业的公司(如GE)做的更好更实际一些，发明很重要，创新更重要。毕竟后者才真正产生价值，服务于特定客户的需求，解决其面对的问题，这些才是最重要的。<br />
曾经MSDN Magazine里有一篇介绍TDD的文章，作者大篇幅的介绍了VS中“自动生成测试代码的功能”，但却被一些TDDer狠狠批了一顿。因为TDD的时候生产代码不一定存在呢。这篇文章后来灰溜溜的下了架。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/entity-data-model-might-not-be-so-good/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在方法中使用参数数组</title>
		<link>http://thinklouder.cn/2008/12/parameter-array-in-methods/</link>
		<comments>http://thinklouder.cn/2008/12/parameter-array-in-methods/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 18:09:40 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=437</guid>
		<description><![CDATA[如需向方法中传入个数不定的数组参数，可使用params关键字。具体使用方法如下。

private string Concatenate&#40;string separator, params object&#91;&#93; parts&#41;
&#123;
   System.Text.StringBuilder buffer = new System.Text.StringBuilder&#40;&#41;;
   string sepValue = &#34;&#34;;
   foreach &#40;object o in parts&#41;
   &#123;
      buffer.AppendFormat&#40;&#34;{0}{1}&#34;, sepValue, o&#41;;
      sepValue = separator;
   &#125;
   return buffer.ToString&#40;&#41;;
&#125;

在使用时会是如下的写法：

string result = [...]]]></description>
			<content:encoded><![CDATA[<p>如需向方法中传入个数不定的数组参数，可使用params关键字。具体使用方法如下。</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">private</span> <span style="color: #FF0000;">string</span> Concatenate<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> separator, <span style="color: #0600FF;">params</span> <span style="color: #FF0000;">object</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> parts<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
   <span style="color: #000000;">System.<span style="color: #0000FF;">Text</span></span>.<span style="color: #0000FF;">StringBuilder</span> buffer <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Text</span></span>.<span style="color: #0000FF;">StringBuilder</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
   <span style="color: #FF0000;">string</span> sepValue <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
   <span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> o <span style="color: #0600FF;">in</span> parts<span style="color: #000000;">&#41;</span>
   <span style="color: #000000;">&#123;</span>
      buffer.<span style="color: #0000FF;">AppendFormat</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;{0}{1}&quot;</span>, sepValue, o<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
      sepValue <span style="color: #008000;">=</span> separator<span style="color: #008000;">;</span>
   <span style="color: #000000;">&#125;</span>
   <span style="color: #0600FF;">return</span> buffer.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>在使用时会是如下的写法：</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #FF0000;">string</span> result <span style="color: #008000;">=</span> Concatenate<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot; &quot;</span>, <span style="color: #666666;">&quot;test1&quot;</span>, <span style="color: #666666;">&quot;test2&quot;</span>, <span style="color: #666666;">&quot;test3&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/parameter-array-in-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何统计代码行数</title>
		<link>http://thinklouder.cn/2008/12/how-to-count-lines-of-code/</link>
		<comments>http://thinklouder.cn/2008/12/how-to-count-lines-of-code/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 17:26:13 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=427</guid>
		<description><![CDATA[在Javaeye有一些讨论，我认为其中比较简单的方法是用shell脚本：

find . -type f -iname &#34;*.java&#34; -exec cat &#123;&#125; \; &#124; wc -l   

我们通常不需要太精确的信息，这一结果已经足够说明工作量了。
]]></description>
			<content:encoded><![CDATA[<p>在Javaeye有一些<a href="http://www.javaeye.com/topic/186968">讨论</a>，我认为其中比较简单的方法是用shell脚本：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . -type f -iname <span style="color: #ff0000;">&quot;*.java&quot;</span> -exec <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">wc</span> -l   </pre></div></div>

<p>我们通常不需要太精确的信息，这一结果已经足够说明工作量了。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/how-to-count-lines-of-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Cygwin中使用Ruby</title>
		<link>http://thinklouder.cn/2008/12/ruby-on-cygwin/</link>
		<comments>http://thinklouder.cn/2008/12/ruby-on-cygwin/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 09:27:26 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://thinklouder.cn/?p=423</guid>
		<description><![CDATA[通过Cygwin的Setup工具安装的ruby没有包含rubygems，需要手动下载安装。
可放在/cygwin/home/user,并通过下面的命令安装。

$ ruby setup.rb

如在防火墙后，可通过更改HTTP_PROXY环境变量的方法设置代理：

$ export HTTP_PROXY=http://proxy.abc.com:8008
$ export HTTP_PROXY_USER=&#34;user&#34;
$ export HTTP_PROXY_PASS=&#34;pass&#34;

如果代理不需要用户名密码则可不设这两个变量。
注意，如果在Windows命令行中设置稍有不同，应该用set命令：

&#62; set HTTP_PROXY=http://proxy.abc.com:8008

测试一下rubygems是否成功安装：以rake为例，如无法直接访问会抛出错误信息，通常设置代理后就可以顺利安装。

$ gem install rake
ERROR:  http://gems.rubyforge.org/ does not appear to be a repository
ERROR:  could not find gem rake locally or in a repository
&#160;
$ export HTTP_PROXY=http://proxy.abc.com:8008
&#160;
$ gem install rake
Successfully installed rake-0.8.3
1 gem installed
Installing ri documentation for rake-0.8.3...
Installing RDoc documentation for rake-0.8.3...

至此Ruby环境已安装成功。
==========
如果在Cygwin中安装rubygems之前装过One-Click Ruby Installer，可能会遇到环境变量的问题。请看Pluit的解决方案。
]]></description>
			<content:encoded><![CDATA[<p>通过<a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a>的<a href="http://www.cygwin.com/setup.exe">Setup</a>工具安装的ruby没有包含rubygems，需要手动<a href="http://rubyforge.org/projects/rubygems/">下载</a>安装。<br />
可放在/cygwin/home/user,并通过下面的命令安装。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ ruby setup.rb</pre></div></div>

<p>如在防火墙后，可通过更改HTTP_PROXY环境变量的方法设置代理：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HTTP_PROXY</span>=http:<span style="color: #000000; font-weight: bold;">//</span>proxy.abc.com:<span style="color: #000000;">8008</span>
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HTTP_PROXY_USER</span>=<span style="color: #ff0000;">&quot;user&quot;</span>
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HTTP_PROXY_PASS</span>=<span style="color: #ff0000;">&quot;pass&quot;</span></pre></div></div>

<p>如果代理不需要用户名密码则可不设这两个变量。</p>
<p>注意，如果在Windows命令行中设置稍有不同，应该用set命令：</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">HTTP_PROXY</span>=http:<span style="color: #000000; font-weight: bold;">//</span>proxy.abc.com:<span style="color: #000000;">8008</span></pre></div></div>

<p>测试一下rubygems是否成功安装：以<a href="http://rake.rubyforge.org">rake</a>为例，如无法直接访问会抛出错误信息，通常设置代理后就可以顺利安装。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ gem <span style="color: #c20cb9; font-weight: bold;">install</span> rake
ERROR:  http:<span style="color: #000000; font-weight: bold;">//</span>gems.rubyforge.org<span style="color: #000000; font-weight: bold;">/</span> does not appear to be a repository
ERROR:  could not <span style="color: #c20cb9; font-weight: bold;">find</span> gem rake locally or <span style="color: #000000; font-weight: bold;">in</span> a repository
&nbsp;
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">HTTP_PROXY</span>=http:<span style="color: #000000; font-weight: bold;">//</span>proxy.abc.com:<span style="color: #000000;">8008</span>
&nbsp;
$ gem <span style="color: #c20cb9; font-weight: bold;">install</span> rake
Successfully installed rake-0.8.3
<span style="color: #000000;">1</span> gem installed
Installing ri documentation <span style="color: #000000; font-weight: bold;">for</span> rake-0.8.3...
Installing RDoc documentation <span style="color: #000000; font-weight: bold;">for</span> rake-0.8.3...</pre></div></div>

<p>至此Ruby环境已安装成功。</p>
<p>==========</p>
<p>如果在Cygwin中安装rubygems之前装过One-Click Ruby Installer，可能会遇到环境变量的问题。请看<a href="http://www.pluitsolutions.com/2006/03/30/install-ruby-on-rails-ror-on-cygwin/">Pluit</a>的解决方案。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/ruby-on-cygwin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UML之活动图(Activity Diagram)</title>
		<link>http://thinklouder.cn/2008/12/activity-diagram/</link>
		<comments>http://thinklouder.cn/2008/12/activity-diagram/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 17:39:04 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=104</guid>
		<description><![CDATA[在Netbean网站上有一个简洁的教程，一步一步比较清晰，工具不同但方法基本是一样的。
Scott Ambler的敏捷建模网站上也有丰富的资源。
在绘制用户登录这个UseCase的活动图时，参考了其中一篇。
熟能生巧，多画多分析才能更好的掌握。
======
关于BPMN, BPEL以及Activity Diagram
BPMN是一种比较新的Notation,
Activity Diagram主要是用于一个流程内部，而BPMN更适用于组织内的服务之间的一些流程。
在试画了一个图之后，目前认为两者没有太大区别。不影响表达和沟通。需要继续学习以验证优劣。
]]></description>
			<content:encoded><![CDATA[<div id="attachment_312" class="wp-caption alignnone" style="width: 310px"><a href="http://thinklouder.cn/wp-content/uploads/2008/12/login.png"><img class="size-medium wp-image-312" title="一个登陆Case的活动图" src="http://www.thinklouder.cn/wp-content/uploads/2008/12/login-300x205.png" alt="A login activity diagram" width="300" height="205" /></a><p class="wp-caption-text">一个登陆Case的活动图</p></div>
<p>在Netbean网站上有一个简洁的<a href="http://www.netbeans.org/kb/60/uml/index.html">教程</a>，一步一步比较清晰，工具不同但方法基本是一样的。</p>
<p>Scott Ambler的<a href="http://www.agilemodeling.com">敏捷建模网站</a>上也有丰富的资源。<br />
在绘制用户登录这个UseCase的活动图时，参考了<a href="http://www.agilemodeling.com/artifacts/activityDiagram.htm">其中一篇</a>。</p>
<p>熟能生巧，多画多分析才能更好的掌握。</p>
<p>======</p>
<p>关于<a href="http://www.bpmn.org/">BPMN</a>, <a href="http://en.wikipedia.org/wiki/Business_Process_Execution_Language">BPEL</a>以及Activity Diagram<br />
BPMN是一种比较新的Notation,<br />
Activity Diagram主要是用于一个流程内部，而BPMN更适用于组织内的服务之间的一些流程。<br />
在试画了一个图之后，目前认为两者没有太大区别。不影响表达和沟通。需要继续学习以验证优劣。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/activity-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>医疗行业的开源项目</title>
		<link>http://thinklouder.cn/2008/12/healthcare-industry-oss/</link>
		<comments>http://thinklouder.cn/2008/12/healthcare-industry-oss/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 17:27:44 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Healthcare]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=99</guid>
		<description><![CDATA[dvtk &#8211; http://www.dvtk.org, http://sourceforge.net/projects/dvt/
提供了10几个开源的工具包括设备和RIS的模拟器、DICOM编辑器、查看器等。
C#
freelims &#8211; http://sourceforge.net/projects/freelims/
开源的LIS系统。
Java,Swing,MySQL等。
HOSxP - http://sourceforge.net/projects/hosxp/
在泰国广泛使用的HIS系统。
Delphi等。
Laika &#8211; http://sourceforge.net/projects/laika/
EHR系统测试工具。
Java,JavaScript,Ruby等。
Tolven Health Record
EHR
Amide &#8211; http://sourceforge.net/projects/amide/
Amide&#8217;s a Medical Image Data Examiner: Amide is a tool for viewing, registering, and analyzing anatomical and functional volumetric medical imaging data sets.
PatientOS - http://sourceforge.net/projects/patientos/
电子病历系统。
Java, PostgreSQL等。
DICOM# &#8211; http://sourceforge.netprojects/dicomcs/
Partially port of dcm4che
SourceForge上的搜索
http://sourceforge.net/softwaremap/trove_list.php?sort=group_ranking&#38;sortdir=asc&#38;offset=0&#38;form_cat=362
]]></description>
			<content:encoded><![CDATA[<p>dvtk &#8211; <a href="http://www.dvtk.org">http://www.dvtk.org</a>, <a href="http://sourceforge.net/projects/dvt/">http://sourceforge.net/projects/dvt/</a><br />
提供了10几个开源的工具包括设备和RIS的模拟器、DICOM编辑器、查看器等。<br />
C#</p>
<p>freelims &#8211; <a href="http://sourceforge.net/projects/freelims/">http://sourceforge.net/projects/freelims/</a><br />
开源的LIS系统。<br />
Java,Swing,MySQL等。</p>
<p>HOSxP - <a href="http://sourceforge.net/projects/hosxp/">http://sourceforge.net/projects/hosxp/</a><br />
在泰国广泛使用的HIS系统。<br />
Delphi等。</p>
<p>Laika &#8211; <a href="http://sourceforge.net/projects/laika/EHR">http://sourceforge.net/projects/laika/</a><br />
EHR系统测试工具。<br />
Java,JavaScript,Ruby等。</p>
<p><a href="http://sourceforge.net/projects/tolven/">Tolven Health Record</a><br />
EHR</p>
<p>Amide &#8211; <a href="http://sourceforge.net/projects/amide/">http://sourceforge.net/projects/amide/</a><br />
Amide&#8217;s a Medical Image Data Examiner: Amide is a tool for viewing, registering, and analyzing anatomical and functional volumetric medical imaging data sets.</p>
<p>PatientOS - <a href="http://sourceforge.net/projects/patientos/">http://sourceforge.net/projects/patientos/</a><br />
电子病历系统。<br />
Java, PostgreSQL等。</p>
<p>DICOM# &#8211; <a href="http://sourceforge.net/projects/dicom-cs/">http://sourceforge.netprojects/dicomcs/</a><br />
Partially port of dcm4che</p>
<p>SourceForge上的搜索<br />
<a href="http://sourceforge.net/softwaremap/trove_list.php?sort=group_ranking&amp;sortdir=asc&amp;offset=0&amp;form_cat=362">http://sourceforge.net/softwaremap/trove_list.php?sort=group_ranking&amp;sortdir=asc&amp;offset=0&amp;form_cat=362</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/healthcare-industry-oss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Mono.Cecil读写.NET程序集</title>
		<link>http://thinklouder.cn/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/</link>
		<comments>http://thinklouder.cn/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 06:28:10 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Mono.Cecil]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=97</guid>
		<description><![CDATA[使用Reflexil修改.NET程序集
http://www.codeproject.com/KB/msil/reflexil.aspx
基于Cecil的项目合集
http://groups.google.com/group/mono-cecil/web/projects-using-cecil
DimeCast上一个视频演示通过Cecil向程序集中注入代码。 MSDN关于IL指令的文档。
]]></description>
			<content:encoded><![CDATA[<p>使用Reflexil修改.NET程序集<br />
<a href="http://www.codeproject.com/KB/msil/reflexil.aspx">http://www.codeproject.com/KB/msil/reflexil.aspx</a></p>
<p>基于Cecil的项目合集<br />
<a href="http://groups.google.com/group/mono-cecil/web/projects-using-cecil">http://groups.google.com/group/mono-cecil/web/projects-using-cecil</a></p>
<p>DimeCast上一个视频演示<a href="http://www.dimecasts.net/Casts/CastDetails/59">通过Cecil向程序集中注入代码</a>。 <a href="http://msdn.microsoft.com">MSDN</a>关于IL指令的<a href="http://msdn.microsoft.com/en-us/library /system.reflection.emit.opcodes_fields.aspx">文档</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/manipulate-dotnet-assemblies-using-mono-cecil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>鼠标动作实现</title>
		<link>http://thinklouder.cn/2008/12/mouse-gesture-in-csharp/</link>
		<comments>http://thinklouder.cn/2008/12/mouse-gesture-in-csharp/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 08:22:10 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Algorithm]]></category>
		<category><![CDATA[HCI]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=95</guid>
		<description><![CDATA[一个基于ActionScript的鼠标动作实现
一直没有时间在.NET中实现，偶然发现了CodeProject上前人的一个实现。可以好好研究下。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bytearray.org/?p=91">一个基于ActionScript的鼠标动作实现</a></p>
<p>一直没有时间在.NET中实现，偶然发现了CodeProject上前人的一个<a href="http://www.codeproject.com/KB/recipes/cmgblade.aspx">实现</a>。可以好好研究下。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/mouse-gesture-in-csharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>与Mono.Cecil类似的项目</title>
		<link>http://thinklouder.cn/2008/12/projects-like-mono-cecil/</link>
		<comments>http://thinklouder.cn/2008/12/projects-like-mono-cecil/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 07:16:54 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Mono.Cecil]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=84</guid>
		<description><![CDATA[与Cecil类似的项目:
System.Reflection &#8211; .NET内置的反射工具
Zonnon &#8211; A language and compiler experiment
CCI(Common Compiler Infrastructure) &#8211; 没有太多信息。
Java平台有著名的工具ASM，详见其开发者文档。ASM对操作Generic Collection也有很好的实现。
]]></description>
			<content:encoded><![CDATA[<p>与Cecil类似的项目:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.reflection.aspx">System.Reflection</a> &#8211; .NET内置的反射工具</p>
<p><a href="http://www.zonnon.ethz.ch/">Zonnon</a> &#8211; A language and compiler experiment</p>
<p>CCI(Common Compiler Infrastructure) &#8211; 没有太多信息。</p>
<p>Java平台有著名的工具ASM，详见其<a href="http://asm.objectweb.org/doc/developer-guide.html">开发者文档</a>。ASM对<a href="http://www.ibm.com/developerworks/java/library/j-cwt02076.html">操作Generic Collection</a>也有很好的实现。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/projects-like-mono-cecil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono相关的项目</title>
		<link>http://thinklouder.cn/2008/12/mono-related-project/</link>
		<comments>http://thinklouder.cn/2008/12/mono-related-project/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 05:06:09 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Mono]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=74</guid>
		<description><![CDATA[有幸在上周五六参加Apache Meetup和Barcamp活动中遇到了Novell公司的Alex Lau。期间他提到了Mono Accecibility这个项目。我在构建NTE时用到了Mono Cecil来读取ECMA IL格式的指令，所以对Mono的相关项目颇有好感。
所以再次罗列一下网站资源：

Cecil &#8211; A .net assembly manipulation library


Accessibility &#8211; aims to enable Windows applications to be fully accessible on Linux


Gendarme &#8211; rule-based tool to inspect .Net assemblies(which using Cecil)

一个视频Miguel de Icaza谈Mono
如果有机会应该参与一些Mono相关的工作。Google也参与了Mono相关的项目。
]]></description>
			<content:encoded><![CDATA[<p>有幸在上周五六参加Apache Meetup和Barcamp活动中遇到了Novell公司的Alex Lau。期间他提到了Mono Accecibility这个项目。我在构建NTE时用到了Mono Cecil来读取ECMA IL格式的指令，所以对Mono的相关项目颇有好感。</p>
<p>所以再次罗列一下网站资源：</p>
<ul>
<li><a href="http://www.mono-project.com/Cecil">Cecil</a> &#8211; A .net assembly manipulation library</li>
</ul>
<ul>
<li><a href="http://www.mono-project.com/Accessibility">Accessibility</a> &#8211; aims to enable Windows applications to be fully accessible on Linux</li>
</ul>
<ul>
<li><a href="http://www.mono-project.com/Gendarme">Gendarme</a> &#8211; rule-based tool to inspect .Net assemblies(which using Cecil)</li>
</ul>
<p>一个视频<a href="http://port25.technet.com/archive/2006/08/11/Let_2700_s-talk-Mono_3A00_--Sam-interviews-Miguel-de-Icaza.aspx">Miguel de Icaza谈Mono</a></p>
<p>如果有机会应该参与一些Mono相关的工作。<a href="http://code.google.com/p/google-highly-open-participation-mono/">Google也参与了Mono相关的项目</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/mono-related-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: 多点触摸</title>
		<link>http://thinklouder.cn/2008/12/multi-touch/</link>
		<comments>http://thinklouder.cn/2008/12/multi-touch/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 02:54:03 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[HCI]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=71</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://thinklouder.cn/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-71">Password:<br />
<input name="post_password" id="pwbox-71" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/multi-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>圈复杂度(Cyclomatic Complexity, or Conditional Complexity)</title>
		<link>http://thinklouder.cn/2008/12/cyclomatic-complexity/</link>
		<comments>http://thinklouder.cn/2008/12/cyclomatic-complexity/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 06:45:45 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Conditional Complexity]]></category>
		<category><![CDATA[Cyclomatic Complexity]]></category>
		<category><![CDATA[Metric]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=40</guid>
		<description><![CDATA[圈复杂度是度量方法中相对简单的一种。
CodeProject上的这篇文章可以解释如何分析代码的圈复杂度。
.NET平台的FxCop,NDepend有圈复杂度相关的计算功能。Java平台还有很多类似的工具, 其中CheckStyle是比较流行的一个。PMD与CheckStyle类似也支持根据可配规则进行分析。通常在违反规则的时候给出相应的Warning。
PS:关于Checkstyle和PMD的比较。
developerWorks关于持续重构的文章(英文版、中文版)，文中讲解了CheckStyle和PMD对重构所发挥的作用。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity">圈复杂度</a>是度量方法中相对简单的一种。<br />
<a href="http://www.codeproject.com">CodeProject</a>上的<a href="http://www.codeproject.com/KB/architecture/Cyclomatic_Complexity.aspx">这篇文章</a>可以解释如何分析代码的圈复杂度。<br />
.NET平台的<a href="http://www.yafla.com/dennisforbes/FxCop-Cyclomatic-Complexity/FxCop-Cyclomatic-Complexity.html">FxCop</a>,<a href="http://www.ndepend.com/Metrics.aspx#CC">NDepend</a>有圈复杂度相关的计算功能。Java平台还有很多<a href="http://pmd.sourceforge.net/similar-projects.html">类似的工具</a>, 其中<a href="http://checkstyle.sourceforge.net/">CheckStyle</a>是比较流行的一个。<a href="http://pmd.sourceforge.net/howitworks.html">PMD</a>与CheckStyle类似也支持根据可配规则进行分析。通常在违反规则的时候给出相应的Warning。</p>
<p>PS:关于<a href="http://stackoverflow.com/questions/184563/checkstyle-vs-pmd">Checkstyle和PMD</a>的比较。</p>
<p>developerWorks关于持续重构的文章(<a href="http://www.ibm.com/developerworks/java/library/j-ap07088/">英文版</a>、<a href="http://www.ibm.com/developerworks/cn/java/j-ap07088/">中文版</a>)，文中讲解了CheckStyle和PMD对重构所发挥的作用。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/cyclomatic-complexity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Testability Explorer</title>
		<link>http://thinklouder.cn/2008/12/dotnet-testability-explorer/</link>
		<comments>http://thinklouder.cn/2008/12/dotnet-testability-explorer/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 03:59:05 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Asm]]></category>
		<category><![CDATA[ByteCode]]></category>
		<category><![CDATA[Cecil]]></category>
		<category><![CDATA[cost model]]></category>
		<category><![CDATA[Cyclomatic Complexity]]></category>
		<category><![CDATA[law of demeter]]></category>
		<category><![CDATA[lod]]></category>
		<category><![CDATA[maintainability]]></category>
		<category><![CDATA[Metric]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[software design]]></category>
		<category><![CDATA[static analysis]]></category>
		<category><![CDATA[Testability]]></category>
		<category><![CDATA[Testability Explorer]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=48</guid>
		<description><![CDATA[在负责一个Unit Testing on CAB的内部培训项目期间，我阅读了Miško Hevery的一系列文章，他目前在Google担任敏捷教练。我对他的Testability Explorer(简称GTE) 产生了浓厚兴趣。
虽然Java和.Net世界已经有一些类似工具存在，但GTE这个项目实现功能比较专一，输出结果也直接易懂。相对NDepend强大但相对复杂和FxCop官方但略显强硬，GTE这个项目从形式上来说更有亲和力。所以我和Joe同学在Google Code上开始了一个新项目: .NET Testability Explorer(简称NTE)。
功能受众是期望对输出的.NET Assembly进行分析的开发人员，报告中提供的信息可以帮助他们对设计进行调整，从而使code base更容易测试和维护。
计划是，首先实现圈复杂度的度量，然后实现输出类似GTE形式的报告。希望能够在09年农历新年前发出第一个版本。
目前TE的成本模型支持对全复杂度、全局变量和笛米特法则的计算。
技术层面可以参考Gendarme这个项目，一个基于Mono.Cecil的代码分析工具。
Updates 20081221
项目分成两部分：IL分析，基于规则的成本模型计算
IL分析：目前IL分析方面的技术调研实现了类型，字段，方法级别的读取。剩下最大的一部分是方法中instruction的decompose，这部分估计占全部的40%工作量。但是我需要从成本模型分析的方向进行分析，确定在decompose过程中所需要收集的信息，所以先完成大概10%遍历所有instruction构建一个草图模型。目标是实现最简单的圈复杂度的计算。
成本模型：完成大概10%-20%的基础模型构建，支持全复杂度的计算。
下一步，重构设计使其能支持更多的规则考量，并增强其可扩展性。
目前从代码量来看完成了TE全部功能的1/6，考虑到TE支持对C++语言的分析，折半其工作量，目前大概完成了全部工作的1/3。
目标定于在完成一半的时候提交代码到Google Code，并发布第一个可运行的版本。时间定于08年圣诞节期间。新的计划是春节之前，发布第一个可运行的版本，并将代码提交。
]]></description>
			<content:encoded><![CDATA[<p>在负责一个Unit Testing on <a href="http://msdn.microsoft.com/en-us/library/aa480450.aspx" title="Smart Client - Composite UI Application Block">CAB</a>的内部培训项目期间，我阅读了<a rel="nofollow" href="http://misko.hevery.com/">Miško Hevery</a>的一系列文章，他目前在Google担任敏捷教练。我对他的<a href="http://code.google.com/p/testability-explorer/">Testability Explorer</a>(简称GTE) 产生了浓厚兴趣。</p>
<p>虽然Java和.Net世界已经有一些类似工具存在，但GTE这个项目实现功能比较专一，输出结果也直接易懂。相对<a href="http://www.ndepend.com/">NDepend</a>强大但相对复杂和<a href="http://blogs.msdn.com/fxcop/">FxCop</a>官方但略显强硬，GTE这个项目从形式上来说更有亲和力。所以我和Joe同学在Google Code上开始了一个新项目: <a href="http://code.google.com/p/dotnet-testability-explorer/">.NET Testability Explorer</a>(简称NTE)。<br />
功能受众是期望对输出的.NET Assembly进行分析的开发人员，报告中提供的信息可以帮助他们对设计进行调整，从而使code base更容易测试和维护。</p>
<p>计划是，首先实现圈复杂度的度量，然后实现输出类似<a href="http://testabilityexplorer.org/report">GTE形式的报告</a>。希望能够在09年农历新年前发出第一个版本。<br />
目前TE的成本模型支持对全复杂度、全局变量和笛米特法则的计算。</p>
<p>技术层面可以参考<a href="http://mono-project.com/Gendarme">Gendarme</a>这个项目，一个基于<a href="http://www.mono-project.com/Cecil">Mono.Cecil</a>的代码分析工具。</p>
<p><em>Updates 20081221</em><br />
项目分成两部分：IL分析，基于规则的成本模型计算</p>
<p>IL分析：目前IL分析方面的技术调研实现了类型，字段，方法级别的读取。剩下最大的一部分是方法中instruction的decompose，这部分估计占全部的40%工作量。但是我需要从成本模型分析的方向进行分析，确定在decompose过程中所需要收集的信息，所以先完成大概10%遍历所有instruction构建一个草图模型。目标是实现最简单的圈复杂度的计算。<br />
成本模型：完成大概10%-20%的基础模型构建，支持全复杂度的计算。<br />
下一步，重构设计使其能支持更多的规则考量，并增强其可扩展性。<br />
目前从代码量来看完成了TE全部功能的1/6，考虑到TE支持对C++语言的分析，折半其工作量，目前大概完成了全部工作的1/3。</p>
<p><del datetime="2009-01-09T10:11:57+00:00">目标定于在完成一半的时候提交代码到Google Code，并发布第一个可运行的版本。时间定于08年圣诞节期间。新的计划是春节之前，发布第一个可运行的版本，并将代码提交。</del></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/dotnet-testability-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>几个可视化的.Net UI调试工具</title>
		<link>http://thinklouder.cn/2008/12/debug-visualizers/</link>
		<comments>http://thinklouder.cn/2008/12/debug-visualizers/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 03:12:04 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=43</guid>
		<description><![CDATA[Josh Smith介绍了几个.Net平台的可视化调试工具
Crack.NET
Snoop
Mole
我尝试了Snoop非常好用，特别是3D视图是一个很Wow!的功能。Crack.NET是最新的一个项目，还需要试用一下。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://joshsmithonwpf.wordpress.com">Josh Smith</a>介绍了几个.Net平台的可视化调试工具</p>
<p><a href="http://www.codeplex.com/cracknetproject">Crack.NET</a><br />
<a href="http://blois.us/Snoop/">Snoop</a><br />
<a href="http://joshsmithonwpf.wordpress.com/mole/">Mole</a></p>
<p>我尝试了Snoop非常好用，特别是3D视图是一个很Wow!的功能。Crack.NET是最新的一个项目，还需要试用一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/debug-visualizers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在VS中调试.Net Framework</title>
		<link>http://thinklouder.cn/2008/12/debug-dotnetfx-in-v/</link>
		<comments>http://thinklouder.cn/2008/12/debug-dotnetfx-in-v/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 01:22:55 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=34</guid>
		<description><![CDATA[ 需要在VS中配置symbol的服务器，详见这里。
Symbol会被缓存在客户端，但是每次加载工程源代码会被重新下载。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx"></a> 需要在VS中配置symbol的服务器，详见<a href="http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx">这里</a>。</p>
<p>Symbol会被缓存在客户端，但是每次加载工程源代码会被重新下载。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/12/debug-dotnetfx-in-v/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF一则</title>
		<link>http://thinklouder.cn/2008/11/wpf-notes/</link>
		<comments>http://thinklouder.cn/2008/11/wpf-notes/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 03:12:48 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=28</guid>
		<description><![CDATA[Button控件的Content内容因为过长而被截断。
可以指定Button的MinWidth属性，内容显示不下，Button会自动变长。

&#60;Window x:Class=&#34;WPFSandBox.StretchButtonWindow&#34;
    xmlns=&#34;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#34;
    xmlns:x=&#34;http://schemas.microsoft.com/winfx/2006/xaml&#34;
    Title=&#34;Window1&#34; Height=&#34;300&#34; Width=&#34;300&#34;&#62;
    &#60;UniformGrid Rows=&#34;4&#34;&#62;
        &#60;Button 
            HorizontalAlignment=&#34;Left&#34;
            Name=&#34;StretchButton&#34;
  [...]]]></description>
			<content:encoded><![CDATA[<p>Button控件的Content内容因为过长而被截断。<br />
可以指定Button的MinWidth属性，内容显示不下，Button会自动变长。</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Window</span> <span style="color: #000066;">x:Class</span>=<span style="color: #ff0000;">&quot;WPFSandBox.StretchButtonWindow&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">xmlns:x</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;Window1&quot;</span> <span style="color: #000066;">Height</span>=<span style="color: #ff0000;">&quot;300&quot;</span> <span style="color: #000066;">Width</span>=<span style="color: #ff0000;">&quot;300&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;UniformGrid</span> <span style="color: #000066;">Rows</span>=<span style="color: #ff0000;">&quot;4&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span> </span>
<span style="color: #009900;">            <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Left&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">Name</span>=<span style="color: #ff0000;">&quot;StretchButton&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">MinWidth</span>=<span style="color: #ff0000;">&quot;80&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">Content</span>=<span style="color: #ff0000;">&quot;Very Long Label&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;TextBlock</span> </span>
<span style="color: #009900;">            <span style="color: #000066;">HorizontalAlignment</span>=<span style="color: #ff0000;">&quot;Stretch&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">Text</span>=<span style="color: #ff0000;">&quot;{Binding Path=ActualWidth, ElementName=StretchButton}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/UniformGrid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Window<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/11/wpf-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java程序向.NET移植过程中的笔记</title>
		<link>http://thinklouder.cn/2008/11/migrating-java-application-to-dotnet/</link>
		<comments>http://thinklouder.cn/2008/11/migrating-java-application-to-dotnet/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 10:28:07 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[向.NET移植]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=23</guid>
		<description><![CDATA[移植TE过程中遇到了一些Java与.NET平台的差异而产生的问题，在此记录。.NET中一些“隐藏功能”在这个过程中得到了很好的应用。
这里采用手工移植的方式，也可以尝试JLCA等自动转换工具。参见MSDN Magazine上的介绍JLCA使用案例的文章。
有关Java与.Net异同的一篇采访，A Conversation with Anders Hejlsberg(C#设计者) by Bill Venners with Bruce Eckel(Thinking in Java作者)。
final vs virtual
Java中除静态函数以外的方法默认都是虚函数，都可以被覆写，需要使用final关键字标记使其不能被覆写。但也有更准确的解释。
C#中必须用virtual关键字显式的声明一个方法可被覆写。第一个原因是性能，更重要的原因是版本。更具体的解释且看Anders Hejlsberg,Bruce Eckel等人的谈话。
final vs sealed
Java中可以使用final关键字标记类，使其不能被继承。
而.Net中使用sealed。对于类也可以用static关键字（会被自动编译为sealed）来防止被派生。

public class Test &#123;
  Integer testField;
&#160;
  Integer methodA&#40;&#41; &#123;
    return testField;
  &#125;
&#160;
  final Integer methodB&#40;&#41; &#123;
    return testField;
  &#125;
&#125;
&#160;
class Test1 extends Test &#123;
  @Override
 [...]]]></description>
			<content:encoded><![CDATA[<p>移植TE过程中遇到了一些Java与.NET平台的差异而产生的问题，在此记录。.NET中一些“<a href="http://stackoverflow.com/questions/9033/hidden-features-of-c">隐藏功能</a>”在这个过程中得到了很好的应用。<br />
这里采用手工移植的方式，也可以尝试<a href="http://msdn.microsoft.com/en-us/aa718346.aspx">JLCA</a>等自动转换工具。参见MSDN Magazine上的介绍<a href="http://msdn.microsoft.com/en-us/magazine/cc163422.aspx">JLCA使用案例</a>的文章。</p>
<p>有关Java与.Net异同的一篇采访，<a href="http://www.artima.com/intv/anders.html">A Conversation with Anders Hejlsberg</a>(C#设计者) by Bill Venners with Bruce Eckel(Thinking in Java作者)。</p>
<h4>final vs virtual</h4>
<p>Java中除静态函数以外的方法默认都是虚函数，都可以被覆写，需要使用<a href="http://en.wikipedia.org/wiki/Final_(Java)">final</a>关键字标记使其不能被覆写。但也有更准确的<a href="http://blog.csdn.net/nomad2/archive/2006/05/11/723443.aspx">解释</a>。<br />
C#中必须用<a href="http://msdn.microsoft.com/en-us/library/9fkccyh4(VS.80).aspx">virtual</a>关键字显式的声明一个方法可被覆写。第一个原因是性能，更重要的原因是版本。更具体的解释且看Anders Hejlsberg,Bruce Eckel等人的<a href="http://www.artima.com/intv/nonvirtualP.html">谈话</a>。</p>
<h4>final <a href="http://stackoverflow.com/questions/154698?sort=newest">vs</a> sealed</h4>
<p>Java中可以使用final关键字标记类，使其不能被继承。<br />
而.Net中使用<a href="http://msdn.microsoft.com/en-us/library/88c54tsw.aspx">sealed</a>。对于类也可以用static关键字（会被自动编译为sealed）来防止被派生。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Test <span style="color: #009900;">&#123;</span>
  <span style="color: #003399;">Integer</span> testField<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #003399;">Integer</span> methodA<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> testField<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">Integer</span> methodB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> testField<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Test1 <span style="color: #000000; font-weight: bold;">extends</span> Test <span style="color: #009900;">&#123;</span>
  @Override
  <span style="color: #003399;">Integer</span> methodA<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  @Override              <span style="color: #666666; font-style: italic;">// error, it can not be overrided</span>
  <span style="color: #003399;">Integer</span> methodB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h4>Descriptor</h4>
<p>Java中的<a href="http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html%231169">Descriptor</a>可以用字符串的形式描述字段和方法的类型。但在.Net中我没有类似的东西（如果有请告知）。通过反射查看.Net Assembly可以看到的方法完整的信息，例如变量、参数等。只是没有一个类似Java Descriptor的东西。囧</p>
<h4>多线程(Multiple Thread)</h4>
<p>Java中需要实现Java.Lang.Runnable接口<br />
.Net多线程只需要将一个方法赋给ThreadStart这个代理然后传给Thread并且调用Thread.Start()方法。<br />
相对而言后者有更好的同步或者异步的支持。.Net多线程有一个不错的<a href="http://www.yoda.arachsys.com/csharp/threads/index.shtml">在线教程</a>。</p>
<h4>Exception</h4>
<p>InvalidOperationException == IllegalStateException</p>
<h4>implicit &amp; explicit</h4>
<p>implicit是一个关键字，实现隐式转换</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">namespace</span> implicitExample
<span style="color: #000000;">&#123;</span>
    <span style="color: #FF0000;">class</span> Digit
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">public</span> Digit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">double</span> d<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span> val <span style="color: #008000;">=</span> d<span style="color: #008000;">;</span> <span style="color: #000000;">&#125;</span>
        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">double</span> val<span style="color: #008000;">;</span>
        <span style="color: #008080; font-style: italic;">// ...other members</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// User-defined conversion from Digit to double</span>
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">implicit</span> <span style="color: #0600FF;">operator</span> <span style="color: #FF0000;">double</span><span style="color: #000000;">&#40;</span>Digit d<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">return</span> d.<span style="color: #0000FF;">val</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
        <span style="color: #008080; font-style: italic;">//  User-defined conversion from double to Digit</span>
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">implicit</span> <span style="color: #0600FF;">operator</span> Digit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">double</span> d<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">return</span> <span style="color: #008000;">new</span> Digit<span style="color: #000000;">&#40;</span>d<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
    <span style="color: #FF0000;">class</span> Program
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Digit dig <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Digit<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">7</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008080; font-style: italic;">//This call invokes the implicit &quot;double&quot; operator</span>
            <span style="color: #FF0000;">double</span> num <span style="color: #008000;">=</span> dig<span style="color: #008000;">;</span>
            <span style="color: #008080; font-style: italic;">//This call invokes the implicit &quot;Digit&quot; operator</span>
            Digit dig2 <span style="color: #008000;">=</span> <span style="color: #FF0000;">12</span><span style="color: #008000;">;</span>
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;num = {0} dig2 = {1}&quot;</span>, num, dig2.<span style="color: #0000FF;">val</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Console.<span style="color: #0000FF;">ReadLine</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<h4>泛型，泛型集合(Generic &amp; Generic Collection)</h4>
<p>Java的<a href="http://www.eclipse.org/aspectj/doc/released/adk15notebook/generics.html">泛型</a>，在处理泛型集合时会遇到可写不可写的情况，参看这个<a href="http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;f=24&amp;t=043884">讨论</a>。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">List<span style="color: #339933;">&lt;?&gt;</span>    <span style="color: #666666; font-style: italic;">// 类型未知，只能添加null</span>
List<span style="color: #339933;">&lt;?</span> <span style="color: #000000; font-weight: bold;">extends</span> Number<span style="color: #339933;">&gt;</span>    <span style="color: #666666; font-style: italic;">// 类型未知，限定为Number的派生类，只能添加null</span>
List<span style="color: #339933;">&lt;?</span> <span style="color: #000000; font-weight: bold;">super</span> Double<span style="color: #339933;">&gt;</span>    <span style="color: #666666; font-style: italic;">// 类型位置，限定为Double的基类，可以添加元素</span></pre></div></div>

<p>方形方法的例子</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">void</span> recordNonOveridableMethodCall<span style="color: #009900;">&#40;</span>Reason reason, <span style="color: #000066; font-weight: bold;">int</span> lineNumber,
     MethodInfo toMethod, Variable methodThis,
     <span style="color: #003399;">List</span> parameters, Variable returnVariable<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #666666; font-style: italic;">//...</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>.NET的<a href="http://msdn.microsoft.com/en-us/library/ms172192.aspx">泛型</a></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">void</span> recordNonOveridableMethodCall<span style="color: #000000;">&#40;</span>Reason reason, <span style="color: #FF0000;">int</span> lineNumber,
     MethodInfo toMethod, Variable methodThis,
     List parameters, Variable returnVariable<span style="color: #000000;">&#41;</span> where T <span style="color: #008000;">:</span> Variable<span style="color: #000000;">&#123;</span>
     <span style="color: #008080; font-style: italic;">//...</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<h4>嵌套类(Nested Class in Java, Inner Class in .Net)</h4>
<p>.Net中嵌套类与Java中的有很大不同，内部类只能访问到外部类的静态字段、属性和方法。<br />
而Java中则都可以访问。</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #FF0000;">class</span> OuterClass
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">int</span> outerStaticField<span style="color: #008000;">;</span>
    <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">int</span> outerField<span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #FF0000;">class</span> InnerClass
    <span style="color: #000000;">&#123;</span>
        InnerClass<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            outerStaticField <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
            <span style="color: #008080; font-style: italic;">//outerField = 1; // compile time error</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<h4>TreeSet</h4>
<p>java.util.TreeSet之类的集合在.NET Framework中没有找到对应的实现，<a href="http://www.itu.dk/research/c5/">C5</a>这个项目提供了大量的数据结构实现。需要调研并加以采用。目前用到了TreeSet这个<a href="http://en.wikipedia.org/wiki/Red-black_tree">红白树</a>(Red-Black tree)实现。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/11/migrating-java-application-to-dotnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test from Writer</title>
		<link>http://thinklouder.cn/2008/10/test-from-writer/</link>
		<comments>http://thinklouder.cn/2008/10/test-from-writer/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 08:37:58 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/index.php/?p=7</guid>
		<description><![CDATA[A test post from Writer
 

using System;
using System.Collections.Generic;
using System.Text;
using Calculator.Model;
&#160;
namespace Calculator
&#123;
    /// &#60;summary&#62;
    /// Math calculator.
    /// &#60;/summary&#62;
    internal class MathCalculator : IMathCalculator
    &#123;
        /// &#60;summary&#62;
        [...]]]></description>
			<content:encoded><![CDATA[<p>A test post from Writer</p>
<p><a href="http://www.thinklouder.cn/wp-content/uploads/2008/10/windowslivewritertestfromwriter-e705fangqq-2.jpg"><img height="120" alt="fangqq" src="http://www.thinklouder.cn/wp-content/uploads/2008/10/windowslivewritertestfromwriter-e705fangqq-thumb.jpg" width="120" /></a> </p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">Calculator.Model</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">namespace</span> Calculator
<span style="color: #000000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// Math calculator.</span>
    <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
    <span style="color: #0600FF;">internal</span> <span style="color: #FF0000;">class</span> MathCalculator <span style="color: #008000;">:</span> IMathCalculator
    <span style="color: #000000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Creates a new instance of MathCalculator class.</span>
        <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
        <span style="color: #0600FF;">internal</span> MathCalculator<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#region IMathCalculator Members</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// Calculates given equation and returns the result.</span>
        <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
        <span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;equation&quot;&gt;The equation to calculate.&lt;/param&gt;</span>
        <span style="color: #008080; font-style: italic;">/// &lt;returns&gt;The result of the given equation.&lt;/returns&gt;</span>
        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">decimal</span> Calculate<span style="color: #000000;">&#40;</span>IMathEquation equation<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>equation <span style="color: #008000;">==</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">throw</span> <span style="color: #008000;">new</span> ArgumentNullException<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;equation&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #FF0000;">decimal</span> result <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
            IMathValue resultValue <span style="color: #008000;">=</span> equation.<span style="color: #0000FF;">Solve</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #0600FF;">as</span> IMathValue<span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>resultValue <span style="color: #008000;">!=</span> <span style="color: #0600FF;">null</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                result <span style="color: #008000;">=</span> resultValue.<span style="color: #0000FF;">Value</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
&nbsp;
            <span style="color: #0600FF;">return</span> result<span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #008080;">#endregion</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/10/test-from-writer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://thinklouder.cn/2008/09/hello-world/</link>
		<comments>http://thinklouder.cn/2008/09/hello-world/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 15:55:28 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.thinklouder.cn/?p=1</guid>
		<description><![CDATA[Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
h1
h2
h3
h4
h5
h6
paragraph
]]></description>
			<content:encoded><![CDATA[<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</p>
<h1>h1</h1>
<h2>h2</h2>
<h3>h3</h3>
<h4>h4</h4>
<h5>h5</h5>
<h6>h6</h6>
<p>paragraph</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2008/09/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>加速我的IDE!</title>
		<link>http://thinklouder.cn/2007/11/speed-up-my-ide/</link>
		<comments>http://thinklouder.cn/2007/11/speed-up-my-ide/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 01:24:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-5582789123598945257</guid>
		<description><![CDATA[Scott gave out a list of performance impovement tips on Visual Studio, which I used everyday.  Jeff Atwood talked about the important of the disk speed to a modern IDE.
It confirmed my guess of the reason for my poor performance workstation in JFSYS. Of course, it&#8217;s not important anymore.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://weblogs.asp.net/scottgu/default.aspx">Scott</a> gave out <a href="http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx">a list of performance impovement tips</a> on Visual Studio, which I used everyday.  Jeff Atwood talked about the important of the disk speed to a modern IDE.<br />
It confirmed my guess of the reason for my poor performance workstation in JFSYS. Of course, it&#8217;s not important anymore.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/11/speed-up-my-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog list: HCI</title>
		<link>http://thinklouder.cn/2007/04/blog-list-hci/</link>
		<comments>http://thinklouder.cn/2007/04/blog-list-hci/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 16:44:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">cns!AA7DB611C0406AB4!215</guid>
		<description><![CDATA[
HCI


HCI人机交互
De&#8217;Dream交互式设计
苏沈小雨的网站
BBC中文
Usable Information Technology



]]></description>
			<content:encoded><![CDATA[<div>
<p>HCI</p></div>
<div>
<ul>
<li><a href="http://www.hci.com.cn/index.asp">HCI人机交互</a></li>
<li><a href="http://www.dedream.com/">De&#8217;Dream交互式设计</a></li>
<li><a href="http://www.biuke.com/">苏沈小雨的网站</a></li>
<li><a href="http://news8.thdo.bbc.co.uk/chinese/simp/low/default.stm">BBC中文</a></li>
<li><a href="http://www.useit.com/">Usable Information Technology</a></li>
</ul>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Blog+list%3a+HCI&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/04/blog-list-hci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog list: 别人的笔记</title>
		<link>http://thinklouder.cn/2007/04/blog-list-%e5%88%ab%e4%ba%ba%e7%9a%84%e7%ac%94%e8%ae%b0/</link>
		<comments>http://thinklouder.cn/2007/04/blog-list-%e5%88%ab%e4%ba%ba%e7%9a%84%e7%ac%94%e8%ae%b0/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 16:44:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2007]]></category>

		<guid isPermaLink="false">cns!AA7DB611C0406AB4!249</guid>
		<description><![CDATA[
别人的笔记


Hibernate笔记
乱七八糟的技术笔记
Eclipse相关笔记
做测试的MM
prototype分析
对Ajax感兴趣的
Prototype.js Notes



]]></description>
			<content:encoded><![CDATA[<div>
<p>别人的笔记</p></div>
<div>
<ul>
<li><a href="http://www.blogjava.net/georgehill/category/1286.html">Hibernate笔记</a></li>
<li><a href="http://www.54bk.com/user1/4951/">乱七八糟的技术笔记</a></li>
<li><a href="http://www.cnblogs.com/bjzhanghao/">Eclipse相关笔记</a></li>
<li><a href="http://www.sinzy.net/BLOG/Blog.asp?ID=5">做测试的MM</a></li>
<li><a href="https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html">prototype分析</a></li>
<li><a href="http://www.gissky.net/blog/blog.asp?name=david2004">对Ajax感兴趣的</a></li>
<li><a href="http://www.sergiopereira.com/articles/prototype.js.html">Prototype.js Notes</a></li>
</ul>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Blog+list%3a+%e5%88%ab%e4%ba%ba%e7%9a%84%e7%ac%94%e8%ae%b0&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/04/blog-list-%e5%88%ab%e4%ba%ba%e7%9a%84%e7%ac%94%e8%ae%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom List: 关于Ajax</title>
		<link>http://thinklouder.cn/2007/04/custom-list-%e5%85%b3%e4%ba%8eajax/</link>
		<comments>http://thinklouder.cn/2007/04/custom-list-%e5%85%b3%e4%ba%8eajax/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 16:44:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2007]]></category>

		<guid isPermaLink="false">cns!AA7DB611C0406AB4!266</guid>
		<description><![CDATA[关于Ajax


Why Ajax Matters Now
Ajax on developeWorks
zbw25
robbin
Ajaxcn
AJAX: Dawn of a new developer



]]></description>
			<content:encoded><![CDATA[<p>关于Ajax</p>
<div>
<ul>
<li><a href="http://www.ok-cancel.com/archives/article/2005/09/why-ajax-matters-now.html">Why Ajax Matters Now</a></li>
<li><a href="http://www-128.ibm.com/developerworks/search/searchResults.jsp?searchType=1&amp;langEncoding=UTF8&amp;pageLang=zh&amp;displaySearchScope=dW&amp;searchSite=dWChina&amp;lastUserQuery1=ajax&amp;lastUserQuery2=&amp;lastUserQuery3=&amp;lastUserQuery4=&amp;query=ajax&amp;searchScope=dW&amp;x=13&amp;y=15">Ajax on developeWorks</a></li>
<li><a href="http://www.blogjava.net/zbw25">zbw25</a></li>
<li><a href="http://www.blogjava.net/robbin/">robbin</a></li>
<li><a href="http://ajaxcn.org">Ajaxcn</a></li>
<li><a href="http://www.javaworld.com/javaworld/jw-10-2005/jw-1017-ajax_p.html">AJAX: Dawn of a new developer</a></li>
</ul>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Custom+List%3a+%e5%85%b3%e4%ba%8eAjax&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/04/custom-list-%e5%85%b3%e4%ba%8eajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom List: Web应用开发</title>
		<link>http://thinklouder.cn/2007/04/custom-list-web%e5%ba%94%e7%94%a8%e5%bc%80%e5%8f%91/</link>
		<comments>http://thinklouder.cn/2007/04/custom-list-web%e5%ba%94%e7%94%a8%e5%bc%80%e5%8f%91/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 16:44:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2007]]></category>

		<guid isPermaLink="false">cns!AA7DB611C0406AB4!290</guid>
		<description><![CDATA[Web应用开发


Web-based与Windows-based的ERP差异比较
ERP技术的新方向-智能客户端
Ajax:开发者新的一天
SAP an early adopter of Ajax?
Web Dynpro Architecture
提到了代码生成
关于开源ERP
一篇不错的Ajax文档
Yesky的Ajax资源列表
一个Ajax博客
Canvas



]]></description>
			<content:encoded><![CDATA[<p>Web应用开发</p>
<div>
<ul>
<li><a href="http://www.co-in.com.cn/web.asp?ID=122">Web-based与Windows-based的ERP差异比较</a></li>
<li><a href="http://cio.csai.cn/erp/no227.htm">ERP技术的新方向-智能客户端</a></li>
<li><a href="http://www.gissky.net/blog/more.asp?name=david2004&amp;id=9196">Ajax:开发者新的一天</a></li>
<li><a href="http://blogs.adobe.com/matthiaszeller/2005/11/sap_an_early_ad.html">SAP an early adopter of Ajax?</a></li>
<li><a href="http://help.sap.com/saphelp_nw04/helpdata/en/a5/1a1e3e7181b60ae10000000a114084/content.htm">Web Dynpro Architecture</a>
<p>提到了代码生成</li>
<li><a href="http://www.theserverside.com/discussions/thread.tss?thread_id=38311">关于开源ERP</a></li>
<li><a href="http://www.gissky.net/blog/more.asp?name=david2004&amp;id=9195">一篇不错的Ajax文档</a></li>
<li><a href="http://soft.yesky.com/lesson/423/2251923.shtml?412">Yesky的Ajax资源列表</a></li>
<li><a href="http://www.cnbruce.com/blog/index.asp?vt=bycat&amp;cat_id=34">一个Ajax博客</a></li>
<li><a href="http://me.eae.net/archive/2005/12/29/canvas-in-ie/">Canvas</a></li>
</ul>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Custom+List%3a+Web%e5%ba%94%e7%94%a8%e5%bc%80%e5%8f%91&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/04/custom-list-web%e5%ba%94%e7%94%a8%e5%bc%80%e5%8f%91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog list: 自己其他的博客</title>
		<link>http://thinklouder.cn/2007/04/blog-list-%e8%87%aa%e5%b7%b1%e5%85%b6%e4%bb%96%e7%9a%84%e5%8d%9a%e5%ae%a2/</link>
		<comments>http://thinklouder.cn/2007/04/blog-list-%e8%87%aa%e5%b7%b1%e5%85%b6%e4%bb%96%e7%9a%84%e5%8d%9a%e5%ae%a2/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 16:44:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2007]]></category>

		<guid isPermaLink="false">cns!AA7DB611C0406AB4!335</guid>
		<description><![CDATA[
自己其他的博客


指向了一个新博客~第N个了~
尝试一下RoR
在Blogger上的空间
Spaces太慢了所以转用Blogger（疯了，又被封了&#8230;）
Hi Fishpot
Baidu轻快小~值得一试，而且一帮朋友都在那浑~



]]></description>
			<content:encoded><![CDATA[<div>
<p>自己其他的博客</p></div>
<div>
<ul>
<li><a href="http://fishpot.ipchina.org">指向了一个新博客~第N个了~</a>
<p>尝试一下RoR</li>
<li><a href="http://fishpot.blogspot.com">在Blogger上的空间</a>
<p>Spaces太慢了所以转用Blogger（疯了，又被封了&#8230;）</li>
<li><a href="http://hi.baidu.com/fishpot">Hi Fishpot</a>
<p>Baidu轻快小~值得一试，而且一帮朋友都在那浑~</li>
</ul>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Blog+list%3a+%e8%87%aa%e5%b7%b1%e5%85%b6%e4%bb%96%e7%9a%84%e5%8d%9a%e5%ae%a2&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/04/blog-list-%e8%87%aa%e5%b7%b1%e5%85%b6%e4%bb%96%e7%9a%84%e5%8d%9a%e5%ae%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom List: 网站</title>
		<link>http://thinklouder.cn/2007/04/custom-list-%e7%bd%91%e7%ab%99/</link>
		<comments>http://thinklouder.cn/2007/04/custom-list-%e7%bd%91%e7%ab%99/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 16:44:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2007]]></category>

		<guid isPermaLink="false">cns!AA7DB611C0406AB4!649</guid>
		<description><![CDATA[网站


Eric Raymond
Martin Fowler



]]></description>
			<content:encoded><![CDATA[<p>网站</p>
<div>
<ul>
<li><a href="http://www.catb.org/~esr">Eric Raymond</a></li>
<li><a href="http://www.martinfowler.com/">Martin Fowler</a></li>
</ul>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Custom+List%3a+%e7%bd%91%e7%ab%99&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2007/04/custom-list-%e7%bd%91%e7%ab%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reiser的悲剧</title>
		<link>http://thinklouder.cn/2006/10/reiser%e7%9a%84%e6%82%b2%e5%89%a7/</link>
		<comments>http://thinklouder.cn/2006/10/reiser%e7%9a%84%e6%82%b2%e5%89%a7/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 06:46:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!689.entry</guid>
		<description><![CDATA[看到这么一则消息。优秀的ReiseFS文件系统的作者，Reiser 涉嫌杀害自己的妻子。挺不可思议的，从使用Debian时发现ReiserFS这么个东东，我就把手头大部分的系统都换上了ReiserFS，这种文件系统使得系统的IO性能大大提高，是ext2/ext3之类所不及的。而他的 项目主页 也带给提供了很多文件系统方面的知识。可贵的是看起来很简洁，没有长篇累牍。
呼~ 我从没有对Reiser本人有过深入的了解，崇拜也仅在技术层面（技术总是让人觉着很单纯，特别是Open Source的许多技术）。但却也无法相信，一个给众多用户带来这么优秀的技术的家伙会和命案扯上关系。
生活远远没有技术那么单纯。无论如何ReiserFS给我带来了很多帮助。
默哀！为这优秀的东东，也为其作者。
寻找Nina的网站 。
ReiserFS 的网站 。
呼~
]]></description>
			<content:encoded><![CDATA[<p>看到这么一则<a href="http://www.dbanotes.net/opensource/reiserfs_hans_reiser.html">消息</a>。优秀的ReiseFS文件系统的作者，Reiser 涉嫌杀害自己的妻子。挺不可思议的，从使用Debian时发现ReiserFS这么个东东，我就把手头大部分的系统都换上了ReiserFS，这种文件系统使得系统的IO性能大大提高，是ext2/ext3之类所不及的。而他的 <a href="http://www.namesys.com/">项目主页</a> 也带给提供了很多文件系统方面的知识。可贵的是看起来很简洁，没有长篇累牍。</p>
<p>呼~ 我从没有对Reiser本人有过深入的了解，崇拜也仅在技术层面（技术总是让人觉着很单纯，特别是Open Source的许多技术）。但却也无法相信，一个给众多用户带来这么优秀的技术的家伙会和命案扯上关系。</p>
<p>生活远远没有技术那么单纯。无论如何ReiserFS给我带来了很多帮助。<br />
默哀！为这优秀的东东，也为其作者。</p>
<p>寻找Nina的<a href="http://www.ninareiser.com/">网站</a> 。<br />
ReiserFS 的<a href="http://www.namesys.com/">网站</a> 。</p>
<p>呼~</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/reiser%e7%9a%84%e6%82%b2%e5%89%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>看到一个牛牛的界面</title>
		<link>http://thinklouder.cn/2006/10/multi-touch-input/</link>
		<comments>http://thinklouder.cn/2006/10/multi-touch-input/#comments</comments>
		<pubDate>Wed, 25 Oct 2006 12:28:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[HCI]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-4999305387117252010</guid>
		<description><![CDATA[
wow~
]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/PLhMVNdplJc" /><param name="wmode" value="transparent" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/PLhMVNdplJc" wmode="transparent"></embed></object></p>
<p>wow~</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/multi-touch-input/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UI设计</title>
		<link>http://thinklouder.cn/2006/10/designing-interfaces/</link>
		<comments>http://thinklouder.cn/2006/10/designing-interfaces/#comments</comments>
		<pubDate>Wed, 18 Oct 2006 03:09:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[HCI]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-3419900584550440967</guid>
		<description><![CDATA[在一个软件产品中，用户界面的作用举足轻重。 我并非艺术设计专业的学生，但毕业设计却做了一个和UI设计有一些关系的题目。参考书目里有几本这个领域比较热门的如:
About Faces 2.0
The Inmates Are Running the Asylum
Software for Use
还有一本
Don&#8217;t make me think
从DeDream看到一本新书 Designing Interfaces（蔡学镛的评价 ，文中提到的 Common Ground 也是此书的作者建立。）。大概浏览了一下其网站，很符合其副标题作为一个patterns的手册，把一些常用的UI设计的模式都归纳了出来，并给出了what/when/why等建议。实用的形式~值得期待！
在详细设计所要完成的功能时，应该考虑UI方面的设计，通常会借鉴前人的积累，再融入自己的想法。并不是说要成为这方面的大师，只是竭尽所能做好自己的工作。免得被未来的用户下意识的说，这东西好难用~
]]></description>
			<content:encoded><![CDATA[<p>在一个软件产品中，用户界面的作用举足轻重。 我并非艺术设计专业的学生，但毕业设计却做了一个和UI设计有一些关系的题目。参考书目里有几本这个领域比较热门的如:</p>
<p><a href="http://www.amazon.com/exec/obidos/ASIN/0764526413/qid%3D1112600095/sr%3D11-1/ref%3Dsr%5F11%5F1/002-6755285-9244853">About Faces 2.0</a><br />
<a href="http://www.amazon.com/gp/product/0672326140/qid=1141017642/sr=11-1/ref=sr_11_1/103-8035983-3811818?n=283155" target="_blank">The Inmates Are Running the Asylum</a><br />
<a href="http://www.amazon.com/Software-Use-Practical-Methods-Usage-Centered/dp/0201924781">Software for Use</a></p>
<p>还有一本</p>
<p><a href="http://www.amazon.com/Don-Make-Think-Approach-Usability/dp/0789723107">Don&#8217;t make me think</a></p>
<p>从<a href="http://www.dedream.com/research/archives/2006/10/designing_inter.html">DeDream</a>看到一本新书 <a href="http://designinginterfaces.com/">Designing Interfaces</a>（蔡学镛的<a href="https://tlsj.tenlong.com.tw/WebModule/BookReviews/bookReviewsDetailAction.do?op=de&amp;sid=43&amp;groupName=%E5%B0%88%E5%AE%B6%E6%9B%B8%E8%A9%95">评价</a> ，文中提到的 <a href="http://www.mit.edu/%7Ejtidwell/toc.html">Common Ground</a> 也是此书的作者建立。）。大概浏览了一下其<a href="http://designinginterfaces.com/"><span style="text-decoration: underline;">网站</span></a>，很符合其副标题作为一个patterns的手册，把一些常用的UI设计的模式都归纳了出来，并给出了what/when/why等建议。实用的形式~值得期待！</p>
<p>在详细设计所要完成的功能时，应该考虑UI方面的设计，通常会借鉴前人的积累，再融入自己的想法。并不是说要成为这方面的大师，只是竭尽所能做好自己的工作。免得被未来的用户下意识的说，这东西好难用~</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/designing-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>敏捷开发，CMMI与炒菜</title>
		<link>http://thinklouder.cn/2006/10/agile-cmmi-cooking/</link>
		<comments>http://thinklouder.cn/2006/10/agile-cmmi-cooking/#comments</comments>
		<pubDate>Sat, 14 Oct 2006 17:29:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-4413288277392259333</guid>
		<description><![CDATA[看到一张有意思的XP团队的工作环境照片。（我们的团队并没有这样的工作环境，但并不是说我们的环境不好)
理论上说我能炒任何菜，通用步骤如下：

放油
放肉（可选）
放葱姜蒜（可选）
放不易熟的
放易熟的
放美化剂,如淀粉（可选）
加水（可选）
出锅

这个流程我实际操作过，偶（偶然）有成功，hoho~
其实这个流程并没有告诉你该怎么做，如没有说放多少油，没有说放多少盐，也没有说把菜炒成什么颜色就算是可以出锅了。也正是因为这样，我才偶有成功。
公司搞CMMI似乎一直都没有程序员的事情，总是一帮项目经理在开会~按照老胡的观点，CMMI就是告诉你该做些什么，却不说怎么做，也不说做到什么程度才算OK~
&#8230;
]]></description>
			<content:encoded><![CDATA[<p>看到一张有意思的XP团队的工作环境<a href="http://www.scissor.com/resources/teamroom/">照片</a>。（我们的团队并没有这样的工作环境，但并不是说我们的环境不好)</p>
<p>理论上说我能炒任何菜，通用步骤如下：</p>
<ul>
<li>放油</li>
<li>放肉（可选）</li>
<li>放葱姜蒜（可选）</li>
<li>放不易熟的</li>
<li>放易熟的</li>
<li>放美化剂,如淀粉（可选）</li>
<li>加水（可选）</li>
<li>出锅</li>
</ul>
<p>这个流程我实际操作过，偶（偶然）有成功，hoho~<br />
其实这个流程并没有告诉你该怎么做，如没有说放多少油，没有说放多少盐，也没有说把菜炒成什么颜色就算是可以出锅了。也正是因为这样，我才偶有成功。</p>
<p>公司搞CMMI似乎一直都没有程序员的事情，总是一帮项目经理在开会~按照老胡的观点，CMMI就是告诉你该做些什么，却不说怎么做，也不说做到什么程度才算OK~</p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/agile-cmmi-cooking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我家的狗崽子们</title>
		<link>http://thinklouder.cn/2006/10/my-dogs/</link>
		<comments>http://thinklouder.cn/2006/10/my-dogs/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 05:35:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-7143895932397320445</guid>
		<description><![CDATA[我家的狗崽子，03年领养的，图一为狗妈妈和四个小崽子（狗妈妈跟我感情比较好），图二为大女儿是狗妈妈去年所生（她不认识我几乎），图三今年四个小崽子中的老大。

 
]]></description>
			<content:encoded><![CDATA[<p>我家的狗崽子，03年领养的，图一为狗妈妈和四个小崽子（狗妈妈跟我感情比较好），图二为大女儿是狗妈妈去年所生（她不认识我几乎），图三今年四个小崽子中的老大。</p>
<p><a href="http://photos1.blogger.com/blogger2/1675/1019/1600/05-10-06_1032.jpg"><img style="clear: both; float: left;" src="http://photos1.blogger.com/blogger2/1675/1019/320/05-10-06_1032.jpg" border="0" alt="" /></a><a href="http://photos1.blogger.com/blogger2/1675/1019/1600/05-10-06_1040.jpg"><img style="clear: both; float: left;" src="http://photos1.blogger.com/blogger2/1675/1019/320/05-10-06_1040.jpg" border="0" alt="" /></a><br />
<a href="http://photos1.blogger.com/blogger2/1675/1019/1600/05-10-06_1041.jpg"><img style="clear: both; float: left;" src="http://photos1.blogger.com/blogger2/1675/1019/320/05-10-06_1041.jpg" border="0" alt="" /></a> <a href="http://picasa.google.com/blogger/" target="ext"><img style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" src="http://photos1.blogger.com/pbp.gif" border="0" alt="Posted by Picasa" align="middle" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/my-dogs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Watir rocks!</title>
		<link>http://thinklouder.cn/2006/10/watir-rocks/</link>
		<comments>http://thinklouder.cn/2006/10/watir-rocks/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 12:10:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-8870556053610673403</guid>
		<description><![CDATA[最近我关注了一下Ruby（还在入门阶段~）。发现了一个Web测试的框架-Watir，想起前一段，组里讨论为QA们购买一套自动化软件测试的工具，如果这个框架够用且好用，为啥还要花钱呢~
现在这个基于Web的项目在UI部分比较复杂，使用的第三方控件，在页面中生成了很多iframe、嵌套表格等。在样式上有很大的灵活性、使用起来也很方便，但是其服务器端代码、客户端代码还有生成的代码，看起来都有点糟糕。
Selenium也很优秀，不过因为在学习Ruby的缘故，呵呵！
我对Selenium了解的并不深入，但这两种测试工具并不是互斥的，Selenium也支持使用Ruby写测试代码。而且Selenium可以和CC/CCNET等工具结合，以便自动化功能测试的过程。
到目前为止，我觉得Watir的形式让我从程序员的角度很容易接受。
Watir通过COM的对IE进行了封装，然后用Ruby简洁的语法就可以很方便的调用IE的方法，以及获取IE容器中的DOM模型。之前我试过通过.Net来控制IE然后自动化一些测试，可是需要编译，这使过程复杂化，而用脚本语言则Happy的多。
一些功能强大却也价格不菲的测试工具也提供了各自的脚本语言，以便Tester在需要的时候手写测试代码，但与其学习一种与大家毫不相干的语言，不如使用通用一点的脚本语言。
老胡说，研究这个东西可能没有太大的价值，因为一些强大的工具都能满足QA自动化测试的需要。
固然有道理，但好奇心杀死猫，不试一下我怎么知道。
而老爷爷说，设计一个好的测试用例才是关键，而不是采用何种工具。
我同意他的说法。就像软件项目服务于需求，而并不以技术论成败。
]]></description>
			<content:encoded><![CDATA[<p>最近我关注了一下Ruby（还在入门阶段~）。发现了一个Web测试的框架-<a href="http://www.openqa.org/watir/">Watir</a>，想起前一段，组里讨论为QA们购买一套自动化软件测试的工具，如果这个框架够用且好用，为啥还要花钱呢~</p>
<p>现在这个基于Web的项目在UI部分比较复杂，使用的<a href="http://www.telerik.com/">第三方控件</a>，在页面中生成了很多iframe、嵌套表格等。在样式上有很大的灵活性、使用起来也很方便，但是其服务器端代码、客户端代码还有生成的代码，看起来都有点糟糕。</p>
<p><a href="http://www.openqa.org/selenium/">Selenium</a>也很优秀，不过因为在学习Ruby的缘故，呵呵！</p>
<p>我对Selenium了解的并不深入，但这两种测试工具并不是互斥的，Selenium也支持使用Ruby写测试代码。而且Selenium可以和<a href="http://wiki.openqa.org/display/SEL/Integrating+Selenium+And+CruiseControl.Net">CC/CCNET等工具结合</a>，以便自动化功能测试的过程。</p>
<p>到目前为止，我觉得Watir的形式让我从程序员的角度很容易接受。</p>
<p>Watir通过COM的对IE进行了封装，然后用Ruby简洁的语法就可以很方便的调用IE的方法，以及获取IE容器中的DOM模型。之前我试过通过.Net来控制IE然后自动化一些测试，可是需要编译，这使过程复杂化，而用脚本语言则Happy的多。</p>
<p>一些功能强大却也价格不菲的测试工具也提供了各自的脚本语言，以便Tester在需要的时候手写测试代码，但与其学习一种<a href="http://www.stickyminds.com/sitewide.asp?ObjectId=2326&amp;ObjectType=COL&amp;Function=edetail">与大家毫不相干的语言</a>，不如使用通用一点的脚本语言。</p>
<blockquote><p>老胡说，研究这个东西可能没有太大的价值，因为一些强大的工具都能满足QA自动化测试的需要。</p></blockquote>
<p>固然有道理，但好奇心杀死猫，不试一下我怎么知道。</p>
<blockquote><p>而<a href="http://www.leeyupeng.com/">老爷爷</a>说，设计一个好的测试用例才是关键，而不是采用何种工具。</p></blockquote>
<p>我同意他的说法。就像软件项目服务于需求，而并不以技术论成败。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/watir-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一笑置之</title>
		<link>http://thinklouder.cn/2006/10/laugh/</link>
		<comments>http://thinklouder.cn/2006/10/laugh/#comments</comments>
		<pubDate>Tue, 10 Oct 2006 09:23:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-6461159610779552199</guid>
		<description><![CDATA[Aoccdrnig to a rscheearch at an Elingsh uinervtisy, it deosn&#8217;t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. The rset can be a toatl mses and you.
]]></description>
			<content:encoded><![CDATA[<p>Aoccdrnig to a rscheearch at an Elingsh uinervtisy, it deosn&#8217;t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. The rset can be a toatl mses and you.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/laugh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E398刷机</title>
		<link>http://thinklouder.cn/2006/10/hack-e398/</link>
		<comments>http://thinklouder.cn/2006/10/hack-e398/#comments</comments>
		<pubDate>Mon, 09 Oct 2006 20:43:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-9213962715514658980</guid>
		<description><![CDATA[2006-10-10 晚上
晚上去五道口电影院看完了《宝贝计划》立马跑回公司继续玩我的小E。发现新刷的欧版系统无法操作语音服务，也就是说没法冲值了，ft! 还是用国内的版本好一些。
2006-10-10
事情总是得慢慢来，急不得~
总喜欢吃热豆腐，总是被烫嘴。
偶然发现自己的机子竟然是一款很耐玩的型号，Ru高手们还建立的网站(这里、这里)，国内也有对这一系列的机器进行修改。我觉着这个系列非常成功。
]]></description>
			<content:encoded><![CDATA[<p>2006-10-10 晚上<br />
晚上去五道口电影院看完了《宝贝计划》立马跑回公司继续玩我的小E。发现新刷的欧版系统无法操作语音服务，也就是说没法冲值了，ft! 还是用国内的版本好一些。</p>
<p>2006-10-10<br />
事情总是得慢慢来，急不得~<br />
总喜欢吃热豆腐，总是被烫嘴。<br />
偶然发现自己的机子竟然是一款很耐玩的型号，Ru高手们还建立的网站(<a href="http://www.e398mod.com/">这里</a>、<a href="http://www.motomodders.net/">这里</a><a href="http://bbs.imobile.com.cn/forum-2220-1.html"></a>)，<a href="http://bbs.imobile.com.cn/forum-2220-1.html">国内也有</a>对这一系列的机器进行修改。我觉着这个系列非常成功。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/hack-e398/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Post</title>
		<link>http://thinklouder.cn/2006/10/first-post/</link>
		<comments>http://thinklouder.cn/2006/10/first-post/#comments</comments>
		<pubDate>Mon, 09 Oct 2006 14:56:00 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">tag:blogger.com,1999:blog-8349323.post-2195207987822121248</guid>
		<description><![CDATA[
当有话想说的时候自然会找地方说，msn的spaces太慢了，虽然在那里晃荡了那么就，还是决定放弃。blogger曾经一度被封掉，所以申请了也一直没有用，现在似乎正常了。
在此我将记录一些技术方面的笔记，并以此与有共同喜好的朋友交流。
其实在哪写不是写，主要是开个新空间，激励一下自己。
FishPot暗含自闭之意~不好。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://photos1.blogger.com/blogger2/1675/1019/1600/myLogo.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger2/1675/1019/200/myLogo.jpg" border="0" alt="" /></a><br />
当有话想说的时候自然会找地方说，msn的spaces太慢了，虽然在那里晃荡了那么就，还是决定放弃。blogger曾经一度被封掉，所以申请了也一直没有用，现在似乎正常了。</p>
<p>在此我将记录一些技术方面的笔记，并以此与有共同喜好的朋友交流。</p>
<p>其实在哪写不是写，主要是开个新空间，激励一下自己。</p>
<p>FishPot暗含自闭之意~不好。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/10/first-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>又是加班日~</title>
		<link>http://thinklouder.cn/2006/08/working-over-time/</link>
		<comments>http://thinklouder.cn/2006/08/working-over-time/#comments</comments>
		<pubDate>Sat, 26 Aug 2006 03:55:56 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!657.entry</guid>
		<description><![CDATA[占位~
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
上午一直在吃零食和水果，但一到12点还是会饿&#8230;
tnnd~
饿死鬼附身了~
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-

]]></description>
			<content:encoded><![CDATA[<div>占位~</div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</div>
<div>上午一直在吃零食和水果，但一到12点还是会饿&#8230;</div>
<div>tnnd~</div>
<div>饿死鬼附身了~</div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e5%8f%88%e6%98%af%e5%8a%a0%e7%8f%ad%e6%97%a5%7e&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/08/working-over-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>立秋之前的这段日子</title>
		<link>http://thinklouder.cn/2006/08/before-autumn/</link>
		<comments>http://thinklouder.cn/2006/08/before-autumn/#comments</comments>
		<pubDate>Sat, 19 Aug 2006 06:32:30 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!652.entry</guid>
		<description><![CDATA[很久没有更新了，脑子里没有啥想法，忽略了很多事情！
===================================
上一周的日子过得井然有序，每天早晨一定是八点之后才会醒来。有点阳关照到我，把我给暖和醒了。晚上早早和室友做饭吃。饭后的争论让我口干舌燥，交流真好。从3月15日来到公司已经5个月了，我已经渐渐忘记了大学生活的感觉，除了那些人们&#8230; 我可怜的大学生活啊。
这段时间里和同事聊了特别多，大家的经历各不相同，学校的生活，工作的经历，还有在外面飘泊&#8230;
永刚和他的同学有着比我和我的朋友们严肃的多得友情。我现在的风格是哪里来的？小时候不是这样的。时时刻刻都要搞笑一下。大家都笑累了的时候我还得接着笑翻一会。
聊天中得知了一些同事先前的工作经历，有两位同事2次换工作竟然去了相同的公司，缘分。好几位同事先前还在青岛工作过。统一的评价是地方不错，工资太低。
老胡是我非常佩服的一个家伙，无论是从十几年的程序员经历，还是背着帐篷出去云游。生活很奇妙。
合同很早就拿到手了，但我一直放在柜子里没有签，我并不是要有什么想法，就是有点害怕被锁住。
不过在那天“公司七周年晚宴”之后，我越发的觉着也许应该在这里继续待着。虽然这里没有大厨，但人们都很好。
在哪里不能做出点事来呢！
===================
每天12点左右睡觉。秋天是个让我舒服得季节。
===============
今天终于把出版社的服务器搞定了，一旦出了问题都是我msn给她命令，然后她跟着执行，然后告诉我结果。她是一个很聪明的人。嗯嗯~ 但这样的过程是痛苦的。
====================
昨天开始穿了，常阿姨和南哥送我的裤子，入夏以来第一次穿长裤。很喜欢&#8230;
======================
同龄人中，终于有人开始结婚了。
=====================
酝酿要做一件有意义的事情。无论如何生活总是非常美好的。因为我拥有很多~
]]></description>
			<content:encoded><![CDATA[<p>很久没有更新了，脑子里没有啥想法，忽略了很多事情！</p>
<p>===================================</p>
<p>上一周的日子过得井然有序，每天早晨一定是八点之后才会醒来。有点阳关照到我，把我给暖和醒了。晚上早早和室友做饭吃。饭后的争论让我口干舌燥，交流真好。从3月15日来到公司已经5个月了，我已经渐渐忘记了大学生活的感觉，除了那些人们&#8230; 我可怜的大学生活啊。</p>
<p>这段时间里和同事聊了特别多，大家的经历各不相同，学校的生活，工作的经历，还有在外面飘泊&#8230;</p>
<p>永刚和他的同学有着比我和我的朋友们严肃的多得友情。我现在的风格是哪里来的？小时候不是这样的。时时刻刻都要搞笑一下。大家都笑累了的时候我还得接着笑翻一会。</p>
<p>聊天中得知了一些同事先前的工作经历，有两位同事2次换工作竟然去了相同的公司，缘分。好几位同事先前还在青岛工作过。统一的评价是地方不错，工资太低。</p>
<p>老胡是我非常佩服的一个家伙，无论是从十几年的程序员经历，还是背着帐篷出去云游。生活很奇妙。</p>
<p>合同很早就拿到手了，但我一直放在柜子里没有签，我并不是要有什么想法，就是有点害怕被锁住。</p>
<p>不过在那天“公司七周年晚宴”之后，我越发的觉着也许应该在这里继续待着。虽然这里没有大厨，但人们都很好。</p>
<p>在哪里不能做出点事来呢！</p>
<p>===================</p>
<p>每天12点左右睡觉。秋天是个让我舒服得季节。</p>
<p>===============</p>
<p>今天终于把出版社的服务器搞定了，一旦出了问题都是我msn给她命令，然后她跟着执行，然后告诉我结果。她是一个很聪明的人。嗯嗯~ 但这样的过程是痛苦的。</p>
<p>====================</p>
<p>昨天开始穿了，常阿姨和南哥送我的裤子，入夏以来第一次穿长裤。很喜欢&#8230;</p>
<p>======================</p>
<p>同龄人中，终于有人开始结婚了。</p>
<p>=====================</p>
<p>酝酿要做一件有意义的事情。无论如何生活总是非常美好的。因为我拥有很多~<img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e7%ab%8b%e7%a7%8b%e4%b9%8b%e5%89%8d%e7%9a%84%e8%bf%99%e6%ae%b5%e6%97%a5%e5%ad%90&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/08/before-autumn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>尝试一下微软这迟来的Writer。。。</title>
		<link>http://thinklouder.cn/2006/08/live-writer/</link>
		<comments>http://thinklouder.cn/2006/08/live-writer/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 10:12:12 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!644.entry</guid>
		<description><![CDATA[很久以前Blogger就开放了api，gnome下好几个包可以从客户端贴帖子。ms总是后知后觉&#8230;
现在虽然换了客户端，但还是和在线的WYSIWYG编辑器一个德行，中文输入闪闪闪~
这个工具使用的是前几天看到的office2007的界面风格。
&#8212;&#8212;&#8212;&#8212;&#8212;
下午开会，不知是昨晚睡得不好着凉了，还是上周六，游泳太累了，今天一天浑身疼。受不了了~ &#8230; 
]]></description>
			<content:encoded><![CDATA[<p>很久以前Blogger就开放了api，gnome下好几个包可以从客户端贴帖子。ms总是后知后觉&#8230;</p>
<p>现在虽然换了客户端，但还是和在线的WYSIWYG编辑器一个德行，中文输入闪闪闪~</p>
<p>这个工具使用的是前几天看到的office2007的界面风格。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>下午开会，不知是昨晚睡得不好着凉了，还是上周六，游泳太累了，今天一天浑身疼。受不了了~ &#8230; <img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e5%b0%9d%e8%af%95%e4%b8%80%e4%b8%8b%e5%be%ae%e8%bd%af%e8%bf%99%e8%bf%9f%e6%9d%a5%e7%9a%84writer%e3%80%82%e3%80%82%e3%80%82&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/08/live-writer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我奋斗了18年才和你坐在一起喝咖啡</title>
		<link>http://thinklouder.cn/2006/07/story-of-hard-working/</link>
		<comments>http://thinklouder.cn/2006/07/story-of-hard-working/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 10:49:29 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!620.entry</guid>
		<description><![CDATA[我奋斗了18年才和你坐在一起喝咖啡
http://blog.csai.cn/user1/14737/archives/2006/4397.html
驳 我奋斗了18年才和你坐在一起喝咖啡
http://farseer1987.bokee.com/3126364.html
很有意思~
======================
另一则：
IBM收购普华永道&#8230;
http://www.baidu.com/s?wd=ibm+%CA%D5%B9%BA+%C6%D5%BB%AA%D3%C0%B5%C0&#38;cl=3
========================
在希赛上看到一篇关于考研的讨论
其中 论系统分析员的修养  &#60;&#8212;  这篇对sa的分析很不错。

]]></description>
			<content:encoded><![CDATA[<p>我奋斗了18年才和你坐在一起喝咖啡<br />
<a href="http://blog.csai.cn/user1/14737/archives/2006/4397.html">http://blog.csai.cn/user1/14737/archives/2006/4397.html</a><br />
驳 我奋斗了18年才和你坐在一起喝咖啡<br />
<a href="http://farseer1987.bokee.com/3126364.html">http://farseer1987.bokee.com/3126364.html</a></p>
<p>很有意思~</p>
<p>======================</p>
<p>另一则：</p>
<p>IBM收购普华永道&#8230;</p>
<p><a href="http://www.baidu.com/s?wd=ibm+%CA%D5%B9%BA+%C6%D5%BB%AA%D3%C0%B5%C0&amp;cl=3">http://www.baidu.com/s?wd=ibm+%CA%D5%B9%BA+%C6%D5%BB%AA%D3%C0%B5%C0&amp;cl=3</a></p>
<p>========================</p>
<p>在希赛上看到一篇关于考研的<a href="http://bbs.csai.cn/bbs/view.Asp?PageNo=1&amp;Id={6E7FCA95-307E-48AB-8048-CA7A3B7D81B0}">讨论</a></p>
<p>其中 <a href="http://bbs.csai.cn/bbs/view.Asp?PageNo=1&amp;Id={1A0AD3A5-BA3D-4E68-A4FA-160CB1B30420}">论系统分析员的修养 </a> &lt;&#8212;  这篇对sa的分析很不错。</p>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e6%88%91%e5%a5%8b%e6%96%97%e4%ba%8618%e5%b9%b4%e6%89%8d%e5%92%8c%e4%bd%a0%e5%9d%90%e5%9c%a8%e4%b8%80%e8%b5%b7%e5%96%9d%e5%92%96%e5%95%a1&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/07/story-of-hard-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>系分过了</title>
		<link>http://thinklouder.cn/2006/07/certified-system-analyst/</link>
		<comments>http://thinklouder.cn/2006/07/certified-system-analyst/#comments</comments>
		<pubDate>Thu, 06 Jul 2006 08:02:12 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!604.entry</guid>
		<description><![CDATA[“您的上午成绩是：45,下午成绩是：45，论文成绩是：45，客服电话：010-51262862
自：6286116”

一次通过了~ 虽然这分看着挺悬的&#8230;

=================


45/75 = 60%

]]></description>
			<content:encoded><![CDATA[<div>“您的上午成绩是：45,下午成绩是：45，论文成绩是：45，客服电话：010-51262862<br />
自：6286116”</div>
<div></div>
<div>一次通过了~ 虽然这分看着挺悬的&#8230;</div>
<div></div>
<div>=================</div>
<div></div>
<div></div>
<div>45/75 = 60%</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e7%b3%bb%e5%88%86%e8%bf%87%e4%ba%86&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/07/certified-system-analyst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>还需努力！</title>
		<link>http://thinklouder.cn/2006/06/example/</link>
		<comments>http://thinklouder.cn/2006/06/example/#comments</comments>
		<pubDate>Thu, 08 Jun 2006 21:26:20 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!569.entry</guid>
		<description><![CDATA[项目有点忙~
怕扣工资不想请假，也不愿意把时间花在漫无目的的胡思乱想上。
毕设快交了大家都紧张~因为自己的东西也没做完，也就没法去帮别人什么忙！
时间就象乳沟~挤一挤总会有的！ &#60;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;罗兄的签名如题所示。&#8212;&#8212;&#8212;- 有道理！
==========================
前天晚上，和二文喝的欢聊得也欢，虽然他也在北京呆了这么久了，我们没聚过几次，有两次还是我去找他帮忙。尽管我们只间隔一站城铁这么远。
说好了请他MM来北京吃大餐。
时间过得快。他和她喜欢的MM认识都八九年了，好了也六七年了。（BTW，我和她的MM认识的时间更长十五年+）我真没想到他是对爱情这么忠贞的一个人，在这天之前我一直认为他是个和尚或者一个没有什么欲望的工作狂。错的还挺彻底。
就像他说的一物降一物，为了这个MM他第一次被降服，有啥能难倒他，除了这个MM的事情。
不过他人品也太好了，他请假陪MM老板竟然发信给全组说&#8221;因为长时间加班劳累而病倒&#8230;&#8221;回公司之后大家还都来慰问，只是奇怪为啥病倒了，反而看起来更滋润了&#8230;
我觉着我和他真是截然不同的两种人，我希望每时每刻都发生变化，如果没有变化我就自己创造变化。他却希望非常安稳的做着他的研究，他确实也能做出来。如果我也能做出来，可能我就不会这么喜欢变化，我是在变化中求生存。
如果我的MM出国，我想的是&#8221;会不会跟别的更优秀的人好了&#8221;。他想的是&#8221;她会不会因为长时间不在一起，随便找一个人好了&#8221;，他担心的不是她会遇到一个比自己更好的人，而是觉着她很难找到一个和他那么优秀而且死心塌地的人。他确实是事事从这个MM的角度考虑。我就烂的很，自私得很&#8230;
之前还惦记着给他介绍几个MM认识，可翻来翻去都没有特别合适的人选。他其实不需要我操心。
喝完酒我们到传说中的雕刻时光，继续聊着以前的事。看着旁桌1拖5的阵势，我们的话题似乎总也离不开MM，两个男人对面坐着聊MM，旁人看来应该不会认为我们是gay。管它的~ 旁边一位兄台竟然1拖5，强！ 我们说道高中的小班长，挺好的人，她应该会是一个让人知足的MM。为啥高中时不能对她好点，将来再见面也会觉着你是个不错的人&#8230; 高中还是有很多值得回忆。
也说到了家里人&#8230; 还有很多我未曾想到过的问题&#8230;
不如啊~
PS:我花了半天功夫，写了这篇日志，就当我给他+U，希望能如他所愿！那么我少睡得这几个小时，也就没有白费了！
大Boss已经开始往Bugzilla上贴东西了，赶紧睡了~
]]></description>
			<content:encoded><![CDATA[<p>项目有点忙~<br />
怕扣工资不想请假，也不愿意把时间花在漫无目的的胡思乱想上。<br />
毕设快交了大家都紧张~因为自己的东西也没做完，也就没法去帮别人什么忙！<br />
时间就象乳沟~挤一挤总会有的！ &lt;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;罗兄的签名如题所示。&#8212;&#8212;&#8212;- 有道理！<br />
==========================<br />
前天晚上，和二文喝的欢聊得也欢，虽然他也在北京呆了这么久了，我们没聚过几次，有两次还是我去找他帮忙。尽管我们只间隔一站城铁这么远。<br />
说好了请他MM来北京吃大餐。<br />
时间过得快。他和她喜欢的MM认识都八九年了，好了也六七年了。（BTW，我和她的MM认识的时间更长十五年+）我真没想到他是对爱情这么忠贞的一个人，在这天之前我一直认为他是个和尚或者一个没有什么欲望的工作狂。错的还挺彻底。<br />
就像他说的一物降一物，为了这个MM他第一次被降服，有啥能难倒他，除了这个MM的事情。<br />
不过他人品也太好了，他请假陪MM老板竟然发信给全组说&#8221;因为长时间加班劳累而病倒&#8230;&#8221;回公司之后大家还都来慰问，只是奇怪为啥病倒了，反而看起来更滋润了&#8230;<br />
我觉着我和他真是截然不同的两种人，我希望每时每刻都发生变化，如果没有变化我就自己创造变化。他却希望非常安稳的做着他的研究，他确实也能做出来。如果我也能做出来，可能我就不会这么喜欢变化，我是在变化中求生存。<br />
如果我的MM出国，我想的是&#8221;会不会跟别的更优秀的人好了&#8221;。他想的是&#8221;她会不会因为长时间不在一起，随便找一个人好了&#8221;，他担心的不是她会遇到一个比自己更好的人，而是觉着她很难找到一个和他那么优秀而且死心塌地的人。他确实是事事从这个MM的角度考虑。我就烂的很，自私得很&#8230;<br />
之前还惦记着给他介绍几个MM认识，可翻来翻去都没有特别合适的人选。他其实不需要我操心。<br />
喝完酒我们到传说中的雕刻时光，继续聊着以前的事。看着旁桌1拖5的阵势，我们的话题似乎总也离不开MM，两个男人对面坐着聊MM，旁人看来应该不会认为我们是gay。管它的~ 旁边一位兄台竟然1拖5，强！ 我们说道高中的小班长，挺好的人，她应该会是一个让人知足的MM。为啥高中时不能对她好点，将来再见面也会觉着你是个不错的人&#8230; 高中还是有很多值得回忆。<br />
也说到了家里人&#8230; 还有很多我未曾想到过的问题&#8230;<br />
不如啊~<br />
PS:我花了半天功夫，写了这篇日志，就当我给他+U，希望能如他所愿！那么我少睡得这几个小时，也就没有白费了！<br />
大Boss已经开始往Bugzilla上贴东西了，赶紧睡了~</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/06/example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>坚持自己的观点</title>
		<link>http://thinklouder.cn/2006/06/stick-to-your-own-opinion/</link>
		<comments>http://thinklouder.cn/2006/06/stick-to-your-own-opinion/#comments</comments>
		<pubDate>Tue, 06 Jun 2006 21:11:32 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Idea]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!549.entry</guid>
		<description><![CDATA[后半夜Yahoo通上碰到Kuncoro,就开始神侃~ 谈到Martin Fowler在他给的书上签名，他说他还没有见过Martin Fowler。

后来扯到protopage上，我就把前一段时间分析的客户端脚本的心得说给他听~确实，我的分析结果所带来的好处，只能改进一些客户端的交互性和强健性。Kuncoro主要关心的还是性能~

有一种意见叫作建设性意见，我提的这些都算是非建设性意见了~


我觉着有时候自己不能坚持自己的观点&#8230;

kelvin_sun83 (4:10:07): wait, kuncoros~ i sometimes go into day dreams like this~ sometimes it will NOT help to solve problems &#8230; if this does not help, please forgive me~ :-$
kuncoros (4:11:25): it is okay to daydream, most great inventions are created that way
kuncoros (4:11:42): you just have to be willing to follow through [...]]]></description>
			<content:encoded><![CDATA[<div>后半夜Yahoo通上碰到Kuncoro,就开始神侃~ 谈到Martin Fowler在他给的书上签名，他说他还没有见过Martin Fowler。</div>
<div></div>
<div>后来扯到<a href="http://www.protopage.com">protopage</a>上，我就把前一段时间分析的客户端脚本的心得说给他听~确实，我的分析结果所带来的好处，只能改进一些客户端的交互性和强健性。Kuncoro主要关心的还是性能~</div>
<div></div>
<div>有一种意见叫作建设性意见，我提的这些都算是非建设性意见了~</div>
<div></div>
<div></div>
<div>我觉着有时候自己不能坚持自己的观点&#8230;</div>
<div></div>
<div>kelvin_sun83 (4:10:07): wait, kuncoros~ i sometimes go into day dreams like this~ sometimes it will NOT help to solve problems &#8230; if this does not help, please forgive me~ :-$<br />
kuncoros (4:11:25): it is okay to daydream, most great inventions are created that way<br />
kuncoros (4:11:42): you just have to be willing to follow through once you agree to go for it<br />
kuncoros (4:11:48): don&#8217;t run away once you have committed<br />
kuncoros (4:11:57): so now i am asking you if you are sure, if you are committed, if so, we can continue</div>
<div></div>
<div></div>
<div>他说的对~ 应该坚信自己的观点并努力证明，直道被彻底证明不可行才放弃&#8230; 请坚持自己的观点&#8230;</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e5%9d%9a%e6%8c%81%e8%87%aa%e5%b7%b1%e7%9a%84%e8%a7%82%e7%82%b9...&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/06/stick-to-your-own-opinion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>胖</title>
		<link>http://thinklouder.cn/2006/06/fat/</link>
		<comments>http://thinklouder.cn/2006/06/fat/#comments</comments>
		<pubDate>Tue, 06 Jun 2006 18:07:07 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!548.entry</guid>
		<description><![CDATA[人们总是莫名其妙的就胖起来了~
目前体重已经不能忍受，严重影响形象和行动&#8230; 减肥~
恭喜一下涨了工资~ 本月打算买个手机fail掉我那古老的小灵通。
最近睡得有点晚~
我也不想12点之前睡下会睡得很舒服，早晨起来也有精神；睡晚了除非晚起，不然白天头晕脑涨！
和才女吴同学讨论了是不是搞计算机的人由于信息过载容易健忘，结论是不是变得健忘，而是记得太多，忘却率提高，但由于基数大记住的东西还是多很多。这下放心了，继续信息过载。
感谢我可爱的PM请了好多天假，竟然全勤！God bless U!
最近听张学友的《黑与白》&#8230; 整个专辑都好听！
===================================================
今天上午又挑简历&#8230; pass掉了大部分&#8230; 只留下了7-8个&#8230;~ 我觉着我还没有资历去挑别人。还是先招来大家笔试一下再人工筛选好一些！
===================================================
中午蹭了媛媛姐一顿，老朋友好久没见了~
===================================================
最失败的一件事，就是去办了张中国银行的卡，这卡就是一砣SHI&#8230;
]]></description>
			<content:encoded><![CDATA[<p>人们总是莫名其妙的就胖起来了~<br />
目前体重已经不能忍受，严重影响形象和行动&#8230; 减肥~<br />
恭喜一下涨了工资~ 本月打算买个手机fail掉我那古老的小灵通。<br />
最近睡得有点晚~<br />
我也不想12点之前睡下会睡得很舒服，早晨起来也有精神；睡晚了除非晚起，不然白天头晕脑涨！<br />
和才女吴同学讨论了是不是搞计算机的人由于信息过载容易健忘，结论是不是变得健忘，而是记得太多，忘却率提高，但由于基数大记住的东西还是多很多。这下放心了，继续信息过载。<br />
感谢我可爱的PM请了好多天假，竟然全勤！God bless U!<br />
最近听张学友的《黑与白》&#8230; 整个专辑都好听！<br />
===================================================<br />
今天上午又挑简历&#8230; pass掉了大部分&#8230; 只留下了7-8个&#8230;~ 我觉着我还没有资历去挑别人。还是先招来大家笔试一下再人工筛选好一些！<br />
===================================================<br />
中午蹭了媛媛姐一顿，老朋友好久没见了~<br />
===================================================<br />
最失败的一件事，就是去办了张中国银行的卡，这卡就是一砣SHI&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/06/fat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>敏捷中国</title>
		<link>http://thinklouder.cn/2006/06/agile-china-2006/</link>
		<comments>http://thinklouder.cn/2006/06/agile-china-2006/#comments</comments>
		<pubDate>Mon, 05 Jun 2006 02:05:55 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!537.entry</guid>
		<description><![CDATA[6月2日~
2006敏捷中国
参加的人还是比较多~200-300人的场子满满的~
不过最遗憾的是，Martin Fowler 似乎吃坏了肚子，据说是麻辣小龙虾&#8230;没能自己完成它的演讲，自然也没有了问答式的交流~
我抱着组里的书去找他签名~ 但忘记了说“早日康复”之类的话。 &#60;&#8212; 我月来越觉着我的E文就是一砣SHI&#8230;

]]></description>
			<content:encoded><![CDATA[<div>6月2日~</div>
<div>2006敏捷中国</div>
<div>参加的人还是比较多~200-300人的场子满满的~</div>
<div>不过最遗憾的是，Martin Fowler 似乎吃坏了肚子，据说是麻辣小龙虾&#8230;没能自己完成它的演讲，自然也没有了问答式的交流~</div>
<div>我抱着组里的书去找他签名~ 但忘记了说“早日康复”之类的话。 &lt;&#8212; 我月来越觉着我的E文就是一砣SHI&#8230;</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e6%95%8f%e6%8d%b7%e4%b8%ad%e5%9b%bd&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/06/agile-china-2006/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>创新</title>
		<link>http://thinklouder.cn/2006/06/innovation/</link>
		<comments>http://thinklouder.cn/2006/06/innovation/#comments</comments>
		<pubDate>Thu, 01 Jun 2006 15:54:41 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Idea]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!528.entry</guid>
		<description><![CDATA[“任何创新都有可能被抄袭，唯一能够持续的就是让优秀的人才不断创新”。为此，李开复对那些有远大志向的中国公司提出四条建议：一、要有使命感，并非纯粹为了赚钱而存在；二、要有科研技术；三、要树立“思考比成绩重要，实干比头衔重要，能力比资历重要”的理念；四、让大师和普通员工在一起工作。“
咋了？~
当你敬仰一个人的时候就觉着他说的话特有道理。持续创新~
先把毕设弄完了~

]]></description>
			<content:encoded><![CDATA[<div>“任何创新都有可能被抄袭，唯一能够持续的就是让优秀的人才不断创新”。为此，李开复对那些有远大志向的中国公司提出四条建议：一、要有使命感，并非纯粹为了赚钱而存在；二、要有科研技术；三、要树立“思考比成绩重要，实干比头衔重要，能力比资历重要”的理念；四、让大师和普通员工在一起工作。“<br />
咋了？~</div>
<div>当你敬仰一个人的时候就觉着他说的话特有道理。持续创新~</div>
<div>先把毕设弄完了~</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e5%88%9b%e6%96%b0&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/06/innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>需要好好学算法</title>
		<link>http://thinklouder.cn/2006/05/google/</link>
		<comments>http://thinklouder.cn/2006/05/google/#comments</comments>
		<pubDate>Wed, 31 May 2006 13:43:10 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!519.entry</guid>
		<description><![CDATA[二文要去Google参观，貌似李开复那种去坐坐接着就跳槽了～
昨天和胡前辈曝光了之前我的挂科记录～不知道这样我还能不能留下～
现在看的很开～工作不重要，我就想找到能自信的舒服的编程的感觉&#8230;~
毕设完成了1/3，也许还不到，不过看起来还不错&#8230;
Ajax那个比赛6月15号提交作品，可我挺不想就这么轻易把代码给出去。或者干脆就光光的放在网上让大家随便用。
持续的学习《算法导论》&#8230;
学校没开单独的算法课程，怀疑即使开了也不一定去上。
虽然现在做的东西很高级很OO，但我始终觉着算法和底层的东东也非常有趣&#8230;
突然间发现周围多了好多搞数学的家伙，二文是搞算法的，组里有一位曾在中科院研究加密解密算法的牛人，一位北大数学系的博士，还有目前的室友也是应用数学转做计算机&#8230;  室友的课设拿出来让我很汗颜，我看不懂那程序&#8230;
不过我没打算放弃对算法的学习。就是一个态度的问题。算法挺有意思的&#8230;

]]></description>
			<content:encoded><![CDATA[<div>二文要去Google参观，貌似李开复那种去坐坐接着就跳槽了～</div>
<div>昨天和胡前辈曝光了之前我的挂科记录～不知道这样我还能不能留下～</div>
<div>现在看的很开～工作不重要，我就想找到能自信的舒服的编程的感觉&#8230;~</div>
<div>毕设完成了1/3，也许还不到，不过看起来还不错&#8230;</div>
<div>Ajax那个比赛6月15号提交作品，可我挺不想就这么轻易把代码给出去。或者干脆就光光的放在网上让大家随便用。</div>
<div>持续的学习《算法导论》&#8230;</div>
<div>学校没开单独的算法课程，怀疑即使开了也不一定去上。</div>
<div>虽然现在做的东西很高级很OO，但我始终觉着算法和底层的东东也非常有趣&#8230;</div>
<div>突然间发现周围多了好多搞数学的家伙，二文是搞算法的，组里有一位曾在中科院研究加密解密算法的牛人，一位北大数学系的博士，还有目前的室友也是应用数学转做计算机&#8230;  室友的课设拿出来让我很汗颜，我看不懂那程序&#8230;</div>
<div>不过我没打算放弃对算法的学习。就是一个态度的问题。算法挺有意思的&#8230;</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+Google&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/05/google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我没有更新</title>
		<link>http://thinklouder.cn/2006/05/no-updates/</link>
		<comments>http://thinklouder.cn/2006/05/no-updates/#comments</comments>
		<pubDate>Sat, 13 May 2006 15:13:51 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!453.entry</guid>
		<description><![CDATA[最近比较忙，毕设、系分考试、公司的项目。
事情好多啊。
]]></description>
			<content:encoded><![CDATA[<p>最近比较忙，毕设、系分考试、公司的项目。<br />
事情好多啊。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/05/no-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VeryCD 雀巢 NMT</title>
		<link>http://thinklouder.cn/2006/04/verycd-and-nmt/</link>
		<comments>http://thinklouder.cn/2006/04/verycd-and-nmt/#comments</comments>
		<pubDate>Tue, 25 Apr 2006 05:46:40 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!447.entry</guid>
		<description><![CDATA[VeryCD 目前最大的共享社区，有一个很有规模的mp3共享计划，经典音乐电影无数
雀巢咖啡 知名咖啡厂商，nmt赞助商
nmt 中学时我最喜欢的音乐节目
=====================================
由于verycd的传播，很多音乐电影的生命周期大大增长，受众面也更加广泛。
雀巢咖啡 借由nmt培养起了一定的忠实客户,如我。
nmt节目录音中的雀巢咖啡广告并没有被去掉&#8230; 如果重新将这些节目录音在网上传播，雀巢咖啡广告会继续发挥效应。对雀巢来说是有一定经济和社会效益的事情。
广播电台会保存自己播放过的节目的拷贝&#8230;
没准可行~

]]></description>
			<content:encoded><![CDATA[<p>VeryCD 目前最大的共享社区，有一个很有规模的mp3共享计划，经典音乐电影无数<br />
雀巢咖啡 知名咖啡厂商，nmt赞助商<br />
nmt 中学时我最喜欢的音乐节目<br />
=====================================<br />
由于verycd的传播，很多音乐电影的生命周期大大增长，受众面也更加广泛。<br />
雀巢咖啡 借由nmt培养起了一定的忠实客户,如我。<br />
nmt节目录音中的雀巢咖啡广告并没有被去掉&#8230; 如果重新将这些节目录音在网上传播，雀巢咖啡广告会继续发挥效应。对雀巢来说是有一定经济和社会效益的事情。<br />
广播电台会保存自己播放过的节目的拷贝&#8230;<br />
没准可行~</p>
<p><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/04/verycd-and-nmt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>雀巢咖啡音乐时间</title>
		<link>http://thinklouder.cn/2006/04/nmt/</link>
		<comments>http://thinklouder.cn/2006/04/nmt/#comments</comments>
		<pubDate>Sun, 23 Apr 2006 14:55:03 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!446.entry</guid>
		<description><![CDATA[男：&#8221;王小姐。今天会下雨嘛？&#8221;
女：&#8221;这个问题重要嘛？&#8221;
男：&#8221;其实。其实我想&#8230;&#8230;&#8221;
女：&#8221;想来杯雀巢咖啡嘛？&#8221;
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;
男：&#8221;其实，我就是想请你吃个饭。&#8221;
群：18787439
初中最喜欢听的一个节目-雀巢咖啡音乐时间
从那时起开始喜欢欧美的流行音乐。在青岛的播出时间应该是周四晚上和周日下午。一边做着作业一边听着节目,笑！
maggie,颖瑶，还有某人的宫爆鸡丁&#8230;
http://www.intergx.com/yeen
http://www.hello.uk.com/
今天下载到了八年前听过的一期节目，从一个纪念nmt的网站网站。
谢谢内容的提供者。
]]></description>
			<content:encoded><![CDATA[<p>男：&#8221;王小姐。今天会下雨嘛？&#8221;<br />
女：&#8221;这个问题重要嘛？&#8221;<br />
男：&#8221;其实。其实我想&#8230;&#8230;&#8221;<br />
女：&#8221;想来杯雀巢咖啡嘛？&#8221;<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
男：&#8221;其实，我就是想请你吃个饭。&#8221;<br />
群：18787439<br />
初中最喜欢听的一个节目-雀巢咖啡音乐时间<br />
从那时起开始喜欢欧美的流行音乐。在青岛的播出时间应该是周四晚上和周日下午。一边做着作业一边听着节目,笑！<br />
maggie,颖瑶，还有某人的宫爆鸡丁&#8230;</p>
<p>http://www.intergx.com/yeen</p>
<p>http://www.hello.uk.com/</p>
<p>今天下载到了八年前听过的一期节目，从一个纪念nmt的网站网站。<br />
谢谢内容的提供者。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/04/nmt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>又是一周-重构</title>
		<link>http://thinklouder.cn/2006/04/another-week-in-refactoring/</link>
		<comments>http://thinklouder.cn/2006/04/another-week-in-refactoring/#comments</comments>
		<pubDate>Fri, 14 Apr 2006 13:24:33 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Refactoring]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!430.entry</guid>
		<description><![CDATA[本周将分到的任务大致完成了，昨天没有checkin到svn里，今天就开始了重构，不想留一个有问题的版本到下一周&#8230;

因为马上要期中检查，所以得赶紧将任务完成，然后写一些东西交给老师&#8230; 毕设得抓紧啊~

====================================

人怕出名猪怕壮，熊节被人盯上了。
http://www.zhangxun.com/reviews/gigix.aspx
http://www.zhangxun.com/default.aspx

======================================

昨天和组里的同事们加班，到2点多才回去。今天这个困啊~中午才到公司。

不过在这个组很有意思~

]]></description>
			<content:encoded><![CDATA[<div>本周将分到的任务大致完成了，昨天没有checkin到svn里，今天就开始了重构，不想留一个有问题的版本到下一周&#8230;</div>
<div></div>
<div>因为马上要期中检查，所以得赶紧将任务完成，然后写一些东西交给老师&#8230; 毕设得抓紧啊~</div>
<div></div>
<div>====================================</div>
<div></div>
<div>人怕出名猪怕壮，熊节被人盯上了。</div>
<div><a href="http://www.zhangxun.com/reviews/gigix.aspx">http://www.zhangxun.com/reviews/gigix.aspx</a></div>
<div><a href="http://www.zhangxun.com/default.aspx">http://www.zhangxun.com/default.aspx</a></div>
<div></div>
<div>======================================</div>
<div></div>
<div>昨天和组里的同事们加班，到2点多才回去。今天这个困啊~中午才到公司。</div>
<div></div>
<div>不过在这个组很有意思~</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e5%8f%88%e6%98%af%e4%b8%80%e5%91%a8-%e9%87%8d%e6%9e%84&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/04/another-week-in-refactoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>生日</title>
		<link>http://thinklouder.cn/2006/04/birthday/</link>
		<comments>http://thinklouder.cn/2006/04/birthday/#comments</comments>
		<pubDate>Fri, 07 Apr 2006 03:16:35 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!413.entry</guid>
		<description><![CDATA[昨天发了工资卡，没有MM提醒都没有意识到今天是生日~
来大家祝我生日快乐吧~
=====================================

]]></description>
			<content:encoded><![CDATA[<div>昨天发了工资卡，没有MM提醒都没有意识到今天是生日~</div>
<div>来大家祝我生日快乐吧~</div>
<div>=====================================</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e7%94%9f%e6%97%a5&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/04/birthday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>常阿姨的教导</title>
		<link>http://thinklouder.cn/2006/04/auntie-chang/</link>
		<comments>http://thinklouder.cn/2006/04/auntie-chang/#comments</comments>
		<pubDate>Wed, 05 Apr 2006 06:46:57 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!405.entry</guid>
		<description><![CDATA[一位阿姨的教导：
1) 少说话多做事，但肚子里得有东西
2) 别把自己当棵葱
需要在适当的机会表现自己。
==========================
开会谈进度，和对系统设计的看法，除了平时喜欢说的其他都保持沉默。
作为一个manager能让手下说话是一个本事。
工资还是没有发&#8230;~

]]></description>
			<content:encoded><![CDATA[<div>一位阿姨的教导：</div>
<div>1) 少说话多做事，但肚子里得有东西</div>
<div>2) 别把自己当棵葱</div>
<div>需要在适当的机会表现自己。</div>
<div>==========================</div>
<div>开会谈进度，和对系统设计的看法，除了平时喜欢说的其他都保持沉默。</div>
<div>作为一个manager能让手下说话是一个本事。</div>
<div>工资还是没有发&#8230;~</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e6%9d%a5%e8%87%aa%e4%b8%80%e4%b8%aa%e9%98%bf%e5%a7%a8%e7%9a%84%e6%95%99%e5%af%bc%7e&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/04/auntie-chang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>否极泰来</title>
		<link>http://thinklouder.cn/2006/03/%e5%90%a6%e6%9e%81%e6%b3%b0%e6%9d%a5/</link>
		<comments>http://thinklouder.cn/2006/03/%e5%90%a6%e6%9e%81%e6%b3%b0%e6%9d%a5/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 18:23:14 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!362.entry</guid>
		<description><![CDATA[发现Category乱七八糟的一点都不优美,长长短短.
最近有N个人跟我说&#34;此地不留爷自有留爷处&#34;,有道理&#8230; 只不过我不喜欢等,也不喜欢太过挑剔&#8230;
物理下的成绩不知道能不能改动了,正常的渠道希望渺茫&#8230; 虽然我和很多人都把这些老师骂做禽兽,但他们也只是混口饭吃.教评期间丢了饭碗就不好了&#8230; 
公司让我明天签合同,我想在签合同之前还是说明白的好.
如果一直瞒着等7月份不能顺利拿到毕业证,事情就会变的极端被动.
另外我也同意lyp&#8212;-&#34;诚信是职场最重要的品质&#34;.
我不想对公司说假话. 
前天通了电话表达了可以不考虑户口,昨天发来Offer,今天发来报到通知
要求带三方,推荐信,成绩单,四六级证书等等~
很多人说要求带三方表示可以给办户口,但是之前明明说好的不要户口呀,其实是不敢要,而且家里也说了,不必把户口弄到北京,放在青岛挺好&#8230; 
成绩单,我的痛. 
我会说明白的,自信总得有,看不起我,另寻他处就是了&#8230; 
 
]]></description>
			<content:encoded><![CDATA[<p>发现Category乱七八糟的一点都不优美,长长短短.</p>
<p><p>最近有N个人跟我说&quot;此地不留爷自有留爷处&quot;,有道理&#8230; 只不过我不喜欢等,也不喜欢太过挑剔&#8230;</p>
<p><p>物理下的成绩不知道能不能改动了,正常的渠道希望渺茫&#8230; 虽然我和很多人都把这些老师骂做禽兽,但他们也只是混口饭吃.教评期间丢了饭碗就不好了&#8230; </p>
<p><p>公司让我明天签合同,我想在签合同之前还是说明白的好.</p>
<p>如果一直瞒着等7月份不能顺利拿到毕业证,事情就会变的极端被动.</p>
<p>另外我也同意<a href="http://www.leeyupeng.com">lyp</a>&#8212;-&quot;诚信是职场最重要的品质&quot;.</p>
<p><p>我不想对公司说假话. </p>
<p><p>前天通了电话表达了可以不考虑户口,昨天发来Offer,今天发来报到通知</p>
<p>要求带三方,推荐信,成绩单,四六级证书等等~</p>
<p>很多人说要求带三方表示可以给办户口,但是之前明明说好的不要户口呀,其实是不敢要,而且家里也说了,不必把户口弄到北京,放在青岛挺好&#8230; </p>
<p>成绩单,我的痛. </p>
<p><p>我会说明白的,自信总得有,看不起我,另寻他处就是了&#8230; </p>
<p><p> <img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%90%a6%e6%9e%81%e6%b3%b0%e6%9d%a5&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/03/%e5%90%a6%e6%9e%81%e6%b3%b0%e6%9d%a5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>几个常用上传空间</title>
		<link>http://thinklouder.cn/2006/03/%e5%87%a0%e4%b8%aa%e5%b8%b8%e7%94%a8%e4%b8%8a%e4%bc%a0%e7%a9%ba%e9%97%b4/</link>
		<comments>http://thinklouder.cn/2006/03/%e5%87%a0%e4%b8%aa%e5%b8%b8%e7%94%a8%e4%b8%8a%e4%bc%a0%e7%a9%ba%e9%97%b4/#comments</comments>
		<pubDate>Wed, 08 Mar 2006 14:59:23 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!339.entry</guid>
		<description><![CDATA[



几个常用上传空间     -&#124;咕噜猪 发表于 2006-2-26 12:43:52 










● 图片上传空间
☆ 网易相册http://photo.163.com/
空间大小：无限图片大小限制：无限外链情况：不可外链保存时间限制：无限下载次数限制：无限速度：很快语言：中文其他：需网易ID，有密码功能，支持JPG、gif格式图片。服务器很稳定，是目前国内最普及的网络相册提供商。
 
☆ 雅虎相册http://cn.photo.yahoo.com/
空间大小：无限图片大小限制：无限外链情况：不可外链保存时间限制：无限下载次数限制：无限速度：一般语言：中文其他：需雅虎ID，有密码功能。英文版雅虎相册在国外普及率比较高。
 
☆ Flickrhttp://www.flickr.com/
空间大小：免费用户每月20M图片大小限制：不超过20M外链情况：可外链保存时间限制：无限下载次数限制：无限速度：国内一般，欧美地区较快语言：英文其他：需雅虎ID，有密码功能。图床很稳定，支持JPG、gif、png格式图片，用于网站、Blog外链插图非常合适。（Flickr使用指南）
 
☆ 又拍网http://www.yupoo.com/
空间大小：免费用户每月30M上传流量图片大小限制：不超过20M外链情况：可外链保存时间限制：无限下载次数限制：无限速度：较快语言：中文其他：需邮箱注册，有密码功能。从界面到功能基本模仿Flickr。不过，虽然有模仿抄袭之嫌，但仍不失为国内比较稳定又功能齐全的一个空间提供商。
 
☆ 23 Photohttp://www.23hq.com/
空间大小：免费用户每月20M图片大小限制：不超过20M外链情况：可外链保存时间限制：无限下载次数限制：无限速度：国内一般，欧美地区较快语言：英文，注册后可设置中文其他：需邮箱注册，有密码功能。服务器较为稳定，支持JPG、gif、png格式图片，用于网站、Blog外链插图非常合适。
 
☆ 巴巴变http://www.bababian.com/
空间大小：免费用户每月100M图片大小限制：不超过50M外链情况：可外链保存时间限制：无限下载次数限制：无限速度：较快语言：中文其他：需邮箱注册，有密码功能。从界面到功能基本模仿Flickr。
 
☆ 56 Photohttp://photo.56.com/
空间大小：无限图片大小限制：单图不超过2048KB，尺寸不能超过2048×2048像素外链情况：可外链，但偶尔不稳定保存时间限制：无限下载次数限制：无限速度：较快语言：中文其他：需邮箱注册，有密码功能，支持JPG、gif、png格式图片。

● 普通上传空间特点：时限性。但基本各种类型的文件都可上传，为网页上传，非FTP上传。
☆ SendSpacehttp://www.sendspace.com/
空间大小：无限文件大小限制：1.2GB保存时间限制：文件14天内无下载行为便会喀嚓上传限制：文件上传上限为1200MB，此外限1200MB／24hours。一个文件累积被下载100GB或连续14天无人下载，链接作废。下载次数限制：无速度：国外很快，国内一般语言：英文其他：不强制注册，可抓出外链下载地址。
 
☆ zUploadhttp://www.zupload.com/
空间大小：500MB文件大小限制：500MB保存时间限制：文件30天内无下载行为就删除。上传限制：500MB下载次数限制：无速度：有点慢语言：英文其他：不强制注册。
 
☆ 450mbhttp://www.450mb.com/
空间大小：450MB文件大小限制：单文档450MB，不限带宽、Web上传和下载，支持HTML和JavaScript。保存时间限制：无上传限制：450MB下载次数限制：无速度：一般语言：英文其他：需注册。同类型的还有Free-Hoster。
 
☆ Sendoverhttp://www.sendover.com/
空间大小：2GB文件大小限制：无保存时间限制：文件7天内无下载行为就删除，如果有下载便延后7天。也就是说上传的档案并不会永久保存。上传限制：2GB下载次数限制：上传档案被下载的连线没有限制。也就是说，无数个人可以在同一时间内下载同一个档案。速度：一般语言：英文其他：不强制注册。
 
☆ FileFactoryhttp://www.filefactory.com/
空间大小：分为500MB和1.5GB两种类型。文件大小限制：500MB保存时间限制：500MB类型只要在过去15天内曾经被下载会永远保存；1.5GB类型限保存7天或下载超过25次。下载次数限制：500MB类型无限；1.5GB类型限下载不超过25次。速度：国外很快，国内一般语言：英文其他：不需注册。
 
☆ Mofile中国活动通信http://www.mofile.com/cn/
空间大小：1024M接力箱和32M保管箱文件大小限制：无限保存时间限制：接力箱3天，保管箱永久（所以不要被空间大小迷惑）下载次数限制：有。速度：一般。普通用户限速且限线程。常遇到System Busy。语言：中文其他：需要注册。中国内地的歌迷比较常用。限制内的下载次数很容易被用光（尤其有人多次刷新时）VIP的话，所有待遇会好些。不是很推荐这个网站，无奈现在很多没找到其他上传网站的人还在用它。

● 音频、视频上传空间
☆ STICKAMhttp://www.stickam.com/
功能：综合媒体空间，几乎全能：包括图片、音频、视频、本地摄像头自拍上传。外链情况：可外链空间大小：500M上传文件大小限制：没有带宽制约保存时间限制：永久观看速度：不错上传速度：不错语言：英文其他：需注册。外链、播放等方式基本和YouTube等差不多。测试样本：http://www.stickam.com/profile/lkaoc
 
☆ You Tubehttp://www.youtube.com/
功能：视频上传外链情况：可外链空间大小：无限制上传文件大小限制：单个文件最大100M保存时间限制：永久观看速度：一般上传速度：一般语言：英文其他：需注册。不会被人查到视频真实网址（因为是使用FLASH播放器，除非遇上熟手）。有生成外链插入网页代码。缺点是视频大小固定，容易使视频模糊。(具体介绍)测试样本：http://www.youtube.com/watch?v=bcxbqmYTxqY
 
☆ Xuite WebHDhttp://www.xuite.net/
功能：网站功能很多，其中一项“网络硬碟”可上传文件。各种文件都可。外链情况：不能外链空间大小：最大可手动调整到230M上传文件大小限制：单个最大值50M保存时间限制：永久观看速度：无上传速度：一般语言：中文其他：需注册。
 
☆ File Lodgehttp://www.filelodge.com/
功能：似乎是全能网站。音频视频图片皆可。外链情况：支持外链空间大小：500M上传文件大小限制：小于500M保存时间限制：永久播放速度：不错上传速度：一般语言：英文其他：音频视频有时候直接打开地址不一定能播放，但在Windows Meida Player等播放器里打开绝对能听，且速度不错，不需要缓冲很久。网站能生成上传文件在网页上的代码（比如在网页播放MP3为背景音乐的代码）测试样本：http://www.filelodge.com/files/hdd8/189366/misia.mp3该文件为一个5.9M的MP3文件。
 
☆ Castposthttp://www.castpost.com/
功能：音频、视频上传外链情况：支持外链空间大小：100M上传文件大小限制：小于100M保存时间限制：永久观看速度：一般上传速度：比YouTube快很多语言：英文其他：需注册。提供在线观看，易查到流媒网址。样本测试：http://keleijin.castpost.com/97676.html该文件为一个41.4M的文件。

● 上传贴士
① 上传过程中不要按任何上传页面的按扭。否则功亏一篑。好吧，如果你一定要按，就用右键按“在新窗口中打开”。
② 使用网页方式上传的网站有的不显示上传的进度条。这时候你可以看IE的状态栏。有前进就表示在上传。当然，如果文件很大或网速很慢有可能很久很久那个东西才前进一点。
③ 切记上传文件务必用英文或数字命名，如果是中文名或符号命名文件可能导致下载错误。有的空间上传完后会直接以文件在你电脑上的名字命名，如果文件名中有空格可能会导致你文件按正确的地址也打不开。
④ 请珍惜网络资源。没有特殊必要就不要一个人在同一网站上注册N个账号。
⑤ 如果你想传些几M的小文件又觉得以上推荐的网站不够好，你可以去搜索网站搜一些比如“公共上传区”之类的东西。那些地方一般可以外链且如果碰上不勤或好心的斑竹基本文件不会被删。不过这事好象不太好又冒风险就是了。
⑥ 如果有时打不开以上空间请不要放弃。都是久经考验的空间。过段时间再试试？要找免费上传就得有耐心



]]></description>
			<content:encoded><![CDATA[<div>
<table style="table-layout:fixed;word-break:break-all" cellspacing=0 cellpadding=0 width="99%" border=0>
<tbody>
<tr>
<td bgcolor="#f0f0f0"><strong>几个常用上传空间     -|</strong><span>咕噜猪 发表于 2006-2-26 12:43:52</span> </p>
<tr>
<td>
<table cellspacing=0 cellpadding=0 width="100%" border=0>
<tbody>
<tr>
<td>
<div align=right></div>
</tbody>
</table>
<p><span></p>
<p><font color="#828ea0">●</font> <font style="background-color:#5588aa" face="黑体" color="#ffffff" size=3><strong>图片上传空间</strong></font></p>
<p><font color="#719966">☆</font> <a href="http://photo.163.com/"><font color="#cc7033"><strong><u>网易相册</u></strong></font></a><br /><a href="http://photo.163.com/"><font color="#0000ff"><u>http://photo.163.com/</u></font></a></p>
<p>空间大小：无限<br />图片大小限制：无限<br />外链情况：不可外链<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：很快<br />语言：中文<br />其他：需网易ID，有密码功能，支持JPG、gif格式图片。服务器很稳定，是目前国内最普及的网络相册提供商。</p>
<p> </p>
<p><font color="#719966">☆</font> <a href="http://cn.photo.yahoo.com/"><font color="#ff0000"><strong><u>雅虎相册</u></strong></font></a><br /><a href="http://cn.photo.yahoo.com/"><font color="#0000ff"><u>http://cn.photo.yahoo.com/</u></font></a></p>
<p>空间大小：无限<br />图片大小限制：无限<br />外链情况：不可外链<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：一般<br />语言：中文<br />其他：需雅虎ID，有密码功能。英文版雅虎相册在国外普及率比较高。</p>
<p><font color="#719966"></font> </p>
<p><font color="#719966">☆</font> <a href="http://www.flickr.com/"><font color="#0968f7"><strong><u>Flick<font color="#ff00cc">r</font></u></strong></font></a><br /><a href="http://www.flickr.com/"><font color="#0000ff"><u>http://www.flickr.com/</u></font></a></p>
<p>空间大小：免费用户每月20M<br />图片大小限制：不超过20M<br />外链情况：可外链<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：国内一般，欧美地区较快<br />语言：英文<br />其他：需雅虎ID，有密码功能。图床很稳定，支持JPG、gif、png格式图片，用于网站、Blog外链插图非常合适。（<a href="http://sunnyx.7blog.net/user2/20546/archives/2006/257290.shtml"><font color="#6f8391"><u>Flickr使用指南</u></font></a>）</p>
<p> </p>
<p><font color="#719966">☆</font> <a href="http://www.yupoo.com/"><font color="#76916f"><strong><u><font color="#e7088d">又</font><font color="#eebe00">拍</font><font color="#990000">网</font></u></strong></font></a><br /><a href="http://www.yupoo.com/"><font color="#0000ff"><u>http://www.yupoo.com/</u></font></a></p>
<p>空间大小：免费用户每月30M<a href="http://www.yupoo.com/help.jsp#4"><font color="#3c8dc4"><u>上传流量</u></font></a><br />图片大小限制：不超过20M<br />外链情况：可外链<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：较快<br />语言：中文<br />其他：需邮箱注册，有密码功能。从界面到功能基本模仿<a href="http://www.flickr.com/"><strong><font color="#444444"><u>Flickr</u></font></strong></a>。不过，虽然有模仿抄袭之嫌，但仍不失为国内比较稳定又功能齐全的一个空间提供商。</p>
<p> </p>
<p><font color="#719966">☆</font> <a href="http://www.23hq.com/"><font color="#990000"><strong><u><font color="#ff0000">23</font> Photo</u></strong></font></a><br /><a href="http://www.23hq.com/"><font color="#0000ff"><u>http://www.23hq.com/</u></font></a></p>
<p>空间大小：免费用户每月20M<br />图片大小限制：不超过20M<br />外链情况：可外链<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：国内一般，欧美地区较快<br />语言：英文，注册后可设置中文<br />其他：需邮箱注册，有密码功能。服务器较为稳定，支持JPG、gif、png格式图片，用于网站、Blog外链插图非常合适。</p>
<p> </p>
<p><font color="#719966">☆</font> <a href="http://www.bababian.com/"><font color="#0066ff"><strong><u>巴巴<font color="#ff00cc">变</font></u></strong></font></a><br /><a href="http://www.bababian.com/"><font color="#0000ff"><u>http://www.bababian.com/</u></font></a></p>
<p>空间大小：免费用户每月100M<br />图片大小限制：不超过50M<br />外链情况：可外链<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：较快<br />语言：中文<br />其他：需邮箱注册，有密码功能。从界面到功能基本模仿<a href="http://www.flickr.com/"><strong><font color="#444444"><u>Flickr</u></font></strong></a>。</p>
<p> </p>
<p><font color="#719966">☆</font> <strong><a href="http://photo.56.com/"><font color="#3e3e8f"><u><font color="#ff0000">56</font> Photo</u></font></a></strong><br /><a href="http://photo.56.com/"><font color="#0000ff"><u>http://photo.56.com/</u></font></a></p>
<p>空间大小：无限<br />图片大小限制：单图不超过2048KB，尺寸不能超过2048×2048像素<br />外链情况：可外链，但偶尔不稳定<br />保存时间限制：无限<br />下载次数限制：无限<br />速度：较快<br />语言：中文<br />其他：需邮箱注册，有密码功能，支持JPG、gif、png格式图片。</p>
<hr />
<p><p><font color="#828ea0">● </font><font style="background-color:#aa5555" face="黑体" color="#ffffff" size=3>普通上传空间</font><br /><u>特点：时限性。但基本各种类型的文件都可上传，为网页上传，非FTP上传。</u></p>
<p><font color="#009999">☆</font> <a href="http://www.sendspace.com/"><font color="#5577aa"><strong><u>SendSpace</u></strong></font></a><br /><a href="http://www.sendspace.com/"><u><font color="#0000ff">http://www.sendspace.com/</font></u></a></p>
<p>空间大小：无限<br />文件大小限制：1.2GB<br />保存时间限制：文件14天内无下载行为便会喀嚓<br />上传限制：文件上传上限为1200MB，此外限1200MB／24hours。一个文件累积被下载100GB或连续14天无人下载，链接作废。<br />下载次数限制：无<br />速度：国外很快，国内一般<br />语言：英文<br />其他：不强制注册，可抓出外链下载地址。</p>
<p><font color="#009999"></font> </p>
<p><font color="#009999">☆</font> <a href="http://www.zupload.com/"><font color="#000088"><strong><u><font color="#2c00dd">z</font>Upload</u></strong></font></a><br /><a href="http://www.zupload.com/"><u><font color="#0000ff">http://www.zupload.com/</font></u></a></p>
<p>空间大小：500MB<br />文件大小限制：500MB<br />保存时间限制：文件30天内无下载行为就删除。<br />上传限制：500MB<br />下载次数限制：无<br />速度：有点慢<br />语言：英文<br />其他：不强制注册。</p>
<p><font color="#009999"></font> </p>
<p><font color="#009999">☆</font> <a href="http://www.450mb.com/"><font color="#448cbb"><strong><u>450mb</u></strong></font></a><br /><a href="http://www.450mb.com/"><u><font color="#0000ff">http://www.450mb.com/</font></u></a></p>
<p>空间大小：450MB<br />文件大小限制：单文档450MB，不限带宽、Web上传和下载，支持HTML和JavaScript。<br />保存时间限制：无<br />上传限制：450MB<br />下载次数限制：无<br />速度：一般<br />语言：英文<br />其他：需注册。同类型的还有<a href="http://www.free-hoster.cc/"><font color="#4d8ab3"><strong><u>Free-Hoster</u></strong></font></a>。</p>
<p><font color="#009999"></font> </p>
<p><font color="#009999">☆</font> <a href="http://www.sendover.com/"><u><font color="#669999"><strong>Sendover<br /></strong></font><font color="#0000ff">http://www.sendover.com/</font></u></a></p>
<p>空间大小：2GB<br />文件大小限制：无<br />保存时间限制：文件7天内无下载行为就删除，如果有下载便延后7天。也就是说上传的档案并不会永久保存。<br />上传限制：2GB<br />下载次数限制：上传档案被下载的连线没有限制。也就是说，无数个人可以在同一时间内下载同一个档案。<br />速度：一般<br />语言：英文<br />其他：不强制注册。</p>
<p> </p>
<p><font color="#009999">☆</font> <strong><a href="http://www.filefactory.com/"><font color="#6c473f"><u>FileFactory</u></font></a></strong><br /><a href="http://www.filefactory.com/"><font color="#0000ff"><u>http://www.filefactory.com/</u></font></a></p>
<p>空间大小：分为500MB和1.5GB两种类型。<br />文件大小限制：500MB<br />保存时间限制：500MB类型只要在过去15天内曾经被下载会永远保存；1.5GB类型限保存7天或下载超过25次。<br />下载次数限制：500MB类型无限；1.5GB类型限下载不超过25次。<br />速度：国外很快，国内一般<br />语言：英文<br />其他：不需注册。</p>
<p><font color="#009999"></font> </p>
<p><font color="#009999">☆</font> <a href="http://www.mofile.com/cn/"><font color="#1169ee"><strong><u><font color="#5599aa">Mofile</font><font color="#5588aa">中国活动通信</font></u></strong></font></a><br /><a href="http://www.mofile.com/cn/"><font color="#0000ff"><u>http://www.mofile.com/cn/</u></font></a></p>
<p>空间大小：1024M接力箱和32M保管箱<br />文件大小限制：无限<br />保存时间限制：接力箱3天，保管箱永久（所以不要被空间大小迷惑）<br />下载次数限制：有。<br />速度：一般。普通用户限速且限线程。常遇到System Busy。<br />语言：中文<br />其他：需要注册。中国内地的歌迷比较常用。限制内的下载次数很容易被用光（尤其有人多次刷新时）VIP的话，所有待遇会好些。不是很推荐这个网站，无奈现在很多没找到其他上传网站的人还在用它。</p>
<hr />
<p><p><font color="#828ea0">●</font> <font style="background-color:#a25ea2" face="黑体" color="#ffffff" size=3><strong>音频、视频上传空间</strong></font></p>
<p>☆ <a href="http://www.stickam.com/"><strong><font color="#6f6f91"><u>STI<font color="#ff6600">C</font>KAM</u></font></strong></a><br /><a href="http://www.stickam.com/"><font color="#0000ff"><u>http://www.stickam.com/</u></font></a></p>
<p>功能：综合媒体空间，几乎全能：包括图片、音频、视频、本地摄像头自拍上传。<br />外链情况：可外链<br />空间大小：500M<br />上传文件大小限制：没有带宽制约<br />保存时间限制：永久<br />观看速度：不错<br />上传速度：不错<br />语言：英文<br />其他：需注册。外链、播放等方式基本和<a href="http://www.youtube.com/"><font color="#770000"><u>YouTube</u></font></a>等差不多。<br />测试样本：<a href="http://www.stickam.com/profile/lkaoc"><font color="#766f91"><u>http://www.stickam.com/profile/lkaoc</u></font></a></p>
<p> </p>
<p>☆ <strong><a href="http://www.youtube.com/"><u><font color="#ff0000"><font color="#000000">You </font></font><font style="background-color:#ff0000" color="#ffffff">Tube</font></u></a></strong><br /><a href="http://www.youtube.com/"><font color="#0000ff"><u>http://www.youtube.com/</u></font></a></p>
<p>功能：视频上传<br />外链情况：可外链<br />空间大小：无限制<br />上传文件大小限制：单个文件最大100M<br />保存时间限制：永久<br />观看速度：一般<br />上传速度：一般<br />语言：英文<br />其他：需注册。不会被人查到视频真实网址（因为是使用FLASH播放器，除非遇上熟手）。有生成外链插入网页代码。缺点是视频大小固定，容易使视频模糊。(<a href="http://yuratai.com/kalley/index.php/2006/02/10/download-google-video-youtube/"><font color="#66445f"><strong><u>具体介绍</u></strong></font></a>)<br />测试样本：<a href="http://www.youtube.com/watch?v=bcxbqmYTxqY"><font color="#555555"><u>http://www.youtube.com/watch?v=bcxbqmYTxqY</u></font></a></p>
<p> </p>
<p>☆ <a href="http://www.xuite.net/"><font color="#5599aa"><strong><u>Xuite WebHD</u></strong></font></a><br /><a href="http://www.xuite.net/"><u><font color="#0000ff">http://www.xuite.net/</font></u></a></p>
<p>功能：网站功能很多，其中一项“网络硬碟”可上传文件。各种文件都可。<br />外链情况：不能外链<br />空间大小：最大可手动调整到230M<br />上传文件大小限制：单个最大值50M<br />保存时间限制：永久<br />观看速度：无<br />上传速度：一般<br />语言：中文<br />其他：需注册。</p>
<p> </p>
<p>☆ <a href="http://www.filelodge.com/"><font color="#667199"><strong><u>File Lodge</u></strong></font></a><br /><a href="http://www.filelodge.com/"><font color="#0000ff"><u>http://www.filelodge.com/</u></font></a></p>
<p>功能：似乎是全能网站。音频视频图片皆可。<br />外链情况：支持外链<br />空间大小：500M<br />上传文件大小限制：小于500M<br />保存时间限制：永久<br />播放速度：不错<br />上传速度：一般<br />语言：英文<br />其他：音频视频有时候直接打开地址不一定能播放，但在Windows Meida Player等播放器里打开绝对能听，且速度不错，不需要缓冲很久。网站能生成上传文件在网页上的代码（比如在网页播放MP3为背景音乐的代码）<br />测试样本：<a href="http://www.filelodge.com/files/hdd8/189366/misia.mp3"><font color="#7b7788"><u>http://www.filelodge.com/files/hdd8/189366/misia.mp3</u></font></a><br />该文件为一个5.9M的MP3文件。</p>
<p> </p>
<p>☆ <a href="http://www.castpost.com/"><font color="#c43cc4"><strong><u><font color="#ff9900">Cast</font><font color="#2292dd">post</font></u></strong></font></a><br /><a href="http://www.castpost.com/"><font color="#0000ff"><u>http://www.castpost.com/</u></font></a></p>
<p>功能：音频、视频上传<br />外链情况：支持外链<br />空间大小：100M<br />上传文件大小限制：小于100M<br />保存时间限制：永久<br />观看速度：一般<br />上传速度：比YouTube快很多<br />语言：英文<br />其他：需注册。提供在线观看，易查到流媒网址。<br />样本测试：<a href="http://keleijin.castpost.com/97676.html"><font color="#777788"><u>http://keleijin.castpost.com/97676.html</u></font></a><br />该文件为一个41.4M的文件。</p>
<hr />
<p><p><font color="#828ea0">●</font> <font style="background-color:#ff0000" face="黑体" color="#ffffff" size=2><strong>上传贴士</strong></font></p>
<p><strong>① </strong><font style="background-color:#eeeeee">上传过程中不要按任何上传页面的按扭。否则功亏一篑。好吧，如果你一定要按，就用右键按“在新窗口中打开”。</font></p>
<p><strong>② </strong><font style="background-color:#eeeeee">使用网页方式上传的网站有的不显示上传的进度条。这时候你可以看IE的状态栏。有前进就表示在上传。当然，如果文件很大或网速很慢有可能很久很久那个东西才前进一点。</font></p>
<p><strong>③ <font color="#ff0000">切记</font></strong><font style="background-color:#eeeeee" color="#aa0000">上传文件务必用英文或数字命名，如果是中文名或符号命名文件可能导致下载错误。</font><font style="background-color:#eeeeee">有的空间上传完后会直接以文件在你电脑上的名字命名，如果文件名中有空格可能会导致你文件按正确的地址也打不开。</font></p>
<p><strong>④ </strong><font style="background-color:#eeeeee">请珍惜网络资源。没有特殊必要就不要一个人在同一网站上注册N个账号。</font></p>
<p><strong>⑤ </strong><font style="background-color:#eeeeee">如果你想传些几M的小文件又觉得以上推荐的网站不够好，你可以去搜索网站搜一些比如“公共上传区”之类的东西。那些地方一般可以外链且如果碰上不勤或好心的斑竹基本文件不会被删。不过这事好象不太好又冒风险就是了。</font></p>
<p><strong>⑥ </strong><font style="background-color:#eeeeee">如果有时打不开以上空间请不要放弃。都是久经考验的空间。过段时间再试试？要找免费上传就得有耐心</font></span></tbody>
</table>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%87%a0%e4%b8%aa%e5%b8%b8%e7%94%a8%e4%b8%8a%e4%bc%a0%e7%a9%ba%e9%97%b4&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/03/%e5%87%a0%e4%b8%aa%e5%b8%b8%e7%94%a8%e4%b8%8a%e4%bc%a0%e7%a9%ba%e9%97%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>系分考经-一个大二过了的哥们</title>
		<link>http://thinklouder.cn/2006/02/%e7%b3%bb%e5%88%86%e8%80%83%e7%bb%8f-%e4%b8%80%e4%b8%aa%e5%a4%a7%e4%ba%8c%e8%bf%87%e4%ba%86%e7%9a%84%e5%93%a5%e4%bb%ac/</link>
		<comments>http://thinklouder.cn/2006/02/%e7%b3%bb%e5%88%86%e8%80%83%e7%bb%8f-%e4%b8%80%e4%b8%aa%e5%a4%a7%e4%ba%8c%e8%bf%87%e4%ba%86%e7%9a%84%e5%93%a5%e4%bb%ac/#comments</comments>
		<pubDate>Mon, 20 Feb 2006 07:57:05 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!319.entry</guid>
		<description><![CDATA[ 
在GDCC上查了成绩，知道自己刚刚好过了系分，起初我没有抱太大的希望，但很高兴自己的努力没有白费，通过系分的三场考试确实也不容易。我的运气还好，上午的考试刚好是45分，论文也是45分，可真要好好感谢主考官了，出乎意料是案例分析52分，一直以来我认为我的分析能力还是比较弱的，下午1场的考试还迟到了快半个钟。
我明白自己还有很多需要学习，通过了系分并不代表我是一个合格的系统分析师。我只是一个在读的大二学生，只做过几个小项目。很多人都说软考贬值了，确实我也认同，我对于自己的要求比较高，当初在珠海了解到有关软考的信息时，明白很多师兄大三才过高程，可是当我决定报软考时我就没有想过报高程，觉得越来越多的人拥有高程这本证书，中大计机就有一半以上的人过了高程。 
考系分最主要的原因，不想自己大二下学期还是一事无成。虽然很多人认为我做得还不错，但我自己明白我自己，事实上那几个月是我大学生活过得最充实的日子。对于学生来说，考系分有一定的挑战，特别对于我，所有的路都是自己走出来的。当然像烽说得一样，过了说什么都可以。
考系分的另一个原因可以说是我的逃避，功课成绩不行，我是没有努力过，但我害怕我努力一样还是追不上，或许考系分会在同学面前好过一点。大家都在听老师讲课，而我在下边复习系分，事实上压力也很大。现在我明白，我努力，我前进。 
复习那一段时间我还是比较有计划去规划我的时间，但当然每个人都自己的长处，每个人都自己的优点，复习计划应该根据自己需求的制定。计划每个人都会写，但必须把计划里的每一项内容演变为自己的习惯。成长的经历让我明白静摩擦力大于滑动摩擦力，能够前进就行了，所以不要担心没有完成计划的所有内容，能从整体上把握就OK了。以前做事崇尚绝对的优势，但对于一个半社会的人来说，开始明白力不从心这四个字的意思。事实上现在系分的内容我也比较模糊了，不过要用的时候能用，面试的时候找本书找能回感觉就可以了，当然我还是要努力。
系分的考试是一波三折，中间好多次想放弃，觉得很难把握整个系分内容，系分的考试范围比较泛，除了复习基础知识，在图书馆写论文，回到宿舍还要上IT网站，物流网站去看看案例分析，还要训练表达能力。最惨是论文，三千多字的论文，每次写到中间的时候便是最痛苦的时候。不能想着精通所有的考试内容，能将自己所了解加以巩固才是最重要，下午的考试本身就有选择的余地。 
考系分最大的悲哀，我失去原来所应该拥用的优势，我的数学和英语都比较差，计算机理论也是很一般，只能应付一下学校的考试和四六级。曾经的优势，已经不复存在。大学对于像这种人喜欢堕落的人来说是一种自杀的地方。特别是中大珠海校区， 如果会享受人生，确实是一个天堂，不过我只是一条窝在宿舍里看电影的虫。学好数学与英文，就差不多拿了30多分，所以上午的考试只对于一些偏记忆的题目比较有把握。只拿了45分，见笑。
考系分的经济花费也不少，当然是对于我这个学生仔来说。总共差不多花了一千多，资料和报名费就花去了三四百，另外和Jacky买了一个二手激光打印机，不停地打印复习笔记、论文、各种案例……只要IT相关，认为可能出在试卷上的我都打印出来了，软件工程、实时系统、嵌入式系统、网络工程、ERP……至少我就用四包A4打印纸。图书馆的所有计机的书都让我翻一遍，我只看绪论与每章的总结，我只想迅速了解自己所不明白的，当然不止计机，对于电子自动化也必须了解一些，像RFID、硬件知识。 
虽然考系分很辛苦但也让我明白了好多，让我能从一个更高的角度去把握IT这一行。系分不是纯计算机理论，涉及到了各种IT新技术、各种软件工程学、系统分析、案例剖析、 Web工程 、 CASE工具 、信息安全、 构件/中间件 、 数据挖掘、 网格计算 、CMM/CMMI 、ERP/CRM/SCM 、法律法规 、 标准化……所以觉得最难过一场考试是案例分析，要求自己具备一种理性的分析能力和很强的表达能力。
在珠海我和Jacky、FIFA、HuoHuo组建了两个学生团队。我的加入，很大程度上是为了这次考试。在两个团队的开发过程中也让我学到很多东西。实践经验很重要，我不可能拥用大型项目的开发经验，但我也不能泛泛而谈，考试的论文很大一部分是我在开发过程中的心得，另一些只能说是设想。可以适当提出自己的主见，但不能夸张，我从来不写自己没有经历过的感受，泛泛而谈只会令考官生厌。论文确实比较难以把握，范围较广，但肯定有一篇是跟软件项目开发有关，不过近几年的题目范围越来越小，如果不是对软件工程的各个阶段有深刻的体会确实是很难写了。我准备了五篇软件开发相关的论文，因为软件开发的各个阶段是相联的，事实上真正考试时我是通过不断的换角度来描述，将自己所熟悉都写出来。否则如果从正面的角度来阐述我想没有很深厚功底的人是很难写出一篇好论文。 
我真正准备的时间只有两个月的时间，寒假在家里花了不少时间啃着那本法定教材，只明白什么系分，那本教材回到学校就没有再看了。除了内容比较郁闷之外，很难找出与考试相关的内容，我几乎买了所有张友生博士出的辅导书，比较实际的针对考试。
其实我还是比较有自信，但最后两个星期我的心思不在系分上了，学生做事就是容易冲动，庆幸的是最后还是去考了。 过了系分只能说以后找工多了一种资本，从真正的意义上说，并没有什么，当然只对于我。我还是喜欢有真正实力的自己。自认为自己的模拟与适应能力很强，可以很快在自己的不熟悉的领域迅速掌握，可因此我也从来没有真正深入研究过这些领域。
本文只是写了一下自己的感受，写得不好请见谅。


]]></description>
			<content:encoded><![CDATA[<div> </div>
<div>在GDCC上查了成绩，知道自己刚刚好过了系分，起初我没有抱太大的希望，但很高兴自己的努力没有白费，通过系分的三场考试确实也不容易。我的运气还好，上午的考试刚好是45分，论文也是45分，可真要好好感谢主考官了，出乎意料是案例分析52分，一直以来我认为我的分析能力还是比较弱的，下午1场的考试还迟到了快半个钟。</div>
<div>我明白自己还有很多需要学习，通过了系分并不代表我是一个合格的系统分析师。我只是一个在读的大二学生，只做过几个小项目。很多人都说软考贬值了，确实我也认同，我对于自己的要求比较高，当初在珠海了解到有关软考的信息时，明白很多师兄大三才过高程，可是当我决定报软考时我就没有想过报高程，觉得越来越多的人拥有高程这本证书，中大计机就有一半以上的人过了高程。 </div>
<div>考系分最主要的原因，不想自己大二下学期还是一事无成。虽然很多人认为我做得还不错，但我自己明白我自己，事实上那几个月是我大学生活过得最充实的日子。对于学生来说，考系分有一定的挑战，特别对于我，所有的路都是自己走出来的。当然像烽说得一样，过了说什么都可以。</div>
<div>考系分的另一个原因可以说是我的逃避，功课成绩不行，我是没有努力过，但我害怕我努力一样还是追不上，或许考系分会在同学面前好过一点。大家都在听老师讲课，而我在下边复习系分，事实上压力也很大。现在我明白，我努力，我前进。 </div>
<div>复习那一段时间我还是比较有计划去规划我的时间，但当然每个人都自己的长处，每个人都自己的优点，复习计划应该根据自己需求的制定。计划每个人都会写，但必须把计划里的每一项内容演变为自己的习惯。成长的经历让我明白静摩擦力大于滑动摩擦力，能够前进就行了，所以不要担心没有完成计划的所有内容，能从整体上把握就OK了。以前做事崇尚绝对的优势，但对于一个半社会的人来说，开始明白力不从心这四个字的意思。事实上现在系分的内容我也比较模糊了，不过要用的时候能用，面试的时候找本书找能回感觉就可以了，当然我还是要努力。</div>
<div>系分的考试是一波三折，中间好多次想放弃，觉得很难把握整个系分内容，系分的考试范围比较泛，除了复习基础知识，在图书馆写论文，回到宿舍还要上IT网站，物流网站去看看案例分析，还要训练表达能力。最惨是论文，三千多字的论文，每次写到中间的时候便是最痛苦的时候。不能想着精通所有的考试内容，能将自己所了解加以巩固才是最重要，下午的考试本身就有选择的余地。 </div>
<div>考系分最大的悲哀，我失去原来所应该拥用的优势，我的数学和英语都比较差，计算机理论也是很一般，只能应付一下学校的考试和四六级。曾经的优势，已经不复存在。大学对于像这种人喜欢堕落的人来说是一种自杀的地方。特别是中大珠海校区， 如果会享受人生，确实是一个天堂，不过我只是一条窝在宿舍里看电影的虫。学好数学与英文，就差不多拿了30多分，所以上午的考试只对于一些偏记忆的题目比较有把握。只拿了45分，见笑。</div>
<div>考系分的经济花费也不少，当然是对于我这个学生仔来说。总共差不多花了一千多，资料和报名费就花去了三四百，另外和Jacky买了一个二手激光打印机，不停地打印复习笔记、论文、各种案例……只要IT相关，认为可能出在试卷上的我都打印出来了，软件工程、实时系统、嵌入式系统、网络工程、ERP……至少我就用四包A4打印纸。图书馆的所有计机的书都让我翻一遍，我只看绪论与每章的总结，我只想迅速了解自己所不明白的，当然不止计机，对于电子自动化也必须了解一些，像RFID、硬件知识。 </div>
<div>虽然考系分很辛苦但也让我明白了好多，让我能从一个更高的角度去把握IT这一行。系分不是纯计算机理论，涉及到了各种IT新技术、各种软件工程学、系统分析、案例剖析、 Web工程 、 CASE工具 、信息安全、 构件/中间件 、 数据挖掘、 网格计算 、CMM/CMMI 、ERP/CRM/SCM 、法律法规 、 标准化……所以觉得最难过一场考试是案例分析，要求自己具备一种理性的分析能力和很强的表达能力。</div>
<div>在珠海我和Jacky、FIFA、HuoHuo组建了两个学生团队。我的加入，很大程度上是为了这次考试。在两个团队的开发过程中也让我学到很多东西。实践经验很重要，我不可能拥用大型项目的开发经验，但我也不能泛泛而谈，考试的论文很大一部分是我在开发过程中的心得，另一些只能说是设想。可以适当提出自己的主见，但不能夸张，我从来不写自己没有经历过的感受，泛泛而谈只会令考官生厌。论文确实比较难以把握，范围较广，但肯定有一篇是跟软件项目开发有关，不过近几年的题目范围越来越小，如果不是对软件工程的各个阶段有深刻的体会确实是很难写了。我准备了五篇软件开发相关的论文，因为软件开发的各个阶段是相联的，事实上真正考试时我是通过不断的换角度来描述，将自己所熟悉都写出来。否则如果从正面的角度来阐述我想没有很深厚功底的人是很难写出一篇好论文。 </p>
<p>我真正准备的时间只有两个月的时间，寒假在家里花了不少时间啃着那本法定教材，只明白什么系分，那本教材回到学校就没有再看了。除了内容比较郁闷之外，很难找出与考试相关的内容，我几乎买了所有张友生博士出的辅导书，比较实际的针对考试。</p></div>
<div>其实我还是比较有自信，但最后两个星期我的心思不在系分上了，学生做事就是容易冲动，庆幸的是最后还是去考了。 过了系分只能说以后找工多了一种资本，从真正的意义上说，并没有什么，当然只对于我。我还是喜欢有真正实力的自己。自认为自己的模拟与适应能力很强，可以很快在自己的不熟悉的领域迅速掌握，可因此我也从来没有真正深入研究过这些领域。</div>
<div>本文只是写了一下自己的感受，写得不好请见谅。</p>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e7%b3%bb%e5%88%86%e8%80%83%e7%bb%8f-%e4%b8%80%e4%b8%aa%e5%a4%a7%e4%ba%8c%e8%bf%87%e4%ba%86%e7%9a%84%e5%93%a5%e4%bb%ac&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/02/%e7%b3%bb%e5%88%86%e8%80%83%e7%bb%8f-%e4%b8%80%e4%b8%aa%e5%a4%a7%e4%ba%8c%e8%bf%87%e4%ba%86%e7%9a%84%e5%93%a5%e4%bb%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于留京</title>
		<link>http://thinklouder.cn/2006/02/%e5%85%b3%e4%ba%8e%e7%95%99%e4%ba%ac/</link>
		<comments>http://thinklouder.cn/2006/02/%e5%85%b3%e4%ba%8e%e7%95%99%e4%ba%ac/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 15:48:37 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!316.entry</guid>
		<description><![CDATA[ 看了下：http://www.spmember.com/index.php?option=com_content&#38;task=view&#38;id=170&#38;Itemid=150
2005-10-13  ●引进中关村科技园区发展需要的留学人员、外省市科技和管理人才，可以按照本市有关规定办理《工作寄住证》或者常住户口，不受进京指标限制。本市行政区域内的高等学校、科研机构的应届毕业生受聘于中关村科技园区内的高新技术企业，可以直接办理本市常住户口。
――《中关村科技园区条例》 第32条
●根据中关村科技园区发展需要引进的留学人员、外省市科技和管理人才，其子女接受义务教育，由居住地的教育行政部门就近安排入学，任何部门或者学校不得收取国家或者本市规定以外的费用；接受其他教育的，按照本市有关规定办理。 鼓励中关村科技园区的学校开展双语教学。
――《中关村科技园区条例》 第34条
●留学人员受聘在中关村科技园区担任专业技术职务的，不受聘用单位指标的限制。 留学人员在国外取得专业执业资格，其所在国与中华人民共和国有互认协议的，可以在本市办理相应的执业资格证书。
――《中关村科技园区条例》 第38条
●允许外籍人员和港、澳、台人员担任内资高新技术企业的董事、监事、经理等职务。
――《北京市工商行政管理局关于印发“关于改进企业登记工作，促进高新技术企业发展若干问题的意见”的通知》（京工商发［1999］117号）第6条
●凡受聘于本市软件基地或软件企业，具有本科及以上学历且取得高级专业技术职称的或在国内外获得硕士及以上学位的软件专业技术人员和管理人员，可由用人单位按照有关规定，直接办理调京手续，其配偶及未成年子女可随调、随迁。
――《关于贯彻国务院鼓励软件产业和集成电路产业发展若干政策的实施意见》（京政发［2001］4号）第19条
●经市人事局批准，研发机构可接收符合进京条件的国内应届毕业大学生、研究生。经市人事局批准，可以为研发机构所需的外省市专业技术人员和管理人才办理《北京市工作居住证》。研发机构中持有《北京市工作居住证》并在京工作满三年的人员，经用人单位推荐，有关部门批准，可以办理调京手续，其配偶和未成年子女可以随调随迁。
――《北京市鼓励在京设立科技研究开发机构的规定》（京政发［2002］23号）第8条
●研发机构中持有《北京市工作居住证》的外埠内地人员，凭所在研发机构出具的证明，可在研发机构所在地公安管理部门办理边境通行证。
市劳动保障部门应当按本市有关规定，为研发机构持有《北京市工作居住证》的人员办理社会保险。――《北京市鼓励在京设立科技研究开发机构的规定》（京政发［2002］23号）第9条
●本市高新技术企业和高新技术成果转化项目所需的外省市专业技术和管理人才，经市人事局批准，给予《工作居住证》，享受本市市民待遇。持《工作居住证》工作满三年的，经用人单位推荐、有关部门批准，办理调京手续。受聘于中关村科技园区内高新技术企业的本市行政区域内高等学校、科研机构获得学士及学士以上学位的应届毕业生，可以直接办理本市常住户口。
――《北京市关于进一步促进高技术产业发展的若干规定》（京政发［2001］38号）第4条
●符合城市功能定位和首都经济发展方向及产业规划要求的本市行政区域内具有法人资格的企事业单位、民办非企业单位、社会团体、外国（地区）、外埠在京设立的非法人分支机构，其聘用的人员在本市有固定住所且具备下列条件之一者，均可申请《工作居住证》： 
一、具有2年以上工作经历并取得学士（含）以上学位的人才； 
二、具有中级（含）以上专业技术职称或相当资格、资质的人才； 
三、对首都经济和社会发展做出突出贡献及特殊领域、特殊行业的紧缺急需人才。
――《关于实施北京市工作居住证制度的若干意见》（京政办发［2003］29号）第3条

]]></description>
			<content:encoded><![CDATA[<div> 看了下：<br />http://www.spmember.com/index.php?option=com_content&amp;task=view&amp;id=170&amp;Itemid=150</p>
<p>2005-10-13  <br />●引进中关村科技园区发展需要的留学人员、外省市科技和管理人才，可以按照本市有关规定办理《工作寄住证》或者常住户口，不受进京指标限制。本市行政区域内的高等学校、科研机构的应届毕业生受聘于中关村科技园区内的高新技术企业，可以直接办理本市常住户口。</p>
<p>――《中关村科技园区条例》 第32条</p>
<p>●根据中关村科技园区发展需要引进的留学人员、外省市科技和管理人才，其子女接受义务教育，由居住地的教育行政部门就近安排入学，任何部门或者学校不得收取国家或者本市规定以外的费用；接受其他教育的，按照本市有关规定办理。 鼓励中关村科技园区的学校开展双语教学。</p>
<p>――《中关村科技园区条例》 第34条</p>
<p>●留学人员受聘在中关村科技园区担任专业技术职务的，不受聘用单位指标的限制。 留学人员在国外取得专业执业资格，其所在国与中华人民共和国有互认协议的，可以在本市办理相应的执业资格证书。</p>
<p>――《中关村科技园区条例》 第38条</p>
<p>●允许外籍人员和港、澳、台人员担任内资高新技术企业的董事、监事、经理等职务。</p>
<p>――《北京市工商行政管理局关于印发“关于改进企业登记工作，促进高新技术企业发展若干问题的意见”的通知》（京工商发［1999］117号）第6条</p>
<p>●凡受聘于本市软件基地或软件企业，具有本科及以上学历且取得高级专业技术职称的或在国内外获得硕士及以上学位的软件专业技术人员和管理人员，可由用人单位按照有关规定，直接办理调京手续，其配偶及未成年子女可随调、随迁。</p>
<p>――《关于贯彻国务院鼓励软件产业和集成电路产业发展若干政策的实施意见》（京政发［2001］4号）第19条</p>
<p>●经市人事局批准，研发机构可接收符合进京条件的国内应届毕业大学生、研究生。经市人事局批准，可以为研发机构所需的外省市专业技术人员和管理人才办理《北京市工作居住证》。研发机构中持有《北京市工作居住证》并在京工作满三年的人员，经用人单位推荐，有关部门批准，可以办理调京手续，其配偶和未成年子女可以随调随迁。</p>
<p>――《北京市鼓励在京设立科技研究开发机构的规定》（京政发［2002］23号）第8条</p>
<p>●研发机构中持有《北京市工作居住证》的外埠内地人员，凭所在研发机构出具的证明，可在研发机构所在地公安管理部门办理边境通行证。</p>
<p>市劳动保障部门应当按本市有关规定，为研发机构持有《北京市工作居住证》的人员办理社会保险。<br />――《北京市鼓励在京设立科技研究开发机构的规定》（京政发［2002］23号）第9条</p>
<p>●本市高新技术企业和高新技术成果转化项目所需的外省市专业技术和管理人才，经市人事局批准，给予《工作居住证》，享受本市市民待遇。持《工作居住证》工作满三年的，经用人单位推荐、有关部门批准，办理调京手续。受聘于中关村科技园区内高新技术企业的本市行政区域内高等学校、科研机构获得学士及学士以上学位的应届毕业生，可以直接办理本市常住户口。</p>
<p>――《北京市关于进一步促进高技术产业发展的若干规定》（京政发［2001］38号）第4条</p>
<p>●符合城市功能定位和首都经济发展方向及产业规划要求的本市行政区域内具有法人资格的企事业单位、民办非企业单位、社会团体、外国（地区）、外埠在京设立的非法人分支机构，其聘用的人员在本市有固定住所且具备下列条件之一者，均可申请《工作居住证》： </p>
<p>一、具有2年以上工作经历并取得学士（含）以上学位的人才； </p>
<p>二、具有中级（含）以上专业技术职称或相当资格、资质的人才； </p>
<p>三、对首都经济和社会发展做出突出贡献及特殊领域、特殊行业的紧缺急需人才。</p>
<p>――《关于实施北京市工作居住证制度的若干意见》（京政办发［2003］29号）第3条</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%85%b3%e4%ba%8e%e7%95%99%e4%ba%ac&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/02/%e5%85%b3%e4%ba%8e%e7%95%99%e4%ba%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于五险一金:什么是五险一金</title>
		<link>http://thinklouder.cn/2006/02/%e5%85%b3%e4%ba%8e%e4%ba%94%e9%99%a9%e4%b8%80%e9%87%91%e4%bb%80%e4%b9%88%e6%98%af%e4%ba%94%e9%99%a9%e4%b8%80%e9%87%91/</link>
		<comments>http://thinklouder.cn/2006/02/%e5%85%b3%e4%ba%8e%e4%ba%94%e9%99%a9%e4%b8%80%e9%87%91%e4%bb%80%e4%b9%88%e6%98%af%e4%ba%94%e9%99%a9%e4%b8%80%e9%87%91/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 15:47:05 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!317.entry</guid>
		<description><![CDATA[关于五险一金:什么是五险一金
&#8220;五险一金&#8221;讲的是五种保险,包括养老保险、医疗保险、失业保险、工伤保险和生
育保险;
&#8220;一金&#8221;指的是住房公积金。
其中养老保险、医疗保险和失业保险，这三种险是由企业和个人共同缴纳的保费，
工伤保险和生育保险完全是由企业承担的。个人不需要缴纳。这里要注意的是&#8221;五
险&#8221;是法定的，而&#8221;一金&#8221;不是法定的。
&#8220;五险一金&#8221;的缴费比例是什么？
目前北京养老保险缴费比例：单位20％(其中17％划入统筹基金，3％划入个人帐户
)，个人8％（全部划入个人帐户）；医疗保险缴费比例：单位10％，个人2％+3元；
失业保险缴费比例：单位1.5％，个人0.5％；工伤保险根据单位被划分的行业范围
来确定它的工伤费率；生育保险缴费比例：单位0.8％，个人不交钱。
公积金缴费比例： 根据企业的实际情况，选择住房公积金缴费比例。但原则上最高
缴费额不得超过北京市职工平均工资300％的10％。
（统筹基金即：在养老保险制度从国家-单位制逐渐向国家-社会制转变的过程中
需要国家统筹，以解决经济发展不平衡及人口老龄化等问题。
(1)以企业缴费为主建立社会统筹基金;(2)由职工和企业缴费为主建立个人帐户;(3
)政府负担养老保险基金的管理费用。这种社会统筹和个人帐户相结合的半基金制有
利于应付中国人口老龄化危机,逐渐分散旧制度到新制度的转轨成本,逐步实现由企
业养老保险制度到个人养老保险制度的转变。）
四险一金的缴纳额度每个地区的规定都不同，基数是以工资总额为基数。有的企业
在发放时有基本工资，有相关一些补贴，但有的企业在缴纳时，只是基本工资，这
是违反法律规定的。具体比例要向当地的劳动部门去咨询。
关于养老保险、失业保险和医疗保险的支取，是在法定允许的情况下才可以领取，
是由设保登记部门来发放，比如&#8221;养老保险，要达到法定的年龄才可以，失业保险
金的领取也是要具备条件，比如你到户口所在地的街道办事处办理失业证明，同时
又办了求职证，就是指你失业以后还必须有求职的意愿，这样的条件才可以领取。
如果失业之后你不想工作，那么就不能给你发保险金。另外，养老金和失业金是不
能同时享受的。
·试用期内是否享有保险？
在试用期内也应该有享受保险，因为试用期是合同期的一个组成部分，它不是隔离
在合同期之外的。所以在试用期内也应该上保险。另外，企业给员工上保险是一个
法定的义务，不取决于当事人的意思或自愿与否，即使员工表示不需要交保险也不
行，而且商业保险不能替代社会保险。养老保险的享受待遇
累计缴纳养老保险15年以上，并达到法定退休年龄，可以享受养老保险待遇：
1、按月领取按规定计发的基本养老金，直至死亡。
基本养老金的计算公式如下：
基本养老金＝基础养老金＋个人账户养老金＋过渡性养老金＝退休前一年全市职工
月平均工资×２０％（缴费年限不满１５年的按１５％）＋个人账户本息和÷１２
０＋指数化月平均缴费工资×１９９７年底前缴费年限×１．４％。
2、死亡待遇。（１）丧葬费（２）一次性抚恤费（３）符合供养条件的直系亲属生
活困难补助费，按月发放，直至供养直系亲属死亡。
注意：养老保险应尽量连续缴纳，根据有关文件规定，凡企业或被保险人间断缴纳
基本养老保险费的（失业人员领取失业保险金期间或按有关规定不缴费的人员除外
），被保险人符合国家规定的养老条件，计算基本养老金时，其基础性养老金的计
算基数，按累计间断的缴费时间逐年前推至相应年度上一年的本市职工平均工资计
算（累计间断的缴费时间，按每满12个月为一个间断缴费年度计算，不满12个月不
计算）
举例来说吧：
如果你2020年退休，正常你的基础养老金是2019年的社会平均工资×20％，但是如
果你在退休之前养老保险中断了30个月，就是中断了2.5年，按2年算，你的基础养
老金就是2017年社会平均工资×20％
医疗保险的享受待遇
1、门、急诊医疗费用
在职职工年度内（1月1日-12月31日）符合基本医疗保险规定范围的医疗费累计超过
2000元以上部分；
2、结算比例：
合同期内派遣人员2000元以上部分报销50%，个人自付50%；
在一个年度内累计支付派遣人员门、急诊报销最高数额为2万元。
3、 参保人员要妥善保管好在定点医院就诊的门诊医疗单据（含大额以下部分的收
据、处方底方等），作为医疗费用报销凭证；
4、 三种特殊病的门诊就医：参保人员患恶性肿瘤放射治疗和化学治疗、肾透析、
肾移植后服抗排异药需在门诊就医时，由参保人就医的二、三级定点医院开据&#8221;疾病
诊断证明&#8221;，并填写《北京市医疗保险特殊病种申报审批表》，报区医保中心审批备
案。这三种特殊病的门诊就医及取药仅限在批准就诊的定点医院，不能到定点零售
药店购买。发生的医疗费符合门诊特殊病规定范围的，参照住院进行结算；
5、住院医疗
● 住院押金：符合住院条件的参保人员，在收入住院时，医院收取参保人员部分押
金，押金数额由医院根据病情按比例确定。如被派遣人员单位和参保人员未能按时
足额缴纳医疗保险费的，住院押金由派遣人员个人全额垫付；
● 结算周期：参保人员住院治疗每90天为一个结算周期：不超过90天的，每次住院
为一个结算周期；
● 恶性肿瘤患者门诊放射治疗和化学治疗、肾透析、肾移植后服抗排异药、患有精
神病需常年住院的患者其发生的医疗费用每360天为一个结算周期；
● 参保人员在定点的社区卫生服务中心（站）的家庭病床治疗发生的医疗费用，每
90天为一个结算周期；
● 参保人员出院或阶段治疗结束时，需由派遣人员个人先与医院结清应由派遣人员
个人自费和自付的费用，应由基本医疗保险统筹基金和大额医疗互助资金支付的医
疗费用，由医院向医保中心申报审核、结算；
● 参保人员住院治疗，符合基本医疗保险规定范围的医疗费的结算，设定基本医疗
统筹基金支付起付线和最高支付额；
● 起付线第一次住院为1300元，以后住院为650元，最高支付限额为5万元；超过最
高支付上限的（不含起付标准以下以及派遣人员个人负担部分）大额医疗费用互助
资金支付70%，派遣人员个人负担30%。在一个年度内最高支付10万元。住院费用的
结算标准，在一个结算周期内按医院等级和费用数额采取分段计算、累加支付的办
法。
（各项比例有调整时，按新的标准执行）
注意啊：非因公交通事故，医保是免责的！
失业保险享受待遇
失业保险连续缴纳一年以上，档案退回街道后。可以在街道享受失业保险待遇。
1．失业保险金：是指失业保险经办机构按规定支付给符合条件的失业人员的基本生
活费用，它是最主要的失业保险待遇。失业保险待遇根据北京市相关文件执行；
2． 领取失业保险金期间的医疗补助金：是指支付给失业人员领取失业保险金期间
发生的医疗费用的补助。根据北京市有关政策法规执行；
3． 领取失业保险金期间死亡的失业人员的丧葬补助金和其供养的配偶、直系亲属
的抚恤金按有关规定执行。
工伤保险享受待遇
在合同期内不幸发生意外，需向企业索取情况说明，并加盖企业公章，尽快（最好
在三个工作日内）申请工伤认定并需提供下列材料：
1、初次治疗诊断书或住院病历;
2、 职业病诊断证明（原件、复印件各一份）;
3、 交通事故需提供交通大队的事故裁决书或交通部门的交通事故证明；
4、 身份证复印件；
5、 有效期内的劳动合同原件
生育保险享受待遇
可以报销与生育有关费用
报销范围包括，生育津贴、生育医疗费用、计划生育手术医疗费用、国家和本市规
定的其他与生育有关的费用。
生育津贴按照女职工本人生育当月的缴费基数除以30再乘以产假天数计算。生育津
贴为女职工产假期间的工资，生育津贴低于本人工资标准的，差额部分由企业补足
。
生育医疗费用包括女职工因怀孕、生育发生的医疗检查费、接生费、手术费、住院
费和药品费。
计划生育手术医疗费用包括职工因计划生育发生的医疗费用。
现在要求，医保缴够20年，养老交够15年才有资格领养老金和享受退休后的医保报
销
然后还有一点在网上查不出来的东西
首先 如果去非户口所在地工作 比如原户口在北京 而去深圳工作 无论户口是否转
过去深圳 万一将来不在深圳工作了 那么在深圳交的五险一金 能否转出来 就很成
问题 因为现在全国五险一金这个东西没有联网 只有北京市内的联网了 就是说 如
果你本来在北京的一家单位工作 几年后跳到另外的一个北京单位工作 这样五险一
金是没有问题的 但是从其他省市跳的话 转的时候会很麻烦 能不能转还成问题
关于前面提到的五险中的三险是企业和个人共同交纳 意思是这样 比如对于养老保
险 比如你的工资是2000 那么你个人要交纳8％ 单位给交纳15％（以上数据都是假
设）， 这些钱都存到你的一个帐户里 等到你满足了可以享受养老保险的时候 才可
以支取（具体条件见前面） 然后考虑到上面一段写的内容 万一要是转不了的话 那
么你的钱就白交了 还取不出来
所有企业和个人共同交纳的部分都是这样的 住房公积金也是这样 比如按照工资乘
以比例 假如你每个月要交500 单位给你交1000 如果你跳槽了 这些钱又不能转 那
么你每个月500就白交了 也不能取出来&#8211;因为你不符合享受住房公积金的条件，
只有到买房子的时候才能取出来
那么有人可能会问了 那我如果不打算在刚开始工作的城市发展一辈子 [...]]]></description>
			<content:encoded><![CDATA[<p>关于五险一金:什么是五险一金</p>
<p>&#8220;五险一金&#8221;讲的是五种保险,包括养老保险、医疗保险、失业保险、工伤保险和生<br />
育保险;</p>
<p>&#8220;一金&#8221;指的是住房公积金。</p>
<p>其中养老保险、医疗保险和失业保险，这三种险是由企业和个人共同缴纳的保费，<br />
工伤保险和生育保险完全是由企业承担的。个人不需要缴纳。这里要注意的是&#8221;五<br />
险&#8221;是法定的，而&#8221;一金&#8221;不是法定的。</p>
<p>&#8220;五险一金&#8221;的缴费比例是什么？</p>
<p>目前北京养老保险缴费比例：单位20％(其中17％划入统筹基金，3％划入个人帐户<br />
)，个人8％（全部划入个人帐户）；医疗保险缴费比例：单位10％，个人2％+3元；<br />
失业保险缴费比例：单位1.5％，个人0.5％；工伤保险根据单位被划分的行业范围<br />
来确定它的工伤费率；生育保险缴费比例：单位0.8％，个人不交钱。</p>
<p>公积金缴费比例： 根据企业的实际情况，选择住房公积金缴费比例。但原则上最高<br />
缴费额不得超过北京市职工平均工资300％的10％。</p>
<p>（统筹基金即：在养老保险制度从国家-单位制逐渐向国家-社会制转变的过程中<br />
需要国家统筹，以解决经济发展不平衡及人口老龄化等问题。</p>
<p>(1)以企业缴费为主建立社会统筹基金;(2)由职工和企业缴费为主建立个人帐户;(3<br />
)政府负担养老保险基金的管理费用。这种社会统筹和个人帐户相结合的半基金制有<br />
利于应付中国人口老龄化危机,逐渐分散旧制度到新制度的转轨成本,逐步实现由企<br />
业养老保险制度到个人养老保险制度的转变。）</p>
<p>四险一金的缴纳额度每个地区的规定都不同，基数是以工资总额为基数。有的企业<br />
在发放时有基本工资，有相关一些补贴，但有的企业在缴纳时，只是基本工资，这<br />
是违反法律规定的。具体比例要向当地的劳动部门去咨询。</p>
<p>关于养老保险、失业保险和医疗保险的支取，是在法定允许的情况下才可以领取，<br />
是由设保登记部门来发放，比如&#8221;养老保险，要达到法定的年龄才可以，失业保险<br />
金的领取也是要具备条件，比如你到户口所在地的街道办事处办理失业证明，同时<br />
又办了求职证，就是指你失业以后还必须有求职的意愿，这样的条件才可以领取。<br />
如果失业之后你不想工作，那么就不能给你发保险金。另外，养老金和失业金是不<br />
能同时享受的。</p>
<p>·试用期内是否享有保险？</p>
<p>在试用期内也应该有享受保险，因为试用期是合同期的一个组成部分，它不是隔离<br />
在合同期之外的。所以在试用期内也应该上保险。另外，企业给员工上保险是一个<br />
法定的义务，不取决于当事人的意思或自愿与否，即使员工表示不需要交保险也不<br />
行，而且商业保险不能替代社会保险。养老保险的享受待遇</p>
<p>累计缴纳养老保险15年以上，并达到法定退休年龄，可以享受养老保险待遇：</p>
<p>1、按月领取按规定计发的基本养老金，直至死亡。</p>
<p>基本养老金的计算公式如下：</p>
<p>基本养老金＝基础养老金＋个人账户养老金＋过渡性养老金＝退休前一年全市职工<br />
月平均工资×２０％（缴费年限不满１５年的按１５％）＋个人账户本息和÷１２<br />
０＋指数化月平均缴费工资×１９９７年底前缴费年限×１．４％。</p>
<p>2、死亡待遇。（１）丧葬费（２）一次性抚恤费（３）符合供养条件的直系亲属生<br />
活困难补助费，按月发放，直至供养直系亲属死亡。</p>
<p>注意：养老保险应尽量连续缴纳，根据有关文件规定，凡企业或被保险人间断缴纳<br />
基本养老保险费的（失业人员领取失业保险金期间或按有关规定不缴费的人员除外<br />
），被保险人符合国家规定的养老条件，计算基本养老金时，其基础性养老金的计<br />
算基数，按累计间断的缴费时间逐年前推至相应年度上一年的本市职工平均工资计<br />
算（累计间断的缴费时间，按每满12个月为一个间断缴费年度计算，不满12个月不<br />
计算）</p>
<p>举例来说吧：</p>
<p>如果你2020年退休，正常你的基础养老金是2019年的社会平均工资×20％，但是如<br />
果你在退休之前养老保险中断了30个月，就是中断了2.5年，按2年算，你的基础养<br />
老金就是2017年社会平均工资×20％</p>
<p>医疗保险的享受待遇</p>
<p>1、门、急诊医疗费用</p>
<p>在职职工年度内（1月1日-12月31日）符合基本医疗保险规定范围的医疗费累计超过<br />
2000元以上部分；</p>
<p>2、结算比例：</p>
<p>合同期内派遣人员2000元以上部分报销50%，个人自付50%；</p>
<p>在一个年度内累计支付派遣人员门、急诊报销最高数额为2万元。</p>
<p>3、 参保人员要妥善保管好在定点医院就诊的门诊医疗单据（含大额以下部分的收<br />
据、处方底方等），作为医疗费用报销凭证；</p>
<p>4、 三种特殊病的门诊就医：参保人员患恶性肿瘤放射治疗和化学治疗、肾透析、<br />
肾移植后服抗排异药需在门诊就医时，由参保人就医的二、三级定点医院开据&#8221;疾病<br />
诊断证明&#8221;，并填写《北京市医疗保险特殊病种申报审批表》，报区医保中心审批备<br />
案。这三种特殊病的门诊就医及取药仅限在批准就诊的定点医院，不能到定点零售<br />
药店购买。发生的医疗费符合门诊特殊病规定范围的，参照住院进行结算；</p>
<p>5、住院医疗</p>
<p>● 住院押金：符合住院条件的参保人员，在收入住院时，医院收取参保人员部分押<br />
金，押金数额由医院根据病情按比例确定。如被派遣人员单位和参保人员未能按时<br />
足额缴纳医疗保险费的，住院押金由派遣人员个人全额垫付；</p>
<p>● 结算周期：参保人员住院治疗每90天为一个结算周期：不超过90天的，每次住院<br />
为一个结算周期；</p>
<p>● 恶性肿瘤患者门诊放射治疗和化学治疗、肾透析、肾移植后服抗排异药、患有精<br />
神病需常年住院的患者其发生的医疗费用每360天为一个结算周期；</p>
<p>● 参保人员在定点的社区卫生服务中心（站）的家庭病床治疗发生的医疗费用，每<br />
90天为一个结算周期；</p>
<p>● 参保人员出院或阶段治疗结束时，需由派遣人员个人先与医院结清应由派遣人员<br />
个人自费和自付的费用，应由基本医疗保险统筹基金和大额医疗互助资金支付的医<br />
疗费用，由医院向医保中心申报审核、结算；</p>
<p>● 参保人员住院治疗，符合基本医疗保险规定范围的医疗费的结算，设定基本医疗<br />
统筹基金支付起付线和最高支付额；</p>
<p>● 起付线第一次住院为1300元，以后住院为650元，最高支付限额为5万元；超过最<br />
高支付上限的（不含起付标准以下以及派遣人员个人负担部分）大额医疗费用互助<br />
资金支付70%，派遣人员个人负担30%。在一个年度内最高支付10万元。住院费用的<br />
结算标准，在一个结算周期内按医院等级和费用数额采取分段计算、累加支付的办<br />
法。</p>
<p>（各项比例有调整时，按新的标准执行）</p>
<p>注意啊：非因公交通事故，医保是免责的！</p>
<p>失业保险享受待遇</p>
<p>失业保险连续缴纳一年以上，档案退回街道后。可以在街道享受失业保险待遇。</p>
<p>1．失业保险金：是指失业保险经办机构按规定支付给符合条件的失业人员的基本生<br />
活费用，它是最主要的失业保险待遇。失业保险待遇根据北京市相关文件执行；</p>
<p>2． 领取失业保险金期间的医疗补助金：是指支付给失业人员领取失业保险金期间<br />
发生的医疗费用的补助。根据北京市有关政策法规执行；</p>
<p>3． 领取失业保险金期间死亡的失业人员的丧葬补助金和其供养的配偶、直系亲属<br />
的抚恤金按有关规定执行。</p>
<p>工伤保险享受待遇</p>
<p>在合同期内不幸发生意外，需向企业索取情况说明，并加盖企业公章，尽快（最好<br />
在三个工作日内）申请工伤认定并需提供下列材料：</p>
<p>1、初次治疗诊断书或住院病历;</p>
<p>2、 职业病诊断证明（原件、复印件各一份）;</p>
<p>3、 交通事故需提供交通大队的事故裁决书或交通部门的交通事故证明；</p>
<p>4、 身份证复印件；</p>
<p>5、 有效期内的劳动合同原件</p>
<p>生育保险享受待遇</p>
<p>可以报销与生育有关费用</p>
<p>报销范围包括，生育津贴、生育医疗费用、计划生育手术医疗费用、国家和本市规<br />
定的其他与生育有关的费用。</p>
<p>生育津贴按照女职工本人生育当月的缴费基数除以30再乘以产假天数计算。生育津<br />
贴为女职工产假期间的工资，生育津贴低于本人工资标准的，差额部分由企业补足<br />
。</p>
<p>生育医疗费用包括女职工因怀孕、生育发生的医疗检查费、接生费、手术费、住院<br />
费和药品费。</p>
<p>计划生育手术医疗费用包括职工因计划生育发生的医疗费用。</p>
<p>现在要求，医保缴够20年，养老交够15年才有资格领养老金和享受退休后的医保报<br />
销</p>
<p>然后还有一点在网上查不出来的东西</p>
<p>首先 如果去非户口所在地工作 比如原户口在北京 而去深圳工作 无论户口是否转<br />
过去深圳 万一将来不在深圳工作了 那么在深圳交的五险一金 能否转出来 就很成<br />
问题 因为现在全国五险一金这个东西没有联网 只有北京市内的联网了 就是说 如<br />
果你本来在北京的一家单位工作 几年后跳到另外的一个北京单位工作 这样五险一<br />
金是没有问题的 但是从其他省市跳的话 转的时候会很麻烦 能不能转还成问题</p>
<p>关于前面提到的五险中的三险是企业和个人共同交纳 意思是这样 比如对于养老保<br />
险 比如你的工资是2000 那么你个人要交纳8％ 单位给交纳15％（以上数据都是假<br />
设）， 这些钱都存到你的一个帐户里 等到你满足了可以享受养老保险的时候 才可<br />
以支取（具体条件见前面） 然后考虑到上面一段写的内容 万一要是转不了的话 那<br />
么你的钱就白交了 还取不出来</p>
<p>所有企业和个人共同交纳的部分都是这样的 住房公积金也是这样 比如按照工资乘<br />
以比例 假如你每个月要交500 单位给你交1000 如果你跳槽了 这些钱又不能转 那<br />
么你每个月500就白交了 也不能取出来&#8211;因为你不符合享受住房公积金的条件，<br />
只有到买房子的时候才能取出来</p>
<p>那么有人可能会问了 那我如果不打算在刚开始工作的城市发展一辈子 为了防止将<br />
来转不出来五险一金 我能不能不交纳？答案是不能 至少三险那部分是国家强制必<br />
须上的 所以比较无奈</p>
<p>另外关于五险一金上缴的基数 就是拿你哪部分工资乘以那个百分比的问题 是这样<br />
的 首先来看一下工资的构成 基本工资＋各项福利+奖金</p>
<p>很多企业 都是只按照基本工资上五险一金的 因为如果按照三部分来算的话 你个人<br />
上的多一些 但是单位给你上的更多（企业和个人共同交纳的五险一金 都是个人交<br />
小头 单位交大头） 所以很多企业为了给自己省钱 基数都是能少则少</p>
<p>另外对于福利部分 有很大猫腻 这个大家将来在签合同的时候一定要问！</p>
<p>前面说过 住房公积金也是企业和个人共同交纳的 但是企业给你交的那部分 早晚也<br />
是你的（只要你将来买房的话 是可以一次性取出来的） 比如说 你每个月按照比例<br />
交500 单位可能给你贴1000 虽然在你买房子之前 这1500是取不出来的 但理论上说<br />
那1000也是给你的 那么有的企业就会把那1000算做给你的福利 其实不应该算的<br />
！！！！ 因为那1000是虚的 是你在不买房子的时候 就取不出来的 所以大家在签<br />
的时候 要问清楚这福利里面有没有包括住房公积金 小心啊小心！</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/02/%e5%85%b3%e4%ba%8e%e4%ba%94%e9%99%a9%e4%b8%80%e9%87%91%e4%bb%80%e4%b9%88%e6%98%af%e4%ba%94%e9%99%a9%e4%b8%80%e9%87%91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>房山区户口和城八区户口有什么区别？</title>
		<link>http://thinklouder.cn/2006/02/%e6%88%bf%e5%b1%b1%e5%8c%ba%e6%88%b7%e5%8f%a3%e5%92%8c%e5%9f%8e%e5%85%ab%e5%8c%ba%e6%88%b7%e5%8f%a3%e6%9c%89%e4%bb%80%e4%b9%88%e5%8c%ba%e5%88%ab%ef%bc%9f/</link>
		<comments>http://thinklouder.cn/2006/02/%e6%88%bf%e5%b1%b1%e5%8c%ba%e6%88%b7%e5%8f%a3%e5%92%8c%e5%9f%8e%e5%85%ab%e5%8c%ba%e6%88%b7%e5%8f%a3%e6%9c%89%e4%bb%80%e4%b9%88%e5%8c%ba%e5%88%ab%ef%bc%9f/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 15:44:18 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!318.entry</guid>
		<description><![CDATA[来自水木 HuKou~
这个挺麻烦的，我试着说说
郊区户口和城区户口的区别，首先还要看你的户口是集体户口还是个人户口
如果是个人户口，影响就比较大了，因为孩子的教育问题，城八区还是远强于郊区县的孩子的户口在哪一片儿，就要在哪一片儿上小学（这个“片儿”的概念，不太好讲清楚，呵呵）
如果是集体户口，如果郊区县没有限制刚刚被接收的外地生源学生的集体户口迁出的相关政策比如“我们区县引进的人才，N年内户口不得迁出我区县”等那就没有什么影响了，将来想要孩子的时候，在教育质量比较好的城区买房把户口迁过来就好了
另外，现在的新政策说，集体户口也可以给孩子上户口了这个政策目前还没有被彻底贯彻执行，所以，就算给孩子上集体户口孩子应该属于哪一片儿，在哪一片上学等问题，HuKou还没有听到过什么案例，不好多讲

]]></description>
			<content:encoded><![CDATA[<div>来自水木 HuKou~</div>
<div>这个挺麻烦的，我试着说说</p>
<p>郊区户口和城区户口的区别，首先还要看你的户口是集体户口还是个人户口</p>
<p>如果是个人户口，影响就比较大了，因为孩子的教育问题，城八区还是远强于郊区县的<br />孩子的户口在哪一片儿，就要在哪一片儿上小学（这个“片儿”的概念，不太好讲清楚，呵呵）</p>
<p>如果是集体户口，如果郊区县没有限制刚刚被接收的外地生源学生的集体户口迁出的相关政策<br />比如“我们区县引进的人才，N年内户口不得迁出我区县”等<br />那就没有什么影响了，将来想要孩子的时候，在教育质量比较好的城区买房<br />把户口迁过来就好了</p>
<p>另外，现在的新政策说，集体户口也可以给孩子上户口了<br />这个政策目前还没有被彻底贯彻执行，所以，就算给孩子上集体户口<br />孩子应该属于哪一片儿，在哪一片上学等问题，HuKou还没有听到过什么案例，不好多讲</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e6%88%bf%e5%b1%b1%e5%8c%ba%e6%88%b7%e5%8f%a3%e5%92%8c%e5%9f%8e%e5%85%ab%e5%8c%ba%e6%88%b7%e5%8f%a3%e6%9c%89%e4%bb%80%e4%b9%88%e5%8c%ba%e5%88%ab%ef%bc%9f&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/02/%e6%88%bf%e5%b1%b1%e5%8c%ba%e6%88%b7%e5%8f%a3%e5%92%8c%e5%9f%8e%e5%85%ab%e5%8c%ba%e6%88%b7%e5%8f%a3%e6%9c%89%e4%bb%80%e4%b9%88%e5%8c%ba%e5%88%ab%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于RMI的理解</title>
		<link>http://thinklouder.cn/2006/01/%e5%85%b3%e4%ba%8ermi%e7%9a%84%e7%90%86%e8%a7%a3/</link>
		<comments>http://thinklouder.cn/2006/01/%e5%85%b3%e4%ba%8ermi%e7%9a%84%e7%90%86%e8%a7%a3/#comments</comments>
		<pubDate>Wed, 18 Jan 2006 16:54:59 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!280.entry</guid>
		<description><![CDATA[RMI在EJB中又占有很重要得成份。不过完全没有必要因此而挡住了学习上前进的道路。
一RMI:指Remote Method Invocation （远程方法调用）。
说到远程方法调用，就应该说一下计算机通信技术。
计算机通信技术到目前为止主要有3种：
1.Socket 2.RPC 3.RMI
Socket在Java基础中已经学习，但是那只是皮毛而已。Socket得深入学习要对计算机通信底层技术非常熟悉，才会将Socket得代码写的非常好。否则Socket会让你痛不欲生。
RPC和RMI差不多，主要都是屏蔽了底层得具体实现。而者区别主要在于：
RPC是远程过程调用。
RMI是远程方法调用。
二RMI实现过程。
简言之，RMI机制在实现过程中，会产生2个对象，分别是：Stub和Skeleton。
Stub在客户端，Skeleton在服务器端。Stub做为远程对象在客户端得代理，客户端在调用远程对象得过程，其实是调用Stub对象中相应得方法。随后Stub调用远程对象中相应得方法。
Skeleton会根据Stub传过来得信息进行解码，然后调用对应得方法。在方法调用完成后，会返回给Stub一个处理结果。Stub在将处理结果返回给调用他的客户端。
这样RMI就完成了基本得调用循环。 
]]></description>
			<content:encoded><![CDATA[<p>RMI在EJB中又占有很重要得成份。不过完全没有必要因此而挡住了学习上前进的道路。</p>
<p>一<br />RMI:指Remote Method Invocation （远程方法调用）。</p>
<p>说到远程方法调用，就应该说一下计算机通信技术。</p>
<p>计算机通信技术到目前为止主要有3种：</p>
<p>1.Socket 2.RPC 3.RMI</p>
<p>Socket在Java基础中已经学习，但是那只是皮毛而已。Socket得深入学习要对计算机通信底层技术非常熟悉，才会将Socket得代码写的非常好。否则Socket会让你痛不欲生。</p>
<p>RPC和RMI差不多，主要都是屏蔽了底层得具体实现。而者区别主要在于：</p>
<p>RPC是远程过程调用。</p>
<p>RMI是远程方法调用。</p>
<p>二<br />RMI实现过程。</p>
<p>简言之，RMI机制在实现过程中，会产生2个对象，分别是：Stub和Skeleton。</p>
<p>Stub在客户端，Skeleton在服务器端。Stub做为远程对象在客户端得代理，客户端在调用远程对象得过程，其实是调用Stub对象中相应得方法。随后Stub调用远程对象中相应得方法。</p>
<p>Skeleton会根据Stub传过来得信息进行解码，然后调用对应得方法。在方法调用完成后，会返回给Stub一个处理结果。Stub在将处理结果返回给调用他的客户端。</p>
<p>这样RMI就完成了基本得调用循环。<br /> <br /><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%85%b3%e4%ba%8eRMI%e7%9a%84%e7%90%86%e8%a7%a3&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/01/%e5%85%b3%e4%ba%8ermi%e7%9a%84%e7%90%86%e8%a7%a3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>分析prototype</title>
		<link>http://thinklouder.cn/2006/01/%e5%88%86%e6%9e%90prototype/</link>
		<comments>http://thinklouder.cn/2006/01/%e5%88%86%e6%9e%90prototype/#comments</comments>
		<pubDate>Mon, 16 Jan 2006 03:57:59 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!278.entry</guid>
		<description><![CDATA[比较优秀的两个prototype注释
 
http://www.sergiopereira.com/articles/prototype.js.html
 
https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html

]]></description>
			<content:encoded><![CDATA[<div>比较优秀的两个prototype注释</div>
<div> </div>
<div><a href="http://www.sergiopereira.com/articles/prototype.js.html">http://www.sergiopereira.com/articles/prototype.js.html</a></div>
<div> </div>
<div><a href="https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html">https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html</a></div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%88%86%e6%9e%90prototype&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/01/%e5%88%86%e6%9e%90prototype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个心理年龄测试</title>
		<link>http://thinklouder.cn/2006/01/a-mental-age-test/</link>
		<comments>http://thinklouder.cn/2006/01/a-mental-age-test/#comments</comments>
		<pubDate>Thu, 05 Jan 2006 18:34:05 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2006]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!254.entry</guid>
		<description><![CDATA[人给的一个小测试
 
http://bbs.sjtu.edu.cn/file/SJTUNews/1116471194314030.swf
 
心理年龄 37
 
你的成熟度是 168.181818181818%, 你的心理处在成年时期。你成熟、稳健、老练、实际，能够合情合理地处理现实人生、理想的种种矛盾，比较理智地看待完美与缺陷，获得与丧失。清楚地认识自己，能清明地分辨可能与不能，可为与不可为。但这种状态稍有偏失，你就会走进保守与停滞，也容易导致的将是创造性和人生乐趣的丧失。
 
 =============
2008.12.11 再测
心理年龄 33
你的成熟度是 132%, 你的心理处在成年时期。你成熟、稳健、老练、实际，能够合情合理地处理现实人生、理想的种种矛盾，比较理智地看待完美与缺陷，获得与丧失。清楚地认识自己，能清明地分辨可能与不能，可为与不可为。但这种状态稍有偏失，你就会走进保守与停滞，也容易导致的将是创造性和人生乐趣的丧失。
 

]]></description>
			<content:encoded><![CDATA[<p>人给的一个小测试</p>
<p> </p>
<p><a href="http://bbs.sjtu.edu.cn/file/SJTUNews/1116471194314030.swf">http://bbs.sjtu.edu.cn/file/SJTUNews/1116471194314030.swf</a></p>
<div> </div>
<div>心理年龄 37</div>
<div> </div>
<div>你的成熟度是 168.181818181818%, 你的心理处在成年时期。你成熟、稳健、老练、实际，能够合情合理地处理现实人生、理想的种种矛盾，比较理智地看待完美与缺陷，获得与丧失。清楚地认识自己，能清明地分辨可能与不能，可为与不可为。但这种状态稍有偏失，你就会走进保守与停滞，也容易导致的将是创造性和人生乐趣的丧失。</div>
<div> </div>
<div> =============</div>
<div>2008.12.11 再测</div>
<div>心理年龄 33</div>
<div>你的成熟度是 132%, 你的心理处在成年时期。你成熟、稳健、老练、实际，能够合情合理地处理现实人生、理想的种种矛盾，比较理智地看待完美与缺陷，获得与丧失。清楚地认识自己，能清明地分辨可能与不能，可为与不可为。但这种状态稍有偏失，你就会走进保守与停滞，也容易导致的将是创造性和人生乐趣的丧失。</div>
<div> </div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e4%b8%80%e4%b8%aa%e5%bf%83%e7%90%86%e5%b9%b4%e9%be%84%e6%b5%8b%e8%af%95&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0px" height="0px" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2006/01/a-mental-age-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>哥们</title>
		<link>http://thinklouder.cn/2005/12/%e5%93%a5%e4%bb%ac/</link>
		<comments>http://thinklouder.cn/2005/12/%e5%93%a5%e4%bb%ac/#comments</comments>
		<pubDate>Wed, 28 Dec 2005 19:52:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!240.entry</guid>
		<description><![CDATA[又到30号，真他妈的快！哥们已经在那边两年了，现在啥模样了！
整天迷迷糊糊的突然意识到明天又到了你的忌日～
 
总是能看到你的身影，同学中的那些胖子，Lost里那个胖子hugo都挺像你。可惜他们都不是我哥们。本来咱们应该一起长大的。没准今年你就长胡子了，和我一样&#8230;
 
有些问题我永远也想不明白。我总觉着是我害了你，我给了你很多压力～从你那里得到了很多好处～却又总是把问题归咎于你。啥都要和你争。你总是让着我。说啥都晚了。
 
22岁了，80岁到头现在已经过了1/4。我好像没得到些什么却失去了你。从来不相信时间机器，但在这件事上，如果能，我一定回到过去把你弄到身边好好看着你。那些美好的日子都只能在记忆力翻来翻去。
 
发现最近我对白酒特别感兴趣。喝了几次小酒，每次喝完都感觉很舒服。长这么大醉了两次一次和你，一次和你爸。今年回去找你爸蹭酒喝。
 
我不能想的太好每次想的太好就肯定实现不了。想长大以后怎么样怎么样，结果还没多大那些美好就已经被扼杀了。呵呵！虚情假意那么多，也就咱们哥几个算是真的好。挺幸福的～吵了那么多架！还能睡在一张大床上。
 
好想30号的时候能够回家啊！总是要考试。保佑我这次能都考过，明年这个时候我请假回家拜拜你！
 
突然很想知道狮子座那次流星雨你在想些什么～但你别问我，我都忘了我在想什么。那天我真的听到了流星爆炸的声音。
 
有时候回到住处发现气味这么熟悉，感觉这味道有点像你那屋子～我也有了自己心爱的打火机而且习惯性的吸烟，烧烤的时候也会用它点炭。每当这个时候就让我想起在海边的那次烧烤～
 
按时间顺序整理记忆，我总会遗忘很多。每次朦朦胧胧只后总能偶然想起以前的什么。
 
2年好快啊！让我慢慢适应没有你的日子～
]]></description>
			<content:encoded><![CDATA[<div>又到30号，真他妈的快！哥们已经在那边两年了，现在啥模样了！</div>
<div>整天迷迷糊糊的突然意识到明天又到了你的忌日～</div>
<div> </div>
<div>总是能看到你的身影，同学中的那些胖子，Lost里那个胖子hugo都挺像你。可惜他们都不是我哥们。本来咱们应该一起长大的。没准今年你就长胡子了，和我一样&#8230;</div>
<div> </div>
<div>有些问题我永远也想不明白。我总觉着是我害了你，我给了你很多压力～从你那里得到了很多好处～却又总是把问题归咎于你。啥都要和你争。你总是让着我。说啥都晚了。</div>
<div> </div>
<div>22岁了，80岁到头现在已经过了1/4。我好像没得到些什么却失去了你。从来不相信时间机器，但在这件事上，如果能，我一定回到过去把你弄到身边好好看着你。那些美好的日子都只能在记忆力翻来翻去。</div>
<div> </div>
<div>发现最近我对白酒特别感兴趣。喝了几次小酒，每次喝完都感觉很舒服。长这么大醉了两次一次和你，一次和你爸。今年回去找你爸蹭酒喝。</div>
<div> </div>
<div>我不能想的太好每次想的太好就肯定实现不了。想长大以后怎么样怎么样，结果还没多大那些美好就已经被扼杀了。呵呵！虚情假意那么多，也就咱们哥几个算是真的好。挺幸福的～吵了那么多架！还能睡在一张大床上。</div>
<div> </div>
<div>好想30号的时候能够回家啊！总是要考试。保佑我这次能都考过，明年这个时候我请假回家拜拜你！</div>
<div> </div>
<div>突然很想知道狮子座那次流星雨你在想些什么～但你别问我，我都忘了我在想什么。那天我真的听到了流星爆炸的声音。</div>
<div> </div>
<div>有时候回到住处发现气味这么熟悉，感觉这味道有点像你那屋子～我也有了自己心爱的打火机而且习惯性的吸烟，烧烤的时候也会用它点炭。每当这个时候就让我想起在海边的那次烧烤～</div>
<div> </div>
<div>按时间顺序整理记忆，我总会遗忘很多。每次朦朦胧胧只后总能偶然想起以前的什么。</div>
<div> </div>
<div>2年好快啊！让我慢慢适应没有你的日子～</div>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/12/%e5%93%a5%e4%bb%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一周总结</title>
		<link>http://thinklouder.cn/2005/12/%e4%b8%80%e5%91%a8%e6%80%bb%e7%bb%93/</link>
		<comments>http://thinklouder.cn/2005/12/%e4%b8%80%e5%91%a8%e6%80%bb%e7%bb%93/#comments</comments>
		<pubDate>Fri, 23 Dec 2005 18:16:00 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!233.entry</guid>
		<description><![CDATA[几乎每天都有电话让去面试，看来简历写的还是不错。
毕设这就算是开始了～对众多的Ajax框架加以分析，取其精华，然后重新设计&#8230;不知道怎么对js做测试&#8230;
不知道进度能不能完成，如果单纯实现一个ajax的应用还是很easy的，如果是一个框架就会难一些，如果再加一个eclipse的plugin&#8230; 想的还是很完美的，加加班应该可以。
如果能够实现一个plugin就可以让这个东西产品化。然后在开发中大规模应用。目前ria有几种：基于flash的，然后就是ajax的了～flash那种形式看起来华丽的很，但是总感觉怪怪的，代码编译成flash，界面运行起来感觉好慢，还是ajax的好一些，快～清爽~ 
都离不开xml ，其实cs端无所谓，没准以后都会使用xaml那种东西了。
ajax只是个过渡技术，但至少现在很流行，而且还会流行一段时间。
企业信息系统，用户操作界面很重要，总是刷新还是不爽的。
 
opoa
 
lyp去了tom&#8230;
那个叫大少爷的去了baidu&#8230;
我呢！
 
 
 
 

]]></description>
			<content:encoded><![CDATA[<div>几乎每天都有电话让去面试，看来简历写的还是不错。</div>
<div>毕设这就算是开始了～对众多的Ajax框架加以分析，取其精华，然后重新设计&#8230;不知道怎么对js做测试&#8230;</div>
<div>不知道进度能不能完成，如果单纯实现一个ajax的应用还是很easy的，如果是一个框架就会难一些，如果再加一个eclipse的plugin&#8230; 想的还是很完美的，加加班应该可以。</div>
<div>如果能够实现一个plugin就可以让这个东西产品化。然后在开发中大规模应用。目前ria有几种：基于flash的，然后就是ajax的了～flash那种形式看起来华丽的很，但是总感觉怪怪的，代码编译成flash，界面运行起来感觉好慢，还是ajax的好一些，快～清爽~ </div>
<div>都离不开xml ，其实cs端无所谓，没准以后都会使用xaml那种东西了。</div>
<div>ajax只是个过渡技术，但至少现在很流行，而且还会流行一段时间。</div>
<div>企业信息系统，用户操作界面很重要，总是刷新还是不爽的。</div>
<div> </div>
<div>opoa</div>
<div> </div>
<div>lyp去了tom&#8230;</div>
<div>那个叫大少爷的去了baidu&#8230;</div>
<div>我呢！</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e4%b8%80%e5%91%a8%e6%80%bb%e7%bb%93&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/12/%e4%b8%80%e5%91%a8%e6%80%bb%e7%bb%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>性格越来越强了呀</title>
		<link>http://thinklouder.cn/2005/12/%e6%80%a7%e6%a0%bc%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%bc%ba%e4%ba%86%e5%91%80/</link>
		<comments>http://thinklouder.cn/2005/12/%e6%80%a7%e6%a0%bc%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%bc%ba%e4%ba%86%e5%91%80/#comments</comments>
		<pubDate>Wed, 07 Dec 2005 19:53:43 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!229.entry</guid>
		<description><![CDATA[前几天踢了老板，不爽不干了，从不贱卖自己。
 
有一点失策不应该不要那设计费用，再怎么说人家也算完成工作了，回头在别的地方给人糊上。还真怕那厮耍赖，应允的money少了自己也觉着不爽。
 
流媒体是个好东西啊，可Mr王怎么就不急呢，想想如果一台机器可以便宜卖20K&#8230; 做梦了开始。
 
李开复说，“人生有无数个选择”&#8230; 我已经做了无数个选择了。女友他爸给的烟到这个周末应该正好抽完一条。抽了人家的烟难道就这样了&#8230; daiwen的russian马子啊&#8230; 
 
今天算了一下学分还好吧还是大二的旧帐，希望能剩下的时间能补上～
 
前面几周比较清闲等待的日子不太好过，泡在游戏里一会就过了，补上从前不玩的游戏，寻找同年的回忆&#8230; 没有这样回忆。
 
停了停了挺了挺了。又该到为自己做点什么事的时候了，就假设这是个小小的理想&#8230;没准也能卖钱。自认为什么都值钱，但真正挣到手的还是不多再减去拱手送人的请吃饭的打车的买碟的吸烟的&#8230; 算了臭屁学生挣什么钱。明年在开始好好挣吧！
 
最近聊了几个朋友都说自己啥也不会，拿奖学金每年也不少，都学什么了。真正的好学生都会去考研，可能真是啥都不会除了学习了。剩下那些保研的和真的啥也不会的就只能上上网和我聊聊天了。那我没有保研岂不是只能和那些啥都不会的朋友们一路货色。再见了这帮人我就下线。
 
坏了坏了又失去方向了，高中头脑一热，到现在还有余温&#8230; 我其实并不是那么了不得，不然也不会到这个学校来。哪来回哪去，难道我要回初中当老师，没准可以带学生出去打个架。真风光。
 
时间都花在哪里了，可能都忙着想挣钱了&#8230; 别老想着挣钱&#8230;  我靠别这么想，不然明天又把money送人了。我还计划买n多东西呢。
 
将近一个小时写了这些废话，我不是不喜欢写博客，如果脑子里没有垃圾我才不会写在这里。就像家里好几本日记本，除了钉书机钉起来那几页总是拔开看看，其他的连动都不会动。
 
tbc



ps: 
刚想如果这个博客会有一个计时功能，让人知道自己写了多久&#8230;抬头一看上面写着日期时间，算了&#8230;人生地不熟的地方。再加上算术学的不好。
虽然但是，如果这个地方的UI再友好一些的话&#8230;devleader跑了就是不行了&#8230;

]]></description>
			<content:encoded><![CDATA[<div>前几天踢了老板，不爽不干了，从不贱卖自己。</div>
<div> </div>
<div>有一点失策不应该不要那设计费用，再怎么说人家也算完成工作了，回头在别的地方给人糊上。还真怕那厮耍赖，应允的money少了自己也觉着不爽。</div>
<div> </div>
<div>流媒体是个好东西啊，可Mr王怎么就不急呢，想想如果一台机器可以便宜卖20K&#8230; 做梦了开始。</div>
<div> </div>
<div>李开复说，“人生有无数个选择”&#8230; 我已经做了无数个选择了。女友他爸给的烟到这个周末应该正好抽完一条。抽了人家的烟难道就这样了&#8230; daiwen的russian马子啊&#8230; </div>
<div> </div>
<div>今天算了一下学分还好吧还是大二的旧帐，希望能剩下的时间能补上～</div>
<div> </div>
<div>前面几周比较清闲等待的日子不太好过，泡在游戏里一会就过了，补上从前不玩的游戏，寻找同年的回忆&#8230; 没有这样回忆。</div>
<div> </div>
<div>停了停了挺了挺了。又该到为自己做点什么事的时候了，就假设这是个小小的理想&#8230;没准也能卖钱。自认为什么都值钱，但真正挣到手的还是不多再减去拱手送人的请吃饭的打车的买碟的吸烟的&#8230; 算了臭屁学生挣什么钱。明年在开始好好挣吧！</div>
<div> </div>
<div>最近聊了几个朋友都说自己啥也不会，拿奖学金每年也不少，都学什么了。真正的好学生都会去考研，可能真是啥都不会除了学习了。剩下那些保研的和真的啥也不会的就只能上上网和我聊聊天了。那我没有保研岂不是只能和那些啥都不会的朋友们一路货色。再见了这帮人我就下线。</div>
<div> </div>
<div>坏了坏了又失去方向了，高中头脑一热，到现在还有余温&#8230; 我其实并不是那么了不得，不然也不会到这个学校来。哪来回哪去，难道我要回初中当老师，没准可以带学生出去打个架。真风光。</div>
<div> </div>
<div>时间都花在哪里了，可能都忙着想挣钱了&#8230; 别老想着挣钱&#8230;  我靠别这么想，不然明天又把money送人了。我还计划买n多东西呢。</div>
<div> </div>
<div>将近一个小时写了这些废话，我不是不喜欢写博客，如果脑子里没有垃圾我才不会写在这里。就像家里好几本日记本，除了钉书机钉起来那几页总是拔开看看，其他的连动都不会动。</div>
<div> </div>
<div>tbc</div>
<div>
<hr />
</div>
<div>ps: </div>
<div>刚想如果这个博客会有一个计时功能，让人知道自己写了多久&#8230;抬头一看上面写着日期时间，算了&#8230;人生地不熟的地方。再加上算术学的不好。</div>
<div>虽然但是，如果这个地方的UI再友好一些的话&#8230;devleader跑了就是不行了&#8230;</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e6%80%a7%e6%a0%bc%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%bc%ba%e4%ba%86%e5%91%80&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/12/%e6%80%a7%e6%a0%bc%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%bc%ba%e4%ba%86%e5%91%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>这次就是分母了来年再战吧</title>
		<link>http://thinklouder.cn/2005/11/%e8%bf%99%e6%ac%a1%e5%b0%b1%e6%98%af%e5%88%86%e6%af%8d%e4%ba%86%e6%9d%a5%e5%b9%b4%e5%86%8d%e6%88%98%e5%90%a7/</link>
		<comments>http://thinklouder.cn/2005/11/%e8%bf%99%e6%ac%a1%e5%b0%b1%e6%98%af%e5%88%86%e6%af%8d%e4%ba%86%e6%9d%a5%e5%b9%b4%e5%86%8d%e6%88%98%e5%90%a7/#comments</comments>
		<pubDate>Sun, 27 Nov 2005 03:16:58 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!228.entry</guid>
		<description><![CDATA[明年春季和毕业之后都会有招聘那时候再去考一下。中间可以安稳的找个工作先做着。告一段落了。
 
下次长个记性：不会就空着，不要乱选。
 
俺是本科在读不是小硕～

]]></description>
			<content:encoded><![CDATA[<div>明年春季和毕业之后都会有招聘那时候再去考一下。中间可以安稳的找个工作先做着。告一段落了。</div>
<div> </div>
<div><em>下次长个记性：不会就空着，不要乱选。</em></div>
<div> </div>
<div>俺是本科在读不是小硕～</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e8%bf%99%e6%ac%a1%e5%b0%b1%e6%98%af%e5%88%86%e6%af%8d%e4%ba%86%e6%9d%a5%e5%b9%b4%e5%86%8d%e6%88%98%e5%90%a7&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/11/%e8%bf%99%e6%ac%a1%e5%b0%b1%e6%98%af%e5%88%86%e6%af%8d%e4%ba%86%e6%9d%a5%e5%b9%b4%e5%86%8d%e6%88%98%e5%90%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>静静等待中</title>
		<link>http://thinklouder.cn/2005/11/%e9%9d%99%e9%9d%99%e7%ad%89%e5%be%85%e4%b8%ad/</link>
		<comments>http://thinklouder.cn/2005/11/%e9%9d%99%e9%9d%99%e7%ad%89%e5%be%85%e4%b8%ad/#comments</comments>
		<pubDate>Sat, 26 Nov 2005 03:15:44 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!227.entry</guid>
		<description><![CDATA[微软的笔试过去了10多天了现在还没有任何消息。这次估计真的是分母了。行吧！平时不怎么考试，这次考试就当练手了。Windows编程学的太少了，数据结构练习的也不够。也就是reasoning部分答的很自信。看来孙文的推荐也用不着了。
 
俺不是本科牛人&#8230;一二轮很多小硕也纷纷掉下马，还有人得了个蛋。没准能得个二三十分呢！明年再考一次～
 
项目不断找上门来，实习就先放一放吧&#8230;效果都一样。
 
顺便拒了中科院一公司~不知道怎么知道我的。

]]></description>
			<content:encoded><![CDATA[<div>微软的笔试过去了10多天了现在还没有任何消息。这次估计真的是分母了。行吧！平时不怎么考试，这次考试就当练手了。Windows编程学的太少了，数据结构练习的也不够。也就是reasoning部分答的很自信。看来孙文的推荐也用不着了。</div>
<div> </div>
<div>俺不是本科牛人&#8230;一二轮很多小硕也纷纷掉下马，还有人得了个蛋。没准能得个二三十分呢！明年再考一次～</div>
<div> </div>
<div>项目不断找上门来，实习就先放一放吧&#8230;效果都一样。</div>
<div> </div>
<div>顺便拒了中科院一公司~不知道怎么知道我的。</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e9%9d%99%e9%9d%99%e7%ad%89%e5%be%85%e4%b8%ad&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/11/%e9%9d%99%e9%9d%99%e7%ad%89%e5%be%85%e4%b8%ad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yoda？什么东西</title>
		<link>http://thinklouder.cn/2005/11/what-is-yoda/</link>
		<comments>http://thinklouder.cn/2005/11/what-is-yoda/#comments</comments>
		<pubDate>Wed, 16 Nov 2005 17:42:39 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[programming language]]></category>
		<category><![CDATA[yoda]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!226.entry</guid>
		<description><![CDATA[http://blogs.msdn.com/mattwar/archive/2005/10/09/479008.aspx
下下代的技术，没准到时候我已经不搞技术了～ 回家打鱼去了
Instead of the cryptic c-like syntax below:

public void Main&#40;string&#91;&#93; args&#41; &#123;
    Console.WriteLine&#40;&#34;Hello World&#34;&#41;;
&#125;

We will now have eloquent YODA-like syntax:

&#40;args of string many are they&#41; Main is what they seek yet return they do not.
&#160;
Brace you must
    Written it is, the Console. &#34;Hello World&#34;

]]></description>
			<content:encoded><![CDATA[<p>http://blogs.msdn.com/mattwar/archive/2005/10/09/479008.aspx</p>
<p>下下代的技术，没准到时候我已经不搞技术了～ 回家打鱼去了</p>
<p>Instead of the cryptic c-like syntax below:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Hello World&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>We will now have eloquent YODA-like syntax:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #000000;">&#40;</span>args of <span style="color: #FF0000;">string</span> many are they<span style="color: #000000;">&#41;</span> Main <span style="color: #008000;">is</span> what they seek yet <span style="color: #0600FF;">return</span> they <span style="color: #0600FF;">do</span> not.
&nbsp;
<span style="color: #0000FF;">Brace</span> you must
    Written it <span style="color: #008000;">is</span>, the Console. <span style="color: #666666;">&quot;Hello World&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/11/what-is-yoda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[转]程序员养生之道～</title>
		<link>http://thinklouder.cn/2005/11/life-habits-for-programmers/</link>
		<comments>http://thinklouder.cn/2005/11/life-habits-for-programmers/#comments</comments>
		<pubDate>Wed, 16 Nov 2005 17:27:49 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!225.entry</guid>
		<description><![CDATA[前些时候看过一篇文章，大概描述了自我修身养性的格式塔疗法，受益匪浅，决定从自身的行业与职业出发对十大原则进行重新阐述，希望对广大程序员的工作以及生活有一定的指导意义。
生活在现在 我们大部分的烦恼来自于对过去的惦念与懊悔，过去的辉煌与暗淡占据了我们很多的回忆空间，我们经常为昨天的洋相与错误而长久地悔恨，其实也只有自己才会很在意自己过去的表现，对别人而言，你过去的表现很快就过眼云烟，因此我们不需要沉醉于过去的辉煌，也不需要沉沦于过去的不幸，我们要将精神集中在今天要做什么以及如何去做才最好，尤其像我们程序员这个职业，技术革新太快，稍微停留我们就会变得过时，昨天你所开发的产品或许不错，但明天可能很快就变得陈旧不堪，你需要在今天不断地吸取新技术，不断地创新，不断地完善，才能保持产品以及自身的竞争力，生活在现在是一种积极进取的人生态度，记住：过去的已过去，未来还不可靠，只有今天才是真实可靠的。
生活在这里 搞IT的似乎注定要“飘来飘去”，人员流动性应是所有行业中最高的，毕业七年，服务过4家公司，算是比较稳定的人了，在有些公司工作一年多就成了老员工了，应该说有时是不太守职业道德的，当我发现所在的公司并非自己的理想时，我的心就开始先飘了，人在心不在，这种状况导致工作的效果与效率都不理想，离开只是时间问题，我相信很多朋友也有过这种情况，这是不负责的，对公司与自己都不好，我们尽力做到在那里工作一天就尽责尽力一天， 打工也好创业也好，都要不断提高自己，凡事尽力做到问心无愧，我们要记住，我们现在就生活在此处此地，而不是遥远的其他地方。
停止猜想，面向实际 我们很多心理上的障碍，往往是没有实际根据的“想当然”造成的。面对问题，有些人喜欢猜想，而不是去调查事实与解决问题，比如项目经理早上因进度缓慢问题将你骂了一顿，然后你就因此而联想下去，心里在嘀咕，项目经理是不是对你有意见？是不是不看重你？这个项目如果做不好就完了等等诸如此类的猜想，其实项目经理只是就事论事，并不针对你个人，他是希望你去想方设法将进度跟上来，或加加班，或与同事一起互相帮助一下，而你却活在自己的猜测里久久不能摆脱，结果会越来越严重，所以无论面对任何困难或责备，你需要做的是面对实际，寻找问题所在，并设法解决问题，而不要去胡乱猜想。
暂停思考，多去感受 我对这一点的理解就是要劳逸结合，我们这个职业属于重型脑力劳动，我们经常长时间地思考，经常长时间地coding，有时因为一个BUG，我们日日夜夜冥思苦想，有时为了能让项目按进度完成，日以继夜地加班，都快变成了一台没有情感的机器，我建议朋友们偶尔暂停一下思考，花一些时间去观赏美景或美女，多聆听悦耳美妙的音乐，多去感受大自然的花草树木，休假时出趟远门旅游，如果身体允许，下雨天去踢场足球，我们应尽力让生活变得丰富多彩。
接受不愉快的情感 矛盾无处不在，再乐观的人也会有不愉快的时候，一个优秀的程序员应会处理各种各样的关系，工作上有与客户的关系，与市场人员的关系，与测试人员的关系，与客服人员的关系，与上司的关系，与同事的关系，生活中有与家人的关系，与朋友的关系，与陌生人的关系，我们无法要求所接触的每个人都是我们所想象的，在相处的过程中一定会产生不愉快的情绪，其实愉快与不愉快是相对而言的，同时也是相互存在的，恰当地处理便会相互转化，程序BUG出现了，你一时解决不了，测试人员会追着要你赶快搞定，你变得烦躁与恼火，不停地思索，不断地调试，终于结束了，这时你会有一种如释重负的感觉，心情也会变得愉快起来。
不要随意下判断 我们往往容易在别人稍有差错或失败之时，就马上下结论，这种方式容易与别人产生摩擦与冲突，结果自己也会烦恼与苦闷。对他人的态度和处理人际关系的正确做法应是：先不要对人或事下判断，先要说出你是如何认为的。这样对方会容易接受，往往你说完自己的看法后，对方也自然而然地知道你的结论。
不要盲目地崇拜偶像和权威 大多人都需要一个精神寄托的对象，这个对象的成就以及影响力也往往成为我们的追求目标，比如我曾崇拜周恩来，因为他的个人魅力，我曾崇拜张学友，因为他的歌唱得出神入化，我曾崇拜温伯格，因为他的书写得好，可见崇拜或喜欢一个人，总是有一个理由的，我们不能因为这个理由而全部肯定或接受这个对象的一言一语一举一动，那样会禁锢我们的头脑束缚我们的手脚，使我们失去独立思考的习性。
我就是我 我听过余世维博士的讲座，在他的观点中有一点是强调以我或我们为主，不要去看他们做什么，不要总说别人怎么样，而要关注我们能做什么，我们怎么样，出错了要敢于承认是我或我们的错，而不要将责任推到别人的身上。余博士的这个观点以及所引用的例子让阿蒙受益无穷，决心从我做起，从现在做起，不再怨天尤人，充分发挥自己的潜能与优势，竭尽全力做好自己能做的事情。
对自己负责 高考的成绩并不好，可以说与我要求的目标差得太远，大一的时候总活在不断地为自己辩护的状态之中，我有时认为失败的原因在家境不好，经济压力太大，使我不能专心学习，有时又将原因归于身体不好，影响学习……这是在逃避责任和现实，将自已的过错与失败都推到客观原因上，失败或错误的原因总是说也说不完，项目没有正常完成，是谁的错，是什么错？需求不明，设计不好，管理不佳，还是程序员的水平不高？有谁能站出来承担自己的那份责任？
正确地自我估计 无论在工作中还是社会上，我们每个人都占据着一个特定的位置，所以我们需要按这个位置的要求，去履行我们的权利与义务。在一个项目中，如果你是一个系统设计工程师，那么你就全心全力地去完成系统的概要设计与详细设计，并处理好与项目经理、系统分析员、软件开发人员之间的关系，把自己摆在准确的位置上，如果你不按照项目一致规定和大家公认的规范去做，那你将会受到项目其他人员的谴责和反对，也会使项目的管理变得混乱。所以正确地自我评估是很重要的，它可以让我们始终保持冷静，不再好高骛远，也不会骄傲自满或过分自卑，它让我们脚踏实地做事，认认真真做人。
      十大终于写完了，感觉有一丝成就感，尽管有点教条主义的味道，但出发点应是好的，未来的程序员不应是只会埋头苦干的机器，我们需要生动有趣的生活来保持我们的创新能力。在此时抛出十大原则，目的是：当程序员朋友们从远方回来，从疯狂归来之时，能看到一些理性的思维与观点，并好好地自我评估，从我做起，从现在做起，去一步一个脚印地实现自己的梦想。
]]></description>
			<content:encoded><![CDATA[<p>前些时候看过一篇文章，大概描述了自我修身养性的格式塔疗法，受益匪浅，决定从自身的行业与职业出发对十大原则进行重新阐述，希望对广大程序员的工作以及生活有一定的指导意义。</p>
<p><strong>生活在现在</strong> 我们大部分的烦恼来自于对过去的惦念与懊悔，过去的辉煌与暗淡占据了我们很多的回忆空间，我们经常为昨天的洋相与错误而长久地悔恨，其实也只有自己才会很在意自己过去的表现，对别人而言，你过去的表现很快就过眼云烟，因此我们不需要沉醉于过去的辉煌，也不需要沉沦于过去的不幸，我们要将精神集中在今天要做什么以及如何去做才最好，尤其像我们程序员这个职业，技术革新太快，稍微停留我们就会变得过时，昨天你所开发的产品或许不错，但明天可能很快就变得陈旧不堪，你需要在今天不断地吸取新技术，不断地创新，不断地完善，才能保持产品以及自身的竞争力，生活在现在是一种积极进取的人生态度，记住：过去的已过去，未来还不可靠，只有今天才是真实可靠的。</p>
<p><strong>生活在这里</strong> 搞IT的似乎注定要“飘来飘去”，人员流动性应是所有行业中最高的，毕业七年，服务过4家公司，算是比较稳定的人了，在有些公司工作一年多就成了老员工了，应该说有时是不太守职业道德的，当我发现所在的公司并非自己的理想时，我的心就开始先飘了，人在心不在，这种状况导致工作的效果与效率都不理想，离开只是时间问题，我相信很多朋友也有过这种情况，这是不负责的，对公司与自己都不好，我们尽力做到在那里工作一天就尽责尽力一天， 打工也好创业也好，都要不断提高自己，凡事尽力做到问心无愧，我们要记住，我们现在就生活在此处此地，而不是遥远的其他地方。</p>
<p><strong>停止猜想，面向实际</strong> 我们很多心理上的障碍，往往是没有实际根据的“想当然”造成的。面对问题，有些人喜欢猜想，而不是去调查事实与解决问题，比如项目经理早上因进度缓慢问题将你骂了一顿，然后你就因此而联想下去，心里在嘀咕，项目经理是不是对你有意见？是不是不看重你？这个项目如果做不好就完了等等诸如此类的猜想，其实项目经理只是就事论事，并不针对你个人，他是希望你去想方设法将进度跟上来，或加加班，或与同事一起互相帮助一下，而你却活在自己的猜测里久久不能摆脱，结果会越来越严重，所以无论面对任何困难或责备，你需要做的是面对实际，寻找问题所在，并设法解决问题，而不要去胡乱猜想。</p>
<p><strong>暂停思考，多去感受</strong> 我对这一点的理解就是要劳逸结合，我们这个职业属于重型脑力劳动，我们经常长时间地思考，经常长时间地coding，有时因为一个BUG，我们日日夜夜冥思苦想，有时为了能让项目按进度完成，日以继夜地加班，都快变成了一台没有情感的机器，我建议朋友们偶尔暂停一下思考，花一些时间去观赏美景或美女，多聆听悦耳美妙的音乐，多去感受大自然的花草树木，休假时出趟远门旅游，如果身体允许，下雨天去踢场足球，我们应尽力让生活变得丰富多彩。</p>
<p><strong>接受不愉快的情感</strong> 矛盾无处不在，再乐观的人也会有不愉快的时候，一个优秀的程序员应会处理各种各样的关系，工作上有与客户的关系，与市场人员的关系，与测试人员的关系，与客服人员的关系，与上司的关系，与同事的关系，生活中有与家人的关系，与朋友的关系，与陌生人的关系，我们无法要求所接触的每个人都是我们所想象的，在相处的过程中一定会产生不愉快的情绪，其实愉快与不愉快是相对而言的，同时也是相互存在的，恰当地处理便会相互转化，程序BUG出现了，你一时解决不了，测试人员会追着要你赶快搞定，你变得烦躁与恼火，不停地思索，不断地调试，终于结束了，这时你会有一种如释重负的感觉，心情也会变得愉快起来。</p>
<p><strong>不要随意下判断</strong> 我们往往容易在别人稍有差错或失败之时，就马上下结论，这种方式容易与别人产生摩擦与冲突，结果自己也会烦恼与苦闷。对他人的态度和处理人际关系的正确做法应是：先不要对人或事下判断，先要说出你是如何认为的。这样对方会容易接受，往往你说完自己的看法后，对方也自然而然地知道你的结论。</p>
<p><strong>不要盲目地崇拜偶像和权威</strong> 大多人都需要一个精神寄托的对象，这个对象的成就以及影响力也往往成为我们的追求目标，比如我曾崇拜周恩来，因为他的个人魅力，我曾崇拜张学友，因为他的歌唱得出神入化，我曾崇拜温伯格，因为他的书写得好，可见崇拜或喜欢一个人，总是有一个理由的，我们不能因为这个理由而全部肯定或接受这个对象的一言一语一举一动，那样会禁锢我们的头脑束缚我们的手脚，使我们失去独立思考的习性。</p>
<p><strong>我就是我</strong> 我听过余世维博士的讲座，在他的观点中有一点是强调以我或我们为主，不要去看他们做什么，不要总说别人怎么样，而要关注我们能做什么，我们怎么样，出错了要敢于承认是我或我们的错，而不要将责任推到别人的身上。余博士的这个观点以及所引用的例子让阿蒙受益无穷，决心从我做起，从现在做起，不再怨天尤人，充分发挥自己的潜能与优势，竭尽全力做好自己能做的事情。</p>
<p><strong>对自己负责</strong> 高考的成绩并不好，可以说与我要求的目标差得太远，大一的时候总活在不断地为自己辩护的状态之中，我有时认为失败的原因在家境不好，经济压力太大，使我不能专心学习，有时又将原因归于身体不好，影响学习……这是在逃避责任和现实，将自已的过错与失败都推到客观原因上，失败或错误的原因总是说也说不完，项目没有正常完成，是谁的错，是什么错？需求不明，设计不好，管理不佳，还是程序员的水平不高？有谁能站出来承担自己的那份责任？</p>
<p><strong>正确地自我估计</strong> 无论在工作中还是社会上，我们每个人都占据着一个特定的位置，所以我们需要按这个位置的要求，去履行我们的权利与义务。在一个项目中，如果你是一个系统设计工程师，那么你就全心全力地去完成系统的概要设计与详细设计，并处理好与项目经理、系统分析员、软件开发人员之间的关系，把自己摆在准确的位置上，如果你不按照项目一致规定和大家公认的规范去做，那你将会受到项目其他人员的谴责和反对，也会使项目的管理变得混乱。所以正确地自我评估是很重要的，它可以让我们始终保持冷静，不再好高骛远，也不会骄傲自满或过分自卑，它让我们脚踏实地做事，认认真真做人。</p>
<p>      十大终于写完了，感觉有一丝成就感，尽管有点教条主义的味道，但出发点应是好的，未来的程序员不应是只会埋头苦干的机器，我们需要生动有趣的生活来保持我们的创新能力。在此时抛出十大原则，目的是：当程序员朋友们从远方回来，从疯狂归来之时，能看到一些理性的思维与观点，并好好地自我评估，从我做起，从现在做起，去一步一个脚印地实现自己的梦想。</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/11/life-habits-for-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>本本又被拿回去了</title>
		<link>http://thinklouder.cn/2005/10/%e6%9c%ac%e6%9c%ac%e5%8f%88%e8%a2%ab%e6%8b%bf%e5%9b%9e%e5%8e%bb%e4%ba%86/</link>
		<comments>http://thinklouder.cn/2005/10/%e6%9c%ac%e6%9c%ac%e5%8f%88%e8%a2%ab%e6%8b%bf%e5%9b%9e%e5%8e%bb%e4%ba%86/#comments</comments>
		<pubDate>Fri, 28 Oct 2005 12:17:10 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!222.entry</guid>
		<description><![CDATA[联想的售后支持又把本拿回去了。现在机器主板应该没有问题了，开机还挺快，不过音频线被某个哥们给卡在缝隙里，导致左边喇叭不响&#8230; 明天再送回来～ 
他们客服的态度太好了，也确实认真，我也不好和人动怒。
可能因为这不是自己的本吧～如果是自己的就不会这么想了～
 
盼望明天本本能平安归来～

]]></description>
			<content:encoded><![CDATA[<div>联想的售后支持又把本拿回去了。现在机器主板应该没有问题了，开机还挺快，不过音频线被某个哥们给卡在缝隙里，导致左边喇叭不响&#8230; 明天再送回来～ </div>
<div>他们客服的态度太好了，也确实认真，我也不好和人动怒。</div>
<div>可能因为这不是自己的本吧～如果是自己的就不会这么想了～</div>
<div> </div>
<div><font style="background-color:#ff6600" color="#ffff00"><strong>盼望明天本本能平安归来～</strong></font></div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e6%9c%ac%e6%9c%ac%e5%8f%88%e8%a2%ab%e6%8b%bf%e5%9b%9e%e5%8e%bb%e4%ba%86&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/10/%e6%9c%ac%e6%9c%ac%e5%8f%88%e8%a2%ab%e6%8b%bf%e5%9b%9e%e5%8e%bb%e4%ba%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>本本还是有问题</title>
		<link>http://thinklouder.cn/2005/10/%e6%9c%ac%e6%9c%ac%e8%bf%98%e6%98%af%e6%9c%89%e9%97%ae%e9%a2%98/</link>
		<comments>http://thinklouder.cn/2005/10/%e6%9c%ac%e6%9c%ac%e8%bf%98%e6%98%af%e6%9c%89%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Fri, 21 Oct 2005 14:15:47 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!220.entry</guid>
		<description><![CDATA[联想的人给换了主板，但最不愿看到的事情发生了，这个板子有问题。在客服验机在BIOS里重启了一次，进系统后发觉比原先慢了。回来后03下xp下都发生了停止响应只能拔电源才能关机。
明天进城，再去一趟客服～
坚决不能换主板了～
郁闷！

]]></description>
			<content:encoded><![CDATA[<div>联想的人给换了主板，但最不愿看到的事情发生了，这个板子有问题。在客服验机在BIOS里重启了一次，进系统后发觉比原先慢了。回来后03下xp下都发生了停止响应只能拔电源才能关机。</div>
<div>明天进城，再去一趟客服～</div>
<div>坚决不能换主板了～</div>
<div>郁闷！</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e6%9c%ac%e6%9c%ac%e8%bf%98%e6%98%af%e6%9c%89%e9%97%ae%e9%a2%98&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/10/%e6%9c%ac%e6%9c%ac%e8%bf%98%e6%98%af%e6%9c%89%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>计划紧张进行，每天多少有些收获</title>
		<link>http://thinklouder.cn/2005/10/carry-on-my-plan/</link>
		<comments>http://thinklouder.cn/2005/10/carry-on-my-plan/#comments</comments>
		<pubDate>Mon, 17 Oct 2005 09:31:12 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!219.entry</guid>
		<description><![CDATA[从暑假与孙文见面，到现在2个多月了，一直在为11月的那一天做准备。有点像当时要考大学的感觉。每天复习的都是原来不喜欢学的东西，不过看了进去还是很有意思的，做了这么多东西回回炉收获颇多。
&#8220;One thousand lines per day! &#8221; 这听起来比李开复的要求还要高。不知道没算过，也不知道改怎么算。每天几百行应该有了～
又重新拾起底层的东西。高层的东西都是基于底层构建的，用起来简单了许多，但也少了技巧性。反过来如果没有什么技巧而言，没有了难度大家都一样了。看了许多面经string programming应该是必考的东西，而且以前也亲身经历过。考察这方面的问题是惯例。
一个真正的大公司不会在乎你会用JBuilder还是Eclipse，VC还是.NET。对工具的掌握都不重要。这些东西在培训期间完全可以学会，精通也没有问题。他们应该会考查你数据结构，指针，异常处理&#8230;
为了一篇作业憋了两天了&#8230; 今天一定要照着想好的框架写出来&#8230;

]]></description>
			<content:encoded><![CDATA[<div>从暑假与孙文见面，到现在2个多月了，一直在为11月的那一天做准备。有点像当时要考大学的感觉。每天复习的都是原来不喜欢学的东西，不过看了进去还是很有意思的，做了这么多东西回回炉收获颇多。</div>
<div>&#8220;One thousand lines per day! &#8221; 这听起来比李开复的要求还要高。不知道没算过，也不知道改怎么算。每天几百行应该有了～</div>
<div>又重新拾起底层的东西。高层的东西都是基于底层构建的，用起来简单了许多，但也少了技巧性。反过来如果没有什么技巧而言，没有了难度大家都一样了。看了许多面经string programming应该是必考的东西，而且以前也亲身经历过。考察这方面的问题是惯例。</div>
<div>一个真正的大公司不会在乎你会用JBuilder还是Eclipse，VC还是.NET。对工具的掌握都不重要。这些东西在培训期间完全可以学会，精通也没有问题。他们应该会考查你数据结构，指针，异常处理&#8230;</div>
<div>为了一篇作业憋了两天了&#8230; 今天一定要照着想好的框架写出来&#8230;</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e8%ae%a1%e5%88%92%e7%b4%a7%e5%bc%a0%e8%bf%9b%e8%a1%8c%ef%bc%8c%e6%af%8f%e5%a4%a9%e5%a4%9a%e5%b0%91%e6%9c%89%e4%ba%9b%e6%94%b6%e8%8e%b7&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0px" height="0px" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/10/carry-on-my-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Win2KPro 改成 Win2KServer~并解IIS连接数限制</title>
		<link>http://thinklouder.cn/2005/10/win2kpro-%e6%94%b9%e6%88%90-win2kserver%e5%b9%b6%e8%a7%a3iis%e8%bf%9e%e6%8e%a5%e6%95%b0%e9%99%90%e5%88%b6/</link>
		<comments>http://thinklouder.cn/2005/10/win2kpro-%e6%94%b9%e6%88%90-win2kserver%e5%b9%b6%e8%a7%a3iis%e8%bf%9e%e6%8e%a5%e6%95%b0%e9%99%90%e5%88%b6/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 04:22:36 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!217.entry</guid>
		<description><![CDATA[数字印院道路曲折，终于把2000pro改称server了~，ntswitch有用,但需重装iis，如果报500错误，则需要一下解决方法。
问题起因：
IIS已经启动但是web无法使用 IE返回500内部错误 记录如下
由于在下列系统 API 错误，COM+ 服务无法初始化。它通常是由本地计算机的系统资源存储问题引起的。
CryptAcquireContext
进程名称: dllhost.exe
该错误的严重性已导致进程终止。
错误代码= 0&#215;80090017 : 提供程序类型未被定义。
COM+ 服务内部信息:
文件: .\security.cpp， 行: 615
服务器 {3D14228D-FBE1-11D0-995D-00C04FD919C1} 没有在限定的时间内用 DCOM 注册。
服务器未能转入应用程序 &#8216;/LM/W3SVC/1/ROOT/webmail&#8217;。错误是 &#8216;服务器运行失败
&#8216;。
若要获取关于此消息的更多的信息，请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。
答：
IIS 500内部错误之解决办法(一.错误表现)
沧海笑一声 发表于 9/10/2001 8:17:09 AM NT世界 ←返回版面
一.错误表现
这个错误发生时总会有三方面的表现:一是IE中的最直接的表现,也是最让人看不懂的表现;二是安全日志中的表现,IWAM_Machine账号登录失败;三是系统日志中的表现,IIS Out-Of-Process Pooled Applications应用程序因启动账号的错误而不能够启动.从而造成ASP页面浏览错误.
(一)IE中的表现
当浏览以前能够正常运行的asp页面时会出现如下的错误:
(1)
网页无法显示
您要访问的网页存在问题，因此无法显示。
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
请尝试下列操作：
打开 http://127.0.0.1 主页，寻找指向所需信息的链接。
单击刷新按钮，或者以后重试。
HTTP 500 &#8211; 内部服务器错误
Internet 信息服务
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
技术信息（支持个人）
详细信息：
Microsoft 支持
[注意,这儿只是500错误,不是500.xx等错误的,那些错误主要是asp编程问题,与iis没有太大的关系,只有500错误是由iis自身造成的]
(2)
Server Application Error
The server has encountered an error while loading an application during the processing [...]]]></description>
			<content:encoded><![CDATA[<p>数字印院道路曲折，终于把2000pro改称server了~，ntswitch有用,但需重装iis，如果报500错误，则需要一下解决方法。</p>
<p>问题起因：</p>
<p>IIS已经启动但是web无法使用 IE返回500内部错误 记录如下</p>
<p>由于在下列系统 API 错误，COM+ 服务无法初始化。它通常是由本地计算机的系统资源存储问题引起的。<br />
CryptAcquireContext<br />
进程名称: dllhost.exe<br />
该错误的严重性已导致进程终止。<br />
错误代码= 0&#215;80090017 : 提供程序类型未被定义。<br />
COM+ 服务内部信息:<br />
文件: .\security.cpp， 行: 615</p>
<p>服务器 {3D14228D-FBE1-11D0-995D-00C04FD919C1} 没有在限定的时间内用 DCOM 注册。</p>
<p>服务器未能转入应用程序 &#8216;/LM/W3SVC/1/ROOT/webmail&#8217;。错误是 &#8216;服务器运行失败<br />
&#8216;。<br />
若要获取关于此消息的更多的信息，请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。</p>
<p>答：</p>
<p>IIS 500内部错误之解决办法(一.错误表现)<br />
沧海笑一声 发表于 9/10/2001 8:17:09 AM NT世界 ←返回版面</p>
<p>一.错误表现<br />
这个错误发生时总会有三方面的表现:一是IE中的最直接的表现,也是最让人看不懂的表现;二是安全日志中的表现,IWAM_Machine账号登录失败;三是系统日志中的表现,IIS Out-Of-Process Pooled Applications应用程序因启动账号的错误而不能够启动.从而造成ASP页面浏览错误.</p>
<p>(一)IE中的表现</p>
<p>当浏览以前能够正常运行的asp页面时会出现如下的错误:</p>
<p>(1)<br />
网页无法显示<br />
您要访问的网页存在问题，因此无法显示。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>请尝试下列操作：</p>
<p>打开 http://127.0.0.1 主页，寻找指向所需信息的链接。<br />
单击刷新按钮，或者以后重试。</p>
<p>HTTP 500 &#8211; 内部服务器错误<br />
Internet 信息服务</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>技术信息（支持个人）</p>
<p>详细信息：<br />
Microsoft 支持</p>
<p>[注意,这儿只是500错误,不是500.xx等错误的,那些错误主要是asp编程问题,与iis没有太大的关系,只有500错误是由iis自身造成的]</p>
<p>(2)<br />
Server Application Error<br />
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.</p>
<p>(二)安全日志记录(2条)<br />
事件类型: 失败审核<br />
事件来源: Security<br />
事件种类: 登录/注销<br />
事件 ID: 529<br />
日期: 2001-9-9<br />
事件: 11:17:07<br />
用户: NT AUTHORITY\SYSTEM<br />
计算机: MYSERVER<br />
描述:<br />
登录失败:<br />
原因: 用户名未知或密码错误<br />
用户名: IWAM_MYSERVER<br />
域: MYDOM<br />
登录类型: 4<br />
登录过程: Advapi<br />
身份验证程序包: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0<br />
工作站名: MYSERVER</p>
<p>事件类型: 失败审核<br />
事件来源: Security<br />
事件种类: 帐户登录<br />
事件 ID: 681<br />
日期: 2001-9-9<br />
事件: 11:17:07<br />
用户: NT AUTHORITY\SYSTEM<br />
计算机: MYSERVER<br />
描述:<br />
登录到帐户: IWAM_MYSERVER<br />
登录的用户: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0<br />
从工作站: MYSERVER<br />
未成功。错误代码是: 3221225578</p>
<p>注:IWAM_MYSERVER,启动进程之外的应用程序的 Internet 信息服务的内置帐号,安装IIS时自动建立,其密码由IIS控制.</p>
<p>(三)系统日志中的记录(2条)<br />
事件类型: 错误<br />
事件来源: DCOM<br />
事件种类: 无<br />
事件 ID: 10004<br />
日期: 2001-9-9<br />
事件: 11:20:26<br />
用户: N/A<br />
计算机: MYSERVER<br />
描述:<br />
DCOM 遇到错误&#8221;无法更新密码。提供给新密码的值包含密码中不允许的值。 &#8220;并且无法登录到 .\IWAM_MYSERVER 上以运行服务器:<br />
{3D14228D-FBE1-11D0-995D-00C04FD919C1}</p>
<p>事件类型: 警告<br />
事件来源: W3SVC<br />
事件种类: 无<br />
事件 ID: 36<br />
日期: 2001-9-9<br />
事件: 11:20:26<br />
用户: N/A<br />
计算机: MYSERVER<br />
描述:<br />
服务器未能转入应用程序 &#8216;/LM/W3SVC/4/Root&#8217;。错误是 &#8216;RunAs 的格式必须是&lt;域名&gt;\&lt;用户名&gt;或只是&lt;用户名&gt;<br />
&#8216;。<br />
若要获取关于此消息的更多的信息，请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp 。</p>
<p>注:3D14228D-FBE1-11D0-995D-00C04FD919C1}实际是IIS Out-Of-Process Pooled Applications 的KEY.也就是代表IIS Out-Of-Process Pooled Applications.<br />
================================<br />
IIS 500内部错误之解决办法(二.错误原因与解决办法)<br />
沧海笑一声 发表于 9/10/2001 8:40:41 AM NT世界 ←返回版面</p>
<p>出现IIS 500内部错误的原因有多个,但最主要的原因是IWAM_MACHINE账号在Active Directory(或SAM),IIS的metabase数据库与COM+组件中的密码不匹配不同步最成的.因此解决问题的关键在于使这三方的密码同步起来.<br />
要使这三方的密码同步,有几种办法,下面只介绍最好用的一种,使用IIS自带的脚本进行密码同步(看来微软早就知道这方面的问题了,因此专门做了一个密码同步的脚本.:)):</p>
<p>操作如下:<br />
1.在本地账号管理器或AD用户与计算机中更改IWAM_MACHINE账号的密码.假设我们改为12345678.[本来这个账号是计算机控制的,非常复杂].<br />
2.使用新的密码重设IIS Metabase数据库.我们需要使用IIS自带的管理脚本adsutil.运行如下的命令:<br />
c:\Inetpub\AdminScripts&gt; adsutil SET w3svc/WAMUserPass 12345678</p>
<p>系统会显示:<br />
WAMUserPass: (String) 12345678</p>
<p>提示密码更新成功.</p>
<p>通常情况下IIS会自动与系统账号等信息同步,但我发现我的机器上ISUR_MACHINE是同步的,但IWAM_MACHINE总是不同步,因此只好自行修改了.</p>
<p>3.同步COM+账号密码<br />
同样我们要用到IIS的管理脚本synciwam.vbs,这个脚本通常会存在于c:\inetpub\adminscripts下,上一个管理脚本也在这儿放着.<br />
命令如下:<br />
cscript c:\inetpub\adminscripts\synciwam.vbs -v</p>
<p>-v参数是打开详细模式,让我们看到更新的过程,通常会如下显示:</p>
<p>Microsoft (R) Windows Script Host Version 5.6<br />
版权所有(C) Microsoft Corporation 1996-2000。保留所有权利。</p>
<p>WamUserNameIWAM_MYSERVER<br />
WamUserPass12345678<br />
IIS Applications Defined:<br />
Name, AppIsolated, Package ID<br />
w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}<br />
Root, 2,<br />
IISHelp, 2,<br />
IISAdmin, 2,<br />
IISSamples, 2,<br />
MSADC, 2,<br />
ROOT, 2,<br />
IISAdmin, 2,<br />
IISHelp, 2,<br />
Root, 2,<br />
Root, 2,</p>
<p>Out of process applications defined:<br />
Count: 1<br />
{3D14228D-FBE1-11d0-995D-00C04FD919C1}</p>
<p>Updating Applications:<br />
Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04<br />
FD919C1}</p>
<p>密码同步成功.如果不成功先看一下这个脚本取的IIS的密码正确不正确,如果不正确请重复第二步同步IIS密码.</p>
<p>问题解闷,再打开IIS看看,ASP程序应该能够正常浏览了.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/10/win2kpro-%e6%94%b9%e6%88%90-win2kserver%e5%b9%b6%e8%a7%a3iis%e8%bf%9e%e6%8e%a5%e6%95%b0%e9%99%90%e5%88%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>忙~不过有所得~</title>
		<link>http://thinklouder.cn/2005/10/%e5%bf%99%e4%b8%8d%e8%bf%87%e6%9c%89%e6%89%80%e5%be%97/</link>
		<comments>http://thinklouder.cn/2005/10/%e5%bf%99%e4%b8%8d%e8%bf%87%e6%9c%89%e6%89%80%e5%be%97/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 04:21:12 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!216.entry</guid>
		<description><![CDATA[经营每天的生活真挺累。幸亏现在还不用养家&#8230;
经常在外面跑，人心都跑浮了。还是得有过硬的技术不然随时都会被人取代。大家都不能算是特别专业的，谁都可以多项选择，谁都可以被别人替代。不过想到能有多少公司是特别专业的。我不专业，那什么才算专业？
咋说的时候想的时候内容还挺多，写的时候却总是卡壳。这是基本能力啊！文档~我永远的痛&#8230; 
拷来拷去一份文档变成了六份文档，冗余？不&#8230;我做该做的工作收该收的钱，别的我恐怕也改变不了。100块钱不少~
大家都想要钱，这妇女想用自己的小工，他们肯定做不了这么专业，挺希望能给小飞雪他们拉到这个活。想省钱没错，不过到时候向客户收费肯定也要不高。何况我们只是挣的劳务。
没准这是个必须过程，当真的都有了钱，人们可能才会想象其他东西，目前来说钱还是最让人看中的。我也太想钱了，看着将近百米的走廊这么多觉着挺没用的科室，突然有种可怕的设想，如果我坐进了这种办公室，我会不会贪~ 害怕进这样的办公室，我宁愿每天到处跑，去不同的地方，解决不同的问题。
恐怕我坐在那我比他们都会贪~

]]></description>
			<content:encoded><![CDATA[<div>经营每天的生活真挺累。幸亏现在还不用养家&#8230;</div>
<div>经常在外面跑，人心都跑浮了。还是得有过硬的技术不然随时都会被人取代。大家都不能算是特别专业的，谁都可以多项选择，谁都可以被别人替代。不过想到能有多少公司是特别专业的。我不专业，那什么才算专业？</div>
<div>咋说的时候想的时候内容还挺多，写的时候却总是卡壳。这是基本能力啊！文档~我永远的痛&#8230; </div>
<div>拷来拷去一份文档变成了六份文档，冗余？不&#8230;我做该做的工作收该收的钱，别的我恐怕也改变不了。100块钱不少~</div>
<div>大家都想要钱，这妇女想用自己的小工，他们肯定做不了这么专业，挺希望能给小飞雪他们拉到这个活。想省钱没错，不过到时候向客户收费肯定也要不高。何况我们只是挣的劳务。</div>
<div>没准这是个必须过程，当真的都有了钱，人们可能才会想象其他东西，目前来说钱还是最让人看中的。我也太想钱了，看着将近百米的走廊这么多觉着挺没用的科室，突然有种可怕的设想，如果我坐进了这种办公室，我会不会贪~ 害怕进这样的办公室，我宁愿每天到处跑，去不同的地方，解决不同的问题。</div>
<div>恐怕我坐在那我比他们都会贪~</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%bf%99%7e%e4%b8%8d%e8%bf%87%e6%9c%89%e6%89%80%e5%be%97%7e&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/10/%e5%bf%99%e4%b8%8d%e8%bf%87%e6%9c%89%e6%89%80%e5%be%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DotNet的几个链接</title>
		<link>http://thinklouder.cn/2005/09/dotnet-resource/</link>
		<comments>http://thinklouder.cn/2005/09/dotnet-resource/#comments</comments>
		<pubDate>Thu, 15 Sep 2005 06:19:45 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!197.entry</guid>
		<description><![CDATA[.Net Intro
http://www.microsoft.com/net/Basics.mspx

Microsoft Patterns
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/MSpatterns.asp
WebCast
http://msdn.microsoft.com/practices/Webcasts/
Some CSharp Code
http://www.codeproject.com/csharp/

]]></description>
			<content:encoded><![CDATA[<p>.Net Intro<br />
<a href="http://www.microsoft.com/net/Basics.mspx">http://www.microsoft.com/net/Basics.mspx</a></p>
<div>
<p>Microsoft Patterns<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/MSpatterns.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/MSpatterns.asp</a></p>
<p>WebCast<a href="http://msdn.microsoft.com/practices/Webcasts/"></p>
<p>http://msdn.microsoft.com/practices/Webcasts/</a></p>
<p>Some CSharp Code<a href="http://www.codeproject.com/csharp/"></p>
<p>http://www.codeproject.com/csharp/</a></div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+DotNet%e7%9a%84%e5%87%a0%e4%b8%aa%e9%93%be%e6%8e%a5&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/09/dotnet-resource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>9月14日-2005 JavaChina第二天</title>
		<link>http://thinklouder.cn/2005/09/9%e6%9c%8814%e6%97%a5-2005-javachina%e7%ac%ac%e4%ba%8c%e5%a4%a9/</link>
		<comments>http://thinklouder.cn/2005/09/9%e6%9c%8814%e6%97%a5-2005-javachina%e7%ac%ac%e4%ba%8c%e5%a4%a9/#comments</comments>
		<pubDate>Wed, 14 Sep 2005 17:28:27 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!181.entry</guid>
		<description><![CDATA[今天是第二天，上午主要想听那位Java之父的演讲，相见识见识。他是不是昨晚没睡好，说话有点结巴。以前没听过他演讲不了解了。一般&#8230; 中国是的生日蛋糕&#8230;做秀&#8230;真假~ 
 
下午坐班车到了京广中心，发现以前来过这里，同一间厅里IBM的活动。
 
下午第一场 J2EE Cluster ，基本照着这篇文章讲得。感叹这些外国公司把国内牛人都收到麾下了~
HA的标准 
98% 每年当机7.3天
99.9999% 每年当机5.25分钟
 
如果不出意外FTP也算是HA了&#8230; 
 
后面有一场 EJB 3.0 Intro。这场Craig说了几句话就交给一位王某讲了，讲得也不错。比EJB2.1编写起来，简化了很多。但据Craig说只是在编程方式上简化，底层实现还是和原来一样。人们问问题，会有礼品发。
 
JavaEE 性能调优 是个MM讲得，讲的也不错。是用Java Studio里的一个叫做profiler的工具。好像是这么个名字。看了几次演示，我觉着这个工具还是很好用的&#8230; 这个MM叫做舒畅
说真的那个String的操作竟然用了1秒时间，Java的速度&#8230; 
 
又轮到Craig上场了，主要是因为这个老头我才去京广中心会场的。他和一个有着浓郁印度口音的家伙一起讲。那位印度口音的家伙也讲得也不错，因为说得比较慢，很多人都没带耳机，听起来挺有意思。他做了个几乎没怎么编码的Java EE的Demo。越看越像ASP.NET&#8230; 
 
关于Ajax至少在ASP.NET2.0里已经挺好的支持了Ajax，但是在当前的JSF里还是没有针对Ajax的空间。
 
JSF里的DataTable和ASP.NET里的DataGrid的如出一辙。估计原理也差不多。
 
 
早晨坐车到公主坟地铁到安定门打车到奥体，共15块钱。
晚上从京广中心坐730到玉泉营986到学校共4块。730那车跑得路线真是奇怪。我他妈又转像了。
 
 
今天的反馈调查我做的很愉快，因为觉着今天下午的Speech都非常精彩，听者也都积极参与问了几个比较好的问题。我也想了个问题关于页面viewstate和postback我真是想知道这个和ASP.NET有啥区别。不过没问&#8230;从来都这样。
 
 
推同传耳机，组织方竟然现金不够&#8230; 不过那几个小伙子处理的挺好&#8230; 我也没发生气&#8230; 大部分与会者应该是Developer竟然有两个MM，一个穿透明吊带，另一个估计得有176。哈哈！盯着看了半天。谁让你满场子都是男的。
 
 ==============
补充
JSF现在有 几个项目在和Ajax融合
 
 































]]></description>
			<content:encoded><![CDATA[<div>今天是第二天，上午主要想听那位Java之父的演讲，相见识见识。他是不是昨晚没睡好，说话有点结巴。以前没听过他演讲不了解了。一般&#8230; 中国是的生日蛋糕&#8230;做秀&#8230;真假~ </div>
<div> </div>
<div>下午坐班车到了京广中心，发现以前来过这里，同一间厅里IBM的活动。</div>
<div> </div>
<div>下午第一场 <a href="http://www.theserverside.com/articles/article.tss?l=J2EEClustering">J2EE Cluster</a> ，基本照着这篇文章讲得。感叹这些外国公司把国内牛人都收到麾下了~</div>
<div>HA的标准 </div>
<div>98% 每年当机7.3天</div>
<div>99.9999% 每年当机5.25分钟</div>
<div> </div>
<div>如果不出意外FTP也算是HA了&#8230; </div>
<div> </div>
<div>后面有一场 EJB 3.0 Intro。这场Craig说了几句话就交给一位王某讲了，讲得也不错。比EJB2.1编写起来，简化了很多。但据Craig说只是在编程方式上简化，底层实现还是和原来一样。人们问问题，会有礼品发。</div>
<div> </div>
<div>JavaEE 性能调优 是个MM讲得，讲的也不错。是用Java Studio里的一个叫做profiler的工具。好像是这么个名字。看了几次演示，我觉着这个工具还是很好用的&#8230; 这个MM叫做舒畅</div>
<div>说真的那个String的操作竟然用了1秒时间，Java的速度&#8230; </div>
<div> </div>
<div>又轮到Craig上场了，主要是因为这个老头我才去京广中心会场的。他和一个有着浓郁印度口音的家伙一起讲。那位印度口音的家伙也讲得也不错，因为说得比较慢，很多人都没带耳机，听起来挺有意思。他做了个几乎没怎么编码的Java EE的Demo。越看越像ASP.NET&#8230; </div>
<div> </div>
<div>关于Ajax至少在ASP.NET2.0里已经挺好的支持了Ajax，但是在当前的JSF里还是没有针对Ajax的空间。</div>
<div> </div>
<div>JSF里的DataTable和ASP.NET里的DataGrid的如出一辙。估计原理也差不多。</div>
<div> </div>
<div> </div>
<div>早晨坐车到公主坟地铁到安定门打车到奥体，共15块钱。</div>
<div>晚上从京广中心坐730到玉泉营986到学校共4块。730那车跑得路线真是奇怪。我他妈又转像了。</div>
<div> </div>
<div> </div>
<div>今天的反馈调查我做的很愉快，因为觉着今天下午的Speech都非常精彩，听者也都积极参与问了几个比较好的问题。我也想了个问题关于页面viewstate和postback我真是想知道这个和ASP.NET有啥区别。不过没问&#8230;从来都这样。</div>
<div> </div>
<div> </div>
<div>推同传耳机，组织方竟然现金不够&#8230; 不过那几个小伙子处理的挺好&#8230; 我也没发生气&#8230; 大部分与会者应该是Developer竟然有两个MM，一个穿透明吊带，另一个估计得有176。哈哈！盯着看了半天。谁让你满场子都是男的。</div>
<div> </div>
<div> ==============</div>
<div>补充</div>
<div>JSF现在有 几个项目在和Ajax融合</div>
<div> </div>
<div> </div>
<div>
<table cellspacing="0" border="0">
<tr height="8">
<td></td>
</tr>
<tr>
<td valign="top">
<p><a href="http://byfiles.storage.live.com&#47;y1pnUaAyv2ItGn1rxV5iOf1NLkAo_OZzv4FvLyMWTrF0fnDyoeufr-I50ZEpcvFhehuTSD6FQjvDfU"><img src="http://storage.live.com&#47;items&#47;AA7DB611C0406AB4&#33;182&#58;thumbnail" border="0" /></a></p>
</td>
<td width="15"></td>
<td valign="top">
<p><a href="http://byfiles.storage.live.com&#47;y1pkL6FMR5ctKOElUZIajFP2ieqtHnVNFnOiak4uSwPnqjWH_gudFC8-D7T-7hNBEt8cFQ-oF6NX2s"><img src="http://storage.live.com&#47;items&#47;AA7DB611C0406AB4&#33;183&#58;thumbnail" border="0" /></a></p>
</td>
<td width="15"></td>
<td valign="top">
<p><a href="http://byfiles.storage.live.com&#47;y1pfo0uul2d-qft0efHpT9sCsUIJknWTW6Heu6FL-IIDGcSYA9L8XbOx5WEPCNoplAqqa5N5CY4Q3I"><img src="http://storage.live.com&#47;items&#47;AA7DB611C0406AB4&#33;184&#58;thumbnail" border="0" /></a></p>
</td>
<td width="15"></td>
<td valign="top">
<p><a href="http://byfiles.storage.live.com&#47;y1p2QghXHo620ViI-roPvS13Q-L2nFuXV2S3ay8U1oYt6xPogR0RlHadsQsXMEKSZGUlQ7htnTsiKE"><img src="http://storage.live.com&#47;items&#47;AA7DB611C0406AB4&#33;185&#58;thumbnail" border="0" /></a></p>
</td>
</tr>
<tr>
<td valign="top">
<p><a href="http://byfiles.storage.live.com&#47;y1pi1d_KZRb-_ZQTIKUrY9Uo1rBgamZFNYmqO6SxnVwSHPrB2M8Dd9f2kD6Toxf9_XY1fWKRr90jmM"><img src="http://storage.live.com&#47;items&#47;AA7DB611C0406AB4&#33;186&#58;thumbnail" border="0" /></a></p>
</td>
<td width="15"></td>
</tr>
</table>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+9%e6%9c%8814%e6%97%a5-2005+JavaChina%e7%ac%ac%e4%ba%8c%e5%a4%a9&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/09/9%e6%9c%8814%e6%97%a5-2005-javachina%e7%ac%ac%e4%ba%8c%e5%a4%a9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>9月13日-2005 JavaChina第一天</title>
		<link>http://thinklouder.cn/2005/09/9%e6%9c%8813%e6%97%a5-2005-javachina%e7%ac%ac%e4%b8%80%e5%a4%a9/</link>
		<comments>http://thinklouder.cn/2005/09/9%e6%9c%8813%e6%97%a5-2005-javachina%e7%ac%ac%e4%b8%80%e5%a4%a9/#comments</comments>
		<pubDate>Tue, 13 Sep 2005 17:40:37 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!179.entry</guid>
		<description><![CDATA[简单谈一下今天参加 JavaChina 的收获，见到了“Java之父” James Gosling 他明天还有专题演讲，老头挺壮的。老板 Scott McNealy 看起来精神头不是很高，发言的时候远没有后面的杰出贡献主任工程师 Bob Brewin 有激情。
 
在外面的展台看到了一位IBM的工作人员。狗牌上写着“** Wang”不知道是不是14号的那位要讲Java EE集群的王昱。他演示了IBM的AUIML，看起来和微软的XAML有点类似，就是拿XML方言写一个文件然后解析成一个swing界面，当然也可以解析成web的界面。据说Business Logical层只写一次就OK了~
看起来是很好的一样技术，作的东西可以通过web远程demo了。
 
负责推广Solaris的那个家伙看我是刷院的，以为我也搞印刷出版。竟然像给我一张StarSuite就打发我走。这个白痴&#8230; 问了他几个问题，后来他就给我了一套Solaris和Software Companion的CD&#8230;省得网上下了&#8230;如果Solaris上不加上GNU的那些东西，还真是难用。苦了那些人了~
 
碰到那个刘某人，估计没认出我看到他在那和人侃，我也听了一会。有些人还是懂些东西的&#8230;
 
后面跑到Java SE平台的厅里听了一会Java SE5.0编程技巧
讲到Generic Programming (PDF)。听得挺认真觉着清楚了，以前学c++也没怎么用这个，可以减少代码重复。

&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;
浏览器出错,该死，丢了好长一段字~ 
 

Craig McClanahan这个认真不错，讲了JSF的一些东西，演示了用Java Studio创建J2EE Web应用。也是推了一个WebForm的那种概念，和ASP.NET一个意思。
 
妈的没心情写了
 
 
 
 

]]></description>
			<content:encoded><![CDATA[<div>简单谈一下今天参加 JavaChina 的收获，见到了“Java之父” James Gosling 他明天还有专题演讲，老头挺壮的。老板 Scott McNealy 看起来精神头不是很高，发言的时候远没有后面的杰出贡献主任工程师 Bob Brewin 有激情。</div>
<div> </div>
<div>在外面的展台看到了一位IBM的工作人员。狗牌上写着“** Wang”不知道是不是14号的那位要讲Java EE集群的王昱。他演示了IBM的<a href="http://www.alphaworks.ibm.com/tech/auiml">AUIML</a>，看起来和微软的<a href="http://www.xaml.net/">XAML</a>有点类似，就是拿XML方言写一个文件然后解析成一个swing界面，当然也可以解析成web的界面。据说Business Logical层只写一次就OK了~</div>
<div>看起来是很好的一样技术，作的东西可以通过web远程demo了。</div>
<div> </div>
<div>负责推广Solaris的那个家伙看我是刷院的，以为我也搞印刷出版。竟然像给我一张StarSuite就打发我走。这个白痴&#8230; 问了他几个问题，后来他就给我了一套Solaris和Software Companion的CD&#8230;省得网上下了&#8230;如果Solaris上不加上GNU的那些东西，还真是难用。苦了那些人了~</div>
<div> </div>
<div>碰到那个刘某人，估计没认出我看到他在那和人侃，我也听了一会。有些人还是懂些东西的&#8230;</div>
<div> </div>
<div>后面跑到Java SE平台的厅里听了一会Java SE5.0编程技巧</div>
<div>讲到Generic Programming (<a href="http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf">PDF</a>)。听得挺认真觉着清楚了，以前学c++也没怎么用这个，可以减少代码重复。</div>
<div>
<div>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</div>
<div>浏览器出错,该死，丢了好长一段字~ </div>
<div> </div>
</div>
<div><a href="http://blogs.sun.com/craigmcc">Craig McClanahan</a>这个认真不错，讲了JSF的一些东西，演示了用Java Studio创建J2EE Web应用。也是推了一个WebForm的那种概念，和ASP.NET一个意思。</div>
<div> </div>
<div>妈的没心情写了</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+9%e6%9c%8813%e6%97%a5-2005+JavaChina%e7%ac%ac%e4%b8%80%e5%a4%a9&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/09/9%e6%9c%8813%e6%97%a5-2005-javachina%e7%ac%ac%e4%b8%80%e5%a4%a9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>终于买了个大屏幕的~</title>
		<link>http://thinklouder.cn/2005/09/%e7%bb%88%e4%ba%8e%e4%b9%b0%e4%ba%86%e4%b8%aa%e5%a4%a7%e5%b1%8f%e5%b9%95%e7%9a%84/</link>
		<comments>http://thinklouder.cn/2005/09/%e7%bb%88%e4%ba%8e%e4%b9%b0%e4%ba%86%e4%b8%aa%e5%a4%a7%e5%b1%8f%e5%b9%95%e7%9a%84/#comments</comments>
		<pubDate>Fri, 09 Sep 2005 19:37:25 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!177.entry</guid>
		<description><![CDATA[咬咬牙终于买了个LCD，还不错，19，8ms，银黑相间挺好看
我很满意~ 也很心疼~ 花钱真是简单啊~ 一下子就花出去了~ 
 
大大超出预算了~ 算计了大半个月，到最后还是沉不住气~
说好要买17的，后来看上个MayaT9，结果没货
最后还是买了ViewSonic的~ 还JB高端~
赶紧多干几个活把钱捞回来~买本才是正道啊~ 
 
？~ 想去嘉年华玩玩~ 可现在又没钱了~ 
 
挣钱挣钱~~~~ 

]]></description>
			<content:encoded><![CDATA[<div>咬咬牙终于买了个LCD，还不错，19，8ms，银黑相间挺好看</div>
<div>我很满意~ 也很心疼~ 花钱真是简单啊~ 一下子就花出去了~ </div>
<div> </div>
<div>大大超出预算了~ 算计了大半个月，到最后还是沉不住气~</div>
<div>说好要买17的，后来看上个MayaT9，结果没货</div>
<div>最后还是买了ViewSonic的~ 还JB高端~</div>
<div>赶紧多干几个活把钱捞回来~买本才是正道啊~ </div>
<div> </div>
<div>？~ 想去嘉年华玩玩~ 可现在又没钱了~ </div>
<div> </div>
<div>挣钱挣钱~~~~ </div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e7%bb%88%e4%ba%8e%e4%b9%b0%e4%ba%86%e4%b8%aa%e5%a4%a7%e5%b1%8f%e5%b9%95%e7%9a%84%7e&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/09/%e7%bb%88%e4%ba%8e%e4%b9%b0%e4%ba%86%e4%b8%aa%e5%a4%a7%e5%b1%8f%e5%b9%95%e7%9a%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SimpleMessenger的课设</title>
		<link>http://thinklouder.cn/2005/08/simplemessenger%e7%9a%84%e8%af%be%e8%ae%be/</link>
		<comments>http://thinklouder.cn/2005/08/simplemessenger%e7%9a%84%e8%af%be%e8%ae%be/#comments</comments>
		<pubDate>Mon, 29 Aug 2005 08:06:42 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!169.entry</guid>
		<description><![CDATA[竟然把vs.net2003给玩死掉了
几乎完成,C#还是简单比C下的Socket编程方便多了～ 
速度比Java快一些,但和C没法比
 
好鸟～
 
 

]]></description>
			<content:encoded><![CDATA[<div>竟然把vs.net2003给玩死掉了</div>
<div>几乎完成,C#还是简单比C下的Socket编程方便多了～ </div>
<div>速度比Java快一些,但和C没法比</div>
<div> </div>
<div>好鸟～</div>
<div> </div>
<div> </div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+SimpleMessenger%e7%9a%84%e8%af%be%e8%ae%be&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/08/simplemessenger%e7%9a%84%e8%af%be%e8%ae%be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>小强啊小强</title>
		<link>http://thinklouder.cn/2005/08/%e5%b0%8f%e5%bc%ba%e5%95%8a%e5%b0%8f%e5%bc%ba/</link>
		<comments>http://thinklouder.cn/2005/08/%e5%b0%8f%e5%bc%ba%e5%95%8a%e5%b0%8f%e5%bc%ba/#comments</comments>
		<pubDate>Fri, 26 Aug 2005 11:47:29 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!168.entry</guid>
		<description><![CDATA[今天怒了，忍了这么久，今天终于要把住在keyboard里的小强一家驱逐，不走者死～
 
从大到小一共四只&#8230; 键盘拆了好不容易装起来

]]></description>
			<content:encoded><![CDATA[<div>今天怒了，忍了这么久，今天终于要把住在keyboard里的小强一家驱逐，不走者死～</div>
<div> </div>
<div>从大到小一共四只&#8230; 键盘拆了好不容易装起来</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+%e5%b0%8f%e5%bc%ba%e5%95%8a%e5%b0%8f%e5%bc%ba&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/08/%e5%b0%8f%e5%bc%ba%e5%95%8a%e5%b0%8f%e5%bc%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Q&amp;A</title>
		<link>http://thinklouder.cn/2005/08/net-qa/</link>
		<comments>http://thinklouder.cn/2005/08/net-qa/#comments</comments>
		<pubDate>Fri, 19 Aug 2005 07:35:57 +0000</pubDate>
		<dc:creator>sysop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!166.entry</guid>
		<description><![CDATA[
Q：您在什么情况下会用到虚方法？它与接口有什么不同？

Q：Override与重载有什么区别？
A : 重写/重载。前者参数列表要相同,后者必须不同。
Q：值类型与引用类型有什么区别？
Q：怎样理解静态变量？
Q：向服务器发送请求有几种方式？
A : Post/Get 这个是常用的，其他需要查资料。
Q：DataReader与Dataset有什么区别？
A : DataSet可以包含一个或者多个tables。每个table都支持有一个不同的查询结果，因此DataSet可能潜在包含两个或更多查询结果，这些查询结果甚至可能来自不同的DBMS。事实上DataSet扮演着“数据的in-memory cache”角色。
Q：如果在一个B/S结构的系统中需要传递变量值，但是又不能使用Session、Cookie、Application，您有几种方法进行处理？
Q：用.net做B/S结构的系统，您是用几层结构来开发，每一层之间的关系以及为什么要这样分层？
Q：软件开发过程一般有几个阶段？每个阶段的作用？
Q：微软推出了一系列的Application Block，请举出您所知道的Application Block并说明其作用？
Q：请列举一些您用到过的设计模式以及在什么情况下使用该模式？
Q：您对WebService的体会？
Q：您对编程的兴趣如何？工作中遇到不懂的问题是怎样去解决的？您一般怎样去提高自己的编程水平？
Q：您离职的原因是什么？
以下几道题目如果您不会，请较为详细的描述您的解决思路和方法
Q：通过超链接怎样传递中文参数？
Q：请编程遍历页面上所有TextBox控件并给它赋值为string.Empty？
Q：请编程实现一个冒泡排序算法？ 


]]></description>
			<content:encoded><![CDATA[<div>
<div>Q：您在什么情况下会用到虚方法？它与接口有什么不同？</div>
<div>
<p>Q：Override与重载有什么区别？</p>
<p><font color="#ff0000">A : 重写/重载。</font><font color="#ff0000">前者参数列表要相同,后者必须不同。</font></p>
<p>Q：值类型与引用类型有什么区别？</p>
<p>Q：怎样理解静态变量？</p>
<p>Q：向服务器发送请求有几种方式？</p>
<p><font color="#ff0000">A : Post/Get 这个是常用的，其他需要查资料。</font></p>
<p>Q：DataReader与Dataset有什么区别？</p>
<p><font color="#ff0000">A : DataSet可以包含一个或者多个tables。每个table都支持有一个不同的查询结果，因此DataSet可能潜在包含两个或更多查询结果，这些查询结果甚至可能来自不同的DBMS。事实上DataSet扮演着“数据的in-memory cache”角色。</font></p>
<p>Q：如果在一个B/S结构的系统中需要传递变量值，但是又不能使用Session、Cookie、Application，您有几种方法进行处理？</p>
<p>Q：用.net做B/S结构的系统，您是用几层结构来开发，每一层之间的关系以及为什么要这样分层？</p>
<p>Q：软件开发过程一般有几个阶段？每个阶段的作用？</p>
<p>Q：微软推出了一系列的Application Block，请举出您所知道的Application Block并说明其作用？</p>
<p>Q：请列举一些您用到过的设计模式以及在什么情况下使用该模式？</p>
<p>Q：您对WebService的体会？</p>
<p>Q：您对编程的兴趣如何？工作中遇到不懂的问题是怎样去解决的？您一般怎样去提高自己的编程水平？</p>
<p>Q：您离职的原因是什么？</p>
<p>以下几道题目如果您不会，请较为详细的描述您的解决思路和方法</p>
<p>Q：通过超链接怎样传递中文参数？</p>
<p>Q：请编程遍历页面上所有TextBox控件并给它赋值为string.Empty？</p>
<p>Q：请编程实现一个冒泡排序算法？ </div>
</div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+.NET+Q%26A&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/08/net-qa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>五只狗了</title>
		<link>http://thinklouder.cn/2005/08/%e4%ba%94%e5%8f%aa%e7%8b%97%e4%ba%86/</link>
		<comments>http://thinklouder.cn/2005/08/%e4%ba%94%e5%8f%aa%e7%8b%97%e4%ba%86/#comments</comments>
		<pubDate>Mon, 08 Aug 2005 15:02:44 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2005]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!165.entry</guid>
		<description><![CDATA[1+4 真牛，半年而已竟然抱小的了。
喜事！
去年夏天，在家那边，偶然在网吧刷夜。看到mop上有人送狗，就跟了个帖。早晨回去睡觉的时候，那边主人家给我打来了电话，约好了10点过去取狗。
我一再说我去那边取，人家说还是送过来吧。见了面是个挺帅气的女孩，在二中读高一，好学校。说好了寒假回来抱给她玩玩再。
小狗真可爱，是一只不是很纯的吉娃娃。老妈喜欢的不行了，我家贝贝却不高兴了，因为这下有人和他抢吃的了。
抱完狗第二天我就回学校了。
寒假前小狗生病了。大夫说是中毒了，建议不要打针浪费钱了！不知道是吃了啥，可怜的样子，好像真不行了&#8230; 饭吃不到嘴里，小脑袋自己往后仰，走路自己就摔倒了。不过就这样小狗也乖乖的去厕所便便。老爸老妈一起伤心的哭。
老妈是个养孩子的天才，养我，养狗都特强&#8230; 这话说的。
老妈找来了个排毒的偏方，整天喂月子似的伺候着&#8230; 两三个月后狗竟然好了许多，虽然走路还是有点歪。估计是伤了小脑。
半年过去了，老妈打电话给我说小狗生了四个小崽子。汗！瞒的真好～
呵呵！
后天就回家了，起名子是个麻烦。






]]></description>
			<content:encoded><![CDATA[<div>1+4 真牛，半年而已竟然抱小的了。</div>
<div>喜事！</div>
<div>去年夏天，在家那边，偶然在网吧刷夜。看到mop上有人送狗，就跟了个帖。早晨回去睡觉的时候，那边主人家给我打来了电话，约好了10点过去取狗。</div>
<div>我一再说我去那边取，人家说还是送过来吧。见了面是个挺帅气的女孩，在二中读高一，好学校。说好了寒假回来抱给她玩玩再。</div>
<div>小狗真可爱，是一只不是很纯的吉娃娃。老妈喜欢的不行了，我家贝贝却不高兴了，因为这下有人和他抢吃的了。</div>
<div>抱完狗第二天我就回学校了。</div>
<div>寒假前小狗生病了。大夫说是中毒了，建议不要打针浪费钱了！不知道是吃了啥，可怜的样子，好像真不行了&#8230; 饭吃不到嘴里，小脑袋自己往后仰，走路自己就摔倒了。不过就这样小狗也乖乖的去厕所便便。老爸老妈一起伤心的哭。</div>
<div>老妈是个养孩子的天才，养我，养狗都特强&#8230; 这话说的。</div>
<div>老妈找来了个排毒的偏方，整天喂月子似的伺候着&#8230; 两三个月后狗竟然好了许多，虽然走路还是有点歪。估计是伤了小脑。</div>
<div>半年过去了，老妈打电话给我说小狗生了四个小崽子。汗！瞒的真好～</div>
<div>呵呵！</div>
<div>后天就回家了，起名子是个麻烦。</div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<p><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&amp;page=RSS%3a+%e4%ba%94%e5%8f%aa%e7%8b%97%e4%ba%86&amp;referrer=" border="0" alt="" width="1" height="1" /><img style="position:absolute" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot" alt="" width="0" height="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/08/%e4%ba%94%e5%8f%aa%e7%8b%97%e4%ba%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simplified Minix filesystem</title>
		<link>http://thinklouder.cn/2005/07/simplified-minix-filesystem/</link>
		<comments>http://thinklouder.cn/2005/07/simplified-minix-filesystem/#comments</comments>
		<pubDate>Wed, 13 Jul 2005 06:37:24 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!161.entry</guid>
		<description><![CDATA[debian:/usr/src/kernel-source-2.6.10# make -j15 modules  CHK     include/linux/version.hmake[1]: `arch/i386/kernel/asm-offsets.s&#8217; is up to date.  CC [M]  fs/sminix/bitmap.o  CC [M]  fs/sminix/itree_v1.o  CC [M]  fs/sminix/itree_v2.o  CC [M]  fs/sminix/namei.o  CC [M]  fs/sminix/inode.o  CC [M]  fs/sminix/file.o  CC [M]  fs/sminix/dir.ofs/sminix/bitmap.c: In function `sminix_free_block&#8217;:fs/sminix/bitmap.c:71: warning: implicit declaration of function `sminix_test_and_clear_bit&#8217;fs/sminix/bitmap.c: In function `sminix_new_block&#8217;:fs/sminix/bitmap.c:89: warning: implicit declaration of function `sminix_find_first_zero_bit&#8217;fs/sminix/bitmap.c:90: warning: implicit declaration of function [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Courier New, Courier, Monospace">debian:/usr/src/kernel-source-2.6.10# make -j15 modules<br />  CHK     include/linux/version.h<br />make[1]: `arch/i386/kernel/asm-offsets.s&#8217; is up to date.<br />  CC [M]  fs/sminix/bitmap.o<br />  CC [M]  fs/sminix/itree_v1.o<br />  CC [M]  fs/sminix/itree_v2.o<br />  CC [M]  fs/sminix/namei.o<br />  CC [M]  fs/sminix/inode.o<br />  CC [M]  fs/sminix/file.o<br />  CC [M]  fs/sminix/dir.o<br />fs/sminix/bitmap.c: In function `sminix_free_block&#8217;:<br />fs/sminix/bitmap.c:71: warning: implicit declaration of function `sminix_test_and_clear_bit&#8217;<br />fs/sminix/bitmap.c: In function `sminix_new_block&#8217;:<br />fs/sminix/bitmap.c:89: warning: implicit declaration of function `sminix_find_first_zero_bit&#8217;<br />fs/sminix/bitmap.c:90: warning: implicit declaration of function `sminix_set_bit&#8217;<br />fs/sminix/bitmap.c: In function `sminix_new_inode&#8217;:<br />fs/sminix/bitmap.c:240: warning: implicit declaration of function `sminix_test_and_set_bit&#8217;<br />fs/sminix/inode.c: In function `sminix_fill_super&#8217;:<br />fs/sminix/inode.c:225: warning: implicit declaration of function `sminix_set_bit&#8217;<br />  LD [M]  fs/sminix/sminix.o<br />  Building modules, stage 2.<br />  MODPOST<br />*** Warning: &quot;sminix_test_and_clear_bit&quot; [fs/sminix/sminix.ko] undefined!<br />*** Warning: &quot;sminix_test_and_set_bit&quot; [fs/sminix/sminix.ko] undefined!<br />*** Warning: &quot;sminix_set_bit&quot; [fs/sminix/sminix.ko] undefined!<br />*** Warning: &quot;sminix_find_first_zero_bit&quot; [fs/sminix/sminix.ko] undefined!<br />*** Warning: &quot;videobuf_dvb_unregister&quot; [drivers/media/video/saa7134/saa7134-dvb.ko] undefined!<br />*** Warning: &quot;videobuf_dvb_register&quot; [drivers/media/video/saa7134/saa7134-dvb.ko] undefined!<br />  CC      fs/sminix/sminix.mod.o<br />  LD [M]  fs/sminix/sminix.ko<br />debian:/usr/src/kernel-source-2.6.10#<br /></font><img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-6161568527816824140&#038;page=RSS%3a+Simplified+Minix+filesystem&#038;referrer=" width="1px" height="1px" border="0" alt=""><img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;NA=1149&amp;PI=73329&amp;RF=&amp;DI=3919&amp;PS=85545&amp;TP=fishpot.spaces.live.com&amp;GT1=fishpot"></p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/07/simplified-minix-filesystem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finder终于调试好了~</title>
		<link>http://thinklouder.cn/2005/04/finder%e7%bb%88%e4%ba%8e%e8%b0%83%e8%af%95%e5%a5%bd%e4%ba%86/</link>
		<comments>http://thinklouder.cn/2005/04/finder%e7%bb%88%e4%ba%8e%e8%b0%83%e8%af%95%e5%a5%bd%e4%ba%86/#comments</comments>
		<pubDate>Thu, 21 Apr 2005 11:07:10 +0000</pubDate>
		<dc:creator>Sun Liwen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://fishpot.spaces.live.com/Blog/cns!AA7DB611C0406AB4!148.entry</guid>
		<description><![CDATA[服务器还是不行啊~
硬件应该没问题了，但是软件这方面还需要再加强
看来得换rhel4试一下了
记得原来索引4万条记录最多只需要5分钟
% 好的问题其实还是存在的只是把遇到%退出，改为别的操作了
vsftpd似乎也有这方面的毛病
]]></description>
			<content:encoded><![CDATA[<p>服务器还是不行啊~<br />
硬件应该没问题了，但是软件这方面还需要再加强</p>
<p>看来得换rhel4试一下了<br />
记得原来索引4万条记录最多只需要5分钟</p>
<p>% 好的问题其实还是存在的只是把遇到%退出，改为别的操作了<br />
vsftpd似乎也有这方面的毛病</p>
]]></content:encoded>
			<wfw:commentRss>http://thinklouder.cn/2005/04/finder%e7%bb%88%e4%ba%8e%e8%b0%83%e8%af%95%e5%a5%bd%e4%ba%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
