﻿<?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/idior/</link><description>SOA is an&amp;nbsp;integration solution.    SOA is message oriented first.The Key character of SOA is loosely coupled. SOA is enriched by creating composite apps.
</description><language>zh-cn</language><lastBuildDate>Tue, 07 Oct 2008 04:53:10 GMT</lastBuildDate><pubDate>Tue, 07 Oct 2008 04:53:10 GMT</pubDate><ttl>60</ttl><item><title>美国道富银行(State Street Bank)招聘信息</title><link>http://www.cnblogs.com/idior/archive/2008/06/16/1038348.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 16 Jun 2008 06:31:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2008/06/16/1038348.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/1038348.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2008/06/16/1038348.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/1038348.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/1038348.html</trackback:ping><description><![CDATA[<p><font face="Verdana">Princeton Financial Systems<br />
Senior Software Engineer&nbsp;&nbsp; Several<br />
Job Description:<br />
Reverse Engineer the current system, which is a huge portfolio accounting and management application with tens of million lines of C++ code. Help redesign the system with .Net technology and write either Reverse engineering document or technical design document of the new system. Develop the new system with .Net 3.0 (WPF, WCF). Communicate with both onsite and offshore resources. <br />
Requirements<br />
&#183;&nbsp;Experienced in big projects<br />
&#183;&nbsp;Strong computer background<br />
&#183;&nbsp;Experienced in C++ and windows programming (COM, Win32 SDK etc)<br />
&#183;&nbsp;Experienced in .Net programming<br />
&#183;&nbsp;Good at communication and teamwork<br />
&#183;&nbsp;Quick at learning<br />
&#183;&nbsp;Willing to write documents according to software engineering and project management<br />
&#183;&nbsp;Good English skill<br />
&#183;&nbsp;Positive thinking and good at relieving pressure</font></p>
<p><font face="Verdana">*Software Engineer / Senior Software Engineer&nbsp; several&nbsp; (for the Unicode project)<br />
Job Description<br />
Convert the current system to support Unicode. The current system is a huge portfolio accounting and management application with tens of million of lines of C++ code. <br />
Requirements<br />
&#183;&nbsp;Experienced in big projects *<br />
&#183;&nbsp;Strong computer background<br />
&#183;&nbsp;Experienced in C++ and windows programming (COM, Win32 SDK etc)<br />
&#183;&nbsp;Good at communication and teamwork<br />
&#183;&nbsp;Quick at learning<br />
&#183;&nbsp;Willing to write documents according to software engineering and project management<br />
&#183;&nbsp;Good English communication skill *<br />
&#183;&nbsp;Good at English reading and writing<br />
&#183;&nbsp;Positive thinking and good at relieving pressure<br />
<br />
公司是美国道富银行在杭州的全资子公司。待遇<font face="Verdana">还是不错的<font face="Verdana">。<br />
</font><font face="Verdana">有意者请<font face="Verdana">将简历发到我邮箱</font>。<font face="Verdana">如通过<font face="Verdana">我会通知到</font>杭州面试</font>。</font><br />
</font><a href="http://www.cnblogs.com/idior/admin/NXu@statestreet.com"></a><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#78;&#88;&#85;&#64;&#115;&#116;&#97;&#116;&#101;&#83;&#116;&#114;&#101;&#101;&#116;">NXU [at] StateStreet</a> [dot] com<br />
<br />
本信息有效期至2008年底</font></p>
<img src ="http://www.cnblogs.com/idior/aggbug/1038348.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42817/" target="_blank">[新闻]雅虎新闻首页改版，宽屏、共享、组件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Inside WCF Runtime</title><link>http://www.cnblogs.com/idior/archive/2007/11/25/971279.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sun, 25 Nov 2007 14:09:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/11/25/971279.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/971279.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/11/25/971279.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/971279.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/971279.html</trackback:ping><description><![CDATA[<p>WCF成功的一个重要原因在于它简单易用的编程模型。用户不用关心分布式应用的底层细节，仅仅通过定义一些ABC再设置一些特性（Attribute）就可以很方便的完成服务的开发与发布。但是当你在为你的服务类或方法添加一些诸如OperationContractAttribute与SeriveBehaviorAttribute等特性的时候，你有没有想过WCF框架最终是如何处理他们的？为什么仅仅通过一些特性的设置，我们就可以控制服务实例的生命周期，可以实现安全，事务？这篇文章就是献给那些想了解WCF框架在运行期究竟做了哪些工作的开发人员。我希望通过这篇文章让大家了解到WCF那么简单的编程模型最终是如何发挥功效的以及如何在各个层面扩展WCF的功能以满足特定的需求。</p>
<p><a href="http://www.cnblogs.com/idior/articles/971252.html" target="_blank">详细内容</a>&nbsp;</p>
<p>这篇文章用英语描述出于工作需要，敬请谅解。另外这篇文章要求您对WCF有相当程度的了解。</p>
 <img src ="http://www.cnblogs.com/idior/aggbug/971279.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42816/" target="_blank">[新闻]传阿里投资淘宝超40亿元 应对百度C2C</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>有谁准备参加10月份的MVP聚会？</title><link>http://www.cnblogs.com/idior/archive/2007/09/22/902694.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sat, 22 Sep 2007 10:40:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/09/22/902694.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/902694.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/09/22/902694.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/902694.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/902694.html</trackback:ping><description><![CDATA[如题，到时联系一下吧。<br />
