Read Sean

Read me, read Sean.
posts - 508, comments - 655, trackbacks - 9, articles - 4


http://www.redhat.com/about/news/prarchive/2006/jboss.html

posted @ 2006-04-10 23:19 laogao 阅读(881) | 评论 (0)编辑 收藏


我相信我们当中不少人已经都知道GNU/Linux和Sun之间那种心照不宣选的分歧,加上是Stallman和他的FSF在中间掺合,还有一群志愿者自己弄一个开源的Java,似乎这个分歧已经要演化成为Java和Linux之间一堵柏林墙。真有必要这样吗?我不想说谁对谁错,谁都有自己的价值观和信仰,但是这样的纷争对开发者,对于那些真正想要通过软件改善这个世界的人们来说,有什么好处呢?喜欢(Sun)Java的会怎样看Linux,喜欢Linux的又会怎样看Sun?这还不止,拜FSF所赐,甚至Linux阵营内部也为了一个GPL v3出现了不小的裂痕,你说闹不闹庭?相比之下,还是BSD的世界来的清静,虽然也有分歧,但是更多了一分理性和务实。默默无闻的做自己想做的事,不是挺好的吗?

题外话不多说了,看看这则新闻。FreeBSD将随他们的OS发行Sun授权的Java的二进制版本:

http://lists.freebsd.org/pipermail/freebsd-announce/2006-April/001057.html


posted @ 2006-04-06 15:07 laogao 阅读(1067) | 评论 (1)编辑 收藏


和1.5.0相比,除了一般的bugfix之外,比较重要的改进是性能(内存使用)有了很大提高。详见:
http://www.eclipse.org/aspectj/

posted @ 2006-04-05 21:31 laogao 阅读(829) | 评论 (0)编辑 收藏


这里查看News & Noteworthy:
http://download.eclipse.org/eclipse/downloads/drops/S-3.2M6-200603312000/eclipse-news-M6.html

目前大多数mirror还没有更新这个版本的下载包,只能从加拿大的Main Download Site下载

posted @ 2006-04-02 08:12 laogao 阅读(1401) | 评论 (2)编辑 收藏


新的项目要求使用C#,对于习惯了Java开发模式和环境的朋友来说,一开始总会有些不适应。

拿我自己的体验来说,VS2005跟Eclipse SDK相比,当然画GUI和调试的直观性方面给我留下的印象很深,不过也有些我认为缺少了的东西:增量编译(很多时候只有F6以后,编译错误提示才会消失,有些引用和IntelliSense才生效,不像Eclipse,保存后自动增量编译)、代码排版(很怀念Ctrl-Shift-F)、引用整理(很怀念Ctrl-Shift-O)、很多有用的重构(可以说VS里面代码级的重构相比很多Java IDE差远了)、单元测试的集成(NUnit理论上应该可以很好的集成到VS2005,不过还是花了我一些功夫)、CVS客户端(很怀念Eclipse SDK)。当然,一些IDE当中相对小的差异一开始也很难适应,不过这些也可以理解,属于正常范畴。

最近为了把项目的一些基调和开发模式定下来,做了一些尝试,我想也许对大家还有些用,整理一下放在这里。

一个好的.NET项目,我相信有些东西事先定义好,对项目整个过程是有很大好处的,这些东西至少应该包括:开发工具选择和配置、代码模板、单元测试、代码自动化review工具、自动编译和测试、缺陷跟踪、文档管理等。当然如果不计成本,那么有很多重量级的SDLC框架可以用,如VSTS(MSF)、Rational(RUP)和Borland的集成工具,以上这些环节的问题相应的框架也大都给出了很好的解决方案,但是毕竟不是所有的项目都会购买和采用那么"重"的方法和过程,很多时候就算有那个预算,对于特定的项目,实施起来也不见得就会收到好的效果。于是我们接触到的很多项目,其实都还是需要自己去寻找适合的工具来把整个周期串起来。以下是我在尝试找到一套合适方案时遇到的一些特定问题以及解决办法:

