代码改变世界

随笔分类 -  12. 技术尝鲜

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

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

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

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

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

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

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

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

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

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

MongoDB与Tokyo Tyrant性能比较(2):并发写入操作

2010-02-26 19:38 by Jeffrey Zhao, 18327 阅读, 收藏, 编辑
摘要: 在上一次的测试中我们比较了MongoDB与Tokyo Tyrant的Table Database两种存储方式的性能。不过由于条件限制,我只能在自己的MBP上测试,而这至少会带来两个问题。首先,真实环境下客户端和服务器是通过内网连接的,它的性能比本地回环要慢不少,一些和网络传输性能有关的问题可能会体现不出。其次,由于无法进行并发测试(并发测试的客户端资源占用较高,放在同一台机器上准确性较差),这又和生产环境有很大区别了。因此,我前两天向同事借了台性能测试用的机器,希望可以得到更可靠的结果。 阅读全文

MongoDB与Tokyo Tyrant性能比较(1):基础CRU操作

2010-02-24 23:45 by Jeffrey Zhao, 22925 阅读, 收藏, 编辑
摘要: 以前的项目大都把数据存放在关系型数据库中,但是它们的问题比较明显的,一是在数据量上升的情况下伸缩性比较差,且进行结构调整的代价比较高。因此现在有个所谓NoSQL的“运动”也逐渐普遍起来了,它便是借助一些非关系型存储方式来开发项目。因此在新项目里,我也想尝试一下使用之前一直只是“听说”的存储方式。MongoDB和Tokyo Tyrant都是其中的典型代表,那么现在就来比较一下它们对于基本CRU操作的性能。 阅读全文

从今日起正式加入水果党

2010-02-02 00:08 by Jeffrey Zhao, 11661 阅读, 收藏, 编辑
摘要: 想来我现在的笔记本也用了将近3年,虽然至今没有出现过任何问题,但更新换代似乎也不是件让人无法接受的事情——再加上老爸正好也需要一台笔记本,于是我想,不如就乘此机会升一下级吧。不过其实我本没有打算那么着急,只是两天前忽然出现了一个千载难逢的机会,一台十分便宜的MBP放在我面前,于是我当机立断,即刻入手。因此我在此庄严宣布:从今日起,我正式加入水果党。 阅读全文

按月统计博客园单个用户的发文数量

2010-01-11 00:07 by Jeffrey Zhao, 8082 阅读, 收藏, 编辑
摘要: 这几天在家闲着,便试着写一些小程序。之前有朋友问到“F#能不能写Web”,于是我也就打算这么一试。虽然我能肯定,用F#写Web应用程序不会是问题,不过倒真还没有做过这方面的尝试。我想,如果用F#写Web应用程序,那么它很重要的一点,应该是利用其在异步编程方面的强大特性。最后我决定,使用F#编写一个按月统计博客园单个用户发文数量的简单服务。尝试的结果是——还有些问题没有解决。不管怎么样,我先把其主体逻辑描述一下吧。 阅读全文

五十种语言的“圣诞快乐”(下):F#实现

2009-12-28 11:18 by Jeffrey Zhao, 7399 阅读, 收藏, 编辑
摘要: 不知道大家的圣诞节过的如何?有没有玩点啥有趣的东西?上次的文章中我们主要分析了使用Google Translate进行文字翻译的方式,并使用C#写了一个简单的的翻译程序,效果良好。不过,在平时开发过程中,对于此类问题我常用F#来解决这样的问题。那么使用F#来实现此类任务有什么优势吗?不错,我们现在便来看看这个问题。 阅读全文

五十种语言的“圣诞快乐”(上):分析与实现

2009-12-25 11:17 by Jeffrey Zhao, 8170 阅读, 收藏, 编辑
摘要: 您知道“圣诞快乐”在不同语言中的写法吗?Google Translate知道。不过Google Translate好像并不希望我们可以直接获得这些内容——但这并不能阻止我们这些光荣的程序员来获得这些信息。 阅读全文

数十行F#打造简易Comet聊天服务

2009-12-11 12:00 by Jeffrey Zhao, 11854 阅读, 收藏, 编辑
摘要: 普通的Web应用程序,都是靠大量HTTP短连接维持的。如实现一个聊天服务时,客户端会不断轮询服务器端索要新消息。这种做法的优势在于简单有效,因此广为目前的聊天服务所采用。不过Comet技术与之不同,简单地说,Comet便是指服务器推(Server-Push)技术。它的实现方式是(这里只讨论基于浏览器的Web平台)在浏览器与服务器之间建立一个长连接,待获得消息之后立即返回。否则持续等待,直至超时。客户端得到消息或超时之后,又会立即建立另一个长连接。Comet技术的最大优势,自然就是很高的即使性。而F#实现一个Comet原型,只要几十行代码。 阅读全文

