RSS 2.0 Feed
2005-05 Entries
摘要:这是博客堂5月第34篇。截至在此时此刻,您可以在首页看到五月全部内容。换句话说,如果保持这样的更新速度,这篇文字将一直会在主页上显示到六月底。   不知不觉,我在博客堂的排名又有更新了!与其说这是因为我写的多,不如说这是因为别人写的少了。   这里的五月静悄悄。57位博客一共写了34篇,其数字是不能让很多读者有足够的兴趣经常访问。   我建议从六月开始,每位博客每周更新一篇或者更多。让五月的静谧,就成为回忆。让这篇文字从主页迅速消失。让我的排名越靠后越好。   以上文字,纯属个人观点...[阅读全文]

posted @ | Feedback (150) | Filed Under [ 只言片语 ]

摘要:一个类型的FullName是能够在一个Assembly(程序集)里唯一限定的名字,所以至少要有名称空间(Namespace)的信息。而一个类型的AssemblyQualifiedName则还要唯一限定了Assembly的名字。   如果Type t = typeof(bool);其Name, FullName和AssemblyQualifiedName分别是 Boolean System.Boolean System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089   如果Type t = typeof(Nullable<bool>);呢?能不能设想其FullName会是什么样的?   你会注意到其FullName中bool类型显示的是AssemblyQualifiedName。不能只使用bool的FullName,虽然System.Boolean是在其定义的assembly(即mscorlib)中唯一指定了此类型,在别的Assembly中也可能有另外一个类有着相同的FullName。所以,为了能够在一个Assembly中(也是mscorlib)唯一限定Nullable<bool>, bool必须使用AssemblyQualifiedName才正确。   如果Type t = typeof(Nullable<bool>);其Name, FullName和AssemblyQualifiedName分别是:   Nullable`1 System.Nullable`1[[System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] System.Nullable`1[[System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (4) | Filed Under [ C# FCL | 库函数 ]

摘要:有人问使用sealed声明密封类(sealed class)对于提高性能有帮助么?答案是肯定的。如果根据设计一个类可以被sealed,则我们应该这样做。   比如说,如果基类(base class)B中定义了虚函数,而sealed class S从B类衍生。对于一个类型为S的名为s的变量调用虚函数的代码,编译器可以确信s一定是类型为S的。但是如果类S实际上没有被sealed,则这个变量s可能是类S的衍生类的实例而这个衍生类同时又重写(override)了该虚函数。这时为了正确性,编译器必须以虚函数调用的方式执行该代码。这比直接执行的成本要高。   另外一个例子是attribute属性类。有一个FxCop的规则(Avoid unsealed attributes)专门检查定义的属性类是不是sealed。除了上面谈及的原因,还特别提到Attribute.GetCustomAttribute的API. 其解释如下:The .NET Framework class library provides methods for retrieving custom attributes. These methods search the attribute inheritance hierarchy by default; for example System.Attribute.GetCustomAttribute searches for the specified attribute type, or any attribute type that extends the specified attribute type. Sealing the attribute eliminates the search through the inheritance hierarchy, and can improve performance.   关于FxCop的讨论,请参看定制FxCop规则示例之一。   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (11) | Filed Under [ 性能|perf 设计指导 | Design Guideline ]

摘要:Aurora,极光,也有按照音译为欧若拉的,如“红橙黄绿蓝,五彩的欧若拉”。极光自然包括北极光(Aurora borealis)和南极光(Aurora australis)。   Aurora也是加拿大温哥华(Vancouver) MOBIFORM公司的一个产品名字。这是一个Xaml Visual Designer程序,直接读写Xaml文件(无特殊的project file,目前也不支持代码)。虽然程序不是很稳定,但是对于设计UI的确很有帮助,让Xaml有更好的效果。   Aurora对于初学Xaml的用户也是很有价值的,和XamlPad连用可以达到更好的学习效果。(XamlPad要稳定的多,但是功能也是有限的多。)   这是一个很有希望的软件。针对WinFx Beta1 RC的版本可以在其网站下载。当您安装Beta1 RC后,建议随即安装Aurora.   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (3) | Filed Under [ WPF/SilverLight ]

摘要:梦痴在一周多前来信问:您的文章中的例子是在Longhorn下的IE下直接打开的吗?我装了Longhorn,可是在LH下用IE打开Xaml文件时提示打开或保存却不能显示,这是为什么呢?   这是因为IE不再可以直接显示(host)Xaml格式的文件了。在PDC 2003的时候,IE是可以作为Xaml的Host的,详情可以参看我在2003年10月的Blog: Role of IE (in Running HelloPDC.xaml).   后来的变化取消了这个功能。所有的Xaml文件必须经过编译才能最终显示和运行。当然在学习和设计阶段,每次修改Xaml都要重新编译的话则太费时间,所以可以期待来自微软或第三方的Xaml Design-Time support。请参看我的关于XamlPad和Aurora的Blog.   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (3) | Filed Under [ WPF/SilverLight ]

摘要:本文从三个方面,说明(通过搜索引擎的帮助)使用互联网资源对于英语学习(主要是单词的积累)的有利之处。也适用于其他语种。   通过辞书记忆单词一直是一个有效的方法。但是有的单词的使用不是一两个例句可以说明的。有些单词对你是那么初次见面和/或定义模糊,你都怀疑有多少人用这样的词汇?对大多数的单词(正规教学,考试相关的单词),建议通过News Search看看在最近的新闻/评论之中是如何使用这个单词的。往往会发现:这个单词还是很有用处的,你更可以通过上下文更好的理解此单词。还可以很容易看出经常使用的搭配和句式是什么。举例:gregarious,postulate,chintzy 阅读也是学习的重要一环,毫无疑问,互联网可以看到各大报刊的文章。有的时候遇到一个不认识的单词,也通过字典得到了对应的汉语解释,但是仍然没有什么感性的认识。比如在New York's Plaza hotel has glittering garage sale这篇报道中有这样一句话:From minibars and martini glasses to king-size mattresses and crystal sconces, the hotel's merchandise filled its ballrooms and floors on the opening day of the six-week sale.查了字典,sconces译为壁突式烛台。到底什么是壁突式烛台呢,不是所有人都那么明确的。怎么办,用图像搜索。这一下子就清楚多了。 习惯用语和搭配常常是让人困惑的。比如观点是point of view,其复数型应该是"points of view"还是"point of views"呢?尝试分别搜索“points of view”和“point of views”。结果发现前者的hit数目是后者的几十倍。这一点虽然不是能够证明points of view正确的充分条件,但是这往往是足够让你作出正确选择的,尤其是检查了部分结果的来源后。也可以考虑使用News Search因为其source往往文体正式规范。  玩的就是词藻(C)2004-2005 孙展波...[阅读全文]

posted @ | Feedback (9) | Filed Under [ 玩的就是词藻 ]

摘要:每个上网络的人,都经历从新手到熟练的过程,最后大都对网上的各种Scam(骗局)有了足够的警惕。但是在这个过程中上当的人比比皆是。所以这些scam artists(骗子)的积极性是很高的,收获是不菲的。   有些Scam很是简易,关键是要迎合受众的兴趣。比如说,回答简单的调查表(survey)得到每个小时300美元的报酬是个很不错的交易啊,如果这是肯定付给的而不是需要通过抽奖得到的。   我的一个朋友在Gmail中阅读Ebay发出的拍卖结果的Email时,就读到了相关广告部分来自http://highestpaysurveys.com/的pitch(促销) 谈到回答Ebay调查就可以获得300美元。后来我也看见了类似的广告。   于是连到那个网页:参加这个计划得到无限会员资格(Unlimited Membership)通常是要$69.95,但是就在今天(网页上精确的显示了当天的日期和星期,如果计算机上的日期是正确的话),加入只要$39.95。   在网页上还有Members Login, 只有付费的会员才能得到如何致富的秘诀。很明显这是需要$39.95平时$69.95才能得到的信息,必须要登录正确才可以看到。而且,在这个登录页面http://highestpaysurveys.com/login.html,我用用户名ScamArtist密码GoToJail也的确被该网页立刻拒绝访问。   前后2个页面看起来都比较粗糙,真的会有人买帐么?用搜索引擎查“highestpaysurveys.com fraud”就会发现上当的人提醒别人注意的文字了。可惜将上当的人还没有学会使用搜索引擎做些调研。   在Gmail上做广告也是要钱的,所以这些骗子肯定是颇有收获的。当然网页也是要不断改进的,比如http://www.ahwa.org/ebay.html就是在我的Gmail中一样广告连到的不同位置。   说到这,还没有点题呢。为什么网页上精确的显示了当天的日期和星期?如何才能登录正确看到致富讯息?对于知道通过View|Source看网页源码和了解最基本客户端脚本(Client Side Script)的人来说是很简单的。   不幸的是,网络之大,是你可以避免自己不受骗局欺诈,却不能杜绝其他人的上当受骗。...[阅读全文]

posted @ | Feedback (7) | Filed Under [ 只言片语 IT ]

摘要:MSN中文网站全新发布了。可以通过www.msn.com.cn访问。虽然现在主页上还有MSN中国测试站点的链接,但是看来这2者指向同一个网页。   一个频道,一种精彩;更多频道,无穷精彩。现已开通的频道涵盖财经,数码,汽车,资讯与娱乐等。   目前距离搜狐等国内门户网站的内容和人气上都有不足,过一年后,再作比较。...[阅读全文]

posted @ | Feedback (9) | Filed Under [ IT ]

摘要:从对Avalon和Indigo Beta1 RC已经发布的留言反馈,可以看到有些朋友没有能够完全将开发环境设置好。于是今天我从一个全新的XP SP2的机器开始,一步步的将过程走了一遍。同时也提供了对所有下载路径的链接。您只需按部就班就可以开发Avalon程序了。   在此下载WinFxSetup.exe (2.16M) 运行WinFxSetup.exe. 选择安装所有组件包括MSXML 6.0 Parser, .NET Fx 2.0 Beta 2, "Indigo" and "Avalon" Beta1 RC。总下载为34M 如果机器上没有Visual Studio 2005 Beta2,则可以如我一样,安装Visual C# 2005 Express Edition.下载vcssetup.exe (2.63M) 运行vcssetup.exe,可以不选择下载MSDN Express Library Beta 2 (201M)和SQL 2005 Express Edition April CTP (38MB)。这样IDE本身的大小为29M. 下载WinFX SDK。这是一个351MB的ISO格式文件名为en_winfx_sdk_beta1_RC.iso 我用CD Writer将此文件装换成CD。如果没有Autorun,则运行Setup.exe. SDK安装完毕后,运行IDE, File | New Project可以看到模版(Templates)如Avalon Application, Avalon Express Application, Avalon Control Library, Avalon Navigation Application等。选择Avalon Application. 打开Window1.xaml,更新其内容如下。运行您的Avalon应用程序。  <Window x:Class="AvalonApplication1.Window1"     xmlns="http://schemas.microsoft.com/winfx/avalon/2005"     xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"     Text="Hello Blog Reader"     >     <Grid>             <TextBlock TextContent="天天想看:实现.NET无限潜力" FontSize="50" Foreground="Green" />     </Grid> </Window>   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (13) | Filed Under [ WPF/SilverLight ]

摘要:基于.NET 2.0 Beta2的Avalon和Indigo的Beta1 RC (Release Candidate)已经可以在此下载了。IDE的支持包括了Visual Studio 2005 Express版本。   这一次的发布又增加了一些新的功能也对过去的API做了更新和重组。比如Avalon增加了对Media的支持。安装前请先阅读Release Notes....[阅读全文]

posted @ | Feedback (6) | Filed Under [ WPF/SilverLight ]

摘要:搜狐的搜索引擎网站,Sogou,在今年改版以后搜索的性能有了长足的提高。为了和百度的帖吧相竞争,Sogou推出了说吧。Sogou也有新闻的搜索。   近期以beta出现的是音乐搜索和G邮箱(也可能将叫做Sogou邮箱)。这2个服务给我带来了面目一新的感觉。   G邮箱: 2G邮箱,直接在邮件中搜索,这些都与Gmail相当 系统稳定快速 无需邀请,创建邮箱十分便利 界面清晰,提供有效的过滤(Filter)功能 发信的时候也要填入验证码,有其不方便之处,但是其用意可以理解。 目前还是有大量的用户名存在,除了自己的名字外,我还有幸注册了redmond,微软的总部所在地。microsoft已经被人用了,不过msft居然还是被我拿到了。(GMail要求最少用户名长度为6,而G邮箱则只有最长不超过16的限制,不过我想一位的用户名应该是不存在了吧。)   开心,如果你要joycode的用户名,发email给我。   音乐搜索: 搜索速度快,链接非常可靠。 提供“相关专辑”的信息,使用户可以举一反三。 显示最近浏览历史。...[阅读全文]

posted @ | Feedback (8) | Filed Under [ IT ]