<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>owlman</title>
    <description>	自幼残疾，行动不便，但自认为不会影响工作。
	喜欢爱书，所读较杂，宗教、历史、科学、文学均有所及。
	喜欢观享竞技活动，感受激情的演绎。 
沉迷编程，一天三分之二就干此事。
</description>
    <link>http://owlman.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>再谈买书</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/115141" style="color:red;">http://owlman.javaeye.com/blog/115141</a>&nbsp;
          发表时间: 2007年08月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          计算机的书，大体分两种，一种是技巧性的书籍，一种是素质性的书籍在这两类书里选择还是有一定的区别的。<br/>从作者来看 ，中国台湾的一些作家，和大陆的一些年轻作家在技巧性方面还是有一定的水平的，我指的是写作水平，比如eclipse方面的一些国内书籍还是相当有作用的，当然这些人大部分处于blog阶段，离开占据主流图书市场还需要时间，但我们至少看到了希望。至于素质性的书籍，由于中文描述技术相对于英文有天然的不足，二义性很多，逻辑描述方面很难保持一定的连贯性。再加上目前我们都有或多或少的浮躁情绪，使得国外图书占据了垄断地位，这恐怕还要耗掉一代人，所以我的看法是，技巧性的东西，你除了买书之外，还可以关注blog（比如博客堂，javaeye等），并且也可以关注他们出的一些书籍。素质性的书（比如设计模式，代码大全，effective系列），那确实该买来反复读，而且尽可能买老外的书。<br/>从内容看，技巧性的书大部分是速查性的，而素质性的书大部分属于要忘记文字化入血液的，我从来不认为记忆力是个问题（除非你连什么东西该在哪儿也记不住），因此前者，利用计算机的查找本事，比你翻箱倒柜的找书要高效得多。后者，你应该远离电脑的时候，静下来好好的思考着读，这个时候纸张的作用才是不可替代的。<br/><br/>所以，不要担心什么互联网依赖，事实上这种依赖是进步的，我们的大脑就这么多东西，把适当的记忆外接没什么不好，人脑应该干电脑干不了的事儿，买书还是养心优先吧。我们面临的浮躁情绪远比互联网依赖要可怕得多。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/115141#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 21 Aug 2007 09:08:13 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/115141</link>
        <guid>http://owlman.javaeye.com/blog/115141</guid>
      </item>
          <item>
        <title>也谈读书</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/113764" style="color:red;">http://owlman.javaeye.com/blog/113764</a>&nbsp;
          发表时间: 2007年08月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br/><p><span lang='EN-US' xml:lang='EN-US'><a href='http://bbs.sjtu.edu.cn/bbstcon?board=C&amp;reid=11872707691'><span style='FONT-FAMILY: Calibri'>Gaobo</span><span lang='EN-US' xml:lang='EN-US' style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'><span lang='EN-US' xml:lang='EN-US'>写的那东西</span></span></a></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>上了水源的十大（在我参与之前就上了），这家伙的娱乐阴谋总能得手。我太生气了。因此我也总结几条读书"指导"，分散注意力。</span></p><br/><p><span lang='EN-US' xml:lang='EN-US' style='mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast'><span style='mso-list: Ignore'><span style='FONT-FAMILY: Calibri'>第一．</span> </span></span> <span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>读经而已，不足以知经：</span><span lang='EN-US' xml:lang='EN-US'><br/></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>这年头都是号称自己读了某某大家之作，有些人还读了</span><span lang='EN-US' xml:lang='EN-US'><span style='FONT-FAMILY: Calibri'>3th</span></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>去买</span><span lang='EN-US' xml:lang='EN-US'><span style='FONT-FAMILY: Calibri'>4th</span></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>，言必子曰某某，以得其乐，其实光读一本，光读一家，你理解出来的大部分不是对的东西，你读了</span><span lang='EN-US' xml:lang='EN-US'><span style='FONT-FAMILY: Calibri'>effective</span></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>系列。会觉得</span><span lang='EN-US' xml:lang='EN-US'><span style='FONT-FAMILY: Calibri'>lippman</span></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>的东西细节错误一堆一堆的，但无伤大雅，于是你走向了细节微调好宏观设计的修炼，在到做了项目之后你又会无限感叹</span><span lang='EN-US' xml:lang='EN-US'><span style='FONT-FAMILY: Calibri'>effective</span></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>系列给你描述了一个贵族社会，而你自己只是成千上万垃圾代码的奴隶。你又不得不会回头去看看那些垃圾代码的处理惯例，无限的悲哀就此来了，因此读书都是一个记忆、理解。悟道，反省。再悟道的循环过程，好书经典无非是其中一个环节而已。</span></p><br/><p><span lang='EN-US' xml:lang='EN-US' style='mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast'><span style='mso-list: Ignore'><span style='FONT-FAMILY: Calibri'>第二．</span> </span></span> <span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>不可以书博我，以至于释卷而茫然：</span><span lang='EN-US' xml:lang='EN-US'><br/></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>在计算机行业，每天要学的东西很多，很多时候等不到好书到手你就得上手，文档。网页、论坛。烂书虽说鱼龙混杂，要能分辨精华之物，才能说得上能读能用。以我博书，处处得益。</span></p><br/><p style='TEXT-ALIGN: left'><span lang='EN-US' xml:lang='EN-US' style='mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast'><span style='mso-list: Ignore'><span style='FONT-FAMILY: Calibri'>第三．</span> </span></span> <span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>读书更多在谋心，而不是创造乌托邦</span><span lang='EN-US' xml:lang='EN-US'><br/></span><span style='FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin'>虽然你在经典上学的东西很多没有用武之地（这点不止计算机，佛经，圣经、论语也如此），但不等于他们没有读的价值，你仍然可以提高自己的专业素养。提高自己工作模块的效率。更可能有朝一日你在其位而某其政，总比你去看什么超级女声，玩什么魔兽要好得多。</span></p><br/><br/><p class='zoundry_bw_tags'><br/>  <!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --><br/>  <span class='ztags'><span class='ztagspace'>Technorati</span> : <a href='http://technorati.com/tag/%E8%AF%BB%E4%B9%A6%20%E5%AD%A6%E4%B9%A0' class='ztag' rel='tag'>读书 学习</a></span> <br/></p>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/113764#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 17 Aug 2007 09:21:13 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/113764</link>
        <guid>http://owlman.javaeye.com/blog/113764</guid>
      </item>
          <item>
        <title>cpp的缺点及学习他的必要性</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93630" style="color:red;">http://owlman.javaeye.com/blog/93630</a>&nbsp;
          发表时间: 2007年06月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>最近以来总有人跟我说Cpp没什么用，效率不及C，移植不如java，方便不如C#等等，其实呢，语言，工具也，无论用什么，不用什么，都是各取所需，盲人摸象而已，但是从技术上还是有些道理可说的。下面我简单的表述下我的观点（我这个盲人摸到的象）：<br/>实际上对于大多数人来说，Cpp败就败在两点，<br/>一，太复杂，多范型，多模式。多层次，导致学习周期实在太长，最合适本科时间慢慢学，<br/>二，库杂。基本上一个问题对应一个库一个编译器。 开源的，不开源的，好的但不实用的，实用的但设计很差的，应接不暇，接口混乱。<br/>所以人们就学不快也用不快了。<br/>事实上，除非工作环境定了，否则你还是得不停的学语言，java，c，ruby、 js、vbs，实话说压力少不了多少。<br/>因 此有时间有兴趣的话，学学Cpp还是绝对有好处的。至少Cpp是多范型语言，他能为你学习别的语言打下坚实的基础，我学习别的语言和框架从来没超过一个 月，另外Cpp的范围几乎盖过了计算机的各个层次，几乎用cpp可以解决任何问题。当然用别的工具再做，至少逻辑实现考虑是不成问题了。<br/>我个人认为Cpp更偏向程序员的内在修为，如果您真的爱这行，想把这行做好，内外兼修是非常必要的事儿。</p>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93630#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 23 Jun 2007 09:35:30 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93630</link>
        <guid>http://owlman.javaeye.com/blog/93630</guid>
      </item>
          <item>
        <title>复习下java applet……</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93002" style="color:red;">http://owlman.javaeye.com/blog/93002</a>&nbsp;
          发表时间: 2007年06月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br />
