代码改变世界

[置顶]通知:正式迁移至新博客

2010-06-01 13:19 by Jeffrey Zhao, 28682 阅读, 收藏, 编辑
摘要: 博客迁移这事情已经有一段时间了,不过最近发现似乎还有许多朋友不知道这点,以为我怎么不写博客了——其实我还在写,写的还挺勤快的,只不过已经不继续同步到博客园了。这事儿说来也很遗憾,原本我打算两边同步更新,毕竟在博客园积累了大量人气,像我现在新博客的访问量少的可怜。不过从博客园吸引流量的做法也让一些朋友感到不满,主要是指关闭评论这件事情吧。我关闭评论,主要是因为不想在两边维护评论(一句话说两遍还是相当不DRY的如果dudu要引入第三方博客的合作机制,也要考虑一下这个问题)。权衡之下,还是主营新博客,如果没有特别的事情就不更新了吧。 我的新博客搬迁至http://blog.zhaojie.me,R.阅读全文

两则.NET高级技术人员的招聘信息

2011-06-22 00:57 by Jeffrey Zhao, 54254 阅读, 收藏, 编辑
摘要: 几小时前我在微博上发布了一条消息,表示我即将加入一家外企,而且完全是大家耳熟能详的IT公司之一,而且这个公司会让大家感到“意外”。于是大伙有猜微软的,也有猜Google,Apple,Oracle,HP等等,当然也有猜对的童鞋。在此公布答案,它便是传说中的IBM公司,我将在那里继续我的.NET程序员之旅。同时,我也希望可以找到一位同学可以帮助我目前在盛大创新院的项目继续良好地发展下去。阅读全文

上周末Jscex项目介绍的幻灯片

2011-05-16 14:06 by Jeffrey Zhao, 15315 阅读, 收藏, 编辑
摘要: 上周末,在风景秀丽的浙江大学校园内,举行了NodeParty杭州站的活动。我在活动上结合Node.js项目对Jscex进行了简单介绍,包括其设计目的,设计原则,使用方式,高级模式,组成部分等等。在场的许多朋友也提出了不少问题,我也一一作了解答或是演示。总体感觉还算不错,毕竟是亲手编写的项目,对其各方面还是了然于胸的。在此发布演讲用的幻灯片,希望能给不在现场的同学带来一些帮助。阅读全文

Jscex使用BSD授权协议正式发布

2011-04-22 00:18 by Jeffrey Zhao, 11599 阅读, 收藏, 编辑
摘要: 这次打算把Jscex好好搞一下了,其实很少会有技术方面的障碍能“轮到”我们去突破,但我觉得Jscex的确有机会,HTML 5、Node.js各个都是红火的玩意儿。前几天我花了两个晚上用半生不熟的中式英语写了一篇自认为比较完整的说明文字放到了Github上的项目首页上,没想到几个小时后便收到了StratifiedJS(一个与Jscex目标有些类似的项目)作者的邮件,提到了一些关于StratifiedJS的事情。我向他咨询了StratifiedJS的某些细节问题,也向他简单介绍了Jscex的实现原理。如今Jscex已经使用BSD授权协议正式发布(中文站也会在近期推出),再进行一些细节上的优化便要开始作推广了。阅读全文

Jscex项目现状:UglifyJS解析器及AOT编译器

2011-04-15 02:09 by Jeffrey Zhao, 13181 阅读, 收藏, 编辑
摘要: Jscex项目是我为了简化JavaScript异步的一个类库,支持任意JavaScript(ECMASCript 3)引擎。Jscex小巧而强大,可以极大地改善前端的AJAX及动画等场景的编程体验,同样也可以用在node.js进行服务器开发。从产生Jscex的想法到现在也有几个月的时间了,也一直想设法进行推广。在思考过程也发现了它在实际生产中可能会遇到的问题,于是前两个星期的主要工作,便是针对这些问题进行优化。首先我将Jscex的JavaScript分析器从Narcissus换成了UglifyJS,并基于node.js开发了一个简单的AOT编译器。接下来我也打算写个稍微详细一点的介绍,然后在国外社区看看反响如何。阅读全文

