Hello World
Spiga

既要马儿跑的快,又要马儿不吃草

2011-02-28 01:01 by 老赵, 8639 visits
摘要:这年头技术社区里的一些观点让我很看不惯,例如动辄就说什么什么要被淘汰,什么什么要被替换。比如微软出个F#,就以为它要淘汰C#了,但C#和VB.NET不都已经共存很多年了吗?在我看来,明明是“多了一个选择”,绝对是好事情,又没逼你学,也没人说不学就落伍(不学VB.NET您就不觉得落伍吗?)。ASP.NET MVC也是如此,但非要有人说ASP.NET WebForms要被淘汰了,却“选择性忽视”至今WebForms还在不断成长的事实。MVC和WebForms都是好东西,各有千秋,两种选择罢了,仅此而以。既然想说WebForms一无是处,就老老实实用MVC模型写程序。 阅读全文

在MongoDB中实现乐观并发控制

2011-02-22 09:39 by 老赵, 13128 visits
摘要:说起来,自从接触了MongoDB以后,我在大小项目中就再也没有接触过关系型数据库了。性能倒不是什么主要问题,主要是方便,例如我可以在MongoDB中直接保存数组,然后把其中的元素当作查询条件,而在关系型数据库中,则需要使用额外的表格,然后再JOIN等等。当然,在MongoDB中很难进行JOIN,于是对于某些场景下会略显麻烦,但在记忆中我似乎真没什么束手束脚的情况。这方面我还没有仔细分析,可能MongoDB支持保存复杂对象会有所帮助吧。以上都是废话,这里我简单谈一下如何在MongoDB中实现乐观并发控制。当然加入您对MongoDB的功能都有所了解,那么这种做法也是十分显而易见的。 阅读全文

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

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

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

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

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

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

HTC 7 Mozart T8698(Windows Phone 7)初体验

2011-01-05 23:43 by 老赵, 12096 visits
摘要:上个星期去香港旅游,对于我等IT从业人员来说,数码产品卖场自然是必逛的地方之一。香港的衣食住行都很贵,但是数码产品却十分便宜。看着手中使用了3个月滚珠就已失灵的奥巴马御用机型,决定就在香港采购一台吧。鉴于Android和iPhone 4都已经是烂大街的机器,我打算着重关注一下Windows Phone 7的机器。当时在香港到处可以看到HTC HD 7以及LG Optimus 7 E900,不过都是接近5000港币的价格,再加上实在不是很喜欢它们的外观,于是迟迟不愿下手。后来在百老汇发现新上市的HTC 7 Mozart T8698,据说是加强了多媒体能力的机型,外形和手感都不错,价格也相对较低(4200元港币,约合人民币约3600元),于是便选中了这台。把玩了几天,记录一下感受。 阅读全文

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

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

基于Jscex.Async的JavaScript动画/游戏

2010-12-16 01:03 by 老赵, 4531 visits
摘要:首先和大家宣布一个消息,Jscex的代码已经提交至Github上了,感兴趣的朋友下载来Dog Fooding一把,并欢迎提出反馈意见。Jscex受到F#计算表达式的启发,是一个面向JavaScript语言的monadic扩展,最常见的用途便是编写异步程序,尤其是逻辑复杂的异步程序。不过除此之外,使用这套异步库来编写动画或是游戏也是十分容易的事情。例如,一个人物的走动或是爆炸效果,其实可以视为一个贴图随时间不断变化的过程。这个变化的过程是异步的,但是有了Jscex.Async,我们只需使用最直接的同步形式编写代码就行了。 阅读全文

抗拒“组合”的UITabBarController

2010-12-13 13:38 by 老赵, 7909 visits
摘要:最近在写一个iPhone应用程序,基于MonoTouch,所以在开发方面的问题,基本都是在界面元素的搭建上。这个程序界面相对比较复杂,于是我根据自己的想法来进行组合,结果发现UITabBarController不能放入其他的视图内,而只能直接放在Window上(或Window里的UINavigationController里),否则就会出现界面向下偏移的情况。现在虽然有workaround,但是对于UITabBarController抗拒组合的情况,只能深表叹息了。 阅读全文

演出季上“异步编程模型的演变”幻灯片

2010-12-11 22:01 by 老赵, 4481 visits
摘要:演出季终于过去了,现在就来做一个收尾吧。这次的主题是“异步编程模型的演变”,主要回顾了微软在.NET平台上异步编程上的进化:基于回调,基于迭代生成器,基于类库,基于语言。不过这样的编程模型其实并非微软独有,而是一些运用比较广泛的异步编程方式,因此在SD 2.0大会上我其实完全用JavaScript进行演示。从结果上来看,除了最早的TUP,其他两场演讲(.NET技术大会和SD 2.0)的反响都不错。 阅读全文

适合JavaScript 1.7中迭代生成器的异步编程机制

