﻿<?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-passyt</title><link>http://www.blogjava.net/passyt/</link><description>&lt;/br&gt;&lt;font color="#6faf30" &gt;没有做不到只有想不到&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;a href="javascript:window.external.AddFavorite('http://www.blogjava.net/passyt/','与笑凌的博客')"&gt;&lt;font color="#6faf30"&gt;加入收藏夹&lt;/font&gt;&lt;/a&gt;
&lt;font color="#6faf30" size="1"&gt;在线人数:1
&lt;!--
&lt;script src=http://fastonlineusers.com/online.php?d="passyt"&gt;&lt;/script&gt;
--&gt;
人&lt;/font&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 14 Oct 2008 11:16:47 GMT</lastBuildDate><pubDate>Tue, 14 Oct 2008 11:16:47 GMT</pubDate><ttl>60</ttl><item><title>ant--项目自动发布</title><link>http://www.blogjava.net/passyt/archive/2007/11/12/159979.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Mon, 12 Nov 2007 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2007/11/12/159979.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/159979.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2007/11/12/159979.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/159979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/159979.html</trackback:ping><description><![CDATA[        很久没来了，昔日找工作的一幕幕在眼前渐渐淡去。回首这一年多走过的路，没有太多的惊奇，却也积累了不少有趣的事情，这个找个机会可以整理出一篇趣事集锦。<br />         现在被公司外派，期间经常要上传代码集成测试，而上传的速度简直和蜗牛一样快，好的是管理Source的Server和application的Server是一台，于是我凭着昔日对ant的一点模糊映像和google的大力帮助下，整理出了一套自动发布项目的ant脚本。主要有2个文件:build.xml和build.properties,需要的朋友可以参考一下。<br />build.xml:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</span><span style="COLOR: #0000ff">?&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">project </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Nitto"</span><span style="COLOR: #ff0000"> default</span><span style="COLOR: #0000ff">="compile"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">file</span><span style="COLOR: #0000ff">="build.properties"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 指定编译所需的lib </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">path </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="all-libs"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">fileset </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${lib.dir}"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="**/*.jar"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="${tomcat.dir}/**/*.jar"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">exclude </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="poi*2.5.1*.jar"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">fileset</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">path</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 清除临时文件夹 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="clean"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">delete </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${temp.dir}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 编译项目 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="compile"</span><span style="COLOR: #ff0000"> depends</span><span style="COLOR: #0000ff">="clean"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 建立临时文件夹 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">mkdir </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${temp.dir}/${tomcat.project}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> copy文件 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">copy </span><span style="COLOR: #ff0000">todir</span><span style="COLOR: #0000ff">="${temp.dir}/${tomcat.project}"</span><span style="COLOR: #ff0000"> preservelastmodified</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">fileset </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${basedir}/${cvs.project}/${myProperject.name}"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="**/*.*"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">fileset</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">copy</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 建立编译文件夹 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">mkdir </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${class.dir}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 编译JAVA </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">javac </span><span style="COLOR: #ff0000">destdir</span><span style="COLOR: #0000ff">="${class.dir}"</span><span style="COLOR: #ff0000"> source</span><span style="COLOR: #0000ff">="${java.source}"</span><span style="COLOR: #ff0000"> target</span><span style="COLOR: #0000ff">="${java.target}"</span><span style="COLOR: #ff0000"> encoding</span><span style="COLOR: #0000ff">="utf-8"</span><span style="COLOR: #ff0000"> debug</span><span style="COLOR: #0000ff">="${debug}"</span><span style="COLOR: #ff0000"> deprecation</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #ff0000"> fork</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> memoryMaximumSize</span><span style="COLOR: #0000ff">="512m"</span><span style="COLOR: #ff0000"> optimize</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #ff0000"> failonerror</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">src </span><span style="COLOR: #ff0000">path</span><span style="COLOR: #0000ff">="${src.dir}"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">classpath </span><span style="COLOR: #ff0000">refid</span><span style="COLOR: #0000ff">="all-libs"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">javac</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 拷贝properties,xml,vm文件 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">copy </span><span style="COLOR: #ff0000">todir</span><span style="COLOR: #0000ff">="${class.dir}"</span><span style="COLOR: #ff0000"> preservelastmodified</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">fileset </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${src.dir}"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="**/*.properties"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="**/*.xml"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="**/*.vm"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">fileset</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">copy</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 拷贝项目到tomcat的webapps中 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="copyProjectToTomcat"</span><span style="COLOR: #ff0000"> depends</span><span style="COLOR: #0000ff">="compile,backProject"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">delete </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${tomcat.webapp.dir}/${tomcat.project}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">copy </span><span style="COLOR: #ff0000">todir</span><span style="COLOR: #0000ff">="${tomcat.webapp.dir}/${tomcat.project}"</span><span style="COLOR: #ff0000"> preservelastmodified</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">fileset </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${temp.dir}/${tomcat.project}"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">include </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="**/*.*"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">fileset</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">copy</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">delete </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${temp.dir}/${tomcat.project}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 备份旧的项目 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="backProject"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">tstamp</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">delete </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${tomcat.webapp.dir}/${tomcat.project}_back_${DSTAMP}.zip"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">zip </span><span style="COLOR: #ff0000">destfile</span><span style="COLOR: #0000ff">="${tomcat.webapp.dir}/${tomcat.project}_back_${DSTAMP}.zip"</span><span style="COLOR: #ff0000"> basedir</span><span style="COLOR: #0000ff">="${tomcat.webapp.dir}/${tomcat.project}"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">zip</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">delete </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${tomcat.webapp.dir}/${tomcat.project}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 停止tomcat </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="stopTomcat"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">exec </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${tomcat.dir}/bin"</span><span style="COLOR: #ff0000"> executable</span><span style="COLOR: #0000ff">="cmd.exe"</span><span style="COLOR: #ff0000"> os</span><span style="COLOR: #0000ff">="Windows 2003"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">arg </span><span style="COLOR: #ff0000">line</span><span style="COLOR: #0000ff">="/c shutdown.bat"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">exec</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 启动tomcat </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="startTomcat"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">exec </span><span style="COLOR: #ff0000">dir</span><span style="COLOR: #0000ff">="${tomcat.dir}/bin"</span><span style="COLOR: #ff0000"> executable</span><span style="COLOR: #0000ff">="cmd.exe"</span><span style="COLOR: #ff0000"> os</span><span style="COLOR: #0000ff">="Windows 2003"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">arg </span><span style="COLOR: #ff0000">line</span><span style="COLOR: #0000ff">="/c startup.bat"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">exec</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="publish"</span><span style="COLOR: #ff0000"> depends</span><span style="COLOR: #0000ff">="checkout,copyProjectToTomcat"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 生成CVS连接的权限信息 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="initcvs"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">cvspass </span><span style="COLOR: #ff0000">cvsroot</span><span style="COLOR: #0000ff">="${cvsroot}"</span><span style="COLOR: #ff0000"> password</span><span style="COLOR: #0000ff">="${cvs.password}"</span><span style="COLOR: #ff0000"> passfile</span><span style="COLOR: #0000ff">="${cvs.passfile}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000"> 从CVS SERVER上取的项目 </span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">target </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="checkout"</span><span style="COLOR: #ff0000"> depends</span><span style="COLOR: #0000ff">="initcvs"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">cvs </span><span style="COLOR: #ff0000">cvsroot</span><span style="COLOR: #0000ff">="${cvsroot}"</span><span style="COLOR: #ff0000"> command</span><span style="COLOR: #0000ff">="checkout"</span><span style="COLOR: #ff0000"> package</span><span style="COLOR: #0000ff">="Nitto"</span><span style="COLOR: #ff0000"> dest</span><span style="COLOR: #0000ff">="${basedir}"</span><span style="COLOR: #ff0000"> passfile</span><span style="COLOR: #0000ff">="${cvs.passfile}"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">target</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">project</span><span style="COLOR: #0000ff">&gt;</span></div>build.properties:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">basedir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">.<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#tomcat properties<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />tomcat.project</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Nitto_1<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />tomcat.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">C:/tomcat<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#tomcat.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">C:/tomcat<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />tomcat.lib.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${tomcat.dir}/common/lib<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />tomcat.webapp.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${tomcat.dir}/webapps<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#CVS properties<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />cvs.project</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Nitto<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />cvs.passfile</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${basedir}/ant.cvspass<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />cvs.password</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">nchhr<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />cvsroot</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">:pserver:administrator:${cvs.password}@</span><span style="COLOR: #000000">169.93.1.16</span><span style="COLOR: #000000">:/SourceCVS<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#project properties<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />myProperject.name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Nittoweb<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#complie properties<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#######################<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />debug</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">on<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />java.source</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1.4</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />java.target</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1.4</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />temp.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${basedir}/temp<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />lib.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${basedir}/${cvs.project}/${myProperject.name}/WEB-INF/lib<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />src.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${basedir}/${cvs.project}/src<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />class.dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">${temp.dir}/${tomcat.project}/WEB-INF/classes</span></div><img src ="http://www.blogjava.net/passyt/aggbug/159979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2007-11-12 15:33 <a href="http://www.blogjava.net/passyt/archive/2007/11/12/159979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>海上杂感</title><link>http://www.blogjava.net/passyt/archive/2007/03/17/104051.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Sat, 17 Mar 2007 02:26:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2007/03/17/104051.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/104051.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2007/03/17/104051.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/104051.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/104051.html</trackback:ping><description><![CDATA[    弹指之间，来上海已经9个月了，上个星期与老崔碰面才突然觉得那小子也在上海呆了3个月啦，稍做小憩，不免觉得自己在上海呆得有些冤枉和憋屈。现在经常能碰到一些找工作的小朋友，大约是应了我的深圳之旅而来，其中不乏想做IT的女孩子，有时我觉得自己似乎有点好笑，居然一边苦口婆心的劝别人不要做IT而一边在近乎疯狂的IT,末了，还美其名曰对兴趣的“执着”！！<br />    回想毕业之时的我，真的有一种吓一条的感觉，记得毕业前一哥们问我打算到哪里发展，我愣是半天没有反映过来，经历了深圳的失败，人似乎变得有些脆弱，何去何从在那一刻犹成了一条滑不溜湫的鱼在脑海中左摇右晃，任凭你怎么卖力却如何也抓不住它。当时只是觉得，深圳、武汉都跑过了，剩下的就只有杭州跟上海了。后来，上海来了电话，于是我就到了上海。现在回想，假如当初从深圳晚回一会学校，说不准现在正和大熊在深圳的某个电玩城PK；又假如不是傻蛋也要来上海，我想十之八九我是铁定会去杭州的，于是极大的可能就没有这篇海上杂感了，而如果在最后的那一刻我急急忙忙的应了杭州的面试，我想在上海的时间将从现在的9个月急剧的减少为9天！呵，假如没有这么多的假如，我就成了现在的我了……<br />  <br />    一、贱卖自己<br />    到上海之后的第十天，我接到了录取通知，一切在那一刻尘埃落定，第二天就在一破纸文件上签了自己的大名，为了那几锭破银子将自己卖掉了，于是就过上了“拿青春换大米”(我一QQ朋友的网名，现在拿来借用一下哈)的日子。当初签名时几乎没有怎么多想，只是“琢磨着有了大米之后怎么花”以及“盘算着半年之后就可以除去这一身的应届毕业生破衣裳”，人，就是这么没出息！<br />    <br />    二、工作<br />    做上了自己一直想做的事情难道不是一种幸福吗？谁晓得呢？！<br />    现在还记得自己第一件要做的事情是写段时间格式化的js。<br />   入职的第一个星期就产生了一个很大的疑问：自己是真的适合做IT吗？为这个问题，我整整思考了一个星期，最后在不了了之中随便找了个借口搪塞了自己，从此在工作中慢慢的适应，变得麻木，真是苦了那些敏感的CELL,还没有发育成熟就被扼杀在摇篮中！<br /><br />   三、日本及日本人<br />   估计还是花朵的时候就产生了对一个民族的敌意，这种感觉随着电影中的片段慢慢升华，直至高中时学校买的一台日式复印机的铁的教训，“狡猾、阴险、野蛮”就一直尘封于思想的某个角落。等到了大学，当我接触WE和听于世伟讲座时，慢慢开始觉得日本这个民族有着一些需要我们学习和借鉴的地方，但是当时对日本的感观并没有很大的变化，后来和在日企工作的舅舅闲聊，又产生了对日本“呆板”的印象。还没来得及深入回味，一不小心就进到了现在工作的日企。日本可以从战败和原子弹的阴影中快速恢复，不可否认有其积极和肯定的一面，但“决不可能”在IT上取得同样的长久的成功！日本人有着强烈的敬业精神、极度的服从心理、暴强的霸权主义以及不可思议的团结思想，但是他们最最缺乏的是核心的“创新”精神！日本是个把结果看得比过程重要的民族，这点可以从日语的句子结构窥出一斑，他们可能永远注重结果和责任。“敬业而服从”的日本人会一丝不苟的反反复复的履行他所承担的“义务”，但是中国人是如何也做不到的！在日企，老板需要的是“绝对效率”，因此在日本工作的中国人几乎没有一个能体会出学到了很多东西，因为可怜的我们只是一个“代码民工”，高级与否的分别只是做事的快慢而已！而且日本的IT企业最会做的事情大约是写一些名目繁多的极不容易维护的EXCAL文档，殊不知在开发前期需要进行时间成本和经济成本估算，用一次次的项目经验逐渐找到一些减少开发陈本的方法、策略和工具。“软件=情报”曾是我听到的最可笑的言论，如果没有根本的“创新”，我想日本的软件就只会停留于MIS！而现在日本外包项目为何会如此众多，我想很大程度上是因为日本的保守主义和团结精神，因为和欧美IT企业相比，把项目交给日本IT企业明显投入的更多！<br /><br />   四、规划<br />   ……<br /><br />   五、梦想<br />   能做好一件别人不曾做过的事情！！<br />   现在编程语言元素的最高级别是CLASS，倘若有一种语言直接将SYSTEM作为关键字，以后所有的系统是N个小SYSTEM以拔插的方式组织。这就好比一个普遍的现象：生产一件产品，部分零件是从其它地方采集，并不是自己生产，这样就把代码的重复程度抽象成了系统级别，比如一个登录子系统可以从重多的开源系统中找一个合适的即可，这样代码的重复利用就从类级别上升到了系统级别。以后的编程人员很可能只是侧重于子系统的采集和对整体系统的规划蓝图上，岂不惬意！后来深入思考，觉得这种新的语言一定要是弱语言，而且以后的系统绝不能以现在的以数据库为中心的组织方式，那么将采用何种方式呢？~~~~~~~~~~~~<img src ="http://www.blogjava.net/passyt/aggbug/104051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2007-03-17 10:26 <a href="http://www.blogjava.net/passyt/archive/2007/03/17/104051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IT成功学</title><link>http://www.blogjava.net/passyt/archive/2006/10/11/74512.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Wed, 11 Oct 2006 03:47:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/10/11/74512.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/74512.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/10/11/74512.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/74512.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/74512.html</trackback:ping><description><![CDATA[最近一直在思考一个问题，当我们开发出了一套软件的时候如何定义是否成功：<br />项目经理：<br />    满足了用户的需求，并且还给用户带来了惊喜！<br />架构师：<br />    系统的架构能轻易的应对用户需求的变化－－系统能非常容易的并入新的功能和删除旧的功能！<br />PG:<br />    绝大部分的业务逻辑的代码写的很精炼，而且需求发生变化时修改的代码尽可能的少！<br /><br />欢迎大家批评指正！！<br /><img src ="http://www.blogjava.net/passyt/aggbug/74512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-10-11 11:47 <a href="http://www.blogjava.net/passyt/archive/2006/10/11/74512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>玩玩ruby之路在脚下——新手入门篇</title><link>http://www.blogjava.net/passyt/archive/2006/10/08/73882.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Sun, 08 Oct 2006 10:07:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/10/08/73882.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/73882.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/10/08/73882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/73882.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/73882.html</trackback:ping><description><![CDATA[    终于下定决心，学习ruby了，对这种新的语言感到很是兴奋。压抑住内心的喜悦简单介绍一下它的下载安装方式。<br />（1）下载地址：<br />    http://www.rubyonrails.org/down<br />    我使用的系统是windows，自然是选择<a href="http://rubyforge.org/frs/?group_id=167">Windows installer</a><br />    ruby在我看来很多地方都不太成熟，就拿安装方式来说，缺少图形化的指引界面，据说以前的安装方式更加愚蠢，还好有了RubyGems的出现，一切变得有些简单了。<br />（2）安装<br />    1.安装ruby<br />        最直接的安装方式了，一直next到最后结束为止（最新的版本是 1.8.4 (2006-04-14)）。<br />    2.安装RubyGems<br />        在命令行中运行“ruby setup.rb”即可<br />    3.安装rails<br />        有了rubygems的帮助，安装rails就变得简单些了。启动命令行窗口，输入“gem install rails –remote”，剩下的时间就是等待，由于这是采用在线安装，所以安装的速度就取决于你的网速了，呵呵。<br />    学java时就习惯了操作dos窗口，所以对这种往往要操作命令行的方式并没有太大的排斥，倒是那些.net的新手会有些不适应，毕竟一个新的平台还需要很多的人来支持，想当初java的使用往往也是通过操作命令行的。<br /><br />（3）简单的使用一下ruby<br />    装完了之后，你一定和我一样迫不及待的想尝试一下ruby的魅力所在。但是先不要急，首先确认一下ruby是否已经真正的安装成功。启动命令行，输入“ruby -v”，如果得到的信息类似如下：<br />    <font color="#ff1493">ruby 1.8.4 (2006-04-14) [i386-mswin32]<br /></font>说明你的系统中已经可以使用ruby了。<br />    好的，让我们来初步接触一下ruby。这个时候大多数人想到的是写一个hello,world的程序了解一下ruby的基本语法，呵呵，其实不用的，在命令行中输入：<br />    <font color="#ff1493">ruby<br />    print "hello,world!"<br />    ^D</font><br />这个时候就可以见到大家熟悉的"hello,world"了。发现了ruby的神奇了吧，不错，ruby作为一种脚本语言具有很独特的魅力。当然了，你也何以定制自己的ruby程序的，新建一个文件，取名为test.rb,输入以下内容：<br />        <font color="#ff1493">print("测试")</font><br />    好了，将命令行转至test.rb所在的目录，输入test，就可以看到ruby输出中文"测试"了。<br />    结束了无聊的事情之后，让我们开始真正的了解ruby，结合自己的所学，这里重点介绍一下ruby和java在语法上的不同:<br />    &lt;1&gt;字符串：<br />        java中的字符串一律用""来表示，''只是用来描述字符的，在ruby中""和''都是来表示字符串的，所不同的是""所表示的字符串会经过转义处理，比如print "\n测试"，输出的结果是：<br /><font color="#ff1493"><br />    测试</font><br />而print '\n测试',输出的结果是：<br /><font color="#ff1493">    \n测试</font><br />从上面的代码可以简单看出在""中"\n"被用作了换行，而在''中"\n"被作为了一般的字符串处理。<br />    &lt;2&gt;变量作用域的声明:<br />    &lt;3&gt;特殊的数组:<br />    java中的数组元素类型必须是一样的，在ruby中，他们可以是不一样的。比如可以这样定义一个数组：<font color="#ff1493"><br />    a=[2000," Allex", true,"50"] </font><br />    数组元素的引用也很特别，a[0]很显然吧，那么a[0,2]呢，还有a[0..2]呢，呵呵，写一段代码测试一下哈：<br />    <font color="#ff1493">print a[0,2]                <font color="#000000">结果是：        2000allex<br />    <font color="#ff1493">print a[0..2]                </font></font></font><font color="#ff1493"><font color="#000000">结果是：        2000allextrue<br />    a[0,2]相当于substring,但是又和java中的substring不一样，它的使用和oracle中的substr是完全一样的，后面的2指子串的长度；a[0..2]意思是指从0到2的元素，呵呵，有点神奇吧，还有更神奇的事情呢，a[-1]是什么呢？呵呵，测试发现a[-1]打出来的是50,有此可见，ruby中对数组的引用可以采用负数，区别是反向引用，这为我们有时编程带来了极大的便利。那么这种引用方式是否会避免让人深恶痛绝的越位异常呢，写段代码测试先：<br />    <font color="#ff1493">print a[4]</font>             结果是:    nil<br />    <font color="#ff1493">print a[-5]</font>                结果是：   nil <br />    这里打印的nil就是和java中的null是一个意思呀，完全明白了吧，也发生了让人讨厌的越位异常，55～～<br />    &lt;4&gt;</font></font><font color="#ff1493"><font color="#000000">哈希表<br />    哈希表作为一种极为常见的数据形式自然是得到了ruby的支持，写段代码简单说明下：<br />    </font>h = {1 =&gt; 2, "2" =&gt; "4"}<br />    print h[1]<br />    print h["2"]<br />    pring h[2]<br /></font><font color="#ff1493"><font color="#000000">打印出的结果是：24nil，所以千万不要搞混了，[]中的是key,不要和数组混淆了。<br />（4）ruby的神奇之处：<br />    &lt;1&gt;万物皆对象：<br />        和java中的基本类型不一样的是，ruby中的所谓基本类型也是对象（具有属性和行为），举个例子，-1在java中是基本类型，为了获得它的绝对值，需要如下调用Math.abs(-1)，这里的处理完全是一种非对象的方式，在ruby中这些“基本类型”也是对象，它们和其它的对象没有任何区别，因此作为对象的-1完全有理由知道自己的绝对值，哈哈，所以如下调用-1.abs()是完全正确的。<br />    &lt;2&gt;聪明的ruby<br />        在java中如果要把"abs"翻倍成"absabs",需要比较复杂的逻辑，而在ruby中只需"abs"*2即可。<br />    &lt;3&gt;超长的数字支持能力<br />        ruby可以处理的数字长度惊人，写个例子描述一下哈：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">def jiecheng(n)<br />    </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> n</span><span style="color: rgb(0, 0, 0);">==</span><span style="color: rgb(128, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"><br />        </span><span style="color: rgb(128, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"><br />        n</span><span style="color: rgb(0, 0, 0);">*</span><span style="color: rgb(0, 0, 0);">jiecheng(n</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(128, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">)<br />    end<br />end<br /></span><span style="color: rgb(0, 0, 255);">print</span><span style="color: rgb(0, 0, 0);"> jiechen(</span><span style="color: rgb(128, 0, 0);">700</span><span style="color: rgb(0, 0, 0);">)</span></div>这里是计算700的阶乘，显示的结果如下：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">24220401247502721798678750938123522185909833857292072994506796649299381602156474</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">20444519051666484819249321456671497049842327525093874817343838393757631459228450</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">82849997227127414016031105783055846363633712407933244782073928110103711266538753</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">71807902575779192731082629169047504052350550600840122194928923756351362966220200</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">23178109619818046179906897450420548912610870589088056503913584562211037693288782</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">96090019507413099979903597071143627933909429203286626049637582546142772755571000</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">30077529061414706395743900249885149142644498650064588732269519418995459703339103</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">51588559232940829569276986080222200289966128343931630028789203382654749603473516</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">31476526277225717115468671686281418472874118714793634950165319745745566041313450</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">60491220449470526233846820888647906733095692923842156117880142749549059141483623</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">03226200246816441301934846080254998647325270606104512088058712293349862185399243</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">30905429957638171880624723819523260464261432989407063616375367209123275161237834</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">82738407578735677175328792425183371195406029436094116293490095660437208367374010</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">90882392975031224612531245642687296717053747734506443314924558119560479901478736</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">20955692516151773711039975473055185406632842001472865789628693652378708020647632</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">71571364413187734327510072631080569582516938112809572432024601571117786174726837</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">61623869704457588005158037495665069625778930898095725794710701639238231528115579</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">61912028737868923893433519850866593391725714397527770759059751198934506870173594</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">01696725618647131071150167473689926901160826337621723466889698408625172643840000</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">00000000000000000000000000000000000000000000000000000000000000000000000000000000</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">00000000000000000000000000000000000000000000000000000000000000000000000000000000</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 0);">0000000000</span></div><br />（5）ruby之根本：<br />    Ruby是一种简便快捷的面向对象编程的脚本语言.Ruby可以(像Perl一样)进行文本处理及系统管理,其功能十分丰富.同时,Ruby简单易懂,便于扩充.<br />    Ruby有下列特点.<br />    &lt;1&gt;解释器 <br />        Ruby是解释型语言,因此执行程序时无需编译.<br />    &lt;2&gt;变量无类型(动态地确定类型) <br />        Ruby的变量可以接收各种类型的数据,因此没有必要担心变量类型的问题.另一方面,这弱化了编译检查的功能.<br />    &lt;3&gt;无需声明变量 <br />        Ruby中无需声明变量即可使用.可以根据变量名分辨变量的种类(局部变量,全局变量,实例变量等).<br />    &lt;4&gt;内存管理无需用户干预 <br />        Ruby自动进行内存管理.解释器内置的垃圾回收器会自动回收不再使用的对象.<br />    &lt;5&gt;一切都是对象 <br />        从一开始Ruby就被设计成为纯粹的面向对象语言.包括整数这种基本的数据类型在内所有数据都被看是对象,进而得到统一的处理.<br />    &lt;6&gt;类，继承，方法 <br />        Ruby当然具有面向对象语言的基本功能,包括类，继承和方法等.<br />    &lt;7&gt;特殊方法 <br />        可向某对象添加方法.例如，可以把GUI按钮被按下时的动作作为方法记述下来，还可以用它来进行原型库（prototypebase）的面向对象编程（只要您想这样的话）.<br />    &lt;8&gt;使用模块进行糅合（Mix-in） <br />        Ruby认为多重继承会导致问题复杂化,因此故意舍弃了多重继承,但可以使用模块超越类的界限来共享数据和方法等.这就是"Mix-in"糅合功能<br />    &lt;9&gt;迭代器 <br />        迭代器功能可以将流程控制结构抽象化.<br />    &lt;10&gt;闭包 <br />        可以将某过程片段对象化,对象化后的该过程片段就称作闭包.<br />    &lt;11&gt;功能强大的字符串操作／正则表达式 <br />        以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能.<br />    &lt;12&gt;超长整数 <br />        内置了处理超长整数的功能,所以只要内存允许就可以计算非常大的整数.例如计算400的阶乘等也轻而易举.<br />    &lt;13&gt;异常处理功能 <br />        异常处理功能可以使您编写代码处理异常情况.<br />    &lt;14&gt;可以直接访问OS <br />        Ruby可以使用（UNIX的）绝大部分的系统调用.即使单独使用Ruby也可以进行系统编程.<br />    &lt;15&gt;动态加载 <br />        若OS支持的话,可以在运行时读入对象文件.<br /></font></font><font color="#ff1493"><font color="#000000"><br />本篇完，敬请关注下篇：ruby on rails<br /></font></font><img src ="http://www.blogjava.net/passyt/aggbug/73882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-10-08 18:07 <a href="http://www.blogjava.net/passyt/archive/2006/10/08/73882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>偶要学日语鸟</title><link>http://www.blogjava.net/passyt/archive/2006/09/22/71326.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Fri, 22 Sep 2006 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/09/22/71326.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/71326.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/09/22/71326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/71326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/71326.html</trackback:ping><description><![CDATA[先发张五十音图先<br /><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">あいうえお</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 12pt; font-family: &quot;MS Mincho&quot;;">アイウエオ</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">かきくけこ</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">さしすせそ</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">たちつてと</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">なにぬねの</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">はひふへほ</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">まみむめも</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">や　ゆ　よ</span><span style="font-size: 24pt;" lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">らりるれろ</span></p><p class="MsoNormal" style="text-align: center;" align="center"><span style="font-size: 24pt; font-family: &quot;MS Mincho&quot;;">わ　　　を</span></p><p class="MsoNormal" style="text-align: center;" align="center"><font size="6">ん　　　　</font></p>未完，待续……