我们不是牛人,所以还是老老实实跟着兴趣走吧

2011-02-10 02:02 by Jeffrey Zhao, 31013 阅读, 收藏, 编辑
摘要: 前几天周筠老师写了篇博客,她认为兴趣十分重要,没有兴趣做不成事情。我对此十分同意,有亲身经历为证。更值得一提的是,这个亲身经历和技术或是职业方面的关系真不大,我对许多技术都感兴趣,一时还真难找出对比反差明显的东西。这次来说说我近几个月找到——或者说“找回”的兴趣,弹钢琴。在看来,这对我来说实在是“兴趣”的最佳例证了。阅读全文

分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发

2011-01-14 01:52 by Jeffrey Zhao, 22275 阅读, 收藏, 编辑
摘要: 在许多年前,“语言”就等同于“平台”,例如C,C++以及最早的Ruby和Python等等。但是随着技术发展,出现了一些通用的平台,例如.NET和Java,逐渐这些平台上的语言也越来越多。再后来,某些语言在不同平台上的实现也越来越多,事情也变得有些复杂。技术在发展,但是从目前社区的讨论中,我发现许多朋友的观念还没有跟上。简单地说,如今的观念,一定要从“语言即平台”切换成“语言及平台”,当分清“语言”和“平台”这两个不同事物之后,许多问题才能讨论地清楚。而且,这点对于.NET程序员来说尤为重要,因为C#语言可以说是目前“平台”、“实现”最为广泛的“语言”之一了。阅读全文

“花钱”购买App Hub Membership终于成功了

2011-01-11 01:52 by Jeffrey Zhao, 20662 阅读, 收藏, 编辑
摘要: 作为一个身在天朝的开发人员,要及早使用国外的服务总是一件杯具的事情,注册Windows Phone 7的App Hub Membership也不例外。不幸中的万幸,我工作于盛大创新院,这也是个奇妙的地方,身边的同事就有美国人,在他的帮助下,从提及注册信息到审核成功也只用了6、7个小时。说起来美国人在这方面的确占有十分重大的优势,不光是审核速度快(其他国家用户还需要等待GeoTrust主动联系,并提交更多信息,多花上2、3个工作日十分正常),连价格也便宜(年费只需99美金,前两天让荷兰的朋友帮忙注册需要99欧元),不得不长叹一声。阅读全文

第三届nBazaar技术交流会开始报名

2010-12-21 00:49 by Jeffrey Zhao, 8611 阅读, 收藏, 编辑
摘要: 为了错开年底密集的技术会议,第三届nBazaar技术交流会(即前“盛大创新院赞助的.NET技术交流会”)将于2011年1月15日举行。第三届的交流会将继续以往四场高质量的演讲,这也是确定nBazaar名称之后的第一次活动,希望nBazaar能够真正成为“集市”般热闹的社区活动。从现在开始,nBazaar技术沙龙的相关信息将逐渐集中至独立域名中,欢迎关注。阅读全文

Silverlight与微软技术(下):微软技术与技术学习

2010-11-05 00:17 by Jeffrey Zhao, 21879 阅读, 收藏, 编辑
摘要: 经常听到有人说微软的技术变化太快,持续性不好,让程序员追得很累。这种观点在微软技术社区内部和外部都有出现,似乎是一个不争的事实。但从我追随.NET平台这近十年的时间里,我并没有明显的感觉。微软的技术的确很多,但至少在.NET领域过渡性做的非常好,我没有任何疲惫之感。微软技术开拓了我的眼界,让我在微软内外许多技术方面越来越少有“新奇”的感觉,一切都是那么自然和稳妥。我现在就来仔细谈谈我在学习微软技术方面的经验与感受。阅读全文

Silverlight与微软技术(上):微软抛弃Silverlight了么?

