﻿<?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>软生活&#124;SoftLife&#124;创造舒适的程序员生活&#124;好吧前面的是梦想</title>
	<atom:link href="http://www.mcjiffy.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mcjiffy.cn</link>
	<description>努力创造舒适生活</description>
	<lastBuildDate>Fri, 06 Jan 2012 05:09:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>容易搞混的.net framework时间和sql server时间</title>
		<link>http://www.mcjiffy.cn/445.html</link>
		<comments>http://www.mcjiffy.cn/445.html#comments</comments>
		<pubDate>Fri, 06 Jan 2012 05:09:59 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[时间判断]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=445</guid>
		<description><![CDATA[.net framework 中 DateTime.MinValue => 0001/01/01 00:00:00 DateTime.MaxValue => 9999/12/31 23:59:59.999 SqlDateTime.MinValue.Value => 1753/01/01 00:00:00 SqlDateTime.MaxValue.Value => 9999/12/31 23:59:59.997 (注意毫秒是997) sql server中: DateTime 最小值 => 1753/01/01 00:00:00 SmallDateTime 最小值 => 1900/01/01 DateTime 最大值 => 9999/12/31 23:59:59.997 (注意毫秒是997) SmallDateTime 最大值 =>2079/6/6点击 :90]]></description>
			<content:encoded><![CDATA[<p>.net framework 中<br />
DateTime.MinValue => 0001/01/01 00:00:00<br />
DateTime.MaxValue  => 9999/12/31 23:59:59.999<br />
SqlDateTime.MinValue.Value  => 1753/01/01 00:00:00<br />
SqlDateTime.MaxValue.Value   => 9999/12/31 23:59:59.997  (注意毫秒是997)</p>
<p>sql server中:<br />
DateTime 最小值           => 1753/01/01 00:00:00<br />
SmallDateTime 最小值   => 1900/01/01<br />
DateTime 最大值               => 9999/12/31 23:59:59.997 (注意毫秒是997)<br />
SmallDateTime 最大值 =>2079/6/6<br/><b>点击 :</b>90</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/445.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vs2010双击选中或者光标选中代码时频繁崩溃问题</title>
		<link>http://www.mcjiffy.cn/442.html</link>
		<comments>http://www.mcjiffy.cn/442.html#comments</comments>
		<pubDate>Wed, 14 Dec 2011 01:39:13 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[vs2010]]></category>
		<category><![CDATA[双击崩溃]]></category>
		<category><![CDATA[崩溃]]></category>
		<category><![CDATA[选中崩溃]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=442</guid>
		<description><![CDATA[昨天电脑系统崩溃，撑了两年的系统终于扛不住了，重装之后，好不容易安装完vs2010，准备开始工作的时候，发现不能正常的进行工作了。 每次双击代码想选中某个单词的时候，或者用鼠标想选中某一样的时候，vs2010就会崩溃掉。 事件查看发现报错如下： EventType clr20r3, P1 devenv.exe, P2 10.0.30319.1, P3 4ba1fab3, P4 microsoft.visualstudio.platform.vseditor, P5 10.0.0.0, P6 4ba1d76c, P7 1a03, P8 0, P9 system.dllnotfoundexception, P10 NIL. 网上搜索了下，试验了很多中解决方案，有的说服务冲突，有的说360冲突。但是都没有解决。 最后找到原因其实是系统的跟UI想过的补丁没有打造成的。 WindowsXP的下载地址：http://www.microsoft.com/downloads/zh-cn/results.aspx?freetext=xp+ui+automation&#038;displaylang=zh&#038;stype=s_basic Windows2003的下载地址：http://www.microsoft.com/downloads/zh-cn/results.aspx?freetext=2003+ui+automation&#038;displaylang=zh&#038;stype=s_basic 打上补丁之后，问题瞬间解决。。。点击 :166]]></description>
			<content:encoded><![CDATA[<p>昨天电脑系统崩溃，撑了两年的系统终于扛不住了，重装之后，好不容易安装完vs2010，准备开始工作的时候，发现不能正常的进行工作了。<br />
每次双击代码想选中某个单词的时候，或者用鼠标想选中某一样的时候，vs2010就会崩溃掉。<br />
事件查看发现报错如下：</p>
<p><code>EventType clr20r3, P1 devenv.exe, P2 10.0.30319.1, P3 4ba1fab3, P4 microsoft.visualstudio.platform.vseditor, P5 10.0.0.0, P6 4ba1d76c, P7 1a03, P8 0, P9 system.dllnotfoundexception, P10 NIL.</code></p>
<p>网上搜索了下，试验了很多中解决方案，有的说服务冲突，有的说360冲突。但是都没有解决。<br />
最后找到原因其实是系统的跟UI想过的补丁没有打造成的。<br />
WindowsXP的下载地址：<a href="http://www.microsoft.com/downloads/zh-cn/results.aspx?freetext=xp+ui+automation&#038;displaylang=zh&#038;stype=s_basic" target="_blank">http://www.microsoft.com/downloads/zh-cn/results.aspx?freetext=xp+ui+automation&#038;displaylang=zh&#038;stype=s_basic</a><br />
Windows2003的下载地址：<a href="http://www.microsoft.com/downloads/zh-cn/results.aspx?freetext=2003+ui+automation&#038;displaylang=zh&#038;stype=s_basic" target="_blank">http://www.microsoft.com/downloads/zh-cn/results.aspx?freetext=2003+ui+automation&#038;displaylang=zh&#038;stype=s_basic</a></p>
<p>打上补丁之后，问题瞬间解决。。。<br/><b>点击 :</b>166</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/442.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>类型转换之二(进一步改进)</title>
		<link>http://www.mcjiffy.cn/427.html</link>
		<comments>http://www.mcjiffy.cn/427.html#comments</comments>
		<pubDate>Sun, 11 Dec 2011 07:50:20 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[tryparse]]></category>
		<category><![CDATA[反射]]></category>
		<category><![CDATA[泛型]]></category>
		<category><![CDATA[类型转换]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[通用方法]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=427</guid>
		<description><![CDATA[上一篇文章&#60;利用泛型实现通用类型转换(反射TryParse方法)&#62;,实现了一种利用泛型,通过判断泛型的类型,反射出TryParse方法,转换后返回泛型对应的类型对象的方法. 但是,实际工作中又发现了有些需求还是不能满足,比如本来就是用反射获取了对象的Properties,这时候要设置它的值的时候就出问题了,因为根本就不知道他的类型是什么,所以,对方又进行了些重构,加入一个重载,传入要转换类型的Type对象.这样就可以满足需求了. 代码如下: //类型转换方法by:mcjiffy public static object ConvertType&#40;object val,Type tp&#41; &#123; if&#40;tp==null&#41;throw new Exception&#40;&#34;要转换的类型错误&#34;&#41;; if &#40;val == null&#41; return null;//类型的默认值 //泛型Nullable判断，取其中的类型 if &#40;tp.IsGenericType&#41; &#123; tp = tp.GetGenericArguments&#40;&#41;&#91;0&#93;; &#125; //string直接返回转换 if &#40;tp.Name.ToLower&#40;&#41; == &#34;string&#34;&#41; &#123; return val.ToString&#40;&#41;; &#125; //反射获取TryParse方法 var TryParse = tp.GetMethod&#40;&#34;TryParse&#34;, BindingFlags.Public &#124; BindingFlags.Static, Type.DefaultBinder, new Type&#91;&#93; &#123; typeof&#40;string&#41;, tp.MakeByRefType&#40;&#41; &#125;, new ParameterModifier&#91;&#93; &#123; [&#8230;] <a class="more-link" href="http://www.mcjiffy.cn/427.html">&#8595; 更多...</a>]]></description>
			<content:encoded><![CDATA[<p>上一篇文章&lt;<a href="http://www.mcjiffy.cn/398.html" target="_blank">利用泛型实现通用类型转换(反射TryParse方法)</a>&gt;,实现了一种利用泛型,通过判断泛型的类型,反射出TryParse方法,转换后返回泛型对应的类型对象的方法.</p>
<p>但是,实际工作中又发现了有些需求还是不能满足,比如本来就是用反射获取了对象的Properties,这时候要设置它的值的时候就出问题了,因为根本就不知道他的类型是什么,所以,对方又进行了些重构,加入一个重载,传入要转换类型的Type对象.这样就可以满足需求了.<span id="more-427"></span></p>
<p>代码如下:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">//类型转换方法by:mcjiffy</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">object</span> ConvertType<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> val,Type tp<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">==</span><span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> Exception<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;要转换的类型错误&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>val <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span><span style="color: #008080; font-style: italic;">//类型的默认值</span>
    <span style="color: #008080; font-style: italic;">//泛型Nullable判断，取其中的类型</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">.</span><span style="color: #0000FF;">IsGenericType</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        tp <span style="color: #008000;">=</span> tp<span style="color: #008000;">.</span><span style="color: #0000FF;">GetGenericArguments</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #008080; font-style: italic;">//string直接返回转换</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;string&quot;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> val<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #008080; font-style: italic;">//反射获取TryParse方法</span>
    var TryParse <span style="color: #008000;">=</span> tp<span style="color: #008000;">.</span><span style="color: #0000FF;">GetMethod</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;TryParse&quot;</span>, BindingFlags<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Public</span> <span style="color: #008000;">|</span> BindingFlags<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Static</span>, Type<span style="color: #008000;">.</span><span style="color: #0000FF;">DefaultBinder</span>,
                                    <span style="color: #008000;">new</span> Type<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#41;</span>, tp<span style="color: #008000;">.</span><span style="color: #0000FF;">MakeByRefType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#125;</span>,
                                    <span style="color: #008000;">new</span> ParameterModifier<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> <span style="color: #008000;">new</span> ParameterModifier<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">2</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    var parameters <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> val, Activator<span style="color: #008000;">.</span><span style="color: #0000FF;">CreateInstance</span><span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">bool</span> success <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">bool</span><span style="color: #008000;">&#41;</span>TryParse<span style="color: #008000;">.</span><span style="color: #0000FF;">Invoke</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">null</span>, parameters<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008080; font-style: italic;">//成功返回转换后的值，否则返回类型的默认值</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>success<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> parameters<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0600FF; font-weight: bold;">return</span> tp<span style="color: #008000;">.</span><span style="color: #0000FF;">Assembly</span><span style="color: #008000;">.</span><span style="color: #0000FF;">CreateInstance</span><span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">.</span><span style="color: #0000FF;">FullName</span>, <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>通过代码可以发现,之前是通过泛型的typeof(T)得到要转换的类型,变为了参数的Type.这样在不知道要转换的类型是,但是可以通过一定受到得到这个Type的时候,可以传入进行类型转换.<br />
之前的泛型类型转换即可改为:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> T ConvertType ＜T＞<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> val,Type tp<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span>ConvertType<span style="color: #008000;">&#40;</span>val,<span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>应用场景:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #6666cc; font-weight: bold;">class</span> Program
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> Main<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> args<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">//数据源不一定是这样,可能是DataTable,QueryString等等</span>
            List＜DictionaryEntry＞ list <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> List＜DictionaryEntry＞<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            list<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> DictionaryEntry<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;ID&quot;</span>, <span style="color: #666666;">&quot;123&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            list<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> DictionaryEntry<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Name&quot;</span>, <span style="color: #666666;">&quot;牛奶&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            list<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> DictionaryEntry<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Price&quot;</span>, <span style="color: #666666;">&quot;20&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            list<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> DictionaryEntry<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Time&quot;</span>, DateTime<span style="color: #008000;">.</span><span style="color: #0000FF;">Now</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AddMonths</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            PropertyInfo<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> properties <span style="color: #008000;">=</span> <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>Product<span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetProperties</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Product product<span style="color: #008000;">=</span><span style="color: #008000;">new</span> Product<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008080; font-style: italic;">//这时候通过反射得到的属性,并不知道确切的类型</span>
            <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span>PropertyInfo p <span style="color: #0600FF; font-weight: bold;">in</span> properties<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #008080; font-style: italic;">//通过Dictionary中取出的值都是string</span>
                DictionaryEntry entry <span style="color: #008000;">=</span> list<span style="color: #008000;">.</span><span style="color: #0000FF;">Find</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span> <span style="color: #008000;">=</span>＞ x<span style="color: #008000;">.</span><span style="color: #0000FF;">Key</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> p<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008080; font-style: italic;">//通过ProperyType可以得到一个类型的Type,传入到转换类型方法中</span>
                p<span style="color: #008000;">.</span><span style="color: #0000FF;">SetValue</span><span style="color: #008000;">&#40;</span>product, Utilis<span style="color: #008000;">.</span><span style="color: #0000FF;">ConvertType</span><span style="color: #008000;">&#40;</span>entry<span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span>, p<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyType</span><span style="color: #008000;">&#41;</span>, <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>product<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            Console<span style="color: #008000;">.</span><span style="color: #0000FF;">ReadKey</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #6666cc; font-weight: bold;">class</span> Product
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">int</span> ID <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> Name <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">decimal</span> Price <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> DateTime Time <span style="color: #008000;">&#123;</span> get<span style="color: #008000;">;</span> set<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">string</span> ToString<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Format</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;ID:{0},Name:{1},Price:{2},Time:{3}&quot;</span>,
                <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ID</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span>, <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Price</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Time</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToShortDateString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span></pre></div></div>

<p><br/><b>点击 :</b>114</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/427.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>利用泛型实现通用类型转换(反射TryParse方法)</title>
		<link>http://www.mcjiffy.cn/398.html</link>
		<comments>http://www.mcjiffy.cn/398.html#comments</comments>
		<pubDate>Tue, 20 Sep 2011 09:28:56 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[tryparse]]></category>
		<category><![CDATA[基本类型]]></category>
		<category><![CDATA[泛型]]></category>
		<category><![CDATA[类型转换]]></category>
		<category><![CDATA[软生活]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=398</guid>
		<description><![CDATA[项目中经常用到类型转换，常用做法是直接使用C#内置Convert类的转换方法或者各个基本类型自带的Parse/TryParse方法，进行类型转换。 但是各个方法的选择和空值判断，总感觉有些麻烦，于是生出写个通用类型转换方法的念头。 具体思路： 泛型方法传入想要转换的类型 利用反射获取类型的TryParse方法 调用TryParse方法获得转换数据返回 实际实现中，发现了几点需要注意的： Nullable类型的支持：当需要转换成int?类型的Nullabel泛型时，需要考虑到取正确的类型。 string类型的截获返回：又可能调用方故意传入string类型，此时需要注意截获返回tostring。 具体实现如下： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 /// &#60;summary&#62; /// 泛型类型转换 /// &#60;/summary&#62; /// &#60;typeparam name=&#34;T&#34;&#62;要转换的基础类型&#60;/typeparam&#62; [&#8230;] <a class="more-link" href="http://www.mcjiffy.cn/398.html">&#8595; 更多...</a>]]></description>
			<content:encoded><![CDATA[<p>项目中经常用到类型转换，常用做法是直接使用C#内置Convert类的转换方法或者各个基本类型自带的Parse/TryParse方法，进行类型转换。</p>
<p>但是各个方法的选择和空值判断，总感觉有些麻烦，于是生出写个通用类型转换方法的念头。</p>
<p>具体思路：<span id="more-398"></span></p>
<ul>
<li>泛型方法传入想要转换的类型</li>
<li>利用反射获取类型的TryParse方法</li>
<li>调用TryParse方法获得转换数据返回</li>
</ul>
<p>实际实现中，发现了几点需要注意的：</p>
<ul>
<li>Nullable类型的支持：当需要转换成int?类型的Nullabel泛型时，需要考虑到取正确的类型。</li>
<li>string类型的截获返回：又可能调用方故意传入string类型，此时需要注意截获返回tostring。</li>
</ul>
<p>具体实现如下：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// 泛型类型转换</span>
<span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;typeparam name=&quot;T&quot;&gt;要转换的基础类型&lt;/typeparam&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;param name=&quot;val&quot;&gt;要转换的值&lt;/param&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;returns&gt;&lt;/returns&gt;</span>
<span style="color: #008080; font-style: italic;">/// &lt;remark&gt;</span>
<span style="color: #008080; font-style: italic;">/// by mcjiffy.cn</span>
<span style="color: #008080; font-style: italic;">/// &lt;/remark&gt;</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> T ConvertType＜T＞<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> val<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>val <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span><span style="color: #008080; font-style: italic;">//返回类型的默认值</span>
    Type tp <span style="color: #008000;">=</span> <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008080; font-style: italic;">//泛型Nullable判断，取其中的类型</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">.</span><span style="color: #0000FF;">IsGenericType</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        tp <span style="color: #008000;">=</span> tp<span style="color: #008000;">.</span><span style="color: #0000FF;">GetGenericArguments</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #008080; font-style: italic;">//string直接返回转换</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">.</span><span style="color: #0000FF;">Name</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;string&quot;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span>val<span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #008080; font-style: italic;">//反射获取TryParse方法</span>
    var TryParse <span style="color: #008000;">=</span> tp<span style="color: #008000;">.</span><span style="color: #0000FF;">GetMethod</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;TryParse&quot;</span>, BindingFlags<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Public</span> <span style="color: #008000;">|</span> BindingFlags<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Static</span>, Type<span style="color: #008000;">.</span><span style="color: #0000FF;">DefaultBinder</span>,
                                    <span style="color: #008000;">new</span> Type<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#41;</span>, tp<span style="color: #008000;">.</span><span style="color: #0000FF;">MakeByRefType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#125;</span>,
                                    <span style="color: #008000;">new</span> ParameterModifier<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> <span style="color: #008000;">new</span> ParameterModifier<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">2</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    var parameters <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> val, Activator<span style="color: #008000;">.</span><span style="color: #0000FF;">CreateInstance</span><span style="color: #008000;">&#40;</span>tp<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
    <span style="color: #6666cc; font-weight: bold;">bool</span> success <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">bool</span><span style="color: #008000;">&#41;</span>TryParse<span style="color: #008000;">.</span><span style="color: #0000FF;">Invoke</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">null</span>, parameters<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008080; font-style: italic;">//成功返回转换后的值，否则返回类型的默认值</span>
    <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>success<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span>parameters<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">default</span><span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>另外，在实际工作中，可能遇到不知道要转换的类型时何种类型时，比如：反射获得对象的属性，设置属性值时的类型转换。<br />
这是可以考虑不使用泛型，方法改为如类型的Type对象，同样也能适用，代码就不赘述。<br/><b>点击 :</b>467</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/398.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android 进程和线程总结思维导图</title>
		<link>http://www.mcjiffy.cn/386.html</link>
		<comments>http://www.mcjiffy.cn/386.html#comments</comments>
		<pubDate>Thu, 21 Jul 2011 07:36:53 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[IPC]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[思维导图]]></category>
		<category><![CDATA[线程]]></category>
		<category><![CDATA[进程]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=386</guid>
		<description><![CDATA[&#160; 进程和线程的总结思维导图： 1.进程：概述，进程的生命周期 2.线程：概述，UI线程，工作线程，线程安全的方法 3.进程间通讯（IPC） &#160; &#160; &#160;点击 :490]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_388" class="wp-caption alignleft" style="width: 160px"><a href="http://www.mcjiffy.cn/386.html/processes-threads" rel="attachment wp-att-388"><img class="size-thumbnail wp-image-388 " title="进程和线程思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/07/Processes-Threads-150x150.png" alt="进程和线程思维导图" width="150" height="150" /></a><p class="wp-caption-text">进程和线程思维导图</p></div></p>
<p>&nbsp;</p>
<p>进程和线程的总结思维导图：</p>
<p>1.进程：概述，进程的生命周期</p>
<p>2.线程：概述，UI线程，工作线程，线程安全的方法</p>
<p>3.进程间通讯（IPC）</p>
<p>&nbsp;</p>
<p><img title="更多..." src="http://www.mcjiffy.cn/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>&nbsp;</p>
<p><span id="more-386"></span></p>
<p><div id="attachment_388" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/07/Processes-Threads.png"><img class="size-large wp-image-388" title="进程和线程思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/07/Processes-Threads-1024x511.png" alt="进程和线程思维导图" width="540" height="269" /></a><p class="wp-caption-text">进程和线程思维导图</p></div></p>
<p>&nbsp;<br/><b>点击 :</b>490</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/386.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>吭爹的IE,Jquery修改input name的杯具</title>
		<link>http://www.mcjiffy.cn/373.html</link>
		<comments>http://www.mcjiffy.cn/373.html#comments</comments>
		<pubDate>Tue, 12 Jul 2011 13:14:00 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[IE]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[w3help]]></category>
		<category><![CDATA[web标准]]></category>
		<category><![CDATA[兼容性]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=373</guid>
		<description><![CDATA[项目中用到的，clone一段输入框然后修改name在添加到另外一块区域中。 但是测试到IE，杯具了&#8211;clone后不支持修改input的name。 例如： $(input).attr(&#8216;name&#8217;,'newName&#8217;); 在ie里使用F12的工具查看，input的属性里多出了一个submitName。原来name的属性木有变化。 股沟了下,微软说： The NAME attribute cannot be set at run time on elements dynamically created with the createElement method. To create an element with a name attribute, include the attribute and value when using the createElement method. 意思就是运行时，不能修改动态创建元素的Name属性，想修改？去重新创建个吧。。。 使用Jquery的话就可以新建HTML代码然后AppendTo到父元素。 但是，有些情况可能就不太适应，比如我这项目，某些input有些自建属性是动态的。手写HTML去加入到父元素的话，位置又可能不太好控制。 想了半天终于想出个解决方案，可能不太完美，但是也解决了项目中遇到的问题： 使用outerHTML属性，获得元素的html代码，然后replace要name的值。这样clone之后的元素的代码也能按照想象的去实现修改了。 例如：input.outerHTML=input.outerHTML.replace(&#8216;name&#8217;,'newName&#8217;); 但是outerHTML属性，IE,Chrome都支持，Firefox不支持，所以需要判断下浏览器，如果是IE就放心使用吧，反正人家都烂成这样了。其他的，还是照常用jquery实现吧。。 BTW：顺便分享个Web标准，浏览器兼容性问题速查网站W3help.org 最后再次诅咒下坑爹的IE。 if($.broswer.msie){     GoHell(); } [&#8230;] <a class="more-link" href="http://www.mcjiffy.cn/373.html">&#8595; 更多...</a>]]></description>
			<content:encoded><![CDATA[<p>项目中用到的，clone一段输入框然后修改name在添加到另外一块区域中。</p>
<p>但是测试到IE，杯具了&#8211;clone后不支持修改input的name。</p>
<p>例如：</p>
<blockquote><p>$(input).attr(&#8216;name&#8217;,'newName&#8217;);</p></blockquote>
<p>在ie里使用F12的工具查看，input的属性里多出了一个<span style="color: #ff0000;"><strong>submitName</strong></span>。原来name的属性木有变化。</p>
<p><span id="more-373"></span></p>
<p>股沟了下,微软说：</p>
<blockquote><p>The <span style="color: #ff0000;">NAME</span> attribute cannot be set at run time on elements dynamically created with the createElement method.<br />
To create an element with a name attribute, include the attribute and value when using the createElement method.</p></blockquote>
<p>意思就是运行时，不能修改动态创建元素的Name属性，想修改？去重新创建个吧。。。</p>
<p>使用Jquery的话就可以新建HTML代码然后AppendTo到父元素。</p>
<p>但是，有些情况可能就不太适应，比如我这项目，某些input有些自建属性是动态的。手写HTML去加入到父元素的话，位置又可能不太好控制。</p>
<p>想了半天终于想出个解决方案，可能不太完美，但是也解决了项目中遇到的问题：</p>
<p>使用outerHTML属性，获得元素的html代码，然后replace要name的值。这样clone之后的元素的代码也能按照想象的去实现修改了。</p>
<blockquote><p>例如：input.outerHTML=input.outerHTML.replace(&#8216;name&#8217;,'newName&#8217;);</p></blockquote>
<p>但是outerHTML属性，IE,Chrome都支持，Firefox不支持，所以需要判断下浏览器，如果是IE就放心使用吧，反正人家都烂成这样了。其他的，还是照常用jquery实现吧。。</p>
<p>BTW：顺便分享个Web标准，浏览器兼容性问题速查网站<a title="W3Help" href="http://www.w3help.org/zh-cn/home/about.html" target="_blank">W3help.org</a></p>
<p>最后再次诅咒下坑爹的IE。</p>
<p><strong><span style="color: #ff0000;">if($.broswer.msie){</span></strong></p>
<p><strong><span style="color: #ff0000;">    GoHell();</span></strong></p>
<p><strong><span style="color: #ff0000;">}</span></strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;<br/><b>点击 :</b>611</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/373.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Intents And Intent Filters 总结思维导图</title>
		<link>http://www.mcjiffy.cn/368.html</link>
		<comments>http://www.mcjiffy.cn/368.html#comments</comments>
		<pubDate>Sun, 19 Jun 2011 09:36:22 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[intent]]></category>
		<category><![CDATA[intent filter]]></category>
		<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[思维导图]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=368</guid>
		<description><![CDATA[通过google doc 总结： 1.Intent对象： Component name,Action,Extra,Category,Flag的总结。 2.Intent解析： Intent Filter,Intent Test:Action test,Category test,Data test. &#160; &#160; 微盘下载 Coming Soon: Processes and Threads &#160;点击 :552]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_369" class="wp-caption alignleft" style="width: 160px"><a href="http://www.mcjiffy.cn/368.html"><img class="size-thumbnail wp-image-369 " title="Intent&amp;Intent Filter思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/IntentIntent-Filter思维导图-150x150.png" alt="Intent&amp;Intent Filter思维导图" width="150" height="150" /></a><p class="wp-caption-text">Intent&amp;Intent Filter思维导图</p></div></p>
<p>通过google doc 总结：</p>
<p>1.Intent对象：</p>
<p>Component name,Action,Extra,Category,Flag的总结。</p>
<p>2.Intent解析：</p>
<p>Intent Filter,Intent Test:Action test,Category test,Data test.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span id="more-368"></span></p>
<p><div id="attachment_369" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/IntentIntent-Filter思维导图.png" target="_blank"><img class="size-large wp-image-369  " title="Intent&amp;Intent Filter思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/IntentIntent-Filter思维导图-1024x834.png" alt="Intent&amp;Intent Filter思维导图" width="540" height="439" /></a><p class="wp-caption-text">Intent&amp;Intent Filter思维导图</p></div></p>
<p><a title="微盘下载" href="http://vdisk.weibo.com/s/pp96" target="_blank">微盘下载</a></p>
<p>Coming Soon:</p>
<h1>Processes and Threads</h1>
<p>&nbsp;<br/><b>点击 :</b>552</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/368.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Content Provider 总结思维导图</title>
		<link>http://www.mcjiffy.cn/353.html</link>
		<comments>http://www.mcjiffy.cn/353.html#comments</comments>
		<pubDate>Tue, 14 Jun 2011 14:55:36 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[content provider]]></category>
		<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[思维导图]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=353</guid>
		<description><![CDATA[Content Provider 思维导图 根据Google Android Doc总结： 1.Content Prodiver的基本概念 2.增删改查 3.创建Content Provider 4.在Manifest.xml中定义 5.Content URI详解 &#160; 微盘下载 Coming Soon: Intents and Intent Filters 点击 :529]]></description>
			<content:encoded><![CDATA[<div class="mceTemp" style="text-align: left;">
<dl id="attachment_354" class="wp-caption  alignleft" style="width: 160px;">
<dt class="wp-caption-dt"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Content-Provider.png"><img class="size-thumbnail wp-image-354" title="Content Provider 思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Content-Provider-150x150.png" alt="Content Provider 思维导图" width="150" height="150" /></a></dt>
<dd class="wp-caption-dd">Content Provider 思维导图</dd>
</dl>
</div>
<p>根据Google Android Doc总结：</p>
<p>1.Content Prodiver的基本概念</p>
<p>2.增删改查</p>
<p>3.创建Content Provider</p>
<p>4.在Manifest.xml中定义</p>
<p>5.Content URI详解</p>
<p>&nbsp;</p>
<p><span id="more-353"></span></p>
<p><div id="attachment_354" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Content-Provider.png"><img class="size-large wp-image-354" title="Content Provider 思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Content-Provider-1024x922.png" alt="Content Provider 思维导图" width="540" height="486" /></a><p class="wp-caption-text">Content Provider 思维导图</p></div></p>
<p><a title="微盘下载" href="http://vdisk.weibo.com/s/oY_P" target="_blank">微盘下载</a></p>
<p>Coming Soon:</p>
<h1>Intents and Intent Filters</h1>
<p><br/><b>点击 :</b>529</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/353.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Service And Bound Service总结思维导图</title>
		<link>http://www.mcjiffy.cn/343.html</link>
		<comments>http://www.mcjiffy.cn/343.html#comments</comments>
		<pubDate>Mon, 13 Jun 2011 07:13:07 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[bound service]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[started service]]></category>
		<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[思维导图]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=343</guid>
		<description><![CDATA[根据android doc总结。 包括started service和bound service。 started service的基本概念，创建方法，生命周期等。 bound service的基本概念，创建方法，绑定方法，生命周期等。 前端运行service和给用户通知响应准备在其他文档中总结。 点击查看无码高清大图： 微盘下载点击 :559]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_344" class="wp-caption alignleft" style="width: 160px"><a href="http://www.mcjiffy.cn/343.html"><img class="size-thumbnail wp-image-344 " title="Service 思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/service-2-150x150.png" alt="Service 思维导图" width="150" height="150" /></a><p class="wp-caption-text">Service 思维导图</p></div></p>
<p>根据android doc总结。</p>
<p>包括started service和bound service。</p>
<p>started service的基本概念，创建方法，生命周期等。</p>
<p>bound service的基本概念，创建方法，绑定方法，生命周期等。</p>
<p>前端运行service和给用户通知响应准备在其他文档中总结。</p>
<p><span id="more-343"></span></p>
<p>点击查看无码高清大图：</p>
<p><div id="attachment_344" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/service-2.png"><img class="size-large wp-image-344" title="Service 思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/service-2-757x1024.png" alt="Service 思维导图" width="540" height="730" /></a><p class="wp-caption-text">Service 思维导图</p></div><br />
<br /><a href="http://vdisk.weibo.com/s/oYW5" target="_blank">微盘下载</a><br/><b>点击 :</b>559</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/343.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Task And Back Stack 总结思维导图</title>
		<link>http://www.mcjiffy.cn/331.html</link>
		<comments>http://www.mcjiffy.cn/331.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 15:26:36 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[back stack]]></category>
		<category><![CDATA[stack]]></category>
		<category><![CDATA[task]]></category>
		<category><![CDATA[思维导图]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=331</guid>
		<description><![CDATA[根据Android doc的文档学习总结。 主要包括： 1.保存Activity的状态 2.管理Task： 定义启动模式，处理相关性，清除back stack，启动task 点击查看高清步兵大图： 微盘下载点击 :831]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_334" class="wp-caption alignleft" style="width: 160px"><a href="http://www.mcjiffy.cn/331.html"><img class="size-thumbnail wp-image-334" title="Task&amp;BackStack思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/TaskBackStack-150x150.jpg" alt="Task&amp;BackStack思维导图" width="150" height="150" /></a><p class="wp-caption-text">Task&amp;BackStack思维导图</p></div></p>
<p>根据Android doc的文档学习总结。</p>
<p>主要包括：</p>
<p>1.<strong>保存Activity的状态</strong></p>
<p>2.<strong>管理Task</strong>：</p>
<p>定义启动模式，处理相关性，清除back stack，启动task</p>
<p><span id="more-331"></span></p>
<p>点击查看高清步兵大图：</p>
<p><div id="attachment_334" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/TaskBackStack.jpeg"><img class="size-large wp-image-334" title="Task&amp;BackStack思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/TaskBackStack-1024x996.jpg" alt="Task&amp;BackStack思维导图" width="540" height="525" /></a><p class="wp-caption-text">Task&amp;BackStack思维导图</p></div></p>
<p><a title="微盘下载" href="http://vdisk.weibo.com/s/oY-l" target="_blank">微盘下载</a><br/><b>点击 :</b>831</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/331.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Android Activity 总结思维导图</title>
		<link>http://www.mcjiffy.cn/321.html</link>
		<comments>http://www.mcjiffy.cn/321.html#comments</comments>
		<pubDate>Wed, 08 Jun 2011 08:47:33 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[activities]]></category>
		<category><![CDATA[activity]]></category>
		<category><![CDATA[思维导图]]></category>
		<category><![CDATA[总结]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=321</guid>
		<description><![CDATA[最近看了sundy大大和mars大大的android培训视频， 颇有收获，本着不能学了就忘的原则， 也学着suandy大大参考这google的dev文档， 画了个Activity的思维导图， 帮助自己更好的理解Activity的同时，以备不时查阅。 &#160; 主要包括以下几个主题： 1.什么是Activity 2.创建Activity 3.启动Activity 4.关闭Activity 5.管理Activity的生命周期 微盘下载点击 :631]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_322" class="wp-caption alignleft" style="width: 160px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Activity-2.jpeg"><img class="size-thumbnail wp-image-322" title="Activity 思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Activity-2-150x150.jpg" alt="Activity 思维导图" width="150" height="150" /></a><p class="wp-caption-text">Activity 思维导图</p></div></p>
<p>最近看了sundy大大和mars大大的android培训视频，</p>
<p>颇有收获，本着不能学了就忘的原则，</p>
<p>也学着suandy大大参考这google的dev文档，</p>
<p>画了个Activity的思维导图，</p>
<p>帮助自己更好的理解Activity的同时，以备不时查阅。</p>
<p><span id="more-321"></span></p>
<p>&nbsp;</p>
<p>主要包括以下几个主题：</p>
<blockquote><p>1.什么是Activity</p>
<p>2.创建Activity</p>
<p>3.启动Activity</p>
<p>4.关闭Activity</p>
<p>5.管理Activity的生命周期</p></blockquote>
<p><div id="attachment_322" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Activity-2.jpeg" target="_blank"><img class="size-large wp-image-322" title="Activity 思维导图" src="http://www.mcjiffy.cn/wp-content/uploads/2011/06/Activity-2-1024x908.jpg" alt="Activity 思维导图" width="540" height="478" /></a><p class="wp-caption-text">Activity 思维导图</p></div></p>
<p><a href="http://vdisk.weibo.com/s/oY-m" target="_blank">微盘下载</a><br/><b>点击 :</b>631</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/321.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>android五个进程等级</title>
		<link>http://www.mcjiffy.cn/306.html</link>
		<comments>http://www.mcjiffy.cn/306.html#comments</comments>
		<pubDate>Sun, 05 Jun 2011 05:51:04 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[进程等级]]></category>
		<category><![CDATA[面试题]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=306</guid>
		<description><![CDATA[1.Foreground Process: 前端的进程状态： 正处于Activity Resume()状态 正处于与bound服务交互状态 正处于服务在前台运行的状态，（startForeground()被调用，例如：播放音乐） Service生命周期函数正在被执行(onCreate(),onStart(),onDestory()) BroadcastReceiver正在执行onReceive()方法 杀死Foreground Process需要用户响应-因为这个安全优先级最高 2.Visible Process 显示进程:Activity不再前端显示.但是也没有完全隐藏，能够看得见，比如弹出一个对话框。(Input Methed) 3.Service Process 在运行的非Foreground,Visible的进程。 4.Background Process 不可见状态哦Activity进程(onStop()被调用) 5.Empty Procecc 没有运行任何Compuments的进程，保留这个进程主要是为了缓存的需要。 点击 :581]]></description>
			<content:encoded><![CDATA[<p><strong>1.Foreground Process:</strong></p>
<blockquote><p>前端的进程状态：</p>
<ul>
<li>正处于Activity Resume()状态</li>
<li>正处于与bound服务交互状态</li>
<li>正处于服务在前台运行的状态，（startForeground()被调用，例如：播放音乐）</li>
<li>Service生命周期函数正在被执行(onCreate(),onStart(),onDestory())</li>
<li>BroadcastReceiver正在执行onReceive()方法</li>
<li>杀死Foreground Process需要用户响应-因为这个安全优先级最高</li>
</ul>
</blockquote>
<p><span id="more-306"></span></p>
<p><strong><span style="font-size: small;"><span style="line-height: 24px;">2.Visible Process</span></span></strong></p>
<blockquote><p><span style="font-size: small;"><span style="line-height: 24px;"> 显示进程:Activity不再前端显示.但是也没有完全隐藏，能够看得见，比如弹出一个对话框。(Input Methed)</span></span></p></blockquote>
<p><strong><span style="font-size: small;"><span style="line-height: 24px;">3.Service Process</span></span></strong></p>
<blockquote><p><span style="font-size: small;"><span style="line-height: 24px;"> 在运行的非Foreground,Visible的进程。</span></span></p></blockquote>
<p><strong><span style="font-size: small;"><span style="line-height: 24px;">4.Background Process</span></span></strong></p>
<blockquote><p><span style="font-size: small;"><span style="line-height: 24px;"> 不可见状态哦Activity进程(onStop()被调用)</span></span></p></blockquote>
<p><strong><span style="font-size: small;"><span style="line-height: 24px;">5.Empty Procecc</span></span></strong></p>
<blockquote><p><span style="font-size: small;"><span style="line-height: 24px;"> 没有运行任何Compuments的进程，保留这个进程主要是为了缓存的需要。</span></span></p></blockquote>
<p><br/><b>点击 :</b>581</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/306.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>修改360 C盘搬家路径</title>
		<link>http://www.mcjiffy.cn/304.html</link>
		<comments>http://www.mcjiffy.cn/304.html#comments</comments>
		<pubDate>Sun, 05 Jun 2011 05:36:34 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[代码民工]]></category>
		<category><![CDATA[系统]]></category>
		<category><![CDATA[360]]></category>
		<category><![CDATA[C盘搬家]]></category>
		<category><![CDATA[修改路径]]></category>
		<category><![CDATA[安全卫士]]></category>
		<category><![CDATA[软生活]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=304</guid>
		<description><![CDATA[360安全卫士还算有点用处，自从用了C盘搬家，C盘是节省了很多空间。但是他默认的路径实在是看起来不爽。”~/360data/重要数据”还有一层中文的文件名。所以在使用一些挑路径的英文软件的话，就会有些问题。比如Android的模拟器文件，就会提示找不到路径。360貌似也没有相关修改路径的东西。还是自己研究下改掉得了。 1.先建立一个自己想要的目录，比如”~/LoveData”. 2.文件夹选项-》不隐藏系统保护文件。把”重要资料”里的所有文件，包括隐藏的都剪切/拷贝到”~/LoveData”目录里去。 3.运行-》regedit.打开注册表，找到键：HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders。把其中所有包含”~/360data/重要资料”的地方都改成”~/LoveData”。 4.删掉原来的目录，修改文件夹选项，继续隐藏系统文件。大功告成。点击 :473]]></description>
			<content:encoded><![CDATA[<p>360安全卫士还算有点用处，自从用了C盘搬家，C盘是节省了很多空间。但是他默认的路径实在是看起来不爽。”~/360data/重要数据”还有一层中文的文件名。所以在使用一些挑路径的英文软件的话，就会有些问题。比如Android的模拟器文件，就会提示找不到路径。360貌似也没有相关修改路径的东西。还是自己研究下改掉得了。</p>
<p><span id="more-304"></span></p>
<p>1.先建立一个自己想要的目录，比如”~/LoveData”.</p>
<p>2.文件夹选项-》不隐藏系统保护文件。把”重要资料”里的所有文件，包括隐藏的都剪切/拷贝到”~/LoveData”目录里去。</p>
<p>3.运行-》regedit.打开注册表，找到键：HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders。把其中所有包含”~/360data/重要资料”的地方都改成”~/LoveData”。</p>
<p>4.删掉原来的目录，修改文件夹选项，继续隐藏系统文件。大功告成。<br/><b>点击 :</b>473</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/304.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>君が好きてす-つじあやの</title>
		<link>http://www.mcjiffy.cn/297.html</link>
		<comments>http://www.mcjiffy.cn/297.html#comments</comments>
		<pubDate>Thu, 28 Apr 2011 12:25:46 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[软生活]]></category>
		<category><![CDATA[音乐]]></category>
		<category><![CDATA[つじあやの]]></category>
		<category><![CDATA[君が好きてす]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=297</guid>
		<description><![CDATA[爱しい君を想う时 こうして仆は笑ってる ああ 今日も日が暮れて 终わりに近づいて行くのです 晴れた空に浮かんだ 明日の朝までに 君への想いを言叶に缀ります 君と初めて出会ったとき 仆の心に春の风が 吹いたような気がしました 君が好きです 优しい君が眠る时 こうして仆は祈ってる ああ 今日も星たちが 远くに辉いているのです 揺れた云に浮かんだ 涙がこぼれるまでに 君への想いを言叶に缀ります 君と二人でいられたら 仆の心に春の梦が めぐるような気がしました 君が好きです 君と初めて出会ったとき 仆の心に春の风が 吹いたような気がしました 君が好きです 君が好きです &#160;点击 :264]]></description>
			<content:encoded><![CDATA[<div id="wrap">
<div id="page">
<div id="body">
<div>
<div>
<div>
<div id="best-answer-panel">
<div>
<div>
<pre id="best-answer-content">爱しい君を想う时
こうして仆は笑ってる
ああ 今日も日が暮れて
终わりに近づいて行くのです</pre>
<pre id="best-answer-content"><span id="more-297"></span>

晴れた空に浮かんだ
明日の朝までに
君への想いを言叶に缀ります 

君と初めて出会ったとき
仆の心に春の风が
吹いたような気がしました
君が好きです 

优しい君が眠る时
こうして仆は祈ってる
ああ 今日も星たちが
远くに辉いているのです 

揺れた云に浮かんだ
涙がこぼれるまでに
君への想いを言叶に缀ります 

君と二人でいられたら
仆の心に春の梦が
めぐるような気がしました
君が好きです 

君と初めて出会ったとき
仆の心に春の风が
吹いたような気がしました
君が好きです 君が好きです</pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;<br/><b>点击 :</b>264</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/297.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>工作的态度,more professional</title>
		<link>http://www.mcjiffy.cn/294.html</link>
		<comments>http://www.mcjiffy.cn/294.html#comments</comments>
		<pubDate>Thu, 31 Mar 2011 15:25:29 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[专业]]></category>
		<category><![CDATA[代码整洁]]></category>
		<category><![CDATA[程序员]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=294</guid>
		<description><![CDATA[最近在读Robert.c.Martin大大的《代码整洁之道》，其中提到：聪明的程序员和专业的程序员。“聪明程序员和专业程序员之间的区别在于，专业程序员了解，明确是王道。专业程序员善用其能，编写其他人能理解的代码。” 其实我觉得这就是专业的程序员更profressional，而聪明的程序员虽然可能懂得高深的技术，但是却眼高手低，忘记了代码的初衷其实是给“人”看的。 再结合下自己的实际工作经验，我也遇到过各种各样的程序员，其中不乏所谓的大牛。低调，实力派，富有激情，但是确不professional，因为他们的代码只有他们自己才能看得懂。 前些天有个同事问我，“我们要怎么样才能成为大牛呢？”，我想了想回答道，“只有懂得分享的人才会受人追捧”。人们只有懂得分享才能有进步，只有在分享的过程中，才会体会到交流的快感。感谢Robert把他和他的伙伴们的实际经验汇总成书本分享给我们这些后辈，让我们得以少走弯路。而我需要做的，就是沿着前辈们指出的道路，more professional!点击 :439]]></description>
			<content:encoded><![CDATA[<p>最近在读Robert.c.Martin大大的《代码整洁之道》，其中提到：聪明的程序员和专业的程序员。“聪明程序员和专业程序员之间的区别在于，专业程序员了解，明确是王道。专业程序员善用其能，编写其他人能理解的代码。”<span id="more-294"></span></p>
<p>其实我觉得这就是专业的程序员更profressional，而聪明的程序员虽然可能懂得高深的技术，但是却眼高手低，忘记了代码的初衷其实是给“人”看的。</p>
<p>再结合下自己的实际工作经验，我也遇到过各种各样的程序员，其中不乏所谓的大牛。低调，实力派，富有激情，但是确不professional，因为他们的代码只有他们自己才能看得懂。</p>
<p>前些天有个同事问我，“我们要怎么样才能成为大牛呢？”，我想了想回答道，“只有懂得分享的人才会受人追捧”。人们只有懂得分享才能有进步，只有在分享的过程中，才会体会到交流的快感。感谢Robert把他和他的伙伴们的实际经验汇总成书本分享给我们这些后辈，让我们得以少走弯路。而我需要做的，就是沿着前辈们指出的道路，more professional!<br/><b>点击 :</b>439</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/294.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>O(欧)你妹儿啊</title>
		<link>http://www.mcjiffy.cn/291.html</link>
		<comments>http://www.mcjiffy.cn/291.html#comments</comments>
		<pubDate>Thu, 31 Mar 2011 15:06:22 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[整洁]]></category>
		<category><![CDATA[歧义]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=291</guid>
		<description><![CDATA[总以为这种会使用0（零）和O（欧）混淆的用法是在课本的传说之中。今天review项目的旧代码，终于见到活生生的实例了。有个条件死活查询不出来，擦亮了眼镜仔细一看，我勒个去，这是坑爹的呢，居然用的是O（欧）。 &#60;select&#62; &#60;option value=”O”&#62;全部&#60;/option&#62; &#60;option value=”1&#8243;&#62;条件&#60;/option&#62; &#60;option value=”2&#8243;&#62;条件&#60;/option&#62; &#60;/select&#62; 然后随手搜索了下项目文件，这尼玛是人干的活么，好多地方都是这样写的，不用O（欧）能死啊，用个空只能死啊，最不济您也用个没歧义的啊。好吧，抱怨完还是的老老实实全部改掉，不然就不是个好的童子军- -#点击 :341]]></description>
			<content:encoded><![CDATA[<p>总以为这种会使用0（零）和O（欧）混淆的用法是在课本的传说之中。今天review项目的旧代码，终于见到活生生的实例了。有个条件死活查询不出来，擦亮了眼镜仔细一看，我勒个去，这是坑爹的呢，居然用的是O（欧）。<span id="more-291"></span></p>
<blockquote><p>&lt;select&gt;</p>
<p>&lt;option value=”O”&gt;全部&lt;/option&gt;</p>
<p>&lt;option value=”1&#8243;&gt;条件&lt;/option&gt;</p>
<p>&lt;option value=”2&#8243;&gt;条件&lt;/option&gt;</p>
<p>&lt;/select&gt;</p></blockquote>
<p>然后随手搜索了下项目文件，这尼玛是人干的活么，好多地方都是这样写的，不用O（欧）能死啊，用个空只能死啊，最不济您也用个没歧义的啊。好吧，抱怨完还是的老老实实全部改掉，不然就不是个好的童子军- -#<br/><b>点击 :</b>341</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/291.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE 9之殇，禁用开始欢迎页面</title>
		<link>http://www.mcjiffy.cn/286.html</link>
		<comments>http://www.mcjiffy.cn/286.html#comments</comments>
		<pubDate>Wed, 23 Mar 2011 15:15:25 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[IE]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[欢迎页]]></category>
		<category><![CDATA[组策略]]></category>
		<category><![CDATA[难用]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=286</guid>
		<description><![CDATA[终于升级IE9到正式版了。比beta版神马的好用多了。速度也快多，虽然平时不怎么用，但是网银支付神马的还是得用用。 试用一段时间还是被它给恶心住了，每次打开都会弹出IE9宣传页面，http://windows.microsoft.com/zh-CN/internet-explorer/products/ie-9/welcome-upgrade2 很是讨厌，开始还以为是设置问题，找了一圈还是不得结局。搜索了下，结果去掉这个鸟东西还得去设置组策略，您能让用户省点心么。 具体方法如下： 运行(win+r)&#8211;&#62;gpedit.msc，打开组策略编辑器，进入“计算机配置”-管理模板-windows组件-Internet explorer-找到“阻止执行首次运行自定义设置”，右击  选“编辑”，启用，在选项里选择 直接转到主页。应用  保存 即可。 世界清静了。。。。点击 :546]]></description>
			<content:encoded><![CDATA[<p>终于升级IE9到正式版了。比beta版神马的好用多了。速度也快多，虽然平时不怎么用，但是网银支付神马的还是得用用。</p>
<p><span id="more-286"></span></p>
<p>试用一段时间还是被它给恶心住了，每次打开都会弹出IE9宣传页面，<a href="http://windows.microsoft.com/zh-CN/internet-explorer/products/ie-9/welcome-upgrade2">http://windows.microsoft.com/zh-CN/internet-explorer/products/ie-9/welcome-upgrade2</a></p>
<p>很是讨厌，开始还以为是设置问题，找了一圈还是不得结局。搜索了下，结果去掉这个鸟东西还得去设置组策略，您能让用户省点心么。</p>
<p>具体方法如下：</p>
<p>运行(win+r)&#8211;&gt;gpedit.msc，打开组策略编辑器，进入“计算机配置”-管理模板-windows组件-Internet explorer-找到“阻止执行首次运行自定义设置”，右击  选“编辑”，启用，在选项里选择 直接转到主页。应用  保存 即可。</p>
<p>世界清静了。。。。<br/><b>点击 :</b>546</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/286.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asp.Net MVC3 Step By Step</title>
		<link>http://www.mcjiffy.cn/281.html</link>
		<comments>http://www.mcjiffy.cn/281.html#comments</comments>
		<pubDate>Sun, 20 Mar 2011 07:19:30 +0000</pubDate>
		<dc:creator>mcjiffy</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[代码民工]]></category>
		<category><![CDATA[软生活]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.mcjiffy.cn/?p=281</guid>
		<description><![CDATA[最近在学习MVC3。在查找资料的时候发现，微软自己的tutorials些的非常详细。Step by step，从建立项目开始，一步步指引人们熟悉和学习MVC。学习之后，完全能对MVC有一个大体的了解，剩下的就是在了解的基础上对相应知识的深入扩展和自己对web项目的一些小小的创意。 地址：http://www.asp.net/mvc/tutorials点击 :406]]></description>
			<content:encoded><![CDATA[<p>最近在学习MVC3。在查找资料的时候发现，微软自己的tutorials些的非常详细。Step by step，从建立项目开始，一步步指引人们熟悉和学习MVC。学习之后，完全能对MVC有一个大体的了解，剩下的就是在了解的基础上对相应知识的深入扩展和自己对web项目的一些小小的创意。</p>
<p>地址：<a href="http://www.asp.net/mvc/tutorials">http://www.asp.net/mvc/tutorials</a><br/><b>点击 :</b>406</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mcjiffy.cn/281.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
