﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-写程序，做产品，过日子</title><link>http://www.blogjava.net/welkinhu/</link><description>成功其实很简单，就是强迫自己坚持下去</description><language>zh-cn</language><lastBuildDate>Mon, 01 Dec 2008 14:40:13 GMT</lastBuildDate><pubDate>Mon, 01 Dec 2008 14:40:13 GMT</pubDate><ttl>60</ttl><item><title>在线项目管理产品比较之一：横向简评</title><link>http://www.blogjava.net/welkinhu/archive/2008/11/01/238119.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Sat, 01 Nov 2008 12:01:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/11/01/238119.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/238119.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/11/01/238119.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/238119.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/238119.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从两三个人的小项目，到几百人的大工程，都需要一套项目管理工具来支撑，用于管理任务，进度，人员，资源和成果等。对于IT项目来说，也是一样。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 简单的纸面计划方式显然不能满足时代的需求了。而主流的Microsoft Project系...&nbsp;&nbsp;<a href='http://www.blogjava.net/welkinhu/archive/2008/11/01/238119.html'>阅读全文</a><img src ="http://www.blogjava.net/welkinhu/aggbug/238119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-11-01 20:01 <a href="http://www.blogjava.net/welkinhu/archive/2008/11/01/238119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>暂时不做Java了，博客搬家到51CTO</title><link>http://www.blogjava.net/welkinhu/archive/2008/10/21/235714.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Tue, 21 Oct 2008 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/10/21/235714.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/235714.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/10/21/235714.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/235714.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/235714.html</trackback:ping><description><![CDATA[<p>在BlogJava呆了两三年了，这里博客氛围很不错，博客系统本身也非常易用实用。可惜我接下来主要做技术管理，不再局限在Java。徘徊了两月，最终决定搬家到51CTO。<br />
新的blog地址是：http://welkinhu.blog.51cto.com/</p>
<img src ="http://www.blogjava.net/welkinhu/aggbug/235714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-10-21 16:32 <a href="http://www.blogjava.net/welkinhu/archive/2008/10/21/235714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>成功其实很简单，就是强迫自己坚持下去！</title><link>http://www.blogjava.net/welkinhu/archive/2008/08/19/222992.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Tue, 19 Aug 2008 06:17:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/08/19/222992.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/222992.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/08/19/222992.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/222992.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/222992.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; &#8220;成功其实很简单，就是强迫自己继续练下去。有的时候很累，很累，但是再辛苦也要坚持，因为梦还在远方！&#8221;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这句话语自今年２月３日，在济南冬训的中国跳水队的一场主题为&#8220;我的追求&#8221;的演讲比赛，演讲者是郭晶晶。 我是从新华网上找到这则消息的：<a title="http://news.xinhuanet.com/sports/2008-02/03/content_7561711.htm" href="http://news.xinhuanet.com/sports/2008-02/03/content_7561711.htm">http://news.xinhuanet.com/sports/2008-02/03/content_7561711.htm</a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前天晚上，郭晶晶毫无悬念的以415.35的历史最高分，卫冕北京奥运会女子3米跳板跳水桂冠，并且以4金2银的奥运会成绩成为女子跳水第一人! 这番话也随之脍炙人口。可能有媒体觉得这番话不够精炼，就加工成&#8220;成功其实很简单，就是强迫自己坚持下去！&#8221;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我也是在她卫冕之后，才看到这番话的。在看到一刹那，我就被感染了。朴实而深刻。成功，既不困难，也不复杂。它很简单。但是它需要我们坚持，很多时候还的强迫自己坚持下去。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我决定将这句话作为我新的座佑铭。我要在IT这个领域一直坚持下去，开创自己的事业。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我的学生时代曾有一个座佑铭，是但丁的名句：&#8220;做自己的路，让别人说去吧。&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那时我是个特立独行的学生，上课极少听讲，作业也不认真。绝大部分课程是靠自学的。在那个师资力量乏弱的环境里，很多老师的信条是&#8220;上课不听讲，怎么学的好！&#8221;我被视为异类，甚至被老师戏称为鬼才。</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高中文理分科时，我放弃了有较大优势的文科，只是因为不愿再试卷上填满恶心的官话和假话，不愿意将来从事一个以官话和假话为主要生存武器的职业。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到了填报志愿时，为了我的航天梦想，我没有选择近在咫尺的武大和华工，而是去了冷门的西北工业大学。让我的老师着实失望了一把。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可是过了大学四年，我发现航天系统很难容下人我这个特立独行的家伙。而且我的兴趣也迁移到计算机上。干脆改换行头，脱机入电，干起了软件开发。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 工作后，渐渐发现自己并不是很特立独行了，做的事情都是别人曾经做过事情，研究的东西也都是别人搞出来的东西。于是慢慢的不提&#8220;走自己的路，让别人去说吧。&#8221;，慢慢的也就变得浑浑噩噩了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如今已是三十而立，上有老，下有小，再不能一事无成了。我要以这句话自勉，闯出自己的一片天地！
<img src ="http://www.blogjava.net/welkinhu/aggbug/222992.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-08-19 14:17 <a href="http://www.blogjava.net/welkinhu/archive/2008/08/19/222992.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven 2 Mirror的陷阱</title><link>http://www.blogjava.net/welkinhu/archive/2008/08/13/221671.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Wed, 13 Aug 2008 04:40:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/08/13/221671.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/221671.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/08/13/221671.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/221671.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/221671.html</trackback:ping><description><![CDATA[
<p>Maven 2的安装和使用虽然不是一点即用，但也不是很复杂。然而，这两天我新装Maven，刚刚过了mvn -version，尝试create maven project就出问题了。问题详情如下。</p>
<p>D:\mavenSample&gt;mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
<br/>
[INFO] Scanning for projects...
<br/>
[INFO] Searching repository for plugin with prefix: 'archetype'.
<br/>
[INFO] org.apache.maven.plugins: checking for updates from central
<br/>
[INFO] org.codehaus.mojo: checking for updates from central
<br/>
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
<br/>
[INFO] ------------------------------------------------------------------------
<br/>
[ERROR] BUILD ERROR
<br/>
[INFO] ------------------------------------------------------------------------
<br/>
[INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found
<br/>
[INFO] ------------------------------------------------------------------------
<br/>
[INFO] For more information, run Maven with the -e switch
<br/>
[INFO] ------------------------------------------------------------------------
<br/>
[INFO] Total time: 3 seconds
<br/>
[INFO] Finished at: Wed Mar 19 14:26:49 CST 2008
<br/>
[INFO] Final Memory: 1M/2M
<br/>
[INFO] ------------------------------------------------------------------------</p>
<p>开始以为是internet 代理设置有问题。网上也有帖子这么说。可是换到ADSL后，不用代理了，问题仍然存在。</p>
<p>几经周折后发现，原因在于我画蛇添足多加了几个镜像，其中有的镜像没有同步更新maven库。经过测试，如下maven 镜像工作正常：</p>
<p>&lt;mirror&gt;
<br/>
&lt;id&gt;ibiblio.org&lt;/id&gt;
<br/>
&lt;name&gt;ibiblio Mirror of <a href="http://repo1.maven.org/maven2/">http://repo1.maven.org/maven2/</a>&lt;/name&gt;
<br/>
&lt;url&gt;<a href="http://mirrors.ibiblio.org/pub/mirrors/maven2">http://mirrors.ibiblio.org/pub/mirrors/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- United States, North Carolina --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;redv.com&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://mirrors.redv.com/maven2">http://mirrors.redv.com/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- Shanghai, China , Very fast--&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;dotsrc.org&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://mirrors.dotsrc.org/maven2">http://mirrors.dotsrc.org/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- Denmark --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;sunsite.dk&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://mirrors.sunsite.dk/maven2">http://mirrors.sunsite.dk/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- Denmark --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;skynet.be&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://maven2.mirrors.skynet.be/pub/maven2">http://maven2.mirrors.skynet.be/pub/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- Belgium --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;cica.es&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://ftp.cica.es/mirrors/maven2">http://ftp.cica.es/mirrors/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- Spain, Sevilla --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;!-- these just point to ibiblio.org --&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;ibiblio.net&lt;/id&gt;
<br/>
&lt;name&gt;ibiblio.net Mirror of <a href="http://repo1.maven.org/maven2/">http://repo1.maven.org/maven2/</a>&lt;/name&gt;
<br/>
&lt;url&gt;<a href="http://www.ibiblio.net/pub/packages/maven2">http://www.ibiblio.net/pub/packages/maven2</a>&lt;/url&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- United States, North Carolina Fast--&gt;
<br/>
&lt;/mirror&gt;</p>
<p>而下面的Maven镜像都有问题。</p>
<p>&lt;mirror&gt;
<br/>
&lt;id&gt;planetmirror&lt;/id&gt;
<br/>
&lt;name&gt;Australian Mirror of <a href="http://repo1.maven.org/maven2/&lt;/name">http://repo1.maven.org/maven2/&lt;/name</a>&gt;
<br/>
&lt;url&gt;<a href="http://public.planetmirror.com/maven2/&lt;/url">http://public.planetmirror.com/maven2/&lt;/url</a>&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;lsu.edu&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://ibiblio.lsu.edu/main/pub/packages/maven2&lt;/url">http://ibiblio.lsu.edu/main/pub/packages/maven2&lt;/url</a>&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- United States, Louisiana --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;sateh.com&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://maven.sateh.com/repository&lt;/url">http://maven.sateh.com/repository&lt;/url</a>&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- The Netherlands, Amsterdam --&gt;
<br/>
&lt;/mirror&gt;
<br/>
&lt;mirror&gt;
<br/>
&lt;id&gt;ggi-project.org&lt;/id&gt;
<br/>
&lt;url&gt;<a href="http://ftp.ggi-project.org/pub/packages/maven2&lt;/url">http://ftp.ggi-project.org/pub/packages/maven2&lt;/url</a>&gt;
<br/>
&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;
<br/>
&lt;!-- The Netherlands, Amsterdam --&gt;
<br/>
&lt;/mirror&gt;</p>
<img src ="http://www.blogjava.net/welkinhu/aggbug/221671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-08-13 12:40 <a href="http://www.blogjava.net/welkinhu/archive/2008/08/13/221671.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么会有博客搜索？</title><link>http://www.blogjava.net/welkinhu/archive/2008/08/13/221668.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Wed, 13 Aug 2008 04:36:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/08/13/221668.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/221668.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/08/13/221668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/221668.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/221668.html</trackback:ping><description><![CDATA[<p>博客搜索已经出来个年头了，我一直都没用过。博客和普通的网页并没什么大的区别。只要能搜出想要的东西，我并不介意结果是在博客，论坛或其他的什么网页上。  <p>所以我一直不明白为什么要把博客搜索和普通网页搜索分离。今天看了一下有关的资料。原来博客搜索强调的是时效性——你刚写好博客，就能被人从搜索服务中搜到！据说搜索引擎更新普通网页的频率长达一周左右。  <p>仔细想想还真是这个理，从Google、百度等搜到的东西，真的有很多是陈年古董。而搜索新闻时十有八九不如意。  <p>除了时效性外，让博客文章有机会在海量的搜索结果中浮出水面也是一大原因。也许是搜索竞价排名惹得祸，通过普通搜索得到的结果，博客文章往往被淹没了。  <p>以此类推，除了博客外，论坛，新闻等都需要单独的搜索服务。  <p><img height="1" src="http://www.blogjava.net/welkinhu/aggbug/220907.html" width="1" border="0"></p><img src ="http://www.blogjava.net/welkinhu/aggbug/221668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-08-13 12:36 <a href="http://www.blogjava.net/welkinhu/archive/2008/08/13/221668.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Firefox书签、IE收藏夹、在线书签何处是？</title><link>http://www.blogjava.net/welkinhu/archive/2008/08/13/221665.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Wed, 13 Aug 2008 04:28:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/08/13/221665.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/221665.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/08/13/221665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/221665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/221665.html</trackback:ping><description><![CDATA[
<p>一直想找一个理想的网页书签收藏工具，可是始终未能如愿。我对理想的书签收藏的要求是：</p>
<ol>
<li>有在线服务，不会因为换了电脑就找不到书签了。</li>
<li>不用打开在线书签的网页，就可以在IE和Firefox中找到，服务器与本机自动同步。</li>
<li>同时适用于IE和Firefox。</li>
<li>最好能集成到IE/Firefox自带的书签/收藏夹中去。</li>
</ol>
<p>目前业界提供在线书签服务的其实很多，但没有一个能完全达到这些要求。
<br/></p>
<h4>IE专用插件：IE Pro</h4>
<p><a href="http://www.ie7pro.com/">http://www.ie7pro.com/</a>
<br/></p>
<h5>特点</h5>
<ul>
<li>提供在线收藏服务。</li>
<li>与IE收藏夹完全集成。每次关闭IE时同步收藏夹。</li>
<li>提供多种实用服务。</li>
<li>仅在工具栏中占一个图标位置。</li>
</ul>
<h5>缺点</h5>
<ul>
<li>IE7专用，不适用于FireFox。</li>
<li>在线收藏的服务器可能在美国，网速较慢。</li>
</ul>
<h4>Firefox专用插件: Foxmarks Bookmark Synchronizer</h4>
<p><a href="https://addons.mozilla.org/zh-CN/firefox/addon/2410">https://addons.mozilla.org/zh-CN/firefox/addon/2410</a>
<br/></p>
<h5>特点</h5>
<ul>
<li>与IE Pro 类似的书签插件，提供在线收藏服务。</li>
<li>与Firefox书签菜单完全集成。</li>
<li>没有额外菜单和工具图标</li>
</ul>
<h5>缺点</h5>
<ul>
<li>Firefox专用，不适用于IE。</li>
<li>在线收藏的服务器可能在美国，网速较慢。</li>
</ul>
<h4>FireFox中使用IE搜藏夹插件: PlainOldFavorites</h4>
<p><a href="https://addons.mozilla.org/zh-CN/firefox/addon/668">https://addons.mozilla.org/zh-CN/firefox/addon/668</a>
<br/></p>
<h5>特点</h5>
<ul>
<li>在Firefox上额外添加一个"收藏"菜单，列出本机IE收藏夹的内容。</li>
<li>Firefox原有的书签功能不受影响。</li>
</ul>
<h5>缺点</h5>
<ul>
<li>没有在线服务，仅适用于一台电脑上的IE和Firefox</li>
<li>可通过"收藏"菜单添加当前页到收藏夹，但不能通过右键添加。</li>
<li>"收藏"与"书签"两个菜单并存，本应加到"收藏"中的书签经常被加到"书签"中。</li>
<li>不能应用于"书签工具栏"上的书签项，而这些书签项通常是最常用的。</li>
</ul>
<h4>在线书签 Delicious</h4>
<p><a href="http://delicious.com">http://delicious.com</a> 据说是现在最好的在线书签服务商。目前已被雅虎收购并升级为Delicious 2.0. 原来的怪异网址del.icio.us也不再主推了。
<br/></p>
<h5>特点</h5>
<ul>
<li>良好的在线书签服务功能。</li>
<li>标签化书签管理，书签搜索功能。特别适用于大量的书签管理。</li>
<li>同时为IE和Firefox提供了插件。</li>
<li>IE/Firefox插件仅占用两三个工具图标位，不用单独占用一行。</li>
</ul>
<h5>缺点</h5>
<ul>
<li>浏览器插件并没有浏览器自带的"收藏/书签"功能集成。不能相互同步。</li>
<li>似乎不能通过右键添加书签。</li>
<li>在线收藏的服务器可能在美国，网速较慢。</li>
<li>不能批量删除书签。</li>
<li>不支持树形目录。</li>
<li>排序功能很差。</li>
<li>不能应用于"书签工具栏"上的书签项，而这些书签项通常是最常用的。</li>
</ul>
<h4>在线书签 Google bookmarks</h4>
<p><a href="http://www.google.com/bookmarks/">http://www.google.com/bookmarks/</a>，提供与Delicious相似的在线书签服务。据说市场份额早已超过Delicious.
<br/></p>
<h5>特点</h5>
<ul>
<li>良好的在线书签服务功能。</li>
<li>标签化书签管理，书签搜索功能。特别适用于大量的书签管理。</li>
<li>与google笔记功能集成，这是一绝啊！</li>
<li>在IE和Firefox的google工具栏提供了书签菜单</li>
<li>Firefox下还有第三方开发的Gmark插件，能以树型方式展现书签。</li>
<li>Google服务器，数度快，稳定。</li>
</ul>
<h5>缺点</h5>
<ul>
<li>无论在IE中，还是在FireFox中，google工具栏都要独占一行。而且搜索框十分多余！</li>
<li>浏览器插件并没有浏览器自带的"收藏/书签"功能集成。不能相互同步。</li>
<li>似乎不能通过右键添加书签。</li>
<li>界面太简单，不支持树形目录。</li>
<li>不能应用于"书签工具栏"上的书签项，而这些书签项通常是最常用的。</li>
</ul>
<p><a href="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/FirefoxIE_F4DD/image_4.png"><img src="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/FirefoxIE_F4DD/image_thumb_1.png" alt="image" height="92" border="0" width="1014"/></a>
<br/></p>
<h4>其他在线书签服务</h4>
<h6>Windows Live Favorites :</h6>
<ul>
<li>与IE收藏夹完全集成。但不适用Firefox。</li>
<li>服务器超级慢。</li>
</ul>
<h6>Baidu搜藏</h6>
<ul>
<li>与Google bookmarks类似。</li>
<li>需要通过baidu工具栏与浏览器集成，与google工具栏存在一样的问题。</li>
<li>同过添加注册表项，可在IE中支持右键添加。</li>
<li>特色功能，如果书签指向的网址失效，可显示相应的百度快照</li>
</ul>
<h6>QQ书签</h6>
<ul>
<li>与Google bookmarks类似。</li>
<li>与QQ集成</li>
</ul>
<h6>Furl.net</h6>
<ul>
<li>与Delicious类似。</li>
<li>无IE插件或工具栏集成。</li>
<li>Firefox中有插件集成。</li>
<li>特色功能：为所有书签指向的网页保存了备份，以防失效。</li>
<li>服务器超级慢。</li>
</ul>
<h4>组合服务，覆盖在线书签，IE和firefox.</h4>
<h5>方案一 IE Pro + PlainOldFavorites</h5>
<ol>
<li>使用IE Pro 插件，在IE中获得在线服务。</li>
<li>Firefox中同过PlainOldFavorites插件，直接使用IE收藏夹。</li>
<li>Firefox自带的书签功能基本不用。</li>
</ol>
<h5>方案二 Google bookmarks.</h5>
<ol>
<li>使用Google bookmarks在线服务。</li>
<li>IE中安装 Google 工具栏，忍受一下它的独占一行。</li>
<li>Firefox中安装Gmark插件</li>
<li>Firefox自带的书签功能基本不用。</li>
</ol>
<img src ="http://www.blogjava.net/welkinhu/aggbug/221665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-08-13 12:28 <a href="http://www.blogjava.net/welkinhu/archive/2008/08/13/221665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google Sites 是干什么的？</title><link>http://www.blogjava.net/welkinhu/archive/2008/08/09/221034.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Sat, 09 Aug 2008 09:27:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/08/09/221034.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/221034.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/08/09/221034.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/221034.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/221034.html</trackback:ping><description><![CDATA[
<p>今天顺手是了一下Google Sites.</p>
<p>写了一个含iFrame的html页面放上去，居然不让过。报错如下：</p>
<p><span style="FONT-SIZE: 12pt; FONT-FAMILY: Times New Roman">HTML content will be modified</span></p>
<p><span style="FONT-SIZE: 12pt; FONT-FAMILY: Times New Roman">Your HTML either contains unsafe tags (iframe, embed, styles, script) or extra attributes. They will be removed when the page is viewed.</span></p>
<p><span style="FONT-SIZE: 12pt"><span style="FONT-FAMILY: 宋体">但是</span> <span style="FONT-FAMILY: Times New Roman">google</span> <span style="FONT-FAMILY: 宋体">自己的</span> <span style="FONT-FAMILY: Times New Roman">Calendar, Docs, Video,</span> <span style="FONT-FAMILY: 宋体">甚至乱七八糟的</span> <span style="FONT-FAMILY: Times New Roman">gadget</span> <span style="FONT-FAMILY: 宋体">都可以加进去。</span></span></p>
<p><script src="http://js.users.51.la/2061851.js" type="text/javascript" language="javascript">
</script> <a href="http://www.51.la/?002061851" target="_blank"><img src="http://icon.ajiang.net/icon_9.gif" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none" height="12" alt="51.la 专业、免费、强健的访问统计" width="48"/></a> <img src="http://web.51.la/go.asp?we=A-Free-Service-for-Webmasters&amp;svid=20&amp;id=2061851&amp;tpages=4&amp;ttimes=1&amp;tzone=8&amp;tcolor=32&amp;sSize=1280,800&amp;referrer=&amp;vpage=file:///G:/Welkin Documents/Zoundry/temp/_z_raven_mshtml_1227787627.5_tmp.xhtml" style="WIDTH: 0px; HEIGHT: 0px" height="0px" width="0px"/> <script src="http://js.tongji.cn.yahoo.com/725368/ystat.js" type="text/javascript">
</script></p>
<img src ="http://www.blogjava.net/welkinhu/aggbug/221034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-08-09 17:27 <a href="http://www.blogjava.net/welkinhu/archive/2008/08/09/221034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的Blog是不是要搬家了?</title><link>http://www.blogjava.net/welkinhu/archive/2008/08/09/221021.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Sat, 09 Aug 2008 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/08/09/221021.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/221021.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/08/09/221021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/221021.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/221021.html</trackback:ping><description><![CDATA[<p>Blog要在群里活的才滋润。从上半年开始，我的主要工作就不是Java了，这个BlogJava的站变得越来越不适合我。很多东西我只能选择发到"非技术区"。</p><img src ="http://www.blogjava.net/welkinhu/aggbug/221021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-08-09 15:21 <a href="http://www.blogjava.net/welkinhu/archive/2008/08/09/221021.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>弃用notepad++</title><link>http://www.blogjava.net/welkinhu/archive/2008/06/03/205609.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Tue, 03 Jun 2008 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/06/03/205609.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/205609.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/06/03/205609.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/205609.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/205609.html</trackback:ping><description><![CDATA[<p>目前免费的带语法高亮的文本编辑器，最优秀的莫过于PSPad和Notepad++。就个人使用感受，Notepad++更胜一筹，除了列编辑模式欠缺，和UltraEdit、EditPlus有一拼。用了好几个月，但实在受不了Notepad++主页上的&#8220;抵制北京奥运会&#8221;，最终决定弃用它。<br />
本人忙于供房养家，对北京奥运会并不感冒。但对这种以技术外衣，宣扬反华的行为却是无法容忍。</p>
<script language="javascript" type="text/javascript" src="http://js.users.51.la/2061851.js"></script><noscript></noscript><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
var pageTracker = _gat._getTracker("UA-5225419-1");
pageTracker._trackPageview();
</script>

<!--Yahoo 统计-->
<script type="text/javascript" src="http://js.tongji.cn.yahoo.com/725368/ystat.js"></script><noscript><a href="http://tongji.cn.yahoo.com"><img src="http://img.tongji.cn.yahoo.com/725368/ystat.gif"/  alt="" /></a></noscript><img src ="http://www.blogjava.net/welkinhu/aggbug/205609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-06-03 17:34 <a href="http://www.blogjava.net/welkinhu/archive/2008/06/03/205609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源项目托管站点SourceForge, Google Code, CodePlex</title><link>http://www.blogjava.net/welkinhu/archive/2008/02/27/182406.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Wed, 27 Feb 2008 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2008/02/27/182406.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/182406.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2008/02/27/182406.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/182406.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/182406.html</trackback:ping><description><![CDATA[<p>近来根据公司要求，学习Microsoft.Net。于是仿照EyeLoveU，写了一个C#的小程序。现在比较稳定了，就想放到在SoruceForge这样的网站上去秀一秀。<br />
<br />
最开始考虑的自然是SourceForge。但在公司需要通过Proxy访问sourceforge.net时，速度奇慢。<br />
<br />
第二个考虑的是Google Code。无论在家通过ADSL访问，还是在公司通过Proxy访问，速度都可以接受。最好用的是支持对Issue, Discussion, Document等自定义属性标签，如priority, type, milestone等。<br />
<br />
无论是SourceForge，还是Google Code，与subversion和eclipse的集成都非常好。可是我用的是Microsoft Visual Studio 2008和C#，与这两个东家都不合拍：<br />
</p>
<ul>
    <li>&nbsp;Subversion 与VS2008的集成需要购买Visual SVN</li>
    <li>VS2008不能发布下载包到SourceForge和Google Code上。</li>
</ul>
<p>最后我发现CodePlex这个网站，居然提供Visual Studio Team Fundation Server的服务。与我用的VS2008完全是一家！可惜的是它的网速非常不稳定，很难访问。估计服务器只在美国。最要命的是，在公司的Proxy环境下，我可以从IE访问CodePlex的VSTS服务器，但VS2008的Team Explorer怎么也访问不了。</p>
<img src ="http://www.blogjava.net/welkinhu/aggbug/182406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2008-02-27 10:20 <a href="http://www.blogjava.net/welkinhu/archive/2008/02/27/182406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hiberante Collection Mapping Samples</title><link>http://www.blogjava.net/welkinhu/archive/2007/10/24/155524.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Wed, 24 Oct 2007 03:09:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/10/24/155524.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/155524.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/10/24/155524.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/155524.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/155524.html</trackback:ping><description><![CDATA[<h1>Collection mapping table</h1> <table cellspacing="0" cellpadding="2" width="400" border="0"> <tbody> <tr> <td valign="top" width="133"><strong>HBM Element</strong></td> <td valign="top" width="133"><strong>Java Interface</strong></td> <td valign="top" width="133"><strong>Java Implementation</strong></td></tr> <tr> <td valign="top" width="133">&lt;set&gt;</td> <td valign="top" width="133">Set</td> <td valign="top" width="133">HashSet</td></tr> <tr> <td valign="top" width="133">&lt;set&gt; with order</td> <td valign="top" width="133">SortedSet</td> <td valign="top" width="133">TreeSet</td></tr> <tr> <td valign="top" width="133">&lt;list&gt;</td> <td valign="top" width="133">List</td> <td valign="top" width="133">ArrayList</td></tr> <tr> <td valign="top" width="133">&lt;bag&gt;, &lt;idbag&gt;</td> <td valign="top" width="133">Collection</td> <td valign="top" width="133">ArrayList</td></tr> <tr> <td valign="top" width="133">&lt;map&gt;</td> <td valign="top" width="133">Map</td> <td valign="top" width="133">HashMap</td></tr> <tr> <td valign="top" width="133">&lt;map&gt; with order</td> <td valign="top" width="133">SortedMap</td> <td valign="top" width="133">TreeMap</td></tr> <tr> <td valign="top" width="133">&lt;array&gt;, &lt;primitive-array&gt;</td> <td valign="top" width="133">N/A</td> <td valign="top" width="133">array</td></tr></tbody></table> <p>&nbsp;</p> <h2>Sample Tables</h2> <blockquote> <p>CREATE TABLE `core_sample_company` (<br>&nbsp; `companyId` decimal(18,0) NOT NULL,<br>&nbsp; `companyName` varchar(128) NOT NULL,<br>&nbsp; `description` varchar(1024) default NULL,<br>&nbsp; PRIMARY KEY&nbsp; (`companyId`)<br>); <p>CREATE TABLE `core_sample_role` (<br>&nbsp; `roleId` decimal(18,0) NOT NULL,<br>&nbsp; `roleName` varchar(128) NOT NULL,<br>&nbsp; `companyId` decimal(18,0) NOT NULL,<br>&nbsp; `description` varchar(1024) default NULL,<br>&nbsp; PRIMARY KEY&nbsp; (`roleId`)<br>);</p></blockquote> <blockquote> <p>CREATE TABLE `core_sample_user` (<br>&nbsp; `userId` decimal(18,0) NOT NULL,<br>&nbsp; `userName` varchar(128) NOT NULL,<br>&nbsp; `companyId` decimal(18,0) NOT NULL,<br>&nbsp; `defaultRoleId` decimal(18,0) default NULL,<br>&nbsp; `description` varchar(1024) default NULL,<br>&nbsp; PRIMARY KEY&nbsp; (`userId`)<br>);</p></blockquote> <blockquote> <p>CREATE TABLE `core_sample_user_role` (<br>&nbsp; `userId` decimal(18,0) NOT NULL,<br>&nbsp; `roleId` decimal(18,0) NOT NULL,<br>&nbsp; `pripority` int(11) NOT NULL,<br>&nbsp; PRIMARY KEY&nbsp; (`userId`,`roleId`)<br>);</p></blockquote> <h1>HBM defintion</h1> <p>The definiton of &lt;set&gt;, &lt;bag&gt;, &lt;list&gt; is similar. </p> <h2>Defines a collection whose element type is simple data type.</h2> <p>&lt;class name="SampleCompany" table="core_sample_company"&gt;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bag name="roleNames" table="core_sample_role" lazy="false" &gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key column="companyId"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;element column="roleName" type="string"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/bag&gt; <p>&lt;/class&gt; <p>Query HQL: select c.id, c.name, r from SampleCompany c left join c.roleNames r <h2>Defines a collection whose element type is another mapped java class</h2> <p>&lt;class name="SampleCompany" table="core_sample_company"&gt;&nbsp;&nbsp;&nbsp; </p> <p>&nbsp;&nbsp; &lt;bag name="roles" cascade="none"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key column="companyId"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;one-to-many class="SampleRole" not-found="ignore"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/bag&gt;</p> <p>&lt;/class&gt;</p> <p>Query HQL: select c.id, c.name, r.name from SampleCompany c left join c.role r <p>Pay attention that key column is a foreign column of SampleRole table. <h2>Defines a list with list-index</h2> <p>&lt;list&gt; is not a popular element. It request a index column in table. The index column is the index of java List, it has to be a sequence starts from 0. </p> <p>&lt;class name="SampleUser" table="core_sample_user"&gt;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp; &lt;list name="roles" table="core_sample_user_role" cascade="all" lazy="false" &gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key&gt;&lt;column name="userId" sql-type="integer"/&gt;&lt;/key&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;index column="priority"&gt;&lt;/index&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;many-to-many class="SampleRole"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="roleId"&gt;&lt;/column&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/many-to-many&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/list&gt; <p>&lt;/class&gt; <p>The benifit of &lt;list&gt; is it alwasy sorts list by index column. However, It is hard to resort the list. I tried remove a role from role list and add it to another poisition. When save the role list, an exception throwed: <p>java.sql.BatchUpdateException: Duplicate entry 'user001-role003 for key 1 <p>This should be a hibernate bug. <h2>Defines a bag with relationship table</h2> <p>&lt;class name="SampleRole" table="core_sample_role"&gt;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;bag name="users" table="core_sample_user_role" cascade="none" lazy="false"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key&gt;&lt;column name="roleId" sql-type="integer"/&gt;&lt;/key&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;many-to-many class="SampleUser"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="userId"&gt;&lt;/column&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/many-to-many&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/bag&gt; <p>&lt;/class&gt; <ul> <li>Key column is foreign column from relationship table to current table(SampleRole&gt;</li> <li>many-to-many sub column is foreign column from relationship table to target table (SampleUser)</li></ul> <img src ="http://www.blogjava.net/welkinhu/aggbug/155524.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-10-24 11:09 <a href="http://www.blogjava.net/welkinhu/archive/2007/10/24/155524.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转贴：Windows XP中Administrator账户使用方法</title><link>http://www.blogjava.net/welkinhu/archive/2007/08/31/141716.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Fri, 31 Aug 2007 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/08/31/141716.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/141716.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/08/31/141716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/141716.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/141716.html</trackback:ping><description><![CDATA[<p>转贴自：<a href="http://news.newhua.com/Html/System_win/2004-9/8/16...">http://news.newhua.com/Html/System_win/2004-9/8/16...</a></p> <p><strong></strong>&nbsp;</p> <p>安装Windows XP时，如果设置了一个管理员账户，那么系统内置没有密码保护的Administrator管理员账户是不会出现在用户登录列表中的。虽然它身在幕后，可却拥有系统最高权限，为了方便操作及保证系统安全，可以先给它设置密码，然后再把它请到台前来。以下便介绍具体方法。  <p><strong>1.使用“传统登录提示”登录</strong>  <p>　　启动系统到欢迎屏幕时，按两次“Ctrl+Alt+Delete”组合键，在出现的登录框中输入Administrator账户的用户名和密码即可。也可以单击“开始→控制面板”，双击“用户账号”图标，在弹出的“用户账号”窗口中，单击“更改用户登录或注销的方式”，去掉“使用欢迎屏幕”前的复选框，单击“应用选项”即可在启动时直接输入Administrator账户名及密码登录。  <p><strong>2.在登录的欢迎屏幕显示Administrator账户</strong>  <p>　　单击“开始→运行”，输入regedit后回车，打开注册表编辑器，依次展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList”分支，将右边的Administrator的值改为1，即可让Administrator账户出现在登录的欢迎屏幕上。  <p><strong>3.自动登录到Administrator账户</strong>  <p>　　单击“开始→运行”，输入control userpasswords2后回车，在打开的“用户账户”窗口去掉“要使用本机，用户必须输入密码”前的复选框，按“应用”后，在弹出的“自动登录”窗口中输入Administrator账户密码(如图1)，按两次“确定”即可。注意：如果原来就设置了其它账户自动登录，应该先选中“要使用本机，用户必须输入密码”前的复选框，按“应用”后再去掉选中的复选框。也可以修改注册表实现自动登录，不过没有以上方法方便。  <p><img src="http://image2.sina.com.cn/IT/upload/20040908/811/1094615437/images_center/tech/upload/2004-09-08/U811DT20040908114128.jpg" border="1">  <p>　　图1  <p>　　当然，如果不需要Administrator账户，可以依次打开“开始→控制面板→管理工具→计算机管理”，在“计算机管理”窗口，展开“系统工具→本地用户和组→用户”，在“用户”右边窗口双击Administrator账户，在弹出的“属性”窗口中选中“账号已停用”前的复选框(如图2)，按“确定”即可停用Administrator账户。  <p><img src="http://image2.sina.com.cn/IT/upload/20040908/811/1094615437/images_center/tech/upload/2004-09-08/U811DT20040908114203.jpg" border="1">  <p>　　图2  <p>&nbsp;  <h2>补充材料：修改注册表来实现XP的自动登录</h2> <p>&nbsp;  <p>在进入Windows XP桌面之前，每次都会出现一个用脑登录界面，要求我们输入用户名与密码，可以加大了系统的安全性，也为多人共用一台电脑提供了方便，但如果是家用电脑，只有你一个人使用，这样每次密码，的确不有点不大方便。我们可以通过修改注册表来实现XP的自动登录。  <p>　　第1步：运行注册表编辑器，依次展开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon ]分支，然后在右侧窗口双击“DefaultUserName”，接着输入你的登录用户名。如果没有预设的用户名称，可以在注册表编辑器的菜单栏点选“编辑→新建→字符串值(s)→DefaultUserName”来添加这个项目，注意要区分大小写字母。　　  <p>　　第2步：同样在该分支下，在注册表编辑器的右侧窗口中双击“DefaultPassword”，然后在空白栏内输入你的密码。假如未发现“DefaultPassword”一项，可按上面的步骤来新建该字符串值。　　  <p>　　第3步：接下来在右侧窗口中双击“AutoAdminLogon”，将数值设置为“1”。假如未发现“AutoAdminLogon”，可按上面的步骤来新建。　　  <p>　　现在关闭注册表编辑器并重新启动电脑，以后你会发现那个令人讨厌的登录对话框不见了。 </p><img src ="http://www.blogjava.net/welkinhu/aggbug/141716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-08-31 14:07 <a href="http://www.blogjava.net/welkinhu/archive/2007/08/31/141716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Office 2007的选项设置</title><link>http://www.blogjava.net/welkinhu/archive/2007/08/20/138044.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Mon, 20 Aug 2007 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/08/20/138044.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/138044.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/08/20/138044.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/138044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/138044.html</trackback:ping><description><![CDATA[<p>Office 2007使用Ribbon代替了主菜单和工具栏。而Ribbon中没有选项设置这一栏。经过查找，发现它被挤一个很不起眼的地方。</p> <p>&nbsp;</p> <p>在Office 2007(Word等）的左上角，有一个Office图标按钮。点击它就会弹出一个菜单窗口，里面包含着Ribbon上没有的菜单项。其中在菜单窗口的右下方，有一个"Word Options"的按钮，这个就是选项设置的菜单了。</p> <p> Outlook写邮件时，用的编辑器也是Word，但它的设置与Word的设置是独立的。必须在Outlook中打开编辑器，与Word一样设置编辑器选项。</p> <p>&nbsp;</p> <p>这里列举几个比较重要的设置例子。</p> <p>一、消除换行符。</p> <p> Word 2007中默认会显示一直回车换行符。通过点击Ribbon上Paragraph栏中的"Show/Hide Edit Marks"图标并不能消除它。打开"Word Options"窗口，选择"Display"栏，勾掉一直显示符号中的"Paragrahp Marks"项，就可以不显示回车换行符了。</p> <p>&nbsp;</p> <p>二、不让输入法随Office启动。</p> <p>如果安装了中文输入法（当然，其它语言的输入法也一样），这个输入法有可能总跟着Word/Outlook一起启动。非常烦人。要去掉这个特性，只需勾掉“Edit Options"中的最后一项“IME Control Active”。如下图所示。</p> <p>同时，还建议大家在控制面板中，把高级语言服务关掉。实际上大家常用的中文输入法只有一种，直接使用Ctrl+Space的方法最方便。根本不需要鼠标切换。</p> <p>&nbsp;</p> <p><a href="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/Office2007_ACDD/0001.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="547" alt="0001" src="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/Office2007_ACDD/0001_thumb.png" width="506" border="0"></a></p><img src ="http://www.blogjava.net/welkinhu/aggbug/138044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-08-20 09:45 <a href="http://www.blogjava.net/welkinhu/archive/2007/08/20/138044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 3.3下Sysdeo3.2.1配置的几个问题</title><link>http://www.blogjava.net/welkinhu/archive/2007/07/03/127927.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Tue, 03 Jul 2007 10:06:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/07/03/127927.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/127927.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/07/03/127927.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/127927.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/127927.html</trackback:ping><description><![CDATA[<p>Sysdeo是知名的Tomcat插件。今天在构建eclipse 3.3 + sysdeo3.2.1 + tomcat 6.0.13时，发现如下几个注意点。</p> <ol> <li>Sysdeo主配置项中Tomcat Home是配置Tomcat目录的，注意最后不要加“\”。比如F:\java\tomcat-6.0.13是对了，F:\java\tomcat-6.0.13\就不对了。  <li>Sysdeo advance配置中的Tomcat Base指的是配置Tomcat运行时的基准目录。实际上这个配置项是多余的，可以不配，也不应当配。它必须和Sysdeo主配置项中Tomcat Home一致，否则会有一些Tomcat系统文件找不到。  <li>如果不通过eclipse和Sysdeo，直接运行Tomcat的startup.bat，基准目录是%TOMCAT_HOME%/webapps。而sysdeo设定的基准目录是%TOMCAT_HOME%。这个会导致一些冲突。比如放在%TOMCAT_HOME%/logs/中的log文件的位置，直接运行要写成“../logs/app.log”，运行sysdeo时要写成“logs/app.log”</li></ol><img src ="http://www.blogjava.net/welkinhu/aggbug/127927.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-07-03 18:06 <a href="http://www.blogjava.net/welkinhu/archive/2007/07/03/127927.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>泛型使用小结</title><link>http://www.blogjava.net/welkinhu/archive/2007/06/20/125241.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Wed, 20 Jun 2007 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/06/20/125241.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/125241.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/06/20/125241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/125241.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/125241.html</trackback:ping><description><![CDATA[
<p>1、不得在超类中使用通配符，例如</p>
<p>public class PojoModelTree extends IdentifiableTree&lt;? extends PojoModel&gt;</p>
<p>错误信息如下：</p>
<p>The type PojoModelTree cannot extend or implement IdentifiableTree&lt;? extends PojoModel&gt;. A
<br/>
supertype may not specify any wildcard</p>
<p>2、只有&lt;? super Type&gt;，没有&lt;E super Type&gt;</p>
<p>正确用法：TreeNode&lt;? super Node&gt; getTree()</p>
<p>错误用法　&lt;E super Node&gt; E getParent();</p>
<p>3、函数返回值类型不应使用通配符：</p>
<p>错误用法：TreeNode&lt;? extends T&gt; getChildNode(String pKey)</p>
<p>这种用法本身无错，但在赋返回值给其它变量时会报类型不匹配。</p>
<p>正确用法：&lt;N extends T&gt; TreeNode&lt;N&gt; getChildNode(String pKey)</p>
<p>4、带通配符的泛型集合不能使用add方法。不带通配符的泛型集合也可接收子类元素。</p>
<p>错误用法：</p>
<p>List&lt;? extends Number&gt; list1 = new ArrayList&lt;Number&gt;();
<br/>
list1.add(new Integer(11)); // 类型不匹配。</p>
<p>第二行报错为：</p>
<p>The method add(capture#1-of ? extends Number) in the type List&lt;capture#1-of ? extends
<br/>
Number&gt; is not applicable for the arguments (Integer)</p>
<p>正确用法：</p>
<p>List&lt;Number&gt; list1 = new ArrayList&lt;Number&gt;();
<br/>
list1.add(new Integer(11));</p>
<p>显然，在泛型的检查之下，仍可向集合中添加指定泛型的子类元素。以下代码也是合法的：</p>
<p>List&lt;Number&gt; list1 = new ArrayList&lt;Number&gt;();
<br/>
list1.add(new Integer(11));
<br/>
List&lt;Integer&gt; list2 = new ArrayList&lt;Integer&gt;();
<br/>
list2.add(33);
<br/>
list2.add(44);
<br/>
list1.addAll(list2);</p>
<p>但是，如果写list1=list2就不合法了。</p>
<p xmlns="" class="zoundry_raven_tags">
  <!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com -->
  <span class="ztags"><span class="ztagspace">Technorati</span> : <a href="http://www.technorati.com/tag/Java+5" class="ztag" rel="tag">Java 5</a>, <a href="http://www.technorati.com/tag/%E6%B3%9B%E5%9E%8B" class="ztag" rel="tag">泛型</a></span> 
</p><img src ="http://www.blogjava.net/welkinhu/aggbug/125241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-06-20 09:37 <a href="http://www.blogjava.net/welkinhu/archive/2007/06/20/125241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring中如何获取和重置一个BeanFactory对象？或者说，如何动态修改Hibernate Configuration?</title><link>http://www.blogjava.net/welkinhu/archive/2007/06/11/123434.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Mon, 11 Jun 2007 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/06/11/123434.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/123434.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/06/11/123434.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/123434.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/123434.html</trackback:ping><description><![CDATA[
<p>Spring对Hibernate Session Factory提供了高度封装。如下例所示。</p>
<p>&lt;bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;
<br/>
&lt;property name="dataSource" ref="myDataSource"/&gt;
<br/>
&lt;property name="mappingResources"&gt;
<br/>
&lt;list&gt;
<br/>
&lt;value&gt;product.hbm.xml&lt;/value&gt;
<br/>
&lt;/list&gt;
<br/>
&lt;/property&gt;
<br/>
&lt;property name="hibernateProperties"&gt;
<br/>
&lt;value&gt;
<br/>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
<br/>
&lt;/value&gt;
<br/>
&lt;/property&gt;
<br/>
&lt;/bean&gt;</p>
<p>然而，在我的案例中，因为业务需要，我们必须在运行时加入新的HBM。在单独使用Hibernate的时，只要取到Hiberante Configuration对象，修改一下配置，然后rebuild　session factory就可以了。</p>
<p>可是经Spring这一封装，我只能取到一个只读的SessionFactory对象，无法进行重置。</p>
<p>这里有两种可能方法，但我都不知道如何做。</p>
<p>1，取到LocalSessionFactoryBean对象进行重置。</p>
<p>2，取到Hibernate Configuration对象进行重置。</p>
<p xmlns="" class="zoundry_raven_tags">
  <!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com -->
  <span class="ztags"><span class="ztagspace">Technorati</span> : <a href="http://www.technorati.com/tag/Hibernate" class="ztag" rel="tag">Hibernate</a>, <a href="http://www.technorati.com/tag/Java" class="ztag" rel="tag">Java</a>, <a href="http://www.technorati.com/tag/Spring" class="ztag" rel="tag">Spring</a></span> 
</p><img src ="http://www.blogjava.net/welkinhu/aggbug/123434.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-06-11 17:46 <a href="http://www.blogjava.net/welkinhu/archive/2007/06/11/123434.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>怪怪的Spring HibernateTemplate</title><link>http://www.blogjava.net/welkinhu/archive/2007/06/11/123373.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Mon, 11 Jun 2007 05:53:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/06/11/123373.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/123373.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/06/11/123373.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/123373.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/123373.html</trackback:ping><description><![CDATA[
<p>Spring 2.0无缝集成了Hibernate.提供了很多功能。但在我看来，除了整合事务管理外，很多功能都　是可有可无的。</p>
<p>最典型的就是HibernateTemplate，这个类其实就是代理了Hibernate　Session的所有功能。把我看得一愣一愣的。半天没明白这个类有什么奇妙用处。我用Hiberante　API已经轻车熟路，自然不愿再学习新的API。</p>
<p>它引入这个HibernateTemplate有什么作用呢？其API也不比Hibernate的API简单啊。</p>
<p>后来的测试表明Spring对Hibernate原生的API在事务支持上存在一些问题，而用HibernateTemplate，事务就运行得很好。
<br/></p>
<p xmlns="" class="zoundry_raven_tags">
  <!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com -->
  <span class="ztags"><span class="ztagspace">Technorati</span> : <a href="http://www.technorati.com/tag/Hibernate" class="ztag" rel="tag">Hibernate</a>, <a href="http://www.technorati.com/tag/Java" class="ztag" rel="tag">Java</a>, <a href="http://www.technorati.com/tag/Spring" class="ztag" rel="tag">Spring</a></span> 
</p><img src ="http://www.blogjava.net/welkinhu/aggbug/123373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-06-11 13:53 <a href="http://www.blogjava.net/welkinhu/archive/2007/06/11/123373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse Tips</title><link>http://www.blogjava.net/welkinhu/archive/2007/05/22/119045.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Tue, 22 May 2007 01:48:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/05/22/119045.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/119045.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/05/22/119045.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/119045.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/119045.html</trackback:ping><description><![CDATA[
<p>1. 在Eclipse中运行DOS</p>
<p><a href="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image05.png"><img src="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image0_thumb1.png" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="568" border="0" width="640"/></a></p>
<p>这种方法的好处是连DOS执行窗口也集成在Eclipse Console中。</p>
<p>在上面的设置是，Working Directory的设置非常重要。${container_loc}表示以当前选中文件的上级目录为工作目录。如果你选中的是某个目录，比如说某个包，那么很不幸，它会指向这个目录的上级目录。所以，${container_loc}只适合选中一个文件的情况。</p>
<p>另一个变量${resource_loc}则相反，它总是以选中的文件或目录为工作目录。就是说它适合选中一个目录的情况。如果选中一个文件，运行DOS就会出错，因为文件不能作为DOS的工作目录。</p>
<p>两个变量各有优缺点。由于Java编程中，大部分DOS命令是在工程目录下执行的，所以${resource_loc}会好一些。使用${container_loc}很难定位到工程目录。</p>
<p><a href="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image08.png"><img src="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image0_thumb2.png" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="496" border="0" width="769"/></a></p>
<p>2. Mylar导致Content Assist中出现重复的方法提示。</p>
<p>最近发现我的Eclipse 3.3M7中出了个不大不小的问题，就是Java编辑窗口中的代码提示工具把每一个方法都重复的列了两次。如下图所示。</p>
<p><a href="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image{0}[5].png"><img src="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image{0}_thumb[1].png" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="186" border="0" width="415"/></a></p>
<p>这个问题让我百思不得其解，最后打开java -&gt; Editor -&gt;Content Assist的设置，才发现是新装了Mylar的原因。如下图所示，Mylar为content assist增加了几个同名的Proposal，将这些同名的Porposals任意勾掉一个就解决问题了。</p>
<p><a href="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image{0}[2].png"><img src="http://www.blogjava.net/images/blogjava_net/welkinhu/WindowsLiveWriter/EclipseTips_C210/image{0}_thumb.png" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="415" border="0" width="498"/></a></p>
<p xmlns="" class="zoundry_raven_tags">
  <!-- Tag links generated by Zoundry Raven. Do not manually edit. http://www.zoundryraven.com -->
  <span class="ztags"><span class="ztagspace">Technorati</span> : <a href="http://www.technorati.com/tag/Eclipse" class="ztag" rel="tag">Eclipse</a></span> 
</p><img src ="http://www.blogjava.net/welkinhu/aggbug/119045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-05-22 09:48 <a href="http://www.blogjava.net/welkinhu/archive/2007/05/22/119045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring断想：接口粘合</title><link>http://www.blogjava.net/welkinhu/archive/2007/05/11/116668.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Fri, 11 May 2007 02:00:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/05/11/116668.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/116668.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/05/11/116668.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/116668.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/116668.html</trackback:ping><description><![CDATA[<p>Spring和AOP像一个强力的粘合剂，将完全独立开发的组件（或说是模块，下同）粘合成一个有机的，完整的，可扩展的系统。正是有了这个粘合剂的帮助，才实现了比较彻底的独立组件开发。</p> <p>说它是“比较彻底”，是因为它极大的减少了组件之间的依赖。在你开发一个组件时，基本上不会因为其它组件没有开发完成，或出现Bug而影响到你的进度。</p> <p>但是，它并没有完全消除开发时组件之间的依赖，你仍然得依赖于其它组件提供的API接口。为此，我们不得不把一个组件拆成两个jar包：一个component-api.jar，一个component-impl.jar。由于api包内全是公用接口和Value Object，所以它相对稳定，可以早早的提供出来。这样，一个组件如果要使用另一个组件的服务，在开发阶段，只须依赖于api包即可。运行时，Spring再根据服务提供组件的配置信息找到正确的实现类。</p> <p>&nbsp;</p> <p>昨天，我们在一个讨论会上发现了一个有趣的问题：</p> <p>组件UIA是一个UI组件，它要求提供一些数据，于时它把自己的要求写时接口ProviderA中。组件C1和C2是两个不同的业务组件，它们的UI中都有使用UIA这个组件，而它们都提供了自己的数据接口ServiceC1和ServiceC2。</p> <p>ProviderA所要求的方法，在ServiceC1和ServiceC2中都有提供。这个时候怎么做才能使各个组件完独立呢。</p> <p>一、让ServiceC1和ServiceC2继承于ProviderA。但是这样将导致业务组件依赖于UI组件。有谁知道一共有多少个UI组件需要依赖啊？而且UI组件是最易变的。</p> <p>二、把ProviderA从uia.jar抽出来，放到单独的uia-api.jar中。这个就未免小题大做了。一个系统少说也有几十个UI组件，难道要生成上百个jar包不成？</p> <p>三、把所有的UI的要求的API都抽出来，放到一个ui-api.jar中。这样jar包是少了，可是单个的UI组件就失去独立性了。</p> <p>上面三个方案，不管怎么管理UI组件的接口，都没有解决业务组件依赖于不定数目的UI组件这个问题。</p> <p>&nbsp;</p> <p>最后，我们采用的方法是：把UI组件视为某个业务组件的子组件，UI组件自己不定义接口。所有对外的接口和对UI的接口，都放在业务组件的api包中。</p> <p>这样做，业务组件和UI组件都依赖于api包，互相之间没有依赖。当然，这样做，UI组件就不能游离于大的业务组件之外。而我们采用这个方案的原因也在于，我们认定为多个组件提供服务的UI组件是很少的。</p> <p>&nbsp;</p> <p>显然我们采用的方法只是就事论事的一个折衷方案。并没有解决服务提供者和消费者之间的交叉依赖。</p> <p>要解决这种交叉依赖，我的思路是再提供一个接口之间的粘合机制。消费者定义自己要求的服务接口，提供者定义自己提供的服务接口。最后用一个配置文件，将二者粘合起来。</p> <p>目前，Spring还没有提供这种功能。</p><img src ="http://www.blogjava.net/welkinhu/aggbug/116668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-05-11 10:00 <a href="http://www.blogjava.net/welkinhu/archive/2007/05/11/116668.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网上邻居无法访问问题汇集（转）</title><link>http://www.blogjava.net/welkinhu/archive/2007/05/10/116599.html</link><dc:creator>Welkin Hu</dc:creator><author>Welkin Hu</author><pubDate>Thu, 10 May 2007 13:48:00 GMT</pubDate><guid>http://www.blogjava.net/welkinhu/archive/2007/05/10/116599.html</guid><wfw:comment>http://www.blogjava.net/welkinhu/comments/116599.html</wfw:comment><comments>http://www.blogjava.net/welkinhu/archive/2007/05/10/116599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/welkinhu/comments/commentRss/116599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/welkinhu/services/trackbacks/116599.html</trackback:ping><description><![CDATA[<h4>Windows网上邻居互访的基本条件 <br><br>1) 双方计算机打开，且设置了网络共享资源；<br>2) 双方的计算机添加了 "Microsoft 网络文件和打印共享" 服务；<br>3) 双方都正确设置了网内IP地址，且必须在一个网段中；</h4>
<h4>4) 双方的计算机中都关闭了防火墙，或者防火墙策略中没有阻止网上邻居访问的策略。<br><br><br><br>Windows 98/2000/XP/2003访问XP的用户验证问题<br><br><br><br>首先关于启用Guest为什么不能访问的问题：<br><br><br><br>1、默认情况下，XP 禁用Guest帐户<br><br><br><br>2、默认情况下，XP的本地安全策略禁止Guest用户从网络访问<br><br><br><br>3、默认情况下，XP的 本地安全策略 -&gt; 安全选项 里，"账户：使用空密码用户只能进行控制台登录"是启用的，也就是说，空密码的任何账户都不能从网络访问只能本地登录，Guest默认空密码......<br><br><br><br>所以，如果需要使用Guest用户访问XP的话，要进行上面的三个设置：启用Guest、修改安全策略允许Guest从网络访问、禁用3里面的安全策略或者给Guest加个密码。 <br><br><br><br>有时还会遇到另外一种情况：访问XP的时候，登录对话框中的用户名是灰的，始终是Guest用户，不能输入别的用户帐号。<br><br><br><br>原因是这个安全策略在作怪（管理工具 -&gt; 本地安全策略 -&gt; 安全选项 -&gt; "网络访问：本地帐户的共享和安全模式"）。默认情况下，XP的访问方式是"仅来宾"的方式，那么你访问它，当然就固定为Guest不能输入其他用户帐号了。<br><br><br><br>所以，访问XP最简单的方法就是：不用启用Guest，仅修改上面的安全策略为"经典"就行了。别的系统访问XP就可以自己输入帐户信息。<br><br><br><br>至于访问2003，默认情况下2003禁用Guest，但是没有 XP 那个讨厌的默认自相矛盾的来宾方式共享，所以可以直接输入用户名密码访问。<br><br><br><br>一个小型办公局域网，都是winxp系统，都能上外网，也能看到对方计算机，却不能看到对方共享的计算机提示网络路径不正确，或你没有权限使用网络大概就是这个意思 我记的不太清楚！！来宾帐户我也启用了！winxp的防火墙也是关闭的，ip地址也没什么问题！！<br><br><br><br>原因：Win2000/XP中存在安全策略限制。<br><br><br><br>有时，Win2000/XP"聪明"过了头，虽然我们已经启用了Guest账户，从Win98中却仍然无法访问Win2000/XP，比如使用了类似瑞星等的防火墙漏洞修补，它会修改"拒绝从网络访问这台计算机"的策略，按下面的方法修改回来：<br><br><br><br>开始 -&gt; 运行 -&gt; gpedit.msc -&gt; 计算机配置 -&gt; windows设置 -&gt; 本地策略 -&gt; 用户权利分配 -&gt; 删除"拒绝从网络访问这台计算机"中的guest用户。<br><br><br><br>Win2000/XP与Win98互访<br><br><br><br>如果两台电脑都使用Win2000/XP操作系统，那么组建局域网是一件非常简单轻松的事情，当硬件连接完成后，正常情况下立即可以在"网上邻居"中看到对方。但如果局域网中有一台电脑使用Win98，那情况可就不一定了，我们经常会发觉虽然Ping命令可以通过，但仍然无法在"网上邻居"中实现互访，这时该怎么办呢？ <br><br><br><br><br>对策一：在Win2000/XP中启用Guest用户。在Win2000/XP系统安装之后会缺省建立两个用户账户，即Administrator（系统管理员）和Guest（来宾账户），所有在本地计算机没有被分配到账户的用户都将默认使用Guest账户，该账户是没有密码的。不过，在缺省设置下，这个Guest账户并未被启用，我们可以从"控制面板|管理工具|计算机管理|本地用户和组|用户"中找到 "Guest"账户，并用鼠标右击打开"Guest属性"对话框，去除这里的"账户已停用"复选框上的对钩标记，这样退出后就可以从Win98中访问到 Win2000/XP了。<br><br><br><br>其实，启用了Guest账户后，最大的好处是从Win98访问Win2000/XP时就不需要输入用户名和密码了，这种方法比较适合于用户不确定、访问量较大的局域网，但对家庭用户来说并不适用。 <br><br><br><br>对策二：检查Win2000/XP中是否存在安全策略限制。有时，Win2000/XP"聪明"过了头，虽然我们已经启用了Guest账户，从 Win98中却仍然无法访问Win2000/XP，这时就要从"控制面板|管理工具|本地安全策略|本地策略|用户权利指派"中找到"从网络访问此计算机 "或者"拒绝从网络访问这台计算机"，然后检查一下其中是否出现了Guest账户或者其他对应的账户，然后根据不同情况进行添加或者删除即可。<br><br><br><br>对策三：停用本地连接上的防火墙。防火墙是充当网络与外部世界之间的保卫边界的安全系统，微软在WinXP中为用户提供了一个内置的Internet连接防火墙（ICF），启用后可以限制某些不安全信息从外部进入内部网络。不过，如果您是在本地连接上启用了这个防火墙，那么就会造成工作组之间无法互访，出现"XXX无法访问"、"您可能没有权限使用网络资源"、"请与这台服务器的管理员联系以查明您是否有访问权限"、"找不到网络路径"等类似的提示，此时请停用本地连接的防火墙屏蔽。<br><br><br><br>对策四：为WinXP添加NetBEUI协议。其实，直接添加NetBEUI协议对于解决不能互访的问题有时反而更为简单一些，而且它可以解决上面提到的启用防火墙的问题。Win98安装时会自动安装NetBEUI协议，但由于WinXP已经不再提供对NetBEUI协议的技术支持，因此只能手工添加了。<br><br><br><br>找出WinXP安装光盘，进入"valueadd\Msft\Net\ Netbeui"文件夹下，这里有Nbf.sys、Netbeui.txt、Netnbf.inf共3个文件，先将Nbf.sys文件复制到本机的 "Windows\System32\Drivers"文件夹下（这里的本机指安装了WinXP的那台电脑），再将Netnbf.inf文件复制到本机的 "Windows\INF"文件夹下，Netbeui.txt文件可有可无。不过， INF文件夹具有隐藏属性，用户需要先在WinXP下的"工具|属性"窗口中选择显示文件才可以看到该目录。<br><br><br><br>对策五：启用 Win98中的"文件及打印机共享"。这是一个很简单但却经常被人忽略的问题，就是装有Win2000/XP的机器虽然可以从"网上邻居"中发现装有 Win98的机器，但却无法访问，这是因为Win98未启用"允许其他用户访问我的文件"而造成的，启用该选项就可以解决这个问题。<br><br><br><br>当然，除了上面提到的各种原因外，还有两台电脑不处于同一工作组中，或者是两台电脑的内部IP地址发生了冲突，甚至包括Hub故障、线路故障等。</h4>
<img src ="http://www.blogjava.net/welkinhu/aggbug/116599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/welkinhu/" target="_blank">Welkin Hu</a> 2007-05-10 21:48 <a href="http://www.blogjava.net/welkinhu/archive/2007/05/10/116599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>