﻿<?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/yicone/</link><description>The future is worth fighting for.</description><language>zh-cn</language><lastBuildDate>Mon, 06 Jul 2009 15:50:19 GMT</lastBuildDate><pubDate>Mon, 06 Jul 2009 15:50:19 GMT</pubDate><ttl>60</ttl><item><title>编程小练习：拆分自然数</title><link>http://www.cnblogs.com/yicone/archive/2009/06/30/1514306.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Tue, 30 Jun 2009 14:42:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2009/06/30/1514306.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1514306.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2009/06/30/1514306.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1514306.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1514306.html</trackback:ping><description><![CDATA[<p><a href="http://www.cnblogs.com/JeffreyZhao/archive/2009/06/21/1507847.html">老赵给出的题目</a></p>
<p>有一种算法叫"蒙(发平声)" !<br />花了一整天才写出来, 没有算法思想, 无数次的尝试才得出来; 即便有了结果, 但也还是没什么收获, 这就是这种算法的特点:( 略为沮丧</p><div class="cnblogs_code"><img id="Code_Closed_Image_002253" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_002253').style.display='none'; document.getElementById('Code_Open_Image_002253').style.display='inline'; document.getElementById('Code_Open_Text_002253').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" width="11" height="16"><img id="Code_Open_Image_002253" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_002253').style.display='none'; getElementById('Code_Closed_Image_002253').style.display='inline'; getElementById('Code_Closed_Text_002253').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" width="11" height="16"><span id="Code_Closed_Text_002253" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_002253" style="display: none;"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System;<br /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Diagnostics;<br /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Text;<br /></span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;NConsoler;<br /><br /></span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Program<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Main(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">[]&nbsp;args)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Consolery.Run(</span><span style="color: #0000ff;">typeof</span><span style="color: #000000;">(Program),&nbsp;args);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;[Action]<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Foo([Required]&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;sum,&nbsp;[Required]&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n,&nbsp;[Required]&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;min,&nbsp;[Required]&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;max)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;all&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[n];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boo(sum,&nbsp;n,&nbsp;min,&nbsp;max,&nbsp;all);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Boo(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;sum,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;min,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;max,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;all)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Assert(n&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;sum);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Assert(min&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;max);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.Assert(n&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;all.Length);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;tmax&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;sum&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;(n&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;min;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(tmax&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;min)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(tmax&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;max)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(var&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;all.Length&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;n;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;all.Length&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all[i]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;min;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all[all.Length&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;tmax;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintResult(all);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;m&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">2</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">&nbsp;(m&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;n)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;newsum&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(var&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;all.Length&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&gt;=</span><span style="color: #000000;">&nbsp;all.Length&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;m;&nbsp;i</span><span style="color: #000000;">--</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newsum&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;all[i];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;tmin&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;min&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(tmin&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;(newsum&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;m))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boo(newsum,&nbsp;m,&nbsp;tmin,&nbsp;max,&nbsp;all);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;PrintResult(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">[]&nbsp;all)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sb&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;StringBuilder();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(var&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;all.Length;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(all[i].ToString()&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(sb.ToString());<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span></span></div> <p>顺便推荐一下<a href="http://nconsoler.csharpus.com/">NConsoler</a>, 对命令行程序提供参数解析的功能, 开源. 类似的东西还有Mono.Options, NConsole(没找到代码), CodeProject.com上还有<a href="http://www.codeproject.com/KB/recipes/command_line.aspx">用正则表达式实现的</a>...</p> <p><a href="http://nconsoler.csharpus.com/">NConsoler</a> 使用很简便, 优雅, 与"著名的"AjaxPro 的接口有几分神似.<br />功能上考虑很全面, 在程序参数的验证, 类型转换; 参数错误时返回友好的错误提示; 输出帮助信息(即/?或-?)等这些方面, 都提供了快捷的支持.</p> <p>最有特色的一点, 是把一个命令行程序的功能抽象为 Action, 举例说明下吧:<br />比如我们有个管理文件系统的命令行程序, 名为fm.exe (file manager)</p> <p>&gt;&gt; fm /n foo.txt<br />&gt;&gt; fm&nbsp;/r foo.txt</p> <p>上面的/n表示new, /r表示remove, 如果自己写代码, 需要写一个读取和判断不同参数的"路由"方法, 进而将调用分支到不同的功能中.&nbsp; 如果用NConsoler来实现这个程序的入口, 我们可以只通过两个Action方法来实现. 示例:<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 16px; line-height: normal; font-size-adjust: none; font-stretch: normal; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px;" class="Apple-style-span"><span style="font-family: Verdana;" class="Apple-style-span"></span></span></p><br /><div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">[Action]<br /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;New([Required]&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;filename){<img src="http://www.cnblogs.com/Images/dot.gif" alt="" />}<br /><br />[Action]<br /></span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Remove([Required]&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;userName){<img src="http://www.cnblogs.com/Images/dot.gif" alt="" />}</span></div><p>那么在使用时稍作调整:<br />&gt;&gt; fm new foo.txt<br />&gt;&gt; fm remove foo.txt</p> <p>如果在写命令行程序时, 还在自己手工做类似的轮子, 不妨借鉴.</p><p>&nbsp;</p><img src ="http://www.cnblogs.com/yicone/aggbug/1514306.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48008/" target="_blank">IBM发布全球首款开源智能编译器</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印: 2009年3月15日 上海 浦东张江</title><link>http://www.cnblogs.com/yicone/archive/2009/03/15/1412661.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 15 Mar 2009 13:28:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2009/03/15/1412661.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1412661.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2009/03/15/1412661.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1412661.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1412661.html</trackback:ping><description><![CDATA[<p>周末在家懒了两天, 很久没有不去工作的意识了, 偏偏在一个需要加班的时候却不去了:D</p>
<p>周六狠心把笔记本的操作系统恢复到出厂状态. 恢复前花了不少时间整理了下资料, 图片/照片几乎全扔到picasa web中了. 自己又不是色友, 没必要装些ps的工具, 就别没事儿去鼓捣那几张破片片了. 听歌用wmp得了,&nbsp;貌似自己很少听歌嘛:D Onenote中的记录, 整理了一些到evernote中, 后来发现这样做毫无意义, 扔在角落里先不管它了.</p>
<p>本以为恢复的过程很快, 没想到重启电脑后, Acer会有一个22步的自动安装过程, 安装些驱动和一大堆用不着的软件. 正好借这个当口, 去把晚饭吃了. 回来又手工把那一对用不着的软件卸掉, 然后装了几个基本的工具.</p>
<p>很多以前觉得"必备"的软件都没有装, 只有这个时候, 才知道什么叫必备, 呵呵.&nbsp;7-zip, Notepad++, chrome, evernote, 谷歌输入法, 没别的啦!<br />
假如windows可以解压rar, 还能少装7-zip:D 聊天找到正在封测的腾讯自家的Web QQ, 省去了每天面对弹窗, 自动升级的乏味了. (QQ 2009 beta在vista经常会死掉, 而且进程也杀不掉, 必须重启!!). MSN其实用到的很少, 所以就先不装了, 虽然9.0的UI和类似twitter的功能都不错.</p>
<p>对于绝大部分时间都在公司渡过的现状, 电脑上能有一个查看代码的工具就可以了, 那些巨大的IDE, 实在无用武之地. firefox, firebug, aptana这些辅助前端开发的利器, 在家也就不使了. 前端的东西太琐碎. </p><p>Onenote固然有很多优点, 可每次重装系统/换电脑, 总想着整理一下, 可每次整理有发现太多无意义的记录, 所以就狂删. 所以"三搬如一烧", 瞅着眼前的记录, 已经没有多少日子太久的了, 频繁用到的记录更是少之又少.打开电脑最常做的就是上网, 搜索, 聊天, 所以一个好用快速的浏览器+输入法就够了. 留个强力编辑器, 偶尔看看代码就可以了. 至于上网的需求, 有google的书签, 自动翻译就够了, 毕竟在网上自己消费信息要远远多于生产, 偶尔写一篇blog, 也没必要装live writer啦. 再装个迅雷, 能在线看比较清晰的影片, 夫欲何求!很少用到的却占据大部分数量的软件就扔到虚拟机中吧. 这样以后重装/恢复系统也省事. "云端软件平台"是个不错的东西, 可惜在vista下即便用兼容模式运行, 也会有蓝屏的问题, 所以无福消受啦.保持简单, 也许不久后又会迷失在复杂中, 但还是享受着眼前这难得的简单吧.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br />
</p><img src ="http://www.cnblogs.com/yicone/aggbug/1412661.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48007/" target="_blank">IE颓势不减 微软下月公布最新浏览器架构</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印 2008年11月月末 上海 周家嘴路</title><link>http://www.cnblogs.com/yicone/archive/2008/11/27/1342721.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Thu, 27 Nov 2008 15:38:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/11/27/1342721.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1342721.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/11/27/1342721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1342721.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1342721.html</trackback:ping><description><![CDATA[<p>从事新工作已有月余，很充实也很疲惫。</p>
<p>自愿投入了不少业余时间，留在工位上整理一个上线不久的网站代码，包括在头脑中建立认识，通过画序列图、流程图、脑图等手段来理清程序的各个方面，除BUG，重构，添加新功能。这些投入多少还是减轻了目前和今后的工作压力的。</p>
<p>另一方面，在工作环境方面，引入了和加强了一些小工具的使用，辅助开发方面有firebug, debugview, log4js，SQL Prompt, Code Rush, Fiddler, Notepad++, Axure PR； 任务管理方面，Outlook on the Desktop, todolist. </p>
<p>在这些工具的使用过程中也遇到了一些问题，如firebug有时会当掉，窗口关不掉，必须要重启firefox才能恢复正常。此问题在个别页面的加载时会多次出现，所以觉得与程序还是有些关系的，有时间&#8220;追究&#8221;一下。使用firebug遇到的另一个问题是，有时候调试js时，一开始是可以下断点的，但经过一次或几次页面的刷新后，就没法下断点了，这点也可以从firebug中js的行号的颜色上看出，灰色了就不能下断点了。SQL Prompt和VS的默认快捷键有些冲突，暂时没时间去对照尝试，另外就是在VS的数据库项目中，会导致VS响应及其缓慢。CodeRush目前只是发现快速查找文件这个优秀功能速度有些慢。Axure PR目前只是用来画画流程图，不能在图例中直接输入中文比较烦人，谷歌输入法，微软输入法03，智能拼音都有一些问题。</p>
<p>任务管理工具，目前以Outlook为核心，满足公司办公流程需要的同时，确实也方便自己一些事务的管理。TodoList以前也尝试用过几次，现在又一次觉得不顺手了，看来还得多用用，因为相较使用过的诸多TODO工具，这个还是比较适合程序员的啦。MindMap也要加强使用，使其真正为我所用。</p>
<p>下一步如果有时间，除了希望把上述工具调校好，还希望在代码生成工具上做一些尝试。我喜欢优秀工具带给我的乐趣，让平凡的工作多一些效率，也多一些挑战。</p><img src ="http://www.cnblogs.com/yicone/aggbug/1342721.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48002/" target="_blank">竞争日趋激烈 微软欲借 Windows 7 扭转战局</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>HOWTO:FirePHP乱码问题解决</title><link>http://www.cnblogs.com/yicone/archive/2008/11/08/1329668.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sat, 08 Nov 2008 08:24:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/11/08/1329668.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1329668.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/11/08/1329668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1329668.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1329668.html</trackback:ping><description><![CDATA[<p>FirePHP是一款调试PHP程序的FireBug插件（FireBug是一款Firefox的插件，呵呵，好多插）。由于目前一个程序的编码是GBK编码，导致使用FirePHP进行调试时，fb函数的参数中如果包含汉字，则输出到FireBug的Console后，显示为乱码。</p> <p>打开FirePHP.class.php,找到function fb($object)这行，在函数内容的顶部加入如下语句:</p> <p>$Object = encodeconvert('UTF-8', $Object, 1);</p> <p>encodeconvert函数的内容（来自supesite开源项目）</p> <div class="cnblogs_code"><img id="Code_Closed_Image_235225" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_235225').style.display='none'; document.getElementById('Code_Open_Image_235225').style.display='inline'; document.getElementById('Code_Open_Text_235225').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" width="11" height="16"><img id="Code_Open_Image_235225" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_235225').style.display='none'; getElementById('Code_Closed_Image_235225').style.display='inline'; getElementById('Code_Closed_Text_235225').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" width="11" height="16"><span id="Code_Closed_Text_235225" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_235225" style="display: none;"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;encodeconvert(&nbsp;</span><span style="color: #800080;">$encode</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$content</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$to</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">global</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$chs</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">global</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SCONFIG</span><span style="color: #000000;">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;</span><span style="color: #000000;">!</span><span style="color: #0000ff;">empty</span><span style="color: #000000;">(&nbsp;</span><span style="color: #800080;">$encode</span><span style="color: #000000;">&nbsp;)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">strtolower</span><span style="color: #000000;">(&nbsp;</span><span style="color: #800080;">$encode</span><span style="color: #000000;">&nbsp;)&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">strtolower</span><span style="color: #000000;">(&nbsp;</span><span style="color: #800080;">$_SCONFIG</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">charset</span><span style="color: #000000;">'</span><span style="color: #000000;">]&nbsp;)&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">include_once</span><span style="color: #000000;">(&nbsp;</span><span style="color: #008080;">dirname</span><span style="color: #000000;">(</span><span style="color: #ff00ff;">__FILE__</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">/chinese.class.php</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(&nbsp;</span><span style="color: #800080;">$to</span><span style="color: #000000;">&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$chs</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;chinese(&nbsp;</span><span style="color: #800080;">$_SCONFIG</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">charset</span><span style="color: #000000;">'</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$encode</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$content</span><span style="color: #000000;">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$chs</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;chinese(&nbsp;</span><span style="color: #800080;">$encode</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$_SCONFIG</span><span style="color: #000000;">[</span><span style="color: #000000;">'</span><span style="color: #000000;">charset</span><span style="color: #000000;">'</span><span style="color: #000000;">]</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$content</span><span style="color: #000000;">&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800080;">$content</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$chs</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">convertit(&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$content</span><span style="color: #000000;">;<br />}&nbsp;</span></span></div><p> </p><p>函数中用到的chinese.class.php可以在SupeSite的include文件夹中找到。 </p><p>问题解决。  </p><img src ="http://www.cnblogs.com/yicone/aggbug/1329668.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>HOWTO:批量删除存储过程和表</title><link>http://www.cnblogs.com/yicone/archive/2008/11/05/1326858.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Wed, 05 Nov 2008 01:30:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/11/05/1326858.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1326858.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/11/05/1326858.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1326858.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1326858.html</trackback:ping><description><![CDATA[<br />
1.删除存储过程<br />
<div class="cnblogs_code"><img id="Code_Closed_Image_234700" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_234700').style.display='none'; document.getElementById('Code_Open_Image_234700').style.display='inline'; document.getElementById('Code_Open_Text_234700').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" width="11" height="16"><img id="Code_Open_Image_234700" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_234700').style.display='none'; getElementById('Code_Closed_Image_234700').style.display='inline'; getElementById('Code_Closed_Text_234700').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" width="11" height="16"><span id="Code_Closed_Text_234700" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_234700" style="display: none;"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">BEGIN</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TRANSACTION</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;">&nbsp;drop_p_cursor&nbsp;</span><span style="color: #0000ff;">CURSOR</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FOR</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">SELECT</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">DROP&nbsp;PROCEDURE&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">[</span><span style="color: #ff0000;">Name</span><span style="color: #ff0000;">]</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;sysobjects&nbsp;</span><span style="color: #0000ff;">WHERE</span><span style="color: #000000;">&nbsp;xtype&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">p</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">AND</span><span style="color: #000000;">&nbsp;category&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000ff;">OPEN</span><span style="color: #000000;">&nbsp;drop_p_cursor<br /><br /></span><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;">&nbsp;sysname<br /></span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">NEXT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;drop_p_cursor&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">WHILE</span><span style="color: #000000;">(</span><span style="color: #008000; font-weight: bold;">@@FETCH_STATUS</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;">)<br /></span><span style="color: #0000ff;">BEGIN</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">EXEC</span><span style="color: #000000;">(</span><span style="color: #008000;">@sql</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">NEXT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;drop_p_cursor&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span></span></div><br />
2. 删除表<br />
注意：删除表的时候先删除约束。NOCHECK在此例中不起作用，必须用DROP。<br />
<br />
<div class="cnblogs_code"><img id="Code_Closed_Image_234725" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_234725').style.display='none'; document.getElementById('Code_Open_Image_234725').style.display='inline'; document.getElementById('Code_Open_Text_234725').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" width="11" height="16"><img id="Code_Open_Image_234725" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_234725').style.display='none'; getElementById('Code_Closed_Image_234725').style.display='inline'; getElementById('Code_Closed_Text_234725').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" width="11" height="16"><span id="Code_Closed_Text_234725" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_234725" style="display: none;"><br /><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">BEGIN</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TRANSACTION</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;">&nbsp;sysname<br /><br /></span><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;">&nbsp;drop_u_cursor&nbsp;</span><span style="color: #0000ff;">CURSOR</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FOR</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">SELECT</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">DROP&nbsp;TABLE&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">[</span><span style="color: #ff0000;">Name</span><span style="color: #ff0000;">]</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;sysobjects&nbsp;</span><span style="color: #0000ff;">WHERE</span><span style="color: #000000;">&nbsp;xtype&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">u</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">AND</span><span style="color: #000000;">&nbsp;category&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;">&nbsp;forbiden_f_cursor&nbsp;</span><span style="color: #0000ff;">CURSOR</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FOR</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">SELECT</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">ALTER&nbsp;TABLE&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">+</span><span style="color: #000000;">&nbsp;tbl.Name&nbsp;</span><span style="color: #808080;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">&nbsp;DROP&nbsp;CONSTRAINT&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">+</span><span style="color: #000000;">&nbsp;cst.Name<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;sysobjects&nbsp;tbl,&nbsp;sysobjects&nbsp;cst&nbsp;</span><span style="color: #0000ff;">WHERE</span><span style="color: #000000;">&nbsp;cst.xtype&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">f</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">AND</span><span style="color: #000000;">&nbsp;cst.parent_obj&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;tbl.id<br />&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff;">OPEN</span><span style="color: #000000;">&nbsp;forbiden_f_cursor<br /></span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">NEXT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;forbiden_f_cursor&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">WHILE</span><span style="color: #000000;">(</span><span style="color: #008000; font-weight: bold;">@@FETCH_STATUS</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;">)<br /></span><span style="color: #0000ff;">BEGIN</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">PRINT</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">EXEC</span><span style="color: #000000;">(</span><span style="color: #008000;">@sql</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">NEXT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;forbiden_f_cursor&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">END</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">CLOSE</span><span style="color: #000000;">&nbsp;forbiden_f_cursor<br /></span><span style="color: #0000ff;">DEALLOCATE</span><span style="color: #000000;">&nbsp;forbiden_f_cursor<br /><br /></span><span style="color: #0000ff;">OPEN</span><span style="color: #000000;">&nbsp;drop_u_cursor<br /></span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">NEXT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;drop_u_cursor&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">WHILE</span><span style="color: #000000;">(</span><span style="color: #008000; font-weight: bold;">@@FETCH_STATUS</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;">)<br /></span><span style="color: #0000ff;">BEGIN</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">PRINT</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">EXEC</span><span style="color: #000000;">(</span><span style="color: #008000;">@sql</span><span style="color: #000000;">)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">FETCH</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">NEXT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">FROM</span><span style="color: #000000;">&nbsp;drop_u_cursor&nbsp;</span><span style="color: #0000ff;">INTO</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@sql</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff;">END</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000ff;">CLOSE</span><span style="color: #000000;">&nbsp;drop_u_cursor<br /></span><span style="color: #0000ff;">DEALLOCATE</span><span style="color: #000000;">&nbsp;drop_u_cursor<br /><br /></span><span style="color: #0000ff;">GO</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">IF</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000; font-weight: bold;">@@ERROR</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">&lt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">BEGIN</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">ROLLBACK</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TRANSACTION</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">RETURN</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">END</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">ELSE</span><span style="color: #000000;"><br />&nbsp;</span><span style="color: #0000ff;">COMMIT</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">TRANSACTION</span><span style="color: #000000;">&nbsp;</span></span></div><img src ="http://www.cnblogs.com/yicone/aggbug/1326858.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48000/" target="_blank">数万名网友签名抗议星际争霸2取消局域网功能</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>GDI+学习笔记2</title><link>http://www.cnblogs.com/yicone/archive/2008/10/25/1319537.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sat, 25 Oct 2008 11:31:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/10/25/1319537.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1319537.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/10/25/1319537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1319537.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1319537.html</trackback:ping><description><![CDATA[<p>目前的需求是要在Windows窗体上呈现一些图形元件，类似MS Visio，可以从工具箱中拖动图形元件到画板上。现在有两种备选方式：<br>方式一：绘制闭合的线条，然后填充；<br>方式二：准备好图片，然后绘制图片。<br>使用方式一，连接线条的各个点的位置需要使用绘图工具辅助确定，然后以渐变色填充。问题是如果要添加新的图形元件，必须要修改程序，除非引入反射和配置机制，实现运行时载入扩充的绘制新图形元件的类型；<br>使用方式二，好处是扩充的成本要低一些，但是为了要高亮选中的图形元件，需要另外准备一套图片，作实时替换，而替换需要多个操作，如重新绑定业务对象、重新填充文字。</p> <p>因为项目规模较小、需要的图形元件只有确定的数量，所以考虑方式一实现。</p><img src ="http://www.cnblogs.com/yicone/aggbug/1319537.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[ECSHOP挖寶]用戶注銷過程</title><link>http://www.cnblogs.com/yicone/archive/2008/10/25/1319536.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sat, 25 Oct 2008 11:30:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/10/25/1319536.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1319536.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/10/25/1319536.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1319536.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1319536.html</trackback:ping><description><![CDATA[<p>$user-&gt;logout(); <br>show_message($_LANG['logout'] . "$user-&gt;ucdata", $_LANG['back_home_lnk'], 'index.php', 'info', true);</p> <p>ecshop類： <br>1. $user是ecshop類的實例； <br>2. show_message方法定義在lib_main.php中，將傳入的參數處理后輸出到message.dwt模板； <br>3. "$user-&gt;ucdata"被原封輸出到模板上； <br>4.$user-&gt;logout()的作用是清楚COOKIE和SESSION，以及同步退出UCENTER；</p> <p>uc_call()函數： <br>1. 退出UCENTER調用的代碼是uc_call("uc_user_synlogout")，執行后回返回一些信息，我的實驗中返回的是404錯誤頁面的HTML，可能和我講UCENTER部署在ECSHOP的子目錄中有關，因不影響目前的使用，所以沒有深究！ <br>2. uc_call函數定義在lib_common.php中，其內調用了restore_error_handler、call_user_func_array、set_error_handler三個函數。call_user_func_array函數定義在uc_client/client.php，可以理解為是UCENTER的API的內容；其余兩個函數是PHP錯誤處理機制的一部分。<a title="http://cn2.php.net/restore_error_handler" href="http://cn2.php.net/restore_error_handler">http://cn2.php.net/restore_error_handler</a></p> <p>show_message()函數： <br>1. show_message的最后一個參數指明頁面是否自動返回指定頁面，其處理是通過以下代碼完成的： <br>{if $auto_redirect} <br>&lt;meta http-equiv="refresh" content="3;URL={$message.href}" /&gt; <br>{/if} <br>如果沒有指明自動返回的頁面，$message.href的值為'javascript:history.back()'，表明HTML的meta中可以執行JS腳本； <br>2. 倒數第二個參數type，取值范圍是warning, error, info，可以用于在message.dwt中根據信息類型顯示不同的圖示，但ECSHOP當前未利用此參數；</p> <p>編碼問題： <br>上午在使用Firefox的“Open With Editor”功能時，發現打開的文件中，漢字全部是亂碼，于是搜索了一下編碼的知識。發現網路上，有一些意見認為，GB2312編碼對應的"CODE PAGE"是CP 936，而我在一個名為e-TextEditor中實驗看到，GB3212對應WINDOWS 936, 而GBK對應CP 936，于是上網繼續求證，看到GB2312對應CP 12936，但在e-TextEditor編輯器中并未有此代碼頁可選，所以我姑且草草認為CP 12936與WINDOWS 936等價，不想再深究了！ <br>然而，亂碼問題并未因此番調查而解決！我使用的ECSHOP是GBK編碼，我將自己使用的所有編輯器全部設為GB2312編碼（在Notepad++中是“字符編碼切換為ASCII碼”，尚未明確其與GBK以及GB2312的嚴格關系），FTP上傳設定也為GB2312編碼，結果是，IE和Firefox中均無亂碼，但在使用Firefox的“Open With Editor”功能時，出現在編輯器中卻是亂碼，這時無論我怎樣設定編輯器的編碼，都沒有將亂碼消解！真是奇哉怪也(這兩天正看狄仁杰劇集的緣故:)</p><img src ="http://www.cnblogs.com/yicone/aggbug/1319536.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>GDI+学习笔记1</title><link>http://www.cnblogs.com/yicone/archive/2008/06/19/1226164.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Thu, 19 Jun 2008 11:54:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/06/19/1226164.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1226164.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/06/19/1226164.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1226164.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1226164.html</trackback:ping><description><![CDATA[<p>GDI+不支持异或绘图，而使用双缓存方式，避免了图形闪烁，但是速度稍慢，占用内存较多。随着硬件发展，这是一个图形编辑器的趋势；</p> <p><a href="http://www.cnblogs.com/Kokman/archive/2006/10/08/523656.html">用 GDI+ 开发矢量图形编辑系统的经验之谈</a><br>性能篇<br>“经过无数次的实验，终于形成了自己的代码风格”：声明两个Bitmap对象，一个用于即时的图形绘制，另一个用于存放已有的图形。在用鼠标绘图的过程中，直接把Bitmap复制到绘图窗口所对应的Graphics上，以提升绘图的速度；<br>避免用三角函数、平方根、除法；<br>避免大量使用Structure；<br>不同的图元有不同的图像拾取算法，一般常用的矢量计算方法可以保证较高的算法效率； <p>项目的对象建模<br>要考虑几个方面：确定图元、图元参数的保存和处理、坐标系、图像时拾取。<br>操作图元参数时，直接把像素值保存在图元参数中比较方便。因为Single类型的“数据还原性”很差，而图形经过旋转、缩放、坐标系变换后，必须用double类型处理，所以可以考虑把所有图元参数全部用double类型处理，损失一些性能但换来了易用性。</p> <p><a title="http://www.cnblogs.com/bluntsword/archive/2005/08/10/211363.html" href="http://www.cnblogs.com/bluntsword/archive/2005/08/10/211363.html">http://www.cnblogs.com/bluntsword/archive/2005/08/10/211363.html</a>也提到了GDI+采用float类型带来的精度问题。另外此文提出要解决精度的问题，需要避免使用坐标变换。整个绘制过程中保持<br>“世界坐标系”和设备坐标系统一，然后自己记录实际坐标与设备坐标的缩放和偏移，然后在绘制时将实际坐标转换为设备坐标。</p> <p>“自己进行坐标转换也不难，简单的仿射变换”</p> <p>READ:《GDI+的雷区 》<br><a href="http://blog.csdn.net/Nightmare/archive/2005/04/22/359092.aspx">http://blog.csdn.net/Nightmare/archive/2005/04/22/359092.aspx</a></p> <p>GDI+变换之后的坐标被限制在以下范围 <br>x -4194304.0f <br>y -4194304.0f <br>width 8388608.0f <br>height 8388608.0f <br>如果超出范围，图形画不出， <p>INST：了解GDI+ 2.0所作的改进<br>INST：了解“放射变换”作坐标变换</p><img src ="http://www.cnblogs.com/yicone/aggbug/1226164.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47998/" target="_blank">传诺基亚正在开发Android手机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>HOWTO:使ASP.NET网站Forms验证可以指定多个登录页面</title><link>http://www.cnblogs.com/yicone/archive/2008/05/22/1204431.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Wed, 21 May 2008 16:32:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/05/22/1204431.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1204431.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/05/22/1204431.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1204431.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1204431.html</trackback:ping><description><![CDATA[<p>网站结构如下:<br />
&nbsp;&nbsp;&nbsp; /default.aspx<br />
&nbsp;&nbsp;&nbsp; /login.aspx<br />
&nbsp;&nbsp;&nbsp; /adminlogin.aspx<br />
&nbsp;&nbsp;&nbsp; /member/*.aspx<br />
&nbsp;&nbsp;&nbsp; /admin/*.aspx</p>
<p><strong>需求</strong>：访问/member/路径下的页面的请求转向到/login.aspx；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 访问/admin/路径下的页面的请求被转向到/adminlogin.aspx;</p>
<p>一开始，自己假想在/Web.config中作如下配置可以达到目的：</p>
<blockquote>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authentication&nbsp;</span><span style="color: #ff0000;">mode</span><span style="color: #0000ff;">="Forms"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">forms&nbsp;</span><span style="color: #ff0000;">loginUrl</span><span style="color: #0000ff;">="/Login.aspx"</span><span style="color: #ff0000;">&nbsp;name</span><span style="color: #0000ff;">=".ASPXFORMSAUTH"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">forms</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authentication</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">location&nbsp;</span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="member"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">deny&nbsp;</span><span style="color: #ff0000;">users</span><span style="color: #0000ff;">="?"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">location</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">location&nbsp;</span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="admin"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authentication&nbsp;</span><span style="color: #ff0000;">mode</span><span style="color: #0000ff;">="Forms"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">forms&nbsp;</span><span style="color: #ff0000;">loginUrl</span><span style="color: #0000ff;">="/AdminLogin.aspx"</span><span style="color: #ff0000;">&nbsp;name</span><span style="color: #0000ff;">=".ASPXFORMSAUTH"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">forms</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authentication</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">deny&nbsp;</span><span style="color: #ff0000;">users</span><span style="color: #0000ff;">="?"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">location</span><span style="color: #0000ff;">&gt;</span></div>
<p>&nbsp;</p>
</blockquote>
<p>但很快发现，这样会导致一个运行时错误：</p>
<blockquote>
<p>在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的</p>
</blockquote>
<p>Google了几下，遇到同样错误的不少，但问题相似的不多。于是临时采用了一种变通的做法（急于解决问题，可能有良好的/更好的解决方案）。两个步骤：</p>
<p>1. 定义/LoginHandler.ashx。在ProcessRequest方法中，</p>
<blockquote>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_61_707_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_61_707_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_61_707_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_61_707_Closed_Text').style.display='inline';" align="top"  alt="" /><img id="Codehighlighter1_61_707_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_61_707_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_61_707_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_61_707_Open_Text').style.display='inline';" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">HttpContext.Current.User.Identity.IsAuthenticated)</span><span id="Codehighlighter1_61_707_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_61_707_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;loginUrl;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;returnUrl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;context.Request.Params[</span><span style="color: #800000;">"</span><span style="color: #800000;">returnUrl</span><span style="color: #800000;">"</span><span style="color: #000000;">];<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_231_309_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_231_309_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_231_309_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_231_309_Closed_Text').style.display='inline';" align="top"  alt="" /><img id="Codehighlighter1_231_309_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_231_309_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_231_309_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_231_309_Open_Text').style.display='inline';" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&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;">(returnUrl.Contains(</span><span style="color: #800000;">"</span><span style="color: #800000;">/Admin/</span><span style="color: #800000;">"</span><span style="color: #000000;">))&nbsp;</span><span id="Codehighlighter1_231_309_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_231_309_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loginUrl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">/AdminLogin.aspx</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000;"><br />
<img id="Codehighlighter1_334_414_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_334_414_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_334_414_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_334_414_Closed_Text').style.display='inline';" align="top"  alt="" /><img id="Codehighlighter1_334_414_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_334_414_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_334_414_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_334_414_Open_Text').style.display='inline';" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span id="Codehighlighter1_334_414_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_334_414_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loginUrl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">/Public/Login.aspx</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_499_644_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_499_644_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_499_644_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_499_644_Closed_Text').style.display='inline';" align="top"  alt="" /><img id="Codehighlighter1_499_644_Closed_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" style="display: none;" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_499_644_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_499_644_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_499_644_Open_Text').style.display='inline';" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&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;(</span><span style="color: #000000;">!</span><span style="color: #0000ff;">string</span><span style="color: #000000;">.IsNullOrEmpty(context.Request.Params[</span><span style="color: #800000;">"</span><span style="color: #800000;">returnUrl</span><span style="color: #800000;">"</span><span style="color: #000000;">]))</span><span id="Codehighlighter1_499_644_Closed_Text" style="border: 1px solid #808080; background-color: #ffffff; display: none;"><img src="http://www.cnblogs.com/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_499_644_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loginUrl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;loginUrl&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">?returnUrl=</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;HttpUtility.UrlEncode(context.Request.Params[</span><span style="color: #800000;">"</span><span style="color: #800000;">returnUrl</span><span style="color: #800000;">"</span><span style="color: #000000;">]);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.Response.Redirect(loginUrl);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
</blockquote>
<p>2. 配置/Web.config，</p>
<blockquote>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authentication&nbsp;</span><span style="color: #ff0000;">mode</span><span style="color: #0000ff;">="Forms"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">forms&nbsp;</span><span style="color: #ff0000;">loginUrl</span><span style="color: #0000ff;">="/LoginHandler.ashx"</span><span style="color: #ff0000;">&nbsp;name</span><span style="color: #0000ff;">=".ASPXFORMSAUTH"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">forms</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authentication</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">location&nbsp;</span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="LoginHandler.ashx"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">httpHandlers</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">add&nbsp;</span><span style="color: #ff0000;">verb</span><span style="color: #0000ff;">="*"</span><span style="color: #ff0000;">&nbsp;path</span><span style="color: #0000ff;">="LoginHandler.ashx"</span><span style="color: #ff0000;">&nbsp;type</span><span style="color: #0000ff;">="Web.LoginHandler"</span><span style="color: #ff0000;">&nbsp;validate</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">httpHandlers</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">location</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">location&nbsp;</span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="member"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">deny&nbsp;</span><span style="color: #ff0000;">users</span><span style="color: #0000ff;">="?"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">location</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">location&nbsp;</span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="admin"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">deny&nbsp;</span><span style="color: #ff0000;">users</span><span style="color: #0000ff;">="?"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">authorization</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">system.web</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">location</span><span style="color: #0000ff;">&gt;</span></div>
<p>&nbsp;</p>
</blockquote> 
<img src ="http://www.cnblogs.com/yicone/aggbug/1204431.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Expression Web使用问题，相关资源及今日阅读</title><link>http://www.cnblogs.com/yicone/archive/2008/05/18/1202015.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 18 May 2008 07:41:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/05/18/1202015.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1202015.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/05/18/1202015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1202015.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1202015.html</trackback:ping><description><![CDATA[<h3>Expression Web使用问题</h3> <p>1. 在Expression Web中，如何在设计时预览ASP.NET Master Page或普通页面时，能够查看应用了theme后的效果？<br>无论在Visual Studio 2008，还是Expression Web SP1中，都没有找到可以在设计时预览theme的功能。初步推断，ASP.NET的Theme功能是运行时的行为，需要经过服务器的处理才能展现，尤其是其中针对服务器端控件的Skin特性。由此得出，解决预览问题的粗糙方式，是将Theme中定义的css文件导入到ASP.NET页面中，来查看应用静态样式后的效果。这里可以采用在母板页中引入css文件，以避免重复对多个ASP.NET页面进行css导入工作。<br><br>2. 如何在Expression Web中启用浏览器来预览ASP.NET页面？<br>如果没有IIS，则此功能需要安装ASP.NET Development Server。我在初次安装Expression Web时的确没有勾选安装这个东东，因为那时我已经安装了Visual Studio 2005，我认为那意味着已经存在了ASP.NET Development Server。但在Express Web的菜单项/Site/Site Settings -Preview中，我看到的情况如下：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/ExpressionWeb_DC7A/image_2.png"><img height="218" alt="Express Web的菜单项/Site/Site Settings -Preview" src="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/ExpressionWeb_DC7A/image_thumb.png" width="420"></a>&nbsp;<br>即软件提醒我ASP.NET Development Server没有被安装。于是我在添加删除程序中修改Expression Web的安装，勾选了ASP.NET Development Server。但两次重复尝试的结果，得到的都是与上图一样的情况！<br>无奈之下，换了个变通的办法，即使用上图中的设置来达到可以预览ASP.NET页面的目的。具体解释一下：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 在VS安装目录中找到WebDev.WebServer.exe（这就是ASP.NET Development Server）；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. 建立一个桌面快捷方式，指向该程序，并在快捷方式的地址中定义好程序需要的参数（例如：C:\Windows\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE /port:2189 /path:"d:\MyCurrentWebProject" /vpath:"/"）；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. 双击运行创建好的快捷方式，再配合上图中的设置，就可以在Expression Web中预览ASP.NET页面啦。<br>（P.S. VS2008 SP1 BETA和Expression Web 2试用版都可以下载了，后者提供了Expression Web Development Server，不知道和ASP.NET Development Server是不是同一个东东）</p> <h3>相关资源</h3> <p>Expression Web的插件：<br><a href="http://www.j-moves.com">http://www.j-moves.com</a> $10.99 FREE 15 day<br><a href="http://www.panemanager.com">http://www.panemanager.com</a> $34.95 15 days FREE</p> <h3>今日阅读</h3> <p>Brian Simmons&nbsp;&nbsp; <em>ASP.NET 2.0 Theme Creation using ITracker<br></em><a title="http://www.simmonswebdesign.net/artITracker.asp" href="http://www.simmonswebdesign.net/artITracker.asp">http://www.simmonswebdesign.net/artITracker.asp</a><br>读后总结：<br>优秀的设计网站，Sitepoint 和<a href="http://www.csszengarden.com">www.csszengarden.com</a> <br>优秀资料，<a href="http://www.sitepoint.com/books/css2/"><em>HTML Utopia: Designing Without Tables Using CSS</em></a><em>、</em><a href="http://www.sitepoint.com/books/photoshop1/"><em>The Photoshop Anthology</em></a><br>网页设计的流程（讨论）：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在Photoshop中绘制mockup<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 得到客户对mockup的确认。作者认为这是Web项目最拖慢进度的步骤，在这期间谨记在得到客户完全的认同以及没有形成文档之前，不要开始下一步工作。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从mockup中切图、搜集素材<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用Expression Web(或DW)将设计实现在一个单独的HTML页面内，将全部的CSS也放置在此页面。尽早测试，完成一部分的测试再开始下一部分。如果遇到布局问题，检查元素和环绕它的元素的padding和margin。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在VS中创将Web项目或网站，建立theme和相应的skin，建立母板页，在Web.config中设置theme<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在skin中修改部分空间的样式，如GridView<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 测试，测试，测试<br>App_Themes文件夹的组织结构：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /Theme1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /Theme1/Images&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /Theme1/Skin1.skin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /Theme1/styles.css<br><br>作者对工作流程的认识，对各步骤注意事项的认识，是在不断的摸索和实践中形成的。勿骄勿躁！</p><img src ="http://www.cnblogs.com/yicone/aggbug/1202015.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47995/" target="_blank">Google Voice 上手</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>私单日记 第2日</title><link>http://www.cnblogs.com/yicone/archive/2008/04/09/1145416.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Wed, 09 Apr 2008 09:32:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/04/09/1145416.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1145416.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/04/09/1145416.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1145416.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1145416.html</trackback:ping><description><![CDATA[<p>和几个朋友一起做私单，在开始时遇到一些问题，所以想整理一下思路，也为以后的合作积累一些经验。</p> <p>目前项目缺乏协调人。几个人的关系比较特殊，四个人，我和A,B,C。熟不熟的情况是这样的：我和A熟，A和B熟，B和A、C都熟。个人希望B能担起PM的责任，但尚未得到大家和时间的确认。协调人来负责分工，大家依据自己的模块独立进行开发，遇到问题大家一起讨论，这是我目前想到的协作方式。接下来的几天，也搜搜其他协作方式的资料。无论选择何种协作方式，目的都是为了提高团队的效率，而重点在于让大家都发自内心的接受这种方式。</p> <p>沟通方面<br>我们的沟通方式是通过QQ群和项目论坛完成的。目前一些初期的文档草案都放在QQ群的共享中，但这些文档可能会不断修改，如果能将文档加入版本控制，可能会更好些。比如Google Docs就提供了协作编辑和版本记录的功能。<br>另外，大家工作的地点不同，时间也经常对不到一起，所以在讨论一些长期需要考虑和讨论的问题时，论坛的形式会更好些。Google网上论坛其实是一个披着论坛皮的邮件列表，这使大家通过邮箱就能及时得到新信息。</p> <p>这两天的工组情况是，A负责概要设计；B主要与客户接洽，拿需求；C则挑了一些难点去攻关。我这两天则做了一些凌乱的工作，如选择源码管理服务、建立项目讨论组、给大家准备一些资料、自己了解需求、初步分析了一个大模块……，最重要的工作就是希望和大家都尽快熟悉起来，所以花了不少时间与大家讨论。但讨论的效果还不够好，主要是因为几个人工作的时间不一致，而对项目论坛的使用还没有真正开始。</p> <p>自己的定位<br>写文章时，还没有形成清晰的定位，从这两天的工作来看，自己已经参与了各种角色，没有十分明确的重点。从初衷上讲，并不奢望能从这个单子上挣到钱，只是希望找些有意义的事来做。半年的项目冰河期让我手痒痒，不想荒废了自己，也担心缺少新积累的项目经验，会对将来的求职不利；另外，希望掌握更多的Web开发的经验，从而走一条长远发展的路。除却这两点，松散的合作开发方式所积累的经验也会对将来有利。</p> <p>项目开发的周期比较短，大家可用的时间也存在不确定性，所以我个人倾向于从开始就抓紧时间，但看大家现在的状态，很难乐观看待。</p> <p>P.S. Subversion大家都还没有开始用，所以也是一个担心的方面。自己也不太熟悉，所以在团队中推广尚有一点压力。新工具在团队中的推广，一定是个循序渐进的过程，所以我一直暗暗提醒自己，在这方面不要着急。</p><img src ="http://www.cnblogs.com/yicone/aggbug/1145416.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47994/" target="_blank">Google号召社区力量为互联网加速</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：2008年的前三个月</title><link>http://www.cnblogs.com/yicone/archive/2008/03/17/1110291.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Mon, 17 Mar 2008 10:07:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/03/17/1110291.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1110291.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/03/17/1110291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1110291.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1110291.html</trackback:ping><description><![CDATA[<p>没留下太多记忆，没项目，自己也怠慢下来。</p><img src ="http://www.cnblogs.com/yicone/aggbug/1110291.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47989/" target="_blank">Twitter无处不在 魔兽世界Twitter发送器插件发布</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Inter-Process Communication</title><link>http://www.cnblogs.com/yicone/archive/2008/02/29/1086443.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 29 Feb 2008 09:39:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2008/02/29/1086443.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/1086443.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2008/02/29/1086443.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/1086443.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/1086443.html</trackback:ping><description><![CDATA[<p>今天由于想找Firefox下的一个Google Docs插件，结果找到了GoogleDocListUploader，基于Google的Doc List API写的一个实例程序。<a href="http://code.google.com/support/bin/answer.py?answer=86805&amp;topic=12022" target="_blank">这里</a>有一篇讲解代码和设计的文章，虽然是个没有难度的工具，但作者的介绍非常细心。</p> <p>有三个地方给我留下了印象:</p> <ol> <li>使用Mutex控制程序只有一个的实例；<br>Mutex mutex = new Mutex(true, "Local\\DocListUploader", out firstInstance);<br>//Local保证了操作系统切换到其它用户身份登录时，可以开启程序的新实例</li> <li>利用注册表操作向Windows Shell中添加右键菜单项；</li> <li>Inter-Process Communication（进程间通信）<br>这是以前自己做WinForms时的弱项，.NET 2.0提供了IPC机制，找时间学习一下。<br>//主进程监听后续进程<br>public void ListenForSuccessor()<br>{<br>&nbsp;&nbsp;&nbsp; IpcServerChannel serverChannel = new IpcServerChannel("DocListUploader");<br>&nbsp;&nbsp;&nbsp; ChannelServices.RegisterChannel(serverChannel, false);<br><br>&nbsp;&nbsp;&nbsp; RemoteMessage remoteMessage = new RemoteMessage(this);<br>&nbsp;&nbsp;&nbsp; RemotingServices.Marshal(remoteMessage,"FirstInstance");<br>&nbsp;&nbsp;&nbsp; <br>}<br>//后续进程通知主进程<br>public static void NotifyPredecessor(string file)<br>{<br>&nbsp;&nbsp;&nbsp; IpcClientChannel clientChannel = new IpcClientChannel();<br>&nbsp;&nbsp;&nbsp; ChannelServices.RegisterChannel(clientChannel, false);<br><br>&nbsp;&nbsp;&nbsp; RemoteMessage message = (RemoteMessage) Activator.GetObject(typeof(RemoteMessage), <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<font color="#ff0000"><strong>ipc</strong></font>://DocListUploader/FirstInstance");<br><br>&nbsp;&nbsp;&nbsp; if (!message.Equals(null))<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message.SendMessage(file);<br>&nbsp;&nbsp;&nbsp; }<br>}</li></ol><img src ="http://www.cnblogs.com/yicone/aggbug/1086443.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47988/" target="_blank">Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印: 十二月第二周</title><link>http://www.cnblogs.com/yicone/archive/2007/12/16/997077.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 16 Dec 2007 15:16:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/12/16/997077.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/997077.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/12/16/997077.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/997077.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/997077.html</trackback:ping><description><![CDATA[这周主要的工作任务是准备一台Linux服务器, google了好几百次, 在路由器, Tomcat, Linux间周旋. 走了些弯路, 比如先在Fedora Core 5上尝试, 但迫于自己水平有限, 不能成功编译Reltek 6169的驱动程序, 所以连不上网络, 剩下的工作也就无法继续; 还有后来在没有经过领导认可的情况下, 在Ubuntu上准备好了环境, 但没有被认可, 虽然由于Ubuntu相对易操作, 使我能积累一些问题相关的经验, 从而为之后在Fedora 8上的工作做好铺垫, 但是先斩后奏的工作方式一定不能重新上演.<br />
由于明年初要和韩国来的同事一起工作一段时间, 所以英语又成为学习的重点, 希望自己能抛开以前的"不良记录", 把这项挑战作好.<br />
<br />
<img src ="http://www.cnblogs.com/yicone/aggbug/997077.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47987/" target="_blank">预测：Twitter最可能收购的十家公司</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印: 十一月第四周</title><link>http://www.cnblogs.com/yicone/archive/2007/12/10/988776.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 09 Dec 2007 16:10:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/12/10/988776.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/988776.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/12/10/988776.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/988776.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/988776.html</trackback:ping><description><![CDATA[(发现很轻易的就把十一月的三个星期丢掉了, 仅凭着模糊的记忆追述一点点痕迹)<br>这周回顾了一些Python的基础知识, 重温了<em>Dive Into&nbsp; Python.<br></em>分别在Enterprise Library中的新组件, 函数式编程和NDepend上, 花了一点点无计划的时间投入, 因为没有明确目的, 或者没有切实"需求", 没有"产出物", 所以收获甚微!<br>NDepend中的CQL确实是个好的创意, 把代码抽象得看作有关联的数据源, 这对程序员分析已有代码提供了能带来灵感的工具.<img src ="http://www.cnblogs.com/yicone/aggbug/988776.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印: 十二月第一周</title><link>http://www.cnblogs.com/yicone/archive/2007/12/09/988748.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 09 Dec 2007 15:54:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/12/09/988748.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/988748.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/12/09/988748.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/988748.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/988748.html</trackback:ping><description><![CDATA[本周被召回到本部工作. 离开了已经适应的工作环境和熟悉的同事. <br>三天的时间内, 主要熟悉了将要使用的报表工具的文档, 搭建了网络办公环境, 以及为搭建报表工具所用的服务器环境进行知识预备和工具准备.<br>自己对新环境的适应能力真的很强:) 多亏有通畅的网络吧, 让我可以和过往的许多老同事愉快的交流, 否则适应的脚步会放慢很多吧.<br>明天开始搭服务器环境, 预祝自己顺利.<img src ="http://www.cnblogs.com/yicone/aggbug/988748.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47985/" target="_blank">杰克逊悼念仪式或成史上最大规模Web活动</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>对笔记的追逐</title><link>http://www.cnblogs.com/yicone/archive/2007/11/20/965761.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Tue, 20 Nov 2007 07:22:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/20/965761.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/965761.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/20/965761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/965761.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/965761.html</trackback:ping><description><![CDATA[<p>这两天整理了工作以来所有的笔记. 虽然少得可怜, 但了胜于无啊. 笔记的作用就是为了防止忘却吧, 沿着这个目的, 我想抽出很少的时间来回顾一下过去的资料, 加深一下对笔记内容的印象.<br />
今天先回顾<em>Visual Sutdio项目结构和项目设置的最佳实践</em>. (原文出处没留下, 以后笔记的时候注意)</p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">1.&nbsp; <span style="color: red">总是以4级警告建立项目</span>（图略）。</p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">10. <span style="color: red">所有程序集应该使用相对路径引用</span>。 </p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">12. <span style="color: red">避免多模块的程序集。</span></p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">17.&nbsp; <span style="color: red">避免使用显式代码来排除方法(#if#endif)，而是使用条件方法</span>。</p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">19.&nbsp; <span style="color: red">链接一个包含所有解决方案级信息的全局共享文件</span>（图略）。&nbsp; </p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">22.&nbsp;<span style="color: red"> 总是对程序集签名，包括客户端应用程序</span>。</p>
<p style="font-size: 10pt; margin: 0in; font-family: 微软雅黑">23.&nbsp; 总是使用项目的SNK文件对互操作程序集签名（图略）。<br />
<br />
以上是有些意识的条款, 但却不知其所以然, 尤其对在19条中提到的文件该怎样写, 完全没有想法.<br />
这证明了笔记是失败的, 还是当初把笔记当成了目的? 切记, 笔记能辅助理解和记忆, 但不能替代理解和掌握!</p>
 <img src ="http://www.cnblogs.com/yicone/aggbug/965761.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47984/" target="_blank">《商业周刊》:Mozilla的志愿者开发模式被复制</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：十一月三日</title><link>http://www.cnblogs.com/yicone/archive/2007/11/03/948408.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sat, 03 Nov 2007 14:05:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/03/948408.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/948408.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/03/948408.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/948408.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/948408.html</trackback:ping><description><![CDATA[三年了，第一次踢球，还进了一颗:)<br />
<img src ="http://www.cnblogs.com/yicone/aggbug/948408.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47977/" target="_blank">Mono 的Virtual PC 虚拟机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：九月第一周、第二周</title><link>http://www.cnblogs.com/yicone/archive/2007/11/02/947144.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 02 Nov 2007 08:31:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/02/947144.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/947144.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/02/947144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/947144.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/947144.html</trackback:ping><description><![CDATA[在一家很大的测试外包公司做了两周Orcas DTG组的测试。<br />
了解了MS手动测试的流程，接触了与以往不一样的工作场景和很好的工作氛围，也认识了些新朋友。<br />
对VSTS产品家族增加了认识。在Longhorn上配置Sharepoint+SSRS+TFS花了我两天多的时间，印象很深刻。产出了一份那个Case的PDF文档留给了同事，有些骄傲和成就感:)<br />
这两周的性价比非常高，虽然加了不少班，但物质和非物质的收获都比预想的多:)
<img src ="http://www.cnblogs.com/yicone/aggbug/947144.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：九月第三周、第四周</title><link>http://www.cnblogs.com/yicone/archive/2007/11/02/947133.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 02 Nov 2007 08:22:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/02/947133.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/947133.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/02/947133.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/947133.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/947133.html</trackback:ping><description><![CDATA[来到新公司上班。<br />
借着一开始没什么任务，学了些XPath基础，对自己以后一定很有帮助。<br />
认识了很多新面孔，比较遗憾的是，有位技术和大局观都很好的哥们，在刚结识不走，就要离开公司了。
<img src ="http://www.cnblogs.com/yicone/aggbug/947133.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：十月第一周、第二周</title><link>http://www.cnblogs.com/yicone/archive/2007/11/02/947122.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 02 Nov 2007 08:18:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/02/947122.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/947122.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/02/947122.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/947122.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/947122.html</trackback:ping><description><![CDATA[开始韩语学习。很奇怪的语言，有些兴趣去学，但又担心因此更给自己不去学英语的理由，而且用途远远比不上英语。不知道是不是自己现在太过功利了:(<br>借着Code Review的机会，把正则表达式巩固了一下，以后还是要多多实践，让其深入骨髓（呵呵，说话太狠了）。<br>用扩展FxCop规则，VS Addin插件的方式实现了一部分简单的Code Review工作，本来还准备尝试用下载的VS SDK编写一些VS Package,结合正则表达式做些更复杂的代码规范检查，但在无聊又极费眼的Code Review工作完成之前，没有时间去玩了，只好放弃:)<img src ="http://www.cnblogs.com/yicone/aggbug/947122.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：十一月第一周</title><link>http://www.cnblogs.com/yicone/archive/2007/11/02/947076.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 02 Nov 2007 07:51:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/02/947076.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/947076.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/02/947076.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/947076.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/947076.html</trackback:ping><description><![CDATA[从ASP.NET AJAX Extension和AJAX Future开始进入ASP.NET和Web开发的世界。急行军注定会有泡沫，不管自己如何自满于这样的方式，抽空还是要重构基础。<br>本周效率不太高，零星的学习和弥补了一些其他知识，但没有总结，只好祈祷在将来用到的时候能回想起来:)<br>对韩语的学习从第一节课的新鲜到第三节开始的抵触，再到第五节结束后重新生出的兴趣，应该说是经历了很大的心里转折。这个经历应该是利大于弊。<br>下周开始会参加几个有趣的培训，再次告诫自己，一定要珍惜现在很好的学习机会。<img src ="http://www.cnblogs.com/yicone/aggbug/947076.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印：十月第三周、第四周</title><link>http://www.cnblogs.com/yicone/archive/2007/11/02/947034.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 02 Nov 2007 07:34:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/11/02/947034.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/947034.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/11/02/947034.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/947034.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/947034.html</trackback:ping><description><![CDATA[了解javascript，初读《javascript高级编程》，收获较大，补充了很多Web开发的基础；<br />
尝试一些javascript编辑器和调式工具，firefox, dreamweaver,&nbsp;Apanta(+firefox_plugin), visual studio 2008 beta2, Antechinus, Notepad++，各有特点,还需要在实践中继续考评。另外发现SharpDevelop居然没有很好的支持javascript的编写，感到很意外:) 
 <img src ="http://www.cnblogs.com/yicone/aggbug/947034.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>周末学习总结</title><link>http://www.cnblogs.com/yicone/archive/2007/07/08/810461.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 08 Jul 2007 12:05:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/07/08/810461.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/810461.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/07/08/810461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/810461.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/810461.html</trackback:ping><description><![CDATA[<p>&nbsp;了解了C# 3.0的各项新特性； 
<ul>
    <li>自动属性 public string Name{get;set;}</li>
    <li>匿名类型 new{}</li>
    <li>对象初始化器 new{Name=""}</li>
    <li>扩展方法 static class{static void Method(this Type type){;}}</li>
    <li>lambda表达式 (c =&gt; c &gt;= 26)</li>
    <li>隐式类型局部变量 var</li>
    <li>IEnumbrable&lt;t&gt;.Where books.Where(book =&gt; book.Name == "").Select(book =&gt; book.Price)</li>
    <li>查询表达式 from book in books where book.Name == "" select book.Price</li>
</ul>
</p>
<p>理解了LINQ与C# 3.0引入的各项新特性之间的关系<br />
<a href="http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx?loc=zh">http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx?loc=zh</a><br />
<br />
<span class="todo">todo:有关LINQ表达式树的内容<br />
<a href="http://blog.joycode.com/scottgu/archive/2007/04/09/100744.aspx">http://blog.joycode.com/scottgu/archive/2007/04/09/100744.aspx</a></span><br />
<br />
一个防御式编程的类《Safe Method Caller》<br />
<a href="http://www.codeproject.com/useritems/SafeMethodCaller.asp">http://www.codeproject.com/useritems/SafeMethodCaller.asp</a> </p>
<ul>
    <li>利用了委托和线程异步调用，处理了调用超时、异常、出错三种情况，不能处理调用导致错误操作、等情况；</li>
    <li>介绍了一个很有用的track，<strong>防止步进调试导致调用超时</strong> <span class="todo">todo:再深入看一下</span></li>
</ul>
<p>了解了简单的抓取网页局部内容的方法 HttpWebRequest WebResponse.GetStream<br />
<br />
《Bat file compiler》<br />
<a href="http://www.codeproject.com/article.asp?tag=40578640609339266">http://www.codeproject.com/article.asp?tag=40578640609339266</a><br />
了解了简单的修改二进制文件局部bytes的方法<br />
<br />
.NET中使用钩子的类 <br />
<a href="http://www.codeproject.com/article.asp?tag=40578640566939266">http://www.codeproject.com/article.asp?tag=40578640566939266</a><br />
<br />
简化创建 WindowsService 的类库<br />
<a href="http://www.codeproject.com/article.asp?tag=40578640567439266">http://www.codeproject.com/article.asp?tag=40578640567439266</a><br />
此方法还使得WindowsService更容易调试，另外 <span class="todo">todo:读《HybridService: Easily Switch Between Console Application and Service》<br />
<a href="http://www.codeproject.com/article.asp?tag=40578640565539266">http://www.codeproject.com/article.asp?tag=40578640565539266</a></span><br />
<br />
《<strong>Bat file compiler</strong>》<br />
<a href="http://www.codeproject.com/article.asp?tag=40578640578539266">http://www.codeproject.com/article.asp?tag=40578640578539266</a><br />
展示了CsharpCodeProvider的应用，生成一个.NET exe，将bat文件作为资源加入程序集。exe在运行时解出bat文件，然后在新进程上运行之。<br />
<br />
<span class="todo">todo:SubVersion 演示《Version Control for the Standalone Programmer - Part 1 》<br />
<a href="http://www.codeproject.com/article.asp?tag=40578642571939266">http://www.codeproject.com/article.asp?tag=40578642571939266</a><br />
</span><br />
</p>
<p>下一步学习的范围<br />
ASP.NET 2.0基础<br />
思考如何结合IronPython改进编程效率及解决问题<br />
思考DLINQ技术应用后的开发流程<br />
<span class="todo">todo:再次尝试WPF</span><br />
学习单元测试，提高编码效率（间接过程，因为减少了代码调试的时间）<br />
防御式编程学习、尝试<br />
寻找优秀的正则表达式教学资料<br />
寻找优秀的XPATH教学资料<br />
学习数据库的索引技术、触发器<br />
<span class="todo">todo:继续研究SharpDevelop的架构</span> </p><img src ="http://www.cnblogs.com/yicone/aggbug/810461.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47969/" target="_blank">新浪邮箱大本营粉墨登场！Sina.cn开放注册</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>&amp;ldquo;蜀道难，难于上青天&amp;rdquo;</title><link>http://www.cnblogs.com/yicone/archive/2007/07/05/807162.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Thu, 05 Jul 2007 06:50:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/07/05/807162.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/807162.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/07/05/807162.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/807162.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/807162.html</trackback:ping><description><![CDATA[<p>在微软平台上，想追求新鲜是越来越不容易了！</p> <p>昨晚在家，想试一把WPF，到微软网站上去下载orcas最新的版本，发现竟有8个img文件需要下载。想这将来卸载时，也要花不少时间吧，于是就准备下那个base image ，联合这8个image一起装在Virtual PC，下了大概百分之六，也没信心了。算了吧，还是继续看别人写的blog来意淫吧：）真佩服那些坚持下载和安装的家伙。</p> <p>放弃之后不太甘心，就把兴趣转向IronPython。先是想在UliPad中配置出对IronPython的支持，试了一会儿不得要领，回想起以前试过的一个SharpDevelop的扩展IronPython Binding，跑去其在CodePlex.com的主页一看，还停留在当初那个不成气候的状态下。无意中看到了FarPy GUIE项目，这是一个窗体设计器，能生成C#，VB，IronPython的代码，对于体验IronPython的WinForm开发应该够用了，虽然它不怎么好用。</p> <p>此刻我正在修改安装VS2005，以支持C++项目，这个过程已经进行了20多分钟了，还没有立刻结束的迹象。我这样做的起因是，为了能在VS2005中用IronPython开发WinForm或ASP.NET，我安装了Visual Studio SDK 4.0，但编译包含IronPython支持的那个Sample时失败，错误消息是四个CTC有关的错误，我不明白CTC的含义，于是跑到MSDN 论坛里去搜，专家告诉说，那是因为这个项目中有些东西依赖C++的一些东西，因此...</p> <p>我不过就是想尝尝鲜，难得的一些自由时间全部捐献给各种工具的下载、安装、配置和排错！尝鲜的成本如此之高，叫我怎能不心生怨言。</p> <p>马上就装完了，也不继续发牢骚了，但愿其他人不要有我相似的遭遇。</p> <img src ="http://www.cnblogs.com/yicone/aggbug/807162.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47968/" target="_blank">IE市场份额首次跌破60%</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>FileSystemWatcher Tips(翻译)</title><link>http://www.cnblogs.com/yicone/archive/2007/04/29/732562.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 29 Apr 2007 09:19:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/04/29/732562.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/732562.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/04/29/732562.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/732562.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/732562.html</trackback:ping><description><![CDATA[原文：<a href="http://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx">http://weblogs.asp.net/ashben/archive/2003/10/14/31773.aspx</a> <br />
<br />
<ol>
    <li>
    <div style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span lang="EN-US" style="font-family: arial"><span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;</span></span><span style="font-family: 宋体">恶意程序可能通过得到对这个组件所监视的文件夹的访问，进而制造一些这个组件不能管理的变化（？），这可能导致缓冲去溢出或其他破坏</span><span lang="EN-US" style="font-family: arial"><o:p></o:p></span></div>
    <li>
    <div style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span style="font-family: 宋体">小心重复去激发事件<span lang="EN-US"><o:p></o:p></span></span><br />
    <span style="font-family: 宋体">默认情况下，公开的事件自动调用</span><span lang="EN-US" style="font-family: arial">OnChanged</span><span style="font-family: 宋体">，</span><span lang="EN-US" style="font-family: arial">OnCreated</span><span style="font-family: 宋体">等方法，所以要避免显示的添加</span><span lang="EN-US" style="font-family: arial">event handler.</span><br />
    <span style="font-family: 宋体">处理一个文件操作导致激发改组件多个事件的情况<span lang="EN-US"><o:p></o:p></span></span><br />
    <span lang="EN-US" style="font-family: wingdings">l<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">设置一个</span><span lang="EN-US" style="font-family: arial">flag</span><span style="font-family: 宋体">，采取先到先服务的策略；</span><br />
    <span lang="EN-US" style="font-family: wingdings">l<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">设置通知过滤器；</span><span lang="EN-US" style="font-family: arial">Noti</span><span lang="EN-US" style="font-family: 宋体">fyFilter</span></div>
    <li style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span lang="EN-US" style="font-family: 宋体">CD,DVD等媒体文件，因为时间戳和属性不能修改，所以该组件不能监视它们</span><span lang="EN-US" style="font-family: arial"><o:p></o:p></span>
    <li>
    <div style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span style="font-family: 宋体">设置<span lang="EN-US">filter为&#8220;&#8221;，效果是监视所有文件，包括隐藏文件！（*.*应该有同样的效果吧？）</span></span><span lang="EN-US" style="font-family: arial"><o:p></o:p></span></div>
    <li style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span style="font-family: 宋体">设置该组件的内部缓冲区的大小<span lang="EN-US"><o:p></o:p></span></span><br />
    <span style="font-family: 宋体">默认是</span><span lang="EN-US" style="font-family: arial">4KB,</span><span style="font-family: 宋体">能大约监视</span><span lang="EN-US" style="font-family: arial">80</span><span style="font-family: 宋体">个文件</span><br />
    <span style="font-family: 宋体">设置大小的方法：修改</span><span lang="EN-US" style="font-family: arial">InternalBufferSize</span><span style="font-family: 宋体">属性</span><br />
    <span style="font-family: 宋体">缓冲区溢出的危害：<span lang="EN-US"><o:p></o:p></span></span><br />
    &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 宋体">由于组件丢失了反映文件夹变化的堆栈，它将可能仅提供一个</span><span lang="EN-US" style="font-family: arial">blanket</span><span style="font-family: 宋体">的通知</span><span lang="EN-US" style="font-family: arial"><o:p></o:p></span><br />
    &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 宋体">增加缓冲区占用非页面内存并且不能被交换到磁盘上，这意味着要保证缓冲区尽可能的小<span lang="EN-US"><o:p></o:p></span></span><br />
    <span style="font-family: 宋体">估算合适大小的方法：<span lang="EN-US"><o:p></o:p></span></span><br />
    &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 宋体">每个事件占用缓冲去的</span><span lang="EN-US" style="font-family: arial">16bytes</span><span style="font-family: 宋体">；加上足够的字节去存储</span><span lang="EN-US" style="font-family: arial">Unicode</span><span style="font-family: 宋体">文件名。</span><span lang="EN-US" style="font-family: arial"><o:p></o:p></span><br />
    &nbsp;&nbsp;&nbsp;&nbsp;<span lang="EN-US" style="font-family: arial">Win</span><span lang="EN-US" style="font-family: 宋体">2000下的建议增量是4KB，这是对应于操作系统的默认页面大小，对于其他操作系统，建议的增量也是对应到默认的页面大小</span><span lang="EN-US" style="font-family: arial"><o:p></o:p></span><br />
    &nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 宋体">不知道默认页面大小的值时，最安全的方法是调整到初始大小的双倍（按这个算法，应该是</span><span lang="EN-US" style="font-family: arial">8KB</span><span style="font-family: 宋体">喽），</span><span lang="EN-US" style="font-family: arial">This will maintain the original interval needed for your operating system.</span><span style="font-family: 宋体">（？）</span>
    <li style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt"><span lang="EN-US"><span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">&nbsp;</span></span><span style="font-family: 宋体">使用<span lang="EN-US">IncludeSubdirectories属性</span></span><br />
    <span style="font-family: 宋体">改变文件可能会同时产生一个文件夹变化的通知。因为文件夹保存着每个文件的一些类型信息，如修改时间，属性等等。不需要监视这种变化时，设置此属性为<span lang="EN-US">false,这样并不会放弃对子文件夹中的文件的监视</span></span><span lang="EN-US" style="font-family: arial">&nbsp;<o:p></o:p></span>
    <li><span style="font-size: 10.5pt; font-family: 宋体">任何需要关闭该组件的时候，设置<span lang="EN-US">EnableRaisingEvents属性，避免不必要的资源浪费</span></span> </li>
</ol> <img src ="http://www.cnblogs.com/yicone/aggbug/732562.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>在Office应用程序中显示MessageBox或Modal Form</title><link>http://www.cnblogs.com/yicone/archive/2007/03/07/667289.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Wed, 07 Mar 2007 13:56:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/03/07/667289.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/667289.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/03/07/667289.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/667289.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/667289.html</trackback:ping><description><![CDATA[摘要: 在一个WinForm程序中,MessageBox有如下特点:存在一个与之相关的"宿主"窗体,即MessageBox在此窗体及其上的控件的事件处理程序中弹出,并且,当MessageBox关闭后,焦点自动切换到"宿主"窗体.Model Form(模态窗体)有相同的特点.&nbsp;&nbsp;<a href='http://www.cnblogs.com/yicone/archive/2007/03/07/667289.html'>阅读全文</a><img src ="http://www.cnblogs.com/yicone/aggbug/667289.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>用DataTable.Merge()解决了一个排序问题</title><link>http://www.cnblogs.com/yicone/archive/2007/03/02/662209.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Fri, 02 Mar 2007 13:24:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2007/03/02/662209.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/662209.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2007/03/02/662209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/662209.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/662209.html</trackback:ping><description><![CDATA[<p>首先明确一点，<strong>DataTable不支持排序</strong>。<br>在一个DataTable(dt)中已经存在无序数据，要实现排序，我想到了两个方法：</p>
<p><em>方法一</em>：<br>可以先构造一个列表(list),按排序顺序存储dt主键列的值; 然后主要是利用DataTable.Merge方法<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;">StrongTypedDataTable&nbsp;tempDt;<br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">使tempDt具有dt的Schema&nbsp;和&nbsp;Constraint</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">tempDt&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;StrongTypedDataTable();<br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">foreach</span><span style="color: #000000;">(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;key&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;list)<br></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">{<br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">如果某些列不允许空,则NewRow()-&gt;赋key值-&gt;再Add(dr).</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;tempDt.Rows.Add(key,&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/dot.gif">.);<br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">}<br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;"></span><span style="color: #008000;">//</span><span style="color: #008000;">合并后将维持tempDt中的顺序</span><span style="color: #008000;"><br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #008000;"></span><span style="color: #000000;">tempDt.Merge(dt);<br></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">dt&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;tempDt;</span></div>
</p>
<p><em>方法二</em>：<br>思路：DataView支持排序，而DataView对象有方法<strong>ToTable</strong>，没有尝试过，已经理解ToTable原理或有机会用到的人给个答案吧:)</p>
<p>p.s 猪年第一篇post.</p>  <img src ="http://www.cnblogs.com/yicone/aggbug/662209.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>IronPython初体验</title><link>http://www.cnblogs.com/yicone/archive/2006/12/17/594737.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 17 Dec 2006 06:57:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2006/12/17/594737.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/594737.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2006/12/17/594737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/594737.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/594737.html</trackback:ping><description><![CDATA[<p>总结一下这几天来利用业余时间对IronPython的了解（还谈不上学习）</p> <p>这个项目的一个目标是作为一个成功案例，帮助其它的动态语言移植到.NET平台上，以享受CLR提供的各项便利和大一统的Common Library（这是动态语言的短处）。</p> <p>动态语言的好处：促成了一个交互式的开发周期，促进了敏捷开发，在一个探险式的开发过程中，给予程序员更多的乐趣</p> <p>Python的好处：支持不同的编程范式：面向对象，结构化编程，函数式编程，并且对于面向方面的编程有一些支持；稀疏的语法带来了更好的可读性，相比一些结构化语言，有更少的句法构造，大量使用英文关键字代替标点符号，消除了许多Line Nosie（<b>James Schementi说，</b>C#中的Line Noise是为了静态类型和显示的声明，但客观上影响了可读性，这么说来自己明天的确是制造了许多的噪音:)），通过编译器/解释器对动态类型的跟踪，使程序员少了许多的显示声明工作。</p> <p>IronPython的编译过程：</p><a href="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/IronPython_D2FC/fig041.gif" atomicselection="true"><img height="58" src="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/IronPython_D2FC/fig04.gif" width="240"></a>  <p>IronPython处理C#异常和Python异常冲突的解决方法是，自动转换异常到程序中catch想要的类型(?)</p> <p>还有一个感兴趣的内容是，<a href="http://blogs.msdn.com/aaronmar/default.aspx">Aaron Marten</a>提到，可以用IronPython代替VB来写VS的宏。</p> <p>&nbsp;</p> <p>一些具体的语法：</p> <p>import pyevent</p> <p>pyenent.make_event()</p> <p>if elif</p> <p>try except</p> <p>函数：</p> <p>isinstance(obj, Button)</p> <p>hasattr</p> <p>getattr</p> <p>LoadXaml</p> <p>&nbsp;</p> <p>参考资料：</p> <p><a href="http://blogs.msdn.com/aaronmar/archive/2006/02/16/...">http://blogs.msdn.com/aaronmar/archive/2006/02/16/...</a></p> <p><a href="http://msdn.microsoft.com/msdnmag/issues/06/10/CLR...">http://msdn.microsoft.com/msdnmag/issues/06/10/CLR...</a></p> <p>IronPython的Tutorial</p><img src ="http://www.cnblogs.com/yicone/aggbug/594737.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47959/" target="_blank">Google对手机搜索进行优化升级</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Microsoft Expression Blend 1.0 Beta 1</title><link>http://www.cnblogs.com/yicone/archive/2006/12/05/583343.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Tue, 05 Dec 2006 14:21:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2006/12/05/583343.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/583343.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2006/12/05/583343.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/583343.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/583343.html</trackback:ping><description><![CDATA[<p>if you want to enable the 180-day license, please enter the product key as follows:</p> <p><strong>YCQGP-CFRGF-933KK-P6YKC-YFHMP</strong></p><img src ="http://www.cnblogs.com/yicone/aggbug/583343.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>部署时附带安装MSDE</title><link>http://www.cnblogs.com/yicone/archive/2006/12/04/581838.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Mon, 04 Dec 2006 10:52:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2006/12/04/581838.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/581838.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2006/12/04/581838.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/581838.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/581838.html</trackback:ping><description><![CDATA[<p><a href="http://sannikodaisy.spaces.live.com/blog/cns!EA71E...">http://sannikodaisy.spaces.live.com/blog/cns!EA71E...</a></p> <p><a href="http://blog.joycode.com/felix/articles/32791.aspx">http://blog.joycode.com/felix/articles/32791.aspx</a></p> <p><a href="http://blog.joycode.com/felix/archive/2004/09/07/3...">http://blog.joycode.com/felix/archive/2004/09/07/3...</a></p> <p><a href="http://blog.csdn.net/koenemy/archive/2006/09/29/13...">http://blog.csdn.net/koenemy/archive/2006/09/29/13...</a></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>Q&amp;S</p> <ol> <li>MSDE的安装:<br>MSDE如果默认安装的话,实例名和机器名是一致的,同时系统的SA密码会被设置为空.如果要对其做一些修改,可以通过修改目录下的SETUP.INI文件来实现,其中主要涉及以下几项:<br>[Options]<br>SECURITYMODE=SQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //登陆方式,SQL表示SQL登陆<br>INSTANCENAME=singlewks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //实例名<br>DISABLENETWORKPROTOCOLS=1&nbsp;&nbsp;&nbsp; //网络可访问性,0表示网络用户可访问,1表示不可以<br>DATADIR="c:\singlewks\Data"&nbsp;&nbsp;&nbsp;&nbsp; //数据文件存放位置<br>SAPWD=your_pwd&nbsp;&nbsp;&nbsp;&nbsp; //SA密码</li> <li>对MSDE的管理:<br>由于MSDE没有SQL SERVER 2000 那样的管理界面,所以对于它的管理也就比较麻烦.不过我们可以通过OSQL工具对其进行管理.具体的操作,大家可以参考网上的一篇文章:转自msdn&nbsp;&nbsp;<a href="http://www.cnblogs.com/hl13571/">hl13571 </a>的 Blog :<a href="http://hl13571.cnblogs.com/archive/2006/02/07/326362.html">http://hl13571.cnblogs.com/archive/2006/02/07/326362.html</a><br>例如:<br>osql -U sa -S enjoyai\lotto -Q "sp_password NULL,123,sa"<br>表示用sa登录, 登录到实例enjoyai\lotto,执行命令 sp_password NULL,123,sa</li></ol> <img src ="http://www.cnblogs.com/yicone/aggbug/581838.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>脚印: 年末</title><link>http://www.cnblogs.com/yicone/archive/2006/12/04/581241.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Mon, 04 Dec 2006 02:58:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2006/12/04/581241.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/581241.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2006/12/04/581241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/581241.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/581241.html</trackback:ping><description><![CDATA[<p><a href="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/39bba87f4503_9A99/GalleryPlayer-19_Sydney%5B4%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/39bba87f4503_9A99/GalleryPlayer-19_Sydney_thumb%5B2%5D.jpg" width="240" align="right" border="0"></a> </p> <p>又一年就要结束了,有点不甘心,时间就这样匆匆走了,就想着寻点可以告慰年轻岁月的事,来减少些许遗憾.常日里多半苦恼的事,不是工作繁琐,不是人境逼仄,既不是情感,也不是思乡,经济压力和身体疲惫也都算不上,最让人无所适从的是那浩如烟海的知识和信息,层出不穷的技术和概念.当然,这决定于看问题的深度,钱钟书到了美国的国家图书馆,慨叹说这世界上原来有那么多不需要读的书.我隐约相信,知识和道理都是相通的,也隐约地相信,像钱老这样的鸿儒,言语是由衷的.但拿这点隐约的感悟来应对自己的苦恼,显然还不能解决问题.看问题的本质是需要经验和悟性的,以己之年轻和平凡,陷入苦恼也理所当然:)</p>  <img src ="http://www.cnblogs.com/yicone/aggbug/581241.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>06车展（模场）</title><link>http://www.cnblogs.com/yicone/archive/2006/12/03/580825.html</link><dc:creator>yicone</dc:creator><author>yicone</author><pubDate>Sun, 03 Dec 2006 13:53:00 GMT</pubDate><guid>http://www.cnblogs.com/yicone/archive/2006/12/03/580825.html</guid><wfw:comment>http://www.cnblogs.com/yicone/comments/580825.html</wfw:comment><comments>http://www.cnblogs.com/yicone/archive/2006/12/03/580825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/yicone/comments/commentRss/580825.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/yicone/services/trackbacks/580825.html</trackback:ping><description><![CDATA[<a href="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/06_11AC3/100_5297%5B10%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" src="http://www.cnblogs.com/images/cnblogs_com/yicone/WindowsLiveWriter/06_11AC3/100_5297_thumb%5B7%5D.jpg" width="240" align="right" border="0"></a> <p>寒风中走进车展,刚刚逛了两个展厅,就到中午了,好多车模都去补充能量了,留守的极少数车模成色不佳,就好像多加一会儿班可以弥补一下由于成色差异带来的收入差距:)这张没拍号,但不影响她表现气质. </p>  <img src ="http://www.cnblogs.com/yicone/aggbug/580825.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>