09年的QCon大会给我的感觉是国内技术大会中技术含量最高的,收获相当丰厚。2010年的QCon大会仍然是非常期待的。
我感兴趣的关键字主要是:架构,RIA,网站案例分析,实战经验。我对这些感兴趣的原因如下:
- 学习架构可以让自己整体把握能力增强,技术人员在一定年份后,深入学习架构是一个几乎无法逃避的路。
- 看别人的网站案例分析,实战经验,可以在其中时不时听到一个小技巧,一个小技巧就可以让自己少走很多弯路,这些技巧可不是通过课本的学习可以学到的,需要有足够的经验积累才能知道,现在有机会让你不用自己去摔跟头知道它,何乐而不为呢?
- 关注RIA(我关注的主要是 Silverlight,因为我有C#的基础,比起Flash,更容易让我入门,而且这种经验也可以用在WPF中)是因为RIA的出现,可以让我做很多以前不敢想象的事情,RIA会带动用户体验的很大的一步进步。
在2010年的QCon大会的日程中我可以看到下面感兴趣的课程:
猜猜下面是啥动物?

答案:
无毛的狗熊。
换个角度,我们就不认识了,这是学习的大忌。
单纯理解“云”,好像跟我们十万八千里,它只是各个超级龙头们才能提供的一组不需要知道到底有多少服务器为我服务,不知道到底是那里的服务器为我服务的网络存储和网络计算。
这样强大的计算和存储功能也只是一个基础设施,就像水,电一样的。我们离不开它,我们可以按需购买,按需使用。而不用关注它是如何工作的。
能成为电网公司,燃气公司的也只是少之又少的超级大龙头才可以做。同样能提供云计算和云存储的公司也少之又少。
如何使用这些基础设施,让他更吸引用户,让他在这个生态系统中运转更流畅才是我们大多数人应该思考的。
就像我们开发软件一样,能做出很吸引用户的软件的人不是因为你掌握了几门编程语言,而是因为你的创意,你开发的功能能够给人们一个很好的体验,同时一个软件很比较长久流行,是因为你这个体验的过程是一个很合理的生态系统,吸引用户一直留在你这里。

今天很怪异,我的PowerPoint出现了下面的提示对话框后,不论我选择是或者否,我的PowerPoint都再也打不开了。
网上搜索了相关资料,通过下面步骤删除这个插件后,就可以正常使用了。
- 单击开始→运行→输入Powerpnt.exe /safe回车,尝试以安全模式运行POWERPOINT。
- 如果可以运行,点击POWERPOINT选项→加载项→里面的活动应用程序加载项→去除对应插件。
参考资料:
启用或禁用 Office 程序中的加载项
http://office.microsoft.com/zh-cn/help/HA100341272052.aspx
http://bbs.kafan.cn/thread-459528-2-9.html
硅脂对CPU的热量向散热风扇的传递很重要,上周对我家电脑的处理对此深有感受。特写此篇Blog。
之前我家的台式机由于频繁出现无法启动。症状是:主板灯亮,风扇都在转,但是就是无法启动,而且主板没有任何嘟嘟提醒。每次碰到这种情况,我需要把CPU拆下来,重新装上去才可以启动。我怀疑就是CPU热量散不出去的原因,在能启动的时候,通过进入主板的管理界面,看到一开机,CPU的温度就是74度。风扇乌鸦乌鸦的响。
后来就是买了硅脂,涂在风扇跟CPU接触面上后,开机进入BIOS 后,发现CPU温度只有三十多度,玩一个3D的游戏时,也只有60度。之前不能启动的问题也就解决了。由于我家电脑的风扇是可以根据温度变转速的,之前开机后风扇很响的问题也解决了。
参考:
实践出真知-4种硅脂涂法详尽测试
http://mb.beareyes.com.cn/2/lib/200801/24/20080124504.htm
上周五参加Google开发者日,给我冲击最大的是Html5。对我的冲击主要有2点:
1、Html 5 可以带来丰富的用户体验。
开发者日中Google演示的用Html5开发的Wave(一个Mail的应用)就被Google玩的很炫。邮件、IM、博客、照片等功能融合在一起。特别是可以在一个邮件中,几个相关人能够协同讨论,不再像从前一样一个问题可以讨论N个邮件。从现场多次的掌声中可以看到这个东西很强大。它可以实现现在Flash\Silverlight才能提供的功能。
下面是 Wave 的一个截图
图片来源自:http://google.org.cn/2009/05/29/google-wave-a-new-communication-platform-for-a-new-web-2/
2、各种浏览器支持Html5的步伐很快。
Html5的规范不象之前,九几年就出来的规范,不久前普及,这次Html5的支持,进展很快。HTML 5还没有标准化,但Firefox、Chrome、Safari和Opera已经引入了它的元素。很难想象的是一个处于草案解决的规范,已经有众多浏览器支持了。一些支持信息如下:
图片来源自: http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html
小结
进展很快,功能强大,由于Google等大公司的推进,很快我们将能看到Html5的更多应用,这是一个值得关注的领域。
参看:
Google Wave会影响RIA/Silverlight吗?
http://www.infoq.com/cn/news/2009/06/Wave-Silverlight
谷歌开发者日:Google Wave将基于BSD协议开源
http://www.infoq.com/cn/news/2009/06/google-wave-opensource-bsd
Google I/O 2009现场视频之HTML 5之歌
http://google.org.cn/2009/06/02/song-of-html-50/
Google力挺HTML 5 或成未来应用核心
http://developer.51cto.com/art/200906/126709.htm
HTML 5 正式标准恐将2022年才能正式发布
http://developer.51cto.com/art/200809/89605.htm
Firefox 3.1开始支持HTML 5 视频和音频
http://www.javaeye.com/news/3959-firefox-3-1-to-support-html-5-video-and-audio
昨天公司开年会,蒋涛给优秀部门颁奖的时候,竟然放的是《士兵突击》中的“征服天堂”(英文名:Vangelis conquest of paradise )这首歌,我极度不好受,因为钢七连解散的时候,也是放的这首歌,现社区中心组织结构调整,去年我所带领的这个组,社区二组已经口头宣布解散,就差正式宣布解散时,也是放的这首歌。
昨天我强烈的感受到钢七连解散时,连长高城看到手下一个个兵被分走的那种感觉。最近一直没写博客,受这种心情影响是一个很重要的原因。
2008年初,公司组织结构调整,开发和运营合并成一个个团队,我所带领的这个团队主要负责CSDN论坛有关的开发和运营。我们想做的东西很多,但是人员有限,我们只做最有价值的。
另外一个原则是开发不能只闷头作开发,我们的产品正好是给开发人员用的论坛,如果我们自己的开发人员都不用自己的产品,只能说我们的产品作的非常垃圾,基于这个原则,开发人员的工作都没有安排得很满,让他们上班时间有时间使用论坛。大家都想出很多很有价值的点子,其中的不少就在08年实现了。
这些原则贯穿了整年,这也是我们能超额完成指标,并被评为优秀团队的根本原因。
我非常感谢我们社区二组的组员,李家佳,岳笑南,田彗星,柴丽华,周兆成,王集鹄,通过我们大家的努力,让我们无愧于“团队进步奖”。不但小组的年度目标超额完成,而且还获得了最佳团队奖。谢谢大家,让我们团队有一个很圆满的结局。现在我们组的每个人都被分配到不同的团队了,他们在每个团队中都是顶梁柱,我很自豪,我们团队出来的都是牛人。
今天在SD2大会上,K2大中华区CTO彭靖灏分享了他们公司在做K2的时候,对使用WPF的心得,我觉得很有启发。整理这部分的听课笔记如下:
K2是一个很流行的工作流设计软件 http://www.k2.com/zh-CN/index.aspx 他们在最新的K2版本中使用了 WPF,WCF,WF。
他们是在做商业软件,商业软件使用WPF的一些心得,对我们作软件时候,很有醒示作用。
他们在做K2时候,界面采用WPF来实现感觉到的优点:
1、动画技术可以让软件更易用,更能引导用户使用软件。可以很明确的告诉用户,你正在干啥,下一步应该干啥。
2、Template技术,让他们的工作流软件更简单。
3、预览图技术,当一个数据变化的时候,你可以看到数据变化的预览图,很直观。
4、sliverlight2.0后,WPF和sliverlight的代码互用性很高了。
他们使用WPF碰到的问题
1、WPF的XAML都是向量图,很多美工对Expression Blend 这个工具不适应。招到能很高的设计XAML的美工很不容易 。至于让程序员来做这部分活,只能说做出来很丑。一个强大的工具,仍然需要有高手来使用。
2、跟他们已有功能的互操作,即跟Com的互操作,Interop
3、WPF是一项翻天覆地的变革,要用好它,就需要新的设计哲学,新的开发模式,这个转换门槛不低。
另外,他们的工作流每一个工作项的配置这里,没用WPF之前是使用得类似向导的方式来实现的,下一步下一步这样的方式。这种方式其实有很多弊端,他们在使用WPF后,则解决了这些问题。
他们的软件有Ajax,winform,WPF,Sliverlight的版本 ,比较下来,还是WPF的更易用。
另外听到的一个数据是:
国内在Sliverlight方面,同比其他国家,做的很好。但是WPF方面,同比其他国家,则很低。
今天在SD2大会上,听了李建忠老师讲的《.NET框架中的几个典型设计模式》课程收益非浅,李建忠老师的课总能给人醍醐灌顶的感觉,去年的《WPF内核机制》让我们可以从根本上理解WPF的革命。今年的设计模式,也是从根本上理解设计模式产生的原因,适用的场景。
下面是我对课程整理的一些笔记和心得,跟大家分享:
软件的需求一直在变化。很变态,但是很多人都碰到过的情况:一直到代码编写完毕前,需求都可能在变化,需求的冻结要到编码完毕时才完成。
为此,软件的开发方法从最初的瀑布开发, 到迭代开发再到敏捷开发。他们都是适应软件的需求、设计迟迟不能冻结定稿的产物。上面提到的开发方法,一个比一个需求、设计定稿的时间要晚。
当然,变化不能一直不稳定,那么我们软件就永远不能发布了。
软件的架构也受到这些影响:
我们预计到会变的因素我们会写在配置文件ini或者XML配置文件中。
甚至我们预计要变得东西单单配置文件都不可以搞定了,我们要把这些预计要变的东西写成解析执行的脚本语言。今天早上蔡学镛讲的《Scriptable Software与DSL的设计》,下午周爱民讲的《JavaScript + Delphi + ErLang = ?》从这里提到的变化角度来说,都是为了适应这种变化对架构的影响采用的方法。
[魔兽世界]编写插件用的LUA语言,[文明4]用的Python语言...都是这方面的典范。
对于设计模式,也同样的是受变化影响的。
我们预计到一个地方是稳定的,就一个选择,我们如果还用设计模式,就是愚蠢的性能低下的做法。设计模式应该用到我们预计到这里会发生变化,为了保证复用性,我们对变化进行抽象,抽象出一个稳定的抽象。抽象出来的这个类,如果时不时都会变化一下,那简直要疯了,这个抽象的类一定要保证稳定性。这才是OO思想,设计模式的思想.
应对变化,提高复用,这是OO设计的基本原则,也是设计模式的基本原则。
晚绑定机制就是对这些变化的支持。.NET的晚绑定有四种方法:虚函数,委托(函数指针),反射,范型。对应的23种设计模式都是用这些来实现的。
MSDN的WebCast中,李建忠老师对C#设计模式有25节课的讲座,详细介绍了23种设计模式。在下面地址可以看到,下载:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx
这节课对具体的设计模式讲解的时间也不多。但是你理解了变化、稳定、复用的意义,你再看设计模式就会事半功倍。
这些年的开发经验积累下来,我发现我的设计、架构很多时候都是一个四不象,或者是一个性能,可扩展性等中庸折中的取舍方案。一定要想清楚哪些是要变化的,不会变化的,不要画蛇添足的装酷。对于要变化的要做到应对变化,提高复用来抽象,高水平的技术人员,抽象出来的东西不会三天两头就变的。
写个非技术的。
奥运会点燃主火炬的我猜是“体操王子”李宁。
点火方式我猜会吊钢丝,类似中国功夫的凌波微步,或者叫凤回巢的方式飞过去。
李宁的照片,看起来老了。