2010-11-02 13:30 by Jeffrey Zhao, 26113 阅读, 收藏, 编辑
摘要: 话说,在最近的PDC上,微软的副总裁Bob Muglia说了类似的话“我们对Silverlight的策略改变了,我们要用HTML5来实现跨平台的应用程序”,于是乎,社区铺天盖地响起了“微软要抛弃Silverlight”的调调。出现这个说法并不奇怪,媒体转述一遍,再给社区理解一下,很正常。但是我觉得奇怪甚至有些恶心的是,当事实愈发明朗化的时候,冒出的一些莫名其妙,兴灾乐祸,事后诸葛还在愈演愈烈。这两天我在社区里看的很多说法,某些“评论家”连一些基本概念,如“Silverlight是Windows Phone 7的开发平台”都不清楚,就来捕风捉影,实在让我难以继续旁观。阅读全文

浅谈这次ASP.NET的Padding Oracle Attack相关内容

2010-09-25 02:28 by Jeffrey Zhao, 14593 阅读, 收藏, 编辑
摘要: 上一周爆出了一个关于ASP.NET的安全漏洞,有关这个漏洞的第一篇文章应该是ScottGu的说明,但是其中各方面谈的也是语焉不详。由于这个漏洞关系到“安全”这样敏感的话题,其中又涉及到密码学这样常人看不明白的技术,于是导致了各种猜测和推测,其中甚至与我对ASP.NET的了解所有矛盾,因此我觉得也大都不靠谱。中秋休息在家,我简单地了解了一下与这个漏洞有关的内容,总结出了一些“能够说服自己”的内容,在此记录下来。因此,这篇文章的面向读者是那些和我差不多的同学:对ASP.NET有所了解,但对密码学知之甚少。阅读全文

综述:编程语言的发展趋势及未来方向

2010-08-30 12:27 by Jeffrey Zhao, 27830 阅读, 收藏, 编辑
摘要: 这是一篇发表在《程序员》杂志8月刊的文章,是根据我对Anders Hejlsberg的演讲内容的翻译的缩写。原本的完整演讲内容有数万字,为了在杂志上发表因此简化成了五千字,因此如果您对完整内容感兴趣,不妨根据文末链接来访问完整内容,其中也包含大量分解的幻灯片以及代码。阅读全文

盛大创新院赞助第二届.NET技术交流会开始报名了!

2010-08-16 13:10 by Jeffrey Zhao, 9438 阅读, 收藏, 编辑
摘要: 自上次盛大创新院赞助的首届.NET技术交流会到现在已经有两个月,这意味着按照原来的“一季一次”的计划也已经离第二次的活动不远了,考虑到9月份的中秋和国庆假期将工作日和休息日搞的支离破碎,于是交流会的时间会略微有些提前。第二届交流会的形式与上次相同,将为您献上四场高质量的技术演讲。当然这次在内容上有了新的尝试,除了引入了算法及面向对象设计的内容之外,这次更是请到了“传说中的大侠”为大家带来有关Windows内核的深度内容。人数暂定为200人,事不宜迟,赶快报名吧。除了.NET社区的群众以外,也欢迎其他技术社区的朋友前来参与交流。事实上,我组织技术交流会的目的之一便是希望能够促进.NET社区与其他技术社区的交流及相互学习。阅读全文

NDC 2010视频下载:看看其他微软平台程序员们都在做什么

2010-07-13 15:19 by Jeffrey Zhao, 11785 阅读, 收藏, 编辑
摘要: NDC(Norwegian Developers Conference,挪威开发者大会)是一年一度的挪威最大的微软平台开发者大会,内容丰富,讲师阵容强大。NDC与PDC同为高端技术会议,但NDC与PDC的不同之处在于,PDC是微软官方会议,主要是面向微软资深产品的深入探讨。而NDC涉及的内容则广泛的多,包括了我所感兴趣的Java、Mono、IronRuby/Ruby on Rails、NoSQL方面的内容。这也就像我一直强调的那样,微软技术社区非常开放,微软平台上的太多程序员都能够非常热情地拥抱其他平台的技术。那些认为微软技术社区是井底之蛙的兄弟,殊不知你们的嘲笑反而体现了自身的狭隘。阅读全文

