<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cashplk的心路历程</title>
	<atom:link href="http://cashplk.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cashplk.com</link>
	<description>学无止境，梦如夏花～</description>
	<lastBuildDate>Tue, 09 Mar 2010 01:19:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GTD以及信息过载</title>
		<link>http://cashplk.com/2010/03/09/gtd%e4%bb%a5%e5%8f%8a%e4%bf%a1%e6%81%af%e8%bf%87%e8%bd%bd/</link>
		<comments>http://cashplk.com/2010/03/09/gtd%e4%bb%a5%e5%8f%8a%e4%bf%a1%e6%81%af%e8%bf%87%e8%bd%bd/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 01:19:20 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[信息过载]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://cashplk.com/?p=131</guid>
		<description><![CDATA[作为一个IT人，每天都有8个小时以上的时候会挂在网上，有着大量的信息需要我们去关心，技术的，关心的，打折，小道消息，最新新闻，XX门之类的。
     这个时候，就需要涉及一个时间分配和信息处理的问题。
     人的时间和精力都是有限的，某件事情花费的时间和精力多了，其他事情会分配到的时间就会变少。时间长了，觉得时间也花费了，但就是效果不好。这个时候，就需要看看GTD（Getting To Do），对自己的时间进行合理的划分，从而达到投入时间和产出的最大比。
     有了互联网，信息的获取越来越容易。信息渠道的来源不再单一，而趋向于多元化。但也会这个问题－－信息过载。例如我，每天都在GR里面收藏大量的东西，想到以后可能去看，日积月累，积累了有几万条的RSS收藏了。还是在继续增加，没有被消费，如果这样下去，会越来越多。表面上看来，我知道了很多东西，但是实际上呢，都只是指导皮毛，不够深入的。其实心理上是一种信息的恐慌。觉得别人知道了，自己不知道，落后了。心态越来越浮躁，很难静下心去思考和吸收知识。浪费的时间也越来越多，何况很难从海量的信息中找到自己需要的知识。
     结合GTD和信息过载的问题，我目前个人的应对方案是：
     1，退订一些GR中的订阅，对于我有用的知识，始终还是会知道的，没必要全部都订阅下来，依靠GR的好友分享，可以很好的筛选资源。
     2，选定一个良好的方向，针对性地研究。隔一阵子，总结回顾。
     3，使用everNote和mindManager收集和整理信息。
     4，在自己的各个爱好中，定出目标，排出优先级，按照等级，收集整理信息。
	5，安排固定的时间对邮件，IM和twitter进行处理，不要打断思考，用整段的时间做大的事情，小的时间做琐碎的事情，有的放肆才行。大脑也是需要休息的。
     6，找到固定的时间放松自己，锻炼身体。
关于GTD的图书，可以看看这个。尽管去做-无压工作的艺术GTD.pdf
]]></description>
			<content:encoded><![CDATA[<p>作为一个IT人，每天都有8个小时以上的时候会挂在网上，有着大量的信息需要我们去关心，技术的，关心的，打折，小道消息，最新新闻，XX门之类的。</p>
<p>     这个时候，就需要涉及一个时间分配和信息处理的问题。</p>
<p>     人的时间和精力都是有限的，某件事情花费的时间和精力多了，其他事情会分配到的时间就会变少。时间长了，觉得时间也花费了，但就是效果不好。这个时候，就需要看看GTD（Getting To Do），对自己的时间进行合理的划分，从而达到投入时间和产出的最大比。</p>
<p>     有了互联网，信息的获取越来越容易。信息渠道的来源不再单一，而趋向于多元化。但也会这个问题－－信息过载。例如我，每天都在GR里面收藏大量的东西，想到以后可能去看，日积月累，积累了有几万条的RSS收藏了。还是在继续增加，没有被消费，如果这样下去，会越来越多。表面上看来，我知道了很多东西，但是实际上呢，都只是指导皮毛，不够深入的。其实心理上是一种信息的恐慌。觉得别人知道了，自己不知道，落后了。心态越来越浮躁，很难静下心去思考和吸收知识。浪费的时间也越来越多，何况很难从海量的信息中找到自己需要的知识。</p>
<p>     结合GTD和信息过载的问题，我目前个人的应对方案是：</p>
<p>     1，退订一些GR中的订阅，对于我有用的知识，始终还是会知道的，没必要全部都订阅下来，依靠GR的好友分享，可以很好的筛选资源。</p>
<p>     2，选定一个良好的方向，针对性地研究。隔一阵子，总结回顾。</p>
<p>     3，使用everNote和mindManager收集和整理信息。</p>
<p>     4，在自己的各个爱好中，定出目标，排出优先级，按照等级，收集整理信息。</p>
<p>	5，安排固定的时间对邮件，IM和twitter进行处理，不要打断思考，用整段的时间做大的事情，小的时间做琐碎的事情，有的放肆才行。大脑也是需要休息的。</p>
<p>     6，找到固定的时间放松自己，锻炼身体。</p>
<p>关于GTD的图书，可以看看这个。<a href="http://cashplk.com/wp-content/uploads/2010/03/尽管去做-无压工作的艺术GTD.pdf" title="尽管去做-无压工作的艺术GTD.pdf">尽管去做-无压工作的艺术GTD.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2010/03/09/gtd%e4%bb%a5%e5%8f%8a%e4%bf%a1%e6%81%af%e8%bf%87%e8%bd%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2010年3月1日汇总~~</title>
		<link>http://cashplk.com/2010/03/02/2010%e5%b9%b43%e6%9c%881%e6%97%a5%e6%b1%87%e6%80%bb/</link>
		<comments>http://cashplk.com/2010/03/02/2010%e5%b9%b43%e6%9c%881%e6%97%a5%e6%b1%87%e6%80%bb/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 04:04:58 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[30]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[汇总]]></category>

		<guid isPermaLink="false">http://cashplk.com/?p=124</guid>
		<description><![CDATA[每天看了大量的RSS,一点产出都没有的,看看自己的blog都荒芜了.还是整理一下觉得好的东西把,也多少可以代表最近的心境. 各位不满意的就说出来吧~~.一直很佩服学文科的人,可以把自己的想法写出来,我就是想得到,但是写不出来.
1.命运负责洗牌，但玩牌的是我们自己。
29.能够说出的委屈，便不算委屈；能够抢走的爱人，便不算爱
45.你要哭，就好好的哭一场。但是，结束以后，就再也不要想起，再也不要哭泣。
49.放得下的是曾经，放不下的是记忆.
50.我以为小鸟飞不过沧海,是以为小鸟没有飞过沧海的勇气,十年以后我才发现,不是小鸟飞不过去,而是沧海的那一头早已没有了等待…
51.有些事，我们明知道是错的，也要去坚持，因为不甘心；有些人，我们明知道是爱的，也要去放弃，因为没结局；有时候，我们明知道没路了，却还在前行，因为习惯了。
from:百家之言:51句话说得太绝了
 
一家小旅馆，横在路上，算不算家？家是一种感觉，和房子无关，和地理位置无关，和亲朋好友无关，和鸡巴及馅饼也无关，它隐藏在你心里某处柔软的地方，你没病的时候通常都想不起来的地方，那里停放着一个矫情的东西，叫魂。魂没有归属，走到哪里都是一条丧家犬。经过多年的犯贱经历，几乎可以确诊，对于我，家就在路上，没有起点，没有终点，也就是不曾离家，也无需回家。所以朋友们不要问我在干嘛，我如果没有在路上，就一定是在傻逼逼的正准备着上路。反正那头有黄泉，你也别想绕过去。赶个年的尾巴，给大家拜一拜，祝虎年大吉，如虎添翅，眼睛一睁一闭，想哪到哪。
 from:何处才是你丫家

1、事业不等于是做官或者赚钱。大部分的人无法在事业中获得成就感，所以事业不过是糊口的活计，没有必要看得太重。不要过到把糊口的事变成生活里唯一的事，那样就太悲哀了。天天十点才满身酒气的回家，权位和金钱救不了自己的肝，保证不了自己的孩子不会由于缺乏管教而成为一个废人。人世是公平的，所有的一切都是要偿还的。不要用前半辈子的个人努力，为下半辈子不停买单。
2、家庭生活应该放在生活的首要位置。工作谁做都是做，但是和家人在一起的日子去了就不再来。在这个世界上，只有家人会为你而牺牲，只有家人可以信赖。只有他们会对你有耐心，会为你付出而不计算成败，会为了保护你而背叛任何法律条文和人生信条。家庭是唯一的堡垒，唯一可以进门就脱光衣服躺下睡着的地方。没什么事比周末的家宴更重要的了。
3、健康是人生信用卡的担保人。它比美貌、财富、智力、权位都重要。没有人能在病痛中依然欣喜，没有人不在病痛中度日如年。在病中人才能意识到自己是如此脆弱地存在这世界上，会想到健康的重要，会想到要善待自己。但令人遗憾的事，往往人一旦痊愈就忘记了在病中对自己的那些承诺。
4、不值得在女孩子身上浪费太多时间，尤其是漂亮女孩子。要明白一件事：如果要以结婚为目的的话，性格和品格比美貌重要。容颜总会老去，而维系人与人之间最为稳固的连接是对性格的欣赏，和对品格的信任。不要和一条发了疯的狗一样，不停地追着自己的尾巴咬。凡事皆有时，该出现的人总是会出现的。相信爱情，相信缘分。爱情永远应该是件美好的事，不应该有任何的勉强，任何的违心之处。永远，永远不要将就。亚瑟没有拔出石中剑的时候，谁不觉得有血肉之躯拔出那剑是件荒谬的事呢？
5、趣味是唯一值得追求的事情，比事业都重要。人世因为工作而不堪其苦，说“劳动最光荣”的时代里每周工作六天，周日半天义务劳动。这样的生活里若没有点什么值得追求的乐趣，现代社会和奴隶社会并没有任何不同。不计算得失，只因为喜爱而去做的事情，往往能发挥一个人的最大潜能。所以，千万不要把工作和兴趣变成一体。那样一来，人生唯一的一点滋味都丧失了。
6、不要看电视，尽量不要看报纸，而是要去看书。书读百遍，其意自现。这句话是真的，最低限度上能分辨出什么是好书，什么是坏书。而所有的电视节目都在教导一种很坏的人生，让你用自己的劳动换来一房子的垃圾，还因此觉得自己格调不凡，与众不同。所有限量版的产品没有一样是只有一款的，明白这一点，就不会去看电视，不看广告，不读报纸。
7、 永远不要相信报纸上的话。昨天你相信了它说“不要持币待购”，那么今天你就会发现你12万买的夏利目前只值2万。
8、 信仰的作用是塑造一个更强大的自己，所以你能向你自己恳求帮助。
9、 不欺骗自己是最难的事。
10、 不要欠别人钱。
发现还好，这十条我基本上都还真做到了。写下这些话的三年后，我重新选择了自己的生活。和三十岁之前相比，我认为我过得更加辛苦，自己也倍加勤力，但是，我也因此快乐了许多。担当会有压力，担当会很劳苦，可也正因为这样，当你深深地卷入生活，为沉重的磨盘碾压挤榨，你也才深切细致地体会到生活的每一道纹路，每一重滋味。知道这些，自己的生命也才有了重量和质量，认识到自己原来可以承受如此之多。而且在承受之与，还能顽强地开出花来。

from:收假日


]]></description>
			<content:encoded><![CDATA[<p>每天看了大量的RSS,一点产出都没有的,看看自己的blog都荒芜了.还是整理一下觉得好的东西把,也多少可以代表最近的心境. 各位不满意的就说出来吧~~.一直很佩服学文科的人,可以把自己的想法写出来,我就是想得到,但是写不出来.</p>
<p>1.命运负责洗牌，但玩牌的是我们自己。<br />
29.能够说出的委屈，便不算委屈；能够抢走的爱人，便不算爱<br />
45.你要哭，就好好的哭一场。但是，结束以后，就再也不要想起，再也不要哭泣。<br />
49.放得下的是曾经，放不下的是记忆.<br />
50.我以为小鸟飞不过沧海,是以为小鸟没有飞过沧海的勇气,十年以后我才发现,不是小鸟飞不过去,而是沧海的那一头早已没有了等待…<br />
51.有些事，我们明知道是错的，也要去坚持，因为不甘心；有些人，我们明知道是爱的，也要去放弃，因为没结局；有时候，我们明知道没路了，却还在前行，因为习惯了。</p>
<p><strong>from:百家之言:51句话说得太绝了</strong></p>
<p><strong> </strong><br />
一家小旅馆，横在路上，算不算家？家是一种感觉，和房子无关，和地理位置无关，和亲朋好友无关，和鸡巴及馅饼也无关，它隐藏在你心里某处柔软的地方，你没病的时候通常都想不起来的地方，那里停放着一个矫情的东西，叫魂。魂没有归属，走到哪里都是一条丧家犬。经过多年的犯贱经历，几乎可以确诊，对于我，家就在路上，没有起点，没有终点，也就是不曾离家，也无需回家。所以朋友们不要问我在干嘛，我如果没有在路上，就一定是在傻逼逼的正准备着上路。反正那头有黄泉，你也别想绕过去。赶个年的尾巴，给大家拜一拜，祝虎年大吉，如虎添翅，眼睛一睁一闭，想哪到哪。<br />
<strong> from:何处才是你丫家</strong></p>
<p><strong></strong><br />
1、事业不等于是做官或者赚钱。大部分的人无法在事业中获得成就感，所以事业不过是糊口的活计，没有必要看得太重。不要过到把糊口的事变成生活里唯一的事，那样就太悲哀了。天天十点才满身酒气的回家，权位和金钱救不了自己的肝，保证不了自己的孩子不会由于缺乏管教而成为一个废人。人世是公平的，所有的一切都是要偿还的。不要用前半辈子的个人努力，为下半辈子不停买单。<br />
2、家庭生活应该放在生活的首要位置。工作谁做都是做，但是和家人在一起的日子去了就不再来。在这个世界上，只有家人会为你而牺牲，只有家人可以信赖。只有他们会对你有耐心，会为你付出而不计算成败，会为了保护你而背叛任何法律条文和人生信条。家庭是唯一的堡垒，唯一可以进门就脱光衣服躺下睡着的地方。没什么事比周末的家宴更重要的了。<br />
3、健康是人生信用卡的担保人。它比美貌、财富、智力、权位都重要。没有人能在病痛中依然欣喜，没有人不在病痛中度日如年。在病中人才能意识到自己是如此脆弱地存在这世界上，会想到健康的重要，会想到要善待自己。但令人遗憾的事，往往人一旦痊愈就忘记了在病中对自己的那些承诺。<br />
4、不值得在女孩子身上浪费太多时间，尤其是漂亮女孩子。要明白一件事：如果要以结婚为目的的话，性格和品格比美貌重要。容颜总会老去，而维系人与人之间最为稳固的连接是对性格的欣赏，和对品格的信任。不要和一条发了疯的狗一样，不停地追着自己的尾巴咬。凡事皆有时，该出现的人总是会出现的。相信爱情，相信缘分。爱情永远应该是件美好的事，不应该有任何的勉强，任何的违心之处。永远，永远不要将就。亚瑟没有拔出石中剑的时候，谁不觉得有血肉之躯拔出那剑是件荒谬的事呢？<br />
5、趣味是唯一值得追求的事情，比事业都重要。人世因为工作而不堪其苦，说“劳动最光荣”的时代里每周工作六天，周日半天义务劳动。这样的生活里若没有点什么值得追求的乐趣，现代社会和奴隶社会并没有任何不同。不计算得失，只因为喜爱而去做的事情，往往能发挥一个人的最大潜能。所以，千万不要把工作和兴趣变成一体。那样一来，人生唯一的一点滋味都丧失了。<br />
6、不要看电视，尽量不要看报纸，而是要去看书。书读百遍，其意自现。这句话是真的，最低限度上能分辨出什么是好书，什么是坏书。而所有的电视节目都在教导一种很坏的人生，让你用自己的劳动换来一房子的垃圾，还因此觉得自己格调不凡，与众不同。所有限量版的产品没有一样是只有一款的，明白这一点，就不会去看电视，不看广告，不读报纸。<br />
7、 永远不要相信报纸上的话。昨天你相信了它说“不要持币待购”，那么今天你就会发现你12万买的夏利目前只值2万。<br />
8、 信仰的作用是塑造一个更强大的自己，所以你能向你自己恳求帮助。<br />
9、 不欺骗自己是最难的事。<br />
10、 不要欠别人钱。</p>
<p>发现还好，这十条我基本上都还真做到了。写下这些话的三年后，我重新选择了自己的生活。和三十岁之前相比，我认为我过得更加辛苦，自己也倍加勤力，但是，我也因此快乐了许多。担当会有压力，担当会很劳苦，可也正因为这样，当你深深地卷入生活，为沉重的磨盘碾压挤榨，你也才深切细致地体会到生活的每一道纹路，每一重滋味。知道这些，自己的生命也才有了重量和质量，认识到自己原来可以承受如此之多。而且在承受之与，还能顽强地开出花来。<br />
<strong></strong></p>
<p><strong>from:收假日</strong></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2010/03/02/2010%e5%b9%b43%e6%9c%881%e6%97%a5%e6%b1%87%e6%80%bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>卓有成效的程序员读后感</title>
		<link>http://cashplk.com/2010/03/02/%e5%8d%93%e6%9c%89%e6%88%90%e6%95%88%e7%9a%84%e7%a8%8b%e5%ba%8f%e5%91%98%e8%af%bb%e5%90%8e%e6%84%9f/</link>
		<comments>http://cashplk.com/2010/03/02/%e5%8d%93%e6%9c%89%e6%88%90%e6%95%88%e7%9a%84%e7%a8%8b%e5%ba%8f%e5%91%98%e8%af%bb%e5%90%8e%e6%84%9f/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 03:48:03 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[TW;Code;]]></category>

		<guid isPermaLink="false">http://cashplk.com/2010/03/02/%e5%8d%93%e6%9c%89%e6%88%90%e6%95%88%e7%9a%84%e7%a8%8b%e5%ba%8f%e5%91%98%e8%af%bb%e5%90%8e%e6%84%9f/</guid>
		<description><![CDATA[本书对应豆瓣的链接是:http://www.douban.com/subject/3558788/      
第二章 加速法则
Quicksilver:允许加载引用，进行文件维护，并支持其他行为。
IntelliJ有个东西叫key prompter,每当你使用菜单进行选择时，一个对话框就会弹出来告诉你可是使用的快捷键，以及你已经做错了多少次。
eclipse也有类似的软件：http://www.mousefeed.com
提示：在一段文本上执行某个特定操作的次数越多，就越有可能会再次重复它。
键盘宏工具：
win下最流行的键盘宏工具是autoHotKey,mac有2个属于“商业的但不贵”的那一类，比如textExpander和Typinator。
运用加速方法有2个条件：对加速器的了解，以及使用它们的适当场景。
第三章 专注法则
排除干扰
隔离策略
对于视觉打扰，应该关掉机器上所有分散注意力的东西。
搜索优于导航
用虚拟桌面拆分工作空间
第四章 自动化法则
做简单重复的事是在浪费注意力。
]]></description>
			<content:encoded><![CDATA[<p><b>本书对应豆瓣的链接是:<b><a href="http://www.douban.com/subject/3558788/">http://www.douban.com/subject/3558788/</a></b>      <br /></b></p>
<p><b>第二章 加速法则</b></p>
<p>Quicksilver:允许加载引用，进行文件维护，并支持其他行为。</p>
<p>IntelliJ有个东西叫key prompter,每当你使用菜单进行选择时，一个对话框就会弹出来告诉你可是使用的快捷键，以及你已经做错了多少次。</p>
<p>eclipse也有类似的软件：http://www.mousefeed.com</p>
<p>提示：在一段文本上执行某个特定操作的次数越多，就越有可能会再次重复它。</p>
<p>键盘宏工具：</p>
<p>win下最流行的键盘宏工具是autoHotKey,mac有2个属于“商业的但不贵”的那一类，比如textExpander和Typinator。</p>
<p>运用加速方法有2个条件：对加速器的了解，以及使用它们的适当场景。</p>
<p><b>第三章 专注法则</b></p>
<p>排除干扰</p>
<p>隔离策略</p>
<p>对于视觉打扰，应该关掉机器上所有分散注意力的东西。</p>
<p>搜索优于导航</p>
<p>用虚拟桌面拆分工作空间</p>
<p><b>第四章 自动化法则</b></p>
<p>做简单重复的事是在浪费注意力。</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2010/03/02/%e5%8d%93%e6%9c%89%e6%88%90%e6%95%88%e7%9a%84%e7%a8%8b%e5%ba%8f%e5%91%98%e8%af%bb%e5%90%8e%e6%84%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>旅行？？</title>
		<link>http://cashplk.com/2010/01/24/%e6%97%85%e8%a1%8c%ef%bc%9f%ef%bc%9f/</link>
		<comments>http://cashplk.com/2010/01/24/%e6%97%85%e8%a1%8c%ef%bc%9f%ef%bc%9f/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 11:32:10 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[travel;LV;peace]]></category>

		<guid isPermaLink="false">http://cashplk.com/2010/01/24/%e6%97%85%e8%a1%8c%ef%bc%9f%ef%bc%9f/</guid>
		<description><![CDATA[What is a journey? 何为旅行？   A journey is not a trip. 旅行不是一次出行，    It’s not a vacation. 也不只是一次假期。    It’s a process. A Discovery. 旅行是一次过程，一次发现。    It’s a process of self-discovery. 一次自我发现的过程。    A journey brings us face to face with ourselves. 真正的旅行让我们直面自我。   [...]]]></description>
			<content:encoded><![CDATA[<p>What is a journey? 何为旅行？   <br />A journey is not a trip. 旅行不是一次出行，    <br />It’s not a vacation. 也不只是一次假期。    <br />It’s a process. A Discovery. 旅行是一次过程，一次发现。    <br />It’s a process of self-discovery. 一次自我发现的过程。    <br />A journey brings us face to face with ourselves. 真正的旅行让我们直面自我。    <br />A journey shows us not only the world. 旅行，不仅让我看到了世界，    <br />But how we fit in it. 更让我们看到自己在其中的位置。    <br />Does the person create the journey 是我们创造了旅行？    <br />Or does the journey create the person? 还是旅行造就了我们？    <br />The journey is life itself. 生命本身就是一场旅行。    <br />Where will life take you. 生命将引领你走向何方？</p>
<p>&#8212; LV 广告</p>
<p>&#160;</p>
<p>很多时候，一段旅行是忽然出现在自己的脑海中然后成行的，但是，我总是执着的认定，这些看起来随性而至的突兀的旅行，其实在很早以前或许就已经被设定在自己的人生里，所以，每次旅行，那些应该完全陌生的地方们，总能给我仿佛已熟悉很久的安心。   <br />旅行是什么？    <br />一双坚定的脚，一双舒适的鞋和一只鼓鼓的包，再加上注视远方的眼神与向往自由的心情……    <br />可以是寻找，可以是逃避，可以是追忆，可以是奇遇……    <br />不管为了什么，行走的过程中都充满着惊喜……    <br />用脚丈量土地的同时，在丈量着自己……</p>
<p>&#8211; 左岸</p>
<p>旅行只是为了平复心中的不安，不该包含任何目的，一切只是平淡，除了平淡还是平淡，为了追寻心中的那个想法，旅行，找到自己想要的地方，找到心中的平静。</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2010/01/24/%e6%97%85%e8%a1%8c%ef%bc%9f%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>程序之设计</title>
		<link>http://cashplk.com/2010/01/24/%e7%a8%8b%e5%ba%8f%e4%b9%8b%e8%ae%be%e8%ae%a1/</link>
		<comments>http://cashplk.com/2010/01/24/%e7%a8%8b%e5%ba%8f%e4%b9%8b%e8%ae%be%e8%ae%a1/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 11:07:53 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[bug;code review;]]></category>

		<guid isPermaLink="false">http://cashplk.com/2010/01/24/%e7%a8%8b%e5%ba%8f%e4%b9%8b%e8%ae%be%e8%ae%a1/</guid>
		<description><![CDATA[程序设计：
对于我的团队，我会更乐于采用一种让实现人员更轻松的方式。不用理会太多的语言细节，不用在投入开发前学习更多的概念（尤其是这个项目独有的），不用特别严格的 code review 也可以允许大家提交新的代码，切不至于轻易的引入 bug 。 
我相信，软件做到后面，设计人员不需要亲自写太多代码。虽然我现在每天还是大量的写，也并不觉得枯燥。 
事必恭亲是不好，但并不是说，你给实现人员足够信任就可以放手的。真正让你放手的只能是，你做出了好的设计，无论是谁，他也写不坏它。这时，是你乐意自己写，还是多找几个同学帮忙写，已经不重要了。 
&#8211; 摘自 云风 blog
程序毕竟还是人写的，盲目的依靠工具和其他的东西，只是一个辅助，其中最关键的点，还是人的素质。大家的共识。流程是死的，人是活的。
]]></description>
			<content:encoded><![CDATA[<p>程序设计：</p>
<p>对于我的团队，我会更乐于采用一种让实现人员更轻松的方式。不用理会太多的语言细节，不用在投入开发前学习更多的概念（尤其是这个项目独有的），不用特别严格的 code review 也可以允许大家提交新的代码，切不至于轻易的引入 bug 。 </p>
<p>我相信，软件做到后面，设计人员不需要亲自写太多代码。虽然我现在每天还是大量的写，也并不觉得枯燥。 </p>
<p>事必恭亲是不好，但并不是说，你给实现人员足够信任就可以放手的。真正让你放手的只能是，你做出了好的设计，无论是谁，他也写不坏它。这时，是你乐意自己写，还是多找几个同学帮忙写，已经不重要了。 </p>
<p>&#8211; 摘自 云风 blog</p>
<p>程序毕竟还是人写的，盲目的依靠工具和其他的东西，只是一个辅助，其中最关键的点，还是人的素质。大家的共识。流程是死的，人是活的。</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2010/01/24/%e7%a8%8b%e5%ba%8f%e4%b9%8b%e8%ae%be%e8%ae%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>生活</title>
		<link>http://cashplk.com/2010/01/24/%e7%94%9f%e6%b4%bb/</link>
		<comments>http://cashplk.com/2010/01/24/%e7%94%9f%e6%b4%bb/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 11:06:11 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[life;friends;]]></category>

		<guid isPermaLink="false">http://cashplk.com/2010/01/24/%e7%94%9f%e6%b4%bb/</guid>
		<description><![CDATA[&#160;&#160;&#160; 最近工作繁忙，没有多余的时间研究技术。所以没啥产出，但是每天还是看了一堆的RSS，所以写的只能是写自己觉得好的东西了，杂七杂八。漫无目的，唯一的标准，个人感悟。觉得有意思。一时心态，一时文字。
&#160;
再坚强的人也会受伤，只不过面对的方法是将它隐忍，将它发泄，或者用超于平常的平静与疯狂去化解这之中的痛苦。
皮皮让我想起，现在身边很多人在抱怨父母对自己的不理解，上司和同事对自己的不公，甚至为了网络游戏和深爱自己的女朋友吵架。
生活在这个世界上，有事情做，有对未来的希望，有爱自己的人，有自己依恋的人，有可以去回忆的过去，手边有酒，嘴边有烟，这样就已经比很多人幸福的多了。人，不能总是在掉落悬崖之后，才留恋在平地行走的快感。不能总在自我欺骗的手淫过后，才在早泄中羡慕真实的忍耐。
&#8211; 摘自大胡子 blog
&#160;&#160;&#160;&#160;&#160; 随着年龄的增大，感觉朋友是越来越少了，年前又有一个朋友结婚了，婚毕，回家养老。只能自己安慰自己，毕竟那不是我想要的生活，继续在外漂泊。 今年为了他，一定要回家的。难得的朋友。就像上面写的如此。虽然低俗，道理却依然包含其中。
]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 最近工作繁忙，没有多余的时间研究技术。所以没啥产出，但是每天还是看了一堆的RSS，所以写的只能是写自己觉得好的东西了，杂七杂八。漫无目的，唯一的标准，个人感悟。觉得有意思。一时心态，一时文字。</p>
<p>&#160;</p>
<p>再坚强的人也会受伤，只不过面对的方法是将它隐忍，将它发泄，或者用超于平常的平静与疯狂去化解这之中的痛苦。</p>
<p>皮皮让我想起，现在身边很多人在抱怨父母对自己的不理解，上司和同事对自己的不公，甚至为了网络游戏和深爱自己的女朋友吵架。</p>
<p>生活在这个世界上，有事情做，有对未来的希望，有爱自己的人，有自己依恋的人，有可以去回忆的过去，手边有酒，嘴边有烟，这样就已经比很多人幸福的多了。人，不能总是在掉落悬崖之后，才留恋在平地行走的快感。不能总在自我欺骗的手淫过后，才在早泄中羡慕真实的忍耐。</p>
<p>&#8211; 摘自大胡子 blog</p>
<p>&#160;&#160;&#160;&#160;&#160; 随着年龄的增大，感觉朋友是越来越少了，年前又有一个朋友结婚了，婚毕，回家养老。只能自己安慰自己，毕竟那不是我想要的生活，继续在外漂泊。 今年为了他，一定要回家的。难得的朋友。就像上面写的如此。虽然低俗，道理却依然包含其中。</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2010/01/24/%e7%94%9f%e6%b4%bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>单片机的代码如何在C一级结构化呢？ &#8212; 发散</title>
		<link>http://cashplk.com/2009/11/30/%e5%8d%95%e7%89%87%e6%9c%ba%e7%9a%84%e4%bb%a3%e7%a0%81%e5%a6%82%e4%bd%95%e5%9c%a8c%e4%b8%80%e7%ba%a7%e7%bb%93%e6%9e%84%e5%8c%96%e5%91%a2%ef%bc%9f-%e5%8f%91%e6%95%a3/</link>
		<comments>http://cashplk.com/2009/11/30/%e5%8d%95%e7%89%87%e6%9c%ba%e7%9a%84%e4%bb%a3%e7%a0%81%e5%a6%82%e4%bd%95%e5%9c%a8c%e4%b8%80%e7%ba%a7%e7%bb%93%e6%9e%84%e5%8c%96%e5%91%a2%ef%bc%9f-%e5%8f%91%e6%95%a3/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 14:15:29 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[单片机]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[state模式]]></category>

		<guid isPermaLink="false">http://cashplk.com/2009/11/30/%e5%8d%95%e7%89%87%e6%9c%ba%e7%9a%84%e4%bb%a3%e7%a0%81%e5%a6%82%e4%bd%95%e5%9c%a8c%e4%b8%80%e7%ba%a7%e7%bb%93%e6%9e%84%e5%8c%96%e5%91%a2%ef%bc%9f-%e5%8f%91%e6%95%a3/</guid>
		<description><![CDATA[state模式处理多态的能力要比虚函数继承强很多也灵活很多。事实上，基于继承的虚函数实现多态，才是处理简单的interface的方法，更复杂的情况往往都是通过state模式来实现的。

&#160; 另外我补充一点，c++的多重继承毫无疑问是重型灾害，在任何情况下都不应该使用；但我说的是单继承——单继承也不是一个优先考虑的解决方案，类聚合在大部分情况下都优先于类继承。
&#160; 我还要说一点，继承虚函数仅仅是实现多态的一种方式，而且远远不是最好的方式。从灵活性，对应改变的能力，对复杂多态的实现能力上来说，state模式都胜过虚函数很多。
&#160; 回到老U的情况（很久没写c代码了，我写点伪码吧），你可以定义一个CSPI结构
struct CSPI{
&#160;&#160;&#160; void 通用函数1(){&#8230;&#8230;};
&#160;&#160;&#160; void 通用函数2(){&#8230;&#8230;};
&#160;&#160;&#160; &#8230;.
&#160;&#160;&#160; struct *具体硬件 = null；
&#160;&#160;&#160; void set(string 硬件名){
&#160;&#160;&#160;&#160;&#160;&#160;&#160; *具体硬件 = product(硬件名); //此处product函数返回对应于硬件名的子struct对象
&#160;&#160;&#160; }
&#160;&#160;&#160; void SPIRead (){
&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(具体硬件 == null) 抛出异常；
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 具体硬件-&#62;SPIRead ();
&#160;&#160;&#160; }
&#160;&#160;&#160; void SPIPowerDown(){
&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(具体硬件 == null) 抛出异常；
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 具体硬件-&#62;SPIPowerDown();
&#160;&#160;&#160; }
}
这样当你需要添加更多的子硬件类型的时候，CSPI结构不需要做任何修改，你需要做的就是写一个子硬件类型的struct，然后更新一下product方法(简单工厂)。

这个方法应该说是我最需要的static binding，而且它比macro控制好的地方是编译器仍然可以做类型检查；比interface好的地方是没有动态绑定，也不会有ripple effect。缺点是coding量比较大，因为每一个被调用的都需要全部实现所有的函数形式，但是考虑到它仍然有类型检查，以及单片机可怜的效率，这么做是值得的。
PS: 设计模式该看看了。
]]></description>
			<content:encoded><![CDATA[<p>state模式处理多态的能力要比虚函数继承强很多也灵活很多。事实上，基于继承的虚函数实现多态，才是处理简单的interface的方法，更复杂的情况往往都是通过state模式来实现的。</p>
<p><b></b></p>
<p>&#160; 另外我补充一点，c++的多重继承毫无疑问是重型灾害，在任何情况下都不应该使用；但我说的是单继承——单继承也不是一个优先考虑的解决方案，类聚合在大部分情况下都优先于类继承。</p>
<p>&#160; 我还要说一点，继承虚函数仅仅是实现多态的一种方式，而且远远不是最好的方式。从灵活性，对应改变的能力，对复杂多态的实现能力上来说，state模式都胜过虚函数很多。</p>
<p>&#160; 回到老U的情况（很久没写c代码了，我写点伪码吧），你可以定义一个CSPI结构</p>
<p>struct CSPI{</p>
<p>&#160;&#160;&#160; void 通用函数1(){&#8230;&#8230;};</p>
<p>&#160;&#160;&#160; void 通用函数2(){&#8230;&#8230;};</p>
<p>&#160;&#160;&#160; &#8230;.</p>
<p>&#160;&#160;&#160; struct *具体硬件 = null；</p>
<p>&#160;&#160;&#160; void set(string 硬件名){</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; *具体硬件 = product(硬件名); //此处product函数返回对应于硬件名的子struct对象</p>
<p>&#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; void SPIRead (){</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(具体硬件 == null) 抛出异常；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 具体硬件-&gt;SPIRead ();</p>
<p>&#160;&#160;&#160; }</p>
<p>&#160;&#160;&#160; void SPIPowerDown(){</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(具体硬件 == null) 抛出异常；</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 具体硬件-&gt;SPIPowerDown();</p>
<p>&#160;&#160;&#160; }</p>
<p>}</p>
<p>这样当你需要添加更多的子硬件类型的时候，CSPI结构不需要做任何修改，你需要做的就是写一个子硬件类型的struct，然后更新一下product方法(简单工厂)。</p>
</p>
<p>这个方法应该说是我最需要的static binding，而且它比macro控制好的地方是编译器仍然可以做类型检查；比interface好的地方是没有动态绑定，也不会有ripple effect。缺点是coding量比较大，因为每一个被调用的都需要全部实现所有的函数形式，但是考虑到它仍然有类型检查，以及单片机可怜的效率，这么做是值得的。</p>
<p>PS: 设计模式该看看了。</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2009/11/30/%e5%8d%95%e7%89%87%e6%9c%ba%e7%9a%84%e4%bb%a3%e7%a0%81%e5%a6%82%e4%bd%95%e5%9c%a8c%e4%b8%80%e7%ba%a7%e7%bb%93%e6%9e%84%e5%8c%96%e5%91%a2%ef%bc%9f-%e5%8f%91%e6%95%a3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个死循环</title>
		<link>http://cashplk.com/2009/09/29/%e4%b8%80%e4%b8%aa%e6%ad%bb%e5%be%aa%e7%8e%af/</link>
		<comments>http://cashplk.com/2009/09/29/%e4%b8%80%e4%b8%aa%e6%ad%bb%e5%be%aa%e7%8e%af/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 07:10:00 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[bad code]]></category>
		<category><![CDATA[dead loop]]></category>

		<guid isPermaLink="false">http://cashplk.com/2009/09/29/%e4%b8%80%e4%b8%aa%e6%ad%bb%e5%be%aa%e7%8e%af/</guid>
		<description><![CDATA[&#160;&#160;&#160;&#160;&#160;&#160;&#160; 同事在页面上写了个死循环，跟了半天才发现。具体代码如下：

for&#40;Iterator it = XXXX.iterator&#40;&#41;; it.hasNext&#40;&#41;;&#41;&#123;
        if&#40;XXX= XXX&#41;&#123;
                    XX1 =true;
        &#125;
          // OTHER [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 同事在页面上写了个死循环，跟了半天才发现。具体代码如下：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Iterator</span> it <span style="color: #339933;">=</span> XXXX.<span style="color: #006633;">iterator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> it.<span style="color: #006633;">hasNext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>XXX<span style="color: #339933;">=</span> XXX<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    XX1 <span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
          <span style="color: #666666; font-style: italic;">// OTHER CODE.</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>具体问题出现在这里， it.hasNext()。 如果使用 it.next()，就ok了。</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2009/09/29/%e4%b8%80%e4%b8%aa%e6%ad%bb%e5%be%aa%e7%8e%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java中使用JS解析器(JDK 1.6)</title>
		<link>http://cashplk.com/2009/09/28/java%e4%b8%ad%e4%bd%bf%e7%94%a8js%e8%a7%a3%e6%9e%90%e5%99%a8jdk-1-6/</link>
		<comments>http://cashplk.com/2009/09/28/java%e4%b8%ad%e4%bd%bf%e7%94%a8js%e8%a7%a3%e6%9e%90%e5%99%a8jdk-1-6/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 06:56:29 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[expression]]></category>
		<category><![CDATA[java script]]></category>
		<category><![CDATA[jdk1.6]]></category>

		<guid isPermaLink="false">http://cashplk.com/2009/09/28/java%e4%b8%ad%e4%bd%bf%e7%94%a8js%e8%a7%a3%e6%9e%90%e5%99%a8jdk-1-6/</guid>
		<description><![CDATA[最近项目中涉及以下情景，针对用户设置一对规则，用户申请的时候按照设定的规则进行验证。
表结构如下：
规则表：



rule_id
rule_type
rule_name
status


规则Id
规则类型
规则名称
状态



规则明细表：



rule_id
rule_detail_id
rule_name
rule_Type
expression
rule_value


规则Id
明细规则Id
规则名称
规则key
表达式（&#62;=,==,&#60;=,&#60;,&#62;）
规则值



涉及规则值的判断和解析，找了半天，高手指点使用JS解析。代码如下（JDK1.6）:

import javax.script.ScriptEngineManager;
&#160;
ScriptEngineManager factory = new ScriptEngineManager&#40;&#41;;
&#160;
ScriptEngine engine = factory.getEngineByName&#40;“JavaScript”&#41;;
&#160;
String ruleType = &#34;1&#34;;
&#160;
String expression = &#34;&#38;gt;&#34;;
&#160;
long ruleValue = 111;
&#160;
long v = 222;               // 需要验证的值
&#160;
JavaScriptValue j = new JavaScriptValue&#40;ruleType, v&#41;;
&#160;
engine.eval&#40;j.toSting&#40;&#41;&#41;;
&#160;
Boolean b = &#40;Boolean&#41;engine.eval&#40;ruleType + expression + ruleValue&#41;;   // 判断2个表达式是否相等

]]></description>
			<content:encoded><![CDATA[<p>最近项目中涉及以下情景，针对用户设置一对规则，用户申请的时候按照设定的规则进行验证。</p>
<p>表结构如下：</p>
<p>规则表：</p>
<table border="1" cellspacing="0" cellpadding="2" width="379">
<tbody>
<tr>
<td width="91" valign="top">rule_id</td>
<td width="99" valign="top">rule_type</td>
<td width="104" valign="top">rule_name</td>
<td width="83" valign="top">status</td>
</tr>
<tr>
<td width="90" valign="top">规则Id</td>
<td width="100" valign="top">规则类型</td>
<td width="106" valign="top">规则名称</td>
<td width="83" valign="top">状态</td>
</tr>
</tbody>
</table>
<p>规则明细表：</p>
<table border="1" cellspacing="0" cellpadding="10" width="525">
<tbody>
<tr>
<td width="66" valign="top">rule_id</td>
<td width="109" valign="top">rule_detail_id</td>
<td width="90" valign="top">rule_name</td>
<td width="77" valign="top">rule_Type</td>
<td width="92" valign="top">expression</td>
<td width="89" valign="top">rule_value</td>
</tr>
<tr>
<td width="66" valign="top">规则Id</td>
<td width="109" valign="top">明细规则Id</td>
<td width="90" valign="top">规则名称</td>
<td width="77" valign="top">规则key</td>
<td width="92" valign="top">表达式（&gt;=,==,&lt;=,&lt;,&gt;）</td>
<td width="89" valign="top">规则值</td>
</tr>
</tbody>
</table>
<p>涉及规则值的判断和解析，找了半天，高手指点使用JS解析。代码如下（JDK1.6）:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.script.ScriptEngineManager</span><span style="color: #339933;">;</span>
&nbsp;
ScriptEngineManager factory <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ScriptEngineManager<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
ScriptEngine engine <span style="color: #339933;">=</span> factory.<span style="color: #006633;">getEngineByName</span><span style="color: #009900;">&#40;</span>“JavaScript”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">String</span> ruleType <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;1&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">String</span> expression <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&amp;gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">long</span> ruleValue <span style="color: #339933;">=</span> <span style="color: #cc66cc;">111</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">long</span> v <span style="color: #339933;">=</span> <span style="color: #cc66cc;">222</span><span style="color: #339933;">;</span>               <span style="color: #666666; font-style: italic;">// 需要验证的值</span>
&nbsp;
JavaScriptValue j <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> JavaScriptValue<span style="color: #009900;">&#40;</span>ruleType, v<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
engine.<span style="color: #006633;">eval</span><span style="color: #009900;">&#40;</span>j.<span style="color: #006633;">toSting</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">Boolean</span> b <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Boolean</span><span style="color: #009900;">&#41;</span>engine.<span style="color: #006633;">eval</span><span style="color: #009900;">&#40;</span>ruleType <span style="color: #339933;">+</span> expression <span style="color: #339933;">+</span> ruleValue<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// 判断2个表达式是否相等</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2009/09/28/java%e4%b8%ad%e4%bd%bf%e7%94%a8js%e8%a7%a3%e6%9e%90%e5%99%a8jdk-1-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>项目发布踩到地雷</title>
		<link>http://cashplk.com/2009/09/25/%e9%a1%b9%e7%9b%ae%e5%8f%91%e5%b8%83%e8%b8%a9%e5%88%b0%e5%9c%b0%e9%9b%b7/</link>
		<comments>http://cashplk.com/2009/09/25/%e9%a1%b9%e7%9b%ae%e5%8f%91%e5%b8%83%e8%b8%a9%e5%88%b0%e5%9c%b0%e9%9b%b7/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 03:51:20 +0000</pubDate>
		<dc:creator>cashplk</dc:creator>
				<category><![CDATA[new technology]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[notifyManager]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://cashplk.com/?p=88</guid>
		<description><![CDATA[项目周五发布，周一的时候，老大说我们的项目踩到地雷了。
跟踪了一下，发现是这样的：
方法A中声明了 notifyManager，然后顺手生成了getter和setter，结果却没有使用，在方法里面自己又 new 了一个，然后代码里面判断，
if(notifyManager != null){
         return null;
         NotifyManager notifyManager  = new NotifyManager();
         // TODO  other things
}
我们项目中又确实在spring的配置文件中注入了notifyManager的这个bean，结果就出问题了。
虽然不是我们的问题，不过还是可以学到东西的：
1，自己会new的方法千万不要写getter和setter，避免spring初始化注入的干扰。
2，需要代码REVIEW，避免出现这种问题。
q
]]></description>
			<content:encoded><![CDATA[<p>项目周五发布，周一的时候，老大说我们的项目踩到地雷了。</p>
<p>跟踪了一下，发现是这样的：</p>
<p>方法A中声明了 notifyManager，然后顺手生成了getter和setter，结果却没有使用，在方法里面自己又 new 了一个，然后代码里面判断，</p>
<p>if(notifyManager != null){<br />
         return null;<br />
         NotifyManager notifyManager  = new NotifyManager();</p>
<p>         // TODO  other things<br />
}</p>
<p>我们项目中又确实在spring的配置文件中注入了notifyManager的这个bean，结果就出问题了。</p>
<p>虽然不是我们的问题，不过还是可以学到东西的：<br />
1，自己会new的方法千万不要写getter和setter，避免spring初始化注入的干扰。<br />
2，需要代码REVIEW，避免出现这种问题。</p>
<p>q</p>
]]></content:encoded>
			<wfw:commentRss>http://cashplk.com/2009/09/25/%e9%a1%b9%e7%9b%ae%e5%8f%91%e5%b8%83%e8%b8%a9%e5%88%b0%e5%9c%b0%e9%9b%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
