孙展波:实现.NET无限潜力

Realize .NET Potential (中文版)
随笔 - 430, 评论 - 12203, 引用 - 54

导航

关于

贴子以"现状"提供且没有任何担保也没有授予任何权利。
计数器(2005/12/8起).点击阅读我的Blog In English

标签

每月存档

最新留言

广告

【第1页/共2页,30条】
首页
前页
1

快讯!.NET Quiz季度擂台赛7月2日火热登场

从7月2日周末休闲之.NET Quiz (7)开始,全新的季度擂台赛将拉开序幕。Quiz的发布时间将固定在北京时间中午12点半左右(原先时间是上午10点左右)。

为确定每月和季度的获奖名单,我遵循以下的积分规则:

  1. 第一个答对并且给出适当解释的回答,每一题积一分。我会及时肯定其正确性。这样能大大缩短回答出全部题目所需时间。
  2. 最后剩下的没有正确回答的一道题目,能答对并且给出适当解释的,除了(1)的一分之外,再奖励一分。很明显这道题未必是序列最后的题,而是在特定的那一天对特定的答题者而言最难答对的题目。
  3. 如果某人能第一个答对所有的题目并且给出适当解释,除了(1)和(2)的分数,再奖励一分。这个一分真的比较难拿到。
  4. 每周我可以酌情奖励分,给很有见解或者很有效的回答及讨论。每周我能支配的奖励分最多为3分(每次一分,共3次)。但是我可以用不到3分。所以请大家真知灼见,畅所欲言。
  5. 每月按照各周积分总和评出一等奖1名,奖品是微软休闲衬衣;二等奖2名,奖品是微软名片夹;三等奖3名,奖品是微软藏青色T恤。
  6. 在同样分数但是需要分出名次的情况下,以得到最后那一分的时间先后为序。
  7. 每个季度中如果有人至少在任意2个月中获得一等奖,还将获得季度擂台赛擂主奖,奖品是微软无线宝蓝鲨(鼠标)。此奖可能空缺。
  8. 礼轻意重,重在参与。
  9. 若要收到奖品,必须提供在中国大陆内的邮寄地址。

半年都过去了,七月不再是黑色的(高考)了。
但是炙热的SUN(太阳)依然火辣辣。
比7月的天气更热更火的,就是.NET Quiz季度擂台赛!

特别感谢Grace提供和发送奖品。

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-24 16:47:00 by zhanbos  评论(43) 阅读(3000)

玩的就是词藻(9) 职业介绍所

“职业介绍所”应该如何翻译?这张相片显示哈尔滨的一家职业介绍所把自己的牌子翻译成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 孙展波

posted on 2004-06-23 12:47:00 by zhanbos  评论(22) 阅读(6270)

2004/7/1 Bill Gates谈Seamless Computing

Bill Gates又要到北京做工作访问了,他还会在7月1日的微软新技术展望大会上做演讲。为了更好的为听讲做好准备,不妨先读一读他在WinHEC 2004上的演讲

必须事先注册才可以得到入场券。有blogger去的么?

posted on 2004-06-23 12:17:00 by zhanbos  评论(18) 阅读(2322)

Beginners' Roundtable (1): Property vs Method

问一:关于下面两段同样效果但是有什么区别呢? 它们都可以返回和设置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;}
    }
}

回答: 有以下几个要点:

  1. 第一个Class包含2Method方法/function函数;第二个Class包含一个property属性,确切的说是可读可写的property.

  2. 在本质上2者是非常相似的。对可读可写的property 而言,在.NET内部实现上也是2个函数。

  3. 但是在概念上,和对class 的设计上,methodproperty 是不同的。

  4. 从设计的角度看,例子中的name是适合作为property 的。一般认为property 常为名词,表示class的一些特性;method 常为动词,表示 class 能够发生的action.

  5. 从设计的角度看,另外一个考虑是:property的读写不应该是比较复杂/昂贵的操作;否则的话,考虑使用method.

  6. VS.NETpropertymethod的不同处理表现在:Tooltip会自动求出property的值。

问二: “property的读写不应该是比较复杂/昂贵的操作;否则的话,考虑使用method.”不好理解,可以详细点解释点吗?

回答:这些都是从usability的角度考虑。大多数人认为property的读写都是很快的操作。如果不是这样,好的设计就要求使用method。如果当你的Class的name 改变时,发生的不是简单的赋值操作,而是一个复杂的数据库的query和update。这种情况下,使用UpdateName这样的method就能够比一个property setter表达好很多。这些都是class designer需要考虑的。

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-22 11:44:00 by zhanbos  评论(145) 阅读(4003)