关于using及foreach的一点看法,及其他

2010-07-02 12:00 by Jeffrey Zhao, 18827 阅读, 收藏, 编辑
摘要: firelong雄文又起,其中的观点很多我看得不太懂,某些看懂的地方(如单向链表和List的遍历性能)感觉又不太对。不过firelong还有一些观点我是明白的,便是对于增加using和foreach这样的语言特性表示不满,觉得这是让语言变得臃肿,像foreach这样的设计模式,应该有类库提供。那么我们现在就来讨论一下这方面的问题吧。阅读全文

单链表与List<T>究竟哪个遍历速度快?

2010-07-02 01:21 by Jeffrey Zhao, 22091 阅读, 收藏, 编辑
摘要: firelong雄文又起,不过说实话,可能是这篇文章写的太简单了,其中的理由和结论都听得不是很明白。当然有一段话的意思很清楚(原话):“C#事件的背后是一个委托链表(单链表),单链表的遍历调用性能远低于数组链表(List)”。这句话让我比较纳闷,因为从我的直觉来说,两种做法之间即使性能有差距,也不该是“远高于”啊。不过我提出这个疑问之后,firelong回应到(还是原话)“间接指针移动,和i++哪个快慢很难辨析吗?”于是我想,还是做个试验吧。阅读全文

盛大创新院赞助首届.NET技术交流会 - 演讲录像及下载

2010-06-24 22:34 by Jeffrey Zhao, 7935 阅读, 收藏, 编辑
摘要: 经过几天的努力,终于将盛大创新院赞助的首届.NET技术交流会的演讲录像制作完成了。本来在现在的高清视频以外,我还想像Channel 9一样提供一些低码率的格式下载,但多次尝试都以失败告终,各中滋味难以言喻。因此目前只能给大家提供mov格式的高清视频下载,对于Windows下各类强大的播放器都不成问题。您也可以在线观看这些视频,不过上传至优酷后,发现除了清晰度较低外,甚至还有音画不同步的问题。我正在联系酷六网,会尽快用上质量更好的视频。阅读全文

盛大创新院赞助首届.NET技术交流会即将召开

2010-06-17 11:47 by Jeffrey Zhao, 5325 阅读, 收藏, 编辑
摘要: 由盛大创新院赞助的首届.NET技术大会将于6月19号下午1点召开,本次交流会请到了四位讲师,议题覆盖了F#、C#、Rails及架构等多个方面。我已经看过了各场演讲的幻灯片草稿,也很期待各位讲师在正式演讲中的表现。本次大会中,我们还获得了人民邮电出版社图灵教育赠送的20册图书,将会作为奖品赠送给在交流会中表现积极的听众。此外,我们还请到了酷六网的专业摄影师对演讲过程进行全程拍摄,并配合各位讲师自身的屏幕录像,将在后期合成为适合独立观看的演讲视频,让不能到场的朋友在线或是下载后观看。阅读全文

浅谈Java 7的闭包与Lambda表达式之优劣

2010-06-07 09:23 by Jeffrey Zhao, 14410 阅读, 收藏, 编辑
摘要: 前几天Oracle推出了Java 7官方的闭包与Lambda表达式的第一个实现,这基本上也是最终在正式版中的样式了。看了这个实现之后,我的第一感觉便是“丑”,当然不排除这是因为看惯了其他语言中实现的缘故。后来再仔细看了看又想了想,发现Java 7的实现也并非毫无可取之处,但似乎又感到某些做法上有一些问题。总之整个过程颇为有趣,决定将我的想法记录下来,希望可以吸引人来一起讨论一下。阅读全文