首先是单元测试工具以及和IDE的集成。在Eclipse SDK中,我们不必太过关心这个问题,因为Eclipse已经很好的集成了JUnit。但是在.NET的世界,人们是怎么做的呢?答案是NUnit,一个跟JUnit非常类似的东西。和JUnit一样,NUnit也提供了命令行版本和GUI版本,但是VS里面并没有直接提供集成,你更多的时候需要从外部运行NUnit,当然这样很不爽啦。VS号称是自己也提供了单元测试工具,但是那仅仅在高端VSTS中才有。如何解决这个集成的问题呢?可以到http://www.testdriven.net/ 上下载一个TestDriven.NET的VS add-in。安装以后,就可以在VS中调用我们可能经常需要调用的NUnit来跑自己的单元测试了。

其次是代码模板。一个项目,不管大小,总会涉及到相当数量的源代码文件,我们希望这些源代码都包括一些共有的东西和特定的注释,怎么办?在Eclipse里面有code template的概念,那么在VS里呢?答案是Project Template和Item Template。一开始我根本摸不着头脑,只看到MSDN上正在说Code Snippet,于是我实现的1.0版代码模板就是基于Code Snippet的,用起来很不方便,有关Code Snippet,我等下还会提到,这里先看Templates。我Google了一下相关的Project Template和Item Template的说明,基本都是VS 2003的,不过它们给了我很好的提示,至少可以知道VS在生成默认的代码时是怎样一个思路。所有的VS 2005代码模板都可以在%VS_2005_INSTALL_PATH%\Common7\IDE\ProjectTemplates和%VS_2005_INSTALL_PATH%\Common7\IDE\ItemTemplates目录下面找到,Project Template和Item Template不同的是Project Templates是在你新建一个项目时使用的模板,而Item Templates是在你往一个现有项目中添加item,如Form、Class等的时候使用。这里需要注意两点:一是VS 2005跟VS 2003不同,templates不再是直接的.cs文件等,而是打包在了.zip中,需要修改的话,需要把新的文件重新压到.zip中;二是除了template目录,还有一个TemplateCache目录,为了立即看到模板的效果,这里面的相应.cs文件等也需要修改。模板改起来相当直接,一看便知,比如新建Form的模板:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace $rootnamespace$
{
    
public partial class $safeitemrootname$: Form
    
{
        
public $safeitemrootname$()
        
{
            InitializeComponent();
        }

    }

}


接下来说说Code Snippet,这个东东被MSDN吹得有点大,不过用起来实在有些不顺手,你虽然可以定义一大块代码片断,然后填一些参数,就能得到一个定制的代码段,但是毕竟你还是需要自己写很多东西,然后使用的话需要在代码编辑器里面点很多下才出来,又没有很好的快捷方式。不客气地说我觉得用Code Snippet来模拟Eclipse的很多现成的重构功能实在不能够体现出优势。退一万步讲,有总比没有强,至少你还是可以做一些东西的。使用现成的Code Snippet很简单,只要把VS指向你存放Code Snippets的目录即可,新的Code Snippets会被自动扫描到。方法是:Tools -> Code Snippets Manager或者Ctrl-K Ctrl-B然后添加目录名。所有的Code Snippets文件都以.snippet后缀结尾,其实内部是个XML,像这个样子:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  
<CodeSnippet Format="1.0.0">
    
<Header>
      
<Title>Insert a simple set of getter and setter pair</Title>
      
<Author>Sean GAO</Author>
      
<Description></Description>
      
<Shortcut>simplisticGetterSetter</Shortcut>
      
<SnippetTypes>
        
<SnippetType>Expansion</SnippetType>
      
</SnippetTypes>
    
</Header>
    
<Snippet>
      
<Declarations>
        
<Literal>
          
<ID>AccessLevel</ID>
          
<ToolTip></ToolTip>
          
<Default>public</Default>
        
</Literal>
        
<Literal>
          
