<?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>Kaisir</title>
	<atom:link href="http://www.kaisir.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.kaisir.com</link>
	<description>We read the world wrong and say that it deceives us.</description>
	<lastBuildDate>Thu, 17 May 2012 11:30:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>.Net与Java时间处理上的一点区别</title>
		<link>http://www.kaisir.com/2012/05/little-difference-net-and-java-time-to-deal-with.html</link>
		<comments>http://www.kaisir.com/2012/05/little-difference-net-and-java-time-to-deal-with.html#comments</comments>
		<pubDate>Thu, 17 May 2012 11:30:46 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[不同]]></category>
		<category><![CDATA[时间戳]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2245</guid>
		<description><![CDATA[这两天在做与某知名一卡通公司的单点登录集成（我们的产品使用Java编写，对方的程序使用.Net编写）其中有一项参数是时间戳。即当前时间相对于公元1970-1-1 00:00:00的秒数。按照他们给出的文档我完成了Java部分的编写，时间戳部分很简单，一句话： 使用System.currentTimeMillis()方法就能得到自1970年1月1日0时0分0秒的毫秒数，除以1000自然是秒数。但是意外却发生了，我产生的时间戳跟他们公司产生的时间戳差了一大截，查阅资料后发现.Net跟Java在处理时间上有出入。 .Net产生的时间都是当前时区的当前时间，而Java的currentTimeMillis()方法得到的却是相对于GMT来的时间。中国所在时区是+8区，故时间整整差了8小时！ 所以当童鞋们再遇到.Net跟Java时间不一致的时候，多往时区方面考虑考虑，说不定就能找到解决办法了 ：） 当然我会给出解决方案： 方法一：JVM运行时增加参数，指定时区 -D user.timezone=GMT+08 方法二：直接在程序中设置时区。System.setProperty("user.timezone","GMT +08"); 方法三：直接加上28800就好了（8hours*60min*60sec=28800）]]></description>
			<content:encoded><![CDATA[<p>这两天在做与某知名一卡通公司的单点登录集成（我们的产品使用Java编写，对方的程序使用.Net编写）其中有一项参数是时间戳。即当前时间相对于公元1970-1-1 00:00:00的秒数。按照他们给出的文档我完成了Java部分的编写，时间戳部分很简单，一句话：</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">private</span> String createTimestamp<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="co1">//timestamp</span>
    <span class="br0">&#123;</span>
        <span class="kw1">return</span> <a href="http://www.php.net/system"><span class="kw3">System</span></a><span class="sy0">.</span>currentTimeMillis<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">/</span> <span class="nu0">1000</span> <span class="sy0">+</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span></pre></div></div>
<p>使用System.currentTimeMillis()方法就能得到自1970年1月1日0时0分0秒的毫秒数，除以1000自然是秒数。但是意外却发生了，我产生的时间戳跟他们公司产生的时间戳差了一大截，查阅资料后发现.Net跟Java在处理时间上有出入。</p>
<p>.Net产生的时间都是当前时区的当前时间，而Java的currentTimeMillis()方法得到的却是相对于GMT来的时间。中国所在时区是+8区，故时间整整差了8小时！</p>
<p>所以当童鞋们再遇到.Net跟Java时间不一致的时候，多往时区方面考虑考虑，说不定就能找到解决办法了 ：）</p>
<p>当然我会给出解决方案：</p>
<p>方法一：JVM运行时增加参数，指定时区 -D user.timezone=GMT+08</p>
<p>方法二：直接在程序中设置时区。System.setProperty("user.timezone","GMT +08");</p>
<p>方法三：直接加上28800就好了（8hours*60min*60sec=28800）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/05/little-difference-net-and-java-time-to-deal-with.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>20120408随拍</title>
		<link>http://www.kaisir.com/2012/04/20120408-with-the-beat-2.html</link>
		<comments>http://www.kaisir.com/2012/04/20120408-with-the-beat-2.html#comments</comments>
		<pubDate>Sun, 08 Apr 2012 11:19:22 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[兴趣爱好]]></category>
		<category><![CDATA[摄影]]></category>
		<category><![CDATA[济南]]></category>
		<category><![CDATA[青龙桥]]></category>
		<category><![CDATA[黑虎泉]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2237</guid>
		<description><![CDATA[今天济南天气超级好，出去走走~ 草绿色是我最喜欢的颜色，看着这些绿油油的植物，心情瞬间舒畅不少~~ 复古的小桥、清澈的流水、连成片的客船~~外加垂柳的点缀，瞬间春意盎然。 也许看了前两张片子大家还不知道我是去了哪里，但看到这张图，想必对济南有所了解的人一定知道我到了哪里 ：） 大家形色匆匆的打青龙桥上而过，你有尝试过走走桥下么？ 打水仙花中穿过的石板路，还有几只觅食的麻雀，是不是别有世外桃源的感觉？ 《水仙》 嘿嘿]]></description>
			<content:encoded><![CDATA[<p> 今天济南天气超级好，出去走走~</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC00081.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0008" border="0" alt="_DSC0008" src="http://photos.kaisir.com/2012/04/DSC0008_thumb.jpg" width="1028" height="764"></a></p>
<p>草绿色是我最喜欢的颜色，看着这些绿油油的植物，心情瞬间舒畅不少~~</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC0010.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0010" border="0" alt="_DSC0010" src="http://photos.kaisir.com/2012/04/DSC0010_thumb.jpg" width="1055" height="784"></a> </p>
<p>复古的小桥、清澈的流水、连成片的客船~~外加垂柳的点缀，瞬间春意盎然。</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC0012.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0012" border="0" alt="_DSC0012" src="http://photos.kaisir.com/2012/04/DSC0012_thumb.jpg" width="1055" height="784"></a> </p>
<p>也许看了前两张片子大家还不知道我是去了哪里，但看到这张图，想必对济南有所了解的人一定知道我到了哪里 ：）</p>
</p>
</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC0015.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0015" border="0" alt="_DSC0015" src="http://photos.kaisir.com/2012/04/DSC0015_thumb.jpg" width="1028" height="764"></a> </p>
<p>大家形色匆匆的打青龙桥上而过，你有尝试过走走桥下么？</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC0021.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0021" border="0" alt="_DSC0021" src="http://photos.kaisir.com/2012/04/DSC0021_thumb.jpg" width="1055" height="784"></a> </p>
<p>打水仙花中穿过的石板路，还有几只觅食的麻雀，是不是别有世外桃源的感觉？</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC0022.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0022" border="0" alt="_DSC0022" src="http://photos.kaisir.com/2012/04/DSC0022_thumb.jpg" width="1055" height="784"></a> </p>
<p>《水仙》 嘿嘿</p>
<p><a href="http://photos.kaisir.com/2012/04/DSC0023.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_DSC0023" border="0" alt="_DSC0023" src="http://photos.kaisir.com/2012/04/DSC0023_thumb.jpg" width="1055" height="784"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/04/20120408-with-the-beat-2.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Struts2中从一个Action跳转到另一个Action</title>
		<link>http://www.kaisir.com/2012/03/struts2-jump-from-the-one-action-to-another-action.html</link>
		<comments>http://www.kaisir.com/2012/03/struts2-jump-from-the-one-action-to-another-action.html#comments</comments>
		<pubDate>Fri, 23 Mar 2012 15:13:34 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>
		<category><![CDATA[Action]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Strurs2]]></category>
		<category><![CDATA[跳转]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2160</guid>
		<description><![CDATA[最近在做毕业设计，依然使用了SSH2作为基础框架，同时引入了JBPM来做工作流框架，因为牵扯大量的业务逻辑，故一些Action之间的跳转是在所难免了。 Action之间的跳转主要有两种方法： 1）需要保存前一个Action的属性，我们可以使用 1: &#60;result type=”chain”&#62;action2&#60;/result&#62; &#160; 2）仅跳转，我们可以使用 1: &#60;result type=”redirect-action”&#62;ActionName&#60;/result&#62; &#160; 再追根究底一些，我们到底可以使用哪些result类型呢？我们可以参考struts-core-xxxx包中的struts-default.xml文件，里面记录了可以使用的result类型及其实现类。 1: &#60;result-types&#62; 2: &#60;result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/&#62; 3: &#60;result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/&#62; 4: &#60;result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/&#62; 5: &#60;result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/&#62; 6: &#60;result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/&#62; 7: &#60;result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/&#62; 8: &#60;result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/&#62; 9: &#60;result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/&#62; 10: &#60;result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/&#62; 11: &#60;result-type name="plainText"<a href="http://www.kaisir.com/2012/03/struts2-jump-from-the-one-action-to-another-action.html" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p>最近在做毕业设计，依然使用了SSH2作为基础框架，同时引入了JBPM来做工作流框架，因为牵扯大量的业务逻辑，故一些Action之间的跳转是在所难免了。</p>
<p>Action之间的跳转主要有两种方法：</p>
<p>1）需要保存前一个Action的属性，我们可以使用</p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr;  font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum1" style="color: #606060;"> 1:</span> &lt;result type=”chain”&gt;action2&lt;/result&gt;</pre>
<p>&nbsp;</p>
</div>
</div>
<p>2）仅跳转，我们可以使用</p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr;  font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum1" style="color: #606060;"> 1:</span> &lt;result type=”redirect-action”&gt;ActionName&lt;/result&gt;</pre>
<p>&nbsp;</p>
</div>
</div>
<p>再追根究底一些，我们到底可以使用哪些result类型呢？我们可以参考struts-core-xxxx包中的struts-default.xml文件，里面记录了可以使用的result类型及其实现类。</p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr;  font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum1" style="color: #606060;"> 1:</span> &lt;result-types&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum2" style="color: #606060;"> 2:</span>     &lt;result-type name=<span style="color: #006080;">"chain"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"com.opensymphony.xwork2.ActionChainResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum3" style="color: #606060;"> 3:</span>     &lt;result-type name=<span style="color: #006080;">"dispatcher"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.ServletDispatcherResult"</span> <span style="color: #0000ff;">default</span>=<span style="color: #006080;">"true"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum4" style="color: #606060;"> 4:</span>     &lt;result-type name=<span style="color: #006080;">"freemarker"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.views.freemarker.FreemarkerResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum5" style="color: #606060;"> 5:</span>     &lt;result-type name=<span style="color: #006080;">"httpheader"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.HttpHeaderResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum6" style="color: #606060;"> 6:</span>     &lt;result-type name=<span style="color: #006080;">"redirect"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.ServletRedirectResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum7" style="color: #606060;"> 7:</span>     &lt;result-type name=<span style="color: #006080;">"redirectAction"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.ServletActionRedirectResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum8" style="color: #606060;"> 8:</span>     &lt;result-type name=<span style="color: #006080;">"stream"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.StreamResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum9" style="color: #606060;"> 9:</span>     &lt;result-type name=<span style="color: #006080;">"velocity"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.VelocityResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum10" style="color: #606060;"> 10:</span>     &lt;result-type name=<span style="color: #006080;">"xslt"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.views.xslt.XSLTResult"</span>/&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum11" style="color: #606060;"> 11:</span>     &lt;result-type name=<span style="color: #006080;">"plainText"</span> <span style="color: #0000ff;">class</span>=<span style="color: #006080;">"org.apache.struts2.dispatcher.PlainTextResult"</span> /&gt;</pre>
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span id="lnum12" style="color: #606060;"> 12:</span> &lt;/result-types&gt;</pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/03/struts2-jump-from-the-one-action-to-another-action.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>平和</title>
		<link>http://www.kaisir.com/2012/03/mild.html</link>
		<comments>http://www.kaisir.com/2012/03/mild.html#comments</comments>
		<pubDate>Sat, 17 Mar 2012 14:37:05 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[分享心得]]></category>
		<category><![CDATA[平和]]></category>
		<category><![CDATA[心得]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2154</guid>
		<description><![CDATA[今天看到一篇文章，蛮有感触，特转载如下。（转载自2012年2月10日 《今晚报》） 人活得平和，才能活出生命真正的滋味来。 平和的人，放得下、看得开，想得明白、过得洒脱。一个人若思想通透了，行事就会通达，内心就会通泰。世俗的名与利，他们不是不要了，而是无论得到得不到、得到的多还是少，都不再计较了。 有欲而不执著于欲，有求而不拘泥于求。活得越平和，就会放下得越多。人平和之后，生活会变得笃定、泰然、从容，疲惫的精神开始一点一点收合，在世俗中挣扎的灵魂开始一点一点归拢。也就是说，只有平和下来，生命才真正找到了回家的路。 我不相信，在欲望的泥淖中挣扎的人会平和下来。贪婪撕咬着他们、折磨着他们，潮欲平而暗流涌动，树欲静而惑风不止。明争暗夺、阴谋阳谋，哭一阵、笑一阵，这样的人是没法平和下来的。所以，平和，首先是内心的平静。 人，平和下来是美的。蹙眉舒展了，苦脸开花了，腰身挺直了，神色朗润了，气质和悦了。人的美若是从内里渗透出来，就会恒久地散发出迷人的魅力。一个真正能平和下来的人，外部的物质世界已经诱惑不了他，挑唆不了他，左右不了他。再急迫的事，也会举重若轻地处理好；再撩人的事，也会云淡风轻地放过去；再痛苦的事，也能轻拢慢捻地跳脱出来。 我认为，至深的平和，一定经过命运浮沉的洗礼，经过爱与恨的煎熬。一切都经过了、走过了、熬过了，生命的底色里增了韧、淬了刚、添了柔。这时的生命，已经沉静到扰不乱、动不摇。 平和，实际上是让一个人的内心，从狭小走向辽阔、从狂乱走向沉静、从复杂走向简单，能容、能让、能忍的过程。 一个人活得幸福，才是王道。幸福之外的任何东西，譬如金钱、权势，都是人生的附属品，风一吹就碎了，云一来就乱了，轻轻一说都倦了，回眸一望全散了。其实，人生的幸福也不全是得到，不全是拥有。在平和者的心底，有一种东西，尽管淡淡的，却更容易让人产生绵延的幸福感和快乐感。那就是，心底里的那份踏实和安详。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kaisir.com/2012/03/mild.html/_dsc0024" rel="attachment wp-att-2156"><img class="aligncenter size-large wp-image-2156" title="_DSC0024" src="http://photos.kaisir.com/2012/03/DSC0024-1024x759.jpg" alt="" width="1024" height="759" /></a></p>
<p>今天看到一篇文章，蛮有感触，特转载如下。（转载自2012年2月10日 《今晚报》）</p>
<p>人活得平和，才能活出生命真正的滋味来。<br />
平和的人，放得下、看得开，想得明白、过得洒脱。一个人若思想通透了，行事就会通达，内心就会通泰。世俗的名与利，他们不是不要了，而是无论得到得不到、得到的多还是少，都不再计较了。<br />
有欲而不执著于欲，有求而不拘泥于求。活得越平和，就会放下得越多。人平和之后，生活会变得笃定、泰然、从容，疲惫的精神开始一点一点收合，在世俗中挣扎的灵魂开始一点一点归拢。也就是说，只有平和下来，生命才真正找到了回家的路。<br />
我不相信，在欲望的泥淖中挣扎的人会平和下来。贪婪撕咬着他们、折磨着他们，潮欲平而暗流涌动，树欲静而惑风不止。明争暗夺、阴谋阳谋，哭一阵、笑一阵，这样的人是没法平和下来的。所以，平和，首先是内心的平静。<br />
人，平和下来是美的。蹙眉舒展了，苦脸开花了，腰身挺直了，神色朗润了，气质和悦了。人的美若是从内里渗透出来，就会恒久地散发出迷人的魅力。一个真正能平和下来的人，外部的物质世界已经诱惑不了他，挑唆不了他，左右不了他。再急迫的事，也会举重若轻地处理好；再撩人的事，也会云淡风轻地放过去；再痛苦的事，也能轻拢慢捻地跳脱出来。<br />
我认为，至深的平和，一定经过命运浮沉的洗礼，经过爱与恨的煎熬。一切都经过了、走过了、熬过了，生命的底色里增了韧、淬了刚、添了柔。这时的生命，已经沉静到扰不乱、动不摇。<br />
平和，实际上是让一个人的内心，从狭小走向辽阔、从狂乱走向沉静、从复杂走向简单，能容、能让、能忍的过程。<br />
一个人活得幸福，才是王道。幸福之外的任何东西，譬如金钱、权势，都是人生的附属品，风一吹就碎了，云一来就乱了，轻轻一说都倦了，回眸一望全散了。其实，人生的幸福也不全是得到，不全是拥有。在平和者的心底，有一种东西，尽管淡淡的，却更容易让人产生绵延的幸福感和快乐感。那就是，心底里的那份踏实和安详。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/03/mild.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SQL Server 数据恢复</title>
		<link>http://www.kaisir.com/2012/03/sql-server-data-recovery.html</link>
		<comments>http://www.kaisir.com/2012/03/sql-server-data-recovery.html#comments</comments>
		<pubDate>Fri, 09 Mar 2012 11:31:27 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>
		<category><![CDATA[Log Express]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[数据库恢复]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2151</guid>
		<description><![CDATA[今天下午接到大张老师电话，问能不能恢复SQL Server中已经被删除的一条记录，忽然想起若干年前牙牙老师也问过我这个问题，于是放狗搜索了下，找到了解决方案。 因为SQL Server是基于日志管理的数据库系统，每一笔操作都有详细的日志作为记录，这为我们做恢复提供了非常有利的先决条件，通过搜索引擎，我查找到了一款名为“LogExplorer”的商业软件，可以对SQL Server的日志进行分析，并通过日志恢复数据。 这是一款商业软件，未注册版本可以使用30天，安装的时候需要同时安装客户端及服务器端。软件运行界面如下图。 而我们要做的非常简单，点击左侧的“View Log”即可查询所有的日志信息，如下图： 因为我们的日志数量非常多，而日志中又记录了全部的CRUD操作，我们只想筛选某一时间的某种操作，怎么办呢，很简单，点选上图工具栏的第一个图标即可。点击之后，他会让你选择筛选条件，如下图： 除了可以设置筛选的时间之外，我们还可以按照操作进行筛选~如下图： 在这里我仅仅针对删除的记录做筛选，从上图中看出，我们几乎可以对所有的操作进行筛选~筛选完成点击“Apply”。系统便会给出我们筛选结果~ 经过我们的筛选，列表中只剩下一条记录啦，经查，这条记录就是被我们误删的记录。那我们想要恢复这条记录，也只是仅仅需要在记录上面点右键，选择“Undo Transaction”如下图。 他的恢复并不是直接作用于数据库，而是生成对应操作的逆操作脚本，所以在选择“Undo Transaction”之后，系统会让你给出脚本的保存位置。系统导出的脚本如下： 最后再通过SQL Server自带的查询分析器执行生成的脚本，即可恢复记录。 点此下载：LogExpress 更多关于Log Explorer的使用，可以参考： LogExplore的一个详细操作手册]]></description>
			<content:encoded><![CDATA[<p>今天下午接到大张老师电话，问能不能恢复SQL Server中已经被删除的一条记录，忽然想起若干年前牙牙老师也问过我这个问题，于是放狗搜索了下，找到了解决方案。</p>
<p>因为SQL Server是基于日志管理的数据库系统，每一笔操作都有详细的日志作为记录，这为我们做恢复提供了非常有利的先决条件，通过搜索引擎，我查找到了一款名为“LogExplorer”的商业软件，可以对SQL Server的日志进行分析，并通过日志恢复数据。</p>
<p>这是一款商业软件，未注册版本可以使用30天，安装的时候需要同时安装客户端及服务器端。软件运行界面如下图。</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer" border="0" alt="LogExplorer" src="http://photos.kaisir.com/2012/03/LogExplorer_thumb.png" width="644" height="481"></a> </p>
<p>而我们要做的非常简单，点击左侧的“View Log”即可查询所有的日志信息，如下图：</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer-1" border="0" alt="LogExplorer-1" src="http://photos.kaisir.com/2012/03/LogExplorer1_thumb.png" width="644" height="483"></a> </p>
<p>因为我们的日志数量非常多，而日志中又记录了全部的CRUD操作，我们只想筛选某一时间的某种操作，怎么办呢，很简单，点选上图工具栏的第一个图标即可。点击之后，他会让你选择筛选条件，如下图：</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer-2" border="0" alt="LogExplorer-2" src="http://photos.kaisir.com/2012/03/LogExplorer2_thumb.png" width="722" height="541"></a> </p>
<p>除了可以设置筛选的时间之外，我们还可以按照操作进行筛选~如下图：</p>
</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer-3" border="0" alt="LogExplorer-3" src="http://photos.kaisir.com/2012/03/LogExplorer3_thumb.png" width="802" height="575"></a> </p>
<p>在这里我仅仅针对删除的记录做筛选，从上图中看出，我们几乎可以对所有的操作进行筛选~筛选完成点击“Apply”。系统便会给出我们筛选结果~</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer-4" border="0" alt="LogExplorer-4" src="http://photos.kaisir.com/2012/03/LogExplorer4_thumb.png" width="644" height="462"></a> </p>
<p>经过我们的筛选，列表中只剩下一条记录啦，经查，这条记录就是被我们误删的记录。那我们想要恢复这条记录，也只是仅仅需要在记录上面点右键，选择“Undo Transaction”如下图。</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer-5" border="0" alt="LogExplorer-5" src="http://photos.kaisir.com/2012/03/LogExplorer5_thumb.png" width="644" height="461"></a> </p>
<p>他的恢复并不是直接作用于数据库，而是生成对应操作的逆操作脚本，所以在选择“Undo Transaction”之后，系统会让你给出脚本的保存位置。系统导出的脚本如下：</p>
<p><a href="http://photos.kaisir.com/2012/03/LogExplorer6.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="LogExplorer-6" border="0" alt="LogExplorer-6" src="http://photos.kaisir.com/2012/03/LogExplorer6_thumb.png" width="644" height="441"></a> </p>
<p>最后再通过SQL Server自带的查询分析器执行生成的脚本，即可恢复记录。</p>
<p><a href="http://download.csdn.net/detail/kaisirwang/4127363" target="_blank">点此下载：LogExpress</a> </p>
<p>更多关于Log Explorer的使用，可以参考：</p>
<p><a href="http://tech.ddvip.com/2008-12/1229332051100146.html" target="_blank">LogExplore的一个详细操作手册</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/03/sql-server-data-recovery.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 不能与Linux NTP时间服务器同步的解决方案</title>
		<link>http://www.kaisir.com/2012/02/windows-%e4%b8%8d%e8%83%bd%e4%b8%8elinux-ntp%e6%97%b6%e9%97%b4%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%90%8c%e6%ad%a5%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html</link>
		<comments>http://www.kaisir.com/2012/02/windows-%e4%b8%8d%e8%83%bd%e4%b8%8elinux-ntp%e6%97%b6%e9%97%b4%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%90%8c%e6%ad%a5%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html#comments</comments>
		<pubDate>Tue, 28 Feb 2012 14:28:32 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[NTP]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2133</guid>
		<description><![CDATA[因为服务器区限制，仅有某几台服务器可以上外网，但是Linux服务器时间经常跑偏，于是决定搭建网内的NTP时间服务器，时间搭建服务器的过程我不详述，网上很多，在这里我说说一个奇怪的问题——搭建好的Windows服务器无法与之进行同步，就是在Internet时间那填上服务器地址点同步，老是失败，查看日志报接收到错误的时间数据。 从网上搜了一下，找到一个解决办法，只要在命令提示符内使用如下命令就搞定： 1: net time /setsntp:time.sdyu.edu.cn 2: net stop w32time 3: net start w32time 然后，就搞定啦！嘿嘿]]></description>
			<content:encoded><![CDATA[<p>因为服务器区限制，仅有某几台服务器可以上外网，但是Linux服务器时间经常跑偏，于是决定搭建网内的NTP时间服务器，时间搭建服务器的过程我不详述，网上很多，在这里我说说一个奇怪的问题——搭建好的Windows服务器无法与之进行同步，就是在Internet时间那填上服务器地址点同步，老是失败，查看日志报接收到错误的时间数据。</p>
<p>从网上搜了一下，找到一个解决办法，只要在命令提示符内使用如下命令就搞定：</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> net time /setsntp:time.sdyu.edu.cn</pre>
<p><!--CRLF-->
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span> net stop w32time</pre>
<p><!--CRLF-->
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span> net start w32time</pre>
<p><!--CRLF--></div>
</div>
<p>然后，就搞定啦！嘿嘿</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/02/windows-%e4%b8%8d%e8%83%bd%e4%b8%8elinux-ntp%e6%97%b6%e9%97%b4%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%90%8c%e6%ad%a5%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>初探USB 3.0</title>
		<link>http://www.kaisir.com/2012/02/of-the-usb-3-0.html</link>
		<comments>http://www.kaisir.com/2012/02/of-the-usb-3-0.html#comments</comments>
		<pubDate>Mon, 27 Feb 2012 02:34:04 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>
		<category><![CDATA[FL1000]]></category>
		<category><![CDATA[SSK]]></category>
		<category><![CDATA[USB 3.0]]></category>
		<category><![CDATA[X201]]></category>
		<category><![CDATA[元谷]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2125</guid>
		<description><![CDATA[我的ThinkPad x201算算买了也已经一年了，原机标配的320G的日立已经不能满足我这个Programer &#38; Photoer &#38; Downloader &#38; PTer 的需求，故考察了一下硬盘，虽说很想体验下SSD的速度，但是由于升级最紧迫的事情就是为了容量，而且SSD一旦损坏数据很难修复，为了兼顾容量及速度，以及文件的安全性，我选择了希捷最新推出的混合硬盘——ST750LX003，至于这块混合硬盘的性能如何，这留作下篇日志的内容 ：） 今天我们的重点是我换下来的这块日立的320G 7200转硬盘该如何处置，当初考虑的就是上个硬盘盒，做成移动硬盘，可因为普通USB 2.0 传输速度也就在30MB/s的样子上，于是我动了USB 3.0的念头。 说干就干，既然想上USB 3.0，那么一款支持USB 3.0的硬盘盒是必不可少的，一开始比较倾向SSK的产品，可后来听某大说元谷的主控要好一些，恰好京东元谷的T250这款盒子又搞促销，嘿嘿，这样的机会对于我这个患有“选择性障碍”的天秤座来说，简直不用选择哇，于是我就有了这款盒子。 看外观确实很有质感，铝合金的外壳在冬天摸起来凉凉的，接口部分仅仅带了USB 3.0跟电源接口，三下五除二的拆开硬盘盒，装入老的硬盘，嘿嘿，硬盘的事情搞定。而让心感觉很爽的就是这个元谷的数据线，真是粗（见本页第一张图片），而蓝色的数据线，蓝色的接口，都散发着USB 3.0的光辉……不过缺点也是有的，这线太粗了，如果往电脑上插的时候发现你的接口正好反了180度，你需要费很大的力气，才能把它转过来 –_- ! 哈哈，硬盘盒的问题搞定了，迫切的把它连入计算机，打开HDTune，选中移动硬盘，测速，速度令人无奈——还不到30MB/s ！ 想了想，对我的ThinkPad x201 上没有USB 3.0的口，怎么可能达到3.0的速度嘛，幸好本本上还有ExpressCard接口，我可以入个ExpressCard转USB 3.0的适配卡。又是一番考察，我发现目前主流的ExpressCard2USB3.0的芯片就两家公司在做NEC与FL，NEC的应用最广泛，但是发热量巨大，FL1000评论很少，而且性价比高一些，发热量信息未知，好吧，为了做实验，忍……京东入手SSK的UH-S401。 看做工一般，下面给张接口的特写。 瞧，也是非常简洁，一个USB 3.0的口，一个额外供电的电源口。细心的同学肯定注意到了，USB3.0跟USB2.0接口很大的一个区别就是2.0只有一排触电，而USB3.0变成了两排。 迫不及待的插到ExpressCard插槽里去，装上驱动，连接上硬盘盒，测速，哇哇！ 这速度几乎已经达到了我日立7200转硬盘的传输速度！不过测试完毕我也郁闷了，插ExpressCard的左下角位置已经能感受到些许温度了。而且我发现即使不使用这个USB 3.0的接口，光插上这个扩展卡它也是会发热的，但是跟这传输速度相比，我认为这个缺点可以忽略——大不了文件传输完成我就拔下来呗！]]></description>
			<content:encoded><![CDATA[<p><a href="http://photos.kaisir.com/2012/02/DSC0022.jpg"><img style="display: inline; border: 0px;" title="_DSC0022" src="http://photos.kaisir.com/2012/02/DSC0022_thumb.jpg" alt="_DSC0022" width="1055" height="784" border="0" /></a></p>
<p>我的ThinkPad x201算算买了也已经一年了，原机标配的320G的日立已经不能满足我这个Programer &amp; Photoer &amp; Downloader &amp; PTer 的需求，故考察了一下硬盘，虽说很想体验下SSD的速度，但是由于升级最紧迫的事情就是为了容量，而且SSD一旦损坏数据很难修复，为了兼顾容量及速度，以及文件的安全性，我选择了希捷最新推出的混合硬盘——ST750LX003，至于这块混合硬盘的性能如何，这留作下篇日志的内容 ：）</p>
<p>今天我们的重点是我换下来的这块日立的320G 7200转硬盘该如何处置，当初考虑的就是上个硬盘盒，做成移动硬盘，可因为普通USB 2.0 传输速度也就在30MB/s的样子上，于是我动了USB 3.0的念头。</p>
<p>说干就干，既然想上USB 3.0，那么一款支持USB 3.0的硬盘盒是必不可少的，一开始比较倾向SSK的产品，可后来听某大说元谷的主控要好一些，恰好京东元谷的T250这款盒子又搞促销，嘿嘿，这样的机会对于我这个患有“选择性障碍”的天秤座来说，简直不用选择哇，于是我就有了这款盒子。</p>
<p><a href="http://photos.kaisir.com/2012/02/DSC0020.jpg"><img style="display: inline; border: 0px;" title="_DSC0020" src="http://photos.kaisir.com/2012/02/DSC0020_thumb.jpg" alt="_DSC0020" width="1055" height="784" border="0" /></a></p>
<p>看外观确实很有质感，铝合金的外壳在冬天摸起来凉凉的，接口部分仅仅带了USB 3.0跟电源接口，三下五除二的拆开硬盘盒，装入老的硬盘，嘿嘿，硬盘的事情搞定。而让心感觉很爽的就是这个元谷的数据线，真是粗（见本页第一张图片），而蓝色的数据线，蓝色的接口，都散发着USB 3.0的光辉……不过缺点也是有的，这线太粗了，如果往电脑上插的时候发现你的接口正好反了180度，你需要费很大的力气，才能把它转过来 –_- !</p>
<p>哈哈，硬盘盒的问题搞定了，迫切的把它连入计算机，打开HDTune，选中移动硬盘，测速，速度令人无奈——还不到30MB/s ！</p>
<p><a href="http://photos.kaisir.com/2012/02/USB2.0.png"><img style="display: inline; border: 0px;" title="USB2.0" src="http://photos.kaisir.com/2012/02/USB2.0_thumb.png" alt="USB2.0" width="598" height="490" border="0" /></a></p>
<p>想了想，对我的ThinkPad x201 上没有USB 3.0的口，怎么可能达到3.0的速度嘛，幸好本本上还有ExpressCard接口，我可以入个ExpressCard转USB 3.0的适配卡。又是一番考察，我发现目前主流的ExpressCard2USB3.0的芯片就两家公司在做NEC与FL，NEC的应用最广泛，但是发热量巨大，FL1000评论很少，而且性价比高一些，发热量信息未知，好吧，为了做实验，忍……京东入手SSK的UH-S401。</p>
<p><a href="http://photos.kaisir.com/2012/02/DSC0017.jpg"><img style="display: inline; border: 0px;" title="_DSC0017" src="http://photos.kaisir.com/2012/02/DSC0017_thumb.jpg" alt="_DSC0017" width="1055" height="784" border="0" /></a></p>
<p>看做工一般，下面给张接口的特写。</p>
<p><a href="http://photos.kaisir.com/2012/02/DSC0023.jpg"><img style="display: inline; border: 0px;" title="_DSC0023" src="http://photos.kaisir.com/2012/02/DSC0023_thumb.jpg" alt="_DSC0023" width="1055" height="784" border="0" /></a></p>
<p>瞧，也是非常简洁，一个USB 3.0的口，一个额外供电的电源口。细心的同学肯定注意到了，USB3.0跟USB2.0接口很大的一个区别就是2.0只有一排触电，而USB3.0变成了两排。</p>
<p>迫不及待的插到ExpressCard插槽里去，装上驱动，连接上硬盘盒，测速，哇哇！</p>
<p><a href="http://photos.kaisir.com/2012/02/USB3.01.png"><img style="display: inline; border: 0px;" title="USB3.0-1" src="http://photos.kaisir.com/2012/02/USB3.01_thumb.png" alt="USB3.0-1" width="598" height="490" border="0" /></a></p>
<p>这速度几乎已经达到了我日立7200转硬盘的传输速度！不过测试完毕我也郁闷了，插ExpressCard的左下角位置已经能感受到些许温度了。而且我发现即使不使用这个USB 3.0的接口，光插上这个扩展卡它也是会发热的，但是跟这传输速度相比，我认为这个缺点可以忽略——大不了文件传输完成我就拔下来呗！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/02/of-the-usb-3-0.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>修改DNS以及清空IE临时文件的vbs脚本</title>
		<link>http://www.kaisir.com/2012/02/vbs-script-to-modify-the-dns-and-emptied-ie-temporary-files.html</link>
		<comments>http://www.kaisir.com/2012/02/vbs-script-to-modify-the-dns-and-emptied-ie-temporary-files.html#comments</comments>
		<pubDate>Mon, 20 Feb 2012 02:38:09 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>
		<category><![CDATA[VBS]]></category>
		<category><![CDATA[修改dns]]></category>
		<category><![CDATA[删除临时文件]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2111</guid>
		<description><![CDATA[今早接到山青院电话，说需要一个修改DNS为校内DNS，并且清空IE临时文件的脚本，想都没想，用批处理写了一个： 你瞧，思路很简单，用netsh把dns改了就是了，因为要适应Win7跟Xp临时目录的不同，于是删除语句写了两遍。 但是，仔细想想，这个脚本有很多问题， 1）若用户有多块网卡，这个脚本只会修改“本地连接”的那一个。 2）若用户自己手动修改了临时文件的位置，则这个脚本也无能为力。 于是，有了下面这个vbs版的脚本。 这个就比较智能了，通过winmgmts获取系统中的网卡列表，然后遍历启用的网卡，然后进行修改。而临时文件部分，也是通过读取注册表“HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\cache”项的键值来获取文件夹位置。之后通过创建的fso对象的相应方法给他干掉~]]></description>
			<content:encoded><![CDATA[<p>今早接到山青院电话，说需要一个修改DNS为校内DNS，并且清空IE临时文件的脚本，想都没想，用批处理写了一个：</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="dos" style="font-family:monospace;"><span class="co1">rem programed by Kaisir</span>
<span class="sy0">@</span><a href="http://www.ss64.com/nt/echo.html"><span class="kw3">echo</span></a> off
<a href="http://www.ss64.com/nt/echo.html"><span class="kw3">echo</span></a> 本脚本的作用为修改您的DNS为山东青年政治学院专用DNS 222.194.76.2 同时帮您清除了电脑中的临时文件。若有疑问，请致电网络中心。
<a href="http://www.ss64.com/nt/pause.html"><span class="kw3">pause</span></a>
<a href="http://www.ss64.com/nt/echo.html"><span class="kw3">echo</span></a> 修改DNS中...
netsh interface ip <a href="http://www.ss64.com/nt/set.html"><span class="kw3">set</span></a> dns &quot;本地连接&quot; source=static addr=222.194.76.2
<a href="http://www.ss64.com/nt/echo.html"><span class="kw3">echo</span></a> DNS已经修改成功，接下来将开始清空ie临时文件...
<a href="http://www.ss64.com/nt/pause.html"><span class="kw3">pause</span></a>
<a href="http://www.ss64.com/nt/echo.html"><span class="kw3">echo</span></a> 清除临时文件中...
<a href="http://www.ss64.com/nt/del.html"><span class="kw3">del</span></a> /f /s /q &quot;<span class="sy0">%</span><span class="re2">userprofile</span><span class="sy0">%</span>\Local Settings\Temporary Internet Files\*.*&quot;
<a href="http://www.ss64.com/nt/del.html"><span class="kw3">del</span></a> /f /s /q &quot;<span class="sy0">%</span><span class="re2">userprofile</span><span class="sy0">%</span>\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*&quot;
<a href="http://www.ss64.com/nt/echo.html"><span class="kw3">echo</span></a> 全部操作已成功完成！感谢您的使用。
<a href="http://www.ss64.com/nt/pause.html"><span class="kw3">pause</span></a></pre></div></div>
<p>你瞧，思路很简单，用netsh把dns改了就是了，因为要适应Win7跟Xp临时目录的不同，于是删除语句写了两遍。</p>
<p>但是，仔细想想，这个脚本有很多问题，</p>
<p>1）若用户有多块网卡，这个脚本只会修改“本地连接”的那一个。</p>
<p>2）若用户自己手动修改了临时文件的位置，则这个脚本也无能为力。</p>
<p>于是，有了下面这个vbs版的脚本。</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.kaisir.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="vb" style="font-family:monospace;"><span class="co1">'Program By Kaisir
</span><span class="kw1">Const</span> T_NEWDNS1 = <span class="st0">&quot;222.194.76.2&quot;</span> <span class="co1">'DNS1
</span><span class="kw1">Const</span> T_NEWDNS2 = <span class="st0">&quot;8.8.8.8&quot;</span> <span class="co1">'DNS2
</span><span class="kw1">set</span> os=createobject(<span class="st0">&quot;wscript.shell&quot;</span>) <span class="co1">'把wscript脚本执行外壳特性赋予给 os变量
</span>
lret = MsgBox (<span class="st0">&quot;本脚本可以帮助您修改DNS为山东青年政治学院内部DNS并清空浏览器临时文件，是否运行？&quot;</span>,vbYesNo)
<span class="kw1">if</span> lret=vbYes <span class="kw1">Then</span>
	strWinMgmt=<span class="st0">&quot;winmgmts:{impersonationLevel=impersonate}&quot;</span>
	<span class="kw1">Set</span> NICS = GetObject( strWinMgmt ).InstancesOf(<span class="st0">&quot;Win32_NetworkAdapterConfiguration&quot;</span>)
	<span class="kw1">For</span> <span class="kw1">Each</span> NIC <span class="kw1">In</span> NICS
		<span class="kw1">If</span> NIC.IPEnabled <span class="kw1">Then</span> <span class="co1">'检索所有启用的网卡
</span>			NIC.SetDNSServerSearchOrder Array(T_NEWDNS1,T_NEWDNS2)
		<span class="kw1">End</span> <span class="kw1">If</span>
	<span class="kw1">Next</span>
	<span class="co1">'开始执行清空临时文件
</span>	net_temp=os.regread(<span class="st0">&quot;HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\cache&quot;</span>) <span class="co1">'---通过读取注册表特殊位置获知系统ie浏览器的缓存文件夹位置，并赋值给变量net_temp
</span>	MsgBox(net_temp)
	<span class="co1">'删除目录下的所有文件及文件夹
</span>	<span class="kw1">Const</span> DeleteReadOnly = <span class="kw1">True</span>
	<span class="kw1">Set</span> objFSO = CreateObject(<span class="st0">&quot;Scripting.FileSystemObject&quot;</span>)
		objFSO.DeleteFile(net_temp&amp;<span class="st0">&quot;\*.*&quot;</span>), DeleteReadOnly
	strComputer = <span class="st0">&quot;.&quot;</span>
	<span class="kw1">Set</span> objWMIService = GetObject(<span class="st0">&quot;winmgmts:\\&quot;</span> &amp; strComputer &amp; <span class="st0">&quot;\root\cimv2&quot;</span>)
	<span class="kw1">Set</span> colSubfolders2 = objWMIService.ExecQuery _
        (<span class="st0">&quot;Associators of {Win32_Directory.Name='&quot;</span> &amp; net_temp &amp; <span class="st0">&quot;'} &quot;</span> _
            &amp; <span class="st0">&quot;Where AssocClass = Win32_Subdirectory &quot;</span> _
                &amp; <span class="st0">&quot;ResultRole = PartComponent&quot;</span>)
&nbsp;
    <span class="kw1">For</span> <span class="kw1">Each</span> objFolder2 <span class="kw1">in</span> colSubfolders2
        objFSO.deleteFolder objFolder2.name , DeleteReadOnly
    <span class="kw1">Next</span>
	MsgBox(<span class="st0">&quot;所有操作已成功执行!&quot;</span>)
<span class="kw1">else</span>
<span class="kw1">end</span> <span class="kw1">if</span></pre></div></div>
<p>这个就比较智能了，通过winmgmts获取系统中的网卡列表，然后遍历启用的网卡，然后进行修改。而临时文件部分，也是通过读取注册表“HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\cache”项的键值来获取文件夹位置。之后通过创建的fso对象的相应方法给他干掉~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/02/vbs-script-to-modify-the-dns-and-emptied-ie-temporary-files.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FreeNas修改卷权限时出现“对不起，发生了错误”的解决方法</title>
		<link>http://www.kaisir.com/2012/02/freenas-volume-permissions-to-modify-the-im-sorry-an-error-occurred-in-the-solution.html</link>
		<comments>http://www.kaisir.com/2012/02/freenas-volume-permissions-to-modify-the-im-sorry-an-error-occurred-in-the-solution.html#comments</comments>
		<pubDate>Fri, 17 Feb 2012 14:27:31 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[技术宅男]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2103</guid>
		<description><![CDATA[今天在部署FreeNas服务器的时候，设置完用户权限之后，再点击卷的权限设置时出现了上图的错误~~百思不得其解，当时还以为是程序Bug，中午吃饭回来以后突然想到会不会是权限出问题了，以至于他没有权限读取要设置的那个卷~通过ssh登录上FreeNas一瞧，嘿，当前挂载点的用户组竟然是乱码！！经排查，发现之前部署用户组的童鞋的用户组名称全都是中文~~竟然是这个引起了FreeNas奇怪的错误，将所有的组名改为英文，并通过ssh重置挂载点的权限后，故障解决！ 总结：使用原生英文版的时候一定要注意，尽可能使用全部英文的描述，不然很容易出莫名其妙的问题。使用英文版软件，出现问题，先从本地化的原因找起，往往能快速解决问题。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kaisir.com/2012/02/freenas-volume-permissions-to-modify-the-im-sorry-an-error-occurred-in-the-solution.html/error" rel="attachment wp-att-2104"><img class="aligncenter size-full wp-image-2104" title="error" src="http://photos.kaisir.com/2012/02/error.jpg" alt="" width="148" height="66" /></a></p>
<p>今天在部署FreeNas服务器的时候，设置完用户权限之后，再点击卷的权限设置时出现了上图的错误~~百思不得其解，当时还以为是程序Bug，中午吃饭回来以后突然想到会不会是权限出问题了，以至于他没有权限读取要设置的那个卷~通过ssh登录上FreeNas一瞧，嘿，当前挂载点的用户组竟然是乱码！！经排查，发现之前部署用户组的童鞋的用户组名称全都是中文~~竟然是这个引起了FreeNas奇怪的错误，将所有的组名改为英文，并通过ssh重置挂载点的权限后，故障解决！</p>
<p>总结：使用原生英文版的时候一定要注意，尽可能使用全部英文的描述，不然很容易出莫名其妙的问题。使用英文版软件，出现问题，先从本地化的原因找起，往往能快速解决问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/02/freenas-volume-permissions-to-modify-the-im-sorry-an-error-occurred-in-the-solution.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>解决UBUNTU 虚拟机迁移过程中找不到网卡的故障</title>
		<link>http://www.kaisir.com/2012/02/jie-jue-ubuntu-xu-ni-ji-qian-yi-guo-cheng-zhong-zhao-bu-dao-wang-qia-di-gu-zhang-3.html</link>
		<comments>http://www.kaisir.com/2012/02/jie-jue-ubuntu-xu-ni-ji-qian-yi-guo-cheng-zhong-zhao-bu-dao-wang-qia-di-gu-zhang-3.html#comments</comments>
		<pubDate>Mon, 06 Feb 2012 07:03:49 +0000</pubDate>
		<dc:creator>Kaisir</dc:creator>
				<category><![CDATA[分享心得]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[eth]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vmware]]></category>

		<guid isPermaLink="false">http://www.kaisir.com/?p=2088</guid>
		<description><![CDATA[这几天一直在忙着ESX下面的虚拟机的迁移，大部分都很顺利，ESX的HA特性决定了他几乎可以在不停机的情况下直接迁移主机跟存储~但是有一台Ubuntu的主机迁移过来之后却认不到网卡，从百度搜索了一下，在“懒人小G的微博”找到了解决方案，现粘贴记录如下： 重启网络报：eth0:ERROR while getting interface flags: No such device 之前重启系统后网络没问题，后来因为做了虚拟机拷贝之后重启系统就找不到网卡了。 原因： 因为直接拷贝虚拟机后，启动系统时会问是copy还是move，选move没事。假如不是选move就会因为网卡mac地址不一样导致系统找不到。 解决： 用root权限操作： updatedb locate *persistent-net.ruleslocate *persistent-net.rules 然后看返回结果，一般是“/etc/udev/rules.d/下的70-persistent-net.rules文件 编辑它，把旧的网卡删掉，然后把新的网卡改为eth0 $ PCI device 14xx:16xx (tg3)ACTION==”add”, SUBSYSTEM==”net”, DRIVERS==”?*”, SYSFS{address}==”00:11:xx:xx:xx:xx”, NAME=”eth0″$ PCI device 14xx:16xx (tg3)ACTION==”add”, SUBSYSTEM==”net”, DRIVERS==”?*”, SYSFS{address}==”00:11:xx:xx:xx:xx”, NAME=”eth1″ 改为$ PCI device 14xx:16xx (tg3)ACTION==”add”, SUBSYSTEM==”net”, DRIVERS==”?*”, SYSFS{address}==”00:11:xx:xx:xx:xx”, NAME=”eth0″ 重启系统后就ok。]]></description>
			<content:encoded><![CDATA[<p>这几天一直在忙着ESX下面的虚拟机的迁移，大部分都很顺利，ESX的HA特性决定了他几乎可以在不停机的情况下直接迁移主机跟存储~但是有一台Ubuntu的主机迁移过来之后却认不到网卡，从百度搜索了一下，在“懒人小G的微博”找到了解决方案，现粘贴记录如下：</p>
<p>重启网络报：eth0:ERROR while getting interface flags: No such device
<p>之前重启系统后网络没问题，后来因为做了虚拟机拷贝之后重启系统就找不到网卡了。
<p>原因：
<p>因为直接拷贝虚拟机后，启动系统时会问是copy还是move，选move没事。假如不是选move就会因为网卡mac地址不一样导致系统找不到。</p>
<p><span id="more-2088"></span>
<p>解决：
<p>用root权限操作：
<p>updatedb
<p>locate *persistent-net.ruleslocate *persistent-net.rules
<p>然后看返回结果，一般是“/etc/udev/rules.d/下的70-persistent-net.rules文件
<p>编辑它，把旧的网卡删掉，然后把新的网卡改为eth0
<p>$ PCI device 14xx:16xx (tg3)<br />ACTION==”add”, SUBSYSTEM==”net”, DRIVERS==”?*”, SYSFS{address}==”00:11:xx:xx:xx:xx”, NAME=”eth0″<br />$ PCI device 14xx:16xx (tg3)<br />ACTION==”add”, SUBSYSTEM==”net”, DRIVERS==”?*”, SYSFS{address}==”00:11:xx:xx:xx:xx”, NAME=”eth1″
<p>改为<br />$ PCI device 14xx:16xx (tg3)<br />ACTION==”add”, SUBSYSTEM==”net”, DRIVERS==”?*”, SYSFS{address}==”00:11:xx:xx:xx:xx”, NAME=”eth0″
<p>重启系统后就ok。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kaisir.com/2012/02/jie-jue-ubuntu-xu-ni-ji-qian-yi-guo-cheng-zhong-zhao-bu-dao-wang-qia-di-gu-zhang-3.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