通知:正式迁移至新博客

2010-06-01 13:19 by Jeffrey Zhao, 28681 阅读, 收藏, 编辑
摘要: 博客迁移这事情已经有一段时间了,不过最近发现似乎还有许多朋友不知道这点,以为我怎么不写博客了——其实我还在写,写的还挺勤快的,只不过已经不继续同步到博客园了。这事儿说来也很遗憾,原本我打算两边同步更新,毕竟在博客园积累了大量人气,像我现在新博客的访问量少的可怜。不过从博客园吸引流量的做法也让一些朋友感到不满,主要是指关闭评论这件事情吧。我关闭评论,主要是因为不想在两边维护评论(一句话说两遍还是相当不DRY的如果dudu要引入第三方博客的合作机制,也要考虑一下这个问题)。权衡之下,还是主营新博客,如果没有特别的事情就不更新了吧。 我的新博客搬迁至http://blog.zhaojie.me,R.阅读全文

盛大创新院赞助首届.NET技术交流会开始报名了!

2010-05-13 14:36 by Jeffrey Zhao, 8555 阅读, 收藏, 编辑
摘要: 自从上次在博客中提到盛大创新院赞助.NET技术会议已经过去了一个半月,如今这件事情终于落实了。我为此准备了数千字的申请书,但老大看也不看便表示支持。他的说法是,只要办得热烈,有影响力,那么这样的活动绝对支持。为此,各场次演讲内容及会场等诸多事宜之后,现在“首届.NET技术交流会”正式进入报名阶段了。参与人数不设上限,多多益善,怕只怕会场会显得空旷。除了.NET社区的群众以外,也欢迎其他技术社区的朋友前来参与交流。事实上,我组织技术交流会的目的之一便是希望能够促进.NET社区与其他技术社区的交流及相互学习。阅读全文

编程语言的发展趋势及未来方向(3):函数式编程

2010-05-06 14:23 by Jeffrey Zhao, 11215 阅读, 收藏, 编辑
摘要: 这是Anders Hejlsberg在比利时TechDays 2010所做的开场演讲。由于最近我在博客上关于语言的讨论比较多,出于应景,也打算将Anders的演讲完整地听写出来。在上一部分中,Anders阐述了他眼中声明式编程的理念及DSL,并演示C#中一种内部DSL的形式:LINQ。在这一部分中,Anders谈及了声明式编程的另一个重要组成部分:函数式编程,并使用.NET平台上的函数式编程语言F#进行了演示。阅读全文

关于“程序员圈子”说几句废话

2010-04-28 23:55 by Jeffrey Zhao, 14823 阅读, 收藏, 编辑
摘要: 最近有人在TopLanguage上发了一条,怎么说,我个人感觉写的还不错的帖子。帖子的标题叫做“程序员的虚伪”,里面主要谈的是说如今在程序员社区里有这么一种不好的现象:话说一群人抱成团,有福同享有难同当,一荣俱容一损俱损,你方开张我来捧场,谁遇问题同仇敌忾。这样的风气造就了一些南郭先生,本事不大却感觉良好。这样的事情简直就是一出台湾偶像剧大陆白领剧,俗不可耐矫揉造作──这不就是在说我嘛。阅读全文

Why Java Sucks and C# Rocks(3):Attribute与Annotation

2010-04-25 23:40 by Jeffrey Zhao, 9448 阅读, 收藏, 编辑
摘要: 上一篇文章里我谈了Java和C#语言中对于基础类型的不同态度,我认为C#把基础类型视做对象的做法比Java更有“万物皆对象”的理念,使用起来也更为方便。此外,C#拥有一个Java 1.4所不存在的特性,即Attribute(自定义特性),而在之后的Java 5.0中也增加了类似的功能,这便是Annotation(标注)。那么,Attribute的作用是什么,Java中的Annotation和C#中的Attribute又有什么区别呢,Java 5.0中又从C# 1.0中吸收了哪些优点?我们现在就来关注这方面的问题。阅读全文

