代码改变世界

随笔分类 - 12. 技术尝鲜

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

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

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

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

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

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

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

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

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

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

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

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

从今日起正式加入水果党

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

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

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

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

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

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

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

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

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

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

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

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

2009-10-27 00:47 by Jeffrey Zhao, 20393 阅读, 收藏, 编辑
摘要:从.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, 13433 阅读, 收藏, 编辑
摘要:上月末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, 5973 阅读, 收藏, 编辑
摘要:Windows Live Writer的最大优势之一,便是可以自动获取目标博客的样式,然后让用户在特定的样式环境下编写文章。我们可以利用它在特定样式环境下编写HTML内容,这篇文章将会提供一个指南,希望可以帮助您打造一个合适的编辑环境。 阅读全文

ASP.NET MVC 2 Preview 1 发布

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

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

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

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

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

Gadget,又见Gadget - 浅尝Windows Live Contacts Gadget

2006-10-08 16:43 by Jeffrey Zhao, 2780 阅读, 收藏, 编辑
摘要:近日在Windows Live Dev里发现了一个新的Feature(其实已经出现一个多月了):Windows Live Contacts Gadget (Beta),一试之下,颇为有趣。Windows Live Contacts Gadget可能是一个创举,它能够将Windows Live Account上的联系人信息提供给任意第三方使用。任意第三方的产品可以轻易地结合这些联系人信息进行开发(后面将会看到它与Windows Live Local结合的范例)。 阅读全文

Book List Gadget for Windows Live Spaces - Usage Instructions

2006-10-08 16:30 by Jeffrey Zhao, 1005 阅读, 收藏, 编辑
摘要:An advanced book list for Windows Live Spaces. 1. The text to show can be given by the owner or from Amazon if ISBNs are provided. 2. All the texts will link to some place - if you need them to do so. 3. The format of texts can be defined by the ower by 'template'. 4. The owner can give a title to the book list. 5. The owner can set the position of images - left or right. 6. The details can be show/close by a switch for each book. 阅读全文