<?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>Michael`s blog &#187; 其他技术</title>
	<atom:link href="http://www.toplee.com/blog/category/%e6%8a%80%e6%9c%af/%e5%85%b6%e4%bb%96%e6%8a%80%e6%9c%af/feed" rel="self" type="application/rss+xml" />
	<link>http://www.toplee.com/blog</link>
	<description>活到老，学到老 ...   @ IT，业界，互联网</description>
	<lastBuildDate>Mon, 19 Jul 2010 05:38:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>苦战两晚，flash web游戏防作弊1.0版搞定</title>
		<link>http://www.toplee.com/blog/978.html</link>
		<comments>http://www.toplee.com/blog/978.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 09:14:18 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[创业 / 管理 / 投资]]></category>
		<category><![CDATA[作弊]]></category>
		<category><![CDATA[变速齿轮]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[蹦心]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=978</guid>
		<description><![CDATA[虽然没有奖励，只是放松而已，蹦心的小游戏还是不少朋友来玩儿，发现有部分对技术有兴趣的朋友尝试模拟数据提交作弊，还有使用变速齿轮的，虽然只是好玩儿，但是可能会影响他人的积极性，于是，苦战了两个晚上，终于搞定了防止模拟数据提交和变速齿轮的问题，尤其是变速齿轮，尝试了好多方法才搞定，这几天研究AS3，边问朋友，边抱着手册看，居然搞定了，哈哈，小佩服自己一下。 后面如果有破解，还可以在当前的算法下简单升级改造一下，没有绝对的安全，但是至少现在已经非常难作弊了。 你也去玩儿玩儿蹦心游戏吧，很多游戏还是很有乐趣和挑战的： http://www.bengxin.com/game/]]></description>
			<content:encoded><![CDATA[<p>虽然没有奖励，只是放松而已，蹦心的小游戏还是不少朋友来玩儿，发现有部分对技术有兴趣的朋友尝试模拟数据提交作弊，还有使用变速齿轮的，虽然只是好玩儿，但是可能会影响他人的积极性，于是，苦战了两个晚上，终于搞定了防止模拟数据提交和变速齿轮的问题，尤其是变速齿轮，尝试了好多方法才搞定，这几天研究AS3，边问朋友，边抱着手册看，居然搞定了，哈哈，小佩服自己一下。</p>
<p>后面如果有破解，还可以在当前的算法下简单升级改造一下，没有绝对的安全，但是至少现在已经非常难作弊了。 </p>
<p>你也去玩儿玩儿蹦心游戏吧，很多游戏还是很有乐趣和挑战的： <a href="http://www.bengxin.com/game/index.php?f=998" target="_blank">http://www.bengxin.com/game/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/978.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Haproxy/ Varnish/ Cherokee/ Nginx/ Lighttpd</title>
		<link>http://www.toplee.com/blog/917.html</link>
		<comments>http://www.toplee.com/blog/917.html#comments</comments>
		<pubDate>Fri, 21 Aug 2009 09:53:14 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=917</guid>
		<description><![CDATA[最近在蹦心的开发环境下交叉对比测试了标题中各个牛X东东的组合架构，最后采用的结构是: Haproxy->Varnish->Nginx/Cherokee/Lighttpd 前端使用Haproxy作为BigIP的负载均衡节点，最新版对双机热备、L7交换均有较好支持，友好的web状态监控也很不错；至于为什么不选择Varnish、Nginx或者LVS作为负载均衡，不多说了，具体问题可以和我探讨； 在Haproxy下挂载Varnish作为cache和二级负载分发处理层，考虑因素是比squid更好的可配置性和理论性能数据； 后端的web server优先考虑Nginx，其次进行了部分节点部署Cherokee，一方面为了测试性能，也是为了跟踪该软件后续升级后的表现，从目前我的测试环境来看，并非有Nginx性能好，因为从Haproxy的优先选择结果来看，更多的会选择Nginx后端分发请求，即使有weight优先的情况下。Lightpd逐渐的退出我们的系统了，更新的停滞和相对性能无优势的现状使得被我逐渐放弃。 其实从很多中小站点来说，对于使用Haproxy还是Varnish或者Nginx做负载均衡，差别都是不大的，理论的测试数据对中小站点来说，没有太多实际意义，选择一个最熟悉，配置最方便的才是最好的，综合实际情况来说，用Nginx作为负载均衡还是不错的，比如可以集中处理日志，灵活的配置文件语法可以方便的使用正则配置L7交换逻辑，这些都是很实际的。 随着蹦心的发展，将不断根据具体情况调整架构并且随时和大家分享经验。]]></description>
			<content:encoded><![CDATA[<p>最近在蹦心的开发环境下交叉对比测试了标题中各个牛X东东的组合架构，最后采用的结构是:</p>
<p>Haproxy->Varnish->Nginx/Cherokee/Lighttpd </p>
<p>前端使用Haproxy作为BigIP的负载均衡节点，最新版对双机热备、L7交换均有较好支持，友好的web状态监控也很不错；至于为什么不选择Varnish、Nginx或者LVS作为负载均衡，不多说了，具体问题可以和我探讨；</p>
<p>在Haproxy下挂载Varnish作为cache和二级负载分发处理层，考虑因素是比squid更好的可配置性和理论性能数据；</p>
<p>后端的web server优先考虑Nginx，其次进行了部分节点部署Cherokee，一方面为了测试性能，也是为了跟踪该软件后续升级后的表现，从目前我的测试环境来看，并非有Nginx性能好，因为从Haproxy的优先选择结果来看，更多的会选择Nginx后端分发请求，即使有weight优先的情况下。Lightpd逐渐的退出我们的系统了，更新的停滞和相对性能无优势的现状使得被我逐渐放弃。</p>
<p>其实从很多中小站点来说，对于使用Haproxy还是Varnish或者Nginx做负载均衡，差别都是不大的，理论的测试数据对中小站点来说，没有太多实际意义，选择一个最熟悉，配置最方便的才是最好的，综合实际情况来说，用Nginx作为负载均衡还是不错的，比如可以集中处理日志，灵活的配置文件语法可以方便的使用正则配置L7交换逻辑，这些都是很实际的。</p>
<p>随着蹦心的发展，将不断根据具体情况调整架构并且随时和大家分享经验。</p>
<div id="attachment_921" class="wp-caption alignnone" style="width: 310px"><a href="http://www.toplee.com/blog/wp-content/uploads/2009/08/2009-08-21_175716.jpg"><img src="http://www.toplee.com/blog/wp-content/uploads/2009/08/2009-08-21_175716-300x178.jpg" alt="开发环境下的haproxy监控，点击图片看大图" title="2009-08-21_175716" width="300" height="178" class="size-medium wp-image-921" /></a><p class="wp-caption-text">开发环境下的haproxy监控，点击图片看大图</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/917.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>建议大家用Google的Chrome浏览器访问蹦心</title>
		<link>http://www.toplee.com/blog/914.html</link>
		<comments>http://www.toplee.com/blog/914.html#comments</comments>
		<pubDate>Wed, 19 Aug 2009 12:15:02 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[bengxin]]></category>
		<category><![CDATA[chrome]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=914</guid>
		<description><![CDATA[Google的Chrome浏览器在JS处理上速度明显快很多，它目前的JS引擎是要比其他浏览器要领先很多，尤其蹦心使用了Google地图的部分JS代码，使用Chrome浏览器能有效的提高速度，减小客户端的系统消耗，从我的使用来看，Chrome浏览器的体积不大，系统消耗小，明显比IE、TT等浏览器轻便快捷很多，建议大家使用，我已经把设置了至少5年的默认浏览器从TT变成了Chrome，目前的感受不错，早晨开到晚上不关闭，机器正常，浏览网页也保持了速度和稳定，目前发现的问题有不能拖拽文字和链接，还有屏幕取词软件貌似也有不能正常工作的情况，这些都是可以暂时忍受的小问题了 Chrome下载地址： http://www.google.com/chrome]]></description>
			<content:encoded><![CDATA[<p>Google的Chrome浏览器在JS处理上速度明显快很多，它目前的JS引擎是要比其他浏览器要领先很多，尤其蹦心使用了Google地图的部分JS代码，使用Chrome浏览器能有效的提高速度，减小客户端的系统消耗，从我的使用来看，Chrome浏览器的体积不大，系统消耗小，明显比IE、TT等浏览器轻便快捷很多，建议大家使用，我已经把设置了至少5年的默认浏览器从TT变成了Chrome，目前的感受不错，早晨开到晚上不关闭，机器正常，浏览网页也保持了速度和稳定，目前发现的问题有不能拖拽文字和链接，还有屏幕取词软件貌似也有不能正常工作的情况，这些都是可以暂时忍受的小问题了 <img src='http://www.toplee.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Chrome下载地址：<a href="http://www.google.com/chrome" target="_blank"> http://www.google.com/chrome</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/914.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>蹦心针对SEO的URL rewrite部分优化</title>
		<link>http://www.toplee.com/blog/911.html</link>
		<comments>http://www.toplee.com/blog/911.html#comments</comments>
		<pubDate>Sat, 15 Aug 2009 11:50:44 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[蹦心]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=911</guid>
		<description><![CDATA[这次整理的主要是小组group和个人空间space两个部分，分别对Lighttpd和Nginx两种环境进行了配置，初步观察，百度对蹦心的收录正在改善 范例： new url: http://www.bengxin.com/space/album-10068.html old url: http://www.bengxin.com/space/album/index.php?uid=10068 欢迎大家给我提SEO的建议和蹦心改进的点子！]]></description>
			<content:encoded><![CDATA[<p>这次整理的主要是小组group和个人空间space两个部分，分别对Lighttpd和Nginx两种环境进行了配置，初步观察，百度对蹦心的收录正在改善 <img src='http://www.toplee.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>范例：<br />
new url:  <a href="http://www.bengxin.com/space/album-10068.html" target="_blank">http://www.bengxin.com/space/album-10068.html</a><br />
old url:  <a href="http://www.bengxin.com/space/album/index.php?uid=10068" target="_blank">http://www.bengxin.com/space/album/index.php?uid=10068</a></p>
<p>欢迎大家给我提SEO的建议和蹦心改进的点子！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/911.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>网站架构必须掌握的几把利器</title>
		<link>http://www.toplee.com/blog/738.html</link>
		<comments>http://www.toplee.com/blog/738.html#comments</comments>
		<pubDate>Sat, 15 Nov 2008 08:22:00 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[架构]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=738</guid>
		<description><![CDATA[LVS/HAProxy/Squid/Varnish/Nginx/Apache/Lighttpd 当然，如果有钱，可以使用F5/Alteon 如果想成为网站系统架构的运维高手，这些你都掌握了吗？另外，我的意思也不是说掌握了这些就一定是高手了 学无止境，人外有人！]]></description>
			<content:encoded><![CDATA[<p>LVS/HAProxy/Squid/Varnish/Nginx/Apache/Lighttpd</p>
<p>当然，如果有钱，可以使用F5/Alteon</p>
<p>如果想成为网站系统架构的运维高手，这些你都掌握了吗？另外，我的意思也不是说掌握了这些就一定是高手了 <img src='http://www.toplee.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  学无止境，人外有人！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/738.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>3G手机开通一天试用报告</title>
		<link>http://www.toplee.com/blog/616.html</link>
		<comments>http://www.toplee.com/blog/616.html#comments</comments>
		<pubDate>Tue, 09 Sep 2008 16:10:26 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[TD-SCDMA]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=616</guid>
		<description><![CDATA[打拿到移动的TD测试手机后，隔了一个多礼拜，昨天晚上正式收到开通确认短信，于是赶紧测试各种功能，目前的大致情况如下： 1. 龙腾td290的机器实在破，里面连格式化存储卡的功能都没有，而且菜单设置非常不合理，免费的东西也就差不多这样了。 2. 测试用手机直接上移动网站看电视，比较流畅，第一感觉速度还是不错，然后想下载点儿歌，真是很费劲，转来转去都是绕进彩铃里面去了，实际上，和TD网络配套的3G服务应用目前整体感觉没有跟上，资源匮乏。 3. 测试了视频电话，画面基本能接受，还是能满足日常使用的，不过TD290手机的低端再次体现，没说几句话，明显感觉手机温度上升，而且扬声器导致的回音啸叫声经常出现。 4. 今晚测试用usb线连接笔记本拨号上网，感觉非常好，理论上的TD网络上行速度128Kbps和下行384Kbps效果不错，在百度mp3上搜了一首歌试听很流畅，然后去了六间房和优酷测试在线看视频，也很流畅，没有出现卡的现象，然后测试了用迅雷下载QQ软件，连接速度在35K上下，感觉很好。 总结： TD290机器太破、3G网络资源匮乏、视频电话基本满意、上网速度很不错。 接下来还有什么新的体验感受还得等我多用一段时间后再分享 下面是几张我连接笔记上网的截图： 百度听歌 优酷看视频，速度很流畅 六间房看视频，加载没有优酷快，不过也没有卡 迅雷下载软件，速度35K上下稳定]]></description>
			<content:encoded><![CDATA[<p>打拿到移动的TD测试手机后，隔了一个多礼拜，昨天晚上正式收到开通确认短信，于是赶紧测试各种功能，目前的大致情况如下：</p>
<p>1. 龙腾td290的机器实在破，里面连格式化存储卡的功能都没有，而且菜单设置非常不合理，免费的东西也就差不多这样了。<br />
2. 测试用手机直接上移动网站看电视，比较流畅，第一感觉速度还是不错，然后想下载点儿歌，真是很费劲，转来转去都是绕进彩铃里面去了，实际上，和TD网络配套的3G服务应用目前整体感觉没有跟上，资源匮乏。<br />
3. 测试了视频电话，画面基本能接受，还是能满足日常使用的，不过TD290手机的低端再次体现，没说几句话，明显感觉手机温度上升，而且扬声器导致的回音啸叫声经常出现。<br />
4. 今晚测试用usb线连接笔记本拨号上网，感觉非常好，理论上的TD网络上行速度128Kbps和下行384Kbps效果不错，在百度mp3上搜了一首歌试听很流畅，然后去了六间房和优酷测试在线看视频，也很流畅，没有出现卡的现象，然后测试了用迅雷下载QQ软件，连接速度在35K上下，感觉很好。</p>
<p><strong>总结： TD290机器太破、3G网络资源匮乏、视频电话基本满意、上网速度很不错。</strong><br />
接下来还有什么新的体验感受还得等我多用一段时间后再分享 <img src='http://www.toplee.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>下面是几张我连接笔记上网的截图：</p>
<p>百度听歌<br />
<a href='http://www.toplee.com/blog/wp-content/uploads/2008/09/e4b88ae7bd91e799bee5baa6e590ace6ad8c.jpg' target="_blank"><img src="http://www.toplee.com/blog/wp-content/uploads/2008/09/e4b88ae7bd91e799bee5baa6e590ace6ad8c-300x184.jpg" alt="百度听歌" title="e4b88ae7bd91e799bee5baa6e590ace6ad8c" width="300" height="184" class="alignnone size-medium wp-image-617" /></a><br />
<span id="more-616"></span><br />
优酷看视频，速度很流畅<br />
<a href='http://www.toplee.com/blog/wp-content/uploads/2008/09/e4bc98e985b7e8a786e9a291e692ade694be.jpg' target="_blank"><img src="http://www.toplee.com/blog/wp-content/uploads/2008/09/e4bc98e985b7e8a786e9a291e692ade694be-300x234.jpg" alt="优酷看视频" title="e4bc98e985b7e8a786e9a291e692ade694be" width="300" height="234" class="alignnone size-medium wp-image-618" /></a></p>
<p>六间房看视频，加载没有优酷快，不过也没有卡<br />
<a href='http://www.toplee.com/blog/wp-content/uploads/2008/09/6cne8a786e9a291e692ade694be.jpg' target="_blank"><img src="http://www.toplee.com/blog/wp-content/uploads/2008/09/6cne8a786e9a291e692ade694be-300x207.jpg" alt="六间房看视频" title="6cne8a786e9a291e692ade694be" width="300" height="207" class="alignnone size-medium wp-image-619" /></a></p>
<p>迅雷下载软件，速度35K上下稳定<br />
<a href='http://www.toplee.com/blog/wp-content/uploads/2008/09/e8bf85e99bb7e4b88be8bdbdqqe8bdafe4bbb6.jpg' target="_blank"><img src="http://www.toplee.com/blog/wp-content/uploads/2008/09/e8bf85e99bb7e4b88be8bdbdqqe8bdafe4bbb6-300x260.jpg" alt="迅雷下载软件" title="e8bf85e99bb7e4b88be8bdbdqqe8bdafe4bbb6" width="300" height="260" class="alignnone size-medium wp-image-620" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/616.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让Editplus和SVN集成</title>
		<link>http://www.toplee.com/blog/615.html</link>
		<comments>http://www.toplee.com/blog/615.html#comments</comments>
		<pubDate>Tue, 02 Sep 2008 15:47:41 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[editplus]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=615</guid>
		<description><![CDATA[很多人用Editplus， 但是修改了文件后，需要切换到文件目录，点击鼠标右键使用TortoiseSVN的提交菜单项来提交，需要增加很多鼠标点击和确认的操作，对于频繁修改的文件来说，非常麻烦，今天研究了一番，找到个好的解决办法： 先下载 http://www.sliksvn.com/pub/Slik-Subversion-1.5.2-win32.msi 安装上，这是一个在windows上提供标准svn命令行的工具，使用默认安装到C盘的相应目录下即可。 然后把我下面的文件内容复制后保存为tool.ini，存放在editplus的安装目录下。 启动editplus，打开一个svn里面的文件，修改一下，然后按 CTRL+1 即可方便的提交， 按 CTRL + 2 即可更新当前文件，是不是非常方便？ 呵呵，绝对的原创内容！ tool.ini文件内容： [Tools\0]Count=2Text=Group 1[Tools\0\0]Text=SVN commitCommand=C:\Program Files\SlikSvn\bin\svn.exeArgument=commit -m &#34;&#34; $(FilePath) --non-interactiveInitDir=$(FileDir)RedirOut=1Stdin=0Plugin=0Save=1Pattern=0Pattern Regex=Close=0Help=0[Tools\1]Count=0Text=Group 2[Tools\2]Count=0Text=Group 3[Tools\3]Count=0Text=Group 4[Tools\4]Count=0Text=Group 5[Tools\5]Count=0Text=Group 6[Tools\6]Count=0Text=Group 7[Tools\7]Count=0Text=Group 8[Tools\8]Count=0Text=Group 9[Tools\9]Count=0Text=Group 10[Tools\0\1]Text=SVN updateCommand=C:\Program Files\SlikSvn\bin\svn.exeArgument=update $(FilePath)InitDir=$(FileDir)RedirOut=1Stdin=0Plugin=0Save=1Pattern=0Pattern Regex=Close=0Help=0]]></description>
			<content:encoded><![CDATA[<p>很多人用Editplus， 但是修改了文件后，需要切换到文件目录，点击鼠标右键使用TortoiseSVN的提交菜单项来提交，需要增加很多鼠标点击和确认的操作，对于频繁修改的文件来说，非常麻烦，今天研究了一番，找到个好的解决办法：</p>
<p>先下载 <a href="http://www.sliksvn.com/pub/Slik-Subversion-1.5.2-win32.msi ">http://www.sliksvn.com/pub/Slik-Subversion-1.5.2-win32.msi</a> 安装上，这是一个在windows上提供标准svn命令行的工具，使用默认安装到C盘的相应目录下即可。</p>
<p>然后把我下面的文件内容复制后保存为tool.ini，存放在editplus的安装目录下。</p>
<p>启动editplus，打开一个svn里面的文件，修改一下，然后按 CTRL+1 即可方便的提交， 按 CTRL + 2 即可更新当前文件，是不是非常方便？ 呵呵，绝对的原创内容！<br />
tool.ini文件内容：<br />
 <span id="more-615"></span></p>
<div class="hl-surround"><div class="hl-main">[Tools\0]<br />Count=2<br />Text=Group 1<br />[Tools\0\0]<br />Text=SVN commit<br />Command=C:\Program Files\SlikSvn\bin\svn.exe<br />Argument=commit -m &quot;&quot; $(FilePath) --non-interactive<br />InitDir=$(FileDir)<br />RedirOut=1<br />Stdin=0<br />Plugin=0<br />Save=1<br />Pattern=0<br />Pattern Regex=<br />Close=0<br />Help=0<br />[Tools\1]<br />Count=0<br />Text=Group 2<br />[Tools\2]<br />Count=0<br />Text=Group 3<br />[Tools\3]<br />Count=0<br />Text=Group 4<br />[Tools\4]<br />Count=0<br />Text=Group 5<br />[Tools\5]<br />Count=0<br />Text=Group 6<br />[Tools\6]<br />Count=0<br />Text=Group 7<br />[Tools\7]<br />Count=0<br />Text=Group 8<br />[Tools\8]<br />Count=0<br />Text=Group 9<br />[Tools\9]<br />Count=0<br />Text=Group 10<br />[Tools\0\1]<br />Text=SVN update<br />Command=C:\Program Files\SlikSvn\bin\svn.exe<br />Argument=update $(FilePath)<br />InitDir=$(FileDir)<br />RedirOut=1<br />Stdin=0<br />Plugin=0<br />Save=1<br />Pattern=0<br />Pattern Regex=<br />Close=0<br />Help=0</div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/615.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>给Firefox3增加baidu搜索并设置搜索默认打开新tab</title>
		<link>http://www.toplee.com/blog/614.html</link>
		<comments>http://www.toplee.com/blog/614.html#comments</comments>
		<pubDate>Sun, 31 Aug 2008 07:51:54 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[baidu]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=614</guid>
		<description><![CDATA[默认情况下，firefox3使用Google作为搜索引擎，同时还不能直接配置添加baidu的搜索，可以找到你Firefox安装路径下的searchplugins目录，把下面的内容保存为baidu.xml放入该目录，回到firefox里面设置搜索引擎就可以了。 &#60;SearchPlugin xmlns=&#34;http://www.mozilla.org/2006/browser/search/&#34; xmlns:os=&#34;http://a9.com/-/spec/opensearch/1.1/&#34;&#62;&#60;os:ShortName&#62;Baidu (Chs)&#60;/os:ShortName&#62;&#60;os:Description&#62;Baidu (Chs)&#60;/os:Description&#62;&#60;os:InputEncoding&#62;UTF-8&#60;/os:InputEncoding&#62;&#60;os:Image width=&#34;16&#34; height=&#34;16&#34;&#62;data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFGwQ7HFL7cKcAAAI9SURBVDjLnZPLS5RRGMZ/3zffzKRZRqQiqAy0yV2k1ipaGEIEQbSxggxq08XILgRRRHYhov6BgjbVIhEJoqCWLSpBgki8zSV0RnM0p1FjnO9yzttinBuz84UD73MO5znPed73Nbg3JgBoAdGgAaVyWGnQOoe9fF6ClYcFILda2UgYJz9ioqXiIDxl87B/kdGfWQAiYZtYxKlkUB4mWpftOY7w4vkyr16u8ORRiljE4WzPPJfOJytJlC5XkP6rCAQMtIJtNT6CfoPUkmIto/E8IbWkygk8hYXKKZiZdum/vcimKpPOrmrSKcXutiDt+6o4faa2cCc+49Lc4i8ogBvfRURk4HVaQg1Tsn/vLxERiYZtya5pyUc0bMvxYwnpPhqX33OuiIhwaEAKHoR2Bmhq9lNXb/Hh3T8A+i7Oc6V3nljEYWhwlVjUYWQ4S2LGzSnQGgud+9ee9iouX9/OQtJjV2uAvgtJJsZtAkGTxQXF3Qd1fPuaobHRYke9r8QDL6fA54PDR2qYS3hc7U0yOW7jueC5mi+f17h5bYHHTxtIxF1CoUBJFbyis9Gwy6VzScZGHVy33PCJMYf7d/7Q1OIHI19GhZmvgggMvVlh9IeN61Y2VzqtGRnOEp8uYdYaC1VU4A8Y2LZgmoCA1oJhGlg+ECCT0czNeiWNJEUPDANO9NQym/CYmnTYusXkwMFqAN4OrrKc1rR1BOns2lymAE59ko0GHc/EQmmM7vfFMVV6fVTXc63Ak9xrhSWF8f8P3gWJ2CXawYUAAAAASUVORK5CYII=&#60;/os:Image&#62;&#60;SearchForm&#62;http://www.baidu.com&#60;/SearchForm&#62;&#60;os:Url type=&#34;text/html&#34; method=&#34;GET&#34; template=&#34;http://www.baidu.com/s?ie=utf-8&#38;amp;oe=utf-8&#38;amp;ct=0&#38;amp;wd={searchTerms}&#34;&#62;&#60;/os:Url&#62;&#60;os:Url type=&#34;application/x-suggestions+json&#34; method=&#34;GET&#34; template=&#34;http://www.baidu.com/s?ie=utf-8&#38;amp;oe=utf-8&#38;amp;ct=0&#38;amp;wd={searchTerms}&#34;&#62;&#60;/os:Url&#62;&#60;/SearchPlugin&#62; 另外，在firefox的搜索框里面输入内容回车会在当前tab下显示搜索结果，如果同时按住alt键可以新开tab显示搜索结果页面，但是感觉还是不方便，可以通过如下方式设置默认打开新tab窗口显示结果。 1. 在地址栏里面输入 about:config 回车进入firefox设置页面 2. 找到browser.search.openintab项，双击该项，则把默认值false修改为了true 重新打开firefox完成设置。]]></description>
			<content:encoded><![CDATA[<p>默认情况下，firefox3使用Google作为搜索引擎，同时还不能直接配置添加baidu的搜索，可以找到你Firefox安装路径下的searchplugins目录，把下面的内容保存为baidu.xml放入该目录，回到firefox里面设置搜索引擎就可以了。<br />
<span id="more-614"></span></p>
<div class="hl-surround"><div class="hl-main">&lt;SearchPlugin xmlns=&quot;http://www.mozilla.org/2006/browser/search/&quot; xmlns:os=&quot;http://a9.com/-/spec/opensearch/1.1/&quot;&gt;<br />&lt;os:ShortName&gt;Baidu (Chs)&lt;/os:ShortName&gt;<br />&lt;os:Description&gt;Baidu (Chs)&lt;/os:Description&gt;<br />&lt;os:InputEncoding&gt;UTF-8&lt;/os:InputEncoding&gt;<br />&lt;os:Image width=&quot;16&quot; height=&quot;16&quot;&gt;data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A<br />/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFGwQ7HFL7cKcAAAI9SURBVDjL<br />nZPLS5RRGMZ/3zffzKRZRqQiqAy0yV2k1ipaGEIEQbSxggxq08XILgRRRHYhov6BgjbVIhEJoqCW<br />LSpBgki8zSV0RnM0p1FjnO9yzttinBuz84UD73MO5znPed73Nbg3JgBoAdGgAaVyWGnQOoe9fF6C<br />lYcFILda2UgYJz9ioqXiIDxl87B/kdGfWQAiYZtYxKlkUB4mWpftOY7w4vkyr16u8ORRiljE4WzP<br />PJfOJytJlC5XkP6rCAQMtIJtNT6CfoPUkmIto/E8IbWkygk8hYXKKZiZdum/vcimKpPOrmrSKcXu<br />tiDt+6o4faa2cCc+49Lc4i8ogBvfRURk4HVaQg1Tsn/vLxERiYZtya5pyUc0bMvxYwnpPhqX33Ou<br />iIhwaEAKHoR2Bmhq9lNXb/Hh3T8A+i7Oc6V3nljEYWhwlVjUYWQ4S2LGzSnQGgud+9ee9iouX9/O<br />QtJjV2uAvgtJJsZtAkGTxQXF3Qd1fPuaobHRYke9r8QDL6fA54PDR2qYS3hc7U0yOW7jueC5mi+f<br />17h5bYHHTxtIxF1CoUBJFbyis9Gwy6VzScZGHVy33PCJMYf7d/7Q1OIHI19GhZmvgggMvVlh9IeN<br />61Y2VzqtGRnOEp8uYdYaC1VU4A8Y2LZgmoCA1oJhGlg+ECCT0czNeiWNJEUPDANO9NQym/CYmnTY<br />usXkwMFqAN4OrrKc1rR1BOns2lymAE59ko0GHc/EQmmM7vfFMVV6fVTXc63Ak9xrhSWF8f8P3gWJ<br />2CXawYUAAAAASUVORK5CYII=&lt;/os:Image&gt;<br />&lt;SearchForm&gt;http://www.baidu.com&lt;/SearchForm&gt;<br />&lt;os:Url type=&quot;text/html&quot; method=&quot;GET&quot; template=&quot;http://www.baidu.com/s?ie=utf-8&amp;amp;oe=utf-8&amp;amp;ct=0&amp;amp;wd={searchTerms}&quot;&gt;<br />&lt;/os:Url&gt;<br />&lt;os:Url type=&quot;application/x-suggestions+json&quot; method=&quot;GET&quot; template=&quot;http://www.baidu.com/s?ie=utf-8&amp;amp;oe=utf-8&amp;amp;ct=0&amp;amp;wd={searchTerms}&quot;&gt;<br />&lt;/os:Url&gt;<br />&lt;/SearchPlugin&gt;</div></div>
<p>另外，在firefox的搜索框里面输入内容回车会在当前tab下显示搜索结果，如果同时按住alt键可以新开tab显示搜索结果页面，但是感觉还是不方便，可以通过如下方式设置默认打开新tab窗口显示结果。<br />
1. 在地址栏里面输入 about:config 回车进入firefox设置页面<br />
2. 找到browser.search.openintab项，双击该项，则把默认值false修改为了true<br />
重新打开firefox完成设置。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/614.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>高端的Intel S5000VSA主板</title>
		<link>http://www.toplee.com/blog/593.html</link>
		<comments>http://www.toplee.com/blog/593.html#comments</comments>
		<pubDate>Tue, 15 Jul 2008 16:46:11 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[Intel]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=593</guid>
		<description><![CDATA[朋友推荐了一款Intel的高端主板S5000VSA，从参数来说，的确高端，搭配了两个至强4核CPU，8G内存，2T硬盘，但是真正让我感觉到的高端，不是这个，貌似就是让一般人无法轻松顺利的安装上系统才是真正的高端。 这板子让我晕了好几天，就是为了使用板载的RAID功能，研究半天用主板带的光盘配置好了RAID01， 结果更换了N种操作系统均未成功，不是根本不引导，就是安装不认RAID，还有就是认了也安装了，但是无法启动，想了N种办法均告失败，就在崩溃之际，居然给搞定了。 安装过程中，关键的三点： 1. 使用主板带的光盘启动Intel的主板配置程序，配置好RAID 2. 使用配送的光盘启动Intel主板配置程序，在这个里面选择和配置好需要安装的操作系统，尽量就是使用主板内置支持的三种系统之一，甚至包括版本也要一致。 3. 把光盘里面的RAID驱动拷贝出来或者去官网上下载存到USB盘里面，在Intel主板配置程序里面选择该驱动启动系统安装的进程。 现在说起来貌似简单，其实当你从拿到这块主板开始，如果不知道需要这样的过程，你真的会郁闷死了也搞不定。]]></description>
			<content:encoded><![CDATA[<p>朋友推荐了一款Intel的高端主板S5000VSA，从参数来说，的确高端，搭配了两个至强4核CPU，8G内存，2T硬盘，但是真正让我感觉到的高端，不是这个，貌似就是让一般人无法轻松顺利的安装上系统才是真正的高端。</p>
<p>这板子让我晕了好几天，就是为了使用板载的RAID功能，研究半天用主板带的光盘配置好了RAID01， 结果更换了N种操作系统均未成功，不是根本不引导，就是安装不认RAID，还有就是认了也安装了，但是无法启动，想了N种办法均告失败，就在崩溃之际，居然给搞定了。</p>
<p>安装过程中，关键的三点：<br />
1. 使用主板带的光盘启动Intel的主板配置程序，配置好RAID<br />
2. 使用配送的光盘启动Intel主板配置程序，在这个里面选择和配置好需要安装的操作系统，尽量就是使用主板内置支持的三种系统之一，甚至包括版本也要一致。<br />
3. 把光盘里面的RAID驱动拷贝出来或者去官网上下载存到USB盘里面，在Intel主板配置程序里面选择该驱动启动系统安装的进程。</p>
<p>现在说起来貌似简单，其实当你从拿到这块主板开始，如果不知道需要这样的过程，你真的会郁闷死了也搞不定。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/593.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>svn:Can&#8217;t convert string from &#8216;UTF-8&#8242; to native encoding</title>
		<link>http://www.toplee.com/blog/566.html</link>
		<comments>http://www.toplee.com/blog/566.html#comments</comments>
		<pubDate>Thu, 22 May 2008 04:52:58 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Linux / BSD]]></category>
		<category><![CDATA[其他技术]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/?p=566</guid>
		<description><![CDATA[之前遇到一个问题，svn里面如果提交了中文文件名的文件或者包含其他特殊字符的文件名的文件，会导致linux或者freebsd上svn update/checkout的时候出现错误“svn: Can&#8217;t convert string from &#8216;UTF-8&#8242; to native encoding” 这个问题是由系统字符集设置导致的，可以使用如下方法解决： 在bash的shell下，输入如下命令： #export LC_CTYPE=en_US.UTF-8 然后运行如下命令确认发生的变化如下： #locale 将得到如下的结果返回： LANG=LC_COLLATE=&#34;C&#34;LC_CTYPE=&#34;en_US.UTF-8&#34;LC_MESSAGES=&#34;C&#34;LC_MONETARY=&#34;C&#34;LC_NUMERIC=&#34;C&#34;LC_TIME=&#34;C&#34;LC_ALL= 可以把以上内容直接加到svn的钩子里面，解决提交时自动输出处理遇到的问题。]]></description>
			<content:encoded><![CDATA[<p>之前遇到一个问题，svn里面如果提交了中文文件名的文件或者包含其他特殊字符的文件名的文件，会导致linux或者freebsd上svn update/checkout的时候出现错误“svn: Can&#8217;t convert string from &#8216;UTF-8&#8242; to native encoding”</p>
<p>这个问题是由系统字符集设置导致的，可以使用如下方法解决：<br />
在bash的shell下，输入如下命令：</p>
<div class="hl-surround"><div class="hl-main">#export LC_CTYPE=en_US.UTF-8</div></div>
<p>然后运行如下命令确认发生的变化如下：</p>
<div class="hl-surround"><div class="hl-main">#locale</div></div>
<p>将得到如下的结果返回：</p>
<div class="hl-surround"><div class="hl-main">LANG=<br />LC_COLLATE=&quot;C&quot;<br />LC_CTYPE=&quot;en_US.UTF-8&quot;<br />LC_MESSAGES=&quot;C&quot;<br />LC_MONETARY=&quot;C&quot;<br />LC_NUMERIC=&quot;C&quot;<br />LC_TIME=&quot;C&quot;<br />LC_ALL=</div></div>
<p>可以把以上内容直接加到svn的钩子里面，解决提交时自动输出处理遇到的问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/566.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>也谈设计模式</title>
		<link>http://www.toplee.com/blog/525.html</link>
		<comments>http://www.toplee.com/blog/525.html#comments</comments>
		<pubDate>Tue, 26 Feb 2008 16:20:15 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[心情 / 生活]]></category>
		<category><![CDATA[设计模式]]></category>
		<category><![CDATA[项目管理]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/525.html</guid>
		<description><![CDATA[最近可以用三个字来形容“忙”“乱”“烦”，其实我估计很多人也都这状态，如同家家有本难念的经，人人都有没法说的烦恼。 在这状态下，已经很久没有写一些跟技术相关的东西了，前两天想升级BSD的系统到最新的6.3版，结果cvsup了一个多小时源码树没有完，就心烦气躁的Ctrl+C放弃了，最近因为诸多项目启动，连续一周多写系统分析文档，一个项目一整就是三十来页的分析文档，其实还是很草的那种，实在也没有精力和心思给写得彻彻底底的，估计真完全弄踏实了，少说也得上百页才能算合格的系统分析文档。 写这两份文档的中间儿，想到了我的兄弟们在拿着文档开发过程中可能会面临的一些问题，其中最担心的就是在面向对象开发的时候面临的对象间关系处理问题，专业术语讲，那就是设计模式的问题。 这东西也老生常谈了，说实话，如同大学里面学的那几门计算机基础知识一般，设计模式实在很重要，貌似很基础的东西，一讲大部分都能明白，但是真正用起来和项目结合，还是一头雾水，这就跟咱们大学学数据结构一样，回想起来，有几个在后来工作中用过那些最基本的二叉树、链表、图一类的东西？ 原来3721的老哥李钊说得很经典，中国为啥计算机科学落后，缺少的不是高级程序员，缺少的是对计算机基础知识理论理解透彻的人。很多武侠小说里面的高手，到最高境界不是会多少套路和拳法，而是用最简单的招式化解一切高深的套路。 相比之下，设计模式对于面向对象开发来说，有点儿类似的味道，会写类、继承、重载、抽象一类的东西不难，但是把这些东西用更简单的思路来看待和组织就有难度了，设计模式不是把他们复杂化，而是为了让问题更简单。把简单的东西发挥到极致比把复杂的东西学会往往更有价值。 说到这里，估计也看出我这还是没有在讲技术，是啊，一真进入技术话题，设计模式不是这么简单三言两语能说明白的，常见的23种模式，经典的21种，随便一种都得且说呢，记得看过一个哥们的blog上用星际争霸的实现思路来讲述了大部分的设计模式基础，感觉真不错，大家可以google一下。 今天写这些，主要是因为最近的几个项目系统分析文档中涉及到不少地方需要运用设计模式，于是乎准备在最近给我的兄弟们找个时间讲堂课，说说常见的设计模式的应用，最近正准备动手弄个PPT，所以就先酝酿酝酿思路和情绪。 真正有兴趣、有决心、有信心、有恒心深入一下的朋友，去看看这本书吧：《设计模式》，经典至极，该书作者均是国际公认的面向对象软件领域的专家，号称“四人帮”。]]></description>
			<content:encoded><![CDATA[<p>最近可以用三个字来形容“忙”“乱”“烦”，其实我估计很多人也都这状态，如同家家有本难念的经，人人都有没法说的烦恼。</p>
<p>在这状态下，已经很久没有写一些跟技术相关的东西了，前两天想升级BSD的系统到最新的6.3版，结果cvsup了一个多小时源码树没有完，就心烦气躁的Ctrl+C放弃了，最近因为诸多项目启动，连续一周多写系统分析文档，一个项目一整就是三十来页的分析文档，其实还是很草的那种，实在也没有精力和心思给写得彻彻底底的，估计真完全弄踏实了，少说也得上百页才能算合格的系统分析文档。</p>
<p>写这两份文档的中间儿，想到了我的兄弟们在拿着文档开发过程中可能会面临的一些问题，其中最担心的就是在面向对象开发的时候面临的对象间关系处理问题，专业术语讲，那就是设计模式的问题。</p>
<p>这东西也老生常谈了，说实话，如同大学里面学的那几门计算机基础知识一般，设计模式实在很重要，貌似很基础的东西，一讲大部分都能明白，但是真正用起来和项目结合，还是一头雾水，这就跟咱们大学学数据结构一样，回想起来，有几个在后来工作中用过那些最基本的二叉树、链表、图一类的东西？ 原来3721的老哥李钊说得很经典，中国为啥计算机科学落后，缺少的不是高级程序员，缺少的是对计算机基础知识理论理解透彻的人。很多武侠小说里面的高手，到最高境界不是会多少套路和拳法，而是用最简单的招式化解一切高深的套路。</p>
<p>相比之下，设计模式对于面向对象开发来说，有点儿类似的味道，会写类、继承、重载、抽象一类的东西不难，但是把这些东西用更简单的思路来看待和组织就有难度了，设计模式不是把他们复杂化，而是为了让问题更简单。把简单的东西发挥到极致比把复杂的东西学会往往更有价值。</p>
<p>说到这里，估计也看出我这还是没有在讲技术，是啊，一真进入技术话题，设计模式不是这么简单三言两语能说明白的，常见的23种模式，经典的21种，随便一种都得且说呢，记得看过一个哥们的blog上用星际争霸的实现思路来讲述了大部分的设计模式基础，感觉真不错，大家可以google一下。</p>
<p>今天写这些，主要是因为最近的几个项目系统分析文档中涉及到不少地方需要运用设计模式，于是乎准备在最近给我的兄弟们找个时间讲堂课，说说常见的设计模式的应用，最近正准备动手弄个PPT，所以就先酝酿酝酿思路和情绪。</p>
<p>真正有兴趣、有决心、有信心、有恒心深入一下的朋友，去看看这本书吧：<a href="http://www.douban.com/subject/1052241/" target="_blank">《设计模式》</a>，经典至极，该书作者均是国际公认的面向对象软件领域的专家，号称“四人帮”。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/525.html/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>重构和敏捷软件开发</title>
		<link>http://www.toplee.com/blog/447.html</link>
		<comments>http://www.toplee.com/blog/447.html#comments</comments>
		<pubDate>Wed, 18 Jul 2007 01:56:01 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/447.html</guid>
		<description><![CDATA[　　其实一直一来任何个人、团队和公司都在潜意识中，不知不觉的进行着这样的努力，只不过近些年才成为一个专门的课题被单独的提出来，得到广泛深入的关注。 　　重构是各个持续性大型项目都会面临的问题，而敏捷软件开发则是很多团队都在尝试的软件开发思路，不过在实际的情况中，很少有团队能够得心应手的实施起来，而今，我们的团队也面临了这样的问题，在以前的一个公司，当时为了一个大型项目得以顺利重构，重构之前对团队的每个成员进行了大规模的重构和敏捷开发的培训和路演，然后再得以成功实施，而我们这次的项目重构同时还面临了沉重的新产品开发压力，不太可能这样来实施，肩上的担子很重啊。 　　推荐几本经典书给想深入研究软件开发的朋友： 　　测试驱动开发——实用指南　　　　　　　中国电力出版社 　　设计模式：可复用面向对象软件的基础　　机械工业出版社 　　重构：改善既有代码的设计（中文版） 　　中国电力出版社 　　敏捷软件开发：原则、模式与实践　　　　清华大学出版社]]></description>
			<content:encoded><![CDATA[<p>　　其实一直一来任何个人、团队和公司都在潜意识中，不知不觉的进行着这样的努力，只不过近些年才成为一个专门的课题被单独的提出来，得到广泛深入的关注。</p>
<p>　　重构是各个持续性大型项目都会面临的问题，而敏捷软件开发则是很多团队都在尝试的软件开发思路，不过在实际的情况中，很少有团队能够得心应手的实施起来，而今，我们的团队也面临了这样的问题，在以前的一个公司，当时为了一个大型项目得以顺利重构，重构之前对团队的每个成员进行了大规模的重构和敏捷开发的培训和路演，然后再得以成功实施，而我们这次的项目重构同时还面临了沉重的新产品开发压力，不太可能这样来实施，肩上的担子很重啊。</p>
<p>　　推荐几本经典书给想深入研究软件开发的朋友：<br />
　　测试驱动开发——实用指南　　　　　　　中国电力出版社<br />
　　设计模式：可复用面向对象软件的基础　　机械工业出版社<br />
　　重构：改善既有代码的设计（中文版） 　　中国电力出版社<br />
　　敏捷软件开发：原则、模式与实践　　　　清华大学出版社</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/447.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>顺利从T60迁移到T61</title>
		<link>http://www.toplee.com/blog/444.html</link>
		<comments>http://www.toplee.com/blog/444.html#comments</comments>
		<pubDate>Mon, 09 Jul 2007 07:18:43 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/444.html</guid>
		<description><![CDATA[　　前两天终于拿到期盼已久的T61宽屏，外观没有想象中好看，不过至少满足了我两点需求：宽屏和一如既往的Thinkpad ， 接下来面临的最大问题就是安装系统，每次重新安装系统都是非常痛苦的事情，没有个两三天是没法彻底搞定的，各种开发工具、环境配置、银行客户端啥的，很麻烦，于是琢磨着怎么能省事。 　　手头正在使用的T60系统基本还算稳定，最佳的办法就是把这上面的整套东西搬到T61上，我对比了一下两个型号间的配置，发现变化并不大，于是开始动手，第一个想到的办法就是整个硬盘对拷，可以使用类似Ghost或者Acronis这样的软件来实现，问题是需要把硬盘拆下来挂到T60上，尝试把硬盘拆下来，再找了个移动硬盘盒，结果发现硬盘盒是IDE接口，没法插上SATA的硬盘，郁闷，只能使用最原始的办法，就是Ghost，我在T60上挨着一个盘一个盘的Gohost，刻录成DVD后在Ghost恢复到T61硬盘上，虽然费事，但是在T61上顺利看到Windows登陆界面的时候，还是很兴奋的。 　　接下来重新安装了T61的显卡驱动、网卡驱动、硬盘SATA驱动，升级了Tinkpad的Hot key软件，居然就全部ok了，实现了无缝的迁移。 　　使用了几天，没有发现任何问题和不稳定现象，也逐渐适应了T61的样子以及相比T60更生硬的键盘，宽屏的确就是爽]]></description>
			<content:encoded><![CDATA[<p>　　前两天终于拿到期盼已久的T61宽屏，外观没有想象中好看，不过至少满足了我两点需求：宽屏和一如既往的Thinkpad ， 接下来面临的最大问题就是安装系统，每次重新安装系统都是非常痛苦的事情，没有个两三天是没法彻底搞定的，各种开发工具、环境配置、银行客户端啥的，很麻烦，于是琢磨着怎么能省事。</p>
<p>　　手头正在使用的T60系统基本还算稳定，最佳的办法就是把这上面的整套东西搬到T61上，我对比了一下两个型号间的配置，发现变化并不大，于是开始动手，第一个想到的办法就是整个硬盘对拷，可以使用类似Ghost或者Acronis这样的软件来实现，问题是需要把硬盘拆下来挂到T60上，尝试把硬盘拆下来，再找了个移动硬盘盒，结果发现硬盘盒是IDE接口，没法插上SATA的硬盘，郁闷，只能使用最原始的办法，就是Ghost，我在T60上挨着一个盘一个盘的Gohost，刻录成DVD后在Ghost恢复到T61硬盘上，虽然费事，但是在T61上顺利看到Windows登陆界面的时候，还是很兴奋的。</p>
<p>　　接下来重新安装了T61的显卡驱动、网卡驱动、硬盘SATA驱动，升级了Tinkpad的Hot key软件，居然就全部ok了，实现了无缝的迁移。</p>
<p>　　使用了几天，没有发现任何问题和不稳定现象，也逐渐适应了T61的样子以及相比T60更生硬的键盘，宽屏的确就是爽 <img src='http://www.toplee.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/444.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>个性化搜索引擎时代到来</title>
		<link>http://www.toplee.com/blog/439.html</link>
		<comments>http://www.toplee.com/blog/439.html#comments</comments>
		<pubDate>Tue, 26 Jun 2007 16:24:48 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/439.html</guid>
		<description><![CDATA[　　大家多少都用过搜索引擎，google、yahoo、baidu还有很多搜索引擎目前都有个特点，就是你和我使用同一个keyword去搜索，得到的结果将是一样的，但事实上我们两个因为个人性格、爱好、文化背景等不一样，对同样的搜索结果的满意度是不一样的，有没有办法能让搜索引擎自动根据我们两个之间的这种差异，返回给我们最适合各自的结果呢？ 答案是肯定的，这就是个性化搜索，根据不同人的不同特点，提供不同的搜索结果。 　　 　　传统的搜索引擎根据关键词来创建索引并得到搜索结果，同时根据关键词来提供广告服务，这往往是不够准确的，比如同样搜索hotel，不同的人可能希望得到的结果是不一样的，有钱人希望得到的是最好的星级酒店，普通老百姓希望得到的是便宜实惠的结果，同样，广告的展现希望更加准确，比如喜欢自驾游的用户显然应该推荐更多汽车旅馆的广告，而喜欢大海的用户则应该得到更多海边度假酒店的广告。 　　目前有不少的搜索引擎已经开始意识到个性化搜索的重要性，并且开始进行了积极的尝试，google提供的history和personalize服务，就是类似这样的东西，不过和google提供的这种服务一样，各个搜索引擎目前都面临同样的问题，那就是他们大多基于用户所有的搜索历史来进行个性化分析，这种分析仅仅基于单一的关键词，往往不够准确，理论上应该考虑更多关键词之外的用户特性，比如点击行为，对同样排序结果里面不同位置的满意度、点击率等因素综合计算。同时，通过用户搜索历史记录来提供个性化搜索服务，将面临侵犯隐私的重大法律障碍，这成为目前各大搜索引擎棘手的问题。 　　我有三个美国的华人朋友，其中一个是麻省理工研修人工智能的博士，7年的博士课程仅3年半就顺利完成，目前已经是美国人工智能领域排名前三位的科学家之一，他和两位两个朋友一起，近几年来基于他在基因DNA搜索领域的研究成果，开发出一套算法，该算法成功的应用到了传统的互联网搜索引擎上，有效的实现了个性化搜索，解决了其他搜索引擎面临的问题。 　　通过他们的算法，可以实现类似下面的功能： 不同的人搜索同样的关键词，可以根据不同人的各种属性（地域、年龄、性别、爱好、职业、历史搜索&#8230;等等）分别得到最适合自己的结果。 可以根据用户各自的差异和特点，提供最适合该用户的广告投放。 可以根据不同的用户特点，划分具有共同爱好、特性的用户群体。 　　最关键的一点，他们的这套算法没有任何其他搜索引擎面临的侵犯用户隐私的担忧，这套算法基于人工智能和用户模型来实现，每个用户都会有个初始的用户模型，该模型会根据用户的各种属性来不断调整，会随着用户长期的使用搜索引擎，查询不同的关键词，点击和收藏不同的结果等event来调整，最后这个抽象出来的用户模型将非常接近现实中的用户本人，从而达到个性化的目的，而这个过程中，搜索引擎不记录任何用户操作历史。 　　我和这三位朋友接触较长一段时间，我协助他们用了近三个月的时间开发出了一个demo的prototype系统，该系统基于抓取Google、Yahoo的web search和sponsored links结果进行分析，同时使用了简单的MySQL数据存储、Lucene全文检索等技术对他们的核心算法提供外围技术支持，系统除了web界面采用PHP的Zend Framework外，大部分部件均基于Linux C/C++开发，尤其是和核心算法服务之间的通讯、词表的解析等关键的应用，可以保证系统的性能，目前演示的系统上每一次search请求都会实时从Google、Yahoo上抓取并实时进行分析和排序，实际生产应用中会考虑应用更多的缓存技术来进一步提高效率，甚至和Google等数据提供商紧密的合作。 　　目前该项目正在美国寻求VC的投资，说实话，经过我的实际使用，我非常看好这个项目，希望真的可以成功。]]></description>
			<content:encoded><![CDATA[<p>　　大家多少都用过搜索引擎，google、yahoo、baidu还有很多搜索引擎目前都有个特点，就是你和我使用同一个keyword去搜索，得到的结果将是一样的，但事实上我们两个因为个人性格、爱好、文化背景等不一样，对同样的搜索结果的满意度是不一样的，有没有办法能让搜索引擎自动根据我们两个之间的这种差异，返回给我们最适合各自的结果呢？ 答案是肯定的，这就是个性化搜索，根据不同人的不同特点，提供不同的搜索结果。<br />
<span id="more-439"></span><br />
　　<br />
　　传统的搜索引擎根据关键词来创建索引并得到搜索结果，同时根据关键词来提供广告服务，这往往是不够准确的，比如同样搜索hotel，不同的人可能希望得到的结果是不一样的，有钱人希望得到的是最好的星级酒店，普通老百姓希望得到的是便宜实惠的结果，同样，广告的展现希望更加准确，比如喜欢自驾游的用户显然应该推荐更多汽车旅馆的广告，而喜欢大海的用户则应该得到更多海边度假酒店的广告。</p>
<p>　　目前有不少的搜索引擎已经开始意识到个性化搜索的重要性，并且开始进行了积极的尝试，google提供的history和personalize服务，就是类似这样的东西，不过和google提供的这种服务一样，各个搜索引擎目前都面临同样的问题，那就是他们大多基于用户所有的搜索历史来进行个性化分析，这种分析仅仅基于单一的关键词，往往不够准确，理论上应该考虑更多关键词之外的用户特性，比如点击行为，对同样排序结果里面不同位置的满意度、点击率等因素综合计算。同时，通过用户搜索历史记录来提供个性化搜索服务，将面临侵犯隐私的重大法律障碍，这成为目前各大搜索引擎棘手的问题。</p>
<p>　　我有三个美国的华人朋友，其中一个是麻省理工研修人工智能的博士，7年的博士课程仅3年半就顺利完成，目前已经是美国人工智能领域排名前三位的科学家之一，他和两位两个朋友一起，近几年来基于他在基因DNA搜索领域的研究成果，开发出一套算法，该算法成功的应用到了传统的互联网搜索引擎上，有效的实现了个性化搜索，解决了其他搜索引擎面临的问题。</p>
<p>　　通过他们的算法，可以实现类似下面的功能：</p>
<ul>
<li>不同的人搜索同样的关键词，可以根据不同人的各种属性（地域、年龄、性别、爱好、职业、历史搜索&#8230;等等）分别得到最适合自己的结果。</li>
<li>可以根据用户各自的差异和特点，提供最适合该用户的广告投放。</li>
<li>可以根据不同的用户特点，划分具有共同爱好、特性的用户群体。</li>
</ul>
<p>　　最关键的一点，他们的这套算法没有任何其他搜索引擎面临的侵犯用户隐私的担忧，这套算法基于人工智能和用户模型来实现，每个用户都会有个初始的用户模型，该模型会根据用户的各种属性来不断调整，会随着用户长期的使用搜索引擎，查询不同的关键词，点击和收藏不同的结果等event来调整，最后这个抽象出来的用户模型将非常接近现实中的用户本人，从而达到个性化的目的，而这个过程中，搜索引擎不记录任何用户操作历史。</p>
<p>　　我和这三位朋友接触较长一段时间，我协助他们用了近三个月的时间开发出了一个demo的prototype系统，该系统基于抓取Google、Yahoo的web search和sponsored links结果进行分析，同时使用了简单的MySQL数据存储、Lucene全文检索等技术对他们的核心算法提供外围技术支持，系统除了web界面采用PHP的Zend Framework外，大部分部件均基于Linux C/C++开发，尤其是和核心算法服务之间的通讯、词表的解析等关键的应用，可以保证系统的性能，目前演示的系统上每一次search请求都会实时从Google、Yahoo上抓取并实时进行分析和排序，实际生产应用中会考虑应用更多的缓存技术来进一步提高效率，甚至和Google等数据提供商紧密的合作。 </p>
<p>　　目前该项目正在美国寻求VC的投资，说实话，经过我的实际使用，我非常看好这个项目，希望真的可以成功。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/439.html/feed</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>搞定SVN的Non-ASCII character错误</title>
		<link>http://www.toplee.com/blog/421.html</link>
		<comments>http://www.toplee.com/blog/421.html#comments</comments>
		<pubDate>Fri, 25 May 2007 14:20:43 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/421.html</guid>
		<description><![CDATA[　　FreeBSD上的目录或者文件的名字如果存在中文，就将在默认设置下导致svn出错，解决方法两种： 　　1、把中文目录或者文件都改成英文的。 　　2、设置BSD环境的Locale，可以是全局的设置，也可以是当前用户运行时的环境locale，通过export命令设置locale为en_GB.UTF-8或者其他跟你实际环境一致的值，可以通过locale -a得到全部的列表。 　　小问题把我折腾够呛。。。]]></description>
			<content:encoded><![CDATA[<p>　　FreeBSD上的目录或者文件的名字如果存在中文，就将在默认设置下导致svn出错，解决方法两种：</p>
<p>　　1、把中文目录或者文件都改成英文的。<br />
　　2、设置BSD环境的Locale，可以是全局的设置，也可以是当前用户运行时的环境locale，通过export命令设置locale为en_GB.UTF-8或者其他跟你实际环境一致的值，可以通过locale -a得到全部的列表。</p>
<p>　　小问题把我折腾够呛。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/421.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>被SVN的 Non-ASCII character 错误困扰，郁闷之极。</title>
		<link>http://www.toplee.com/blog/420.html</link>
		<comments>http://www.toplee.com/blog/420.html#comments</comments>
		<pubDate>Thu, 24 May 2007 09:11:51 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Linux / BSD]]></category>
		<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/420.html</guid>
		<description><![CDATA[　　这两天在BSD上遇到 SVN的 Non-ASCII character (code xxx) detected 错误，导致svn无法使用，搞了很久也没有搞定，实在郁闷，影响到项目进度了，不知道谁能帮忙一下。]]></description>
			<content:encoded><![CDATA[<p>　　这两天在BSD上遇到 SVN的 Non-ASCII character (code xxx) detected 错误，导致svn无法使用，搞了很久也没有搞定，实在郁闷，影响到项目进度了，不知道谁能帮忙一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/420.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>用svn的post-commit钩子实现类似vss的shadow功能</title>
		<link>http://www.toplee.com/blog/417.html</link>
		<comments>http://www.toplee.com/blog/417.html#comments</comments>
		<pubDate>Tue, 22 May 2007 15:34:55 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/417.html</guid>
		<description><![CDATA[　　 原来用vss开发项目的时候，习惯了使用shadow，而svn默认不支持这样的功能，研究了一下hooks，轻松使用post-commit搞定之，对svn的印象好了一些。]]></description>
			<content:encoded><![CDATA[<p>　　 原来用vss开发项目的时候，习惯了使用shadow，而svn默认不支持这样的功能，研究了一下hooks，轻松使用post-commit搞定之，对svn的印象好了一些。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/417.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>对SNMP的MIB总算有所了解</title>
		<link>http://www.toplee.com/blog/385.html</link>
		<comments>http://www.toplee.com/blog/385.html#comments</comments>
		<pubDate>Fri, 20 Apr 2007 15:40:01 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/385.html</guid>
		<description><![CDATA[　　MRTG用了多年，也搞过一段RRDTool和Cacti做监控画图，但是一直都对SNMP的MIB库定义感到模棱两可，尤其那堆类似 .1.3.6.1.2.1.6.9.0 的数字感到迷惑，这回收集了一些资料，好好整理了一下，自己感觉清晰了不少，把收集整理的资料做个笔记，也分享给朋友。 SNMP协议介绍 　　简单网络管理协议（SNMP：Simple Network Management Protocol）是由互联网工程任务组（IETF：Internet Engineering Task Force ）定义的一套网络管理协议。该协议基于简单网关监视协议（SGMP：Simple Gateway Monitor Protocol）。利用SNMP，一个管理工作站可以远程管理所有支持这种协议的网络设备，包括监视网络状态、修改网络设备配置、接收网络事件警告等。虽然SNMP开始是面向基于IP的网络管理，但作为一个工业标准也被成功用于电话网络管理。 1. SNMP基本原理 　　SNMP采用了Client/Server模型的特殊形式：代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站（主代理）关于MIB定义信息的各种查询。下图10是NMS公司网络产品中SNMP协议的实现模型。 　　SNMP代理和管理站通过SNMP协议中的标准消息进行通信，每个消息都是一个单独的数据报。SNMP使用UDP（用户数据报协议）作为第四层协议（传输协议），进行无连接操作。SNMP消息报文包含两个部分：SNMP报头和协议数据单元PDU。数据报结构如下图 　　版本识别符（version identifier）：确保SNMP代理使用相同的协议，每个SNMP代理都直接抛弃与自己协议版本不同的数据报。 　　团体名（Community Name）：用于SNMP从代理对SNMP管理站进行认证；如果网络配置成要求验证时，SNMP从代理将对团体名和管理站的IP地址进行认证，如果失败，SNMP从代理将向管理站发送一个认证失败的Trap消息 　　协议数据单元（PDU）：其中PDU指明了SNMP的消息类型及其相关参数。 2. 管理信息库MIB IETF规定的管理信息库MIB（由中定义了可访问的网络设备及其属性，由对象识别符（OID：Object Identifier）唯一指定。MIB是一个树形结构，SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。　　 下图给出了NMS系统中SNMP可访问网络设备的对象识别树（OID：Object Identifier）结构。 　　下图给出了对一个DS1线路状态进行查询的OID设置例子。 3. SNMP的五种消息类型 　　SNMP中定义了五种消息类型：Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap Get-Request 、Get-Next-Request与Get-Response 　　 SNMP管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息，而SNMP代理则用Get-Response消息响应。Get-Next-Request用于和Get-Request组合起来查询特定的表对象中的列元素。如：首先通过下面的原语获得所要查询的设备的接口数： {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)} 后再通过下面的原语，进行查询（其中第一次用Get-Request，其后用Get-Next-Request）： {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)} [...]]]></description>
			<content:encoded><![CDATA[<p>　　MRTG用了多年，也搞过一段RRDTool和Cacti做监控画图，但是一直都对SNMP的MIB库定义感到模棱两可，尤其那堆类似 .1.3.6.1.2.1.6.9.0 的数字感到迷惑，这回收集了一些资料，好好整理了一下，自己感觉清晰了不少，把收集整理的资料做个笔记，也分享给朋友。</p>
<p><strong>SNMP协议介绍 </strong><br />
 　　简单网络管理协议（SNMP：Simple Network Management Protocol）是由互联网工程任务组（IETF：Internet Engineering Task Force ）定义的一套网络管理协议。该协议基于简单网关监视协议（SGMP：Simple Gateway Monitor Protocol）。利用SNMP，一个管理工作站可以远程管理所有支持这种协议的网络设备，包括监视网络状态、修改网络设备配置、接收网络事件警告等。虽然SNMP开始是面向基于IP的网络管理，但作为一个工业标准也被成功用于电话网络管理。<br />
<span id="more-385"></span><br />
<strong>1. SNMP基本原理</strong><br />
　　SNMP采用了Client/Server模型的特殊形式：代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站（主代理）关于MIB定义信息的各种查询。下图10是NMS公司网络产品中SNMP协议的实现模型。</p>
<p><img src='http://www.toplee.com/blog/wp-content/uploads/2007/04/mib0.gif' alt='mib0' /></p>
<p>　　SNMP代理和管理站通过SNMP协议中的标准消息进行通信，每个消息都是一个单独的数据报。SNMP使用UDP（用户数据报协议）作为第四层协议（传输协议），进行无连接操作。SNMP消息报文包含两个部分：SNMP报头和协议数据单元PDU。数据报结构如下图</p>
<p><img src='http://www.toplee.com/blog/wp-content/uploads/2007/04/mib1.gif' alt='mib1' /></p>
<p>　　版本识别符（version identifier）：确保SNMP代理使用相同的协议，每个SNMP代理都直接抛弃与自己协议版本不同的数据报。 </p>
<p>　　团体名（Community Name）：用于SNMP从代理对SNMP管理站进行认证；如果网络配置成要求验证时，SNMP从代理将对团体名和管理站的IP地址进行认证，如果失败，SNMP从代理将向管理站发送一个认证失败的Trap消息 </p>
<p>　　协议数据单元（PDU）：其中PDU指明了SNMP的消息类型及其相关参数。 </p>
<p><strong>2. 管理信息库MIB</strong><br />
    IETF规定的管理信息库MIB（由中定义了可访问的网络设备及其属性，由对象识别符（OID：Object Identifier）唯一指定。MIB是一个树形结构，SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。　　<br />
    下图给出了NMS系统中SNMP可访问网络设备的对象识别树（OID：Object Identifier）结构。</p>
<p><img src='http://www.toplee.com/blog/wp-content/uploads/2007/04/mib2.gif' alt='mib2' /></p>
<p>　　下图给出了对一个DS1线路状态进行查询的OID设置例子。  </p>
<p><img src='http://www.toplee.com/blog/wp-content/uploads/2007/04/mib3.gif' alt='mib3' /></p>
<p><strong>3. SNMP的五种消息类型</strong></p>
<p>　　SNMP中定义了五种消息类型：Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap   </p>
<ul>
<li>Get-Request 、Get-Next-Request与Get-Response 　　<br />
SNMP管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息，而SNMP代理则用Get-Response消息响应。Get-Next-Request用于和Get-Request组合起来查询特定的表对象中的列元素。如：首先通过下面的原语获得所要查询的设备的接口数：<br />
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)}<br />
后再通过下面的原语，进行查询（其中第一次用Get-Request，其后用Get-Next-Request）：<br />
{iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)}</li>
<li>Set-Request<br />
SNMP管理站用Set-Request 可以对网络设备进行远程配置（包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等）。</li>
<li>Trap<br />
SNMP代理使用Trap向SNMP管理站发送非请求消息，一般用于描述某一事件的发生。</li>
</ul>
<p><strong>SNMP管理信息库MIB </strong></p>
<p>　　管理信息库MIB指明了网络元素所维持的变量（即能够被管理进程查询和设置的信息）。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构，它的根在最上面，根没有名字。下图画的是管理信息库的一部分，它又称为对象命名（objectnamingtree）。   </p>
<p>  <img src='http://www.toplee.com/blog/wp-content/uploads/2007/04/mib4.gif' alt='mib4' /></p>
<p>　　管理信息库的对象命名举例</p>
<p>　　对象命名树的顶级对象有三个，即ISO、ITU-T和这两个组织的联合体。在ISO的下面有4个结点，其中的饿一个（标号3）是被标识的组织。在其下面有一个美国国防部（Department of Defense）的子树（标号是6），再下面就是Internet（标号是1）。在只讨论Internet中的对象时，可只画出Internet以下的子树（图中带阴影的虚线方框），并在Internet结点旁边标注上{1.3.6.1}即可。  在Internet结点下面的第二个结点是mgmt（管理），标号是2。再下面是管理信息库，原先的结点名是mib。1991年定义了新的版本MIB-II，故结点名现改为mib-2，其标识为{1.3.6.1.2.1}，或{Internet(1) .2.1}。这种标识为对象标识符。<br />
　　最初的结点mib将其所管理的信息分为8个类别，见表1。现在de mib-2所包含的信息类别已超过40个。</p>
<p>　　表1 最初的结点mib管理的信息类别</p>
<p><img src='http://www.toplee.com/blog/wp-content/uploads/2007/04/mib5.jpg' alt='mib5' /></p>
<p>　　应当指出，MIB的定义与具体的网络管理协议无关，这对于厂商和用户都有利。厂商可以在产品（如路由器）中包含SNMP代理软件，并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。当然，一个没有新的MIB项目的路由器不能提供这些项目的信息。</p>
<p>　　这里要提一下MIB中的对象{1.3.6.1.4.1}，即enterprises（企业），其所属结点数已超过3000。例如IBM为11.3.6.1.4.1.2}，Cisco为{1.3.6.1.4.1.9}，Novell为{1.3.6.1.4.1.23}等。世界上任何一个公司、学校只要用电子邮件发往iana-mib@isi.edu进行申请即可获得一个结点名。这样各厂家就可以定义自己的产品的被管理对象名，使它能用SNMP进行管理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/385.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>顺利重装了postfix</title>
		<link>http://www.toplee.com/blog/376.html</link>
		<comments>http://www.toplee.com/blog/376.html#comments</comments>
		<pubDate>Wed, 14 Mar 2007 08:24:28 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/376.html</guid>
		<description><![CDATA[　　昨晚把新服务器上唯一没有弄的postfix邮件系统给搞好了，之前担心这是个困难的事情，因为前一台服务器上的postfix邮件系统当初就是费了很多周折，最后也是糊里糊涂给弄好的，之前一直想整理一份详细笔记，结果由于事情忙和想着这事就头大而一拖再拖，最后直到机器挂了也没有写。好在顺利运行了有一年多都很稳定，一直也不想区触碰这个敏感的东西，这回没法，被逼的！ 　　过程比想象中的顺利，凭着当初的一点印象，挨着东西装，要不说我喜欢FreeBSD呢，在ports下安装这些东西真的很方便，依赖关系完全不用管，我把ports默认的fetch下载替换为prozilla多线程下载，安装的时候下载快了N倍，的确很爽。 先后分别安装了这些东西，openssl、courier-imap、cyrus-sasl2、postfix、clamav、spamassassin、mailscanner、webmail，最后实在有点兴奋，把mailscanner-mrtg也弄上了，嘿，没想这个东西还真不错，监控内容非常全，这下邮件的监控也齐了！想看mailscanner-mrtg效果的朋友访问这里 http://mrtg.toplee.com/mailscanner-mrtg/ ，用户和口令都是demo 　　这回再遇到配置postfix，我真的就不怵了！呵呵，给我发邮件吧 lee # toplee.com （替换#为@）]]></description>
			<content:encoded><![CDATA[<p>　　昨晚把新服务器上唯一没有弄的postfix邮件系统给搞好了，之前担心这是个困难的事情，因为前一台服务器上的postfix邮件系统当初就是费了很多周折，最后也是糊里糊涂给弄好的，之前一直想整理一份详细笔记，结果由于事情忙和想着这事就头大而一拖再拖，最后直到机器挂了也没有写。好在顺利运行了有一年多都很稳定，一直也不想区触碰这个敏感的东西，这回没法，被逼的！</p>
<p>　　过程比想象中的顺利，凭着当初的一点印象，挨着东西装，要不说我喜欢FreeBSD呢，在ports下安装这些东西真的很方便，依赖关系完全不用管，我把ports默认的fetch下载替换为prozilla多线程下载，安装的时候下载快了N倍，的确很爽。 先后分别安装了这些东西，openssl、courier-imap、cyrus-sasl2、postfix、clamav、spamassassin、mailscanner、webmail，最后实在有点兴奋，把mailscanner-mrtg也弄上了，嘿，没想这个东西还真不错，监控内容非常全，这下邮件的监控也齐了！想看mailscanner-mrtg效果的朋友访问这里 http://mrtg.toplee.com/mailscanner-mrtg/ ，用户和口令都是demo</p>
<p>　　这回再遇到配置postfix，我真的就不怵了！呵呵，给我发邮件吧 lee # toplee.com （替换#为@）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/376.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>面向高负载的架构Lighttpd+PHP(FastCGI)+Memcached+Squid</title>
		<link>http://www.toplee.com/blog/337.html</link>
		<comments>http://www.toplee.com/blog/337.html#comments</comments>
		<pubDate>Thu, 21 Dec 2006 07:05:33 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[其他技术]]></category>
		<category><![CDATA[西拉东扯]]></category>

		<guid isPermaLink="false">http://www.toplee.com/blog/archives/337.html</guid>
		<description><![CDATA[　　因新项目，开始从Apache上转移到Lighttpd上，同时还有Memcached的大量使用，借此机会把toplee.com的服务器环境也进行一些改造，顺便整理一份文档留存！ 　　更多大型架构的经验，可以看我之前的一篇blog：http://www.toplee.com/blog/71.html 12.31 截至今天完成以下内容： 　　　　1. 完成lighttpd的安装配置，并且做了大量的优化； 　　　　2. 几乎全部看完了http://trac.lighttpd.net/trac/wiki上的文档； 　　　　3. 配置了lighttpd和php的fastcgi支持； 　　　　4. 增加了php对XCache的支持； 　　　　5. 设置了部分域名在lighttpd上的解析； 　　　　6. 完成了Apache通过mod_rewrite和mod_proxy将部分域名以及全部的php访问转到lighttpd上； 　　　　7.完成Memcached的环境搭建，并且修改了部分数据库操作缓存到MC上； 　　效果： 　　　　1. 系统负载变低了不少，响应速度得到提升； 　　　　2. MC的效果非常理想，数据库压力得到很大减轻。 　　TODO： 　　　　（下面的事情等我买了第二台服务器后进行，目前仅在帮朋友的项目上这么干了） 　　　　-. 配置MySQL的Master/Slave模式，把对数据库的Write和Read进行分开 　　　　-. 加入squid群进行缓存加速 　　　　-. 其他（比如DNS负载均衡加LVS的四层交换&#8230;） To be continued&#8230; 一些截图]]></description>
			<content:encoded><![CDATA[<p>　　因新项目，开始从Apache上转移到Lighttpd上，同时还有Memcached的大量使用，借此机会把toplee.com的服务器环境也进行一些改造，顺便整理一份文档留存！<br />
　　更多大型架构的经验，可以看我之前的一篇blog：<a href="http://www.toplee.com/blog/71.html">http://www.toplee.com/blog/71.html</a></p>
<p>12.31 截至今天完成以下内容：<br />
　　　　1. 完成lighttpd的安装配置，并且做了大量的优化；<br />
　　　　2. 几乎全部看完了http://trac.lighttpd.net/trac/wiki上的文档；<br />
　　　　3. 配置了lighttpd和php的fastcgi支持；<br />
　　　　4. 增加了php对XCache的支持；<br />
　　　　5. 设置了部分域名在lighttpd上的解析；<br />
　　　　6. 完成了Apache通过mod_rewrite和mod_proxy将部分域名以及全部的php访问转到lighttpd上；<br />
　　　　7.完成Memcached的环境搭建，并且修改了部分数据库操作缓存到MC上；</p>
<p><span id="more-337"></span><br />
　　效果：<br />
　　　　1. 系统负载变低了不少，响应速度得到提升；<br />
　　　　2. MC的效果非常理想，数据库压力得到很大减轻。<br />
　　TODO：<br />
　　　　（下面的事情等我买了第二台服务器后进行，目前仅在帮朋友的项目上这么干了）<br />
　　　　-. 配置MySQL的Master/Slave模式，把对数据库的Write和Read进行分开<br />
　　　　-. 加入squid群进行缓存加速<br />
　　　　-. 其他（比如DNS负载均衡加LVS的四层交换&#8230;）<br />
To be continued&#8230;<br />
一些截图<br />
<img id="image347" alt=xcache src="http://www.toplee.com/blog/wp-content/uploads/2007/01/xcache.jpg" /><br />
<img id="image343" alt=phpinfo_api src="http://www.toplee.com/blog/wp-content/uploads/2007/01/phpinfo_api.jpg" /><br />
<img id="image344" alt=phpinfo_zend src="http://www.toplee.com/blog/wp-content/uploads/2007/01/phpinfo_zend.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toplee.com/blog/337.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