<img src ="http://www.cnblogs.com/idior/aggbug/902694.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42815/" target="_blank">[新闻]传雅虎最快本月将宣布收购美国在线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>MVP聚会</title><link>http://www.cnblogs.com/idior/archive/2007/09/07/885562.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 07 Sep 2007 04:23:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/09/07/885562.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/885562.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/09/07/885562.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/885562.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/885562.html</trackback:ping><description><![CDATA[明天在上海的MVP聚会，不知道园子里有多少朋友会去？有机会大家见个面吧，请准备参加的朋友留个联系方式，如邮件，blog地址。<br />
<img src ="http://www.cnblogs.com/idior/aggbug/885562.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42814/" target="_blank">[新闻]周一美国股市科技股惨跌 纳综指创4年新低</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Practical .NET2 and C#2 翻译样章</title><link>http://www.cnblogs.com/idior/archive/2007/08/28/864595.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Tue, 28 Aug 2007 01:47:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/08/28/864595.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/864595.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/08/28/864595.html#Feedback</comments><slash:comments>64</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/864595.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/864595.html</trackback:ping><description><![CDATA[<p><a href="http://www.cnblogs.com/images/cnblogs_com/idior/WindowsLiveWriter/Pratical.NET2andC2_140C6/image.png" atomicselection="true"><img style="border: 0px none ;" alt="image" src="http://www.cnblogs.com/images/cnblogs_com/idior/WindowsLiveWriter/Pratical.NET2andC2_140C6/image_thumb.png" align="left" border="0" height="240" width="240" /></a> </p>
<p><strong>Practical .Net2 and C#2: Harness the Platform, the Language, the Framework (Paperback) </strong><br />
by <a href="http://www.amazon.com/exec/obidos/search-handle-url/002-5662381-8812836?%5Fencoding=UTF8&amp;search-type=ss&amp;index=books&amp;field-author=Patrick%20Smacchia">Patrick Smacchia</a> <a href="http://www.amazon.com/gp/product/customer-reviews/0976613220/ref=cm_cr_dp_all_top/002-5662381-8812836?ie=UTF8&amp;n=283155&amp;s=books#customerReviews"><img alt="" src="http://ec1.images-amazon.com/images/G/01/x-locale/common/customer-reviews/stars-4-5._V47081564_.gif" align="absbottom" border="0" height="12" width="64" /><img alt="34 customer reviews" src="http://ec1.images-amazon.com/images/G/01/x-locale/common/carrot._V47081519_.gif" align="absbottom" border="0" height="11" width="11" /> </a>(<a href="http://www.amazon.com/gp/product/customer-reviews/0976613220/ref=cm_cr_dp_all_top/002-5662381-8812836?ie=UTF8&amp;n=283155&amp;s=books#customerReviews">34 customer reviews</a>) </p>
<p>Translated by <a href="http://ninputer.cnblogs.com/" target="_blank">Shi fan</a>, <a href="http://idior.cnblogs.com/" target="_blank">Xu ning</a>,<a href="http://www.cnblogs.com/perhaps/" target="_blank">Tan yinghua</a>,<a href="http://allenlooplee.cnblogs.com/" target="_blank">Li yonglun</a> </p>
<p>&nbsp; </p>
<p>&nbsp; </p>
<p>&nbsp; </p>
<p>&nbsp; <br />
<br />
<br />
<strong>Most Helpful Customer Reviews</strong><br />
</p>
<a></a>
<p>6 of 6 people found the following review helpful: </p>
<p><img alt="" src="http://ec1.images-amazon.com/images/G/01/x-locale/common/customer-reviews/stars-5-0._V47081849_.gif" border="0" height="12" width="64" /> <strong>Excellant Introduction to Dot Net!!</strong>, March 9, 2006 </p>
<p>By&nbsp;<a href="http://www.amazon.com/gp/pdp/profile/A1QWTLPOOQ5WIG/ref=cm_cr_auth/002-5662381-8812836">Jay Balapa</a> (Chicagoland, IL) - <a href="http://www.amazon.com/gp/cdp/member-reviews/A1QWTLPOOQ5WIG/ref=cm_cr_auth/002-5662381-8812836?ie=UTF8&amp;sort%5Fby=MostRecentReview">See all my reviews</a> </p>
<p>There are three types of books which target Dot Net- <br />
1. Books Which exclusively deal with Framework and the Base Classes. <br />
2. Second are general purpose books which give very little detail on Framework but give more weight to implementation. <br />
3. Special purpose books which deal with Custom Control Development or ADO.net etc. <br />
This book has close to 75% of its focus on type1 and 25% on type2. <br />
Part1 gives a heavy weight introduction to the framework and PArt2 about c# and OOPS. Part3 has excellant chapters about Base Classes, Transactions and collections. I would have even preferred if PAtrick had skipped other chapter in Part 3 except for the chapters mentioned. But Part1 and Part2 is just worth the price of the book. <br />
This is an one stop shop for experienced Java and c++ programmers who are trying to know Dot Net and want to have some basic understanding on how to implement them. <br />
Existing Dot Net Programmer who has very little knowledge fundamentals of the platform or c# can also be helped by this book. <br />
Kudos to Patrick when there are many cookie cutter books he has come out with a book with deals with indepth knowledge and fundamentals of Dot Net. </p>
<p>&nbsp;</p>
<p>6 of 6 people found the following review helpful: </p>
<p><img alt="" src="http://ec1.images-amazon.com/images/G/01/x-locale/common/customer-reviews/stars-5-0._V47081849_.gif" border="0" height="12" width="64" /> <strong>Should Be On Every C# Programmer's Bookshelf</strong>, June 4, 2006 </p>
<p>By&nbsp;<a href="http://www.amazon.com/gp/pdp/profile/A1ANIZBJ2HP73P/ref=cm_cr_auth/002-5662381-8812836">Jeff Parish</a> (Oakland, CA, USA) - <a href="http://www.amazon.com/gp/cdp/member-reviews/A1ANIZBJ2HP73P/ref=cm_cr_auth/002-5662381-8812836?ie=UTF8&amp;sort%5Fby=MostRecentReview">See all my reviews</a> </p>
<p>With the arrival of .NET 2.0, I realized that my knowledge of the .NET platform needed some updating. In my quest for a good resource, I came upon this excellent book. It is made up of 3 parts divided in 24 chapters. <br />
The first part covers the .NET 2.0 platform, things such as CLR issues, threading, application build and deployment, security or interoperability with unmanaged code. This part is clear and to the point. I think it is worth the price of the book alone. <br />
The second part is on the C# 2.0 language. The description of all facets of the language is dense and detailed. For example, the author compares C# 2.0 anonymous methods and functional closures and explains how .NET generics work under the hood. <br />
The third part covers the .NET 2.0 framework as a whole (generic collections, ADO.NET 2.0, System.IO, System.Transactions, XML, Windows Form 2.0...). I appreciate the fact that each chapter provides great added value over the MSDN. The chapter on ASP.NET 2.0 is an excellent reference and the way it is organized makes it easy to understand how things really work. <br />
The Appendix B references all .NET 2.0 new features covered throughout the book and has been an invaluable source for me. <br />
This book was a pleasure to read. It is written effectively and concisely and all the code examples in the book are well structured and complete. Compared to other .NET books I have, the author did a superb job of collecting information that really matters. It met all of my expectations and I recommend this book to anyone interested in using .NET 2.0 for development. </p>
<p>&nbsp;</p>
<p>这是一本在微软MVP（最有价值专家）圈子里口口相传而流行起来的奇书。在我看来，本书与Core Java在Java图书中的地位极为接近。主要着眼点不是介绍语言特性本身，而是如何在实战环境下运用这些特性。代码取自实战，非常密集。而这正是《C# 入门经典》和许多平庸的C#图书非常缺乏的。作者是法国的一位微软MVP，法文版由O&#8217;Reilly法国公司出版，是法文.NET图书中的执牛耳者，据说销量占据了大半江山，非常惊人。英文版由一家小出版社出版（为什么美国O'Reilly不出呢？），营销方面可能受了一定影响，并没有重现在法国的奇迹。但是酒香不怕巷子深，在Amazon上也很快聚集了30多条评论，总计接近于5星。译者由国内的微软MVP组成，非常值得期待。<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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; ---图灵总编刘江先生</p>
<blockquote></blockquote>
<p>最近刚刚与博客园中的一些朋友合作翻译完了《Pratical .NET2 and C#2》一书，这本针对初级到中级开发人员的洋洋900页的书，对.NET 2.0的讨论不光详尽，而且深入浅出，中间还穿插了很多C#例码。可以说这是市面上介绍.NET 2.0最全面且非常有深度的一本书，其中涉及各个方面的话题，如CLR、类型系统、安全性、XML、Winform、ASP.NET、Remoting、进程线程与同步、事务、Webservices等等，每个话题的介绍都非常深入并且与.NET2.0紧密关联，不像以往的书仅仅是点到为止，在翻译这本书的过程中我也学到很多新的知识，而且在翻译过程中我和脑袋都在找工作，我们把它戏称为《.NET面试宝典》。尽管由于涉及话题较多，有些章节叙述的不是那么连贯，但是这本书不乏一些精彩章节，比如介绍CLR、进程线程与同步、Remoting以及反射的这些章节就非常精彩，很多内容在其他书中都不曾有过介绍。</p>
<p>&nbsp;<br />
下面准备陆续公布四个章节的试读样章，预计出版时间2007年11月。（之所以没有一次性公布而且没有在blog上发布全文皆是因为在blog中排版太费时间）<br />
<br />
<a href="http://www.cnblogs.com/Files/idior/Category.zip" target="_blank">Category</a><br />
<a href="http://www.cnblogs.com/idior/articles/864559.html" target="_blank"><br />
C#与NET实战 第四章 平台CLR（公共语言运行时）节选</a>&nbsp; <a href="http://www.cnblogs.com/Files/idior/Pratical%20Ch4.zip" target="_blank">第四章全文下载</a></p>
<p><a href="http://www.cnblogs.com/idior/articles/864806.html " target="_blank">C#与NET实战 第五章 进程、线程与同步 节选&nbsp;</a> <a href="http://www.cnblogs.com/Files/idior/Pratical%20Ch5.zip" target="_blank">第五章全文下载</a></p>
<a target="_blank" href="http://www.cnblogs.com/idior/articles/869204.html">C#与NET实战 第七章 反射、后期绑定与attribute 节选</a> <a target="_blank" href="http://www.cnblogs.com/Files/idior/Pratical%20Ch7.zip">第七章全文下载</a><br />
<a target="_blank" href="http://www.cnblogs.com/idior/articles/872380.html"><br />
C#与NET实战 第二十二章 .NET Remoting 节选</a> <a target="_blank" href="http://www.cnblogs.com/Files/idior/Pratical%20Ch22.zip">第二十二章全文下载</a>&nbsp; <br />
<p>翻译不足之处以及书中内容都欢迎大家提出意见。</p>
<img src ="http://www.cnblogs.com/idior/aggbug/864595.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42813/" target="_blank">[新闻]关于Firefox 3你不知道的八个功能</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Be evil or not?</title><link>http://www.cnblogs.com/idior/archive/2007/07/06/808967.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 06 Jul 2007 11:38:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/07/06/808967.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/808967.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/07/06/808967.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/808967.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/808967.html</trackback:ping><description><![CDATA[今天看了<a href="http://www.cnblogs.com/HeroBeast/archive/2007/07/06/808526.html">IT界的悲哀--做互联网，就要跳出互联网</a>回想起以前的一些感受，忍不住到首页上抱怨一把。<br>为什么在国内，能够赚钱的点子大多是些作恶的电子呢？恶心的脑白金，害人的网游，垃圾的3721，骗人的科研项目。天哪，为什么随便能想到的一些国内比较赚钱的项目大多是作恶的呢？<br>我承认那些人很有商业头脑，很牛，不过除了比较羡慕他们赚到的money之外，我对这些人是坚决鄙视的。你赚钱无可后非，为啥总是靠这些恶心的事情来发财呢？难道就不能在赚钱的时候做点贡献，做点美的事情？难道博客园要想赚钱就只能让园子里广告满天飞？不注册看不到文章，发不了评论？抑或是其他能想到的恶心的点子？似乎，在国内要想赚钱就变成了怎么想着法子恶心人了。<br>就算微软有点垄断，google也开始抄袭了，苹果徒有其表，但至少人家不是靠恶心人发的财吧，更别说IBM在发财的同时为计算机发展做出了多少贡献。难道就因为国内缺少核心技术就非得走有中国特色的路？抑或是人品问题？<br>或许是没有商业头脑，或许是太白了，不过我个人实在无法接受这种奇怪的现状。很久没发随笔了，忍不住抱怨一把，dudu觉得不合适就撤了吧。<br><br>（PS：Sogou输入法刚出来那会，我第一点想到的就是它会绑上什么工具栏广告之类的，后来发现没有，着实让我感动了一把，看来国内还是有不作恶的产品的。）<br><br>  <img src ="http://www.cnblogs.com/idior/aggbug/808967.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42812/" target="_blank">[新闻]阿里巴巴联手如家扩张电子商务</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>MVP Award July 2007</title><link>http://www.cnblogs.com/idior/archive/2007/07/02/803121.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 02 Jul 2007 06:21:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/07/02/803121.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/803121.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/07/02/803121.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/803121.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/803121.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自从开始忙着毕业答辩以后，就很少更新blog了，四月份的时候在dudu的推荐下，申请了七月份的MVP，今天终于收到了MS的邮件，也算是一份让我十分开心的大礼了<img src="http://www.cnblogs.com/CuteSoft_Client/CuteEditor/images/emteeth.gif" align="absmiddle" border="0">。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这段时间刚刚在公司入职，MVP的奖励算是对我的blog生涯的一个非常好的总结了。后面的时间将主要集中在本职工作中，并希望在.NET领域有更加深入的研究。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 虽然在最近的这段时间更新blog的频率会大大降低，但是我也会通过翻译一些.NET书籍与大家见面。之前翻译完的Pratical .NET 2.0和现在正在翻译的Programming WCF都是些不错的书，希望能对大家有所帮助。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在之后的工作中会更多地涉及到WPF，WCF，希望在后面的时间我能够更加深入地理解这些技术，再将这些理解发布到blog上。 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 感谢大家的支持，感谢cnblogs，感谢dudu，感谢cnblogs上的朋友，感谢CCTV，感谢MTV<img src="http://www.cnblogs.com/CuteSoft_Client/CuteEditor/images/emsmilep.gif" align="absmiddle" border="0"><br><img src ="http://www.cnblogs.com/idior/aggbug/803121.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42811/" target="_blank">[新闻]2008年10月7日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>征集译者</title><link>http://www.cnblogs.com/idior/archive/2007/01/29/633951.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 29 Jan 2007 13:57:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2007/01/29/633951.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/633951.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2007/01/29/633951.html#Feedback</comments><slash:comments>27</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/633951.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/633951.html</trackback:ping><description><![CDATA[现有一本英文书需要找人（2-4人）翻译，书名为Microsoft Visual Studio 2005 Unleashed是Sams公司的Unleashed系列图书之一，全书840多页，希望在5月底完成。<br><br>相关链接如下：<br>
<div><span><font size="2"><a  href="http://www.amazon.com/Microsoft-Visual-Studio-2005-Unleashed/dp/0672328194/sr=8-1/qid=1169513921/ref=pd_bbs_sr_1/102-6249445-8404152?ie=UTF8&amp;s=books" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.amazon.com/Microsoft<wbr>-Visual-Studio-2005-Unleashed<wbr>/dp/0672328194/sr=8-1/qid<wbr>=1169513921/ref=pd_bbs_sr_1<wbr>/102-6249445-8404152?ie=UTF8&amp;s<wbr>=books</a></font></span></div>
<div><span></span>&nbsp;</div>
<div><span><font size="2"><a  href="http://www.samspublishing.com/bookstore/product.asp?isbn=0672328194&amp;rl=1" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.samspublishing.com<wbr>/bookstore/product.asp?isbn<wbr>=0672328194&amp;rl=1</a></font></span></div>
<span></span><br><br>如果你对此有兴趣，并且是博客园的成员请通过邮件与我联系：（联系方式：xuning.net [at] gmail [dot] com），如果你对这本书不感兴趣，但是想翻译其他有关.NET的书籍也可以与我联系，从而加入博客园译书团队。<br><br>联系格式：（下面是一个示例模板，你可以补充更多内容）<br><br>博客园ID：&nbsp;&nbsp;&nbsp; idior<br>博客园地址：idior.cnblogs.com<br>曾经翻译的文章：<font color="#800080">&nbsp;&nbsp;<a class="singleposttitle" id="viewpost1_TitleUrl" href="http://www.cnblogs.com/idior/articles/315992.html">Visual Studio&#174; 2005 Team System Overview</a><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a class="singleposttitle" id="viewpost1_TitleUrl" href="http://www.cnblogs.com/idior/archive/2004/12/13/76600.html"><font color="#223355">Webservice 的设计和模式</font></a> </font><br></font>曾经的作品： （可以是任何形式的作品，比如框架，文章，曾经翻译过的书等等）<br><br><br><img src ="http://www.cnblogs.com/idior/aggbug/633951.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42809/" target="_blank">[新闻]51.COM技术副总裁邵辉跳槽百度</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>沿着“重用”我们一路走来——SA、OO（DP）、Component、SOA、AOP</title><link>http://www.cnblogs.com/idior/archive/2006/12/29/606970.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 29 Dec 2006 05:37:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/12/29/606970.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/606970.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/12/29/606970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/606970.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/606970.html</trackback:ping><description><![CDATA[<p>自从有了软件开发以来，消除重复，提高软件的重用性就一直是我们所追求的一个重要目标，本文将围绕着这一主题，带大家重走一遍结构化（SA）、面向对象（OO）与设计模式（Design Pattern）、组建化（Component）、面向方面（AOP）直至面向服务（SOA）这条软件开发技术的发展之路。让我从&#8220;重用&#8221;这么一个简单甚至是片面的的角度让大家对这些出现在众多文章中的名词有一个比较清晰的认识。虽然结构化，面向对象甚至设计模式已经被大家所熟知，不过"组建化"、"AOP"、"SOA"这些名词的意义可能很多人还尚未了解，而对它们的产生背景就更加陌生了。为什么需要某项新技术，这恰恰是我在深入学习它之前最关心的问题。</p>
<p><a href="http://www.cnblogs.com/idior/articles/606938.html">阅读全文</a></p> <img src ="http://www.cnblogs.com/idior/aggbug/606970.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42807/" target="_blank">[新闻]Mono 2.0终于到来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>工作搞定 </title><link>http://www.cnblogs.com/idior/archive/2006/11/17/563890.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 17 Nov 2006 09:31:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/11/17/563890.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/563890.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/11/17/563890.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/563890.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/563890.html</trackback:ping><description><![CDATA[前段时间一直忙于找工作，现在终于定下来了，希望后面有时间更新blog的内容。<br><br>要去的公司是美国道富银行下属的一家软件公司。<img src="http://www.cnblogs.com/CuteSoft_Client/CuteEditor/images/emsmile.gif" align="absmiddle" border="0"><br><br>欢迎杭州的朋友与我联系，如果有在这个公司工作的朋友就更好了。 <br><br>给自己献朵花<img src="http://www.cnblogs.com/CuteSoft_Client/CuteEditor/images/emrose.gif" align="absmiddle" border="0"><img src ="http://www.cnblogs.com/idior/aggbug/563890.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42808/" target="_blank">[新闻]百度任命李一男担任首席技术官</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>筹建博客园译书团队</title><link>http://www.cnblogs.com/idior/archive/2006/10/24/538387.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Tue, 24 Oct 2006 06:13:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/10/24/538387.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/538387.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/10/24/538387.html#Feedback</comments><slash:comments>28</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/538387.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/538387.html</trackback:ping><description><![CDATA[今天在博客园出书团队的Team Meeting上，大家谈到了翻译出书的事情，也就萌生了组建一个译书团队的念头。该团队的主要任务是翻译国外出版的与.NET相关的优秀书籍。大致的流程是这样的：我们策划想翻译的书，然后联系出版设，出版社方面评估市场前景，如果确认有市场，就由版权部门去申请翻译版权，如果拿到版权我们就可以进行翻译。现在博客园已经和电子工业出版社的博文视点公司建立联系。 在Team Meeting上，我毛遂自荐了一把，也得到了大家的支持，当然少不了dudu的支持。<br><br>现在发布这个消息，主要有以下两个目的：<br>1. 召集博客园中的译者，建立翻译团队。<br>2. 征集待翻译的优秀书籍。<br><br>在团队建立初始，翻译人员的选择将主要由博客园的积极作者以及博客园的MVP构成。当然你也可以自荐，然后根据你的情况我们会选择部分人员加入团队。随着团队的发展，以后必然会建立起相应的机制。比如团队在平时会组织刚加入团队的成员翻译一些国外的文章，文章可能来自于国外优秀blog，或者codeproject之类的网站。而你在这些翻译文章中的表现，会决定你是否有资格参与书籍的翻译。而待翻译的书籍可以由大家推荐或评选。<br><br>如果你对此有兴趣，并且是博客园的成员请通过邮件与我联系：（联系方式：xuning.net [at] gmail [dot] com）<br><br>联系格式：（下面是一个示例模板，你可以补充更多内容）<br><br>博客园ID：&nbsp;&nbsp;&nbsp; idior<br>博客园地址：idior.cnblogs.com<br>曾经翻译的文章：<font color=#800080>&nbsp;&nbsp;<a class=singleposttitle id=viewpost1_TitleUrl href="http://www.cnblogs.com/idior/articles/315992.html">Visual Studio&#174; 2005 Team System Overview</a><font color=#000000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a class=singleposttitle id=viewpost1_TitleUrl href="http://www.cnblogs.com/idior/archive/2004/12/13/76600.html"><font color=#223355>Webservice 的设计和模式</font></a> </font><br></font>熟悉的技术话题：design pattern, SOA ...<br>曾经的作品： （可以是任何形式的作品，比如框架，文章，曾经翻译过的书等等）<br><br><br>最后提一下，翻译书籍是有报酬的，最终出版时会归属于博客园系列。 <br><br><br>
<img src ="http://www.cnblogs.com/idior/aggbug/538387.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42805/" target="_blank">[新闻]Google Knol 开始尝试有声版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>翻译校正</title><link>http://www.cnblogs.com/idior/archive/2006/10/21/535832.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sat, 21 Oct 2006 08:42:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/10/21/535832.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/535832.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/10/21/535832.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/535832.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/535832.html</trackback:ping><description><![CDATA[个人最近正在翻译一本书，其中涉及到以下内容：<br><br>生成、部署和配置.NET应用程序<br>进程、线程与同步<br>反射,后期绑定,Attribute<br>.NET与本机代码,COM,COM+的互操作<br><br>如果你对此有兴趣并且有一定的英文或技术背景，可以与我联系，我可以把相应的内容share给你，也请你帮我校正一下我的翻译内容。<br><br>BTW.&nbsp;&nbsp;&nbsp; I'm still looking for a job...&nbsp;&nbsp;Have a look at&nbsp;<a href="http://www.cnblogs.com/idior/archive/2006/10/21/497451.html" target=_blank>my resume</a>.
<img src ="http://www.cnblogs.com/idior/aggbug/535832.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42804/" target="_blank">[新闻]12日电脑与人进行世纪对话 可思考机器或诞生</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>WS-* Support On .Net Platform</title><link>http://www.cnblogs.com/idior/archive/2006/09/11/500902.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 11 Sep 2006 05:46:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/09/11/500902.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/500902.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/09/11/500902.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/500902.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/500902.html</trackback:ping><description><![CDATA[<p><img height=497 alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/WS-pronet1.png" width=714 border=0></p>
<p><img height=179 alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/WS-pronet2.png" width=714 border=0><br><br></p>
<p>^&nbsp;&nbsp;&nbsp; MS have already made an&nbsp;extends. <br>*&nbsp;&nbsp; &nbsp;Custom WSE-specific serialization, not compatible with WCF.<br>**&nbsp; Need to be aware what feature to use; no proactive checks for conformance.</p>
<p><br><br><br>&nbsp;</p>
<img src ="http://www.cnblogs.com/idior/aggbug/500902.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42803/" target="_blank">[新闻]人民网评:中国移动为什么要抛弃iPhone?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Distributed Application in .Net</title><link>http://www.cnblogs.com/idior/archive/2006/09/11/491797.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 11 Sep 2006 02:36:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/09/11/491797.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/491797.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/09/11/491797.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/491797.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/491797.html</trackback:ping><description><![CDATA[<p>在接下去的几篇文章中，我将对分布式应用中的一些问题做一些介绍，希望通过这些介绍能够加深我们对分布式应用的了解，这些话题所讨论的内容可以说很基础，但是在进行分布式设计和开发中所必须深刻理解的。</p>
<p>我们经常谈到所谓的企业级应用，那么什么样的程序才算是企业级的呢？ 使用数据库，持久化技术，可以算是企业开发的一个明显特征，而需要用到分布式技术也可以算是企业级应用中的一个特征。</p>
<p>分布式？ 太高深，和我无关，哎你还别走，知道Spring怎么来的吗？就是给分布式搞怕了才有的。为什么呢？先了解一下分布式吧。<br></p>
<p><a href="http://www.cnblogs.com/idior/articles/491767.html" target=_blank>Distributed Application --- Start with Database Connection Pool</a><a href="http://www.cnblogs.com/idior/articles/491767.html" target=_blank><br></a><a href="http://www.cnblogs.com/idior/archive/2006/09/08/499128.html" target=_blank>Distributed Application --- Applying Remoting &amp; Enterprise Service</a><br><br><br></p>
<p>相关文章：</p>
<p><a href="http://www.cnblogs.com/idior/archive/2004/12/13/76600.html" target=_blank>Webservice 的设计和模式</a></p>
<p><a href="http://www.cnblogs.com/idior/archive/2006/05/16/354066.html">Web Services Security</a></p>
<p><a href="http://www.cnblogs.com/idior/archive/2006/06/28/431017.html">WS-Addressing 从理论到实践 --- SOA基础规范介绍</a></p>
<img src ="http://www.cnblogs.com/idior/aggbug/491797.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42803/" target="_blank">[新闻]人民网评:中国移动为什么要抛弃iPhone?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>cnblogs版权问题</title><link>http://www.cnblogs.com/idior/archive/2006/09/07/497863.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Thu, 07 Sep 2006 10:09:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/09/07/497863.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/497863.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/09/07/497863.html#Feedback</comments><slash:comments>20</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/497863.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/497863.html</trackback:ping><description><![CDATA[<p>随着博客园好文章数量的增多，我觉得博客园版权的问题，应该被引起重视。<a href="http://dflying.cnblogs.com/">Dflying Chen</a>&nbsp;今天碰到的事，可能会越来越多的发生。其实在前段时间逛书店的时候，我随手翻了一下 &lt;&lt;程序员面试宝典&gt;&gt; 这本书，发现其中在介绍设计模式的时候有不少内容和吕震宇blog中的内容十分相似。我没仔细查看书中是否注明出处，但至少著作者中没看到吕震宇的名字。</p>
<p>国内介绍技术的文章通常比较简单，涉及的内容也比较浅，如果有好的文章被大家引用也很正常，但是在文章中注明出处是最起码的要求，否则你就是剽窃，每个读过大学写过论文的人，都应该明白这个道理。&nbsp;</p>
<p>下面这段内容是摘自苏鹏blog中的道歉内容</p>
<p>---<br>作为一个技术人员，每次我都想把最好的和最新的技术带给大家，但是仅仅凭我一个人的力量，恐怕非常有限，所以如我在前面回复的帖子里所说的，我会借鉴一些好的，其他朋友写的内容来充实我的课程，大多数情况下，我会从国外的官方论坛来找这些资料，因为这样会比较少的有所谓的版权问题。但是这次介绍atlas的内容的时候，我发现国内的dflying朋友的内容非常丰富，我就结合我的课程借鉴了其中一些内容。<br>---</p>
<p>我想借鉴国外的技术内容，来写自己的东西，这也在国内也是广泛存在的现象。写blog也就算了，不过当你著书立说，对公众布道的时候，仅仅借鉴别人的东西而没有自己的想法，显然是不合适的。我对自己文章的要求就是借鉴可以，但是要有自己的理解，自己的观点，不然我又何必再写一遍。虽然在文章写完后注明参考资料很麻烦，但我还是尽可能写几个。</p>
<p>我个人没有<a href="http://dflying.cnblogs.com/">Dflying Chen</a>&nbsp;以及园子里其他兄弟那么强的版权意识，所以我建议dudu是不是弄一个<span style="COLOR: red"><u><strong><a href="http://moban/"><span style="COLOR: red"><u><strong>模板</strong></u></span></a></strong></u></span>放在大家的blog里，免得我们被侵权了，还拿他没什么办法。</p>
<p>现在cnblogs自己都准备出书了，版权问题也到了该引起重视的时候了。<br></p>
<img src ="http://www.cnblogs.com/idior/aggbug/497863.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42802/" target="_blank">[新闻]索尼推出第二代触控屏eBook电子书</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Test Windows Liver Wrtier</title><link>http://www.cnblogs.com/idior/archive/2006/08/28/488559.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 28 Aug 2006 08:36:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/08/28/488559.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/488559.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/08/28/488559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/488559.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/488559.html</trackback:ping><description><![CDATA[<p>&#160;</p>
<pre><span style="COLOR: #0000ff"></span>&nbsp;</pre>
<pre><span style="COLOR: #0000ff"><a title=CoordTrustPolicyFrameWork href="http://www.flickr.com/photos//226967961/"><img alt=CoordTrustPolicyFrameWork hspace=0 src="http://static.flickr.com/90/226967961_1e0a605c95.jpg" border=0></a></span></pre>
<pre><span style="COLOR: #0000ff"></span>&nbsp;</pre>
<pre><span style="COLOR: #0000ff"></span>&nbsp;</pre>
<pre><span style="COLOR: #0000ff">public</span> <span style="COLOR: #0000ff">void</span> Main()
{
<span style="COLOR: #0000ff">private</span> <span style="COLOR: #0000ff">string</span> str="<font color=#8b0000>idior</font>";
}</pre>
<pre>&nbsp;</pre>
<pre><font color=#0000ff>Code and picture,<u><em><strong>cool!</strong></em></u></font></pre>
<img src ="http://www.cnblogs.com/idior/aggbug/488559.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42801/" target="_blank">[新闻]百付宝加入战团 电子支付市场寻突破</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>EnterLib ObjectBuild vs Castle WindsorContainer,  part 1</title><link>http://www.cnblogs.com/idior/archive/2006/08/15/ObjectBuildvsCastle.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Tue, 15 Aug 2006 06:35:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/08/15/ObjectBuildvsCastle.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/477258.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/08/15/ObjectBuildvsCastle.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/477258.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/477258.html</trackback:ping><description><![CDATA[摘要: 本文通过一个实例比较了在Enterprise Library中的ObjectBuild和Castle中WindsorContainer这两个Ioc/DI框架的使用方式。&nbsp;&nbsp;<a href='http://www.cnblogs.com/idior/archive/2006/08/15/ObjectBuildvsCastle.html'>阅读全文</a><img src ="http://www.cnblogs.com/idior/aggbug/477258.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42800/" target="_blank">[新闻]邮件标准协议英文独占时代终结</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Constains --- Something i want</title><link>http://www.cnblogs.com/idior/archive/2006/07/14/451113.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 14 Jul 2006 15:41:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/07/14/451113.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/451113.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/07/14/451113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/451113.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/451113.html</trackback:ping><description><![CDATA[<p>Something i Want</p>
<p>如果你经常重构的话，那么你会发现Extract Method是一个常用的方法，并且随着你不断的Extract </p>
<p>Method，渐渐的你的代码种就会浮现出Template Method模式。</p>
<p>以下就是一个Template Method的示例</p>
<p>abstract class CheckBackground<br>{</p>
<p>&nbsp;&nbsp;&nbsp; protected abstract void CheckBank();<br>&nbsp;&nbsp;&nbsp; protected abstract void CheckCredit();<br>&nbsp;&nbsp;&nbsp; protected abstract void CheckLoan();<br>&nbsp;&nbsp;&nbsp; protected abstract void CheckStock();<br>&nbsp;&nbsp;&nbsp; protected abstract void CheckIncome();</p>
<p>&nbsp;&nbsp;&nbsp; //work as template method<br>&nbsp;&nbsp;&nbsp; public void Check()<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CheckBank();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CheckCredit();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CheckLoan();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CheckStock();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CheckIncome();<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>用abstract class来实现Template Method是一种比较好的方法，但是相对于abstract class而言interface是更常用的定义contract的方式。但是interface却要求所有的方法都是public，而Template Method中包含的其他方法往往是private和protected的。</p>
<p>那么我就希望有一种机制可以保证Template Method能够被安全的实现。<br>利用constains关键字来定义某个方法中需要包含的方法以及它们出现的顺序<br>constains CheckConstains <br>{<br>&nbsp;&nbsp;&nbsp;&nbsp; void CheckBank();<br>&nbsp;&nbsp;&nbsp;&nbsp; void CheckCredit();<br>&nbsp;&nbsp;&nbsp;&nbsp; void CheckLoan();<br>&nbsp;&nbsp;&nbsp;&nbsp; void CheckStock();<br>&nbsp;&nbsp;&nbsp;&nbsp; void CheckIncome();<br>}</p>
<p>public interface ICheckBackground<br>{<br>&nbsp;&nbsp;&nbsp; [CheckConstains]<br>&nbsp;&nbsp;&nbsp; void Check();<br>}</p>
<p><br>作为程序员，在编程的时候最怕的是要记住某些上下文，才能把代码正确的写出来，这样是很不可靠的。<br>我们当然希望在编程的时候需要记住的东西越少越好，而Template Method模式的应用又是如此的广泛，所以我觉得需要以上这种约束, 这样在以后为ICheckBackground添加新的实现的时候就不会出问题了。<br><br></p>
<img src ="http://www.cnblogs.com/idior/aggbug/451113.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42799/" target="_blank">[新闻]2008年10月6日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>The latest community drop of the Web Service Software Factory is now available </title><link>http://www.cnblogs.com/idior/archive/2006/07/03/441254.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 03 Jul 2006 02:14:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/07/03/441254.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/441254.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/07/03/441254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/441254.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/441254.html</trackback:ping><description><![CDATA[<span class=body_text_heading><a href="http://blogs.msdn.com/tomholl/archive/2006/06/26/648014.aspx">July Community Drop now available</a><br><br>主要加入了DAL</span> 
<img src ="http://www.cnblogs.com/idior/aggbug/441254.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42798/" target="_blank">[新闻]福布斯：Web3.0尚未到来 仍需5到7年</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>博客园路在何方？</title><link>http://www.cnblogs.com/idior/archive/2006/07/02/440947.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sun, 02 Jul 2006 12:35:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/07/02/440947.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/440947.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/07/02/440947.html#Feedback</comments><slash:comments>81</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/440947.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/440947.html</trackback:ping><description><![CDATA[<p>我在博客园落户已经有19个月了，而博客园从开放至今也经历了2年半的时间。在这段时间内，博客园从无发展到全国最知名也是最优秀的.Net社区，这个成绩可以说是惊人的。</p>
<p>博客园为我个人的技术成长提供了一个良好的环境，通过阅读灵感，sumtec, ccboy,吕震宇，wayfarer等人的blog，我从中了解到了很多知识，也产生了很多想法，并且也加入到了书写blog的行列中，在这其间，尤其是在与吕震宇和wayfarer在文字上的交流过程中，让我对有关设计模式的理解更加的清晰，更加的深刻，这为我学习其他技术打下了很好的基础。在此我感谢他们有意或无意中对我的帮助。在博客园我还认识了一帮很好的朋友dudu,灵感,吕震宇,wayfarer,hbifts,samuel,fantasysoft,allen lee,teddy等等(恕我无法全部列举)，通过与他们在MSN上或线下的交流更是让我受益斐浅。以上提到的这些，我想不止对于我个人，对于博客园广大的用户，浏览者来说都应该深有体会。此时，不得不提到一个人 ---dudu，没有他就没有博客园，而我们从博客园获取的又是如此之多。</p>
<p>就在本周末我和hibifts到扬州见了dudu，在这两天的相处中更让我见识了dudu对博客园所作出的贡献。在此我举一两个例子：dudu每天为了处理博客园系统(含blogjava等)的注册邮件，需要花去近3个小时的时间，我亲眼见到dudu的outlook中如雪的注册邮件，并且dudu在陪我们看世界杯的时候也在处理邮件。dudu的GF也说了dudu根本没时间玩，就是有时间dudu都不会去玩。有幸的是就在这两天dudu再次荣获MS的mvp，绝对是当之无愧。</p>
<p>在扬州，我们重点讨论了有关博客园发展的问题，作为一个博客园的老用户(当然我还不是最老的用户)，我看到很多博客园中优秀的blogger都暂停更新了，很多我认识的朋友也渐渐的少见于博客园了，博客园的用户可以说已经换了几批了，虽然说不断的有新的优秀的blogger出现(如目前的TerryLee)，但相对一年前而言，博客园作为一个社区从自身的角度而言并没有得到很好的发展，那么再过一年或者两年后博客园又将变成什么样子？</p>
<p>dudu和博客园曾经为博客园的发展做出过一些尝试和努力，比如组织团队，办电子杂志，开源项目等等，但是由于各种各样的原因都没有坚持下去(其中几次尝试我也曾身涉其中，在此十分汗颜!)。 dudu也一再提到他实在太忙，由于大量的时间投入到了博客园的维护工作中，无暇顾及到方方面面，他非常需要一个创业团队，但他对这个团队的建立却也没有时间去计划去很好的实施。</p>
<p>博客园发展到了现在，如何更进一步？如何走向一条可持续发展的道路？通过风险投资的方式吗？通过广告的方式吗？我对此并不在行。那么同样作为博客园的受益用户，你对博客园将来的发展有什么好的建议吗？你能为博客园指出一条路吗？</p>
<p>如果你有什么想法请在此留言或直接与dudu联系。</p>
<img src ="http://www.cnblogs.com/idior/aggbug/440947.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42796/" target="_blank">[新闻]Google Gears:离线应用并非唯一的使命</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>D&amp;P Team 发展会议</title><link>http://www.cnblogs.com/idior/archive/2006/06/29/438660.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Thu, 29 Jun 2006 06:24:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/06/29/438660.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/438660.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/06/29/438660.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/438660.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/438660.html</trackback:ping><description><![CDATA[现定于本<span style="COLOR: red">周五6-30晚20:00</span>，在 <span style="COLOR: red">chat.cnblogs.com</span>召开D&amp;P Tean的会议，会议中将广泛听取大家对Team发展的意见。希望大家对于如何发展Team，举办何种活动等等提出你的宝贵意见。任何对Team感兴趣的人(必须是<span style="COLOR: red">博客园注册用户</span>)都可以加入本次会议。 
<img src ="http://www.cnblogs.com/idior/aggbug/438660.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42795/" target="_blank">[新闻]75%下载火狐者并不使用 Mozilla被敲响警钟</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>WS-Addressing 从理论到实践 --- SOA基础规范介绍</title><link>http://www.cnblogs.com/idior/archive/2006/06/28/431017.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Wed, 28 Jun 2006 05:38:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/06/28/431017.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/431017.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/06/28/431017.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/431017.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/431017.html</trackback:ping><description><![CDATA[<p><span>为了让</span><span>SOA</span><span>的应用能够更加的成熟，一些标准化组织</span><span>(</span><span>主要有</span><span>W<st1:chmetcnv UnitName="C" SourceValue="3" HasSpace="False" Negative="False" NumberType="1" TCSC="0" w:st="on">3C</st1:chmetcnv></span><span>，</span><span>OASIS)</span><span>对</span><span>Web Services</span><span>的功能进行了扩展，为此制定了一系列的</span><span>WS-*</span><span>规范。通过这些规范，使得</span><span>Web Services</span><span>在实际应用中的能力得到了很大的增强，这些能力主要体现在对服务质量的保障上，例如安全，可靠性，事务等等。其中，</span><span>WS-Addressing</span><span>规范作为一个基础，为其余的规范提供了重要的支持功能，因此有必要在了解其他规范前，首先深入了解</span><span>WS-Addressing</span><span>规范。本文将从概念上介绍该规范，并希望通过WSE3.0的实例来看看该规范是如何被实践的。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong style="COLOR: #0000ff">理论篇<br></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://idior.cnblogs.com/archive/2006/06/20/431013.html" target=_blank>WS-Addressing 问题的引出<br></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://idior.cnblogs.com/archive/2006/06/24/434586.html" target=_blank>WS-Addressing EndpointReference<br></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://idior.cnblogs.com/articles/434750.html" target=_blank>WS-Addressing Message Addressing Properties</a><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #008000"><strong>实践篇</strong><br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://idior.cnblogs.com/articles/436801.html" target=_blank>Applied WSE 3.0 to Web Service Project&nbsp;</a>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://idior.cnblogs.com/articles/437646.html" target=_blank>Use Web Service Thought Message --- SoapClient</a> <br><br>鉴于SOA的概念并没有为大家所广泛理解，在适当的时候有必要写一个<span style="COLOR: #333399">SOA乱弹。</span><br>不过先请你记住以下几句话：<br><br><strong><em>SOA is an&nbsp;<span style="COLOR: red">integration</span> solution.<br>SOA is<span style="COLOR: red"> message oriented</span> first.<br>The Key character of SOA is <span style="COLOR: red">loosely coupled</span>.<br><span>SOA is enriched</span></em></strong><span><strong><em> by creating <span style="COLOR: red">composite</span> apps.<br><br></em></strong>相关资源：<br><a href="http://idior.cnblogs.com/archive/2004/12/13/76600.aspx" target=_blank>Web Services的设计与模式</a><br><a href="http://idior.cnblogs.com/archive/2006/05/16/354066.html" target=_blank>Web Services Security系列</a><br><br>参考资料：<a href="http://www.w3.org/2002/ws/addr/" target=_blank>WS-Addressing Specification</a></span></p>
</span>
<img src ="http://www.cnblogs.com/idior/aggbug/431017.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42794/" target="_blank">[新闻]Google图片搜索广告悄然上线 相关性遭质疑</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Design &amp; Pattern 团队的发展</title><link>http://www.cnblogs.com/idior/archive/2006/06/25/435410.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sun, 25 Jun 2006 13:07:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/06/25/435410.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/435410.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/06/25/435410.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/435410.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/435410.html</trackback:ping><description><![CDATA[Design &amp; Pattern团队作为博客园的第一个团队Blog，发展至今不仅文章的数量最多，在质量方面也是相当优秀的。虽然团队成员仍然不断得为团队贡献优秀的文章，但是团队的活动却是越来越少，已远不如过去活跃。博客园为了发展壮大也迫切需要一个优秀的团队为其增加影响力，所以Design &amp; Pattern团队的改组甚至重建，也被列入了博客园的发展计划。为了加强团队成员之间的交流，促进大家的发展，现在希望大家(尤其是现有的团队成员)对Design &amp; Pattern团队的发展提出宝贵的意见。<br><br>另外，我希望团队成员能够在本周抽出一个时间开一个网上会议，到时大家就这个问题讨论一下。<br>时间大家协商一下，暂定6-30周五晚20:00。<br><br>Wayfarer和吕震宇看到后也请与我联系一下。<br>
<img src ="http://www.cnblogs.com/idior/aggbug/435410.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42793/" target="_blank">[新闻]Google告别低调历史 开始利用广告宣传产品</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Windows Communication Foundation 的新网站&amp;MS Wiki Beta</title><link>http://www.cnblogs.com/idior/archive/2006/06/13/424607.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Tue, 13 Jun 2006 02:57:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/06/13/424607.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/424607.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/06/13/424607.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/424607.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/424607.html</trackback:ping><description><![CDATA[<a href="http://wcf.netfx3.com/" target=_blank><br>Windows Communication Foundation </a><br><br><a href="http://msdnwiki.microsoft.com/en-us/mtpswiki/default.aspx" target=_blank>MS Wiki Beta</a> 
<img src ="http://www.cnblogs.com/idior/aggbug/424607.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42792/" target="_blank">[新闻]美国金融危机导致第三季度IT就业人数降2%</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Code Smell List</title><link>http://www.cnblogs.com/idior/archive/2006/06/13/424592.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Tue, 13 Jun 2006 02:48:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/06/13/424592.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/424592.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/06/13/424592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/424592.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/424592.html</trackback:ping><description><![CDATA[<p><b>Code Smells Within Classes</b> </p>
<table cellSpacing=6 cellPadding=4 width=640>
    <tbody>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Comments</td>
            <td vAlign=top>There's a fine line between comments that illuminate and comments that obscure. Are the comments necessary? Do they explain "why" and not "what"? Can you refactor the code so the comments aren't required? And remember, you're writing comments for people, not machines.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Long Method</td>
            <td vAlign=top>All other things being equal, a shorter method is easier to read, easier to understand, and easier to troubleshoot. Refactor long methods into smaller methods if you can.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Long Parameter List</td>
            <td vAlign=top>The more parameters a method has, the more complex it is. Limit the number of parameters you need in a given method, or use an object to combine the parameters.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Duplicated code</td>
            <td vAlign=top>Duplicated code is the bane of software development. Stamp out duplication whenever possible. You should always be on the lookout for more subtle cases of near-duplication, too. <a href="http://www.artima.com/intv/dry.html"><font color=#355ea0>Don't Repeat Yourself!</font></a></td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Conditional Complexity</td>
            <td vAlign=top>Watch out for large conditional logic blocks, particularly blocks that tend to grow larger or change significantly over time. Consider alternative object-oriented approaches such as decorator, strategy, or state.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Combinitorial Explosion</td>
            <td vAlign=top>You have lots of code that does <i>almost</i> the same thing.. but with tiny variations in data or behavior. This can be difficult to refactor-- perhaps using generics or an interpreter?</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Large Class</td>
            <td vAlign=top>Large classes, like long methods, are difficult to read, understand, and troubleshoot. Does the class contain too many responsibilities? Can the large class be restructured or broken into smaller classes?</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Type Embedded in Name</td>
            <td vAlign=top>Avoid placing types in method names; it's not only redundant, but it forces you to change the name if the type changes. </td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Uncommunicative Name</td>
            <td vAlign=top>Does the name of the method succinctly describe what that method does? Could you read the method's name to another developer and have them explain to you what it does? If not, rename it or rewrite it.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Inconsistent Names</td>
            <td vAlign=top>Pick a set of standard terminology and stick to it throughout your methods. For example, if you have Open(), you should probably have Close().</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Dead Code</td>
            <td vAlign=top>Ruthlessly delete code that isn't being used. That's why we have source control systems!</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Speculative Generality</td>
            <td vAlign=top>Write code to solve today's problems, and worry about tomorrow's problems when they actually materialize. Everyone loses in the "what if.." school of design. <a href="http://xp.c2.com/YouArentGonnaNeedIt.html"><font color=#355ea0>You (Probably) Aren't Gonna Need It</font></a>. </td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Oddball Solution</td>
            <td vAlign=top>There should only be one way of solving the same problem in your code. If you find an oddball solution, it could be a case of poorly duplicated code-- or it could be an argument for the adapter model, if you really need multiple solutions to the same problem.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Temporary Field</td>
            <td vAlign=top>Watch out for objects that contain a lot of optional or unnecessary fields. If you're passing an object as a parameter to a method, make sure that you're using all of it and not cherry-picking single fields.</td>
        </tr>
    </tbody>
</table>
<br><strong>Code Smells Between Classes</strong><br><br>
<table cellSpacing=6 cellPadding=4 width=640>
    <tbody>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Alternative Classes with Different Interfaces</td>
            <td vAlign=top>If two classes are similar on the inside, but different on the outside, perhaps they can be modified to share a common interface.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Primitive Obsession</td>
            <td vAlign=top>Don't use a gaggle of primitive data type variables as a poor man's substitute for a class. If your data type is sufficiently complex, write a class to represent it.&nbsp;</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Data Class</td>
            <td vAlign=top>Avoid classes that passively store data. Classes should contain data <i>and</i> methods to operate on that data, too.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Data Clumps</td>
            <td vAlign=top>If you always see the same data hanging around together, maybe it belongs together. Consider rolling the related data up into a larger class.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Refused Bequest</td>
            <td vAlign=top>If you inherit from a class, but never use any of the inherited functionality, should you really be using inheritance?</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Inappropriate Intimacy</td>
            <td vAlign=top>Watch out for classes that spend too much time together, or classes that interface in inappropriate ways. Classes should know as little as possible about each other.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Indecent Exposure</td>
            <td vAlign=top>Beware of classes that unnecessarily expose their internals. Aggressively refactor classes to minimize their public surface. You should have a compelling reason for every item you make public. If you don't, hide it.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Feature Envy</td>
            <td vAlign=top>Methods that make extensive use of another class may belong in another class. Consider moving this method to the class it is so envious of.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Lazy Class</td>
            <td vAlign=top>Classes should pull their weight. Every additional class increases the complexity of a project. If you have a class that isn't doing enough to pay for itself, can it be collapsed or combined into another class?</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Message Chains</td>
            <td vAlign=top>Watch out for long sequences of method calls or temporary variables to get routine data. Intermediaries are dependencies in disguise.&nbsp;</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Middle Man</td>
            <td vAlign=top>If a class is delegating all its work, why does it exist? Cut out the middleman. Beware classes that are merely wrappers over other classes or existing functionality in the framework.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Divergent Change</td>
            <td vAlign=top>If, over time, you make changes to a class that touch completely different parts of the class, it may contain too much unrelated functionality. Consider isolating the parts that changed in another class.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Shotgun Surgery</td>
            <td vAlign=top>If a change in one class requires cascading changes in several related classes, consider refactoring so that the changes are limited to a single class.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Parallel Inheritance Hierarchies</td>
            <td vAlign=top>Every time you make a subclass of one class, you must also make a subclass of another. Consider folding the hierarchy into a single class.</td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Incomplete Library Class</td>
            <td vAlign=top>We need a method that's missing from the library, but we're unwilling or unable to change the library to include the method. The method ends up tacked on to some other class. If you can't modify the library, consider isolating the method. </td>
        </tr>
        <tr>
            <td style="BACKGROUND-COLOR: silver" vAlign=center>Solution Sprawl</td>
            <td vAlign=top>If it takes five classes to do anything useful, you might have solution sprawl. Consider simplifying and consolidating your design.</td>
        </tr>
    </tbody>
</table>
<img src ="http://www.cnblogs.com/idior/aggbug/424592.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42792/" target="_blank">[新闻]美国金融危机导致第三季度IT就业人数降2%</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>O/R Mapping乱弹</title><link>http://www.cnblogs.com/idior/archive/2006/06/07/419999.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Wed, 07 Jun 2006 13:32:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/06/07/419999.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/419999.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/06/07/419999.html#Feedback</comments><slash:comments>55</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/419999.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/419999.html</trackback:ping><description><![CDATA[<p><br>O/R M一个相当常见的概念，不过也是一个被很多人误解的概念。O/R M据我所知是从Java社区产生的，而到了.Net社区它的意味就完全变了。首先让我们来看看为什么是O/R M而不是R/O M？其实之所以很多人没有理解O/R M的含义就是因为没有充分的考虑上面这个问题。<br>以O为主还是以R为主？你是从面向对象的角度分析考虑问题还是从关系的角度分析考虑问题。</p>
<p>从面向对象的角度考虑问题，意味着你可以使用封装，集成，多态这些面向对象的特点来描述和理解你的应用域，因为对象的高度抽象和可理解性，通过它你可以构造出一个用对象来描述领域的模型，这也是领域模型的由来。而一个好的模型必然要考虑到的几点包括对象所包含的责任是否合理，对象与对象之间的关系是否合理等，而高内聚，低耦合就是用来衡量它们的一个技术标准。<br>可以看出一个好的领域模型，可以让你清楚的了解现实的应用领域，而一个好的领域对象也必然具有高内聚，低耦合的特点，而绝对不是一个数据包。<br>当我们使用面向对象技术建立好了我们的领域模型，一个问题随之而来，对象如何持久化？对象的生命周期包括多个阶段其中包括第一次被创建出来，被持久化，被从文件(通常是数据库)中取出来，被垃圾回收。显然我们希望能够更多的关注与领域模型而非这些对象生命周期的管理，此时O/R M的需求应运而生，而能够透明的实现对象的持久化和反持久化则更为我们所追求，此时再来看看某些使用O/R M来为一个领域对象实现Save Load的做法是多么与我们的想法背道而驰，这些方法与领域何关？O/R M框架将对象持久化功能从领域对象中分离出来，交由框架负责，而有人竟然反其道而行之，这种现象在.Net社区尤为常见。为什么会这样？因为考虑问题的思路不同。可以这么说在.Net社区O/R M往往被当作R/O M来使用。<br><br>从关系型模型的角度来考虑问题，在一接到问题之后，先建立实体关系模型，然后考虑各种约束条件，并通过Server端一系列的存储过程来描述业务逻辑。这种方法曾广泛被采用，然而两相比较孰优孰劣？和大多数人(Martin Fowler等等)一样我更喜欢OO的方式，用对象来描述世界，比起关系和一堆的SQL语言对我来说，显然前者更美，而且没有了继承多态，那样程序将充满了重复代码，并且不利于扩展，可读性就更不用说了。就如Martin Fowler所说要不是因为.Net提供了方便的界面绑定方法，这种纯粹的数据包对象谁会去使用呢？它们的优势就在于那些领域逻辑简单的应用，这也是.Net常见的应用领域。</p>
<p>所以当你不是用对象的方法(不是说你仅仅使用了面向对象语言)来分析解决问题时请离O/R M远一点，这样对大家都好。你不会觉得它奇怪，它也不会被你用的郁闷。</p>
<p>在这里我也顺便谈谈我对DLinq的看法。首先我不得不承认它很Cool,并且我之前对<a href="http://idior.cnblogs.com/articles/237089.html" target=_blank>Linq也做过介绍</a>，但是我并不是很喜欢它的方式，至少它存在一种可能被滥用的危险。查询你所需要的数据，然后围绕这些数据做处理，微软仍然坚持它一惯的风格，并且在Linq中，可以说是做到了极致---用Linq查询数据太方便了。如果每个对象都通过这样的方式获得，那么对象之间的关系(Association)将变的杂乱无章。你在设计对象的时候仔细考虑的对象之间的关联关系将被轻易的打乱(领域对象的关联关系是描述领域模型的关键组成部分之一)，而且你查询到的纯粹是数据实体，它们并没有行为，你又会靠一个个的xxxManager来管理它们，喔，天哪，又失去了面向对象的优势。所以DLinq本身绝对不是一套O/R M工具，不过利用它实现一套O/R M工具倒是不错的选择。</p>
<p>当面对面向对象和关系型数据库的阻抗失衡时，Java社区更多的考虑的是自动透明的实现将O映射成R的方式，而MS更多的考虑的是将R方便的变成O(数据包类型的O而已)的方式(这点可能跟MS也是数据库厂商有关)。两个方向，你选哪个？</p>
<p>个人观点仅供参考。<br><br>BTW&nbsp;前阵子有个兄弟问我O/R M的性能怎样？呵呵，总是有很多人关注性能问题。那么我先问问大家<br>你觉得OO性能怎么样？泛型性能怎么样？AOP的性能怎么样？SOA的性能怎么样？呵呵，另人失望的答案，它们的运行效率都比不使用它们的方案低。但是它们能大大加强我们的开发效率，这是一个追求效率的年代 :) <br>(我可没有鄙视性能的意思)<br><br><span style="COLOR: red">6.8看过评论后更新<br></span><br>本文的观点可能有很多人有不同意见，这很正常，如我标题所写本文也仅仅是乱谈而已。不过对于使用Hibernate的用户请尽可能的考虑我所说的问题，因为我的观点和Gavin King(Hibernate的作者)的还是基本一致的。同样对于大家所说的表很多的问题，请参考Gavin King的原话。</p>
<p style="FONT-FAMILY: Courier"><span style="COLOR: #ff0000">You should use Hibernate if you have a nontrivial application</span> (definition of nontrivial varies, but I usually think of Hibernate being less applicable to applications with only ten tables or so) that <span style="COLOR: #ff0000">use an object-oriented domain model.</span> Not every application needs a domain model, so not every application needs ORM. But if your application <span style="COLOR: #ff0000">does a lot of business logic - rather than just displaying tabular data on a webpage</span> - then a domain model is usually a good thing. </p>
<p><span style="FONT-FAMILY: Courier">Hibernate really starts to<span style="COLOR: #ff0000"> shine in applications with very complex data models, with hundreds of tables and complex interrelationships</span>. For this kind of application, Hibernate will take away a huge amount of coding effort (perhaps up to 25%, for some applications) and will result in an application that performs better than the alternative handcrafted JDBC. This is possible because some kinds of performance optimizations are very difficult to handcode: caching, outer-join fetching, transactional write-behind, etc.</span> <br><br>另外双鱼座在评论中指出"<span style="COLOR: red">数据规模对采用哪种技术框架没有太大关系，有比较大关系的是业务复杂度</span>", 对此个人深表赞同。<br><br>如果你想深入理解O/R M，推荐以下三本书：<br>Patterns of Enterprise Application Architeture<br>Hibernate in Action<br>Domain-Driven Design<br><br><a href="http://idior.cnblogs.com/articles/195193.html" target=_blank>相关文章</a><br><br><br></p>
<img src ="http://www.cnblogs.com/idior/aggbug/419999.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42789/" target="_blank">[新闻]国内的SNS很另类，变成披着SNS外衣的游戏网站</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>WS-Coordination简介</title><link>http://www.cnblogs.com/idior/archive/2006/05/24/408325.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Wed, 24 May 2006 12:28:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/24/408325.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/408325.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/24/408325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/408325.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/408325.html</trackback:ping><description><![CDATA[<p>在你的分布式应用中，是否常常需要有一个协调者来协调你的活动。如果你有这个需求，那么你可以考虑利用WS-Coordination规范来实现你的协调框架。该规范同时是在Web Services环境中实现业务过程事务性的基础，如果你对此感兴趣，请<a href="http://idior.cnblogs.com/articles/408296.html" target=_blank>阅读本文</a>。<br><br>注: WCF中已经实现了该规范，甚至实现了WS-AtomicTransaction规范，即原子性事务。<br><br>另外对于SOA有兴趣的朋友最近可以关注一下MS的<a href="http://www.gotdotnet.com/codegallery/codegallery.aspx?id=6fde9247-53a8-4879-853d-500cd2d97a83" target=_blank>Microsoft Service Factory</a>项目，很有前景的一个项目！从下面这副图你就可以看出它的野心有多大。<br><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/sf11.png" border=0><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/sf2.png" border=0><br><br></p>
<img src ="http://www.cnblogs.com/idior/aggbug/408325.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42788/" target="_blank">[新闻]美国一人建设运营的财经网站卖出1490万美元</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>有南京的朋友吗？</title><link>http://www.cnblogs.com/idior/archive/2006/05/18/403175.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Thu, 18 May 2006 02:36:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/18/403175.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/403175.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/18/403175.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/403175.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/403175.html</trackback:ping><description><![CDATA[昨天和r<a href="http://www.robinzhong.com/index.html">obinzhong</a>碰了个头，一起吃饭聊聊了技术，感觉挺不错。robin很想找几个人一起看看书，然后定期聚聚聊聊。我听了这个建议觉得很不错，不过在博客园已认识的朋友中大多在北京上海，没办法方便的见面,所以在这找一找有没有南京的朋友，对企业应用，设计，框架之类比较感兴趣的，对Web services，SOA有兴趣也行，大家搞个定期聚会什么的。<br><br>如果你有兴趣并且在南京的话，请与我联系。 
<img src ="http://www.cnblogs.com/idior/aggbug/403175.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42787/" target="_blank">[新闻]校内开心51等SNS网热几时退潮</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Web Services Security</title><link>http://www.cnblogs.com/idior/archive/2006/05/16/354066.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Tue, 16 May 2006 01:57:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/16/354066.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/354066.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/16/354066.html#Feedback</comments><slash:comments>35</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/354066.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/354066.html</trackback:ping><description><![CDATA[<span lang=EN-US style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">本系列将介绍有关Web Services 安全有关的内容，其中涉及技术: XML Signature，XML Encryption和SAML,WS-Security，WS-Trust等等。在本系列的文章中将主要关注其原理，以及个人对相关技术的理解。在MS不断更新的WSE系列中，安全可以算是其中的重要内容，如果可能将结合原理用WSE做一些技术实践。<br><br><a href="http://idior.cnblogs.com/articles/353923.html" target=_blank><font color=#223355>Web Services Security --- Introduction</font></a> <br>在本文中将对WS安全所面临的一些问题做简单介绍，并在介绍现有的基于SSL的Web Service安全解决的基础上指出其不足，引出对WS-Security的介绍。<font size=3> <br></font><br><a href="http://idior.cnblogs.com/articles/354840.html">XML-Signature</a><br>本文介绍了XML-Signature的结构以及创建验证过程。 <br><br><a href="http://idior.cnblogs.com/articles/376308.html">XML-Encryption</a><br>本文介绍了XML-Encryption的结构以及创建验证过程。<br><br><br><a href="http://idior.cnblogs.com/articles/380543.html">WS-Security Core<br></a>本文介绍了WS-Security与XML-Signature和XML-Encryption的联系以及其组织结构。<font size=3>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><a href="http://idior.cnblogs.com/articles/381534.html"><font size=3>UsernameToken</font></a><font size=3>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文结合WSE介绍了WS-Security中的使用Username&amp;Password方式的Security Token。&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font size=3><span style="COLOR: #0000ff">BinaryToken<br></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><a href="http://idior.cnblogs.com/articles/384199.html" target=_blank><font size=3>KerberosToken</font></a><br><font size=3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文结合WSE介绍了WS-Security中的使用Kerberos协议的Security Token。&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><a href="http://idior.cnblogs.com/articles/382432.html" target=_blank><font size=3>X.509Token<br></font></a><font size=3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文结合WSE介绍了WS-Security中的使用X.509证书的Security Token。&nbsp;</font><br><font size=3>&nbsp;<br><span style="COLOR: #0000ff">Identity Federation<br></span></font>本文介绍了身份联盟的产生的背景，以及以往方法的缺陷，在此基础上引出新的方法---WS-Federation。<br>涉及技术： SSO, SAML,WS-Security,WS-Trust,WS-Federation.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://idior.cnblogs.com/archive/2006/05/08/393743.html" target=_blank>Part 1<br></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;介绍背景和现有以往解决方案，为了避免以往的缺陷，本文引出了采用SAML来实现Portabel Identity的方法，并对SAML的语法和原理做了简单介绍。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://idior.cnblogs.com/archive/2006/05/15/400260.html">Part 2<br></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 介绍了一个使用SAML，WS-Trust以及WS-Security来实现身份联邦的完整示例，其中涉及了如何获取SAML Token并如何使用它来保障Web Services的安全。在文章的结尾引出对WS-Federation规范的介绍。<br></span><br><br>相关资源<br><a href="http://www.cnblogs.com/idior/archive/2006/06/28/431017.html" target=_blank>WS-Addressing 从理论到实践 ---SOA基础规范介绍<br></a>
<img src ="http://www.cnblogs.com/idior/aggbug/354066.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42786/" target="_blank">[新闻]Ubuntu 8.10 Beta版发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Pass Value or Referrence</title><link>http://www.cnblogs.com/idior/archive/2006/05/07/393155.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sun, 07 May 2006 05:20:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/07/393155.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/393155.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/07/393155.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/393155.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/393155.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img style="WIDTH: 536px; HEIGHT: 431px" height=431 alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/Value_Vs_Ref.jpg" width=536 border=0><br><br>传值还是传引用？ 传值就是传红色的部分，传引用就是绿色的部分，不需要一句废话。 
<img src ="http://www.cnblogs.com/idior/aggbug/393155.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42785/" target="_blank">[新闻]Windows XP寿命延期6个月</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>RhinoMock2 续(TDD Mock)</title><link>http://www.cnblogs.com/idior/archive/2006/05/05/392228.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 05 May 2006 13:15:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/05/392228.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/392228.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/05/392228.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/392228.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/392228.html</trackback:ping><description><![CDATA[在去年8月份我曾经写过两篇<A href="http://idior.cnblogs.com/archive/2005/08/08/209351.html" target=_blank>介绍RhinoMock的文章</a>，最近有人在评论中指出在文章介绍的Mock对象的创建方式在新版本的RhinoMock中不再支持。由于我最近一直没有使用RhinoMock，于是我特地去查了一下有关资料，发现卢彦在去年12月份写的<a href="http://www.agilelabs.cn/blogs/linkin/archive/2005/12/15/261.aspx" target=_blank>一篇文章</a>中同样出现了这个问题，我赶紧到RhinoMock的讨论组查了一下资料，发现我之前的使用方法确实出了问题，该方法被Ayende cut掉了。为了避免我的文章继续"误人子弟", 特在本文中做一下解释，同时补充介绍一下RhinoMock的功能。<br><br><A href="http://idior.cnblogs.com/articles/389949.html" target=_blank>阅读全文 </a>
<img src ="http://www.cnblogs.com/idior/aggbug/392228.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42784/" target="_blank">[新闻]德国研究人员:革新报业 折叠屏幕即将成为现实</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SICP 习题1.11</title><link>http://www.cnblogs.com/idior/archive/2006/05/05/392156.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Fri, 05 May 2006 10:00:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/05/392156.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/392156.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/05/392156.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/392156.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/392156.html</trackback:ping><description><![CDATA[<p><br>(define (f n)<br>&nbsp; (if (&lt; n 3)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (f-iter 0 1 2 n)))</p>
<p>(define (f-iter a b c count)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= count 2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (f-iter b c (+ c (* 2 b) (* 3 a)) (- count 1))))<br><br>(f-iter a b c count)<br><br>(f-iter b c (+ c (* 2 b) (* 3 a)) (- count 1))))<br><br>a=b b=c c=3a+2b+c<br><br>没什么好说的迭代就是比递规强，就是那个count-change的例子比较郁闷，不知道后面是怎么优化的。<br></p>
<img src ="http://www.cnblogs.com/idior/aggbug/392156.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42784/" target="_blank">[新闻]德国研究人员:革新报业 折叠屏幕即将成为现实</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SICP 习题1.9 </title><link>http://www.cnblogs.com/idior/archive/2006/05/04/391494.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Thu, 04 May 2006 06:33:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/04/391494.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/391494.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/04/391494.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/391494.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/391494.html</trackback:ping><description><![CDATA[<p>SICP 1.9 这部分内容主要描述了递规和迭代的区别，很有意思。虽然形式上它们都是以递规函数的形式出现但是在思想上却大不相同， 递规的效率也比迭代差很多，而通常高级语言中递规函数是无法实现迭代的功能的（scheme为什么能实现以后才介绍) ,而是靠循环来实现迭代。</p>
<p>递规和迭代的重要区别就是，当它们在运行过程中被中止的时候，迭代仅仅依靠函数的参数就可以恢复执行，而递规则需要程序运行中的一些其他状态来恢复执行。</p>
<p>而且从递规函数的定义上可以看出<br>(define (factorial n)<br>&nbsp; (if (= n 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (* n (factorial (- n 1)))))</p>
<p>(define (+ a b)<br>&nbsp; (if (= a 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (inc (+ (dec a) b))))</p>
<p>其一般形式如下，<br>(define (f x)<br>&nbsp;&nbsp; if (p)<br>&nbsp;&nbsp; e<br>&nbsp;&nbsp; (g (f x)))<br>可以看出返回结果不是(f x)的形式，往往(f x)被包含在另外的函数中<br></p>
<p>而迭代则往往返回结果也是(f x)的实现只不过参数变了<br>(define (factorial n)<br>&nbsp; (fact-iter 1 1 n))</p>
<p>(define (fact-iter product counter max-count)<br>&nbsp; (if (&gt; counter max-count)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; product<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (fact-iter (* counter product)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (+ counter 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; max-count)))</p>
<p>(define (+ a b)<br>&nbsp; (if (= a 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (+ (dec a) (inc b))))<br><br>而且如我在习题1.6中指出递规函数都是以sepecial form的形式出现的。</p>
<img src ="http://www.cnblogs.com/idior/aggbug/391494.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42783/" target="_blank">[新闻]CERN公布大型电子对撞机计算网格情况</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SICP  习题1.6</title><link>http://www.cnblogs.com/idior/archive/2006/05/01/390429.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 01 May 2006 15:54:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/05/01/390429.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/390429.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/05/01/390429.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/390429.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/390429.html</trackback:ping><description><![CDATA[<p>(define (new-if pre thenc elsec)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cond (pre thenc) (else elsec)))</p>
<p>(define (squa-it guess x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (new-if (goodenough? guess x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; guess<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (squa-it(improve guess x) x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))</p>
<p>(define (improve guess x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (avg guess (/ x guess)))</p>
<p>(define (avg x y) (/ (+ x y) 2))</p>
<p>(define (goodenough? guess x)<br>&nbsp;&nbsp;&nbsp;&nbsp; (&lt; (abs (- (square&nbsp; guess) x)) 0.001))<br>(define (sqrt x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (squa-it&nbsp;1 x))<br>(define (square x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (* x x))</p>
<p>其中可以发现由于使用了自定义的new-if procedure 按照scheme的applicative-order evaluation方式，pre thenc elsec这三个表达式都要被计算，这样的话一旦在某个表达式中再次出现调用该new-if的表达式就陷入死循环。为了避免死循环，一个方法就是不出现递规，显然这不现实，因为很多计算方法都用到了递规的思想，还有一个办法就是可以在某些时候停止递规， 如果使用special form就可以不必计算所有表达式比如cond if. 比如上面的方法改写成下面这样就不会出问题了。<br><br>(define (squa-it guess x)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cond ((goodenough? guess x) guess)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (else (squa-it(improve guess x) x))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))</p>
<img src ="http://www.cnblogs.com/idior/aggbug/390429.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42782/" target="_blank">[新闻]2008年10月4日科技博客精选</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>dotLucene 系列文章</title><link>http://www.cnblogs.com/idior/archive/2006/04/27/124373.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Thu, 27 Apr 2006 13:54:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/04/27/124373.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/124373.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/04/27/124373.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/124373.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/124373.html</trackback:ping><description><![CDATA[Introduce<a href="http://www.alphatom.com/content/view/115/69/"> <br>dotLucene 系列一 --- 一个小例子</a> <br><br>Index <br><a href="http://www.alphatom.com/content/view/121/69/">dotLucene 系列二 --- index 上</a> <br><a href="http://www.alphatom.com/content/view/123/69/">dotLucene 系列三 --- index 中</a> <br><a href="http://www.alphatom.com/content/view/127/69/">dotLucene 系列四 --- index 下 <br></a><br>Search <br><a href="http://www.alphatom.com/content/view/131/69/">dotLucene 系列五 --- search 上</a> <br><a href="http://www.alphatom.com/content/view/132/69/">dotLucene 系列五 --- search 下 <br></a><br>Analyse <br>... <br><br><a style="COLOR: red" href="/idior/category/21216.html">本地链接</a><br><br><a href="/Files/idior/dotLuceneTest.rar">测试代码下载</a><br><br>参考资料 :&nbsp;&nbsp; "Lucene in Action" 
<img src ="http://www.cnblogs.com/idior/aggbug/124373.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42781/" target="_blank">[新闻]Facebook联合创始人离职创业</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Shared Source Common Language Infrastructure 2.0 Release</title><link>http://www.cnblogs.com/idior/archive/2006/03/25/358389.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Sat, 25 Mar 2006 02:43:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/03/25/358389.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/358389.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/03/25/358389.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/358389.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/358389.html</trackback:ping><description><![CDATA[<a href="http://www.microsoft.com/downloads/details.aspx?familyid=8c09fd61-3f26-4555-ae17-3121b4f51d4d&amp;displaylang=en">Shared Source Common Language Infrastructure 2.0 Release</a><br><br>The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification. This implementation builds and runs on Windows XP.
<img src ="http://www.cnblogs.com/idior/aggbug/358389.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42778/" target="_blank">[新闻]《商业周刊》：诺基亚的移动网络梦想</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Kerberos简介</title><link>http://www.cnblogs.com/idior/archive/2006/03/20/354027.html</link><dc:creator>idior</dc:creator><author>idior</author><pubDate>Mon, 20 Mar 2006 07:24:00 GMT</pubDate><guid>http://www.cnblogs.com/idior/archive/2006/03/20/354027.html</guid><wfw:comment>http://www.cnblogs.com/idior/comments/354027.html</wfw:comment><comments>http://www.cnblogs.com/idior/archive/2006/03/20/354027.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/idior/comments/commentRss/354027.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/idior/services/trackbacks/354027.html</trackback:ping><description><![CDATA[<span>Kerberos</span><span>协议：</span>
<p><span>Kerberos</span><span>协议主要用于计算机网络的身份鉴别</span><span>(Authentication), </span><span>其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据</span><span>(ticket-granting ticket)</span><span>访问多个服务，即</span><span>SSO(Single Sign On)</span><span>。由于在每个</span><span>Client</span><span>和</span><span>Service</span><span>之间建立了共享密钥，使得该协议具有相当的安全性。<br><br><strong style="FONT-SIZE: 18pt">条件</strong></span></p>
<p><span>先来看看</span><span>Kerberos</span><span>协议的前提条件：</span></p>
<p><span>如下图所示，</span><span>Client</span><span>与</span><span>KDC</span><span>，</span><span> KDC</span><span>与</span><span>Service </span><span>在协议工作前已经有了各自的共享密钥，并且由于协议中的消息无法穿透防火墙，这些条件就限制了</span><span>Kerberos</span><span>协议往往用于一个组织的内部，</span> <span>使其应用场景不同于</span><span>X.509 PKI</span><span>。</span></p>
<p><img height=471 alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/kerberos1.jpeg" width=487 border=0>&nbsp;</p>
<p><span><strong style="FONT-SIZE: 18pt">过程</strong><br><br>Kerberos</span><span>协议分为两个部分：</span></p>
<p><span>1 . Client</span><span>向</span><span>KDC</span><span>发送自己的身份信息，</span><span>KDC</span><span>从</span><span>Ticket Granting Service</span><span>得到</span><span>TGT(ticket-granting ticket)</span><span>，</span> <span>并用协议开始前</span><span>Client</span><span>与</span><span>KDC</span><span>之间的密钥将</span><span>TGT</span><span>加密回复给</span><span>Client</span><span>。</span></p>
<p><span>此时只有真正的</span><span>Client</span><span>才能利用它与</span><span>KDC</span><span>之间的密钥将加密后的</span><span>TGT</span><span>解密，从而获得</span><span>TGT</span><span>。</span></p>
<p><span>（此过程避免了</span><span>Client</span><span>直接向</span><span>KDC</span><span>发送密码，以求通过验证的不安全方式）</span></p>
<p><span>2. Client</span><span>利用之前获得的</span><span>TGT</span><span>向</span><span>KDC</span><span>请求其他</span><span>Service</span><span>的</span><span>Ticket</span><span>，从而通过其他</span><span>Service</span><span>的身份鉴别。</span></p>
<p>&nbsp;<span>Kerberos</span><span>协议的重点在于第二部分，简介如下：</span></p>
<p>&nbsp;</p>
<p><img height=391 alt="" src="http://www.cnblogs.com/images/cnblogs_com/idior/kerberos2.jpeg" width=547 border=0></p>
<p><span><span>1．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>Client</span><span>将之前获得</span><span>TGT</span><span>和要请求的服务信息</span><span>(</span><span>服务名等</span><span>)</span><span>发送给</span><span>KDC</span><span>，</span><span>KDC中的<span>Ticket Granting Service</span></span><span>将为</span><span>Client</span><span>和</span><span>Service</span><span>之间生成一个</span><span>Session Key</span><span>用于</span><span>Service</span><span>对</span><span>Client</span><span>的身份鉴别。然后</span><span>KDC</span><span>将这个</span><span>Session Key</span><span>和用户名，用户地址（</span><span>IP</span><span>），服务名，有效期</span><span>, </span><span>时间戳一起包装成一个</span><span>Ticket(</span><span>这些信息最终用于</span><span>Service</span><span>对</span><span>Client</span><span>的身份鉴别</span><span>)</span><span>发送给</span><span>Service</span><span>，</span> <span>不过</span><span>Kerberos</span><span>协议并没有直接将</span><span>Ticket</span><span>发送给</span><span>Service</span><span>，而是通过</span><span>Client</span><span>转发给</span><span>Service.</span><span>所以有了第二步。</span></p>
<p><span><span>2．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>此时</span><span>KDC</span><span>将刚才的</span><span>Ticket转发</span><span>给</span><span>Client</span><span>。由于这个</span><span>Ticket</span><span>是要给</span><span>Service</span><span>的，不能让</span><span>Client</span><span>看到，所以</span><span>KDC</span><span>用协议开始前</span><span>KDC</span><span>与</span><span>Service</span><span>之间的密钥将</span><span>Ticket</span><span>加密后再发送给</span><span>Client</span><span>。同时为了让</span><span>Client</span><span>和</span><span>Service</span><span>之间共享那个秘密</span><span>(KDC</span><span>在第一步为它们创建的</span><span>Session Key)</span><span>，</span><span> KDC</span><span>用</span><span>Client</span><span>与它之间的密钥将</span><span>Session Key</span><span>加密随加密的</span><span>Ticket</span><span>一起返回给</span><span>Client</span><span>。</span></p>
<p><span><span>3．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>为了完成</span><span>Ticket</span><span>的传递，</span><span>Client</span><span>将刚才收到的</span><span>Ticket</span><span>转发到</span><span>Service. </span><span>由于</span><span>Client</span><span>不知道</span><span>KDC</span><span>与</span><span>Service</span><span>之间的密钥，所以它无法算改Ticket中的信息。同时</span><span>Client</span><span>将收到的</span><span>Session Key</span><span>解密出来，然后将自己的用户名，用户地址（</span><span>IP</span><span>）打包成</span><span>Authenticator</span><span>用</span><span>Session Key</span><span>加密也发送给</span><span>Service</span><span>。</span></p>
<p><span><span>4．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>Service </span><span>收到</span><span>Ticket</span><span>后利用它与</span><span>KDC</span><span>之间的密钥将</span><span>Ticket</span><span>中的信息解密出来，从而获得</span><span>Session Key</span><span>和用户名，用户地址（</span><span>IP</span><span>），服务名，有效期。然后再用</span><span>Session Key</span><span>将</span><span>Authenticator</span><span>解密从而获得用户名，用户地址（</span><span>IP</span><span>）将其与之前</span><span>Ticket</span><span>中解密出来的用户名，用户地址（</span><span>IP</span><span>）做比较从而验证</span><span>Client</span><span>的身份。</span></p>
<p><span><span>5．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>如果</span><span>Service</span><span>有返回结果，将其返回给</span><span>Client</span><span>。</span></p>
<p><strong style="FONT-SIZE: 18pt">总结</strong></p>
<p><span>概括起来说</span><span>Kerberos</span><span>协议主要做了两件事</span></p>
<p><span><span>1．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>Ticket</span><span>的安全传递。</span></p>
<p><span><span>2．<span>&nbsp;&nbsp;&nbsp; </span></span></span><span>Session Key</span><span>的安全发布。</span></p>
<p><span>再加上时间戳的使用就很大程度上的保证了用户鉴别的安全性。并且利用</span><span>Session Key，在通过鉴别之后</span><span>Client</span><span>和</span><span>Service</span><span>之间传递的消息也可以获得</span><span>Confidentiality(机密性), Integrity(完整性)</span><span>的保证。不过由于没有使用非对称密钥自然也就无法具有抗否认性，这也限制了它的应用。不过相对而言它比</span><span>X.509 PKI</span><span>的身份鉴别方式实施起来要简单多了。</span></p>
<p><span>推荐资料：</span></p>
<p><span><a href="http://blog.joycode.com/peon/articles/18657.aspx" target=_blank>Kerberos<span><span>的原理</span></span></a></span></p>
<p><span><a href="http://www.isi.edu/gost/publications/kerberos-neuman-tso.html" target=_blank>Kerberos: An <b><span>Authentication</span></b><span> </span><b><span>Service</span></b><span> </span><b><span>for</span></b><span> </span><b><span>Computer</span></b><span> </span><b><span>Networks</span></b></a><br><br><A href="http://idior.cnblogs.com/archive/2006/04/21/354066.html" target=_blank><A href="http://idior.cnblogs.com/archive/2006/04/21/354066.html" target=_blank>Web Services Security系列文章</a>&nbsp;</a></span></p>
<img src ="http://www.cnblogs.com/idior/aggbug/354027.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42774/" target="_blank">[新闻]Friendster正式兼容Facebook开放平台插件</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nb