从7月2日周末休闲之.NET Quiz (7)开始,全新的季度擂台赛将拉开序幕。Quiz的发布时间将固定在北京时间中午12点半左右(原先时间是上午10点左右)。
为确定每月和季度的获奖名单,我遵循以下的积分规则:
- 第一个答对并且给出适当解释的回答,每一题积一分。我会及时肯定其正确性。这样能大大缩短回答出全部题目所需时间。
- 最后剩下的没有正确回答的一道题目,能答对并且给出适当解释的,除了(1)的一分之外,再奖励一分。很明显这道题未必是序列最后的题,而是在特定的那一天对特定的答题者而言最难答对的题目。
- 如果某人能第一个答对所有的题目并且给出适当解释,除了(1)和(2)的分数,再奖励一分。这个一分真的比较难拿到。
- 每周我可以酌情奖励分,给很有见解或者很有效的回答及讨论。每周我能支配的奖励分最多为3分(每次一分,共3次)。但是我可以用不到3分。所以请大家真知灼见,畅所欲言。
- 每月按照各周积分总和评出一等奖1名,奖品是微软休闲衬衣;二等奖2名,奖品是微软名片夹;三等奖3名,奖品是微软藏青色T恤。
- 在同样分数但是需要分出名次的情况下,以得到最后那一分的时间先后为序。
- 每个季度中如果有人至少在任意2个月中获得一等奖,还将获得季度擂台赛擂主奖,奖品是微软无线宝蓝鲨(鼠标)。此奖可能空缺。
- 礼轻意重,重在参与。
- 若要收到奖品,必须提供在中国大陆内的邮寄地址。
半年都过去了,七月不再是黑色的(高考)了。
但是炙热的SUN(太阳)依然火辣辣。
比7月的天气更热更火的,就是.NET Quiz季度擂台赛!
特别感谢Grace提供和发送奖品。
贴子以"现状"提供且没有任何担保也没有授予任何权利。
“职业介绍所”应该如何翻译?这张相片显示哈尔滨的一家职业介绍所把自己的牌子翻译成Job Offer Office.
这样的翻译是不妥当的。Job Offer往往是你的工作单位决定雇佣你时给出的。Job Offer Office,如果真的需要有这样的office的话,一定是找工作的最后环节需要访问的office. 而“职业介绍所”往往是Job Seeker首先去访问的。
这个职业介绍所并不是要给谁Job Offer,而是要通过给别人介绍到别的地方工作而提取佣金。最佳翻译是Employment Agency(也有翻译为Job-placement Agency).
找工作的人,叫做job seeker. 工作申请表:job application.
有些人会区分job和career,中文的翻译应该是将2者含义区分开了。有一个比较幽默的说法:I love my career. It is my job that I hate.
玩的就是词藻(C)2004 孙展波
Bill Gates又要到北京做工作访问了,他还会在7月1日的微软新技术展望大会上做演讲。为了更好的为听讲做好准备,不妨先读一读他在WinHEC 2004上的演讲。
必须事先注册才可以得到入场券。有blogger去的么?
问一:关于下面两段同样效果但是有什么区别呢? 它们都可以返回和设置name:
One Class:
public class Class1Name
{
private string name;
public string GetName(){return name;}
public void SetName(string name){this.name=name; }
}
The Other Class:
public class Class2Name
{
private string name;
public string Name
{
get{return name;}
set{name=value;}
}
}
回答: 有以下几个要点:
- 第一个Class包含2个Method方法/function函数;第二个Class包含一个property属性,确切的说是可读可写的property.
- 在本质上2者是非常相似的。对可读可写的property 而言,在.NET内部实现上也是2个函数。
- 但是在概念上,和对class 的设计上,method和property 是不同的。
- 从设计的角度看,例子中的name是适合作为property 的。一般认为property 常为名词,表示class的一些特性;method 常为动词,表示 class 能够发生的action.
- 从设计的角度看,另外一个考虑是:property的读写不应该是比较复杂/昂贵的操作;否则的话,考虑使用method.
- VS.NET对property和method的不同处理表现在:Tooltip会自动求出property的值。
问二: “property的读写不应该是比较复杂/昂贵的操作;否则的话,考虑使用method.”不好理解,可以详细点解释点吗?
回答:这些都是从usability的角度考虑。大多数人认为property的读写都是很快的操作。如果不是这样,好的设计就要求使用method。如果当你的Class的name 改变时,发生的不是简单的赋值操作,而是一个复杂的数据库的query和update。这种情况下,使用UpdateName这样的method就能够比一个property setter表达好很多。这些都是class designer需要考虑的。
贴子以"现状"提供且没有任何担保也没有授予任何权利。
以下8期,首次发布在博客园上,显然属于非技术贴。然本人对这个系列兴趣不减,故移步博客园,作为我的较小比例的非技术贴出现。希望也有同样感兴趣的读者。
1) In recognition of, concurrence
2) ATM
3) Beat Report
4) getter vs setter
5) log off
6) free vs freedom
7) Pour Cold Water
8) 人生的第一桶金
博客园的.TEXT没有我提到的Bug呀。如果某个Category的内容过多,博客园的.TEXT会提供Full Archive的链接的。
而重粒子提出的问题:玩的是"词藻"还是"辞藻",请考证。 我在语文天地网学生天地小学版上看到,这两个词是通用的。
玩的就是词藻(C)2004 孙展波
今天的Quiz一共4道多项选择题。每题只有一个最合适的答案。部分题目答案可以从阅读本Blog 得到。对于将题目全部答对的第一位,将获得一个Gmail账号。如果第一位不需要Gmail账号,将由全部答对题目的第二位得到。依此类推。回答需要有简单解释或者出处。
可以多次回答,以最后一次回答(内容和回答时间)为准。
从下周开始,.NET Quiz将不再发送Gmail账号,从而大大加快得到正确答案的步伐。
第一组: CAS (Code Access Security) 是一个 ___ - based security system.
1.Access 2.Code 3.Evidence 4.Permission 5.Principal
第二组:.NET Compact Framework (.NET精简框架)支持:
1. COM Interop
2. Ngen.exe
3. P/Invoke (Platform Invocation)
4. .NET Remoting
第三组: 在类SuperList里面实现了Indexer函数: public string this [int index];当index不在合法的域之中时,该函数应该throw
1. NotSupportedException
2. IndexOutOfRangeException
3. InvalidOperationException
4. ArgumentOutOfRangeException
第四组: 请从下列四个选项中找到与众不同的一个 (这是送分题,答案为1)
1.只言片语2. 还要等么 3. 早安中国 4. 一路有你
贴子以"现状"提供且没有任何担保也没有授予任何权利。
在有些大学里面,周四也可以算作周末的开始了。这样的周末一直延续到周一。所以周二那一天各个娱乐场所最冷清。
今天的Quiz一共7道多项选择题。每题只有一个最合适的答案。对于将题目全部答对的第一位,将获得一个Gmail账号。如果第一位不需要Gmail账号,将由全部答对题目的第二位得到。依此类推。回答需要有简单解释或者出处。
第一题:有人说:使用ASP.NET Web应用程序的客户端需要安装有相同的或者兼容的.NET框架(Framework)。这个说法是 (0) 正确的 (1)错误的
第二题:成功使用caspol -s off 之后,所有CodeAccessPermission子类(Sub Class,Derived Class)的Demand都会成功,即不会throw SecurityException。这个说法是
(0)错误的 (1)有时正确有时错误 (2)正确的
第三题:从以下四个选项找到与众不同的一个:
(0)TripleDESCryptoServiceProvider; (1)DESCryptoServiceProvider;
(2)RC2CryptoServiceProvider; (3) RSACryptoServiceProvider;
第四题:代码为Monad的产品
(0) 是一个Build系统
(1) 是一个基于.NET的系统
(2) 必须运行在Longhorn操作系统之中
(3) 是VS.NET 2005的Command Window
(4) 是SQL Reporting Service
第五题:Avalon支持很多feature,但是不包括
(0) 3-D Animation(三维动画) (1) 2-D Animation
(2) Video (视频) (3) Audio (音频)
(4) Document Service(文本服务) (5) CSS(Cascading Style Sheets)支持
第六题:以下这段输出是用哪个工具时可能得到的?
Failed to delete registry key -- The system cannot find the file specified.
(0)caspol (1)regasm (2)sn (3)gacutil (4)ngen (5)permview ( 6 )vbc
第七题:在HTML中指定颜色如Hello所示。同样的颜色在XAML中的表示是
(0) Background="#3366CC" (1) Background="%3366CC"
(2) Background="*003366CC" (3) Background="#CC6633"
(4) Background="#51102204" (5) Background="%51102204"
( 6 )Background="*51102204" (7) Background="{51102204}"
欢迎在本周日中午同一时间参加周末休闲之.NET Quiz 6。
贴子以"现状"提供且没有任何担保也没有授予任何权利。
最近几天Gmail增加了invitation的投放。相信其系统的能力得到了大大增强。大多数用户都是比较满意的。Gmail里面使用Javascript很是频繁,说明就是script也能做出很丰富功能的服务软件。
于是Yahoo Mail终于提供100M的免费空间了。如果付费可以有2G空间。但是据报通过中文yahoo申请的账号还是6M。也许是还没有更新。
通知:后天的.NET Quiz将提前到明天,因为后天我去参观新建的Seattle Public Library。不便之处,敬请谅解。
6. 在ASP.NET程序中,我想知道用户有没有安装1.0版本的.NET框架。但是Request.Browser.ClrVersion属性只返回用户安装的最高版本。既然.NET支持Side-By-Side,我如何知道用户既安装了1.1也安装了1.0版本?
答:使用Request.Browser.GetClrVersions()方法。
7. 安装VS.NET2003以后创建C#项目是得到“VC package not installed or not registered”错误,怎么办?
答:参见KB320247.
8.将会有64位的.NET框架么?用现在的框架编译的assembly可以直接运行在64位框架上么?
答:将会有;可以。
9.博客堂的更新排行榜今天(2004/6/15)又有排名变化了?
答:说变就变。
10.这个周末的NET Quiz(5)有Gmail Account as Prize。但是每次你贴休闲的时候都是我在工作的时间没法上网,怎么办?
答:特别在本周日(2004/6/20)中午12:30增加.NET Quiz 6, 与Quiz(5)有相同的Prize设置。欢迎参与。
贴子以"现状"提供且没有任何担保也没有授予任何权利。
今天的Xaml例子演示如何使用DockPanel, FlowPanel以及Border控件控制UI Layout(布局)。除此之外,还请注意以下几点:
- FontSize和FontStyle的使用
- Margin的使用
- 指定颜色(确切的说:Brush)的方法
- 改变窗口的大小,观察布局的变化
Xaml文件和效果图如下所示:
<DockPanel xmlns="http://schemas.microsoft.com/2003/xaml">
<Border Background="LightBlue" DockPanel.Dock="Top">
<Text FontSize="14" FontStyle="italic">This is Header</Text>
</Border>
<Border DockPanel.Dock="Bottom" Background="LightYellow">
<Text FontSize="14" FontStyle="italic">This is Footer</Text>
</Border>
<Border DockPanel.Dock="Left" Background="#D6C8CC">
<DockPanel>
<Text Margin="5" DockPanel.Dock="Top" FontSize="20">Best Sites</Text>
<HyperLink Margin="5" DockPanel.Dock="Top" NavigateUri="http://blog.joycode.com">
Visit blog.joycode.com
</HyperLink>
<HyperLink Margin="5" DockPanel.Dock="Top" NavigateUri="http://msdn.microsoft.com">
Visit msdn.microsoft.com
</HyperLink>
</DockPanel>
</Border>
<Border DockPanel.Dock="Fill">
<DockPanel>
<FlowPanel DockPanel.Dock="Top">
<Button Height="20px" Width="80px" Margin="5,5,10,10">Sign In</Button>
<Button Height="20px" Width="90px" Margin="5,5,10,10">Sign Out</Button>
</FlowPanel>
<Border DockPanel.Dock="Fill" Background="LightGreen">
<DockPanel>
<Text DockPanel.Dock="Top" Margin="0,10,0,15" FontSize="15">Please read the poem below and answer questions:</Text>
<TextPanel FontSize="14" Background="LightGreen" Foreground="Blue">
枉凝眉:一个是阆苑仙葩,一个是美玉无瑕。若说没奇缘,今生偏又遇着他;若说有奇缘,如何心事终虚化!一个枉自嗟呀,一个空劳牵挂;一个是水中月,一个是镜中花。想眼中,能有多少泪珠儿?怎经得秋流到冬尽,春流到夏!
</TextPanel>
</DockPanel>
</Border>
</DockPanel>
</Border>
</DockPanel>