<img src ="http://www.blogjava.net/passyt/aggbug/71326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-09-22 15:11 <a href="http://www.blogjava.net/passyt/archive/2006/09/22/71326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>冬歇期，写点小文</title><link>http://www.blogjava.net/passyt/archive/2006/09/20/70814.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Wed, 20 Sep 2006 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/09/20/70814.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/70814.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/09/20/70814.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/70814.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/70814.html</trackback:ping><description><![CDATA[    很长时间没有更新blog了，不是我懒惰，是因为我要学的东西实在是太多了，而且还要工作，留给自己的空闲时间实在是少之又少。特别是有个星期，感觉每时每刻我都在思考着某个功能如何在尽量少改原有的代码下完成新的功能的并入以及修改，有时真的感到自己处于一种麻木的状态，短暂的休息之后有时会油生出对原来写这代码的人的痛恨，垃圾的代码让我实在是没有战斗的情趣！但，这些都会随着时间慢慢淡忘，于是只是想着自己该如何很快的将问题解决掉，几乎没有考虑过我一直所关心的代码优雅性、可塑性以及简单主义，我是不是在一条不明的道路上逐渐地迷失自我。<br />    从大二开始真正的编程，经历了一段还算艰苦的找工作历程，也经历了两个多月的尘埃落定之后整天沉静于工作的感动，但当我有一天真正的静下心来，突然发现自己的所学是一塌糊涂。<br />    首先是对众多的技术产生了从未有过的迷失。我是一个JAVA爱好者，记得自己还没有毕业时和同学争论JAVA的优势，“JAVA有广大的开源用户支持，JAVA是一种更加OO的语言，学习JAVA你可以真正的体会什么是编程的乐趣，而且还可以学到除编程之外其它的东西，你将从骨子里深刻的体会什么是模式，代码如何更好的组织……”，但是今天，我面对如此之多的技术框架，把自己摔入了一个很大很深的黑洞。从未学过J2EE，却从webwork和hibernate开始开发了我的第一个J2EE应用，学到了很多，也许迷失得更多。当我了解到webwork比struts更先进得地方，当看到robbin大胆的采用webwork架构javaeye，当rod在“without ejb”中表扬webwork批评struts，我暗自窃喜，感觉我的老师指导了一条明朗的路，至少是一种技术上没有落后的路，我曾一度以为我的webwork技术是抓住了先机，将来可以派上很大的用途!但是，我错了。我几乎从没有过这种挫败感，我以为webwork会凭借它强大的优势将取代struts，而从我真正工作的那一刻开始，我就在南辕北辙的道路上迷失了，我为了融入团队努力地学习让我鄙视的struts，而且在空余时间极力吸取着webwork的新的理念，但有一天，当我的队友问我webwork有什么优点时，我尽管历数了好几个众所周知的理由，但就在那一刻我感到了一种被摔倒的感觉。优秀的框架有很多，象springMVC，难道在公司的项目中就要用到吗？我并没有真正的完整的阅读webwork的源码，也就没有从根本上了解它的内部机理，只是从别人的口中转述它的优点，然后照搬照用……而除此之外，还有更多的技术需要我们去掌握去学习，WEB2.0是一个崭新的时代，许多应用将面临新的挑战，现在逐渐流行的ajax技术就是一个例子，随之而出的框架也是层出不穷，也是各有千秋，难道我们需要去一一学习吗？面对开源JAVA的空前繁荣，我感到了真正的迷茫。这样就回到了我常对人说的一句话：“语言并不是最重要的，重要的是明白它的思想”！呵呵，这其实是一个很大的标题，在许多场合都不会错，其实这忽悠了别人也忽悠了自己!如何明白语言的思想才是我们真正要把握的。当然我有时也会说，作为一个软件开发者，“除了将用户的需求转化为软件，还要给用户一些惊喜的地方才是真正意义上的软件成功”，但是作为PG的我，现在可能还没有这种能力去实现这样的思想，于是面对工作上的事情我也只好无可奈何了。<br />    其次，关于“JAVA死了”论。JAVA几乎是我唯一一项觉得可以用来侃侃的编程语言，我热爱它，也希望它能不停的发展壮大，但是面对如今各种攻势，我象一个小学生在大人的环境堆中听着那些大家诉说着自己听不懂的意见。我的项目经验极少，也希望能从项目中学到一些设计技术和技巧，但无可否认的是，我也对JAVA产生了自己的意见。JAVA太抽象了!JAVA将任何东西都封装成了一个类，作为普通PG的我最多的时候就是把别人的类拿来用在自己的开发环境中，这就是经典的“重复轮子”理论。但是，这样最大的结果是造就一大批什么都不懂但是一样可以做软件的人，象我!曾几何时，我以为自己已经掌握了JAVA的精髓可以出道了，于是我每天构思着一些新的点子，思考着如何去实现，但当一天，我想实现一个自己的拨号上网工具时，我遇到了前所未有的困难，我的第一个想法是JAVA中是否封装了一个类似的类等着我去调用，查了很多的工具书，发现我的想法是错误的，然后我自己尝试着去构造这个类，思考良久，除了调用系统命令和使用JNI外，我没有半点办法，对于后者我又碰到了巨大的麻烦，在多次努力之后我对自己说：“没用的，拨号需要写一个类似驱动程序一样的东西，而这些访问硬件的东东是JAVA很难办到的”，于是我放弃了这个IDEA，也很清晰的认识到自己是一个很大的白痴。直到一年之后，我又一次在网上看到了别人询问如何用JAVA做一个拨号软件的问题后，我从骨子里产生了对JAVA的深入思考。JAVA的确是一种很好的编程语言，在很大程度上减少了编程量，但是却让我们这些入门者产生了极大的依赖性，我们可以没有任何的TCP/IP知识却照样能写出不错的J2EE应用，但是却不能满足我们许多奇奇怪怪的想法，因为我们对许多底层的东西不了解。尽管我很早就意识到JAVA所力所不及的事情，但是我一直没办法告诉自己深入的学习功能更强大的C++,至今为止我的那本C++书只翻开了一小半。<br />    再次，对软件的应用领域也产生了一些自己的感受。大学里没有教会我有用的东西，这一直是我对上大学这四年的最大的感受，相反，参加工作之后从事于自己喜爱的职业，这种感觉慢慢淡化，开始觉得自己没有利用空闲的时间专注于我本应该深入关注的领域。作为一个PG，我们大多数只是做一个信息收集系统，很大程度上没有挖掘计算机的功能，象那些人工智能，专家系统，信息编码压缩等高端领域本该是我理应进入的领域，但是我却盲目地选择了现在的这种，而且对那些领域，我只有深深的憧憬，特别是今天看到了一个高手经过面试成功进入微软的经历更增添了我的伤楚。我发誓，不管做什么，我都要找到自己能发挥特长的路!<br /><br /><img src ="http://www.blogjava.net/passyt/aggbug/70814.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-09-20 15:30 <a href="http://www.blogjava.net/passyt/archive/2006/09/20/70814.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学着架构我的系统</title><link>http://www.blogjava.net/passyt/archive/2006/08/22/65121.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Tue, 22 Aug 2006 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/08/22/65121.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/65121.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/08/22/65121.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/65121.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/65121.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本系统极好的体现了《J2EE core patterns》中的重构思想，采用DAO模式将对数据库类型的依赖降为最低（尽管hibernate已经是这样做的了，但是我们不得不考虑Hibernate所不适用的情况，比如大批量的数据操作；而且我们还可以轻松的移植到ibatis上）；采用门面模式对外抛出一致的接口，系统的tie的概念更加突出，将系统真正的纳入了一个黑盒子，并且它与其它系统集成将更加方便；再加之Spring所独有的低依赖低侵入特性可以使得本系统得到很大的可扩充性。当然了，我的开发经验实在是太少了，所以在系统设计这道关口没办法做到最大的可扩展性，但我一直很好的遵循了OO的基本思想，针对扩展编程，不要针对实现编程！<br><br>本系统的源代码下载地址：http://heaven.mofile.com/cn/pickup（提取码：0750713135540834）或者访问http://my.mofile.com/passyt 查看共享天地<br><br><br>欢迎大家批评指正！！&nbsp;&nbsp;<a href='http://www.blogjava.net/passyt/archive/2006/08/22/65121.html'>阅读全文</a><img src ="http://www.blogjava.net/passyt/aggbug/65121.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-08-22 17:16 <a href="http://www.blogjava.net/passyt/archive/2006/08/22/65121.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>无聊</title><link>http://www.blogjava.net/passyt/archive/2006/07/22/59520.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Sat, 22 Jul 2006 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/07/22/59520.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/59520.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/07/22/59520.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/59520.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/59520.html</trackback:ping><description><![CDATA[       每逢到了周末，我就会觉得特别的无聊，这里没几个认识的人，能说说心里话的人就更加没有了。不上班的时候感觉心特别的寂寞，有时在想，换个地方，去找找老同学什么的……唉，狗日的日子。<br />      心里有点烦，为什么？都怪房东，一大早就装修什么房子，咔吱咔吱只响，搞得我周末也不能睡个好觉！！<br />      而，到了上班的时候却有时觉得是莫明其妙的迷惑，也许是累了吧，还没有真正的切入生活就有太多的不适应了！！<br />自己是真的很傻！！<br />      无聊啊……<br />      现在感觉生活没有重点，很多想做的事情在现在看来是很荒谬的，想一尽实况的手感，没有PC，没有时间；想学点新歌，没有ipod；想找个人陪陪，没有女朋友，呵呵，其实是真的没有Money啊！！上上网早就不是我这个过来人想做的事情了，不面对Eclipse的时候真的不知道还可以做些什么，现在偶尔去查下手机的行情，敢情是想买个手机先的，现在关注的是Moto的E770，觉得还可以，价格性能都还不错，仅有的那点象素我也不太在乎，我毕竟不是一个专业的摄影迷，够用就OK了。闲的时候就去下老街，很短多了也没意思了，吃点东西，添添肚子，那些稀奇古怪的东西我是没有兴趣的，等有了GF再go吧，但有点很失望，没有看到半个美女，大概是因为他们更乐意逛购物中心的原因吧,唉，没眼福了！！<br />接下来的事情是每天看代码，搞定一些小的bug，偶尔会半夜醒来，看看ajax、模式、without ejb寻找着睡意，等待着天明……<br />唉，狗日的日子！！<img src ="http://www.blogjava.net/passyt/aggbug/59520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-07-22 11:25 <a href="http://www.blogjava.net/passyt/archive/2006/07/22/59520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>上班了，找工作的旅程结束了</title><link>http://www.blogjava.net/passyt/archive/2006/07/17/58592.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Mon, 17 Jul 2006 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/07/17/58592.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/58592.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/07/17/58592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/58592.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/58592.html</trackback:ping><description><![CDATA[      来到上海大约有个10天左右，工作终于尘埃落定了，现在在一家外企工作，偶尔会加加班班，有点累但很快乐，有了一种安定下来的感觉，而且每天的生活都很充实。公司的项目已经进入了尾声，正在做集成测试，现在看看代码，基本对其架构思想有了一个大致的把握，剩下的就是处理一些细节上的问题了。同事待人也很友好，而姚小姐就象一位大姐姐一样处处照顾我，在这里工作感觉很温馨！！<br />      有空就会上网找下老同学，聊聊天，不知道他们现在都怎么样了，前些天还碰见了宗生，不知道在厦门可好？唉，一不小心就把手机给搞丢了，现在想和他们谈谈都没有机会！发哥快去巴东了吧，两年的支教生活不会磨灭一个人的热情吧？?!现在感觉没什么好写的，但愿我们都能马上找到人生的下一个栖息地！！<img src ="http://www.blogjava.net/passyt/aggbug/58592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-07-17 16:11 <a href="http://www.blogjava.net/passyt/archive/2006/07/17/58592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>人行海上</title><link>http://www.blogjava.net/passyt/archive/2006/07/06/56951.html</link><dc:creator>与笑凌</dc:creator><author>与笑凌</author><pubDate>Thu, 06 Jul 2006 06:50:00 GMT</pubDate><guid>http://www.blogjava.net/passyt/archive/2006/07/06/56951.html</guid><wfw:comment>http://www.blogjava.net/passyt/comments/56951.html</wfw:comment><comments>http://www.blogjava.net/passyt/archive/2006/07/06/56951.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/passyt/comments/commentRss/56951.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/passyt/services/trackbacks/56951.html</trackback:ping><description><![CDATA[      人行海上，捷报频传，法国先灭西班牙，后吃巴西，再收葡萄牙。法国，好样的，继续加油，冠军离你不远了！<br />      最近在上海找工作，尽管没有机会一睹法国的球技，但我一直在背后默默的支持你，曾有几次，我以为你的老迈会折服于巴西的淫威下，但我错了，你不断力克巴西，而且出人预料的干掉了凶悍的葡萄牙，继续加油，你行的你一定行！！！<img src ="http://www.blogjava.net/passyt/aggbug/56951.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/passyt/" target="_blank">与笑凌</a> 2006-07-06 14:50 <a href="http://www.blogjava.net/passyt/archive/2006/07/06/56951.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>