Hello World
Spiga

归档:2009年02月

尽可能地使用强类型数据

2009-02-27 08:19 by 老赵, 10150 visits
摘要:我们继续来谈《最佳实践》,这次的主题便是“强类型”。强类型的好处有很多,张嘴便可随意举上几例:能够享受代码提示功能、能够获得重构工具的支持、能够在编译期发现更多错误…… 阅读全文

对ASP.NET MVC项目中的视图做单元测试

2009-02-25 01:01 by 老赵, 11496 visits
摘要:说到ASP.NET MVC,我们似乎始终都在关注对于Controller的测试,那么我们该如何对视图进行独立的单元测试呢? 阅读全文

简化异步操作(下):构建AsyncTaskDispatcher简化多个异步操作之间的协作调用

2009-02-24 09:27 by 老赵, 10029 visits
摘要:由于CCR和AsyncEnumerator难以“并行”地执行异步代码,因此我们需要提出新的解决方案来满足这方面的需求。本文将构建一个AsyncTaskDispatcher组件,使多个异步操作之间的协作调用得以大大简化。 阅读全文

ASP.NET MVC单元测试最佳实践

2009-02-23 09:07 by 老赵, 12219 visits
摘要:我对于微软的一个特点时常呈一种否定态度,那就是因为它往往为了“显摆”自己的技术而向外界展现出一种“飘渺的美好”愿景。例如WebForm推出时铺天盖地的“拖拽”风潮,看似精彩却迷人双眼。这是我在上周“.NET技术大会”上的主题Session。先提供这次Session内容的PPT和演示吧,在接下来的一段时间内,我会陆续分析这次课程的内容。希望大家能够尽可能地把东西给“用好”,而不仅仅是得到表面上的正确结果。 阅读全文

简化异步操作(上):使用CCR和AsyncEnumerator简化异步操作

2009-02-20 11:25 by 老赵, 10783 visits
摘要:在以前的文章中,我曾多次强调应用程序中异步化的重要性。尤其对于IO密集型操作来说,异步执行对于应用程序的响应能力和伸缩性有非常关键的影响。正确使用异步编程能够使用尽可能少的线程来执行大量的IO密集型操作。可惜的是,即使异步编程有避免线程阻塞等诸多好处,但是这种编程方式至今没有被大量采用。其原因有很多,其中最主要的一点可能就是异步模型在编程上较为困难,导致许多开发人员不愿意去做。因此,无论是微软官方还是社区中都出现了一些简化异步编程方式的组件,例如微软的CCR和Wintellect's .NET Power Threading Library中的AsyncEnumerator。但是它们都有同样的局限性,例如操作之间存在依赖,则很难让它们并行执行。对于这样的场景,我们还需要构建额外的解决方案,使多个有依赖关系的异步操作之间的协作调用得以尽可能的简化。 阅读全文

QCon北京大会,3月15日前购票享受7.5折优惠

2009-02-19 12:27 by 老赵, 5707 visits
摘要:如果有朋友个人或团体需要的话可以联系我。距离QCon全球企业开发大会北京站(4月7~9日)还有2个月的时间,这次的会议包括6大主题和30多位知名讲师,为你提供一场丰富的培训和绝佳的学习机会。现在报名即可享受7.5折优惠,节省700元。 QCon大会的目标是为企业软件开发领域提供技术架构、团队领导和项目管理等深入技术内容的会议。这也意味着会议的内容并不局限在商业和流行技术上,同时它会提供最佳实践和相... 阅读全文

程序员兄弟们,我们的基本素质怎么样?

2009-02-17 19:07 by 老赵, 10825 visits
摘要:我之前没有好好想过一个人的基本素质究竟应该是什么,只能在接触中觉得某个人“这里做的不错”或者“那里有所欠缺”。但是现在我仔细想了想,可能我们都需要扪心自问一下,我们需要具备哪些基本素质——是“人”的基本素质,可能具备这些基本素质之后,成为一个优秀的程序员只是时间问题吧。很不中听,兄弟们姑妄听之吧。 阅读全文

老赵很喜欢博士后和小工的故事,于是就编下去了

2009-02-15 13:55 by 老赵, 13144 visits
摘要:嗯嗯,朋友们大都很喜欢小工,简单就是美嘛,成本多省,联合利华多笨。不过这个估计应该是编(理由可见各评论)出来的,那么老赵也继续编下去…… 阅读全文

为ASP.NET MVC扩展异步Action功能(下)

2009-02-04 09:04 by 老赵, 12571 visits
摘要:续上篇:异步请求处理是ASP.NET 2.0中引入的高级特性,它依托IO Complete Port,对于提高IO密集型应用程序的吞吐量非常重要(详见原理描述和性能测试)。但是目前ASP.NET MVC框架缺少异步Action功能,这也就是老赵经常挂在嘴边的那个“目前ASP.NET MVC所缺少的非常重要的功能”。我在春节休假期间仔细思考了一下这方面的问题,得出了一个相对不错的扩展:完整,方便,并且非常轻巧——核心逻辑代码只有200行左右,这意味着绝大部分功能将会委托给框架中现成的内容,确保了扩展的稳定,高效并且拥有较好的向后兼容性。 阅读全文

为ASP.NET MVC扩展异步Action功能(上)

2009-02-02 09:22 by 老赵, 14427 visits
摘要:异步请求处理是ASP.NET 2.0中引入的高级特性,它依托IO Complete Port,对于提高IO密集型应用程序的吞吐量非常重要(详见原理描述和性能测试)。但是目前ASP.NET MVC框架缺少异步Action功能,这也就是老赵经常挂在嘴边的那个“目前ASP.NET MVC所缺少的非常重要的功能”。我在春节休假期间仔细思考了一下这方面的问题,得出了一个相对不错的扩展:完整,方便,并且非常轻巧——核心逻辑代码只有200行左右,这意味着绝大部分功能将会委托给框架中现成的内容,确保了扩展的稳定,高效并且拥有较好的向后兼容性。 阅读全文

从CSDN的趣味题学C# 3.0

2009-02-01 10:43 by 老赵, 13573 visits
摘要:引文参见:从CSDN的趣味题学Python。引文用了Python来解这种趣味题,很有意思,Python也很适合。不过我看了看似乎这篇文章没有真正理解如今的C#可以怎么用,老赵一时兴起,也来设法做了一下。 阅读全文

Fast Reflection Library

2009-02-01 09:25 by 老赵, 13857 visits
摘要:这是我在CodePlex上创建的一个项目,它的网址是http://www.codeplex.com/FastReflectionLib,使用Microsoft Public License (Ms-PL),您可以随意在自己的产品中使用它的全部或部分代码。这个项目用到了我在《方法的直接调用,反射调用与Lambda表达式调用》和《这下没理由嫌Eval的性能差了吧?》两篇文章里用到的做法,并加以提炼和扩展发布的项目——随便搞搞,留个印记,也供以后参考。 阅读全文
1
使用Live Messenger联系我