Read Sean

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

          導航

          公告


          • 關于我
          • 人生是一場對話
          • gaoyuxiang AT gmail DOT com
          • titlelogo.png

          • 我的譯作
          • Scala for the Impatient
          • Open Source SOA
          • Programming in Scala

          • 聲明
          • 所有文章和代碼在這里以"現狀"提供,作者不提供任何形式的擔保,也沒有授予除閱讀和有條件共享之外的任何權利。除非特別說明,所有文章均為本blog作者原創,如需轉載請注明出處和原作者,如用于商業目的,需作者本人書面許可。

          • 推薦文章
          • Pylons起步

          常用鏈接

          留言簿(29)

          隨筆分類(842)

          隨筆檔案(507)

          文章檔案(4)

          Friends' blogs

          搜索

          •  

          積分與排名

          • 積分 - 782039
          • 排名 - 54

          最新評論

          閱讀排行榜

          評論排行榜


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

          posted @ 2006-04-10 23:19 laogao 閱讀(897) | 評論 (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 閱讀(1083) | 評論 (1)編輯 收藏


          和1.5.0相比,除了一般的bugfix之外,比較重要的改進是性能(內存使用)有了很大提高。詳見:
          http://www.eclipse.org/aspectj/

          posted @ 2006-04-05 21:31 laogao 閱讀(856) | 評論 (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 閱讀(1415) | 評論 (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 閱讀(4108) | 評論 (1)編輯 收藏


          You are what you read.

          我們經常會看到這樣的說法,直譯過來就是:你讀什么,你就是什么。言下之意,如果你什么也不讀,當然就什么也不是。不難理解,我們的閱讀習慣和閱讀的東西在很大的程度上都會影響我們的價值觀和判斷力,進而也會影響到我們的為人處事。所以說,通常如果了解了一個人的閱讀喜好,也就在很大程度上了解了這個人。比方說,很多人物傳記中,我們都能看到某某偉人喜歡的作者和書等等,傳記的作者則在此基礎上推衍出這個偉人的方方面面。我想,這就是上面這句話的本意,當然,在現代社會,這個read也許已經不僅僅指讀書了。

          posted @ 2006-03-30 12:25 laogao 閱讀(949) | 評論 (2)編輯 收藏


          大家最近大概都已經聽說了Windows Vista延期的消息。紐約時報的記者和編輯們當然也沒有閑著,Windows Vista為什么一再推遲,當初承諾的很多遠景為什么最終沒有實現或者說最終被取消,以及Windows本身是不是存在一些難以克服的內在約束,這篇文章嘗試回答上面這些問題(跟我很多想法都不謀而合):

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



          posted @ 2006-03-29 00:29 laogao 閱讀(886) | 評論 (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 閱讀(2661) | 評論 (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 閱讀(993) | 評論 (2)編輯 收藏


          http://www.gnome.org/


          posted @ 2006-03-17 12:41 laogao 閱讀(752) | 評論 (0)編輯 收藏


          由于主站博客園維護,BlogJava也停了一段時間。今天發現自己在Bloglines上的RSS出現了很多其他人的文章,想必是昨天維護留下的吧。;)


          posted @ 2006-03-16 10:20 laogao 閱讀(736) | 評論 (0)編輯 收藏


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


          posted @ 2006-03-14 14:04 laogao 閱讀(1083) | 評論 (0)編輯 收藏


          你今天Flickr了嗎?下面這個網站可能對你有些用處:

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


          它可以根據不同的搜索條件,找出最符合要求(如:某一天中最多人覺得有趣的500張)的照片,并把它們列在一起方便瀏覽。


          posted @ 2006-03-11 19:11 laogao 閱讀(789) | 評論 (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 閱讀(867) | 評論 (0)編輯 收藏


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


          posted @ 2006-02-21 12:55 laogao 閱讀(688) | 評論 (0)編輯 收藏

          僅列出標題
          共34頁: First 上一頁 13 14 15 16 17 18 19 20 21 下一頁 Last 
          主站蜘蛛池模板: 枣阳市| 新民市| 互助| 东安县| 监利县| 辽阳县| 孟州市| 米易县| 铜川市| 山西省| 徐汇区| 城口县| 宜良县| 合阳县| 富蕴县| 大名县| 滦南县| 沙河市| 彰化县| 大足县| 三明市| 道真| 石阡县| 石城县| 深水埗区| 甘德县| 黄冈市| 门源| 巢湖市| 陆良县| 托克托县| 沙雅县| 晋城| 涟水县| 潜江市| 灌阳县| 六枝特区| 尼木县| 新竹市| 彭水| 札达县|