<?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>Fred&#039;s Blog</title>
	<atom:link href="http://fred.oracle1.com/weblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://fred.oracle1.com/weblog</link>
	<description>Fred Chu&#039;s Weblog on another way</description>
	<lastBuildDate>Fri, 30 Jul 2010 08:43:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>使用python的lxml库解析html</title>
		<link>http://fred.oracle1.com/weblog/2010/07/30/python%e4%bd%bf%e7%94%a8lxml%e8%a7%a3%e6%9e%90html/</link>
		<comments>http://fred.oracle1.com/weblog/2010/07/30/python%e4%bd%bf%e7%94%a8lxml%e8%a7%a3%e6%9e%90html/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 08:43:27 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1568</guid>
		<description><![CDATA[123456789101112131415161718192021222324import urllib2 import lxml.html as H def getjarinfo&#40;url&#41;: &#160; &#160; c=urllib2.urlopen&#40;url&#41; &#160; &#160; &#160; &#160; f=c.read&#40;&#41; &#160; &#160; doc = H.document_fromstring&#40;f&#41; &#160; &#160; tables=doc.xpath&#40;&#34;//table[@id='download']&#34;&#41; &#160; &#160; &#160; &#160; pinpais=doc.xpath&#40;&#34;//td[@id='music']&#34;&#41; &#160; &#160; jixings=doc.xpath&#40;&#34;//div[@id='game']&#34;&#41; &#160; &#160; jars = doc.xpath&#40;&#34;//table[@id='download']//tr[2]/td[1]/a[1]&#34;&#41; &#160; &#160; for j in range&#40;len&#40;pinpais&#41;&#41;: &#160; &#160; &#160; print jars&#91;j&#93;.get&#40;'href'&#41; &#160; &#160; &#160; print pinpais&#91;j&#93;.text_content&#40;&#41; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib2</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> lxml.<span style="color: black;">html</span> <span style="color: #ff7700;font-weight:bold;">as</span> H<br />
<br />
<span style="color: #ff7700;font-weight:bold;">def</span> getjarinfo<span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; c=<span style="color: #dc143c;">urllib2</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; f=c.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; doc = H.<span style="color: black;">document_fromstring</span><span style="color: black;">&#40;</span>f<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; tables=doc.<span style="color: black;">xpath</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;//table[@id='download']&quot;</span><span style="color: black;">&#41;</span> &nbsp; &nbsp;<br />
&nbsp; &nbsp; pinpais=doc.<span style="color: black;">xpath</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;//td[@id='music']&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; jixings=doc.<span style="color: black;">xpath</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;//div[@id='game']&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; jars = doc.<span style="color: black;">xpath</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;//table[@id='download']//tr[2]/td[1]/a[1]&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>pinpais<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> jars<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span>.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'href'</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> pinpais<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span>.<span style="color: black;">text_content</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> jixings<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span>.<span style="color: black;">text_content</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; e=doc.<span style="color: black;">xpath</span><span style="color: black;">&#40;</span>u<span style="color: #483d8b;">&quot;//div[text()='%s']&quot;</span> <span style="color: #66cc66;">%</span> u<span style="color: #483d8b;">&quot;游戏&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; describe=e<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>.<span style="color: black;">getnext</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">text_content</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">#r = doc.xpath(&quot;//table[@id='download']//tr[2]/td[1]/a[1]&quot;)[0]</span><br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">#jarurl=r.get('href')</span><br />
&nbsp; &nbsp; <br />
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">'__main__'</span>:<br />
&nbsp; &nbsp; url=<span style="color: #483d8b;">'http://google.com/'</span><br />
&nbsp; &nbsp; getjarinfo<span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span></div></td></tr></tbody></table></div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>February 4, 2010 -- <a href="http://fred.oracle1.com/weblog/projects/down-1ting-python-script/" title="1ting.com音乐下载程序">1ting.com音乐下载程序</a></li><li>August 11, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/08/11/pycurl%e8%8e%b7%e5%8f%96%e7%bd%91%e9%a1%b5%e9%97%ae%e9%a2%98/" title="pyCurl获取网页问题">pyCurl获取网页问题</a></li><li>June 30, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/06/30/proxy-and-port-mapping-with-python/" title="Proxy and Port Mapping With Python">Proxy and Port Mapping With Python</a></li><li>August 21, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/08/21/python-good-work/" title="Python 八荣八耻 ">Python 八荣八耻 </a></li><li>July 29, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/29/pycurl-example/" title="PycURL example">PycURL example</a></li><li>July 26, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/26/python-html-prase-model/" title="Python HTML 分析">Python HTML 分析</a></li><li>July 24, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/24/some-web-python-crawler-classes/" title="几个Python爬虫库">几个Python爬虫库</a></li><li>July 18, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/18/web-crawler-with-python/" title="python和web蜘蛛">python和web蜘蛛</a></li><li>December 1, 2007 -- <a href="http://fred.oracle1.com/weblog/2007/12/01/webpy-with-fastcgi-on-apache/" title="web.py with fastcgi on Apache">web.py with fastcgi on Apache</a></li><li>May 10, 2007 -- <a href="http://fred.oracle1.com/weblog/2007/05/10/python-image-lib/" title="用python来缩放图片">用python来缩放图片</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/07/30/python%e4%bd%bf%e7%94%a8lxml%e8%a7%a3%e6%9e%90html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>淘宝的开源玩具</title>
		<link>http://fred.oracle1.com/weblog/2010/07/24/%e6%b7%98%e5%ae%9d%e7%9a%84%e5%bc%80%e6%ba%90%e7%8e%a9%e5%85%b7/</link>
		<comments>http://fred.oracle1.com/weblog/2010/07/24/%e6%b7%98%e5%ae%9d%e7%9a%84%e5%bc%80%e6%ba%90%e7%8e%a9%e5%85%b7/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 09:36:51 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[淘宝]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1566</guid>
		<description><![CDATA[不知道淘宝是打着开源的名义吸引人才还是怎么着，反正开源只是玩具，请问淘宝赞助过什么开源项目吗？真正的推动的开源了吗？ 还不如网易做了个linux发行版的镜像这么实在，为什么会这样，很显然淘宝里面不懂开源却要用开源说事儿的人是领导了啊。好像人家有英超，咱就来个中超，结果一下让中过足球倒退了好几十年。震撼啊。 淘宝的玩具肯定是玩不长的，不过1年淘宝就会把这个半生不熟的东西扔垃圾箱。为什么，因为他们根本就不是准备做开源，来吸引下眼球而已。这就是有中过特色的社会主义市场经济。 Random Posts]]></description>
			<content:encoded><![CDATA[<p>不知道淘宝是打着开源的名义吸引人才还是怎么着，反正开源只是玩具，请问淘宝赞助过什么开源项目吗？真正的推动的开源了吗？</p>
<p>还不如网易做了个linux发行版的镜像这么实在，为什么会这样，很显然淘宝里面不懂开源却要用开源说事儿的人是领导了啊。好像人家有英超，咱就来个中超，结果一下让中过足球倒退了好几十年。震撼啊。</p>
<p>淘宝的玩具肯定是玩不长的，不过1年淘宝就会把这个半生不熟的东西扔垃圾箱。为什么，因为他们根本就不是准备做开源，来吸引下眼球而已。这就是有中过特色的社会主义市场经济。</p>
<h2  class="related_post_title">Random Posts</h2><ul class="related_post"></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/07/24/%e6%b7%98%e5%ae%9d%e7%9a%84%e5%bc%80%e6%ba%90%e7%8e%a9%e5%85%b7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>互联网产品设计的40个超实用的Web设计工具</title>
		<link>http://fred.oracle1.com/weblog/2010/07/12/%e4%ba%92%e8%81%94%e7%bd%91%e4%ba%a7%e5%93%81%e8%ae%be%e8%ae%a1%e7%9a%8440%e4%b8%aa%e8%b6%85%e5%ae%9e%e7%94%a8%e7%9a%84web%e8%ae%be%e8%ae%a1%e5%b7%a5%e5%85%b7/</link>
		<comments>http://fred.oracle1.com/weblog/2010/07/12/%e4%ba%92%e8%81%94%e7%bd%91%e4%ba%a7%e5%93%81%e8%ae%be%e8%ae%a1%e7%9a%8440%e4%b8%aa%e8%b6%85%e5%ae%9e%e7%94%a8%e7%9a%84web%e8%ae%be%e8%ae%a1%e5%b7%a5%e5%85%b7/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 07:16:26 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Photograph]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1562</guid>
		<description><![CDATA[本文将会展示一些web设计师应该经常会使用到的工具。如果你需要一些灵感，你可以访问最流行的设计展示站点来寻找你需要的好作品和好例子。 一些设计相关的工具，在线生成器，免费字体站点，模板站点都将帮助你更有效率测试和管理站点。记住，并不是什么都亲自完成才是最好的方式，一定程度的借鉴将会让 你以更轻松的方式完成任务。 1. Deviantart Deviantart是互联网站最大的艺术展示站点之一。你可以在这里找到好灵感。 2. Web design library Web Design Library是一个提供设计研究平台的资源站点，覆盖了大量的理论知识和实战方面的信息。 3. Stylevault Stylevault.net 是一个设计展示站点，设计师可以在上面展示才华的同时其他人也可从中获益。 4. Behance Behance 是找灵感的好去处，因为他们的设计更加专业。 5. The design inspiration The Design Inspiration 是一群整日寻求设计灵感的设计师所创建的。 6. Colour lovers Colour lover 是一个国际性的设计师社区，不同行当的艺术家到此寻找色彩方面的灵感，想法并对这些专业的或个人项目发表发聩。 7. Adobe kuler Adobe kuler 是奥多比公司推出的web程序，旨在帮助你创建和分享颜色主题。 8. Color hunter Color Hunter 可以通过图片来创建配色。 9. Colorotate 通过Colorotate，可以实现以3D的视觉效果的方面来迎合人脑的颜色处理过程。 10. Stripemania Stripemania 是一个用于生成纹理的在线web2.0工具。纹理大小、缝隙都可以调节，还可以选择色彩过渡效果。 11. Fontstruct FontStruct 可以通过绘制网格来绘制出自己的字体。 12. Dafont 一个可以通过字母，主题，更新日期排序的字体站点，大多数字体可以免费下载。 13. Icon finder 一个收录了十万个免费图标搜索引擎。 14. Whatthefont [...]]]></description>
			<content:encoded><![CDATA[<p>本文将会展示一些web设计师应该经常会使用到的工具。如果你需要一些灵感，你可以访问最流行的设计展示站点来寻找你需要的好作品和好例子。<br />
一些设计相关的工具，在线生成器，免费字体站点，模板站点都将帮助你更有效率测试和管理站点。记住，并不是什么都亲自完成才是最好的方式，一定程度的借鉴将会让 你以更轻松的方式完成任务。</p>
<h4>1.<a href="http://www.deviantart.com/#catpath=designs/web&amp;order=9"> Deviantart</a></h4>
<p>Deviantart是互联网站最大的艺术展示站点之一。你可以在这里找到好灵感。</p>
<p><a href="http://www.deviantart.com/#catpath=designs/web&amp;order=9"><img title="deviantart-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/deviantart-web-designer-tools-useful.jpg" border="0" alt="deviantart-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4><span id="more-1562"></span>2. <a href="http://www.webdesign.org/showcase/website-showcase/page-1.html?order=rating">Web design library</a></h4>
<p><a href="http://www.yeeyan.com/articles/tag/Web"><em>Web</em></a> Design Library是一个提供设计研究平台的资源站点，覆盖了大量的理论知识和实战方面的信息。</p>
<p><a href="http://www.webdesign.org/showcase/website-showcase/page-1.html?order=rating"><img title="webdesign-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/webdesign-web-designer-tools-useful.jpg" border="0" alt="webdesign-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>3. <a href="http://www.stylevault.net/">Stylevault</a></h4>
<p>Stylevault.net 是一个设计展示站点，设计师可以在上面展示才华的同时其他人也可从中获益。</p>
<p><a href="http://www.stylevault.net/"><img title="stylevault-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/stylevault-web-designer-tools-useful.jpg" border="0" alt="stylevault-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>4. <a href="http://www.behance.net/Search?category=content&amp;main-search=Search&amp;realm=102">Behance</a></h4>
<p>Behance 是找灵感的好去处，因为他们的设计更加专业。</p>
<p><a href="http://www.behance.net/Search?category=content&amp;main-search=Search&amp;realm=102"><img title="behance-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/behance-web-designer-tools-useful.jpg" border="0" alt="behance-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>5. <a href="http://thedesigninspiration.com/">The design inspiration</a></h4>
<p>The Design Inspiration 是一群整日寻求设计灵感的设计师所创建的。</p>
<p><a href="http://thedesigninspiration.com/"><img title="thedesigninspiration-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/thedesigninspiration-web-designer-tools-useful.jpg" border="0" alt="thedesigninspiration-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>6.<a href="http://www.colourlovers.com/"> Colour lovers</a></h4>
<p>Colour lover 是一个国际性的设计师社区，不同行当的艺术家到此寻找色彩方面的灵感，想法并对这些专业的或个人项目发表发聩。</p>
<p><a href="http://www.colourlovers.com/"><img title="colourlovers-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/colourlovers-web-designer-tools-useful.jpg" border="0" alt="colourlovers-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>7. <a href="http://kuler.adobe.com/">Adobe kuler</a></h4>
<p>Adobe kuler 是奥多比公司推出的web程序，旨在帮助你创建和分享颜色主题。</p>
<p><a href="http://kuler.adobe.com/"><img title="kuler-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/kuler-web-designer-tools-useful.jpg" border="0" alt="kuler-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>8. <a href="http://www.colorhunter.com/">Color hunter</a></h4>
<p>Color Hunter 可以通过图片来创建配色。</p>
<p><a href="http://www.colorhunter.com/"><img title="colorhunter-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/colorhunter-web-designer-tools-useful.jpg" border="0" alt="colorhunter-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>9. <a href="http://www.colorotate.org/">Colorotate<br />
</a></h4>
<p>通过Colorotate，可以实现以3D的视觉效果的方面来迎合人脑的颜色处理过程。</p>
<p><a href="http://www.colorotate.org/"><img title="colorotate-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/colorotate-web-designer-tools-useful.jpg" border="0" alt="colorotate-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>10. <a href="http://www.stripemania.com/">Stripemania<br />
</a></h4>
<p>Stripemania 是一个用于生成纹理的在线web2.0工具。纹理大小、缝隙都可以调节，还可以选择色彩过渡效果。</p>
<p><a href="http://www.stripemania.com/"><img title="stripemania-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/stripemania-web-designer-tools-useful.jpg" border="0" alt="stripemania-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>11. <a href="http://fontstruct.fontshop.com/">Fontstruct<br />
</a></h4>
<p>FontStruct 可以通过绘制网格来绘制出自己的字体。</p>
<p><a href="http://fontstruct.fontshop.com/"><img title="fontstruct-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/fontstruct-web-designer-tools-useful.jpg" border="0" alt="fontstruct-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>12. <a href="http://www.dafont.com/">Dafont</a></h4>
<p>一个可以通过字母，主题，更新日期排序的字体站点，大多数字体可以免费下载。</p>
<p><a href="http://www.dafont.com/"><img title="dafont-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/dafont-web-designer-tools-useful.jpg" border="0" alt="dafont-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>13. <a href="http://www.iconfinder.net/">Icon finder<br />
</a></h4>
<p>一个收录了十万个免费图标搜索引擎。</p>
<p><a href="http://www.iconfinder.net/"><img title="iconfinder-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/iconfinder-web-designer-tools-useful.jpg" border="0" alt="iconfinder-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>14. <a href="http://new.myfonts.com/WhatTheFont/">Whatthefont<br />
</a></h4>
<p>看见了一个好看的字体，但是不知道它的名字？</p>
<p>把字体图像提交到WhatTheFont，它将会在数据库中查找与你的字体最接近的字体名字，或者让字体爱好者在<a href="http://new.myfonts.com/WhatTheFont/forum/">WhatTheFont论坛</a>中帮忙。</p>
<p><a href="http://new.myfonts.com/WhatTheFont/"><img title="whatthefont-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/whatthefont-web-designer-tools-useful.jpg" border="0" alt="whatthefont-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>15. <a href="http://lipsum.com/">Lorem Ipsum</a></h4>
<p>Lorem Ipsum是打印排版工业的无意义文本，这是一个Lorem Ipsum生成器。</p>
<p><a href="http://lipsum.com/"><img title="loremipsum-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/loremipsum-web-designer-tools-useful.jpg" border="0" alt="loremipsum-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>编码工具</h4>
<h4>16.<a href="http://www.typetester.org/">Typetester</a></h4>
<p>Typetester是一个在线字体比较工具。</p>
<p><a href="http://www.typetester.org/"><img title="typetester-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/typetester-web-designer-tools-useful.jpg" border="0" alt="typetester-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>17.<a href="http://typeface.neocracy.org/"> Typeface.js</a></h4>
<p>通过typeface.js，你可以在网页中嵌入自定义字体，从而免去了文字到图片转换的麻烦。</p>
<p><a href="http://typeface.neocracy.org/"><img title="typefacejs-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/typefacejs-web-designer-tools-useful.jpg" border="0" alt="typefacejs-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>18.<a href="http://getfirebug.com/"> Firebug</a></h4>
<p>Firebug是Firefox浏览器的一个网页开发的扩展，你可以在任意网页中编辑，调试，监视css,html,javascript。</p>
<p><a href="http://getfirebug.com/"><img title="firebug-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/firebug-web-designer-tools-useful.jpg" border="0" alt="firebug-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>19.<a href="http://developer.yahoo.com/yslow/smushit/"> Smush.it</a></h4>
<p>Smush.it通过对特定图片格式的优化技术来减小图片大小，这是一个“无损”的工具，也就是说在优化图片的同时，图片样子和视觉效果没有发生改变。</p>
<p><a href="http://developer.yahoo.com/yslow/smushit/"><img title="smushit-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/smushit-web-designer-tools-useful.jpg" border="0" alt="smushit-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>20.<a href="http://www.phpform.org/"> pForm</a></h4>
<p>在线HTML表单创建工具。</p>
<p><a href="http://www.phpform.org/"><img title="pform-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/pform-web-designer-tools-useful.jpg" border="0" alt="pform-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>21. <a href="http://www.zend.com/en/products/studio/">Zend Studio</a></h4>
<p>Zend Sudio 7.0是一下代专业级的php程序开发环境。其设计可以最大化开发者的效率，同时可以更快的开发和维护代码，解决程序问题并且提高团队合作效率。</p>
<p><a href="http://www.zend.com/en/products/studio/"><img title="zendstudio-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/zendstudio-web-designer-tools-useful.jpg" border="0" alt="zendstudio-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>22. <a href="https://addons.mozilla.org/en-US/firefox/addon/684">Fire FTP for Firefox</a></h4>
<p>FireFTP是一个Mozilla Firefox扩展，是一个免费、安全、跨平台的FTP客户端。</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/684"><img title="fireftp-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/fireftp-web-designer-tools-useful.jpg" border="0" alt="fireftp-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>23. <a href="http://www.expandrive.com/">Expandrive</a></h4>
<p>ExpanDrive 就像是你MAC或者PC上的U盘。可以在远程计算机上打开、编辑、保存文件。</p>
<p><a href="http://www.expandrive.com/"><img title="expandrive-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/expandrive-web-designer-tools-useful.jpg" border="0" alt="expandrive-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>24. <a href="http://validator.w3.org/">W3C Validator</a></h4>
<p>W3C校验器是W3C的免费服务，用于检查网页的标签的有效性。同样还有一个<a href="http://jigsaw.w3.org/css-validator/">CSS校验器</a>。</p>
<p><a href="http://validator.w3.org/"><img title="w3cvalidator-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/w3cvalidator-web-designer-tools-useful.jpg" border="0" alt="w3cvalidator-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>25.<a href="http://jqueryui.com/home"> jQuery UI</a></h4>
<p>jQuery UI 是一个开源的接口组件库-互动、小工具、动画效果，基于jQuery javascript库。每个组件都是基于jQuery的事件驱动构架编写，并且相当主题化，使开发者和任意技术层次的人都能整合到自己的代码中去。</p>
<p><a href="http://jqueryui.com/home"><img title="jqueryui-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/jqueryui-web-designer-tools-useful.jpg" border="0" alt="jqueryui-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>26.<a href="http://clean-ajax.sourceforge.net/index.php?tab=about"> Clean AJAX</a></h4>
<p>Clean是Ajax的开源引擎，提供了一个Ajax技术的高级接口。</p>
<p><a href="http://clean-ajax.sourceforge.net/index.php?tab=about"><img title="cleanajax-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/cleanajax-web-designer-tools-useful.jpg" border="0" alt="cleanajax-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>27.<a href="http://cow.neondragon.net/stuff/reflection/"> Reflection.js</a></h4>
<p>Relection.js 可以让网页中的图片呈现发射效果，它使用整洁的javascript代码，使你的代码更干净。</p>
<p><a href="http://cow.neondragon.net/stuff/reflection/"><img title="reflection-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/reflection-web-designer-tools-useful.jpg" border="0" alt="reflection-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>28.<a href="http://www.blueprintcss.org/"> Blueprint CSS</a></h4>
<p>Blueprint是一个CSS框架，旨在削减开发时间。它通过网格、排版、插件、打印的CSS给你的项目提供一个坚实的基石。</p>
<p><a href="http://www.blueprintcss.org/"><img title="blueprint-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/blueprint-web-designer-tools-useful.jpg" border="0" alt="blueprint-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>29.<a href="http://www.cleancss.com/"> CleanCSS</a></h4>
<p>CleanCSS是一个强大的CSS代码优化器和代码格式化工具。</p>
<p><a href="http://www.cleancss.com/"><img title="cleancss-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/cleancss-web-designer-tools-useful.jpg" border="0" alt="cleancss-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>30.<a href="http://www.digitalmediaminute.com/reference/entity/index.php"> XHTML Character Entity Reference</a></h4>
<p>这个页面包含了HTML 4 和 XHTML 1.0 所允许的252的特殊字符，<a href="http://www.w3.org/TR/REC-html40/sgml/entities.html">W3C官方HTML 4规范中的第24部分</a>有所阐述。</p>
<p><a href="http://www.digitalmediaminute.com/reference/entity/index.php"><img title="htmlcharacters-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/htmlcharacters-web-designer-tools-useful.jpg" border="0" alt="htmlcharacters-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>31.<a href="http://tools.pingdom.com/"> Pingdom</a></h4>
<p>Pingdom是一个站点监视工具，可以7X24小时全年监控，有在线时长、响应时长的统计，还可以通过Email和短信来发送警告。</p>
<p><a href="http://tools.pingdom.com/"><img title="pingdom-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/pingdom-web-designer-tools-useful.jpg" border="0" alt="pingdom-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>32.<a href="http://www.huddletogether.com/projects/lightbox2/"> Lightbox 2</a></h4>
<p>Lightbox用于图片在网页上叠加显示。设置及其简单。</p>
<p><a href="http://www.huddletogether.com/projects/lightbox2/"><img title="lightbox2-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/lightbox2-web-designer-tools-useful.jpg" border="0" alt="lightbox2-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>33.<a href="http://www.wix.com/"> WIX</a></h4>
<p>免费的flash网页创建工具。</p>
<p><a href="http://www.wix.com/"><img title="wix-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/wix-web-designer-tools-useful.jpg" border="0" alt="wix-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>34.<a href="http://www.bestfreetemplates.info/"> Best free templates</a></h4>
<p>BestFreeTemplates.info 优秀的CSS模板供您下载。</p>
<p><a href="http://www.bestfreetemplates.info/"><img title="bestfreetemplates-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/bestfreetemplates-web-designer-tools-useful.jpg" border="0" alt="bestfreetemplates-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>测试管理站点</h4>
<h4>35.<a href="http://browsershots.org/"> Browsershots</a></h4>
<p>BrowserShots是一个基于web的浏览器兼容性检查工具，可以清晰的预览您站点在各种浏览器上面的显示效果。不需要注册，直接提交url，然后等待3-5分钟，BrowserShot就为您生成各种浏览器下面的效果图。</p>
<p><a href="http://www.browsercam.com/"><img title="browsershots-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/browsershots-web-designer-tools-useful.jpg" border="0" alt="browsershots-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>36.<a href="http://www.browsercam.com/"> Browsercam</a></h4>
<p>在任意操作系统任意浏览器上查看你的web设计，检查javascript,DHTML,表单和其他动态功能。</p>
<p><a href="http://browsershots.org/"><img title="browsercam-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/browsercam-web-designer-tools-useful.jpg" border="0" alt="browsercam-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>37.<a href="http://aremysitesup.com/"> Are my sites up?</a></h4>
<p>Are my sites up是一个简单的服务，当你网站下线是会及时的通知你。</p>
<p><a href="http://aremysitesup.com/"><img title="aremysitesup-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/aremysitesup-web-designer-tools-useful.jpg" border="0" alt="aremysitesup-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>38. <a href="http://www.google.com/analytics/">Google analytics</a></h4>
<p>Google Analytics 是一个企业级的网站分析解决方案，让你对自己站点的访问状况了如指掌并且有效的进行市场推广。强大、灵活、易用的特性使你分析网站流量的方式耳目一新。通 过Google Analytics，你可以推广更有针对性的广告，占领市场主动权，创建更高回报的站点。</p>
<p><img title="googleanalytics-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/googleanalytics-web-designer-tools-useful.jpg" border="0" alt="googleanalytics-web-designer-tools-useful" width="570" height="300" /></p>
<h4>39.<a href="http://www.w3counter.com/"> W3Counter</a></h4>
<p>W3Counter是一个免费的站点分析解决方案，可以回答你的以下疑问：网站用户是谁，他们怎么找到你的站点，他们感兴趣的是什么。</p>
<p><a href="http://www.w3counter.com/"><img title="w3counter-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/w3counter-web-designer-tools-useful.jpg" border="0" alt="w3counter-web-designer-tools-useful" width="570" height="300" /></a></p>
<h4>40.<a href="http://www.elogicwebsolutions.com/website-statistics.html"> eLogic</a></h4>
<p>跟踪和监视站点活动。了解站点数据是建立成功在线商务的关键。</p>
<p><a href="http://www.elogicwebsolutions.com/website-statistics.html"><img title="elogicwebsolutions-web-designer-tools-useful" src="http://www.1stwebdesigner.com/wp-content/uploads/2009/11/useful-webdesign-tools/elogicwebsolutions-web-designer-tools-useful.jpg" border="0" alt="elogicwebsolutions-web-designer-tools-useful" width="570" height="300" /></a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>October 22, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/10/22/10%e8%ae%be%e8%ae%a1%e8%b5%84%e6%ba%90%e5%92%8c%e7%81%b5%e6%84%9f%e7%9a%84%e5%bf%85%e5%a4%87%e7%bd%91%e7%ab%99/" title="10+设计资源和灵感的必备网站">10+设计资源和灵感的必备网站</a></li><li>September 24, 2006 -- <a href="http://fred.oracle1.com/weblog/2006/09/24/desktop-backgrounds-for-designers/" title="Desktop Backgrounds For Designers">Desktop Backgrounds For Designers</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/07/12/%e4%ba%92%e8%81%94%e7%bd%91%e4%ba%a7%e5%93%81%e8%ae%be%e8%ae%a1%e7%9a%8440%e4%b8%aa%e8%b6%85%e5%ae%9e%e7%94%a8%e7%9a%84web%e8%ae%be%e8%ae%a1%e5%b7%a5%e5%85%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>怎样在linux下修改ID3信息</title>
		<link>http://fred.oracle1.com/weblog/2010/07/08/%e6%80%8e%e6%a0%b7%e5%9c%a8linux%e4%b8%8b%e4%bf%ae%e6%94%b9id3%e4%bf%a1%e6%81%af/</link>
		<comments>http://fred.oracle1.com/weblog/2010/07/08/%e6%80%8e%e6%a0%b7%e5%9c%a8linux%e4%b8%8b%e4%bf%ae%e6%94%b9id3%e4%bf%a1%e6%81%af/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 12:11:58 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[id3]]></category>
		<category><![CDATA[mp3]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1558</guid>
		<description><![CDATA[mid3iconv 由于Ubuntu中的Amarok等播放器只支持UTF8字符，所以在Amarok中常常出现乱码。解决方案如下： 1sudo apt-get install python-mutagen 修改mp3中编码： 到你的music目录去 1find . -iname &#34;*.mp&#34; -execdir mid3iconv -e GBK {} \; Related PostsJuly 7, 2010 -- 6个Linux性能监控命令行工具May 26, 2010 -- Linux For Thinkpad 下投影仪使用March 1, 2010 -- cpulimit &#8211; 限制进程的 CPU 占用率February 25, 2010 -- Bash Shell Keyboard shortcutsFebruary 24, 2010 -- Logging In to Xen Console After [...]]]></description>
			<content:encoded><![CDATA[<p><strong>mid3iconv</strong><br />
由于Ubuntu中的Amarok等播放器只支持UTF8字符，所以在Amarok中常常出现乱码。解决方案如下：</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install python-mutagen</div></td></tr></tbody></table></div>
<p>修改mp3中编码：<br />
到你的music目录去</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">find . -iname &quot;*.mp&quot; -execdir mid3iconv -e GBK {} \;</div></td></tr></tbody></table></div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>July 7, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/07/07/6%e4%b8%aalinux%e6%80%a7%e8%83%bd%e7%9b%91%e6%8e%a7%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b7%a5%e5%85%b7/" title="6个Linux性能监控命令行工具">6个Linux性能监控命令行工具</a></li><li>May 26, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/26/linux-for-thinkpad-%e4%b8%8b%e6%8a%95%e5%bd%b1%e4%bb%aa%e4%bd%bf%e7%94%a8/" title="Linux For Thinkpad 下投影仪使用">Linux For Thinkpad 下投影仪使用</a></li><li>March 1, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/03/01/cpulimit-%e9%99%90%e5%88%b6%e8%bf%9b%e7%a8%8b%e7%9a%84-cpu-%e5%8d%a0%e7%94%a8%e7%8e%87/" title="cpulimit &#8211; 限制进程的 CPU 占用率">cpulimit &#8211; 限制进程的 CPU 占用率</a></li><li>February 25, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/25/keyboard-shortcuts/" title="Bash Shell Keyboard shortcuts">Bash Shell Keyboard shortcuts</a></li><li>February 24, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/24/logging-in-to-xen-console-after-receiving-xenconsole-could-not-open-tty-error/" title="Logging In to Xen Console After Receiving &#8220;xenconsole: Could not open tty&#8221; Error">Logging In to Xen Console After Receiving &#8220;xenconsole: Could not open tty&#8221; Error</a></li><li>February 5, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/05/view-memory-detail-information-on-linux/" title="Linux下查看内存条数命令">Linux下查看内存条数命令</a></li><li>February 4, 2010 -- <a href="http://fred.oracle1.com/weblog/oracle/" title="Oracle">Oracle</a></li><li>November 4, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/11/04/build-new-kernel-for-thinkpad/" title="Build New Kernel For Thinkpad">Build New Kernel For Thinkpad</a></li><li>September 30, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/09/30/how-to-configure-the-trackpointthinkpad/" title="How to configure the TrackPoint(Thinkpad)">How to configure the TrackPoint(Thinkpad)</a></li><li>September 30, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/09/30/a-basic-latex-howto/" title="A Basic LaTeX HOWTO">A Basic LaTeX HOWTO</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/07/08/%e6%80%8e%e6%a0%b7%e5%9c%a8linux%e4%b8%8b%e4%bf%ae%e6%94%b9id3%e4%bf%a1%e6%81%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6个Linux性能监控命令行工具</title>
		<link>http://fred.oracle1.com/weblog/2010/07/07/6%e4%b8%aalinux%e6%80%a7%e8%83%bd%e7%9b%91%e6%8e%a7%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b7%a5%e5%85%b7/</link>
		<comments>http://fred.oracle1.com/weblog/2010/07/07/6%e4%b8%aalinux%e6%80%a7%e8%83%bd%e7%9b%91%e6%8e%a7%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b7%a5%e5%85%b7/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 01:49:12 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[monitor]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1547</guid>
		<description><![CDATA[htop http://htop.sourceforge.net/ 一个可以让用户与之交互的进程查看器。作为文本模式的应用程序，主要用于控制台或 X 终端中。当前具有按树状方式来查看进程，支持颜色主题，可以定制等特性。 dstat http://dag.wieers.com/home-made/dstat/ 一个用来替换vmstat, iostat, netstat, nfsstat 和ifstat 这些命令的工具，是一个全能系统信息统计工具。 BMon http://freshmeat.net/projects/bmon/ 一个易于使用的软件，监控网络接口流量。 Iftop http://www.ex-parrot.com/pdw/iftop/ 主要用来显示本机网络流量情况及各相互通信的流量集合，如单独同那台机器间的流量大小，非常适合于代理服务器和iptables服务器使用 ifstat http://gael.roualland.free.fr/ifstat/ 一个非常不错的检测网络活动状态的软件 Sysstat http://pagesperso-orange.fr/sebastien.godard/ 包含监测系统性能及效率的一组工具，这些工具对于我们收集系统性能数据，比如CPU使用率、硬盘和网络吞吐数据，这些数据的收集和分析，有利于我们判断系统是否正常运行，是提高系统运行效率、安全运行服务器的得力助手。 Related PostsJuly 8, 2010 -- 怎样在linux下修改ID3信息June 8, 2010 -- Error: Could not stat() command file &#8216;/var/lib/nagios2/rw/nagios.cmd&#8217;May 26, 2010 -- Linux For Thinkpad 下投影仪使用April 20, 2010 -- A new munin node [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><strong>htop </strong> <a href="http://htop.sourceforge.net/">http://htop.sourceforge.net/</a><br />
一个可以让用户与之交互的进程查看器。作为文本模式的应用程序，主要用于控制台或 X 终端中。当前具有按树状方式来查看进程，支持颜色主题，可以定制等特性。<br />
<a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a.png"><img class="size-full wp-image-1550 alignnone" title="htop" src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a.png" alt="" width="400" height="266" /></a></li>
<p><span id="more-1547"></span></p>
<li><strong>dstat</strong> <a href="http://dag.wieers.com/home-made/dstat/">http://dag.wieers.com/home-made/dstat/</a><br />
一个用来替换vmstat, iostat, netstat, nfsstat 和ifstat 这些命令的工具，是一个全能系统信息统计工具。<br />
<a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a1.png"><img class="alignnone size-full wp-image-1551" title="dstat" src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a1.png" alt="" width="400" height="273" /></a></li>
<li><strong>BMon </strong> <a href="http://freshmeat.net/projects/bmon/">http://freshmeat.net/projects/bmon/</a><br />
一个易于使用的软件，监控网络接口流量。<br />
<a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a2.png"><img class="alignnone size-full wp-image-1552" title="bmon" src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a2.png" alt="" width="400" height="359" /></a></li>
<li><strong>Iftop </strong><a href="http://www.ex-parrot.com/pdw/iftop/">http://www.ex-parrot.com/pdw/iftop/</a><br />
主要用来显示本机网络流量情况及各相互通信的流量集合，如单独同那台机器间的流量大小，非常适合于代理服务器和iptables服务器使用<br />
<a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a3.png"><img class="alignnone size-full wp-image-1553" title="iftop" src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a3.png" alt="" width="400" height="266" /></a></li>
<li><strong>ifstat </strong> <a href="http://gael.roualland.free.fr/ifstat/">http://gael.roualland.free.fr/ifstat/</a><br />
一个非常不错的检测网络活动状态的软件<br />
<a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a5.png"><img class="alignnone size-full wp-image-1555" title="ifstat" src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a5.png" alt="" width="400" height="266" /></a></li>
<li><strong>Sysstat </strong> <a href="http://pagesperso-orange.fr/sebastien.godard/">http://pagesperso-orange.fr/sebastien.godard/</a><br />
包含监测系统性能及效率的一组工具，这些工具对于我们收集系统性能数据，比如CPU使用率、硬盘和网络吞吐数据，这些数据的收集和分析，有利于我们判断系统是否正常运行，是提高系统运行效率、安全运行服务器的得力助手。<br />
<a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a4.png"><img class="alignnone size-full wp-image-1554" title="sysstat" src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/07/5e9a1c2d-5911-31d3-b61a-d7cd6450ab7a4.png" alt="" width="400" height="266" /></a></li>
</ol>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>July 8, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/07/08/%e6%80%8e%e6%a0%b7%e5%9c%a8linux%e4%b8%8b%e4%bf%ae%e6%94%b9id3%e4%bf%a1%e6%81%af/" title="怎样在linux下修改ID3信息">怎样在linux下修改ID3信息</a></li><li>June 8, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/06/08/error-could-not-stat-command-file-varlibnagios2rwnagios-cmd/" title="Error: Could not stat() command file &#8216;/var/lib/nagios2/rw/nagios.cmd&#8217;">Error: Could not stat() command file &#8216;/var/lib/nagios2/rw/nagios.cmd&#8217;</a></li><li>May 26, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/26/linux-for-thinkpad-%e4%b8%8b%e6%8a%95%e5%bd%b1%e4%bb%aa%e4%bd%bf%e7%94%a8/" title="Linux For Thinkpad 下投影仪使用">Linux For Thinkpad 下投影仪使用</a></li><li>April 20, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/04/20/a-new-munin-node-client-for-windows/" title="A new munin node client for windows">A new munin node client for windows</a></li><li>March 1, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/03/01/cpulimit-%e9%99%90%e5%88%b6%e8%bf%9b%e7%a8%8b%e7%9a%84-cpu-%e5%8d%a0%e7%94%a8%e7%8e%87/" title="cpulimit &#8211; 限制进程的 CPU 占用率">cpulimit &#8211; 限制进程的 CPU 占用率</a></li><li>February 25, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/25/keyboard-shortcuts/" title="Bash Shell Keyboard shortcuts">Bash Shell Keyboard shortcuts</a></li><li>February 24, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/24/logging-in-to-xen-console-after-receiving-xenconsole-could-not-open-tty-error/" title="Logging In to Xen Console After Receiving &#8220;xenconsole: Could not open tty&#8221; Error">Logging In to Xen Console After Receiving &#8220;xenconsole: Could not open tty&#8221; Error</a></li><li>February 5, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/05/view-memory-detail-information-on-linux/" title="Linux下查看内存条数命令">Linux下查看内存条数命令</a></li><li>February 4, 2010 -- <a href="http://fred.oracle1.com/weblog/oracle/" title="Oracle">Oracle</a></li><li>November 4, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/11/04/build-new-kernel-for-thinkpad/" title="Build New Kernel For Thinkpad">Build New Kernel For Thinkpad</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/07/07/6%e4%b8%aalinux%e6%80%a7%e8%83%bd%e7%9b%91%e6%8e%a7%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b7%a5%e5%85%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Range number in MySQL</title>
		<link>http://fred.oracle1.com/weblog/2010/07/01/range-number-in-mysql/</link>
		<comments>http://fred.oracle1.com/weblog/2010/07/01/range-number-in-mysql/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 09:44:06 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1540</guid>
		<description><![CDATA[To obtain a random integer R in the range i &#60;= R &#60; j, use the expression FLOOR&#40;i + RAND&#40;&#41; * &#40;j – i&#41;&#41;. For example, to obtain a random integer in the range the range 7 &#60;= R &#60; 12, you could use the following statement: SELECT FLOOR&#40;7 + &#40;RAND&#40;&#41; * 5&#41;&#41;; Related PostsJune [...]]]></description>
			<content:encoded><![CDATA[<p>To obtain a random integer R in the range <code class="codecolorer sql default"><span class="sql">i <span style="color: #66cc66;">&lt;=</span> R <span style="color: #66cc66;">&lt;</span> j</span></code>, use the expression <code class="codecolorer sql default"><span class="sql">FLOOR<span style="color: #66cc66;">&#40;</span>i <span style="color: #66cc66;">+</span> RAND<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#40;</span>j – i<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></span></code>. For example, to obtain a random integer in the range the range <code class="codecolorer sql default"><span class="sql"><span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">&lt;=</span> R <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">12</span></span></code>, you could use the following statement:</p>
<p><code class="codecolorer sql default"><span class="sql"><span style="color: #993333; font-weight: bold;">SELECT</span> FLOOR<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">7</span> <span style="color: #66cc66;">+</span> <span style="color: #66cc66;">&#40;</span>RAND<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</span></code></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>June 12, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/06/12/%e6%96%87%e4%bb%b6%e8%87%aa%e5%8a%a8%e5%a2%9e%e9%95%bf%e5%92%8c%e8%87%aa%e5%8a%a8%e6%94%b6%e7%bc%a9sql-server/" title="文件自动增长和自动收缩SQL Server">文件自动增长和自动收缩SQL Server</a></li><li>May 13, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/13/%e8%ae%a1%e7%ae%97%e6%9c%ba%e6%94%b9%e5%90%8d%ef%bc%8csql-server-2005%e4%b8%8d%e8%83%bd%e5%81%9a%e5%a4%8d%e5%88%b6/" title="计算机改名，SQL Server 2005不能做复制">计算机改名，SQL Server 2005不能做复制</a></li><li>May 5, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/05/%e5%88%a9%e7%94%a8sql%e7%b4%a2%e5%bc%95%e6%8f%90%e9%ab%98%e6%9f%a5%e8%af%a2%e9%80%9f%e5%ba%a6/" title="利用SQL索引提高查询速度">利用SQL索引提高查询速度</a></li><li>May 4, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/04/sql-server-2005-replication/" title="SQL Server 2005复制">SQL Server 2005复制</a></li><li>March 9, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/03/09/mysql%e4%b8%bb%e4%bb%8e%e7%83%ad%e5%a4%87%e9%85%8d%e7%bd%ae%e5%90%abinnodb/" title="MySQL主从热备配置(含innodb)">MySQL主从热备配置(含innodb)</a></li><li>March 4, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/03/04/sql-injector-test-tool-for-asp/" title="微软SQL注入测试工具（ASP）">微软SQL注入测试工具（ASP）</a></li><li>February 9, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/09/mssql-injection-cheat-sheet/" title="MSSQL Injection Cheat Sheet">MSSQL Injection Cheat Sheet</a></li><li>February 4, 2010 -- <a href="http://fred.oracle1.com/weblog/oracle/" title="Oracle">Oracle</a></li><li>August 21, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/08/21/mysql%e6%81%a2%e5%a4%8d%e5%8d%95%e4%b8%80%e5%ad%97%e6%ae%b5%e6%95%b0%e6%8d%ae/" title="MySQL恢复单一字段数据">MySQL恢复单一字段数据</a></li><li>July 26, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/26/mysql-random-enquiries-and-to-improve-the-efficiency/" title="提高mysql随机查询的效率">提高mysql随机查询的效率</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/07/01/range-number-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>文件自动增长和自动收缩SQL Server</title>
		<link>http://fred.oracle1.com/weblog/2010/06/12/%e6%96%87%e4%bb%b6%e8%87%aa%e5%8a%a8%e5%a2%9e%e9%95%bf%e5%92%8c%e8%87%aa%e5%8a%a8%e6%94%b6%e7%bc%a9sql-server/</link>
		<comments>http://fred.oracle1.com/weblog/2010/06/12/%e6%96%87%e4%bb%b6%e8%87%aa%e5%8a%a8%e5%a2%9e%e9%95%bf%e5%92%8c%e8%87%aa%e5%8a%a8%e6%94%b6%e7%bc%a9sql-server/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 11:31:04 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1532</guid>
		<description><![CDATA[文件自动增长和自动收缩 SQL Server允许用户设置数据库初始值、最大值，可以自动增长或者自动收缩。通过这些设置，可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server把硬盘空间耗尽之类的事情发生。一般来讲，如果数据库不是很繁忙，默认的设置（开启自动增长）能够满足大部分的需求。但是数据文件和日志文件增长本身是一件耗费系统资源和影响性能的工作。所以如果完全依赖SQL Server自动完成，可能会导致系统性能不够稳定。一个管理得比较精细的系统，应该预先考虑到可能的空间使用需求，提前规划并引导数据的流向。尽量避免空间用尽而使得SQL Server不得不自动增长的现象发生。同时也要确保每一次自动增长都能够在可接受的时间内完成，及时满足客户端应用的需求。 那么怎么才能达到这样的目的呢？在谈论最佳配置之前，首先要讨论一下SQL Server数据文件和日志文件空间申请的一些特点。还是以下面这个数据库（如图1-31所示）为例。它有3个数据文件（假设它们属于同一个文件组）和两个日志文件（见表1-7）： 表1-7  插入数据前的文件大小 假设现在有个客户端要插入40 MB的数据，20 MB的日志记录，SQL Server会怎样往这些文件里写呢？SQL Server对于数据和日志有不同的处理方法。 数据文件 SQL Server会按照同一个文件组里面的所有文件现有空闲空间的大小，按这个比例把新的数据分布到所有有空间的数据文件里。如果某个文件已经写满了，SQL Server就不再继续往这个文件里写，而是写到其他有空间的文件里面。 在上面的例子里，因为3个文件空闲空间是200:100:100，40 MB的数据就按照20 MB:10 MB:10 MB的比例写入了这3个文件。 日志文件 SQL Server对于日志记录是按照严格的顺序写入的。所以虽然这里有两个日志文件，SQL Server还是在一个时间点只写其中的一个。只有这个文件写满了，SQL Server才会写入另外一个。 在我们的范例数据库里，20 MB的日志记录都会写入MyDB_log1。 有时候我们会加入多个数据库文件，并把它们放在不同的硬盘上，以达到分散I/O负载的目的。从上面的处理方式我们可以看到，如果想要达到这个目的，对于数据文件，就必须保证同一个文件组里的所有数据文件都有基本一样大小的空闲空间。（不是这些文件一样大就可以的。）如果某个硬盘上的数据文件已经被写满了，SQL Server就不会再往这个硬盘上写了。如果空闲空间相对比较少，SQL Server写的数目也会相对减少。 对于日志文件，由于SQL Server在同一个时间只写一个文件，所以加入多个日志文件对性能基本不会有什么帮助。 如果文件全部都写满了，SQL Server会怎么处理呢？在这里数据文件和日志文件也会稍有不同。对于数据文件，SQL Server会选取其中一个文件（可能是任意一个）做自动增长，而不是让每一个数据文件都做自动增长。所有后面的数据都写入这个做了自动增长的文件里，直到这个文件再次写满，SQL Server要做下一次自动增长为止。换句话说，依靠自动增长，只能看到一个文件增长，很难享受到I/O负载平衡的效果。 对于日志文件，SQL Server自动增长当前的日志文件，以保证日志记录的连续性。 当某个操作触发了文件自动增长时，SQL Server会让那个操作等待。直到文件自动增长结束了，原先的那个操作才能继续进行。如果自增长用了很长时间，原先的操作会等不及就超时取消了（一般默认的阈值是15秒），不但这个操作会回滚，文件自动增长也会被取消。也就是说，这一次文件没有得到任何增大。最坏的情况是，在一个时间点，有很多操作需要申请新的空间，可是谁都没能够等文件自动增长完就超时。这时体现在终端用户的感觉，就是任何修改操作都不能被提交，全部超时。直到有一个连接能够等足够久，让SQL Server把这个自动增长做完。做完以后，其他本来超时的操作又忽然都能恢复正常。 为什么一个自动增长可能会花比较长的时间呢？这基本上都是由于每次需要增长的空间太大造成的。数据文件是按照8 KB为单位存储的。所以做数据文件自增长的时候，SQL Server也要对这些新增加的部分进行格式化。如果一次要增长很大的空间，比如，上GB或者几十GB，这个格式化的过程就会很耗时。SQL Server 2005以后的版本采用了延迟写技术。只要增长的新空间已经分配好，这次自动增长就算大功告成。SQL Server会用一个后台的线程把剩余的格式化做完。这样就大大缩短了一次自增长的时间。前端不再容易遇到超时失败。 还有一种极端，就是每次自动增长值太小。SQL Server要做好几次自增长才能满足操作需求。同样的大小，一次一步到位花的时间比分好几次增长要少许多。所以自动增长值也不能太小。 总之，设置数据库自增长要注意以下几点。 要设置成按固定大小增长，而不能按比例。这样就能避免一次增长太多或者太少所带来的不必要的麻烦。建议对比较小的数据库，设置一次增长50 MB到100 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>文件自动增长和自动收缩</strong></p>
<p>SQL Server允许用户设置数据库初始值、最大值，可以自动增长或者自动收缩。通过这些设置，可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server把硬盘空间耗尽之类的事情发生。一般来讲，如果数据库不是很繁忙，默认的设置（开启自动增长）能够满足大部分的需求。但是数据文件和日志文件增长本身是一件耗费系统资源和影响性能的工作。所以如果完全依赖SQL Server自动完成，可能会导致系统性能不够稳定。一个管理得比较精细的系统，应该预先考虑到可能的空间使用需求，提前规划并引导数据的流向。尽量避免空间用尽而使得SQL Server不得不自动增长的现象发生。同时也要确保每一次自动增长都能够在可接受的时间内完成，及时满足客户端应用的需求。</p>
<p>那么怎么才能达到这样的目的呢？在谈论最佳配置之前，首先要讨论一下SQL Server数据文件和日志文件空间申请的一些特点。还是以下面这个数据库（如图1-31所示）为例。它有3个数据文件（假设它们属于同一个文件组）和两个日志文件（见表1-7）：<span id="more-1532"></span></p>
<p>表1-7  插入数据前的文件大小</p>
<p>假设现在有个客户端要插入40 MB的数据，20 MB的日志记录，SQL Server会怎样往这些文件里写呢？SQL Server对于数据和日志有不同的处理方法。</p>
<div id="attachment_1534" class="wp-caption aligncenter" style="width: 325px"><a href="http://fred.oracle1.com/weblog/wp-content/uploads/2010/06/sql-server-2005.jpg"><img class="size-full wp-image-1534" title="图1-31  范例数据库的数据文件和日志文件 " src="http://fred.oracle1.com/weblog/wp-content/uploads/2010/06/sql-server-2005.jpg" alt="" width="315" height="287" /></a><p class="wp-caption-text">图1-31  范例数据库的数据文件和日志文件</p></div>
<p><strong>数据文件</strong></p>
<p>SQL Server会按照同一个文件组里面的所有文件现有空闲空间的大小，按这个比例把新的数据分布到所有有空间的数据文件里。如果某个文件已经写满了，SQL Server就不再继续往这个文件里写，而是写到其他有空间的文件里面。</p>
<p>在上面的例子里，因为3个文件空闲空间是200:100:100，40 MB的数据就按照20 MB:10 MB:10 MB的比例写入了这3个文件。<br />
<strong>日志文件 </strong></p>
<p>SQL Server对于日志记录是按照严格的顺序写入的。所以虽然这里有两个日志文件，SQL Server还是在一个时间点只写其中的一个。只有这个文件写满了，SQL Server才会写入另外一个。</p>
<p>在我们的范例数据库里，20 MB的日志记录都会写入MyDB_log1。</p>
<p>有时候我们会加入多个数据库文件，并把它们放在不同的硬盘上，以达到分散I/O负载的目的。从上面的处理方式我们可以看到，如果想要达到这个目的，对于数据文件，就必须保证同一个文件组里的所有数据文件都有基本一样大小的空闲空间。（不是这些文件一样大就可以的。）如果某个硬盘上的数据文件已经被写满了，SQL Server就不会再往这个硬盘上写了。如果空闲空间相对比较少，SQL Server写的数目也会相对减少。</p>
<p>对于日志文件，由于SQL Server在同一个时间只写一个文件，所以加入多个日志文件对性能基本不会有什么帮助。</p>
<p>如果文件全部都写满了，SQL Server会怎么处理呢？在这里数据文件和日志文件也会稍有不同。对于数据文件，SQL Server会选取其中一个文件（可能是任意一个）做自动增长，而不是让每一个数据文件都做自动增长。所有后面的数据都写入这个做了自动增长的文件里，直到这个文件再次写满，SQL Server要做下一次自动增长为止。换句话说，依靠自动增长，只能看到一个文件增长，很难享受到I/O负载平衡的效果。</p>
<p>对于日志文件，SQL Server自动增长当前的日志文件，以保证日志记录的连续性。</p>
<p>当某个操作触发了文件自动增长时，SQL Server会让那个操作等待。直到文件自动增长结束了，原先的那个操作才能继续进行。如果自增长用了很长时间，原先的操作会等不及就超时取消了（一般默认的阈值是15秒），不但这个操作会回滚，文件自动增长也会被取消。也就是说，这一次文件没有得到任何增大。最坏的情况是，在一个时间点，有很多操作需要申请新的空间，可是谁都没能够等文件自动增长完就超时。这时体现在终端用户的感觉，就是任何修改操作都不能被提交，全部超时。直到有一个连接能够等足够久，让SQL Server把这个自动增长做完。做完以后，其他本来超时的操作又忽然都能恢复正常。</p>
<p>为什么一个自动增长可能会花比较长的时间呢？这基本上都是由于每次需要增长的空间太大造成的。数据文件是按照8 KB为单位存储的。所以做数据文件自增长的时候，SQL Server也要对这些新增加的部分进行格式化。如果一次要增长很大的空间，比如，上GB或者几十GB，这个格式化的过程就会很耗时。SQL Server 2005以后的版本采用了延迟写技术。只要增长的新空间已经分配好，这次自动增长就算大功告成。SQL Server会用一个后台的线程把剩余的格式化做完。这样就大大缩短了一次自增长的时间。前端不再容易遇到超时失败。</p>
<p>还有一种极端，就是每次自动增长值太小。SQL Server要做好几次自增长才能满足操作需求。同样的大小，一次一步到位花的时间比分好几次增长要少许多。所以自动增长值也不能太小。</p>
<p>总之，设置数据库自增长要注意以下几点。</p>
<ol>
<li>要设置成按固定大小增长，而不能按比例。这样就能避免一次增长太多或者太少所带来的不必要的麻烦。建议对比较小的数据库，设置一次增长50 MB到100 MB。对大的数据库，设置一次增长100 MB到200 MB。</li>
<li>要定期监测各个数据文件的使用情况，尽量保证每个文件剩余的空间一样大，或者是期望的比例。</li>
<li>设置文件最大值，以免SQL Server文件自增长用尽磁盘空间，影响操作系统。</li>
<li>发生自增长后，要及时检查新的数据文件空间分配情况。避免SQL Server总是往个别文件写数据。</li>
</ol>
<p>除了自动增长，数据库还有一个自动收缩的功能。如果设定了这个功能，SQL Server每隔半个小时就会检查文件使用情况。如果空闲空间大于25%，SQL Server就会自动运行DBCC SHRINKFILE的动作。所以这个功能能够防止数据库申请过多的空间而不使用。对一个硬盘空间很紧张的系统，这个设置无疑是有帮助的。但是从数据库自身的健康和性能考虑，这个设置并不建议多用。这是因为：</p>
<ol>
<li>SQL Server只有在空间用尽的情况下才会做自动增长。如果没有找出自增长的原因，从而从根本上避免空间用尽，虽然能够暂时用DBCC SHRINKFILE功能收缩文件大小，但是下次数据库还是有可能长大。收缩数据库只是一个治标不治本的方法。</li>
<li>数据文件收缩会给文件带来更多的碎片。</li>
<li>不管是数据库收缩，还是增长，对SQL Server来讲都是件浪费资源的事情。在负载比较重的系统里，对性能的影响尤其大。它们是应尽量避免而不是鼓励的操作。</li>
</ol>
<p>因此，对于一个比较繁忙的数据库，推荐的设置是开启数据库自动增长选项，以防数据库空间用尽导致应用程序失败，但是要严格避免自动增长的发生。同时，尽量不要使用自动收缩功能。</p>
<h4 id="tocHeadRef">最佳做法</h4>
<ul>
<li><strong> </strong>对于受管理的生产系统，您必须将<strong>自动增长</strong>仅视为偶然的意外增长。请勿使用<strong>自动增长</strong>管理每天的数据和日志增长。</li>
<li>您可以使用警报或监控程序来主动地监控文件大小和增长文件。这有助于您减少碎片，并允许您将这些维护活动移到非高峰时段进行。</li>
<li><strong>自动收缩</strong>和<strong>自动增长</strong>必须由训练有素的数据库管理员 (DBA) 仔细评估，而不能不对其进行管理。</li>
<li>您的<strong>自动增长</strong>增量必须足够大，以避免上一节中列出的性能影响。要在您的配置设置中使用的精确值以及增量是以百分比还是以特定的 MB 值表示取决于环境中的许多因素。一种可供尝试的通用经验规则是：将您的<strong>自动增长</strong>设置设定为文件大小的八分之一左右。</li>
<li>打开每个文件的 &lt;MAXSIZE&gt; 设置，以防某个文件增长到会用尽全部可用磁盘空间的大小。</li>
<li>保持事务大小尽可能小，以防出现计划外的文件增长。</li>
</ul>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>February 4, 2010 -- <a href="http://fred.oracle1.com/weblog/oracle/" title="Oracle">Oracle</a></li><li>July 1, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/07/01/range-number-in-mysql/" title="Range number in MySQL">Range number in MySQL</a></li><li>June 10, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/06/10/%e5%85%b3%e4%ba%8emssql-io%e5%86%99%e5%85%a5%e6%ac%a1%e6%95%b0%e5%be%88%e9%ab%98%e9%97%ae%e9%a2%98%e7%9a%84%e5%88%86%e6%9e%90/" title="关于MSSQL I/O写入次数很高问题的分析">关于MSSQL I/O写入次数很高问题的分析</a></li><li>March 9, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/03/09/mysql%e4%b8%bb%e4%bb%8e%e7%83%ad%e5%a4%87%e9%85%8d%e7%bd%ae%e5%90%abinnodb/" title="MySQL主从热备配置(含innodb)">MySQL主从热备配置(含innodb)</a></li><li>February 9, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/09/mssql-injection-cheat-sheet/" title="MSSQL Injection Cheat Sheet">MSSQL Injection Cheat Sheet</a></li><li>August 21, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/08/21/mysql%e6%81%a2%e5%a4%8d%e5%8d%95%e4%b8%80%e5%ad%97%e6%ae%b5%e6%95%b0%e6%8d%ae/" title="MySQL恢复单一字段数据">MySQL恢复单一字段数据</a></li><li>July 26, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/26/mysql-random-enquiries-and-to-improve-the-efficiency/" title="提高mysql随机查询的效率">提高mysql随机查询的效率</a></li><li>July 20, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/20/mysql-performance-monitoring-tool/" title="MySQL 效能監控工具">MySQL 效能監控工具</a></li><li>July 14, 2008 -- <a href="http://fred.oracle1.com/weblog/2008/07/14/perl-mysql-chinese-dict/" title="使用Perl和MySQL找出书名中的中文词语">使用Perl和MySQL找出书名中的中文词语</a></li><li>March 23, 2007 -- <a href="http://fred.oracle1.com/weblog/2007/03/23/mysql-error-connections/" title="MySQL error connections">MySQL error connections</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/06/12/%e6%96%87%e4%bb%b6%e8%87%aa%e5%8a%a8%e5%a2%9e%e9%95%bf%e5%92%8c%e8%87%aa%e5%8a%a8%e6%94%b6%e7%bc%a9sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于MSSQL I/O写入次数很高问题的分析</title>
		<link>http://fred.oracle1.com/weblog/2010/06/10/%e5%85%b3%e4%ba%8emssql-io%e5%86%99%e5%85%a5%e6%ac%a1%e6%95%b0%e5%be%88%e9%ab%98%e9%97%ae%e9%a2%98%e7%9a%84%e5%88%86%e6%9e%90/</link>
		<comments>http://fred.oracle1.com/weblog/2010/06/10/%e5%85%b3%e4%ba%8emssql-io%e5%86%99%e5%85%a5%e6%ac%a1%e6%95%b0%e5%be%88%e9%ab%98%e9%97%ae%e9%a2%98%e7%9a%84%e5%88%86%e6%9e%90/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 04:34:05 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[sqlserver]]></category>
		<category><![CDATA[优化]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1529</guid>
		<description><![CDATA[看一下task manager, 如果Sql Server 占有的内存即使在服务器最忙得时候都不超过2GB, 而你有4GB内存，可以考虑在Windows boot.ini启动文件中加入 /3GB变量。这样SqlServer就可以使用3GB的内存，多1GB意味着更大的缓存，可以不用到Disk取频繁读取了. 运行Perfmon,加入“Page Life Expectancy”如果这个值始终小于300秒，意味着你需要更大的内存，加入“Buffer Cache hit ratio” 如果这个值小于90%，意味着你需要更大的内存.加入 “Average Disk Queue length” 如果总是大于2，意味着磁盘操作需要排队完成。考虑升级存储设备. 运行profiler，跟踪器只选Stored procedure 和 T-Sql, 在Filter(过滤) tab, 选duration(时长)大于5000，这告诉跟踪器只捕捉运行时间超过5秒的程序。 你可以根据自己的情况调整这个变量。目的是找到制造麻烦的SQL. 运行sp_who2 ,看blk by 栏， 如果这栏不是空白， 有一个数字， 这就是造成阻塞（blocking）的线程id. 然后运行DBCC Inputbuffer(线程id), 你就可以看见这个线程在干什么。 确认你的客户端程序使用connection pooling,并在完成任务后关闭连接。Sqlserver默认255个连接，如果使用connection pooling, 这个值应该足够应付大多数情况。 如果你确认255不够，可以使用sp_configure重设这个值 以上都是在认为你完成数据库日常维护的前提下。 如果你不做日常维护，请立即开始。 经常用 DBCC indexDefrag. 每隔一段时间用DBCC DBREINDEX 重建 index. 你可以运行 DBCC Showcontig, [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>看一下task manager, 如果Sql Server 占有的内存即使在服务器最忙得时候都不超过2GB, 而你有4GB内存，可以考虑在Windows boot.ini启动文件中加入 /3GB变量。这样SqlServer就可以使用3GB的内存，多1GB意味着更大的缓存，可以不用到Disk取频繁读取了.</li>
<li>运行Perfmon,加入“Page Life Expectancy”如果这个值始终小于300秒，意味着你需要更大的内存，加入“Buffer Cache hit ratio” 如果这个值小于90%，意味着你需要更大的内存.加入 “Average Disk Queue length” 如果总是大于2，意味着磁盘操作需要排队完成。考虑升级存储设备.</li>
<li>运行profiler，跟踪器只选Stored procedure 和 T-Sql, 在Filter(过滤) tab, 选duration(时长)大于5000，这告诉跟踪器只捕捉运行时间超过5秒的程序。 你可以根据自己的情况调整这个变量。目的是找到制造麻烦的SQL.</li>
<li>运行sp_who2 ,看blk by 栏， 如果这栏不是空白， 有一个数字， 这就是造成阻塞（blocking）的线程id. 然后运行DBCC Inputbuffer(线程id), 你就可以看见这个线程在干什么。</li>
<li>确认你的客户端程序使用connection pooling,并在完成任务后关闭连接。Sqlserver默认255个连接，如果使用connection pooling, 这个值应该足够应付大多数情况。 如果你确认255不够，可以使用sp_configure重设这个值</li>
<li>以上都是在认为你完成数据库日常维护的前提下。 如果你不做日常维护，请立即开始。 经常用 DBCC indexDefrag. 每隔一段时间用DBCC DBREINDEX 重建 index. 你可以运行 DBCC Showcontig, 然后看Scan Density ，如果主要的大表Scan Density &lt; 40%, 意味着你有严重的Fragmentation(碎片)，该用DBCC REINDEX去整理了.<br />
DBCC SHOWCONTIG 执行后，结果全部类似下面片断</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">DBCC SHOWCONTIG 正在扫描 'sysobjects' 表...<br />
表: 'sysobjects'（1）；索引 ID: 1，数据库 ID: 12<br />
已执行 TABLE 级别的扫描。<br />
- 扫描页数.....................................: 586<br />
- 扫描扩展盘区数...............................: 91<br />
- 扩展盘区开关数...............................: 585<br />
- 每个扩展盘区上的平均页数.....................: 6.4<br />
- 扫描密度［最佳值:实际值］....................: 12.63%［74:586］<br />
- 逻辑扫描碎片.................................: 47.27%<br />
- 扩展盘区扫描碎片.............................: 97.80%<br />
- 每页上的平均可用字节数.......................: 2209.8<br />
- 平均页密度（完整）...........................: 72.70%</div></div>
</li>
</ol>
<p><span id="more-1529"></span>写了个类，用于从结果中挑出需要重建索引的表并生成sql语句</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.FileNotFoundException</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.FileReader</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStreamReader</span><span style="color: #339933;">;</span><br />
<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
* Read a file and print, using BufferedReader and System.out<br />
*/</span><br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CatFile <span style="color: #009900;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> av<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
av <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
av<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;e:<span style="color: #000099; font-weight: bold;">\\</span>DBCC Showcontig.TXT&quot;</span><span style="color: #339933;">;</span><br />
CatFile c <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CatFile<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>av.<span style="color: #006633;">length</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
c.<span style="color: #006633;">process</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Ainputstreamreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">InputStreamReader</span></a><span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">in</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> av.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c.<span style="color: #006633;">process</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afilereader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileReader</span></a><span style="color: #009900;">&#40;</span>av<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afilenotfoundexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">FileNotFoundException</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> &nbsp; <span style="color: #009900;">&#125;</span> &nbsp; <span style="color: #008000; font-style: italic; font-weight: bold;">/** print one file, given an open BufferedReader */</span> &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> process<span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abufferedreader+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">BufferedReader</span></a> is<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> inputLine<span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> tableName <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>inputLine <span style="color: #339933;">=</span> is.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">double</span> density <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>inputLine.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;表: '&quot;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
tableName <span style="color: #339933;">=</span> inputLine.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>inputLine.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;'&quot;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span>,<br />
inputLine.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;'（&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>inputLine.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;扫描密度&quot;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
density <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Adouble+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Double</span></a>.<span style="color: #006633;">parseDouble</span><span style="color: #009900;">&#40;</span>inputLine.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>inputLine.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><br />
<span style="color: #0000ff;">&quot;..: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">4</span>, inputLine.<span style="color: #006633;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;%［&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>density <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span> <span style="color: #cc66cc;">40.0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #666666; font-style: italic;">//System.out.print(&quot;density--&quot; + density);</span><br />
<span style="color: #666666; font-style: italic;">//System.out.print(&quot; &nbsp; &nbsp;&quot;;</span><br />
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;DBCC DBREINDEX (&quot;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;'&quot;</span> <span style="color: #339933;">+</span> tableName <span style="color: #339933;">+</span><br />
<span style="color: #0000ff;">&quot;','',80)&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
is.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aioexception+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">IOException</span></a> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;IOException: &quot;</span> <span style="color: #339933;">+</span> e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>February 9, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/02/09/mssql-injection-cheat-sheet/" title="MSSQL Injection Cheat Sheet">MSSQL Injection Cheat Sheet</a></li><li>June 12, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/06/12/%e6%96%87%e4%bb%b6%e8%87%aa%e5%8a%a8%e5%a2%9e%e9%95%bf%e5%92%8c%e8%87%aa%e5%8a%a8%e6%94%b6%e7%bc%a9sql-server/" title="文件自动增长和自动收缩SQL Server">文件自动增长和自动收缩SQL Server</a></li><li>May 13, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/13/%e8%ae%a1%e7%ae%97%e6%9c%ba%e6%94%b9%e5%90%8d%ef%bc%8csql-server-2005%e4%b8%8d%e8%83%bd%e5%81%9a%e5%a4%8d%e5%88%b6/" title="计算机改名，SQL Server 2005不能做复制">计算机改名，SQL Server 2005不能做复制</a></li><li>May 4, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/05/04/sql-server-2005-replication/" title="SQL Server 2005复制">SQL Server 2005复制</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/06/10/%e5%85%b3%e4%ba%8emssql-io%e5%86%99%e5%85%a5%e6%ac%a1%e6%95%b0%e5%be%88%e9%ab%98%e9%97%ae%e9%a2%98%e7%9a%84%e5%88%86%e6%9e%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error: Could not stat() command file &#8216;/var/lib/nagios2/rw/nagios.cmd&#8217;</title>
		<link>http://fred.oracle1.com/weblog/2010/06/08/error-could-not-stat-command-file-varlibnagios2rwnagios-cmd/</link>
		<comments>http://fred.oracle1.com/weblog/2010/06/08/error-could-not-stat-command-file-varlibnagios2rwnagios-cmd/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:19:00 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[nagios2]]></category>

		<guid isPermaLink="false">http://fred.oracle1.com/weblog/?p=1525</guid>
		<description><![CDATA[Error: Could not stat() command file &#8216;/var/lib/nagios2/rw/nagios.cmd&#8217;! 1234stop nagios2 /etc/nagios2# dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios2/rw /etc/nagios2# dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios2 start nagios2 Related PostsJuly 7, 2010 -- 6个Linux性能监控命令行工具April 20, 2010 -- A new munin node client for windowsJanuary 23, 2009 -- bmon，文本界面的网络流量监控工具]]></description>
			<content:encoded><![CDATA[<p><strong>Error: Could not stat() command file &#8216;/var/lib/nagios2/rw/nagios.cmd&#8217;!</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">stop nagios2<br />
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nagios2<span style="color: #666666; font-style: italic;"># dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios2/rw</span><br />
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>nagios2<span style="color: #666666; font-style: italic;"># dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios2</span><br />
start nagios2</div></td></tr></tbody></table></div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>July 7, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/07/07/6%e4%b8%aalinux%e6%80%a7%e8%83%bd%e7%9b%91%e6%8e%a7%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b7%a5%e5%85%b7/" title="6个Linux性能监控命令行工具">6个Linux性能监控命令行工具</a></li><li>April 20, 2010 -- <a href="http://fred.oracle1.com/weblog/2010/04/20/a-new-munin-node-client-for-windows/" title="A new munin node client for windows">A new munin node client for windows</a></li><li>January 23, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/01/23/bmon/" title="bmon，文本界面的网络流量监控工具">bmon，文本界面的网络流量监控工具</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/06/08/error-could-not-stat-command-file-varlibnagios2rwnagios-cmd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>永久转向</title>
		<link>http://fred.oracle1.com/weblog/2010/06/07/301-redirect/</link>
		<comments>http://fred.oracle1.com/weblog/2010/06/07/301-redirect/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 08:42:07 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[Operating system]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://www.oracle1.com/weblog/?p=1522</guid>
		<description><![CDATA[﻿﻿ Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*) http://fred.oracle1.com/$1 [R=301,L] Related PostsSeptember 23, 2009 -- Windows 上 Apache Webdav 问题July 21, 2007 -- A good win32 apache module binary download siteJanuary 2, 2007 -- Apache 2.2.3 PHP 5.2.0 Mysql 4.1 InstallNovember 10, 2006 -- 使用rewrite实现永久重定向October 21, 2006 -- Apache 2.2 Vhost configureAugust 17, 2006 -- Perl [...]]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container apache default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">﻿﻿<br />
<span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">FollowSymLinks</span><br />
<span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">on</span><br />
<span style="color: #00007f;">RewriteRule</span> ^(.*) http://fred.oracle1.com/$<span style="color: #ff0000;">1</span> [R=<span style="color: #ff0000;">301</span>,L]</div></div>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>September 23, 2009 -- <a href="http://fred.oracle1.com/weblog/2009/09/23/windows-%e4%b8%8a-apache-webdav-%e9%97%ae%e9%a2%98/" title="Windows 上 Apache Webdav 问题">Windows 上 Apache Webdav 问题</a></li><li>July 21, 2007 -- <a href="http://fred.oracle1.com/weblog/2007/07/21/a-good-win32-apache-module-binary-download-site/" title="A good win32 apache module binary download site">A good win32 apache module binary download site</a></li><li>January 2, 2007 -- <a href="http://fred.oracle1.com/weblog/2007/01/02/apache-223-php-520-mysql-41-install/" title="Apache 2.2.3 PHP 5.2.0 Mysql 4.1 Install">Apache 2.2.3 PHP 5.2.0 Mysql 4.1 Install</a></li><li>November 10, 2006 -- <a href="http://fred.oracle1.com/weblog/2006/11/10/permanently-moved-with-rewrite/" title="使用rewrite实现永久重定向">使用rewrite实现永久重定向</a></li><li>October 21, 2006 -- <a href="http://fred.oracle1.com/weblog/2006/10/21/apache-22-vhost-configure/" title="Apache 2.2 Vhost configure">Apache 2.2 Vhost configure</a></li><li>August 17, 2006 -- <a href="http://fred.oracle1.com/weblog/2006/08/17/perl-script-on-cgiwrap/" title="Perl script on cgiwrap">Perl script on cgiwrap</a></li><li>August 11, 2006 -- <a href="http://fred.oracle1.com/weblog/2006/08/11/linux-apache-bandwidth/" title="虚拟主机流量控制">虚拟主机流量控制</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://fred.oracle1.com/weblog/2010/06/07/301-redirect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.438 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-07-30 16:43:33 -->