<ID>PropertyType</ID>
          
<ToolTip></ToolTip>
          
<Default>string</Default>
        
</Literal>
        
<Literal>
          
<ID>PropertyName</ID>
          
<ToolTip></ToolTip>
          
<Default>name</Default>
        
</Literal>
        
<Literal>
          
<ID>LocalVarName</ID>
          
<ToolTip></ToolTip>
          
<Default>localVar</Default>
        
</Literal>
      
</Declarations>
      
<Code Language="csharp">
<![CDATA[        $AccessLevel$ $PropertyType$ $PropertyName$
        {
            get { return $LocalVarName$; }
            set { $LocalVarName$ = value; }
        }
]]>
      
</Code>
    
</Snippet>
  
</CodeSnippet>
</CodeSnippets>

我们可以看到,首先在.snippet中我定义了一些变量,然后在<Code/>段加入了<![CDATA[...]]>,就这么简单。

最后,还剩一些具体的工具,选择面比较广,我只列举一下我都选了哪些:
- 代码review和分析工具:FxCop,可以在GotDotNet网站上下载:http://www.gotdotnet.com/team/fxcop/ 。
- 自动编译管理:NANT和CruiseControl.NET:http://nant.sourceforge.net/ 和 http://ccnet.thoughtworks.com/ 。
- 缺陷跟踪:mantis:http://www.mantisbt.org/ 。
- 文档管理: jLibrary:http://jlibrary.sourceforge.net/ 。
- 版本控制:CVSNT和Eclipse SDK:http://www.cvsnt.org/ 和 http://eclipse.org/

暂时就是这么多,如果你和我一样从Java转向.NET,然后正在犯愁如何做一个.NET项目的前期准备,希望能给你一些参考。

posted @ 2006-04-01 17:04 laogao 阅读(4083) | 评论 (1)编辑 收藏


You are what you read.

我们经常会看到这样的说法,直译过来就是:你读什么,你就是什么。言下之意,如果你什么也不读,当然就什么也不是。不难理解,我们的阅读习惯和阅读的东西在很大的程度上都会影响我们的价值观和判断力,进而也会影响到我们的为人处事。所以说,通常如果了解了一个人的阅读喜好,也就在很大程度上了解了这个人。比方说,很多人物传记中,我们都能看到某某伟人喜欢的作者和书等等,传记的作者则在此基础上推衍出这个伟人的方方面面。我想,这就是上面这句话的本意,当然,在现代社会,这个read也许已经不仅仅指读书了。

posted @ 2006-03-30 12:25 laogao 阅读(925) | 评论 (2)编辑 收藏


大家最近大概都已经听说了Windows Vista延期的消息。纽约时报的记者和编辑们当然也没有闲着,Windows Vista为什么一再推迟,当初承诺的很多远景为什么最终没有实现或者说最终被取消,以及Windows本身是不是存在一些难以克服的内在约束,这篇文章尝试回答上面这些问题(跟我很多想法都不谋而合):

http://www.nytimes.com/2006/03/27/technology/27soft.html



posted @ 2006-03-29 00:29 laogao 阅读(868) | 评论 (0)编辑 收藏


到新公司上班已经快一个月了,这一次对我来说,是机遇,也是挑战。又回到了这个熟悉而又陌生的城市,很多身边的人和事,甚至自己,都在慢慢的发展和变化中。一个月以来,杂七杂八的事情很多,在BlogJava的随笔也更新得慢了,不过当一切步入正轨,我还是会继续为大家提供越来越多的原创文章和新闻链接,希望不会令喜欢我blog的朋友们失望。

说到具体的变化,大大小小的都有。首当其冲的当然是工作环境变了,从一个城市到另一个城市,从一个公司到另一个公司,虽然有很多同事之前就一直认识,从事的行业也是自己比较熟悉的,但是毕竟是一个全新的环境,饮食起居也和前面两年的悠闲适宜形成了鲜明的反差。甚至一向都很喜欢和习惯的Bloglines也改成了NewsGator。原因么,一方面我的一个朋友很早以前就向我推荐过这个NewsGator,另一方面,不知道是不是地域的差异,这边访问Bloglines很慢,加上Bloglines本身的特点,很容易在浏览时超时,丢掉一些可能对你有意义的feed,在这一点上,NewsGator做的更好。

