<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/xsl/rss.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:ppp="http://blog.sohu.com/rss/module/ppp/"
	>

	<channel>
		<title>谁主沉浮</title>
		<link>http://linguotian.blog.sohu.com/</link>
		<description><![CDATA[Striving today for better tomorrow]]></description>
		<pubDate>Tue, 24 Jun 2008 16:34:08 +0800</pubDate>
		<generator>搜狐博客</generator>
		<ppp:ebi>e17a658792</ppp:ebi>
		<image>
			<title>http://blog.sohu.com</title>
			<url>http://js.pp.sohu.com/ppp/blog/images/common/logo_150_60.gif</url>
			<link>http://blog.sohu.com/</link>
			<width>100</width>
			<height>43</height>
			<description>搜狐博客</description>
		</image>
		<item>
			<title>被默拒了</title>
			<link>http://linguotian.blog.sohu.com/90981090.html</link>
			<comments>http://linguotian.blog.sohu.com/90981090.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Tue, 24 Jun 2008 16:34:08 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/90981090.html</guid>
			<description><![CDATA[<p>　虽然二面的时候答的很不好，但还是怀有一丝的幻想，可是至今还未有任何消息，我明白只能下学期校园招聘重头再来了。总结一下二面的一些问题：</p>
<p>　１.大体了解一下项目情况；</p>
<p>　２.侧重web2.0的一些潮流技术，RSS,REST等；</p>
<p>　３.java框架：struts,sping；</p>
<p>　４.http协议的具体内容，ｘｍｌ的看法；</p>
<p>　５.ｊａｖａ网络开发基础：jsp,javabean,ejb....</p>]]></description>
		</item>
		    
		
		<item>
			<title>终于等来了IBM二面的好消息</title>
			<link>http://linguotian.blog.sohu.com/89236675.html</link>
			<comments>http://linguotian.blog.sohu.com/89236675.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Wed, 4 Jun 2008 14:53:07 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/89236675.html</guid>
			<description><![CDATA[<p>&nbsp;今天下午接到IBM让我去二面的电话通知，高兴极了。为了攒点rp值，同时纪念一下我的处女笔和处女面，就说说这段时间的经历。</p>
<p>　五一回来，在一些论坛上看到了ＩＢＭ暑期蓝色之路实习计划，也想试一下，提前感受一下氛围，毕竟下学期自己也要找工作了。于是，不抱太大的期望在５.１３号晚投了一份简历过去（第一次竟然没有提交成功，庆幸在简历截止前几个小时发现了）</p>
<p>　过了没几天，就通知５.１７号到北邮的教二参加笔试。笔试分为技术类题目和非技术类题目，全为英文。非技术类题目包括矩阵，数字规律，应用题三部分。技术类的题目包括ｊａｖａ，ｃ/c++,数据结构三部分。java 和　c/c++的题目二选一。非技术类的题目虽然之前也准备了一些，但是发现时间太紧了，三部分都没做完。而技术类的题目我选的java的，考了jsp,servlet,ejb等题目，涉及范围广，由于没有针对性准备，答的也不好。所以笔完之后，感觉自己只能当分母的命了。</p>
<p>　接下来的日子也没怎么关心这回事，五月底竟然收到了一面的通知，还是有点意外的。花了一天的时间看了网上的面经，就踏上了处女面的征程。没想到技术类的一面和网上说的差别很大，这次是一对一面试，一上来就让我谈谈项目经验，针对项目中的一些问题进行探讨（这个面试官很nice,让我完全没有紧张感）。而此前我都准备什么ibm企业文化，产品，自己优缺点等人力资源面试的问题去了，当初简直是有点后悔啊。不过幸好这些项目自己都亲历过，印象深一点。我印象最深的几个问题是：</p>
<p>１.你在这个项目过程中遇到的最大困难是什么</p>
<p>２．发现代码写的很差，有没有进行过完整的单元测试和代码的重构？</p>
<p>３.谈谈项目中用到的设计模式？</p>
<p>第一个问题我谈了谈交科院那个配置文件，面试官不是很满意，接着问&ldquo;还有呢？&rdquo;我使劲想，都没想起来，就转移到别的话题去了。（回来一想，这个项目还是有一些问题导致后期不好扩展的，比如传参的问题），第二个问题直接回答ｎｏ；第三个问题以矿井监测谈了谈用到的策略模式和工厂模式。发现他很厉害，立马就根据我的大致讲解了解了系统的设计，并指出了一些问题。当初只能恨自己没有针对项目仔细准备。</p>
<p>最后让我用英文介绍一下自己，兴趣爱好。幸好前一天准备了，要不然憋不出几个单词出来。</p>
<p>面试大约持续了３０多分钟，感觉发挥一般。</p>
<p>今天收到了二面通知，甚是高兴，希望自己再接再厉，加油。</p>
<p>&nbsp;</p>]]></description>
		</item>
		    
		
		<item>
			<title>开心一笑　－　高跟鞋</title>
			<link>http://linguotian.blog.sohu.com/86833290.html</link>
			<comments>http://linguotian.blog.sohu.com/86833290.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Fri, 9 May 2008 09:05:33 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/86833290.html</guid>
			<description><![CDATA[<p><span style="FONT-FAMILY: Verdana">mm</span><span style="FONT-FAMILY: SimSun">：我的高跟鞋挺好看的吧，只是穿起来不太舒服。</span></p>
<p><span style="FONT-FAMILY: SimSun">　　于是就借题发挥教育我：人家都说，婚姻就像穿鞋，</span></p>
<p><span style="FONT-FAMILY: SimSun">　　合不合适只有自己穿了才知道。</span></p>
<p>偶：所以鞋子好看也没什么用，合脚才舒服；</p>
<p>　　人长的帅没用，还是像我这样实用的好。</p>
<p><span style="FONT-FAMILY: Verdana">mm</span><span style="FONT-FAMILY: SimSun">：那你岂不是赚大了，我又好看又实用&hellip;&hellip;</span></p>]]></description>
		</item>
		    
		
		<item>
			<title>串口通信问题总结</title>
			<link>http://linguotian.blog.sohu.com/83069677.html</link>
			<comments>http://linguotian.blog.sohu.com/83069677.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Fri, 28 Mar 2008 13:27:52 +0800</pubDate>
			<category>GIS及编程</category>
			<guid>http://linguotian.blog.sohu.com/83069677.html</guid>
			<description><![CDATA[&nbsp;
<p><span style="FONT-FAMILY: Verdana">1.</span><span style="FONT-FAMILY: SimSun">通信方式：有字符串通信，有用字节通信（</span><span style="FONT-FAMILY: Verdana">write</span><span style="FONT-FAMILY: SimSun">方法，</span><span style="FONT-FAMILY: Verdana">read</span><span style="FONT-FAMILY: SimSun">方法）</span><span style="FONT-FAMILY: Verdana">:</span><span style="FONT-FAMILY: SimSun">采用１６进制发送都是用字节通信；</span></p>
<p><span style="FONT-FAMILY: SimSun">２</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">串口的发送数据，接收数据需要一定的时间，所以不要如下写代码：</span></p>
<p>string strSendMsg = GetMsg(staId[i], flag).Trim();</p>
<p>byte[] bSendMsg = StringToByte(strSendMsg);</p>
<p>try</p>
<p>{</p>
<p>srialPort.Write(bSendMsg, 0, bSendMsg.Length);</p>
<p>}</p>
<p>catch (Exception ex)</p>
<p>{</p>
<p>MessageBox.Show(ex.Message);</p>
<p>return;</p>
<p>}</p>
<p><span style="FONT-FAMILY: Verdana">//</span><span style="FONT-FAMILY: SimSun">除非在这里设置一个断点，否则无法正常接收到数据，因为时间太短了</span></p>
<p><span style="FONT-FAMILY: Verdana">//</span><span style="FONT-FAMILY: SimSun">可以让其睡眠一会</span></p>
<p>//System.Threading.Thread.Sleep(500);</p>
<p><span style="FONT-FAMILY: Verdana">//</span><span style="FONT-FAMILY: SimSun">但是在主线程睡眠不好，会使得拖动窗口特别慢，而且容易使进程阻塞，造成溢出，进而程序崩溃；　</span></p>
<p>int iRst = srialPort.Read(bRst, 0, iRead);</p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">３</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">　采用</span><span style="FONT-FAMILY: Verdana">dataReceived</span><span style="FONT-FAMILY: SimSun">事件触发机制：</span></p>
<p>&nbsp;</p>
<p>只要有消息到来就会触发该事件，但是同样接收前也要</p>
<p>System.Threading.Thread.Sleep(500);</p>
<p>否则消息会分几次返回，这样可能会影响信息的解析；</p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">４</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">从 </span><span style="FONT-WEIGHT: bold; COLOR: black; FONT-FAMILY: SimSun">SerialPort</span><span style="FONT-FAMILY: SimSun"> 对象</span><span style="FONT-WEIGHT: bold; COLOR: black; FONT-FAMILY: SimSun">接收</span><span style="FONT-FAMILY: SimSun">数据时，将在辅助线程上引发 </span><span style="FONT-WEIGHT: bold; FONT-FAMILY: SimSun">DataReceived</span><span style="FONT-FAMILY: SimSun"> 事件。由于此事件在辅助线程而非主线程上引发，因此尝试修改主线程中的一些元素（如 UI 元素）时会引发线程异常。</span><span style="COLOR: red; FONT-FAMILY: SimSun">如果有必要修改主 Form 或 Control 中的元素，请使用 Invoke 回发更改请求，这将在正确的线程上执行。</span></p>
<p>&nbsp;</p>
<p>示例代码如下：</p>
<p>delegate void SetTextCallback(string text);　//委托函数</p>
<p>&nbsp;</p>
<p>/// &lt;summary&gt;</p>
<p>/// 在ｌｓｔｂｏｘ上显示通讯信息</p>
<p>/// &lt;/summary&gt;</p>
<p>/// &lt;param name=&quot;text&quot;&gt;&lt;/param&gt;</p>
<p>&nbsp;</p>
<p>public static void SetText(string text)</p>
<p>{</p>
<p>&nbsp;</p>
<p>if (lstBox.InvokeRequired)</p>
<p>{</p>
<p>SetTextCallback d = new SetTextCallback(SetText);</p>
<p>lstBox.Invoke(d, new object[] { text });</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>lstBox.Items.Add(text);</p>
<p>}</p>
<p>}</p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">申明之后就可以在 </span><span style="FONT-WEIGHT: bold; FONT-FAMILY: SimSun">DataReceived</span><span style="FONT-FAMILY: SimSun"> 事件里调用SetText</span><span style="FONT-FAMILY: Verdana">()</span><span style="FONT-FAMILY: SimSun">这个函数了，相关信息就会被写在</span><span style="FONT-FAMILY: Verdana">lstBox</span><span style="FONT-FAMILY: SimSun">上。</span></p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">５</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">分站机的轮询采用定时器触发，每次只向某一台机器发消息，取消息，时间间隔设的小点。而不要一次就利用一个循环向多台机器发消息；</span></p>]]></description>
		</item>
		    
		
		<item>
			<title>当上舅舅啦！</title>
			<link>http://linguotian.blog.sohu.com/82000976.html</link>
			<comments>http://linguotian.blog.sohu.com/82000976.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Mon, 17 Mar 2008 10:40:31 +0800</pubDate>
			<category>杂七杂八</category>
			<guid>http://linguotian.blog.sohu.com/82000976.html</guid>
			<description><![CDATA[<p>上个周末，正值去李大哥家看他刚３个月大的小女孩时，我妈告诉我姐生了一个胖娃娃，小男生。虽然身在异乡，也是很激动，与他们同时享受着这份幸福和喜悦。不知道这个小家伙现在怎么样了，是不是还是吵得家人睡不着觉，让大伙都是围着他转？看来人一开始就已经注定：到一个新的环境就要学会适应的过程。兴许见惯了周边的人就再也不哭不闹了。</p>
<p>祝愿他能开开心心地成长起来。</p>]]></description>
		</item>
		    
		
		<item>
			<title>有点ajax式的系统框架</title>
			<link>http://linguotian.blog.sohu.com/76376733.html</link>
			<comments>http://linguotian.blog.sohu.com/76376733.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Sat, 12 Jan 2008 21:30:42 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/76376733.html</guid>
			<description><![CDATA[&nbsp; 
<p><span style="FONT-FAMILY: SimSun">客户提出有些时候左侧属性查询能查到东西</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">但是右边地图无法高亮</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">因此一直在考虑是不是系统设计上的缺陷</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">因此此前就是由于树生成太慢而无法获取</span><span style="FONT-FAMILY: Verdana">id</span><span style="FONT-FAMILY: SimSun">值</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">导致传到后台的</span><span style="FONT-FAMILY: Verdana">id</span><span style="FONT-FAMILY: SimSun">全为空</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">这样要自动定位就不可能了</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">此前的系统设计是这样的</span><span style="FONT-FAMILY: Verdana">:</span><span style="FONT-FAMILY: SimSun">用户在左侧选择一些属性查询条件</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">点击查询后</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">从属性数据库读取信息</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">生成树</span><span style="FONT-FAMILY: Verdana">;</span><span style="FONT-FAMILY: SimSun">再根据树的节点提取</span><span style="FONT-FAMILY: Verdana">id</span><span style="FONT-FAMILY: SimSun">值</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">用</span><span style="FONT-FAMILY: Verdana">xml</span><span style="FONT-FAMILY: SimSun">文件的形式传输到地图</span><span style="FONT-FAMILY: Verdana">id</span><span style="FONT-FAMILY: SimSun">类中处理</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">高亮并自动定位</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">由于整个系统利用了</span><span style="FONT-FAMILY: Verdana">ajax</span><span style="FONT-FAMILY: SimSun">技术</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">但是这样设计的话</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">并没有体现出异步传输的效果</span><span style="FONT-FAMILY: Verdana">(</span><span style="FONT-FAMILY: SimSun">要树完全生成后</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">才能把节点值给地图类处理</span><span style="FONT-FAMILY: Verdana">).</span></p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">现在系统改进了设计方式</span><span style="FONT-FAMILY: Verdana">:</span><span style="FONT-FAMILY: SimSun">用户在左侧选择一些属性查询条件</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">点击查询后</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">将查询条件分别给生成树的文件和地图的处理类即分别对数据库查询</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">这样就不用相互等待了</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">结果证明效率确实提高很多</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">也没有客户反映的那个问题了</span><span style="FONT-FAMILY: Verdana">.</span></p>]]></description>
		</item>
		    
		
		<item>
			<title>如何读取java的配置文件</title>
			<link>http://linguotian.blog.sohu.com/76375297.html</link>
			<comments>http://linguotian.blog.sohu.com/76375297.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Sat, 12 Jan 2008 21:16:13 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/76375297.html</guid>
			<description><![CDATA[&nbsp; 
<p><span style="FONT-FAMILY: SimSun">由于这个项目涉及到了多个参数的配置</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">以前都是分散在其他文件中</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">因此这两天打算集成到一个文件中</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">让我这么做的决心是</span><span style="FONT-FAMILY: Verdana">java</span><span style="FONT-FAMILY: SimSun">类和</span><span style="FONT-FAMILY: Verdana">jsp</span><span style="FONT-FAMILY: SimSun">类都要连接数据库</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">涉及到用户名</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">用户密码等信息的设置</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">总不可能让用户自己改那个类文件再</span><span style="FONT-FAMILY: Verdana">jvc</span><span style="FONT-FAMILY: SimSun">成</span><span style="FONT-FAMILY: Verdana">class</span><span style="FONT-FAMILY: SimSun">文件吧</span><span style="FONT-FAMILY: Verdana">?</span><span style="FONT-FAMILY: SimSun">这样也太业余了</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">因此决心将这些用户需要修改的信息都集中到一个文件中</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">上百度一搜</span><span style="FONT-FAMILY: Verdana">,java</span><span style="FONT-FAMILY: SimSun">果然提供了配置文件的相关操作</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">其中要用到的是java.util.Properties这个类</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">而</span><span style="FONT-FAMILY: Verdana">java</span><span style="FONT-FAMILY: SimSun">默认的配置文件后缀为</span><span style="FONT-FAMILY: Verdana">.properties.</span></p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">对于配置文件操作的也有很多种方法</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">但是在</span><span style="FONT-FAMILY: Verdana">eclipse</span><span style="FONT-FAMILY: SimSun">的开发环境调用和打成</span><span style="FONT-FAMILY: Verdana">war</span><span style="FONT-FAMILY: SimSun">包读取的方法是不一样的</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">大概想了一下</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">不同的原因是其组织结构不一样</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">在开发环境里的目录结构组织如下</span><span style="FONT-FAMILY: Verdana">:</span></p>
<p><img style="DISPLAY: block; MARGIN: 0px auto 10px; TEXT-ALIGN: center" alt="" src="http://121.img.pp.sohu.com/images/blog/2008/1/12/21/14/1180b017f1d.jpg" border="0" /></p>
<p><span style="FONT-FAMILY: SimSun">其中编译后</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">所有的</span><span style="FONT-FAMILY: Verdana">class</span><span style="FONT-FAMILY: SimSun">文件和配置文件都在</span><span style="FONT-FAMILY: Verdana">build</span><span style="FONT-FAMILY: SimSun">文件夹下</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">组织结构与上图一致</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p><span style="FONT-FAMILY: SimSun">对于打包后的目录结构如下</span><span style="FONT-FAMILY: Verdana">:</span></p>
<p><img style="DISPLAY: block; MARGIN: 0px auto 10px; TEXT-ALIGN: center" alt="" src="http://122.img.pp.sohu.com/images/blog/2008/1/12/21/15/1180b127c69.jpg" border="0" /></p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">文件夹</span><span style="FONT-FAMILY: Verdana">classes</span><span style="FONT-FAMILY: SimSun">下的文件如下图</span><span style="FONT-FAMILY: Verdana">,tools</span><span style="FONT-FAMILY: SimSun">里是我自己写的</span><span style="FONT-FAMILY: Verdana">java</span><span style="FONT-FAMILY: SimSun">类</span><span style="FONT-FAMILY: Verdana">,tools</span><span style="FONT-FAMILY: SimSun">是一个包</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">其他文件夹类似</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p><img style="DISPLAY: block; MARGIN: 0px auto 10px; TEXT-ALIGN: center" alt="" src="http://121.img.pp.sohu.com/images/blog/2008/1/12/21/15/1180b028195.jpg" border="0" /></p>
<p><span style="FONT-FAMILY: SimSun">在开发环境里调用的方法主要是开发者使用</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">打成</span><span style="FONT-FAMILY: Verdana">war</span><span style="FONT-FAMILY: SimSun">包主要用于客户那边运行</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">因此就综合考虑了两种情况</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">大概的核心代码如下</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p>&nbsp;</p>
<p>InputStream in<span style="mso-spacerun: yes">&nbsp; </span>= Thread.currentThread().getContextClassLoader().getResourceAsStream(&quot;config.properties&quot;);</p>
<p>Configuration config = null;</p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">if (in == null)</span><span style="FONT-FAMILY: Verdana"> //</span><span style="FONT-FAMILY: SimSun">进入开发环境</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">采用绝对路径访问方式</span></p>
<p>{</p>
<p>config = new Configuration(this.getClass().getResource(&quot;/&quot;).getPath()+&quot;config.properties&quot;);</p>
<p>}</p>
<p><span style="FONT-FAMILY: SimSun">Else</span><span style="FONT-FAMILY: Verdana"> //</span><span style="FONT-FAMILY: SimSun">包运行环境</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">采用流访问方式</span></p>
<p>{</p>
<p>config = new Configuration(in);</p>
<p>//System.out.println(in);</p>
<p>}</p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">Configuration 是一个自己封装好的类</span><span style="FONT-FAMILY: Verdana">.</span><span style="FONT-FAMILY: SimSun">从网上找的</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p><span style="FONT-FAMILY: SimSun">代码如下</span><span style="FONT-FAMILY: Verdana">:</span></p>
<p>public class Configuration {</p>
<p>&nbsp;</p>
<p>private Properties propertie;</p>
<p>private FileInputStream inputFile;</p>
<p>private FileOutputStream outputFile;</p>
<p>&nbsp;</p>
<p>/** *//**</p>
<p>* 初始化Configuration类</p>
<p>*/</p>
<p>public Configuration()</p>
<p>{</p>
<p>propertie = new Properties();</p>
<p>}</p>
<p>&nbsp;</p>
<p>/** *//**</p>
<p>* 初始化Configuration类</p>
<p>* @param filePath 要读取的配置文件的路径+名称</p>
<p>*/</p>
<p>public Configuration(String filePath)</p>
<p>{</p>
<p>propertie = new Properties();</p>
<p>try{</p>
<p>inputFile = new FileInputStream(filePath);</p>
<p>propertie.load(inputFile);</p>
<p>inputFile.close();</p>
<p>} catch (FileNotFoundException ex){</p>
<p>System.out.println(&quot;读取属性文件---&gt;失败！- 原因：文件路径错误或者文件不存在&quot;);</p>
<p>ex.printStackTrace();</p>
<p>} catch (IOException ex){</p>
<p>System.out.println(&quot;装载文件---&gt;失败!&quot;);</p>
<p>ex.printStackTrace();</p>
<p>}</p>
<p>}//end ReadConfigInfo(...)</p>
<p>&nbsp;</p>
<p>/** *//**</p>
<p>* 初始化Configuration类</p>
<p>* @param filePath 要读取的配置文件的路径+名称</p>
<p>*/</p>
<p>public Configuration(InputStream filePath)</p>
<p>{</p>
<p>propertie = new Properties();</p>
<p>try{</p>
<p>//inputFile = new FileInputStream(filePath);</p>
<p>propertie.load(filePath);</p>
<p>} catch (FileNotFoundException ex){</p>
<p>System.out.println(&quot;读取属性文件---&gt;失败！- 原因：文件路径错误或者文件不存在&quot;);</p>
<p>ex.printStackTrace();</p>
<p>} catch (IOException ex){</p>
<p>System.out.println(&quot;装载文件---&gt;失败!&quot;);</p>
<p>ex.printStackTrace();</p>
<p>}</p>
<p>}//end ReadConfi</p>
<p>&nbsp;</p>
<p>/** *//**</p>
<p>* 重载函数，得到key的值</p>
<p>* @param key 取得其值的键</p>
<p>* @return key的值</p>
<p>*/</p>
<p>public String getValue(String key)</p>
<p>{</p>
<p>if(propertie.containsKey(key)){</p>
<p>String value = propertie.getProperty(key);//得到某一属性的值</p>
<p>return value;</p>
<p>}</p>
<p>else </p>
<p>return &quot;&quot;;</p>
<p>}//end getValue(...)</p>
<p>}</p>
<p>&nbsp;</p>
<p><span style="FONT-FAMILY: SimSun">其中值得注意的一点就是</span><span style="FONT-FAMILY: Verdana">:</span></p>
<p>this.getClass().getResource(&quot;/&quot;).getPath()+&quot;config.properties&quot;);</p>
<p>定位到</p>
<p><span style="FONT-FAMILY: SimSun">E:/studysoft/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/webapps/beijing0908/WEB-INF/classes/config.properties</span><span style="FONT-FAMILY: Verdana">;</span></p>
<p><span style="FONT-FAMILY: SimSun">即</span><span style="FONT-FAMILY: Verdana">eclipse</span><span style="FONT-FAMILY: SimSun">虚拟的服务器中</span><span style="FONT-FAMILY: Verdana">,</span></p>
<p><span style="FONT-FAMILY: SimSun">Thread.currentThread().getContextClassLoader()定位到</span><span style="FONT-FAMILY: Verdana">classes</span><span style="FONT-FAMILY: SimSun">目录</span><span style="FONT-FAMILY: Verdana">,</span></p>
<p><span style="FONT-FAMILY: SimSun">D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\beijing0112\WEB-INF\classes</span><span style="FONT-FAMILY: Verdana">\</span><span style="FONT-FAMILY: SimSun">config.properties</span><span style="FONT-FAMILY: Verdana">;</span></p>
<p><span style="FONT-FAMILY: SimSun">即都是定位到类目录中</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">本质上是一样的</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">只不过读取的方法不同而已</span><span style="FONT-FAMILY: Verdana">.</span></p>
<p>&nbsp;</p>]]></description>
		</item>
		    
		
		<item>
			<title>程序员与修路</title>
			<link>http://linguotian.blog.sohu.com/74583690.html</link>
			<comments>http://linguotian.blog.sohu.com/74583690.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Tue, 25 Dec 2007 17:20:18 +0800</pubDate>
			<category>杂七杂八</category>
			<guid>http://linguotian.blog.sohu.com/74583690.html</guid>
			<description><![CDATA[&nbsp; 
<p><span style="FONT-FAMILY: SimSun">&nbsp; 某一天晚上，和</span><span style="FONT-FAMILY: Verdana">mm</span><span style="FONT-FAMILY: SimSun">吃完晚饭，从理化所回来，途中，经过了园区门口的正在大修大补的公路。</span></p>
<p>俺上大学的时候也是经历了很多挖了又补，补了又挖的场面，但是见到那平整无暇，几乎没怎么通车的崭新的公路被挖出了一条条的缝，还是忍不住抱怨几句：这些修路的人也真是的，为什么不在铺路之前就把管子铺好呢？这样就不会这么麻烦了，而且不会补的这么难看。</p>
<p><span style="FONT-FAMILY: Verdana">　mm</span><span style="FONT-FAMILY: SimSun">：那程序员还不是成天在改程序，不停地打补丁？这和修路有啥区别？</span></p>
<p><span style="FONT-FAMILY: Verdana">　mm</span><span style="FONT-FAMILY: SimSun">这么一说，害得我都如何应对。</span></p>
<p><span style="FONT-FAMILY: SimSun"></span>　其实以前我一直认为：这些修路的人挖了又铺，铺了又挖，如此折腾是为了延长自己的工期，避免自己失业。但是从程序员自身的角度来看的话：哪个又想着不停地打补丁，不停地被客户打扰呢？谁又想着跨入&ldquo;补丁工程&rdquo;的漩涡呢？每个人无非是都想着做好每个工程，尽快结掉以便接手下一个，更何况，谁又敢把&ldquo;豆腐渣工程&rdquo;拿出手呢？</p>
<p><span style="FONT-FAMILY: SimSun">　因此，写程序与修路还是有点相似之处的。之所以要做那么多的修改，是由于未来不可预料的变化引起的。而在最初的设计上又要考虑到客户的需求和成本。谁见过在每隔</span><span style="FONT-FAMILY: Verdana">10</span><span style="FONT-FAMILY: SimSun">米处就设计排水管道来</span><span style="COLOR: black; FONT-FAMILY: 宋体">未雨绸缪呢？</span></p>
<p><span style="FONT-FAMILY: SimSun">以后每次看见哪条路再挖坑，我也见怪不怪了。只是每次都会想起那个和</span><span style="FONT-FAMILY: Verdana">mm</span><span style="FONT-FAMILY: SimSun">对话的场景。</span></p>]]></description>
		</item>
		    
		
		<item>
			<title>可恶的bug</title>
			<link>http://linguotian.blog.sohu.com/71863265.html</link>
			<comments>http://linguotian.blog.sohu.com/71863265.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Wed, 28 Nov 2007 17:36:15 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/71863265.html</guid>
			<description><![CDATA[<p>今天什么也没干,就在调一个残留的bug,纵然我使出浑身解数,在浩瀚的网络中百度,google,还是找不出答案.Ext这个开源的东西用的人也挺多的啊,俺就纳闷:为啥没人碰到类似的问题呢?</p>
<p>&nbsp; bug存在的现象:刚开始点击查询的时候没有问题,左侧生成树以及信息框,右侧是地图模块.当点击多此,并选中树下的某条记录时,同样多次.就会开始报错.而且报错的原因很不讲理:都到源代码进去了.还提示document.document.createStyleSheet()参数无效.这个方法明明是存在的啊.</p>
<p>真是晕倒,接下去又是一堆问题.</p>
<p>一下午就这么耗掉了......ms又回到了起点.</p>]]></description>
		</item>
		    
		
		<item>
			<title>MM买书</title>
			<link>http://linguotian.blog.sohu.com/71065859.html</link>
			<comments>http://linguotian.blog.sohu.com/71065859.html#comment</comments>
			<dc:creator>谁主沉浮</dc:creator>
			<pubDate>Tue, 20 Nov 2007 21:23:34 +0800</pubDate>
			<guid>http://linguotian.blog.sohu.com/71065859.html</guid>
			<description><![CDATA[&nbsp; 
<p><span style="FONT-FAMILY: Verdana">MM要买刀刀的《被爱路过》，帮她一起找哪个地方卖的便宜，其间</span></p>
<p><span style="FONT-FAMILY: Verdana"></span>&nbsp;</p>
<p><span style="FONT-FAMILY: Verdana">o:</span><span style="FONT-FAMILY: SimSun">我们要节俭，省钱买窝~ </span></p>
<p><span style="FONT-FAMILY: Verdana">mm:</span><span style="FONT-FAMILY: SimSun">那我不买了&hellip;&hellip; </span></p>
<p><span style="FONT-FAMILY: Verdana">o:</span><span style="FONT-FAMILY: SimSun">别,书还是要买地,钱也是要省的</span></p>
<p><span style="FONT-FAMILY: Verdana">mm:</span><span style="FONT-FAMILY: SimSun">这话太矛盾了，钱是要花的，钱也是要省的&hellip;&hellip; </span></p>
<p><span style="FONT-FAMILY: Verdana">o:</span><span style="FONT-FAMILY: SimSun">意思就是该花就花，能省则省~</span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun"> 这么高深的道理，估计你也要习惯一阵子~ </span></p>
<p><span style="FONT-FAMILY: Verdana">mm:</span><span style="FONT-FAMILY: SimSun">我很习惯~ </span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">我该花就花 </span><span style="FONT-FAMILY: Verdana">,</span><span style="FONT-FAMILY: SimSun">你能省就省&hellip;&hellip; </span></p>
<p><span style="FONT-FAMILY: Verdana">o:</span><span style="FONT-FAMILY: SimSun">。。。。。</span></p>
<p>&nbsp;</p>]]></description>
		</item>
		    
		
	</channel>
</rss>