玩的就是词藻(1-8)

以下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 孙展波

posted on 2004-06-21 19:10:00 by zhanbos  评论(11) 阅读(2834)

周末休闲之.NET Quiz (6)

今天的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. 一路有你

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-20 12:35:00 by zhanbos  评论(77) 阅读(3676)

周末休闲之.NET Quiz (5)

在有些大学里面,周四也可以算作周末的开始了。这样的周末一直延续到周一。所以周二那一天各个娱乐场所最冷清。

今天的Quiz一共7道多项选择题。每题只有一个最合适的答案。对于将题目全部答对的第一位,将获得一个Gmail账号。如果第一位不需要Gmail账号,将由全部答对题目的第二位得到。依此类推。回答需要有简单解释或者出处。

第一题:有人说:使用ASP.NET Web应用程序的客户端需要安装有相同的或者兼容的.NET框架(Framework)。这个说法是  (0) 正确的       (1)错误的

 第二题:成功使用caspol -s off 之后,所有CodeAccessPermission子类(Sub ClassDerived 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 2005Command 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。

 

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-17 12:39:00 by zhanbos  评论(144) 阅读(3339)

体验Google的GMail (7)

最近几天Gmail增加了invitation的投放。相信其系统的能力得到了大大增强。大多数用户都是比较满意的。Gmail里面使用Javascript很是频繁,说明就是script也能做出很丰富功能的服务软件。

于是Yahoo Mail终于提供100M的免费空间了。如果付费可以有2G空间。但是据报通过中文yahoo申请的账号还是6M。也许是还没有更新。

通知:后天的.NET Quiz将提前到明天,因为后天我去参观新建的Seattle Public Library。不便之处,敬请谅解。

posted on 2004-06-16 08:29:00 by zhanbos  评论(20) 阅读(3787)

信息集装箱 (6-10)

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设置。欢迎参与。

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-15 13:12:00 by zhanbos  评论(15) 阅读(2660)

Pure XAML | 纯粹XAML 系列(3)

今天的Xaml例子演示如何使用DockPanel, FlowPanel以及Border控件控制UI Layout(布局)。除此之外,还请注意以下几点:

  1. FontSize和FontStyle的使用
  2. Margin的使用
  3. 指定颜色(确切的说:Brush)的方法
  4. 改变窗口的大小,观察布局的变化

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>

 

Layout Demo

posted on 2004-06-14 14:21:00 by zhanbos  评论(6) 阅读(2510)

6月18日.NET Quiz(5)特别Feature预告

深受广大读者欢迎的周末休闲之.NET Quiz将在本周五(2004年6月18日)中午12点半重新登场。对于将题目全部答对的第一位,将获得一个Gmail账号。如果第一位不需要Gmail账号,将由全部答对题目的第二位得到。依此类推。

从过去的经验来看,不会出现没有人全部答对题目的情况。可以多次回答,以最后一次回答(内容和回答时间)为准。回答需要有简单解释或者出处。部分题目取自Realize .NET Potential中文版blog的内容。

多谢各位支持和鼓励,愿博客堂越办越好!

posted on 2004-06-13 14:21:00 by zhanbos  评论(16) 阅读(2292)

周末休闲之最复杂的VS.NET出错对话框

有没有比下面这个对话框内容更长而且可供选择的按钮更多的VS.NET Dialog Box?

SaveasDiscardOverwriteIgnore

在我记忆里面,Web编程出错时出现的错误信息也是很长的。但是至今没有见过有5个或更多Button的VS.NET Dialog Box.

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-11 08:03:00 by zhanbos  评论(17) 阅读(2546)

Security随笔(7): 周末Quiz

假设某公司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.

贴子以"现状"提供且没有任何担保也没有授予任何权利。

posted on 2004-06-11 07:35:00 by zhanbos  评论(12) 阅读(2390)

.TEXT系统的Bug

已经写了6篇体验Google的Gmail而且我都将它们分类为IT.可是当我点击随笔分类下的IT分类时,我已经看不到体验(1)了!

难道一个分类只能最多显示15个随笔?这样的话分类的意义就不大了。至少应该做到分页显示。

posted on 2004-06-11 04:30:00 by zhanbos  评论(4) 阅读(2334)

热烈祝贺孙展波随笔突破三位数

希望在下一次目睹百年奇观——金星凌日前突破四位数。

只言片语,2004年6月10日,一路有你

posted on 2004-06-10 04:04:00 by zhanbos  评论(21) 阅读(2421)

【第1页/共2页,30条】
首页
前页
1

Powered by: Joycode.MVC引擎 0.5.2.0