深受广大读者欢迎的周末休闲之.NET Quiz将在本周五(2004年6月18日)中午12点半重新登场。对于将题目全部答对的第一位,将获得一个Gmail账号。如果第一位不需要Gmail账号,将由全部答对题目的第二位得到。依此类推。
从过去的经验来看,不会出现没有人全部答对题目的情况。可以多次回答,以最后一次回答(内容和回答时间)为准。回答需要有简单解释或者出处。部分题目取自Realize .NET Potential中文版blog的内容。
多谢各位支持和鼓励,愿博客堂越办越好!
有没有比下面这个对话框内容更长而且可供选择的按钮更多的VS.NET Dialog Box?

在我记忆里面,Web编程出错时出现的错误信息也是很长的。但是至今没有见过有5个或更多Button的VS.NET Dialog Box.
贴子以"现状"提供且没有任何担保也没有授予任何权利。
假设某公司Dev部门.NET开发小组正在开发一个Full Trust将被部署到每个客户机的GAC上的Library.该小组内部CAS教程中有下列的一些要点。请问那几条是完全正确的?
1)对所有CodeAccessPermission-derived Classes的构造函数如public FileIOPermission(PermissionState state); 可以接受PermissionState.None和PermissionState.Unrestricted作为参数值,否则会throw InvalidEnumArgumentException.
2)如果一个函数中使用了Assert如FileIOPermission.Assert, 必须在函数体结束前调用静态函数CodeAccessPermission.RevertAssert(或者CodeAccessPermission.RevertAll).
3)Full Trust的Assembly,即使登录用户帐号不具有“管理员(Administrator)”的权限,还是Full Trust的.
4)使用托管代码无需担心Buffer Overrun.
贴子以"现状"提供且没有任何担保也没有授予任何权利。
已经写了6篇体验Google的Gmail而且我都将它们分类为IT.可是当我点击随笔分类下的IT分类时,我已经看不到体验(1)了!
难道一个分类只能最多显示15个随笔?这样的话分类的意义就不大了。至少应该做到分页显示。
希望在下一次目睹百年奇观——金星凌日前突破四位数。
只言片语,2004年6月10日,一路有你