在QCon中了解到的一些有关Groovy和F#的内容

2010-04-24 10:25 by Jeffrey Zhao, 7871 阅读, 收藏, 编辑
摘要: 今天参加了QCon Beijing 2010的活动,第一天采访了Groovy和F#两种语言的技术领袖,在交流的过程中了解了不少内容,趁着还有一些印象就记点下来吧。Groovy方面这次来的是社区中贡献最多(没有之一)的Paul King,他也是《Groovy in Action》的作者之一。F#方面参加QCon的是Timothy Ng,年轻高大帅气,生于香港,四岁去加拿大,毕业后加入微软至今,目前是F#开发团队的Senior Dev Lead。与Tim晚餐时聊了许多,最大的收获是……发现我的英语也不是太哑巴嘛。阅读全文

Why Java Sucks and C# Rocks(2):基础类型与对象

2010-04-21 00:15 by Jeffrey Zhao, 7831 阅读, 收藏, 编辑
摘要: 既然已经谈过这次语言比较的意义与目的,而完整的幻灯片和录音也已经放出,那么接下来自然是详细讨论了。在这篇文章中,我会对两个语言的基本特征进行简单描述,并主要讨论两者对于基础类型的处理方式。在我看来,Java语言对于基础类型的处理方式,并不如C#中值类型般妥当。如果您有任何觉得不妥或是想要补充的意见,请不吝回复。由于C# 1.0发布于2002年,因此本文内容将基于Java 1.4及C# 1.0的情况。阅读全文

关于F#大家有什么问题吗?

2010-04-19 14:26 by Jeffrey Zhao, 9976 阅读, 收藏, 编辑
摘要: 本周五我将在QCon Beijing 2010中采访F#团队的Lead,Timothy Ng。如果对这门语言感兴趣或是相关内容的朋友,可以在文章下方回复一些问题给我(尽可能具体一些),我会有选择的作为采访内容。谢谢大家支持。阅读全文

幻灯片:Why Java Sucks and C# Rocks

2010-04-18 17:58 by Jeffrey Zhao, 11984 阅读, 收藏, 编辑
摘要: 昨天在5173与博客园联合举办的技术交流活动中进行了演讲,现在幻灯片终于可以放出了。当然,光看幻灯片本身的效果不大,在演讲过程中我进行了非常多的代码演示和说明,幻灯片本身只能算是一个提纲,因此各位没有来听演讲的朋友,还是等我慢慢地对这个话题进行详细讨论吧。只是有些话我不得不说:Java平台的开放只能反衬出一些Java粉丝的狭隘心态和视野。我一个封闭的微软平台的封闭的.NET程序员,无论从心态和眼界都比您要开阔,这还不够讽刺吗?阅读全文

Why Java Sucks and C# Rocks(1):比较的意义与目的

2010-04-17 00:09 by Jeffrey Zhao, 8613 阅读, 收藏, 编辑
摘要: 消息发布之后,许多朋友都表示对我这个主题的关注——无论是正面还是负面的——这让我很高兴。不过说实话,我原本并没有打算写这篇文章。我原本的打算是从一开始就进行技术方面的讨论,但是大家在前文的反馈让我把一些问题想得更清楚了,也认识到有些东西可能需要先说在前面可以有更好的效果。希望各位朋友可以继续给我一些反馈,这样我可以在必要的时候进行补充更完整的内容。这次的话题很有价值,我想把它做的更好。阅读全文

编程语言的发展趋势及未来方向(2):声明式编程与DSL

2010-04-14 21:33 by Jeffrey Zhao, 8451 阅读, 收藏, 编辑
摘要: 这是Anders Hejlsberg在比利时TechDays 2010所做的开场演讲。由于最近我在博客上关于语言的讨论比较多,出于应景,也打算将Anders的演讲完整地听写出来。在上一部分中,Anders指出语言本身在过去的数十年里并没有明显的发展,并给出了他眼中编程语言发展趋势的预测。在现在的第2部分中,Anders将阐述声明式编程的理念及DSL,并演示C#中一种内部DSL的形式:LINQ。阅读全文

