2009年末,多少进行一些总结和展望吧
时间就这样悄无声息地到了2009年的最后一天,回首我这过去的一整年,可以用一句废话来总结,那就是“既有遗憾,也有收获”。不管怎么样,多少也应该总结一下吧——尤其是此时此刻,对我来说可谓是一个新的起点。自然,在技术博客上,终究还是围绕着“事业”谈谈吧。 说起“事业”,就无法不谈“工作”。过去这两年半...
[你必须知道的.NET]第三十五回,判断dll是debug还是release,这是个问题
anytao.net | 《你必须知道的.NET》网站 | Anytao技术博客 发布日期:2009.12.29 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处。问题的提出晚上翻着群里的聊天,发现一个有趣的问题:如何通过编码方式来判断一...
使用Fiddler辅助观看InfoQ的视频
InfoQ是一个好地方,而我认为其中最有价值的资源,便是其中的演讲视频。InfoQ在这方面有个特点:在演讲视频下方提供了清晰的幻灯片,而在播放的同时,还会根据进度进行切换。这观看体验自然比单纯的演讲录像要高出许多。可惜的是,时不时有朋友会向我反馈说,InfoQ实在是太慢,几乎无法流畅地观看视频。由于...
五十种语言的“圣诞快乐”(下):F#实现
不知道大家的圣诞节过的如何?有没有玩点啥有趣的东西?上次的文章中我们主要分析了使用Google Translate进行文字翻译的方式,并使用C#写了一个简单的的翻译程序,效果良好。不过,在平时开发过程中,对于此类问题我常用F#来解决这样的问题。那么使用F#来实现此类任务有什么优势吗?不错,我们现在便...
五十种语言的“圣诞快乐”(上):分析与实现
圣诞节到了,于是在某个邮件列表上收到了这样一封信,“五种语言的圣诞快乐”: 汉语版:圣诞快乐! 英语版:麦瑞克瑞死没死! 俄语版:买个萝卜切吧切吧炖了吧! 韩语版:空起哇撒起哇, 米死搭! 日语版:锅你得洗哇,碗你得洗哇,盆你得洗哇,锅碗盆你都得洗了哇! 后来有人贴了个更全的,于是有人猜测“这不是使...
老赵谈IL(4):什么时候应该学IL,该怎么学IL
又是一个拖了半年的系列,可能是前几篇主要以事实为准,举例子的文章总是比较容易写的,因此十分顺畅。而最后一篇打算做一个总结,以讲道理为主——却发现该将的似乎都已经讲完了。不过做事要有始有终,该完成的也必须要完成。那么现在就来谈谈我的一些个人看法:什么时候应该学IL,以及应该怎么学IL。 对了,先表个...
重谈字符串连接性能(下):分析优化
经过之间的性能比较,我们得知StringBuilder的性能并非时时最优,再经过实现分析,我们大致了解了StringBuilder的实现方式。虽然在此之前,大家也基本已经了解StringBuilder的实现原理,也有不少朋友指出了它性能缺陷的原因。不过“严谨”起见,寻找性能问题的方式应该是进行Pro...
使用Profiler分析程序性能
三个星期之前我向大家求助说,VS的Profiler分析程序性能时无法跟踪框架内部的方法调用。当时我做了不少尝试,例如下载并配置了.NET Framework的symbol文件和源代码,还尝试使用了ANTS Profiler和CLR Profiler等其他工具,最终还是没有成功。Ivony...老大在...
在.NET平台上使用Scala语言(下):分析
上一篇文章里我们简单尝试了在Scala里编写.NET应用程序。这个过程并不困难,因为似乎Scala官方已经对此已经有较好的支持了。我们要做的只是“获取工具”,“编译成IL”,最后再“生成程序集”即可。那么,这些工具究竟做了些什么,Scala究竟又是如何支持.NET平台的,它的可用性究竟如何,我们还需...
在.NET平台上使用Scala语言(上):初尝
Scala是Java平台上的一门新兴起的语言,我也不止一次在博客上提到它。我非常希望它可以取代Java这种劣质语言,让Java平台的生产力上一个台阶。事实上,Scala从一开始——或者说“很早”就对生成.NET程序集提供了支持。只可惜,毕竟还是Java平台的东西,.NET方面的资源少之又少,不过我们...
WF4.0 基础篇 (十四) Delay 与WF4中的线程
本节主要介绍WF的实例是单线程运行的,Delay并不是Thread.Sleep,Parallel是单线程运行的,WorkflowApplication与WorkflowInvoker在调用流程上的区别,InvokeMethod 调用异步方法 本文例子下载: http://files.cnblogs....
定制Paste from Visual Studio插件(下)
上一篇文章里我们进行了简单的实验,验证了通过修改IL生成新插件的可行性,不过我们要做的事情还有很多,因为我们实际要做的事情其实是……插入行号。这需要我们补充新的逻辑,并且对CreateContent进行修改。那么我们又该如何写这大段大段的IL呢?没关系,其实这些事情不懂IL也可以做。 添加行号 ...
定制Paste from Visual Studio插件(上)
我在上一篇文章里谈了我常用Paste from Visual Studio(下文称VSPaste)的插件,这大大方便了我写博客时贴代码的工作。不过今天早上有朋友在我博客后面留言说:“VSPaste没法显示行号,不知大家有没有办法解决?”其实这点很容易,写个小程序,把VSPaste生成的HTML再进行...
浅谈代码着色(下):服务器端着色
上篇文章谈了客户端着色,而现在自然就来讨论服务器端着色了。先下个定义:我在这里谈的“服务器端着色”,是指直接从服务器端输出着色效果的做法(与“客户端着色时”输出纯代码文本相对)。至于这个着色效果是如何获得的,例如是由另一个用户直接提供的,还是用户提供纯代码文本,而用服务器端逻辑“着色”,在这里就统称...
少侠学截屏-C#屏幕捕捉的方式
本篇主要介绍如何通过C#代码来获得Windows操作系统的桌面位图。 当然,不仅仅是截屏。主要是受园子里的朋友我不是圣人的激发,勾起了继续探究一下Windows屏幕捕捉和网络传输的欲望。 以前也搞过一阵子,不过都是浅尝一下。最近几天搞了点眉目出来,这里就先发第一块出来分享一下。 后续的还要等我调试完...
Visual Studio 2010 Ultimate敏捷测试驱动开发
在微软Visual Studio 2010 Ultimate Beta2版本中,MSF for Agile Software Development 5.0过程框架,是以Scrum模型为基础导向扩展,并且结合了VSTS2010工具的众多测试功能特性,为更多的从事微软.NET技术相关的开发人员以实现高...
浅谈代码着色(上):客户端着色
作为程序员,写文章时总免不了插入代码,而对代码进行着色几乎已经成为一个基础,一个事实标准。代码着色的确可以大大加强代码的可读性,因此即便是再不待见IDE的朋友,代码着色永远是必不可少的。不过在网页中进行代码着色的方式有很多,现在我们就来对比一下。记得之前也有朋友写过,但我总觉得不够完整,于是还是自己...
博客园又添新书《深入体验Microsoft Office SharePoint Server实践开发》出版
经过一年的编写,这本书终于与大家见面了,希望本书能给朋友们更多的编程帮助。特别感谢微软MVP中国区最有价值专家主管——林思绮 为本书作序,还有Moss MVP好友郭保卫、MVP金戈和微软的陈曦为本书做的校验与书评。 预计另一本新书《Windows Powershell 2.0...
数十行F#打造简易Comet聊天服务
普通的Web应用程序,都是靠大量HTTP短连接维持的。如实现一个聊天服务时,客户端会不断轮询服务器端索要新消息。这种做法的优势在于简单有效,因此广为目前的聊天服务所采用。不过Comet技术与之不同,简单地说,Comet便是指服务器推(Server-Push)技术。它的实现方式是(这里只讨论基于浏览器...
在项目中使用Google Closure Compiler
现在的Web项目总是离不开大量JavaScript,而JS文件的体积也越来越大,也越来越影响页面的感知性能(Perceived Performance)。因此,我们会对JS文件进行压缩,一方面是使用Gzip,而另一方面则是去除JS文件里的注释、空白,并且压缩局部变量长度等等。对于一些成熟的类库来说,...