2010-12-03 19:09 by 老赵, 3466 visits
摘要:上篇文章我提出了一种基于JavaScript 1.7中迭代生成器(yield)的异步编程方式,它可以让混乱的异步代码逻辑变得清晰一些。不过之前的AsyncIterator其实是对基于C# 2.0的AsyncEnumerator的仿制品,在公司的分享会上进行交流以后,同事hax提出其实可以实现地更漂亮一些。在他的提示下,我了解到JavaScript 1.7中不同于C# 2.0里的特性,因而对这种异步编程机制提出了改进。只可惜yield特性被ECMAScript 5排除了,这实在可以说是委员会设计模式的又一次伟大胜利。 阅读全文

JavaScript版本的AsyncEnumerator

2010-11-29 22:25 by 老赵, 4259 visits
摘要:地球人都知道,在C# 2.0里提供了yield关键字,可以方便好用地生成一个迭代器,更可以简化异步操作——这是因为有了Jeffrey Richter开发的AsyncEnumerator。在接下来的某些演讲中我准备的主题是“异步编程模型”的演变,自然少不了这非常重要的一环。为了便于广大人民群众更好地接受,我决定使用JavaScript来进行说明。为此,我用JavaScript实现了一个AsyncEnumerator。 阅读全文

运行在.NET/Mono上的Readability

2010-11-26 11:30 by 老赵, 6666 visits
摘要:之前我在《改善自己的阅读体验》推荐使用Readability这个小工具。它是一段JavaScript脚本,通过在浏览器的页面上运行,提取出文章正文部分,并通过一种干净清爽的形式展示给用户。那么,如果我们在服务器端得到了一个HTML字符串,又该如何得到它的可读部分?直接在服务器端执行JavaScript不太可行,因为Readability依赖浏览器的DOM结构及相关API。如果调用WebKit和IE的浏览器内核又需要大动干戈,也很难跨平台。因此,我基于HtmlAgilityPack将Readability的部分算法移植到了C#上。 阅读全文

关于即将到来的“演出季”以及Jscex类库

2010-11-22 20:30 by 老赵, 3936 visits
摘要:又到了一年一度的“演出季”,接下来将是各式会议扑面而来的一个月。作为“与会爱好者”我自然也进入了繁忙的准备工作。接下来我将在TUP(11月27日)、2010年第二届.NET技术大会(12月4~5日)以及CSDN软件开发2.0大会(12月9~10日)上与大家分享四场演讲。不过除了一场是关于Windows并发编程的基础以外,其余三场的话题都是围绕“微软在异步编程方面的演变”。在这场演讲中,我还会引入一个与该话题密切相关的JavaScript类库:Jscex。 阅读全文

一则有趣的Window 7广告

2010-11-22 00:02 by 老赵, 4461 visits
摘要:最近微软在Youtube上发布了一则有趣的Window 7广告,其中的台词从不同的方向阅读会有完全相反的意思。当然这个创意并非第一次出现,以前至少有两则笑话是相同的“原理”。当然,你我都能轻易写出这样的语句。 阅读全文

使用Narcissus解析JavaScript代码

2010-11-17 18:08 by 老赵, 4270 visits
摘要:最近在做一个有关JavaScript的实验,需要在客户端将JavaScript代码解析为一棵语法树。换句话说,就是一个用JavaScript实现的JavaScript解析器。这方面的选择有很多,常见的yacc、lex或是bison等等都有JavaScript的版本,使用ANTLR也可以将生成目标设为JavaScript。不过我不想在这方面耗费太多时间,自然想找个现成的工具,于是最终我将目标放在了Narcissus上。 阅读全文

PDC 2010:C#与Visual Basic的未来(下)

2010-11-15 17:47 by 老赵, 5237 visits
摘要:前几天在PDC 2010会议上Anders Hejlsberg发表了一场名为“The Future of C# and Visual Basic”的演说,谈论了未来C#和VB中最为重要的两个特性:“异步(Async)”及“编译器即服务(Compiler as a Service)”。我现在对这场演讲进行总结,但不会像上次《编程语言的发展趋势及未来方向》那样逐句翻译,而是以Anders的角度使用一种简捷合适的方式表述其完整内容。上一篇Anders对async和await的的实现及效果作更进一步的解释,本篇则是对“编译器即服务”做了些最表面的尝试。 阅读全文

服务器端执行JavaScript代码

2010-11-09 18:11 by 老赵, 16591 visits
摘要:话说,如今不在客户端使用JavaScript代码才是稀奇事儿。由于Web应用的体验越来越丰富,客户端用JavaScript实现的逻辑也越来越多,这造成的结果就是某些几乎一致的逻辑需要在客户端和服务器端各实现一遍。这违反了DRY原则,不容易维护。幸运的是,我们可以在服务器端执行JavaScript代码,谁让JavaScript傍上了这无比霸道的浏览器平台呢? 阅读全文

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

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

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

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