Explore. Dream. Discover.

Samuel Chen's life

Twenty years from now you will be more disappointed by
the things that you didn't do than by the ones you did do.
So throw off the bowlines. Sail away from the safe harbor.
Catch the trade winds in your sails.

Explore. Dream. Discover.
—— Mark Twain

2008年7月31日 星期四

谷歌地图 终成Google Maps

谷歌地图(ditu.google.cn)和 google maps (maps.google.com) 终于通了。这样很多有用的功能都能用了,比如图片,wiki,行车,api 等等。

不过还有一点问题,就是中国的地址用英文该怎么查找。已经试过,用中文可以找到,但是英文就不一定了,比如说“西直门”,用xizhimen 还是 xizhi gate? 想查中国地址,您还是先学学中文吧。

倒也瑕不掩玉。

ps,有个链接可以连到ditu.google.cn来查。

标签: , , ,

2004年11月7日 星期日

VS2005 vs Eclipse, functions i expected.

曾经是Visual Studio的fans,Visual C++ 6 确实好用,加上Visual Assistant 简直是如鱼得水的感觉;到了.net,vs.net2003也没有让我失望。

可是当我使用了一段时间WSAD/Eclipse后再回头来用vs.net2003,那火简直让我想把电脑砸掉。

我没有试用过2005,所以把2003和Eclipse做个对比,期望能在2005中看到我所希望的功能:

  • 任何一个窗口双击title最大化。仅此一点人性化设计就能值回票价,即使我是17寸1024,但有那么多窗口,可视面积还是捉襟见肘,小显示器的兄弟就更是了。
  • 自动完成自动添加import。用vs.net的时候,当你不知道要使用的类是属于哪个namespace,自动完成根本不起作用,必须得先去查文档,那个麻烦,特别是内存小的兄弟;而Eclipse里面的自动完成即使你没有import相应包,也能显示在自动列表中,即使有不同的包里面都有这个类,它也会同时列出来让你选,vs.net2003却只能在列表中显示error(在using了都包含这个类名的namespace的时候)
  • 集成cvs。虽然vs.net集成了vss也很方便,但是多年来vss一直不升级也很让人恼火,功能也太弱了。好在听说2005已经加强了版本管理。
  • 重构。vs根本没有。

  • UML图。WSAD/Eclipse都没有,是通过插件实现,当然vs也可以。但是当你使用Rational XDE时,就能发现,在同步时,.net中那些内部的class,namespace都给你弄出来(不排除我没用好的缘故),简直没法看。
  • 丰富的插件。当然这和两(三)个产品不同的市场策略有关了。
  • 服务器集成。和插件一样,这个也是平台的策略。
  • 视图功能。锦上添花,但是更能“增加用户体验”,这可是M$所倡导的。

还有很多的东西,在你使用后会发现。

当然vs2003是个新生儿,可eclipse也不老。说这些只是希望m$在2005中给我们一些惊喜,可不要丢掉多年IDE老大的位置。

这段时间一直都在搞java,没有投入足够的关注到.net,也许有的朋友会说我写的这些2005已经都有了,那太好了,正是我所期待的!


标签: , , ,

2004年11月6日 星期六

IPC Ways

IPC, inter-process communication, is often used in enterprise system because programs (processes) are not stand alone usually.

The following are common approaches for IPC:

  • exchange files via a net share

  • custom your own socket driven approach

  • communicate between paltform through Web Service

  • Remoting invoke

  • Message Queue

标签: , ,

2004年10月27日 星期三

回头看.Net的优点与进步

最近公司要竞标一个项目,对方指定要.Net,因此又重操旧业,整理一些.Net的技术优缺点。
水平所限,若有错误之处,请斧正。
  1. Web Service: 基于SOAP协议的功能抽象层,利用xml作为载体的文本内容完全可以通过http协议访问,具有穿透防火墙的能力,同时满足远程/本地调用以及b/s c/s调用,能极大程度的隐藏实现细节;不同的service可以部署于不同的host进行分布式调用而分散压力;当然这不是.net特有的。
  2. smart client: 对于客户端的操控能力强于html browser,可以通过http发布,还可以自动升级,部署成本近乎为零。
  3. ASP.NET User Control: 大大简化传统browser页面开发的复杂程度,增加代码重用的机会,提高模块化程度,最大的优点是大大增强了页面功能,其事件模式改变了b/s开发的模式,但它也是一把双刃剑,页面-服务器的事件也是效率的最大敌人,因此不可滥用。
  4. XML: .Net 的xml支持作的相当不错,有专门的name space来处理xml相关问题,同时dom对xml的处理速度还是比较理想的。
  5. Performance: .Net托管代码的效率比native的代码要慢,据统计慢大约15%~20%;曾有人将quake2的c代码改到托管的c++代码(vc7 delegate),效率降低约15%;但是可以考虑在运算密集的模块使用com/com+,vc7是ms有史以来对standard C++支持最好的一次,同时编译的是native code,因此无论是效率还是标准都有保证。
  6. Open Source: 自从.Net诞生以来,open source社区从来没有过如此的关注过ms开发,大量的优秀平台框架和软件从java移植到.Net上,如Spring, hibernate,ant, log4j, junit等,极大的丰富了mser的选择,同时给ms平台带来了无数的先进思想(也不能说ms平台以前就完全没有)
  7. reflect: 相信bill从java那里学到了不少东西,而反射则是相当重要的一个。他使得Dependence injection等AOP的思路得以实施,使得托管代码也具有了以前只有c/c++才有的能力(类似函数指针)

标签: ,