编程语言的发展趋势及未来方向(1):历史回顾及趋势概述

2010-04-13 00:59 by Jeffrey Zhao, 9649 阅读, 收藏, 编辑
摘要: 这是Anders Hejlsberg在比利时TechDays 2010所做的开场演讲。由于最近我在博客上关于语言的讨论比较多,出于应景,也打算将Anders的演讲完整地听写出来。我希望这个讲座可以从侧面回答某些朋友关于“语言讨论是否有价值”的疑问,并且展示出目前语言的发展状况以及微软在这方面的努力。完整内容将分为多次发表,每天一小部分,每次大约10分钟的演讲内容。等不及的朋友也和可以下载演讲视频一睹为快。现在的第1部分则包含Anders对编程语言发展的历史回顾,以及对趋势简单概述。阅读全文

演讲预告:Why Java Sucks and C# Rocks

2010-04-11 16:53 by Jeffrey Zhao, 7245 阅读, 收藏, 编辑
摘要: 怎么样,这个标题是不是足够吸引眼球?嗯,我下个星期便打算在5173和博客园举办的技术交流会上讨论一下这个话题。原本这是一个为盛大创新院内部分享交流会准备的内容,不过正好5173要举办一个技术交流会──还有比那儿更适合这个话题的地方吗?直到现在,还有许多朋友认为,Java语言和C#的区别并不大,也有人认为C#只是语法糖比较多,没有什么特别的——而我现在便打算详细阐述C#是如何改变开发人员“编程理念”及“思维方式”,并在生产力上大大超越Java语言。我也打算在会后将这个内容详细地总结成一系列文章,除了发表在博客上,还会转载去一些Java开发社区,看看那儿的弟兄们对这个话题会怎么看。阅读全文

Keynote,对不起,我爱的是PowerPoint 2007

2010-04-08 18:40 by Jeffrey Zhao, 15247 阅读, 收藏, 编辑
摘要: 两个月前我加入了水果党,使用至今,感觉挺好,尤其是触摸板的多点触摸功能令人着迷。一直听许多果粉说Mac系统在艺术设计方面表现一流,其办公套件iWork更是远胜于Microsoft Office,后者的流行完全是“劣币驱逐良币”的结果。耳濡目染之下我自然对此期待万分,于是在Open Office及NeoOffice这两个免费的办公套件身上无法得到快感的情况下,兴冲冲地花费了近700块钱购买了一套正版的iWork。然后打开Keynote制作幻灯片,心想终于可以尝试一下超越PowerPoint 2007的产品了。可能是期望过高吧,初尝Keynote的感觉只能用“大失所望”来形容——而且,真的是我期望过高吗?阅读全文

F#与ASP.NET(2):使用F#实现基于事件的异步模式

2010-04-05 20:46 by Jeffrey Zhao, 6771 阅读, 收藏, 编辑
摘要: 在上一篇文章中,我们的简单讨论了.NET中两种异步模型以及它们在异常处理上的区别,并且简单观察了ASP.NET MVC 2中异步Action的编写方式。从中我们得知,ASP.NET MVC 2的异步Action并非使用了传统基于Begin/End的异步编程模型,而是另一种基于事件的异步模式。此外,ASP.NET MVC 2对于这种异步模式提供了必要的支持,使此方面的程序设计变得相对简单一些。但是,简单的原因主要还是在于已经由其他组件提供了良好的,基于事件的异步模式。那么现在我们就来看看一般我们应该如何来实现这样的功能,以及F#是如何美化我们的生活的吧。阅读全文

F#与ASP.NET(1):基于事件的异步模式与异步Action

