﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-魔幻☆天空</title><link>http://www.cnblogs.com/Magicsky/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 05 Sep 2008 09:48:30 GMT</lastBuildDate><pubDate>Fri, 05 Sep 2008 09:48:30 GMT</pubDate><ttl>60</ttl><item><title>谁在TDD</title><link>http://www.cnblogs.com/Magicsky/archive/2008/03/19/1113803.html</link><dc:creator>魔幻天空</dc:creator><author>魔幻天空</author><pubDate>Wed, 19 Mar 2008 13:11:00 GMT</pubDate><guid>http://www.cnblogs.com/Magicsky/archive/2008/03/19/1113803.html</guid><wfw:comment>http://www.cnblogs.com/Magicsky/comments/1113803.html</wfw:comment><comments>http://www.cnblogs.com/Magicsky/archive/2008/03/19/1113803.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/Magicsky/comments/commentRss/1113803.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Magicsky/services/trackbacks/1113803.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;<FONT size=2> 最近在看图灵的那几本重构书，被各种大师洗脑中，感觉“无测试不代码”，“TDD才是王道”。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 目前手头的工作感觉非常适合用TDD，开发一个类库，与旧的代码没有关联，且非常容易放入测试容器中，开发时间也算充裕。只是由于没有相关经验，不敢乱来。挣扎了一上午，还是放弃了，边想边做，走了老路。回家路上，回想白天的编码过程，感觉传统开发模式和TDD似乎有些重合。<BR></FONT>
<TABLE style="FONT-SIZE: 12px" align=center border=1>
<TBODY>
<TR>
<TD width=101 bgColor=#ccffff>
<DIV align=center>传统开发</DIV></TD>
<TD width=121 bgColor=#ccffff>
<DIV align=center>TDD</DIV></TD>
<TD width=155 bgColor=#ccffff>
<DIV align=center>传统开发优势</DIV></TD>
<TD width=170 bgColor=#ccffff>
<DIV align=center>TDD优势</DIV></TD></TR>
<TR>
<TD bgColor=#ffffcc>
<DIV align=center>构思代码&nbsp;</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>编写测试用例</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>节省时间</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>为思考路径留下记录，便于重构</DIV></TD></TR>
<TR>
<TD bgColor=#ffffcc>
<DIV align=center>编写代码</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>编写代码</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>-</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>-</DIV></TD></TR>
<TR>
<TD bgColor=#ffffcc>
<DIV align=center>调试</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>启动测试，发现问题</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>调试方式灵活</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>节约编译时间</DIV></TD></TR>
<TR>
<TD bgColor=#ffffcc>
<DIV align=center>修改并重复调试</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>修改并重复调试</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>-</DIV></TD>
<TD bgColor=#ffffcc>
<DIV align=center>-</DIV></TD></TR></TBODY></TABLE>&nbsp;&nbsp; <FONT size=2>对比的看，因为对测试用例编写的不熟悉，传统开发会节约大量的时间，但随着测试用例编写效率的提高，我感觉传统开发模式的优势会减弱，但永远不会消失。而由于暂时不会有不能承受编译成本的项目，TDD在调试阶段的优势不是非常的突出。</FONT><BR>&nbsp;&nbsp;<FONT size=2><STRONG>总结：我个人认为如果代码不准备重构或者没时间重构，需求变动频繁的情况下，使用TDD的效果可能不会很好;反之，TDD应该更值得考虑。<BR>&nbsp;<BR>(本人工作经验严重不足，希望抛砖引玉，静候大家高见)</STRONG></FONT><img src ="http://www.cnblogs.com/Magicsky/aggbug/1113803.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42101/" target="_blank">[新闻]淘宝网合并阿里妈妈 专家称阿里巴巴或有新战略</a>]]></description></item><item><title>【转】IIS HTTP500错误以及COM+应用程序8004e00f错误的解决方法</title><link>http://www.cnblogs.com/Magicsky/archive/2007/12/18/1004413.html</link><dc:creator>魔幻天空</dc:creator><author>魔幻天空</author><pubDate>Tue, 18 Dec 2007 05:21:00 GMT</pubDate><guid>http://www.cnblogs.com/Magicsky/archive/2007/12/18/1004413.html</guid><wfw:comment>http://www.cnblogs.com/Magicsky/comments/1004413.html</wfw:comment><comments>http://www.cnblogs.com/Magicsky/archive/2007/12/18/1004413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Magicsky/comments/commentRss/1004413.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Magicsky/services/trackbacks/1004413.html</trackback:ping><description><![CDATA[<DIV><FONT size=2><BR>今天想试试IIS，虽然是内网，没法把网站发布到网上。在WinXP SP2上安装IIS，一切很顺利，然后设置好服务器，浏览htm页都很正常，但当我打开.asp页的时候，总是说http500错误，然后就无法解析asp文件。按照网上的方法，主要都是说IWAM账号在ActiveDirectory、IISmetabase数据库和COM+应用程序三处的密码无法同步，解决方法也很简单，大致有一下三个步骤：1、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]<BR>2、同步IIS metabase中IWAM_MYSERVER的密码，在CMD中：c:\inetput\adminscripts&gt;adsutil set w3svc/wamuserpass "yourpassword"<BR>3、同步COM+应用程序所用的IWAM_MYSERVER密码，在CMD中：c:\inetput\adminscripts&gt;cscript synciwam.vbs -v<BR>，但是在进行第三步操作时总是报8004e00f错误。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后来在系统里不断的乱看，发现MSDTC服务不正常，于是先从这里下手，具体的解决方法如下：</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>1、首先进入组件服务，查看组件服务/计算机/我的电脑/COM+应用程序，结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”，无法查看里面的对象。<BR>2、进入事件查看器，发现msdtc服务没有正常启动。<BR>3、删除注册表中的键：<BR>? HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC <BR>? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC <BR>? HKEY_CLASSES_ROOT\CID <BR>4、停止MSDTC服务：net stop msdtc<BR>5、卸载MSDTC服务：msdtc -uninstall<BR>6、重新安装MSDTC服务：msdtc -install<BR>7、确认在事件查看器中msdtc服务已经正常启动[这步很关键，如果没有，重新启动下电脑看看]<BR>8、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]<BR>9、同步IIS metabase中IWAM_MYSERVER的密码，在CMD中：c:\inetput\adminscripts&gt;adsutil set w3svc/wamuserpass "yourpassword"<BR>10、同步COM+应用程序所用的IWAM_MYSERVER密码，在CMD中：c:\inetput\adminscripts&gt;cscript synciwam.vbs -v</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT size=2>出现此问题最可能的原因是没有启动 DTC 协调器服务。如果启动了，则请查看事件查看器，找到关于 IWAM_servername 帐户登录失败的消息。Dllhost.exe 进程是 IIS 管理器中被标记为采用“中”（共用）或“高”（隔离）保护级别运行的 Web 应用程序的“宿主”。IWAM 帐户（常用名称）是 dllhost.exe 的进程标识。如果此帐户的密码与元数据库中和本地 SAM 中的不一样，那些设置为以“中”或“高”保护级别运行的应用程序（称为“进程外应用程序”）便无法启动。当且仅当您获取有关无法登录 IWAM 帐户的消息时，执行以下操作：</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>1.备份 Metabase.bin 和注册表。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>2.运行 \Inetpub\AdminScripts 脚本文件夹中的 synciwam.vbs。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT size=2>在某些情况下，IIS 5 会在安装期间创建必要的 COM+ 组件时遇到问题。检查您的 \%windir%\system32 文件夹中是否有一个名为 ~clbcatq.dll 的文件。正常情况下没有此文件；如果有，则表示安装期间出现了问题。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>解决此问题：</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>1.删除 ~clbcatq.dll 文件和 \%systemroot%\registration 文件夹的内容。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>2.然后依次单击“开始”、“设置”、“控制面板”、“添加/删除程序”和“添加/删除 Windows 组件”。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>3.不要进行任何更改，直接单击“下一步”。系统现在似乎要进入安装过程，但不会进行任何更改。在这种情况下，此过程会检查必需的 COM 数据包，有时还可对其进行修复。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>4.最后，重新启动 IIS，看看您的应用程序是否能够运行。</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>请注意：如果您的应用程序无法运行，请打开“管理工具”的“组件服务管理器”控制台，删除“IIS 进程内应用程序”、“IIS 进程外应用程序”和“IIS 实用工具”数据包。在命令提示符下键入以下代码：</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>cd %windir%\system32\inetsrv </FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>rundll32 wamreg.dll, CreateIISPackage </FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>regsvr32 asptxn.dll</FONT></DIV>
<DIV><FONT size=2>（请注意，CreateIISPackage 区分大小写。）<BR>&nbsp;</FONT></DIV><img src ="http://www.cnblogs.com/Magicsky/aggbug/1004413.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42096/" target="_blank">[新闻]微软研究院发布 AutoCollage - 整理并融合照片</a>]]></description></item><item><title>每日见闻(一)</title><link>http://www.cnblogs.com/Magicsky/archive/2007/10/25/937209.html</link><dc:creator>魔幻天空</dc:creator><author>魔幻天空</author><pubDate>Thu, 25 Oct 2007 05:47:00 GMT</pubDate><guid>http://www.cnblogs.com/Magicsky/archive/2007/10/25/937209.html</guid><wfw:comment>http://www.cnblogs.com/Magicsky/comments/937209.html</wfw:comment><comments>http://www.cnblogs.com/Magicsky/archive/2007/10/25/937209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Magicsky/comments/commentRss/937209.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Magicsky/services/trackbacks/937209.html</trackback:ping><description><![CDATA[<DIV><FONT size=2><FONT style="BACKGROUND-COLOR: #ffffff" color=#0000ff>1.&nbsp;&nbsp;正则表达式中，除以 空格、段落首行、段落末尾、逗号、句号 等符号作为边界外分隔符“-”也可以作为边界。</FONT><BR></FONT><BR><FONT style="BACKGROUND-COLOR: #ffffff" color=#006400 size=2>扩展：这里有个重要的搜索引擎优化常识，大家注意到本文档的命名，我采用的是：Regular-Expression-Tutorial.pdf，为什么不用下划线分隔，命名成Regular_Expression_Tutorial.pdf 呢？ 因为当搜索引擎看到“-”的时候，会把它视为一个空格“ ”，而看到下划线“_”的时候，会把它视为空字符“”，实际上，下划线的正确叫法是“连字符”。于是，当我命名为Regular-Expression-Tutorial.pdf 时，搜索引擎看到的是： Regular Expression Tutorial.pdf，而当我命名成Regular_Expression_Tutorial.pdf 时，搜索引擎看作RegularExpressionTutorial.pdf 。<BR>可以看出，正则表达式在字符边界问题上 对“-”的处理方式 与 搜索引擎相同。（来自 jimmyzhang.cnblogs.com）<BR><BR><FONT color=#0000ff>2.发现一种C#语法(实现类似枚举的功能)，以前没用过，记录之..<BR></FONT>
<P class=MsoNormal style="TEXT-ALIGN: left; mso-layout-grid-align: none" align=left><SPAN lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><FONT color=#800080></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;ColorManager<BR><IMG id=Codehighlighter1_19_271_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_19_271_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_19_271_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_19_271_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_19_271_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_19_271_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_19_271_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_19_271_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_19_271_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_19_271_Open_Text><SPAN style="COLOR: #000000">{&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Hashtable&nbsp;colors&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Hashtable();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;ColorPrototype&nbsp;</SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">[</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;name]<BR><IMG id=Codehighlighter1_110_269_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_110_269_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_110_269_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_110_269_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_110_269_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_110_269_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_110_269_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_110_269_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_110_269_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_110_269_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">get</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_132_194_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_132_194_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_132_194_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_132_194_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_132_194_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_132_194_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_132_194_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_132_194_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_132_194_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_132_194_Open_Text><SPAN style="COLOR: #000000">{&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;(ColorPrototype)colors[name];&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">set</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_215_263_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_215_263_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_215_263_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_215_263_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_215_263_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_215_263_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_215_263_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_215_263_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_215_263_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_215_263_Open_Text><SPAN style="COLOR: #000000">{&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;colors.Add(name,value);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV>
<P class=MsoNormal style="TEXT-ALIGN: left; mso-layout-grid-align: none" align=left></FONT><FONT face="Times New Roman">之后通过<FONT face=宋体>&nbsp;colormanager[<SPAN style="COLOR: maroon"><FONT color=#006400>"red"</FONT></SPAN>] <FONT color=#006400><SPAN style="COLOR: fuchsia"><FONT color=#006400>= new </FONT></SPAN></FONT>ConcteteColorPrototype(255,0,0); </FONT></FONT><FONT face=宋体>就可以赋值了，帅！<BR><BR><FONT color=#0000ff>3.又发现一种C#语法(将非静态类改造成静态类)，实用，记录之..<BR></P>
<P class=MsoNormal style="TEXT-ALIGN: left; mso-layout-grid-align: none" align=left></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;SingleInstanceApplication:WindowsFormsApplicationBase<BR><IMG id=Codehighlighter1_68_449_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_68_449_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_68_449_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_68_449_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_68_449_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_68_449_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_68_449_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_68_449_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_68_449_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_68_449_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;SingleInstanceApplication&nbsp;application;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">internal</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;SingleInstanceApplication&nbsp;Application<BR><IMG id=Codehighlighter1_194_442_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_194_442_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_194_442_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_194_442_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_194_442_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_194_442_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_194_442_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_194_442_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_194_442_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_194_442_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">get</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_224_432_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_224_432_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_224_432_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_224_432_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_224_432_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_224_432_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_224_432_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_224_432_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_224_432_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_224_432_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(application&nbsp;</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">)<BR><IMG id=Codehighlighter1_283_369_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_283_369_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_283_369_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_283_369_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_283_369_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_283_369_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_283_369_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_283_369_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_283_369_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_283_369_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;SingleInstanceApplication();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;application;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN></DIV>
<P class=MsoNormal style="TEXT-ALIGN: left; mso-layout-grid-align: none" align=left></FONT><SPAN lang=EN-US style="FONT-SIZE: 10pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"><FONT face="Times New Roman">之后通过<FONT face=宋体>&nbsp;SingleInstanceApplication.Application调用.</FONT></FONT><FONT face=宋体></FONT></SPAN><BR></FONT></SPAN></P></FONT></DIV>
<DIV><FONT color=#0000ff size=2>4.C#的空接合操作符(null-coalescing operator) ??<BR><BR><FONT color=#006400>StringValue=GetValue()??"Null";<BR>等价于<BR>String temp = GetValue();<BR>StringValue=(temp!=null) ? temp : "Null";<BR></FONT></FONT></DIV><img src ="http://www.cnblogs.com/Magicsky/aggbug/937209.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42100/" target="_blank">[新闻]2008年9月5日科技博客精选</a>]]></description></item><item><title>【转】30个优秀.net在线学习资源站点</title><link>http://www.cnblogs.com/Magicsky/archive/2007/09/04/881704.html</link><dc:creator>魔幻天空</dc:creator><author>魔幻天空</author><pubDate>Tue, 04 Sep 2007 09:03:00 GMT</pubDate><guid>http://www.cnblogs.com/Magicsky/archive/2007/09/04/881704.html</guid><wfw:comment>http://www.cnblogs.com/Magicsky/comments/881704.html</wfw:comment><comments>http://www.cnblogs.com/Magicsky/archive/2007/09/04/881704.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Magicsky/comments/commentRss/881704.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Magicsky/services/trackbacks/881704.html</trackback:ping><description><![CDATA[【转自豆瓣 <A href="http://www.douban.com/people/ensonfly/">ensonfly</A>&nbsp;】<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 <BR>　　名称：快速入门 <BR>　　地址：<A href="http://chs.gotdotnet.com/quickstart/" target=_blank>http://chs.gotdotnet<WBR>.com/quickstart/</A> <BR>　　描述：本站点是微软.NET技术的快速入门网站，我们不必再安装.NET Framework中的快速入门示例程序，直接在网上查看此示例即看。 <BR>　　 <BR>　　2 <BR>　　名称：微软官方.NET指导站点 <BR>　　地址：<A href="http://www.gotdotnet.com/" target=_blank>http://www.gotdotnet<WBR>.com/</A> <BR>　　描述：上面的站点是本站的一个子站点，本站点提供微软.NET官方信息，并且有大量的用户源代码、控件下载，微软.NET开发组的人员也经常在此站点发表一些指导性文章。 <BR>　　 <BR>　　3 <BR>　　名称：SourceForge <BR>　　地址：<A href="http://www.sourceforge.net/" target=_blank>http://www.sourcefor<WBR>ge.net</A> <BR>　　描述：世界上最大的Open Source项目在线网站，上面已经有.NET的各种大型Open Source项目上千件，包括SharpDevelop、NDoc、Mono等都是在此站点发布最新源代码信息。 <BR>　　 <BR>　　4 <BR>　　名称：CodeProject <BR>　　地址：<A href="http://www.codeproject.com/" target=_blank>http://www.codeproje<WBR>ct.com</A> <BR>　　描述：很多非官方的中小型示例源代及文章，相当全面，基本上我们想要的各种方面的资料都可以在此处查找。 <BR>　　 <BR>　　5 <BR>　　名称：ensonfly's blog <BR>　　地址：<A href="http://www.yuayu.com/" target=_blank>http://www.yuayu.com<WBR>/</A> <BR>　　描述：.NET学习，优秀个人博客 <BR>　　 <BR>　　6 <BR>　　名称：Fabrice's weblog <BR>　　地址：<A href="http://dotnetweblogs.com/FMARGUERIE/Story/4139.aspx" target=_blank>http://dotnetweblogs<WBR>.com/FMARGUERIE/Stor<WBR>y/4139.aspx</A> <BR>　　描述：这是一个WebLog形式的在线日志网站，定期更新，包括.NET相关的工具、混淆器、反编译器等各种信息，十分值得收藏。 <BR>　　 <BR>　　7 <BR>　　名称： <BR>　　地址：<A href="http://www.aspalliance.com/aldotnet/examples/translate.aspx" target=_blank>http://www.aspallian<WBR>ce.com/aldotnet/exam<WBR>ples/translate.aspx</A> <BR>　　描述：c#翻译为vb.net，提供一个文本框，将你的C#源代码贴进去，就可以帮你翻译成VB.NET语法。 <BR>　　 <BR>　　8 <BR>　　名称：CSharpHelp <BR>　　地址：<A href="http://www.csharphelp.com/" target=_blank>http://www.csharphel<WBR>p.com</A> <BR>　　描述： 专业的C#语言在线帮助网站，主要提供C#语言方面的技术文章。专业性很强。 <BR>　　 <BR>　　9 <BR>　　名称：DotNet247 <BR>　　地址：<A href="http://www.dotnet247.com/" target=_blank>http://www.dotnet247<WBR>.com</A> <BR>　　描述：最好的索引网站，分别按照门类及命名空间的索引，也提供了Microsoft KB知识库。 <BR>　　 <BR>　　10 <BR>　　名称：ASP.NET <BR>　　地址：<A href="http://www.asp.net/" target=_blank>http://www.asp.net/</A> <BR>　　描述：微软.NET webform的老巢，资料和实例代码都非常难得。 <BR>　　 <BR>　　11 <BR>　　名称：微软.NET Winform <BR>　　地址：<A href="http://www.windowsforms.net/" target=_blank>http://www.windowsfo<WBR>rms.net/</A> <BR>　　描述：微软.NET Winform的老巢。 <BR>　　 <BR>　　12 <BR>　　名称：微软 KnowledgeBase <BR>　　地址：<A href="http://support.microsoft.com/" target=_blank>http://support.micro<WBR>soft.com/</A> <BR>　　描述：微软知识库，开发的时候遇到的怪问题，可能会在这里找到答案。 <BR>　　 <BR>　　13 <BR>　　名称：MSDN <BR>　　地址：<A href="http://msdn.microsoft.com/" target=_blank>http://msdn.microsof<WBR>t.com/</A> <BR>　　描述：这个就不用多说了吧，虽然出了中文MSDN，但是资料还是不够全，英文的就什么都有了。 <BR>　　 <BR>　　14 <BR>　　名称：HotScripts <BR>　　地址：<A href="http://www.hotscripts.com/" target=_blank>http://www.hotscript<WBR>s.com/</A> <BR>　　描述：Welcome to HotScripts.com, the net's largest PHP, CGI, Perl, javascript and ASP script collection and resource web portal. We currently have 24,004 scripts across 11 different programming languages and 1,240 categories, as well as links to books, articles, as well as programming tips and tutorials. <BR>　　 <BR>　　15 <BR>　　名称：ASPAlliance <BR>　　地址：<A href="http://www.aspalliance.com/" target=_blank>http://www.aspallian<WBR>ce.com/</A> <BR>　　描述：提供相当丰富的文章和示例代码，思路匮乏的时候可以找找思路 <BR>　　 <BR>　　16 <BR>　　名称：CSDN文档中心 <BR>　　地址：<A href="http://dev.csdn.net/" target=_blank>http://dev.csdn.net/<WBR></A> <BR>　　描述：中文的，资料还算丰富，可以作为国内首选。 <BR>　　 <BR>　　17 <BR>　　名称：DOTNET中华网 <BR>　　地址：<A href="http://www.aspxcn.com/" target=_blank>http://www.aspxcn.co<WBR>m/</A> <BR>　　描述：2002-2003年的时候这个站点很不错的，不过现在好像管理不得力，有点疲软，资料更新也不过及时，论坛里人也不够热心了，因为希望它好起来，所以列出来。资料都比较老，不过有些D版的东西还可以。提供很多学习代码。 <BR>　　 <BR>　　18 <BR>　　名称：中国DotNet俱乐部 <BR>　　地址：<A href="http://www.chinaspx.com/" target=_blank>http://www.chinaspx.<WBR>com/</A> <BR>　　描述：有点公司背景的网站，很健壮，资料更新及时，比较丰富。论坛解答也不错。 <BR>　　 <BR>　　19 <BR>　　名称：【孟宪会之精彩世界】 <BR>　　地址：<A href="http://dotnet.aspx.cc/" target=_blank>http://dotnet.aspx.c<WBR>c/</A> <BR>　　描述：MS-MVP的个人站点，包括了他所有的经验文章，还是很值得一看的。 <BR>　　 <BR>　　20 <BR>　　名称：dotNET Tools.org <BR>　　地址：<A href="http://www.dotnettools.org/" target=_blank>http://www.dotnettoo<WBR>ls.org</A> <BR>　　描述：ccboy，也就是CSDN的小气的神的站点，里面有很多关于.NET等的好东东。 <BR>　　 <BR>　　21 <BR>　　名称：博客堂 <BR>　　地址：<A href="http://blog.joycode.com/" target=_blank>http://blog.joycode.<WBR>com/</A> <BR>　　描述：半官方性质的MS-MVP汇集blog，大家可以在这里接触到最新的技术，了解发展趋势，对技术的探索等等，优秀的文章。 <BR>　　 <BR>　　22 <BR>　　名称：DotNetBips.com - Applying .NET <BR>　　地址：<A href="http://www.dotnetbips.com/" target=_blank>http://www.dotnetbip<WBR>s.com/</A> <BR>　　描述：该站点的文章，涉及到了整个.NET，从底层的IL到语言到架构，文章很多，质量还不错。 <BR>　　 <BR>　　23 <BR>　　名称：C# Frequently Asked Questions <BR>　　地址：<A href="http://blogs.msdn.com/csharpfaq/" target=_blank>http://blogs.msdn.co<WBR>m/csharpfaq/</A> <BR>　　描述：The C# team posts answers to common questions <BR>　　 <BR>　　24 <BR>　　名称：正则表达式 <BR>　　地址：<A href="http://www.regexplib.com/" target=_blank>http://www.regexplib<WBR>.com/</A> <BR>　　描述: 正则表达式学习站点 <BR>　　 <BR>　　25 <BR>　　名称：WINDOW formS FAQ <BR>　　地址：<A href="http://www.syncfusion.com/FAQ/Winforms/" target=_blank>http://www.syncfusio<WBR>n.com/FAQ/Winforms/</A> <BR>　　描述：常见的forms faq问题，很多问题都可以在这里找到答案。 <BR>　　 <BR>　　26 <BR>　　名称：ASP.NET 常用类库说明 <BR>　　地址：<A href="http://www.123aspx.com/rotor/default.aspx" target=_blank>http://www.123aspx.c<WBR>om/rotor/default.asp<WBR>x</A> <BR>　　描述：不用多说，看标题就知道是关于asp.net的名称空间的 <BR>　　 <BR>　　27 <BR>　　名称：ASP.NET System.Web.Mail <BR>　　地址：<A href="http://www.systemwebmail.com/faq/3.8.aspx" target=_blank>http://www.systemweb<WBR>mail.com/faq/3.8.asp<WBR>x</A> <BR>　　描述：邮件发送常见问题解决方法 <BR>　　 <BR>　　28 <BR>　　名称：VB.NET &amp; C# 比较 <BR>　　地址：<A href="http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html" target=_blank>http://www.harding.e<WBR>du/USER/fmccown/WWW/<WBR>vbnet_csharp_compari<WBR>son.html</A> <BR>　　描述：VB.NET跟C#语法区别 <BR>　　 <BR>　　29 <BR>　　名称：VB.NET架构师　BLOG <BR>　　地址：<A href="http://panopticoncentral.net/" target=_blank>http://panopticoncen<WBR>tral.net/</A> <BR>　　描述：不用多说，想了解VB.NET的朋友不可不去的站点(PS，不知道我有没有记错是不是这个地址） <BR>　　 <BR>　　30 <BR>　　名称：索克论坛 <BR>　　地址：<A href="http://www.sorke.com/bbs/Boards.asp" target=_blank>http://www.sorke.com<WBR>/bbs/Boards.asp</A> <BR>　　描述：我想应该是国内最好的第三方.NET控件的下载基地<img src ="http://www.cnblogs.com/Magicsky/aggbug/881704.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42099/" target="_blank">[新闻]SNS网站风靡影响工作效率 公司下令封杀</a>]]></description></item><item><title>开源许可证简单总结</title><link>http://www.cnblogs.com/Magicsky/archive/2007/08/29/874282.html</link><dc:creator>魔幻天空</dc:creator><author>魔幻天空</author><pubDate>Wed, 29 Aug 2007 03:25:00 GMT</pubDate><guid>http://www.cnblogs.com/Magicsky/archive/2007/08/29/874282.html</guid><wfw:comment>http://www.cnblogs.com/Magicsky/comments/874282.html</wfw:comment><comments>http://www.cnblogs.com/Magicsky/archive/2007/08/29/874282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Magicsky/comments/commentRss/874282.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Magicsky/services/trackbacks/874282.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;&nbsp;&nbsp;&nbsp;最近因为工作需要，找了一些开源项目，感觉网上的开源许可介绍都比较模糊和零散，简单总结一下，理解的不对，还望各位同学指出</SPAN><SPAN lang=EN-US><FONT face=Calibri>:</FONT></SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo2"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>1.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>GPL (General Public License) -------</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">商用不友好，但要开放源代码。他的衍生版本</SPAN><SPAN lang=EN-US><FONT face=Calibri>:</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo2"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>2.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>LGPL (Lesser General Public License) -------</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">商用友好，包含时包含源码，调用则不需要。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><FONT face=Calibri>3.BSD <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>-------</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">商用友好，不需要包含源码，但需要包含协议。有三个衍生版本：</SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo1"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>1)</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>NetBSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">仍在使用原始的</SPAN><SPAN lang=EN-US><FONT face=Calibri>BSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">许可证，也就是</SPAN><SPAN lang=EN-US><FONT face=Calibri>4-clause license </FONT></SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo1"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>2)</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>2-clause BSD-like license</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，也就是删掉了许可证的第三句，禁止使用版权所有者的名字作广告。这样就跟</SPAN><SPAN lang=EN-US><FONT face=Calibri>MIT</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">许可证功能上等价了。这也是唯一被允许用作特定库（如</SPAN><SPAN lang=EN-US><FONT face=Calibri>KDE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）的</SPAN><SPAN lang=EN-US><FONT face=Calibri>BSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">风格许可证。</SPAN><FONT face=Calibri> </FONT></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo1"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>3)</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>FreeBSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">也使用一个两句版许可证，另外在末尾添加贡献者一览，也就是非</SPAN><SPAN lang=EN-US><FONT face=Calibri>FreeBSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">工程官方贡献者一览。</SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; mso-char-indent-count: 0; mso-list: l1 level1 lfo1"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>4)</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>OpenBSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">对所有添加的软件，采用</SPAN><SPAN lang=EN-US><FONT face=Calibri>Internet Systems Consortium, Inc</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的版权许可，功能上也就是两句版的</SPAN><SPAN lang=EN-US><FONT face=Calibri>BSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">许可，没有其他的添加语句。</SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: 0cm; mso-char-indent-count: 0"><SPAN lang=EN-US><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo2"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri>3.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>MIT -------</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">商用友好，不需要包含源码，但需要包含协议。能类似于</SPAN><SPAN lang=EN-US><FONT face=Calibri>3-clause </FONT><A title=BSD许可证 href="http://wiki.ccw.com.cn/BSD%E8%AE%B8%E5%8F%AF%E8%AF%81"><SPAN style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none"><FONT face=Calibri>BSD license</FONT></SPAN></A></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，主要的差别在于</SPAN><SPAN lang=EN-US><FONT face=Calibri>3-clause BSD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">许可证禁止将版权拥有人的名字用于广告上。<BR></SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo2"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri><BR>4.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>MPL-------</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">商用友好，允许免费重发布、免费修改，但要求修改后的代码版权归软件的发起者。调用则不受限制。<BR></SPAN></P>
<P class=MsoListParagraph style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo2"><SPAN lang=EN-US style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"><SPAN style="mso-list: Ignore"><FONT face=Calibri><BR>5.</FONT><SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN lang=EN-US><FONT face=Calibri>Apache License-------</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">商用友好，不需要包含源码，但需要包含协议。</SPAN></P><img src ="http://www.cnblogs.com/Magicsky/aggbug/874282.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42098/" target="_blank">[新闻]《孢子》正式发布</a>]]></description></item></channel></rss>