从一个侧面,我们也可以看到ASP.NET在Web应用上,可以带个我们的东西,其实很多,类似NewsGator这样的ASP.NET站点,包括我们的博客园和BlogJava在内,我相信应该已经有相当大的数量。了解我的朋友大约都知道,我对.NET是一种又爱又恨的感觉,加上在Java阵营待的时间很久了,多多少少对.NET还是有些偏见,也很少有多余的时间去全面的学习.NET。我接下来这个新的项目将是基于.NET的,这就给我一个相当好的机会更加真实的去重新认识.NET。看来接下来这段日子不可避免要双修了。;)

昨天看Anders Hejlsberg的专访,给我印象最深的,是他的率真、务实和对编程的热忱。同时我也看到了Visual J++和C#、.NET背后的内在驱动力,其实和Eclipse背后的那股力量有着某种相似:We're not focused on hurting them, we're focused on helping us. (引用Eclipse Foundation的Mike Milinkovich)

这段采访视频可以在这里看到:
http://channel9.msdn.com/ShowPost.aspx?PostID=159952#159952

posted @ 2006-03-26 13:49 laogao 阅读(2619) | 评论 (6)编辑 收藏


SearchOpenSource.com上有一篇文章,标题是你不应该使用PostgreSQL的五条理由。当然了,作者是在澄清为什么PostgreSQL虽然大家看到很多评论在技术上都超出MySQL,实际应用中却没有看到大规模的人转向PostgreSQL。作者举出了五条最常听到的原因,并一一解释和澄清了一番。

原文链接:
http://searchopensource.techtarget.com/originalContent/0,289142,sid39_gci1172668,00.html

posted @ 2006-03-19 15:51 laogao 阅读(974) | 评论 (2)编辑 收藏


http://www.gnome.org/


posted @ 2006-03-17 12:41 laogao 阅读(735) | 评论 (0)编辑 收藏


由于主站博客园维护,BlogJava也停了一段时间。今天发现自己在Bloglines上的RSS出现了很多其他人的文章,想必是昨天维护留下的吧。;)


posted @ 2006-03-16 10:20 laogao 阅读(713) | 评论 (0)编辑 收藏


挺有趣的一篇文章,推荐阅读。
http://management.itmanagersjournal.com/article.pl?sid=06/03/06/1731240


posted @ 2006-03-14 14:04 laogao 阅读(1065) | 评论 (0)编辑 收藏


你今天Flickr了吗?下面这个网站可能对你有些用处:

http://www.houserdesign.com/flickr/


它可以根据不同的搜索条件,找出最符合要求(如:某一天中最多人觉得有趣的500张)的照片,并把它们列在一起方便浏览。


posted @ 2006-03-11 19:11 laogao 阅读(771) | 评论 (0)编辑 收藏


首先是ExtremeTech发表了一篇对Vista充满期待的评论文章:
http://www.extremetech.com/article2/0,1697,1931914,00.asp

然后DesktopLinux.com上争锋相对泼冷水的:
http://www.desktoplinux.com/articles/AT8288296398.html

到底Vista会怎样,恐怕还是只有等出来了才知道。


posted @ 2006-03-02 14:30 laogao 阅读(849) | 评论 (0)编辑 收藏


GNOME 2.14即将于3月15日正式发布,是时间看看它的新特性了:
http://www.gnome.org.nyud.net:8080/~davyd/gnome-2-14/


posted @ 2006-02-21 12:55 laogao 阅读(671) | 评论 (0)编辑 收藏

仅列出标题
共34页: First 上一页 13 14 15 16 17 18 19 20 21 下一页 Last