2010-04-02 00:14 by Jeffrey Zhao, 6852 阅读, 收藏, 编辑
摘要: 提高ASP.NET应用程序伸缩性的有效手段之一便是使用异步请求。而在ASP.NET MVC 1中是不能直接支持异步Action的,因此我们需要使用一些简单的Hack方式来实现这一点。不过简单的Hack毕竟无法利用ASP.NET MVC的完整功能,幸好ASP.NET MVC 2已经正式支持ASP.NET中的异步请求处理方式,并且通过一种比较易于使用的方式提供给开发人员使用。只可惜,由于语言层面的约束,这种使用方式还是有些不便,而此时便是F#的用武之地了。阅读全文

最容易令初学者混乱的F#命令

2010-03-31 12:39 by Jeffrey Zhao, 5616 阅读, 收藏, 编辑
摘要: 话说,其实我也是F#的初学者,至少相对于C#等语言来说一定是这样的。而对于初学者,或是C#和F#混用的程序员来说,我认为最F#中最容易令人混乱的命令是Reference Cells的取值操作了。下面便详细谈谈这么说的原因,及建议的应对方法。阅读全文

如何成为一名优秀的博主(PPT)

2010-03-29 22:27 by Jeffrey Zhao, 8416 阅读, 收藏, 编辑
摘要: 如何成为一名优秀的博主?这是一个问题。我一直到处建议别人写博客,写技术博客,但是还真没想过或总结过这个问题。上个星期微软“社区经营计划”讲解了微软内部关于撰写优秀博客的一些方法和注意事项——同时微软的朋友也希望我分享一下我的经验,于是我制作了这份PPT。后来发现,我写的内容和微软的内部资料倒有相当部分不谋而合的地方,自然微软的资料更为美观,图示丰富,而我的内容则相对更有山寨的感觉。阅读全文

盛大创新院赞助.NET技术会议意见征询

2010-03-26 15:54 by Jeffrey Zhao, 9579 阅读, 收藏, 编辑
摘要: 各位可能大都知道,我于不久前加入了盛大创新院。最近我了解到,创新院这边对于社区开展技术会议的活动也是相当支持的,并且对每个社区的会议会有资金和人员上的支持。这几天我和副院长聊了一下,他表示只要组织得当,创新院也支持把技术交流会办成一个有规律的活动,定期举行。事实上,创新院已经赞助过多次Flash及产品设计方面的技术会议。当然,会议的目的是进行技术交流,对观众自然是完全免费的。因此,我打算在5月或6月份在上海举办一次.NET技术会议,在此征求一下您的意见。阅读全文

新博客评论使用方式介绍

2010-03-24 14:09 by Jeffrey Zhao, 4518 阅读, 收藏, 编辑
摘要: 新博客终于上线了,与旧博客不同的是,我在评论方面花了许多精力,希望可以提供一个优秀的评论方法。我对优秀的定义是“格式丰富,使用简单”,再加上由于是技术博客,因此对于代码片段也要有较好的支持。最终,我选择使用Markdown作为评论的输入标记。Markdown是一个轻量的标记规则,但对于评论应用来说也已经足够丰富了。Markdown的运用非常广泛,例如著名的编程网站Stack Overflow也使用了这种标记语言。事实上,我这篇评论使用方式的介绍也有相当部分是翻译自Stack Overflow编辑器的帮助,自然还有部分自定义的内容(主要是对于代码片段的支持)。阅读全文

F#中的异步及并行模式(3 - 下):代理的进一步使用

2010-03-21 18:19 by Jeffrey Zhao, 5318 阅读, 收藏, 编辑
摘要: 之前的文章中我们了解了F#中并行及交互式程序的编程方式。在本系列的第3部分中,我们会来探索F#中轻量级的,交互式的代理,以及与代理有关的一些模式,包括隔离的内部状态。(译注:由于原文内容较多,译文拆成两段进行。在上半段文章中讨论了代理的基本使用方式,而下半段则讨论关于代理使用中更进一步的模式。)阅读全文
使用Live Messenger联系我