再谈Attribute性能优化方式:使用CCI Metadata

2009-11-20 10:47 by Jeffrey Zhao, 6703 阅读, 收藏, 编辑
摘要: Attribute使用了反射,密集调用时会带来较大开销,因此我们上次提出了一些优化方式,这样就不会产生性能方面的问题了。这个优化方式的关键,主要是使用直接获得构造Attribute的元数据,然后自定义它们的生成方式并缓存,这样就避免了每次获取元数据及反射构造Attribute的开销。我从一开始就抱有这个优化的“思路”,但是上篇文章中最终的做法是受到了heros同学的提示才得出的,因为我一开始还根本不知道CustomAttributeData这个已然内置的类库。我当时在探索的方向是使用CCI Metadata读取程序集中与Attribute相关的元数据。 阅读全文

二十行C#代码打造Ruby Markup Builder

2009-10-27 00:47 by Jeffrey Zhao, 20819 阅读, 收藏, 编辑
摘要: 从.NET诞生之日起就有了XML类库,但是从使用上来说非常不方便,许多行代码只能构造一个简单的XML对象。这个情况在.NET 2.0中也没有得到改变,直到有一天,LINQ to XML随.NET 3.5横空出世,于是乎XML的生活一下子变得美好了很多。与DOM API相比,使用LINQ to XML,无论是XML的构造还是读取都容易了许多。不过俗话说得好:“不怕不识货,就怕货比货”,这样的API与Ruby Markup Builder相比还是有明显差距。但是我们这些可怜的C#程序员难道只有在一边眼馋的份吗?不见得。 阅读全文

尝试使用IKVM运行Lucene 2.9.0版

2009-10-09 15:26 by Jeffrey Zhao, 13824 阅读, 收藏, 编辑
摘要: 上月末Lucene发布了2.9.0版,这个版本的改进比较明显,主要是各方面性能的增强,以及对数字字段范围查询的直接支持。这个版本还有个重要的意义,就是它标记了Lucene 3在API上的改变,及早跟进的话对Lucene 3的未来接受程度会比较好。Lucene的更新很慢,而移植到.NET平台上的Lucene.NET的二进制发布则更是一直停留在07年三月的2.0版本。虽然我们可以通过svn获取到Lucene.Net 2.3.2的源代码自行编译,但这次我还是想直接使用最新的2.9.0版本。最终我决定趁这个机会尝试一下IKVM.NET。 阅读全文

将Windows Live Writer打造为“所见即所得”编辑器

2009-08-18 00:14 by Jeffrey Zhao, 6283 阅读, 收藏, 编辑
摘要: Windows Live Writer的最大优势之一,便是可以自动获取目标博客的样式,然后让用户在特定的样式环境下编写文章。我们可以利用它在特定样式环境下编写HTML内容,这篇文章将会提供一个指南,希望可以帮助您打造一个合适的编辑环境。 阅读全文

ASP.NET MVC 2 Preview 1 发布

2009-08-01 01:35 by Jeffrey Zhao, 7245 阅读, 收藏, 编辑
摘要: 微软发布了ASP.NET MVC 2的Preview 1版本,并在论坛中向社区征求反馈意见和建议。ASP.NET MVC 2的“主题”是“提高生产力”,提供多个有用的功能。令人放心的是,ASP.NET MVC 2 Preview 1能够与ASP.NET MVC 1.0 RTM共存,不会影响后者的正常使用。 阅读全文

Windows Live Translator

2008-03-24 10:17 by Jeffrey Zhao, 15961 阅读, 收藏, 编辑
摘要: 微软推出的Translator服务,目前还处于试用阶段。对于此类服务打假应该已经不陌生了,不过比较有意思的是Windows Live Translator还提供了一个内嵌在网页里的小部件,您可以将其放在页面的边栏中,读者就可以获得一个翻译功能了,如下: 至于翻译的质量,肯定是不敢恭维的,毕竟是机器嘛……例如我们来试试看中译英: http://www.windowslivetranslator.co... 阅读全文

在网页里添加Web Live Messenger对话框

2007-11-10 00:37 by Jeffrey Zhao, 10192 阅读, 收藏, 编辑
摘要: 为您的页面也添加一个Web Live Messenger吧! 阅读全文

大家帮忙推荐一个blog系统吧

2007-03-29 22:56 by Jeffrey Zhao, 3501 阅读, 收藏, 编辑
摘要: 基于ASP.NET 2.0的blog系统,一个人用就够了。 阅读全文