<p>今天复习了下java，别说java写UI的功能就是强，完成下面这个界面代码不到50行：</p>
<br />
<p><br />
<br />
<a title="ui.JPG" rel="lightbox" href="http://www.lingjie.net/blog/uploaded_images/118215316766_ui.JPG"><img id="urn:zoundry:jid:118215316766_ui.JPG" title="ui.JPG" height="200" alt="ui.JPG" width="200" border="0" src="http://www.lingjie.net/blog/uploaded_images/118215316766_ui_tn.jpg" /></a></p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">package</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">MyApplet;</span></p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">import</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">javax.swing.*;<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">import</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">java.awt.*;<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">import</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">java.awt.event.*;</span></p>
<br />
<p style="TEXT-ALIGN: left">&nbsp;</p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">public</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">class</span> GridLayoutDemo <span style="COLOR: blue">extends</span> JApplet</span></p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">{<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">private</span> <span style="COLOR: blue">static</span> <span style="COLOR: blue">final</span> <span style="COLOR: blue">long</span> serialVersionUID = 1L;<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">private</span> JTextField t = <span style="COLOR: blue">null</span>;<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">private</span> <span style="COLOR: teal">Container</span> cp = <span style="COLOR: blue">null</span>;<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">private</span> JButton bt = <span style="COLOR: blue">null</span>;</span></p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">@Override<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">public</span> <span style="COLOR: blue">void</span> init()<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">{<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp = getContentPane();<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: teal">Container</span> cp1 = <span style="COLOR: blue">new</span> <span style="COLOR: teal">Container</span>();<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp1.setLayout(<span style="COLOR: blue">new</span> <span style="COLOR: teal">GridLayout</span>(4,3));<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">t = <span style="COLOR: blue">new</span> JTextField(12);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">t.setHorizontalAlignment(JTextField.RIGHT);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp.add(<span style="COLOR: teal">BorderLayout</span>.NORTH, t);</span></p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">for</span>(<span style="COLOR: blue">int</span> i = 1; i &lt; 10; ++i)<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">{<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt = <span style="COLOR: blue">new</span> JButton(<span style="COLOR: maroon">&quot;&quot;</span>+i);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt.addActionListener(<span style="COLOR: blue">new</span> Bul());<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp1.add(bt);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">}<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt = <span style="COLOR: blue">new</span> JButton(<span style="COLOR: maroon">&quot;*&quot;</span>);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt.addActionListener(<span style="COLOR: blue">new</span> Bul());<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp1.add(bt);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt = <span style="COLOR: blue">new</span> JButton(<span style="COLOR: maroon">&quot;0&quot;</span>);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt.addActionListener(<span style="COLOR: blue">new</span> Bul());<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp1.add(bt); <span style="mso-tab-count: 1"><br />
</span></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt = <span style="COLOR: blue">new</span> JButton(<span style="COLOR: maroon">&quot;.&quot;</span>);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">bt.addActionListener(<span style="COLOR: blue">new</span> Bul());<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp1.add(bt);<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">cp.add(<span style="COLOR: teal">BorderLayout</span>.CENTER,cp1); <span style="mso-tab-count: 2"><br />
</span></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">super</span>.init();<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">}</span></p>
<br />
<p style="TEXT-ALIGN: left"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">private</span> <span style="COLOR: blue">class</span> Bul <span style="COLOR: blue">implements</span> <span style="COLOR: teal">ActionListener<br />
</span></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">{<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US"><span style="COLOR: blue">public</span> <span style="COLOR: blue">void</span> actionPerformed(<span style="COLOR: teal">ActionEvent</span> e)<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">{<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">t.setText(((JButton)e.getSource()).getText()); <span style="mso-tab-count: 3"><br />
</span></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">}<br />
</span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 新宋体; mso-hansi-font-family: &amp;apos; Times: ; mso-bidi-font-family: &amp;apos; mso-font-kerning: 0pt; mso-no-proof: yes" xml:lang="EN-US">}<br />
</span><span lang="EN-US" xml:lang="EN-US"><span style="FONT-FAMILY: Calibri">}</span></span></p>
<br />
<br />
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93002#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 18 Jun 2007 08:08:11 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93002</link>
        <guid>http://owlman.javaeye.com/blog/93002</guid>
      </item>
          <item>
        <title>做球迷是件愚蠢的事情</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93631" style="color:red;">http://owlman.javaeye.com/blog/93631</a>&nbsp;
          发表时间: 2007年05月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br/><p>最近半年做了一阵火箭球迷,事实证明这是个错误的方向,哪怕只是娱乐的方向,不不不,相信我,这和姚密姚黑那些垃圾事没任何关系,哪怕我选的不是火箭队,选的是NBA里的任何一支球队都一样,是个愚蠢的错误,因为球队都会起伏.所谓的球迷也根据这个起伏情绪波荡不定,本人却做不了任何事.把自己的喜乐完全的交给那支连自己都说不清楚为什么喜欢的球队.除非你遇上总冠军了,否则早晚会有失望的那天的....这种状态和懦夫没啥区别,是的,自己的快乐,自己的希望,,要自己来主宰 那样,无论成功还是失败,至少我们不会说,TMD.我什么也没干,为什么失望的总会是我???</p><br/><p>好了,火箭回家钓鱼去了.我也该结束这个愚蠢的该死的懦夫的娱乐了......但愿有人看得懂我在说什么.上帝保佑我...哈哈...........</p><br/>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93631#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 07 May 2007 06:16:38 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93631</link>
        <guid>http://owlman.javaeye.com/blog/93631</guid>
      </item>
          <item>
        <title>Qt学习手记之二（入门篇）</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93004" style="color:red;">http://owlman.javaeye.com/blog/93004</a>&nbsp;
          发表时间: 2007年02月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br/><p>按照习惯，学习一个库，一般从写一个Hello World程序开始，在上篇中我们已经在库的安装目录里看到了这样的例子，但是那个例子只有一个button，过于简单了，甚至不能算是一个完整的窗体程序，为了比较深切的体会Qt编程的方式和思想，我们有必要自己写一个相对比较复杂的Hello程序，我们的程序里应该有一个面板里面放置两个控件（一个无事件控件，和一个有事件控件）来组成我们的程序，对于一个事件驱动的程序来说，这样体验才算是比较完整的，ok，首先，我们可以在上一个程序的基础上进行扩展，qt的类名字都很直观，使得我们不需要借助手册，就可以猜到一些控件的类名（真的不知道可以打开Assistant查询）， 于是一个程序转眼便敲入了，</p><br/><h3>编码：</h3><br/><p>代码如下：<br/>#include &lt;QApplication.h&gt;<br/>#include &lt;QLabel.h&gt;<br/>#include &lt;QWidget&gt;<br/>#include &lt;QFont&gt;<br/>#include &lt;QPushButton.h&gt;<br/>int main(int argc,char* argv[])<br/>{<br/>QApplication app(argc,argv);<br/>QWidget winform; //作为一个主窗体<br/>QLabel label("&lt;h1 style='color:blue'&gt;Hello, QT&lt;/h1&gt;",<br/>&amp;winform); // Label 显示hello信息<br/>QPushButton button("OK", &amp;winform); // 退出窗体按钮<br/>winform.resize(200,150); //设置大小<br/>label.resize(200,100);<br/>button.setGeometry(10, 100, 150, 40);<br/>button.setFont(QFont("宋体",10, QFont::Bold)); //设置字体<br/>label.setAlignment(Qt::AlignCenter);<br/>// 设置事件关联<br/>QObject::connect(&amp;button, SIGNAL(clicked()), &amp;app, SLOT(quit()));<br/>winform.show();<br/>return app.exec();<br/>}<br/>这里大概只有几点需要说明：<br/>1。这里的头文件和所用的类几乎是一一对应的，因此很容易理解。<br/>2。任何一个Qt程序都得从一个叫QApplication的类对象开始，他引入来自入口函数main的参数，返回成员函数exec()的运行结果。<br/>3。可以用于面板的控件有很多，就我们这样的需求，一个QWidget足够了。<br/>4。QObject::connect(&amp;button, SIGNAL(clicked()), &amp;app, SLOT(quit()));这句代码确定了button控件需要响应的单击（click）事件和事件的处理函数（quit()）的关联。</p><br/><h3>编译：</h3><br/><p>OK，编码完成，保存为一个cpp文件（比如Qhello.cpp）到一个临时目录下（比如E:\tmp\），然后打开我们的命令行环境，进入这个临时目录，首先，要建立一个Qt工程文件，输入命令qmake -project 回车后我们得到一个名叫qt.pro的工程文件，接着我们要建立makefile文件（这个文件会设定好每一个编译选项，以方便我们后来的编译），继续输入命令qmake，这样我们就在该目录下看到了三个makefile文件：<br/>Makefile.Debug：编译Debug版（即带Debug信息的版本，一般用于测试和调试）的编译选项。<br/>Makefile.Release：编译Release版（即不带Debug信息的版本，一般用于产品的发布）的编译选项。<br/>Makefile ：上面两个文件的总聚合器，他用于直接响应make命令。<br/>最后在命令行里输入make命令，编译该工程，该工程默认生成的是Debug版程序，你可以在debug子目录下找到，如果需要更改源码，改完后，重新make就可以了，如果没有加入新文件，无需更改makefile和工程文件。如果确定可以发布，可以输入make release命令来生成Release版本（在Release子目录下）。</p><br/><h3>运行结果：</h3><br/><a href='http://www.lingjie.net/blog/uploaded_images/qt.jpg' title='qt.jpg' rel='lightbox'><img title='qt.jpg' src='http://www.lingjie.net/blog/uploaded_images/qt_tn.jpg' border='0' id='urn:zoundry:jid:qt.jpg' height='176' alt='qt.jpg' width='200'/></a><br/><br/><p class='zoundry_bw_tags'><br/>  <!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --><br/>  <span class='ztags'><span class='ztagspace'>Technorati</span> : <a href='http://technorati.com/tag/c%2B%2B%EF%BC%8Cgui%EF%BC%8CQt' class='ztag' rel='tag'>c++，gui，Qt</a></span> <br/></p>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93004#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 02 Feb 2007 08:50:57 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93004</link>
        <guid>http://owlman.javaeye.com/blog/93004</guid>
      </item>
          <item>
        <title>Qt学习手记之一（安装篇）</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93005" style="color:red;">http://owlman.javaeye.com/blog/93005</a>&nbsp;
          发表时间: 2007年01月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h3>前奏：</h3><br/><p>提到C++的GUI Framework估计大多数人都会想到<a href='http://en.wikipedia.org/wiki/Microsoft_Foundation_Classes' target='_blank'>MFC</a>、<a href='http://wep.cc.topzj.com/redirect.php?tid=364318&amp;goto=lastpost' target='_blank'>VCL</a>，因为在十年前的COM时代，这两个大家伙几乎垄断了整个C++ windows平台上应用程序的开发市场， 但是最近几年，随着<a href='http://msdn.microsoft.com/netframework/' target='_blank'>.NET framework</a>的推出。使得MFC这样原本就非常丑陋，麻烦的framework开始风光不再了，我也学过几天的MFC，那种宏作为消息满天飞的编程风格让我很快就放弃了，几次和朋友的交流中，我们都认为C++其实不太适合做GUI程序，但是我必须面对一个问题：当我需要用C++写个GUI程序的时候，我该用什么？我一直非常犹豫，很显然，我不太愿意用MFC，我也不太愿意为了VCL再去学一个IDE的用法，而且我不得不用C++写GUI的时候往往是在非windows平台上，显然上面两个framework就更不符合这个要求了。经过了一番调查，我最终选择了<a href='http://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/overview/index.html' target='_blank'>Qt</a>这个库，于是也打算在这个blog上开一个学习手记系列。</p><br/><h3>下载：</h3><br/><p>好了，现在先让我们搭建工作环境，讲述Linux上的Qt环境设置的文章网上很多，我这里不想再累述了，有兴趣的人可以google之。我下面谈在windows下的安装和设置：首先，我们都知道，Qt这样的开源产品和GCC编译器的密切关系，所以首先我们必须有<a href='http://www.mingw.org/' target='_blank'>MinGW</a>环境，那么第一步，就必须先安装MinGW，我这里推荐一个IDE，dev-cpp，他是基于MinGW的一款C++ IDE，自带了MinGW，集成了gcc、g++、gdb等工具，非常有用。下载地址如下：<br/><a href='http://www.bloodshed.net/devcpp.htm'>http://www.bloodshed.net/devcpp.htm</a></p><br/><p>接着，我们需要下载Qt了，熟悉开源产品的朋友都知道，这种产品通常有两种安装方式：第一，源码安装，这个下载后，在命令行（shell）进行本地编译即可，这个在Linux下安装软件是非常常见的；第二，是二进制安装，通常有自带的GUI界面的图形安装想到，在windows下通常是这种安装方式，其实那种安装方式和操作系统没什么必然的联系，只是一种习惯而已，既然我们是在windows下，那么就入乡还俗，用第二种方式，我们需要下载Qt的Runtime for MinGW包，地址如下：<br/><a href='http://www.trolltech.com/'>http://www.trolltech.com/</a></p><br/><h3>安装：</h3><br/><p>下载之后，你会得到一个qt-win-opensource-4.2.2-mingw.exe文件，双击后启动安装程序，和通常安装windows程序一样基本上只要一路next即可，只有一个地方要特别注意，就是他会问你MinGW的路径，你如果安装的就是MinGW，那么就写<span style='color:#0000ff;'>X:\MinGW</span>（X是你安装MinGW所在的目录），如果你安装的是dev-c++就写你安装他所在的目录，如下图所示：<br/><a href='http://www.lingjie.net/blog/uploaded_images/20051025_2.gif' title='20051025_2.gif' rel='lightbox'><img title='20051025_2.gif' src='http://www.lingjie.net/blog/uploaded_images/20051025_2_tn.jpg' id='urn:zoundry:jid:20051025_2.gif' border='0' height='300' alt='20051025_2.gif' style='WIDTH: 396px; HEIGHT: 300px' width='396'/></a><br/>当然你也可以选择这个时候在线安装MinGW，可是这样就取决于网络状况了（这里是直接连接国外的服务器的，一般会很慢，经常断线），这里不鼓励使用。最后，等向导完成后，你会发现你的开始菜单里多出一项<span style='color:#0000ff;'>Qt by Trolltech v4.2.2 (OpenSource)</span>菜单项，到这里还没最终完事，因为Qt没还没建立debug库，会导致在安装目录之外你不能运行Qt程序，因此展开该菜单项，选择<span style='color:#0000ff;'>Qt 4.2.2 (Build Debug Libraries)</span>，就会自动编译debug库，编译时间很长，需要耐心等待，不熟悉源码安装的方式朋友们也可以体验下源码安装的感觉（一条条命令往上飞，彷佛穿越了时空，-_-b）……</p><br/><h3>设置：</h3><br/><p>虽然，qt自带了命令行环境（Qt 4.2.2 Command Prompt），但是我们可能还是希望把环境变量全局化，因此我们可以右击"<span style='color:#0000ff;'>我的电脑－&gt;属性－&gt;高级－&gt;环境变量－&gt;系统变量的path</span>"值后面加上下面三个路径：<br/><span style='color:#0000ff;'>X:\Dev-Cpp\bin<br/>X:\Dev-Cpp\mingw32\bin<br/>X:\Qt\4.2.2\bin</span><br/>目录之间用";"分割，至此环境搭建完成。</p><br/><h3>检验安装：</h3><br/><p>Qt自带了很多DOME。我们可以在X:\Qt\4.2.2\examples\下找到，例如我们可以用命令行环境进入到X:\Qt\4.2.2\examples\tutorial\t1目录下，然后运行qmake命令编译该程序DOME，如果安装没问题，会在该目录下的relese目录下找到Qt版的Hello World程序，如下图所示：</p><br/><p><br/><a href='http://www.lingjie.net/blog/uploaded_images/116869293282_hw.JPG' title='hw.JPG' rel='lightbox'><img title='hw.JPG' src='http://www.lingjie.net/blog/uploaded_images/116869293282_hw_tn.jpg' id='urn:zoundry:jid:116869293282_hw.JPG' border='0' height='94' alt='hw.JPG' width='194'/></a></p><br/><p class='zoundry_bw_tags'><br/><!-- Tag links generated by Zoundry Blog Writer. Do not manually edit. http://www.zoundry.com --><br/><span class='ztags'><span class='ztagspace'>Technorati</span> : <a href='http://technorati.com/tag/c++' class='ztag' rel='tag'>c++</a>, <a href='http://technorati.com/tag/qt' class='ztag' rel='tag'>qt</a></span><br/></p>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93005#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 13 Jan 2007 13:36:01 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93005</link>
        <guid>http://owlman.javaeye.com/blog/93005</guid>
      </item>
          <item>
        <title>Zoundry Blog Writer的体验</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93006" style="color:red;">http://owlman.javaeye.com/blog/93006</a>&nbsp;
          发表时间: 2007年01月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <br/><p>半年前，我试用<a href='http://office.microsoft.com/zh-cn/products/default.aspx' target='_blank'>office2007</a>的时候，对word能直接作为<a href='http://www.blogger.com/start' target='_blank'>Blogger</a>的客户端发布器感到非常高兴，这也是我违背使用软件习惯的而去追新的一个很重要的原因，但是用久了我就发现，因为是beta版本，他的很多功能很不稳定，不但不能上传图片，而且还经常不能连接blogger服务器，于是我就希望找到专门用来写blog的客户端软件，于是就发现了<a href='http://cn.zoundry.com/download.html' target='_blank'>Zoundry Blog Writer</a>，用了一段时间，感觉相当不错。用过软件的人基本上拿来就能上手。在这里推荐一下：</p><br/><p style='TEXT-ALIGN: center'><a href='http://www.lingjie.net/blog/uploaded_images/blog.JPG' title='blog.JPG' rel='lightbox'><img title='blog.JPG' src='http://www.lingjie.net/blog/uploaded_images/blog_tn.jpg' border='0' id='urn:zoundry:jid:blog.JPG' height='233' alt='blog.JPG' style='WIDTH: 356px; HEIGHT: 233px' width='356'/></a></p><br/>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93006#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 10 Jan 2007 11:14:08 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93006</link>
        <guid>http://owlman.javaeye.com/blog/93006</guid>
      </item>
          <item>
        <title>2007了？ 也许吧。</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93632" style="color:red;">http://owlman.javaeye.com/blog/93632</a>&nbsp;
          发表时间: 2007年01月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          的确，我又很久没更新这个blog了，按理说，新年来到总得写点什么总结啊，愿望啊什么的，但是说真的，我实在没什么东西可以写的，2006年对我来说，就像一个长期不醒的恶梦，一年下来毫无进展，也毫无头绪，除了迷惘还是迷惘，毕业了，没什么成就感，工作，除了年初微软的那场面试之外，也毫无进展，尝试过很多方式，做啥啥不顺，技术，也算回归基础了，算法上总算有了一点点进步，总之，光语言啊，平台啊，干不了什么正经事，有一回，一个朋友跟我说：“像你这样的高手找工作太容易了吧？”，容易？呵呵，你讽刺我吧？像我这样只知道语言，类库的家伙多得要死，我还偏偏有个那儿都不能去的身体，还容易？ 早着呢。不过早早晚晚还是会搞定的，只是这事急不得就是了。<br/>07年的愿望？ 算了，不说你们也清楚了。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93632#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 10 Jan 2007 09:48:49 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93632</link>
        <guid>http://owlman.javaeye.com/blog/93632</guid>
      </item>
          <item>
        <title>程序的效率</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93633" style="color:red;">http://owlman.javaeye.com/blog/93633</a>&nbsp;
          发表时间: 2006年12月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          对于一个程序员来说，程序的效率是一个不能忽视的问题，各种论坛上也充满了各种各样的关于效率的争论，这就不得不引起一种思考，一个程序的效率究竟取决于哪些因素呢？我们应该如何均衡效率问题和其他软件设计问题之间的利弊关系呢？这就是这篇文字想要讨论的问题。<br/>首先，我们来看看，哪些因素左右了我们程序的效率，大致可以分为以下几个因素：<br/>第一，   语言和平台：每一种语言都有自己赖以生存的平台环境，这关系到一个语言本身最根本的内部机制，比如java必须运行于JVM，.NET必须有CLR的支持，c\c++必须有支持该语言的编译器和各种库，这些属性就决定了他们对于CPU指令的操作距离，这样的距离越远，当然他们的编译出来的程序的运行效率就越低，拿x86系列来说吧，JVM是面向操作系统的。因此只要安装了对应的操作系统版本，java就能做到编译一次，任何地方都可以运行的目标，但是这里的运行自然是JVM面向操作系统的解释运行，如此一来速度自然快不了；CLR呢？他是面向windows系统的，他等于是“做入”了windows，在第二次JIT编译之后，他便可常驻系统，如此一来，他的速度在windows上自然会快一些，当然也因此失去了跨操作系统运行的能力（虽然理论上可行，但实际上非常不理想，有兴趣的人可以关注一下mono项目）；c\c++则只要编译之后，基本上可以和CPU直接通话，效率自然是很高了，但是他们对硬件的依赖程度就大大增加，从而对程序员的要求也达到了新的高度。<br/>第二，   数据结构和算法：语言通常只是一种表达工具，平台是你的工作环境，一般情况下，程序员并没有选择，那么自然他们只能在表达的内容上下一些功夫了，选择正确的数据结构，可以是程序的编写变得相当容易，而又不损失效率，ADT的思想可以使得我们摆脱数据具体存储的细节问题，我们可以知道二叉树、哈希表利于搜索，链表利于存储，向量利于随机等等，使得我们可以有效的组织内存空间来达到换取CPU效率的目的；算法的设计可以尽可能的减少CPU指令的数量，从而使问题的复杂度呈几个数量级的降低，比如数组的最大子序列问题，一般的设计，这样的问题会做成平方（O( N^3)）甚至立方（O( N^2)）的复杂度，然后通过动态规划和分治法等的重新设计，该问题可以在线性（O(N)）复杂度里解决。好的算法可以使得处理海量数据的时间变得可以接受，同时又让内存的使用量控制在合理的范围内，这自然是很大的学问，这里不可能累述，我推荐去看各种专业书籍，比如《算法导论》。<br/>第三，   库的使用：我们都知道技术问题的解决都是站在巨人的肩膀上完成的，很少有人什么都是自己做的，而且你设计的同样的算法和数据结构，往往并没专业库提供的效率高，原因自然是多方面的，比如一些针对编译器的优化，细节上的运算技巧等等，在因此库的选择成了左右程序的效率的另一个主要因素，当然这根本上还是对数据结构和算法的认识，无非就是无需去亲自实现罢了。<br/>然后，我们必须明白，效率问题不是程序设计的唯一问题，甚至有时不是主要问题，尤其在CPU继续遵行摩尔定律在飞速更新的情况下，在一些非海量数据处理的程序里，效率问题并不是那么突出的，这里不是说效率问题不重要了，而是说效率问题和其他软件设计问题之间应该达到一种均衡，这里有如下几个问题：<br/>第一、80-20法则，这是说，一个程序的20％的代码决定了这个程序80％的效率，举个很简单的例子，位运算比算术运算要快，因此位运算放在程序里的效率要高，但是这样的运算如果不是程序的核心处理，每次运行个一两次，这样的效率甚至可以忽略不计的，如果他处在程序的核心部份（也就是那20％的代码），每次运算个上百万次。优势当然就有所体现了，所以对效率的关注要有重点，不能面面俱到。<br/>第二，移植性和通用性，这两个特点是软件界一直在追求的目标，对于移植来说，有些高效的设计往往是不可移植的（比如位运算在32位的CPU下和64位的CPU下的结果就未必相同），语言平台也同样如此，java的程序和c程序的移植性显然也是不可同日而语的；通用意味着代码的可维护性，高效的算法有时候是面对某些特殊的问题而设计，逻辑结构极其复杂，自然给后来的维护以及通用带来许多麻烦，这些问题要根据具体的情况加以均衡，其中使用各种通用程序库也是不错的解决方法之一。<br/>无论如何，程序的效率依然是程序设计过程中一个非常重要的因素，因为CPU的发展速度还是远远落后于数据的处理量，但是凡事都不能过度，效率不是程序的唯一瓶颈，懂得均衡的设计才有可能是好程序。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93633#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Dec 2006 12:37:06 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93633</link>
        <guid>http://owlman.javaeye.com/blog/93633</guid>
      </item>
          <item>
        <title>【算法】最大子序列问题</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93009" style="color:red;">http://owlman.javaeye.com/blog/93009</a>&nbsp;
          发表时间: 2006年11月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本文件实现数组最大子序列问题的四种复杂度的实现。<br/>//立方复杂度<br/>int maxsubsum1(int *array,size_t sz)<br/>{<br/>    int maxsum = array[0];<br/>    for(size_t i = 0; i &lt; sz; ++i)<br/>       for(size_t j = i; j &lt; sz; ++j)<br/>       {<br/>           int thissum = 0;<br/>           for(size_t k = i; k &lt;= j; ++k)<br/>              thissum += array[k];<br/>           if(thissum &gt; maxsum)<br/>              maxsum = thissum;<br/>       }<br/>    return maxsum;<br/>}<br/>//平方复杂度<br/>int maxsubsum2(int *array,size_t sz)<br/>{<br/>    int maxsum = array[0];<br/>    for(size_t i = 0; i &lt; sz; ++i)<br/>    {<br/>       int thissum = 0;<br/>       for(size_t j = i; j &lt; sz; ++j)<br/>       {<br/>           thissum += array[j];<br/>           if(thissum &gt; maxsum)<br/>              maxsum = thissum;<br/>       }<br/>    }<br/>    return maxsum;<br/>}<br/>//分治法（O(NlogN)复杂度）<br/>int maxsubsum3(int *array,int left,int right)<br/>{<br/>    if(left == right)<br/>       return array[left];<br/>    int mid = (right+left) / 2;<br/>    int rthissum=0,lthissum=0,<br/>         rmaxsum=0,lmaxsum=0;<br/>    int lmax = maxsubsum3(array,left,mid);<br/>    int rmax = maxsubsum3(array,mid+1,right);<br/>    for(int i = mid; i &gt;= left; --i)<br/>    {<br/>       lthissum += array[i];<br/>       if(lthissum &gt; lmaxsum)<br/>         lmaxsum = lthissum;<br/>    }<br/>    for(int i = mid+1; i &lt;= right; ++i)<br/>    {<br/>       rthissum += array[i];<br/>       if(rthissum &gt; rmaxsum)<br/>         rmaxsum = rthissum;<br/>    }<br/>    int max = rmaxsum + lmaxsum;<br/>    if(max &gt;= rmax)<br/>       if(max &gt;= lmax)<br/>           return max;<br/>       else<br/>           return lmax;<br/>    else if(rmax &gt;= lmax)<br/>       return rmax;<br/>    else<br/>       return lmax;<br/>}<br/>//线性复杂度<br/>int maxsubsum4(int *array,size_t sz)<br/>{<br/>    int maxsum=array[0],thissum=0;<br/>    for(size_t i = 0; i &lt; sz; ++i)<br/>    {<br/>       thissum += array[i];<br/>       if(thissum &gt; maxsum)<br/>           maxsum = thissum;<br/>       else if(thissum &lt; 0)<br/>           thissum = 0;<br/>    }<br/>    return maxsum;<br/>}
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93009#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 28 Nov 2006 11:20:05 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93009</link>
        <guid>http://owlman.javaeye.com/blog/93009</guid>
      </item>
          <item>
        <title>技术学习的选择因素</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93010" style="color:red;">http://owlman.javaeye.com/blog/93010</a>&nbsp;
          发表时间: 2006年11月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          应该说我们很幸运，我们生活在一个百花齐放的技术世界，每个技术领域都有四五个方向可以选择，但是，这又是非常不幸的，因为选择正是一切痛苦的根源，很久以来，我就不停的收到提问，“我应该选择什么语言？”、“我应该学那方面的编程？”、“我应该选择那个平台？”等等，每次我都对提问者的具体情况做了详细的回答，但久而久之，连我自己都有一个要总结一下的欲望，看看那些因素应该左右我们的选择，或者说我们选择的时候应该考虑什么？<br/>首先是市场，对，没错，我们生活在一个物欲横流的世界，我们不能也无法无视市场的作用，但是，很关键的一点，我们对市场的认识是基于什么的分析？这里有三个可能，<br/>第一，来自身边的高手，这些人肯定至少在我们这些请教者看来在他自己的领域是有相当的能力和见解的，因此他们的建议肯定是值得关注的，但是我们必须注意两点，首先，你应该肯定一下，你请教他的领域是不是就是你选择的领域，而你请教的只是在这个领域内部的某个具体的选择，举个例子，你请教一个C＃程序员，而他对.NET框架很有研究，那么你可以问他：“.NET框架在未来的几年里那些方面比较有希望？”但你千万不要问他：“J2EE和.NET那个好？”因为首先他会鄙视这样的问题，然后，就是他告诉你了他的答案，也不能保证这种答案的价值，因为他对J2EE的认识可能不如.NET；再次，你不能把他带有感情色彩的话太当回事，比如，“.NET是个垃圾，微软的东西都是垃圾！  ”，可能他自己有充足的理由这么说，但是，这是不是垃圾应该你自己来判断，而且说真的，你还不知道他本人在某些方面是不是垃圾，如果是垃圾说的垃圾，说不定还是宝贝呢（双重否定等于肯定？）！是吧？<br/>第二，来自媒体，网络上到处都有一堆一堆的统计数据，而且不可否认都有一定的准确性，关键是我们怎么用这些数据？我们知道程序员群体肯定是个精英群体，因此他的水平分布肯定是个金字塔型的结构，你把自己定位在那儿？人多，市场小，市场大，人就少，而且还要加上你的学习时间过后的走势，恩，不会比买股票容易，而且如果你能完全料准的话，还不如去炒股……<br/>第三，来自身边的群体，大家学什么你就学什么，这样的好处是利于交流，而且大家都这样，有安全感，中国人也向来喜欢如此，但这个方法问题很多呀，你不知道为什么学？（因为大家在学）。你不知道学来做什么?（等看大家做什么）。你总是跟着，等人家在前面把市场占满了，还能跟吗？<br/>所以，市场分析基本上是句空话，他最多只能给你一个大致的选择方向。<br/>然后呢，应该是兴趣，你喜欢什么就学什么，这当然很好，而且我的大部分计算机能力也是这样得到的，但是这样也会遭遇一些尴尬的局面，你苦苦专攻了三四年，突然发现你很难凭他找到工作，因为你身边没这样的公司，而这样的公司离你十万八千里，或者公司里这样的部门人满为患，除非我们有诸葛亮这样的耐心和自信。否则肯定是郁闷不止。<br/>所以兴趣可以成为动力，但不能指定方向，这个因素可以重视，但不能唯一依靠。<br/>接着是技术认识，一项技术肯定具有他的意义，这些意义可能决定了他未来的走向，而且技术往往决定了一系列具体技术方向，比如虚拟机技术，java也好，。NET也好，都离不开这个本质，而这项技术又比较好的在一定的范围内解决了程序界一直在追求的移植问题，那么他应该值得你花点时间关注一下，一旦你掌握了虚拟机的基本原理。Java或者.NET对你都不是太难的问题了，学好了其中一个，另一个基本上也就不学自通了。<br/>因此，对技术本身的认识是进一步选择技术发展方向的一个不可忽视的因素，这样的因素也一般是可靠的。<br/>最后，我们还应该明白，如今并不缺乏多面手，缺乏的是各个领域的顶级的专业人才，我们应该固定一下自己的涉及范围，把有限的精力发挥好，这样才会有实质性的收获。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93010#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 16 Nov 2006 11:11:28 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93010</link>
        <guid>http://owlman.javaeye.com/blog/93010</guid>
      </item>
          <item>
        <title>今天难得早起，看了场比赛……</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93634" style="color:red;">http://owlman.javaeye.com/blog/93634</a>&nbsp;
          发表时间: 2006年11月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          对NBA的比赛写点东西吧，我是个学技术的，可能喜欢比较冷静的分析事情，当然我也非常喜欢NBA，从乔丹的第二次三连冠开始就一直没用停过，几乎每年都有很多时间来关注NBA，<br/>今天的比赛火箭输给了马刺（84 : 92），结果并不出乎我的预料，虽然我对第三节最后两分钟感到惊讶，但是火箭的输球是有他的必然性的，理由有以下几点，<br/>第一，   新人很多，阵容尚缺火候，特别是内线，主力前锋还受伤了，导致篮板差距很大，跟马刺的冠军阵容根本没法比。<br/>第二，   心理素质也没法比，马刺基本三节落后，也没有朋盘，火箭一波三分就被打蒙了，不会打球了，当然马刺的稳定性向来是非常可怕的，<br/>第三，   火箭是依靠球星的，马刺是个整体球队，球星不好，一切就玩完，马刺即使邓肯没法得分，其他人也能保持一定的得分能力。这就好像希腊和美国，就是球星发挥正常，几个人也无法赢得了一个得分和防守均衡机器一般队伍。<br/>所以，火箭有进步，但离开冠军队伍还有很多距离，今天的比赛是两队水平的正常体现，yao和麦蒂都没有太多责任。他们还需要时间进步，提高整支队伍。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93634#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 15 Nov 2006 07:52:14 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93634</link>
        <guid>http://owlman.javaeye.com/blog/93634</guid>
      </item>
          <item>
        <title>有些时候，独裁是被迫的……</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93012" style="color:red;">http://owlman.javaeye.com/blog/93012</a>&nbsp;
          发表时间: 2006年11月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近以来，一直有人在我的留言本上发一些无聊的广告。删了又发，我真不懂这个家伙是什么心理里，于是给留言本加了两个功能，<br/>一者屏蔽一些关键词，源码如下：<br/>Function CheckBadWords(byVal theString)<br/>Dim WordFilterEntry,WordFilterArray,re,theMatches,tmpString,i<br/>Set re = new RegExp<br/>re.IgnoreCase = True<br/>re.Global = True<br/>WordFilterArray = Split(WordFilterList,",")<br/>For Each WordFilterEntry IN WordFilterArray<br/>tmpString = ""<br/>For i = 1 To Len(WordFilterEntry)-1<br/>tmpString = tmpString&amp;Mid(WordFilterEntry,i,1)&amp;"(["&amp;Mid(WordFilterEntry,i,1)&amp;"_\s\W]*)"<br/>Next<br/>tmpString = tmpString&amp;Right(WordFilterEntry,1)<br/>re.Pattern = tmpString<br/>set theMatches = re.Execute(theString)<br/>If theMatches.Count&gt;0 Then<br/>Response.Redirect("index.asp?Err=0x02")<br/>End If<br/>Next<br/>set theMatches = nothing<br/>set re = nothing<br/>CheckBadWords = theString<br/>End Function<br/>二者屏蔽ip，源码如下：<br/>Function CheckIP(IP)<br/>IPFilterArray = Split(IPFilterList,",")<br/>For Each IPArray IN IPFilterArray<br/>FilterIP = Split(IPArray,".")<br/>HostIP = Split(IP,".")<br/>If HostIP(0) = FilterIP(0) AND HostIP(1) = FilterIP(1) AND HostIP(2) = FilterIP(2) AND HostIP(3) = FilterIP(3) Then<br/>Response.Write("index.asp?Err=0x03")<br/>Response.End()<br/>End If<br/>Next<br/>End Function<br/><br/>具体的屏蔽内容就不公布了，希望某些无聊的家伙能自重点，本来不需这样强制的，sigh。。。。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93012#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 12 Nov 2006 08:38:09 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93012</link>
        <guid>http://owlman.javaeye.com/blog/93012</guid>
      </item>
          <item>
        <title>光棍节之前的黎明</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93635" style="color:red;">http://owlman.javaeye.com/blog/93635</a>&nbsp;
          发表时间: 2006年11月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          不知不觉，这个日子要来了……<br/>深怀感恩，又读过了孤独而自豪的一年。<br/>满怀恐惧，我知道来年还要面对。<br/>啊，我不是勉力四射的亚森*罗宾，所以我不敢抱怨，<br/>我也不是福尔摩斯，因此此心依然深藏着渴望。<br/>人啊，什么时候能得到完美，永恒的幸福？<br/>无论如何，我的光棍同仁们，那是属于我们的时刻，<br/>尽情的……狂欢吧！孤独的勇士们，不要浪费了这个无奈的权利。
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93635#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 09 Nov 2006 14:04:22 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93635</link>
        <guid>http://owlman.javaeye.com/blog/93635</guid>
      </item>
          <item>
        <title>推理之旅？（游魂归来）</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93636" style="color:red;">http://owlman.javaeye.com/blog/93636</a>&nbsp;
          发表时间: 2006年10月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          对于常光顾这儿的人来说，我几乎失踪了一个月，对的，我给自己放了一个长假，这段日子里看了一部动画片《名侦探柯南》，一部小说《亚森罗宾全集》，这两样东西都有一个共同的key word：推理，这也许是我除了专业以外最喜欢干的事情了。其实，准确的说，我对计算机专业的选择也要归结于对人类的逻辑推理能力的无限崇拜。<br/>大约十二年前，一个极其偶然的机会，我读了一部《福尔摩斯探案全集》，从那时候起，福尔摩斯身上的智慧 魅力便开始成为我毕生的追求，于是我开始喜欢数学、物理，开始习惯独立思考，分析，然后将我得出的结论。取得的成果展现给身边的朋友，从而我就像福尔摩斯面对华生那样，得到了一种解决问题的快感和魔术师般的成就感，当然我也因此付出了性格的代价，我成为另一个不喜欢无聊，追求刺激，整天富有白日梦般的空想，但从来不喜欢耐心解释显而易见的现象的人，我承认我的很多朋友深受其害。我演绎法般的谈话方式让一些喜欢直截了当的家伙暴跳如雷（而且，实话实说，我的某些逻辑还未必正确），我自己倒是乐此不疲，罪过，罪过……<br/>Anyway，细节－演绎法－推论－证明成了我基本的思维模式，因此我不会有信仰，不会有“绝对”，也许福尔摩斯在我心中的地位永远如此了，尽管他是个自闭的偏激的推理狂（工藤那小子也是被这样称呼的吧？谁让崇拜福尔摩斯呢？）。<br/>让我也早日成为推理狂吧1哈哈~
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93636#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 31 Oct 2006 13:12:42 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93636</link>
        <guid>http://owlman.javaeye.com/blog/93636</guid>
      </item>
          <item>
        <title>[Demo]PHP+GD2</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93015" style="color:red;">http://owlman.javaeye.com/blog/93015</a>&nbsp;
          发表时间: 2006年09月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong><em><span style="color: #3333ff">the code:</span><br /></em></strong><span style="font-size: 85%; color: #339999">//set up image<br />$img = ImageCreateTrueColor(250,250);<br />$backcolor = ImageColorAllocate($img,0,0,80);<br />$color = ImageColorAllocate($img,250,250,250);<br />//draw image</span><br /><span style="font-size: 85%; color: #339999">ImageFill($img,0,0,$backcolor);<br />ImageLine($img,0,0,250,250,$color);<br />ImageLine($img,0,250/2,250,250/2,$color);<br />ImageString($img,5,250/2,250/4,&quot;Jie Ling&quot;,$color);<br />//output image<br />Header(&quot;Content-type: image/png&quot;); </span><br /><span style="font-size: 85%; color: #339999">ImagePNG($img);</span><br /><span style="font-size: 85%; color: #339999">ImageDestroy($img);<br /></span><strong><em><span style="color: #3333ff"><br /><br /></span></em></strong><strong><em></em></strong><a href="http://www.lingjie.net/blog/uploaded_images/drawimg-765679.png"></a>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93015#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Sep 2006 07:32:55 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93015</link>
        <guid>http://owlman.javaeye.com/blog/93015</guid>
      </item>
          <item>
        <title>我的php编程环境－phpeclipse</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93016" style="color:red;">http://owlman.javaeye.com/blog/93016</a>&nbsp;
          发表时间: 2006年09月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这些日子做一个php的东西，基于eclipse搭建了一个编程环境。该环境是个eclipse插件，最爽的是他内置一个浏览器，你可以随时查看运行效果……<br/><a href='http://www.lingjie.net/blog/uploaded_images/setphp.JPG'><img src='http://www.lingjie.net/blog/uploaded_images/setphp.JPG' border='0' height='400px' alt='' width='300px' style='DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center'/></a><br/><a href='http://www.lingjie.net/blog/uploaded_images/phpeclipse.JPG'><img src='http://www.lingjie.net/blog/uploaded_images/phpeclipse.JPG' border='0' height='300px' alt='' width='400px' style='DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center'/></a>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93016#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 15 Sep 2006 14:26:04 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93016</link>
        <guid>http://owlman.javaeye.com/blog/93016</guid>
      </item>
          <item>
        <title>Word 2007发布Blog功能初体验</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93017" style="color:red;">http://owlman.javaeye.com/blog/93017</a>&nbsp;
          发表时间: 2006年09月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span><p>我不是一个软件的追新者，相反，我不喜欢用最新的软件，尤其是那些还带有beta字样的版本，其不稳定性通常让有恶梦般的体验……<br/></p><p>但是今天在<a href='http://blog.joycode.com/MainFeed.aspx'>博客堂</a>看到说Word 2007可以把blog直接发布到blog服务器上，并且<a href='http://www.blogger.com/start'>Blogger</a>已经支持了这项功能，这是我梦寐以求的功能，我得试试 ，word强大的编辑能力和blog结合起来是多么美妙的事情啊。呵呵……<br/></p><p>下载、安装很简单，你只要个<a href='https://accountservices.passport.net/ppnetworkhome.srf?id=42814&amp;ru=https%3a%2f%2fprofile.microsoft.com%3a443%2fRegSysProfileCenter%2fwizard.aspx%3fwizid%3dbc6972e5-9969-40d5-85fd-2535f3f8d96f%26lcid%3d2052%26FU%3dhttps%253a%252f%252fwww.microsoft.com%252fbetaexperience%252fscripts%252foffice.aspx%253flcid%253d3076%2526Action%253ddownload%2526Region%253dAPAC%2526CountryCode%253dCHN&amp;amp;amp;amp;tw=1800&amp;fs=1&amp;amp;amp;amp;kv=4&amp;ct=1149238277&amp;cb=LCID%3d2052%26WizID%3dbc6972e5-9969-40d5-85fd-2535f3f8d96f%26ReturnURL%3dhttps%253a%252f%252fprofile.microsoft.com%253a443%252fRegSysProfileCenter%252fwizard.aspx%253fwizid%253dbc6972e5-9969-40d5-85fd-2535f3f8d96f%2526lcid%253d2052%2526FU%253dhttps%25253a%25252f%25252fwww.microsoft.com%25252fbetaexperience%25252fscripts%25252foffice.aspx%25253flcid%25253d3076%252526Action%25253ddownload%252526Region%25253dAPAC%252526CountryCode%25253dCHN&amp;ems=1&amp;seclog=10&amp;ver=2.1.6000.1&amp;rn=NBPDhMgO&amp;tpf=4ecbff10dd9e39ab21fb9d64ada54514&amp;vv=400&amp;lc=2052' target='_blank'><span style='font-family:Tahoma;font-size:9;'><strong>Windows Live ID</strong></span></a><span style='font-family:宋体;font-size:9;color:#999999;'><strong>，</strong></span>然后点击<a href='http://www.microsoft.com/office/preview/beta/getthebeta.mspx'>此处</a>便可按照网站的导航下载并得到序列号安装。什么？都是英文？oh…man….. 如果这点英文你都不能接受，还是别装了，软件本身也没提供中文版，而且界面和之前大不相同，不懂点英文你根本没法用，呵呵。<br/></p><p>Ok，现在言归正传，首先你要建立一个Blog服务器链接：现在支持的Blog不多，如下图所示：<br/><a href='http://www.lingjie.net/blog/uploaded_images/wrod2007.JPG'><img src='http://www.lingjie.net/blog/uploaded_images/wrod2007.JPG' border='0' height='254' alt='' width='621' style='WIDTH: 463px; CURSOR: hand; HEIGHT: 342px'/></a><br/><a href='http://www.lingjie.net/blog/uploaded_images/wrod2007-752119.JPG'/><br/></p><p/><p>直接支持的也就这么几个，不过应该还都是比较主流的服务商，然后输入用户名和密码，写完blog发布即可。<br/></p><p>但是好像同篇blog第二次发布存在一些问题，至少我还没发布修改成功过，如果你们能告诉我方法那就太好了。</p></span>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93017#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 15 Sep 2006 14:21:48 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93017</link>
        <guid>http://owlman.javaeye.com/blog/93017</guid>
      </item>
          <item>
        <title>JsUnit的体验</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93018" style="color:red;">http://owlman.javaeye.com/blog/93018</a>&nbsp;
          发表时间: 2006年09月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          知道<a href='http://www.junit.org/index.htm'>JUnit</a>的一定不会对他感到陌生，只不过他的gui是基于web的，如下图所示：<br/><a href='http://www.lingjie.net/blog/uploaded_images/jsunit.JPG'><img src='http://www.lingjie.net/blog/uploaded_images/jsunit.JPG' border='0' height='300px' alt='' width='400px' style='DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center'/><br/></a><br/><a href='http://www.lingjie.net/blog/uploaded_images/jsunit1.JPG'><img src='http://www.lingjie.net/blog/uploaded_images/jsunit1.JPG' border='0' height='300px' alt='' width='400px' style='DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center'/></a><br/><br/>正如junit是针对java的单元测试那样，jsunit是javascript的单元测试测试项目。可以用如下代码进行测试：<br/>        function testadd()<br/>       {<br/>          assertEquals("3+4=7",7,myadd(3,4));<br/>       }<br/>       function myadd(a,b)<br/>       {<br/>         var c = a + b;<br/>         return c;<br/>       }<br/>更详细的资料可查阅jsunit的官方网站：http://www.edwardh.com/jsunit/
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93018#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 15 Sep 2006 14:17:47 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93018</link>
        <guid>http://owlman.javaeye.com/blog/93018</guid>
      </item>
          <item>
        <title>哈哈，终于买本本了……</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93019" style="color:red;">http://owlman.javaeye.com/blog/93019</a>&nbsp;
          发表时间: 2006年09月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          买了一个日立笔记本，二手的。1500rmb， 性价比还不错。先用着再说，呵呵……<br/><br/><a href='http://www.lingjie.net/blog/uploaded_images/mybook.jpg'><img src='http://www.lingjie.net/blog/uploaded_images/mybook.jpg' border='0' height='300px' alt='' width='400px' style='DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center'/></a>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93019#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 15 Sep 2006 14:07:49 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93019</link>
        <guid>http://owlman.javaeye.com/blog/93019</guid>
      </item>
          <item>
        <title>IE的开发插件</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93020" style="color:red;">http://owlman.javaeye.com/blog/93020</a>&nbsp;
          发表时间: 2006年09月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          以前一直以为firefox的开发插件比IE用的方便,其实IE也是有的,而且不比firefox差.<br/>下图是DOM查看器的一个界面:<br/><a href='http://www.lingjie.net/blog/uploaded_images/ietoolbar-703907.JPG'><img src='http://www.lingjie.net/blog/uploaded_images/ietoolbar-796062.JPG' border='0' alt='' style='DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center'/></a><br/><br/><a href='http://www.lingjie.net/data/iedevtbar.msi'>安装程序可以按此处下载!</a>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93020#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 15 Sep 2006 13:36:51 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93020</link>
        <guid>http://owlman.javaeye.com/blog/93020</guid>
      </item>
          <item>
        <title>谈谈信仰</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93021" style="color:red;">http://owlman.javaeye.com/blog/93021</a>&nbsp;
          发表时间: 2006年08月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span><p>有人问我， 是否有信仰，佛？上帝？真主？还是共产主义？我总是笑而不答，其实，我不信逻辑不能解释的东西，当然，他也确实不能解释很多东西，比如人的运气和机遇，但如果要勉强的解释（比如前世因果之类的），我倒认为不如不解释，我们没有必要为我们的子孙解释一切，子孙自然能解释他们该解释的东西，正如我们已经解释了的东西。<br/></p><p>我读过佛经、圣经但这些不能说服我，理由很简单，逻辑上不通，当然这是神、佛的思想，不是一个凡人能理解的，但是我不能无条件相信一种说法。信就有，不信就没有这种事情是不能接受的，既然是有的，那无论如何是有证据的，既然证据有为什么不能展示给活着的凡人呢？我是凡人，而且我还活着，所以我无法相信这一切。<br/></p><p>当然，共产主义是说活着的人能看见的，但是他的描述有个前提，他要求人的无私（上帝和佛都没有要求这点，他们只是希望考虑下来世和地狱的痛苦，本质上还是为了你自己着想），人能无私吗？至少我不相信能把社会制度寄托于人的道德。人的无私（当然是一个社会的所有人或者绝大部分人，一个两个做不来数的）从现在的逻辑来看是不可能的，到不如承认人的私有财产神圣不可侵犯来得实在，既然如何获得财产，让铁的法律去约束吧。哦。法律是有漏洞，但法律对每个人都一样，大家怎么做都自己明白，结果也大致差不多（当然是健全的法制下）。相对可以公平些。<br/></p><p>看来，公平几乎是这一切的根源，神佛公平，那为什么他让我们忘记前世的事情，却要负责前世的果？为什么地狱只有死人才能看见？ 共产主义公平，可以按需分配。那么怎么证明你的需要，而且你真的需要么？人的需要如果失去了经济能力的约束会是什么样子？<br/></p><p>所以我无法信仰这些东西，我承认他们是哲学，是有利身心健康的，但也就如此而已了，我只相信逻辑正如达尔文那样有根有据的证明确实存在的东西。</p></span>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93021#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Aug 2006 10:38:25 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93021</link>
        <guid>http://owlman.javaeye.com/blog/93021</guid>
      </item>
          <item>
        <title>QQ名单大清洗</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93022" style="color:red;">http://owlman.javaeye.com/blog/93022</a>&nbsp;
          发表时间: 2006年08月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span><p>从2000年开始上qq至今（其实上internet也是这个时候吧），始终就一个qq号码， 上面多少人来了，又多少人走了，事实上它也见证了一个网虫的成长，从幼稚到成熟，从热情过度到波澜不惊，网恋搞过，伪黑客当过，好问者做过，大侠也做过，对qq的好友名单曾经饥不择食（是mm的都加。）、曾经玩世不恭（为了试验某个黑客软件随机找来的倒霉蛋），总之，几年下来名单上的人终归是加多删少，足足200+号人物，而且是鱼龙混杂 ，一旦上线，不出五分钟就搞得我疲于奔命，多少大好青春啊，就这么没了。虽然现在已经msn为主，但是qq上始终有这么些重要人物偏偏没有msn，弄得上也不是不上也不是，是的，是的，是的，我可以让他们用msn，但是他们有的根本不会msn，有的所有的朋友都用qq，凭啥为了你一个人多搞这么个玩意儿呢？是的，是的，是的，我上qq可以隐身啊，然后我就接到电话：“你小子也不上qq，找也找不到你……哦，你隐身啊，不早说，浪费我电话费，赔我～！&amp;*^&amp;*%^%%”，sigh……走投无路了，逼上梁山了，杀杀杀～（记得水浒怎么唱得么？）<br/></p><p>Owlman出手了，其实他不想出手，因为他知道出手的难度，但他没有犹豫，还是那么坚决得出手了 （坏了，古龙来了？），做起来确实麻烦，腾讯居然没有提供联系人名单的批量处理，眼里有没有客户啊？但我是谁？于是来了个一窝端，全部选中，删除，然后就拿了个鼠标，yes and no去了，虽然还是烦了点，但每个人的去留把握在我手里的感觉。恩，爽啊。原来老板就是这么bt的……（完了，还yy上了。）。半个小时的yes and no下来，名单里只剩48个幸存者，hoho，罪过罪过……阿门！<br/></p></span>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93022#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 20 Aug 2006 09:06:17 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93022</link>
        <guid>http://owlman.javaeye.com/blog/93022</guid>
      </item>
          <item>
        <title>[Demo]ADO.Stream实现文件上载</title>
        <author>owlman</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://owlman.javaeye.com">owlman</a>&nbsp;
                    链接：<a href="http://owlman.javaeye.com/blog/93023" style="color:red;">http://owlman.javaeye.com/blog/93023</a>&nbsp;
          发表时间: 2006年08月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span><p><span style='font-family:新宋体;'><span style='font-size:85%;color:#3333ff;'>&lt;%@language="vbscript"</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong><br/></strong>%&gt;<br/></span></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><span style='COLOR: blue'>&lt;</span><span style='COLOR: maroon'><strong>html</strong></span></span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>xmlns="</span></span><a href='http://www.w3.org/1999/xhtml'><span style='font-size:85%;color:#3333ff;'>http://www.w3.org/1999/xhtml"&gt;</span></a><span style='font-size:85%;color:#3333ff;'>; </span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;<strong>head</strong>&gt; </span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;<strong>title</strong>&gt;<strong>upload file</strong>&lt;/<strong>title</strong>&gt;</span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>meta<br/></strong>http-equiv="Content-Type"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>content="text/html;charset=utf-8" </span></span></span><span style='font-family:新宋体;'><span style='font-size:85%;color:#3333ff;'>lang="zh-cn"</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>/&gt; </span></span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;/<strong>head</strong>&gt; </span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;<strong>body</strong>&gt; </span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;<strong>h1</strong>&gt;<strong>文件上传实例</strong>&lt;/<strong>h1</strong>&gt;<br/></span></span><span style='font-family:新宋体;'><span style='font-size:85%;color:#3333ff;'>&lt;</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>hr </strong>/&gt; </span></span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>form<br/></strong>action="upload.asp"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong><br/></strong>id="upload"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong><br/></strong>method="post"&gt; </span></span></span></p><p><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>请选择文件:<br/></strong></span></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'>&lt;</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>input </strong>type="file"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>name="upfile" </span></span><span style='color:#3333ff;'><span style='font-size:85%;'>/&gt; </span></span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>input </strong>type="submit"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>name="submit"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>value="上传"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> </strong>/&gt;</span></span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;/<strong>form</strong>&gt; </span><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>&lt;% </span><strong><br/><span style='font-size:85%;color:#3333ff;'>Function GetFileName(ByVal strFile)</span></strong><strong><br/><span style='font-size:85%;color:#3333ff;'>If strFile &lt;&gt; </span></strong><span style='font-size:85%;color:#3333ff;'>""</span><span style='color:#3333ff;'><span style='font-size:85%;'><strong> Then</strong><br/></span></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>   GetFileName = mid(strFile,InStrRev(strFile, </strong>"\"<strong>)+1)</strong> </span></span><strong><br/><span style='font-size:85%;color:#3333ff;'>Else</span></strong><span style='font-size:85%;color:#3333ff;'><br/></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>   GetFileName = </strong>"" </span></span><strong><br/><span style='font-size:85%;color:#3333ff;'>End If</span></strong><strong><br/><span style='font-size:85%;color:#3333ff;'>End function</span></strong><span style='font-size:85%;color:#3333ff;'><br/></span><strong><br/><span style='font-size:85%;color:#3333ff;'>if request.Form(</span></strong><span style='font-size:85%;color:#3333ff;'>"submit"<strong>) &lt;&gt; </strong>""</span><strong><span style='font-size:85%;color:#3333ff;'><br/>   </span></strong></span><span style='font-family:新宋体;'><span style='COLOR: blue;font-size:85%;color:#3333ff;'><strong>and</strong></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong><br/>   not isnull(request.Form(</strong>"submit"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>)) then </strong></span></span><strong><br/><span style='font-size:85%;color:#3333ff;'>   if request.Form(</span></strong><span style='font-size:85%;color:#3333ff;'>"upfile"<strong>) &lt;&gt; </strong>""</span><strong><span style='font-size:85%;color:#3333ff;'><br/>      </span></strong><span style='COLOR: blue;font-size:85%;color:#3333ff;'><strong>and</strong></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong><br/>      not isnull(request.Form(</strong>"upfile"</span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>)) Then </strong></span></span><strong><br/><span style='font-size:85%;color:#3333ff;'>      dim filestream</span></strong><span style='font-size:85%;color:#3333ff;'> </span><strong><br/><span style='font-size:85%;color:#3333ff;'>      set filestream = server.CreateObject(</span></strong><span style='font-size:85%;color:#3333ff;'>"adodb.stream"<strong>)</strong><br/>       </span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>filestream.Type = 1<br/>      </strong></span></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>filestream.Open()</strong><br/>       </span></span><span style='color:#3333ff;'><span style='font-size:85%;'><strong>filestream.LoadFromFile(request.Form(</strong>"upfile"<strong>))</strong><br/>       </span></span></span><span style='font-family:新宋体;'><strong><span style='font-size:85%;color:#3333ff;'>filestream.SaveToFile<br/>          </span></strong><span style='color:#3333ff;'><span style='font-size:85%;'><strong>Server.MapPath(</strong>"img/"&amp;GetFileName(request.Form("upfile"<strong>))),1</strong><br/>       </span></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>filestream.Close()</strong><br/>       </span></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>Response.Write(</strong>"文件上传完成..."<strong>)</strong> </span></span><strong><br/><span style='font-size:85%;color:#3333ff;'>   else</span></strong><span style='font-size:85%;color:#3333ff;'> <br/>       </span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><strong>Response.Write(</strong>"请选择文件再上传..."<strong>)</strong><br/>    </span></span><strong><span style='font-size:85%;color:#3333ff;'>end if</span></strong><span style='font-size:85%;color:#3333ff;'> </span><strong><br/><span style='font-size:85%;color:#3333ff;'>end if </span></strong><strong><br/></strong><span style='font-size:85%;color:#3333ff;'>%&gt; </span></span></p><p><span style='font-family:新宋体;'><span style='font-size:85%;color:#3333ff;'>&lt;/<strong>body</strong>&gt;<br/></span></span><span style='font-family:新宋体;'><span style='color:#3333ff;'><span style='font-size:85%;'><span style='COLOR: blue'>&lt;/</span><span style='COLOR: maroon'><strong>html</strong></span><span style='COLOR: blue'>&gt;</span></span></span></span></p></span>
          <br/>
          <span style="color:red;">
            <a href="http://owlman.javaeye.com/blog/93023#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/70' target='_blank'><span style="color:red;font-weight:bold;">第二届网络工程师侠客行大会5月24日杭州举行</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 20 Aug 2006 08:59:37 +0800</pubDate>
        <link>http://owlman.javaeye.com/blog/93023</link>
        <guid>http://owlman.javaeye.com/blog/93023</guid>
      </item>
      </channel>
</rss>