2005年3月1日星期二

【转】Subversion for Windows 安裝指南(@tom blog)

转自:http://www.cyberpunk.cn/n135c40.aspx

Subversion for Windows 安裝指南
[日期:2005-1-18] 来源: 作者:蔡煥麟 [字体:大 中 小]

作者:蔡煥麟
huanlin.tsai at msa.hinet.net
Revision: 1.3 (Aug-17-2004)
1 簡介

Subversion 是一個版本控制系統,它是根據 CVS(Concurrent Versions System)的功能為基礎來設計,但是改進了一些 CVS 的缺點,例如:在 CVS 中搬移檔案目錄很不方便,Subverion 則連目錄的異動都納入版本管理;此外,它也增加了其他的功能,例如:不可分割的送交(如同資料庫交易的概念,送交多個檔案時,若有任何一個檔案失敗,則這 次送交的所有檔案都不會進入檔案庫中)、支援多種網路協定、一致的檔案差異比對(不管什麼檔案類型,均使用二進位差異比對方式)....等等。

由於目前手邊查到的 Subversion 文件,主要都是針對 Linux 用戶來撰寫,所以這份文件特地針對 Windows 環境下安裝 Subversion 的步驟來說明,希望透過這份文件,能夠幫助你很快的把 Subversion 安裝起來。

在 安裝過程中,會需要輸入一些命令列的指令,我不會詳細解釋某些指令的用途和意義,因此你除了要熟悉 DOS 的基本指令,還應該隨時查閱 Subversion 的電子書(有中文版),以了解 Subverion 命令列工具的使用方法。圖形化介面雖然方便,但是熟悉命令列工具的使用,才能讓你得到完全的自由。
1.1 閱讀基本觀念

如果你缺乏版本控制系統的基本觀念,就算能夠順利安裝好 Subversion,可能安裝完成後就不知道下一步怎麼做了。這裡只簡單的提一點必要的基礎觀念,記住你最終還是得閱讀 Subversion 的官方文件。
1.2 作業環境與軟體版本

以下是筆者安裝 Subverion 的作業環境與軟體版本:

* Windows 2000 Server with SP4
* Apache HTTP Server v2.0.50
* Subversion v1.0.5
* TortoiseSVN 1.0.6 build 1200

2 安裝與建立 Subversion 伺服器

本節介紹安裝 Subversion 所需的步驟,請準備一台穩定的機器,作為 Subversion 的伺服器。
2.1 安裝 Apache HTTP Server

到 http://httpd.apache.org 下載 Apache HTTP Server 2.0 版 for Windows 的安裝程式,我下載的檔案是 apache_2.0.50-win32-x86-no_ssl.msi。

下載之後直接安裝,安裝過程很簡單,就不贅述了,但安裝之前請先檢查你的電腦是否有安裝 IIS,由於 Apache 預設使用 80 port,會跟 IIS 的網站衝突,你必須把 IIS 的 Web 站台關閉,再安裝 Apache HTTP Server。

安裝完成以後,開啟瀏覽器,瀏覽網址 http://127.0.0.1 看看有沒有出現安裝成功的網頁。
2.2 安裝 Subversion

1. 到 http://subversion.tigris.org/ 下載最新版的 Subversion,你可以下載 .zip 或者打包好的自動安裝程式,我下載的是檔案 svn-1.0.5-setup.exe。
2. 下載後直接安裝,安裝過程都是下一步,沒什麼特別的。安裝完成後,連必要的環境變數都幫你設定好了(如果你下載的是 .zip 檔,就要自行設定)。
3. 把 /httpd/ 目錄下的 mod_dav_svn.so 和 mod_authz_svn.so 複製到 /modules/ 目錄下。
4. 把 /bin/ 目錄下的 libdb42.dll、libeay32.dll、以及 ssleay32.dll 複製到 底下的 bin 或 modules 資料夾。
5. 接著用文書編輯器開啟 Apache HTTP Server 的 httpd.conf(在 /conf/ 目錄下),尋找一堆 LoadModule 指令,先找到以下兩行:

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

把前面的 '#' 字元刪除,然後把下面幾行文字加到這群 LoadModule 指令的後面:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
 
6. 重新啟動 Apache HTTP Server。

問題排除

如果 Apache HTTP Server 無法啟動,請依下列步驟檢查:

1. 檢查 Subversion 的路徑是否有在系統的 %PATH% 環境變數裡面。
2. 檢查你加入 httpd.conf 裡的項目是否正確,記住 mod_dav_svn.so 和 mod_authz_svn.so 必須在其他 mod_dav*.so 模組之後載入。

2.3 設定 Subversion 檔案庫的路徑

現在要設定 URL 路徑與檔案庫實體路徑的對應關係。對應的方式有兩種,分別是 SVNPath 與 SVNParentPath。
2.3.1 SVNPath

SVNPath 適合用來個別指定檔案庫的路徑,語法是:


DAV svn
SVNPath /absolute/path/to/repository


其 中 "/svn/repos_name" 就是用戶端存取特定檔案庫的 URI(Uniform Resource Indentifier),SVNPath 後面指定的路徑則是檔案庫的絕對路徑,假設我們的檔案庫實際存放的路徑是 d:/svn/MyProject,並且希望用戶端使用 "http://myserver/svn/myprj" 的 URL 來存取檔案庫,那麼要加入 httpd.conf 的內容就是:


DAV svn
SVNPath d:/svn/MyProject


注意 Location 標籤後面的 /svn/myprj 的第一個斜線不可少!
2.3.2 SVNParentPath

如果你的檔案庫都集中放在某個目錄之下,例如:d:/svn,那你就可以使用 SVNParentPath 的方式指定檔案庫的根路徑,例如:


DAV svn
SVNParentPath d:/svn


這表示可以讓任何人都可以透過 http://myserver/svn/<檔案庫名稱> 的方式,存取位於 d:/svn 這個目錄以下的所有檔案庫。也就是說,這個設定動作只需要一次,如果使用 SVNPath,你必須為各個檔案庫分別指定對應的路徑。

以上兩種設定方式都可以,方便起見,這裡我用 SVNParentPath 來統一指定所有檔案庫的父層 URL 路徑。

的設定加到 Apache HTTP Server 的 httpd.conf 檔尾就行了。

接著便可以開始建立檔案庫。
2.4 建立檔案庫

假設我們要把所有的檔案庫都放在 d:/svn 目錄下,現在要建立一個測試用的檔案庫,名稱叫做 在 repository,指令為:

md d:/svn
svnadmin create d:/svn/repository

命令執行完後,檢查看看 d:/svn/repository 目錄底下產生了哪些目錄和檔案。
警告

檔案庫絕對不可以在建立在任何遠端的儲存媒體上,例如:網路磁碟機。

這時候你已經建立了一個檔案庫,你可以先在本機用瀏覽器測試一下,網址輸入 http://svn/repository,看看能不能看到檔案庫的內容,正常的話應該像下圖一樣。

如果以上的測試可以通過,應該就行了。如果你還想要測試一下能不能從檔案庫取出整個工作複本,可以執行下列指令(非必要):

c:
cd\temp
svn co http://localhost/svn/repository WholeRepos

上 述指令會切換到一個暫時的目錄 c:\temp,然後從檔案庫取出整個工作複本。最後一行指令是要 svn.exe 執行 check out 動作(縮寫 co),如果正確的話,應該會顯示 "Checked out revision 0." 的訊息,此時 /svn/repository 這個檔案庫底下的所有檔案目錄都已經取出,並且複製一份到 c:/temp/WholeRepos 目錄下了。
問題排除

如果顯示的錯誤訊息是:

svn: PROPFIND request failed on '/svn/repository'
svn: PROPFIND of '/svn/repository': 405 Method Not Allowed (http://localhost)

請 檢查 Apache HTTP Server 的 httpd.conf 檔案裡面的 標籤x的位置是否跟你指定的 URL 樣式相同,注意一定要完全相同,以上面的例子而言,你的 httpd.conf 的最後面應該會有以下文字:


DAV svn
SVNPath 指向檔案庫的絕對路徑


如果顯示的錯誤訊息是:

svn: PROPFIND request failed on '/svn/repository'
svn:
Could not open the requested SVN filesystem

那表示在 /svn 對應的實體目錄(即 d:/svn)下找不到 reposiroty 這個目錄。

註:PROPFIND 是給 WebDAV 用的 HTTP method,用來從資源中取得屬性。

測試完畢就可以把 WholeRepos 這個目錄整個刪掉了。

到目前為止,可以確定檔案庫已經建立完成,接下來就可以匯入專案了。
2.5 匯入專案

不用急著把你現有的正式專案匯入檔案庫,先建立一個用來測試的專案目錄就好了。我們先在 c:/temp 底下建一個 ProjectA 的專案目錄結構,參考下面的指令:

c:
cd temp
md ProjectA
md ProjectA/trunk
md ProjectA/branches
md ProjectA/tags
svn import . http://localhost/svn/repository -m "Initial repository layout"

提示

本 文在執行 svn 命令時,都是使用 http 協定的方式,這樣我們可以確知 Subversion 與 Apache HTTP Server 的設定無誤,其他人就可以透過 Internet 存取檔案庫。當然你也可以用其他的協定,例如:file:///,如果使用 file 協定,最後一行指令就變成:

svn import . file:///d:/svn/repository -m "Initial repository layout"

命令執行無誤的話,應會看到如下的畫面:

這 時候 ProjectA 這個專案已經匯入檔案庫了,也就是說,其他使用者可以開始存取這個檔案庫的專案取出文件和程式碼了。你可以參考 Subversion 的官方手冊中關於 svn.exe 這個用戶端命令列工具的使用方法,多練習一下取出檔案、加入檔案、以及存入檔案等指令。萬一練習的過程中發生錯誤,或者檔案庫弄亂了,你可以把整個檔案庫 的目錄砍掉,回到 2.4 節重新做一遍。

以下會進一步討論檔案庫和專案目錄結構的安排方式,如果你急著想試試看用戶端如何存取 Subversion 檔案庫,可以先跳到2.6 節或第 3 節。
2.5.1 檔案庫與專案的配置方式

延續前面的範例,如果你再匯入其他專案,例如 ProjectB,那麼整個檔案庫的結構會變成這樣:

/svn/repository/
+-- ProjectA/
+-- ProjectB/

也就是說 repository 這個檔案庫裡面包含了兩個專案。

如果你希望為每個專案建立一個檔案庫,那麼在 2.4 節中建立檔案庫的指令就變成:

md d:/svn
svnadmin create d:/svn/ProjectA
svnadmin create d:/svn/ProjectB

這樣就變成有兩個檔案庫了,檔案庫名稱分別是 ProjectA 與 ProjectB。
提示

如果專案之間有共享的檔案,建議把這些相關的專案放進同一個檔案庫;如果專案之間彼此毫無關係,那就採用一個檔案庫放一個專案的方式,這種方式等於專案就是檔案庫。

第一種方式有個比較奇怪的「功能」你應該要知道,就是一個專案的 check in 動作,也會令其他專案的檔案的修訂版次遞增 ,如果這不是你想要的,請選擇第二種方式,即一個檔案庫只存放一個專案。
2.5.2 專案的目錄結構

這裡補充說明一下 ProjectA 的目錄結構。在 ProjectA 專案的根目錄下建立的 trunk、branches、和 tags 這三個目錄是有特別意義的,它們的作用分別是:

* trunk 目錄用來存份目前專案正在進行開發的程式檔案和文件(又稱為主線,即 mainline);
* branches 用來存放主線的各個仍在發展中的分支;
* tags 則用來存放已經不再變動的分支,也就是其中的檔案不會再修改了。

這是 Subverion 官方手冊建議的目錄結構安排方式,你可以自己決定要不要用這種配置方式,詳細說明請參考官方手冊的第五章,子標題為 "Choosing a Repository Layout"。
提示

目錄名稱建議盡量不要用中文名稱,這樣在使用命令列時比較方便,也比較不會有問題。
2.6 使用 Windows 網域帳戶驗證

照著前面的步驟做,你會發現存取檔案庫時都不用輸入帳號密碼,這是因為我們之前的設定沒有啟用身分驗證的功能。但是我們通常不希望所有人都能任意存取你的檔案庫,免得重要資產外洩,或者資料被破壞,因此了解如何加入身分驗證也是必要的。

Serversion 提供了多種驗證使用者身份的方式,這裡只介紹 Windows 身分驗證的方式,這種方式很適合用在開發團隊成員都在區域網路內的情況。請依下列步驟進行:

1. 取得 SSPI 模組,下載網址為 http://tortoisesvn.tigris.org/mod_auth_sspi.zip。
2. 把 zip 裡面的 mod_auth_sspi.so 解壓縮到 \modules 目錄下。
3. 把下面這行加入到 Apache 的 httpd.conf 裡面:

LoadModule sspi_auth_module modules/mod_auth_sspi.so

注意上面加入的這行一定要放在下面這行的前面:

LoadModule auth_module modules/mod_auth.so

4. 修改 httpd.conf 的 設定如下:


DAV svn
SVNParentPath d:/svn
AuthType SSPI
AuthName "Subversion 檔案庫"
Require valid-user
SSPIAuth On
SSPIAuthoritative On
SSPIDomain
SSPIOfferBasic On


其中 就是你的 Windows 網域控制器的電腦名稱(例如:WIN2KDC),注意兩邊的括號 <> 不用保留。如果你的環境沒有網域控制器,就維持原來的 就行了。在我的環境下,我發現即使有網域控制器,但是這裡不去設定它,還是能夠正常的驗證使用者身分。
 
5. 重新啟動 Apache。

好了,現在開啟瀏覽器,輸入網址 http://127.0.0.1/svn/repository 看看,你預期應該會看到如下的驗證畫面:

但是卻沒有出現這個畫面,而是直接顯示檔案庫內容,怎麼回事?

因為我們現在是使用 Windows 帳戶驗證,你目前已經登入這台機器了,而你要存取的也是本機的資源,換句話說,你的身分已經被驗證過了,所以就不會再要求你輸入帳號跟密碼,這是採用 SSPI 網域驗證的好處。

那 麼,如果你的同事 John 的電腦有加入網域,但是他平時都是登入本機,而非登入網域,在存取檔案庫時會不會要求輸入帳號密碼?答案是如果 John 登入他本機的帳號和密碼跟他在網域使用者的帳號密碼完全一樣的話,就無需再輸入密碼;相反的,如果登入本機的使用者帳號和密碼與網域使用者帳號密碼不同, 第一次存取時就必須輸入密碼。

你可以在別台機器上,用一個網域裡沒有的使用者帳號去存取 Subverion 檔案庫,如果正確的話,應該就會出現要求輸入帳號密碼的視窗。

以上還只是最基本的設定,如果你希望做些進階的設定,例如允許所有人都可以檢視檔案庫的內容,但是不能修改;或者要加入 SSL 加密機制,建議您參考 [2] 的第三章。
提示

啟 用身分驗證之後,你會發現用命令列工具 svn.exe 存取檔案庫時,如果是用 http:// 協定,有些子命令(subcommand)執行時會出現 "authorization failed" 的錯誤,這時候你可以在 svn 命令中加入 --username 和 --password 來提供使用者名稱和密碼,例如:

svn co http://myserver/svn/ --username michael --password guesswhat

或者你也可以改用 file:/// 協定。
3 安裝用戶端:TortoiseSVN

現 在你已經有一個可以運作的 Subversion 伺服器,可以試著在其他電腦上存取檔案庫了。如果你習慣使用命令列工具,那就只要在用戶端電腦上安裝 Subversion 就行了,存取檔案庫都是透過命令列工具(主要是 svn.exe)。這裡要介紹的是一個專門為 Windows 作業系統設計的 Subversion 用戶端:TortoiseSVN(以下簡稱 TSVN)。
3.1 安裝 TortoiseSVN

1. 到 http://tortoisesvn.tigris.org 下載最新的安裝程式,下載後直接安裝。安裝過程大都是按下一步,只有在問你



安裝完成後會要求你重新開機。
2. 到 http://tortoisesvn.tigris.org 下載繁體中文的語言包(language pack),請注意語言包的版本應該要跟你安裝的 TSVN 版本相同,否則最好不要安裝。語言包裝完之後,用檔案總管在 Windows 桌面上或任何一個資料夾上點一下滑鼠右鍵,選擇 TortoiseSVN -> Settings 以開啟設定視窗,在 "Main" 頁夾中更改 Language 設定為「中文(繁體)」,再按「確定」鈕即可。
3. 如果你是透過 proxy server 存取 Internet,請在 TSVN 的設定視窗中,切到「網路」頁夾,然後輸入你的 proxy server 相關資訊,否則你將無法存取位於 Internet 上的檔案庫。

安裝完成之後,在任何目錄名稱上點一下滑鼠右鍵都可以看到 TSVN 的功能選項,這也是 TSVN 方便的地方,它不用跟開發工具整合,而是跟作業系統整合在一起,這樣不管你用什麼開發工具,都可以輕鬆的使用 TSVN 來存取檔案庫。

接下來你可以用 TSVN 練習一下存取之前建立好的檔案庫,試著把你現有的專案匯入檔案庫中,並且在用戶端使用 TSVN 執行取出、存入、更新等動作。

TSVN 雖然是用戶端工具,不過它也提供了建立檔案庫、以及匯入、匯出等功能,因此安裝在伺服器端也挺方便的。
4 結語

按照本文說明的安裝步驟,希望能讓你順利在 Windows 環境下把 Subversion 安裝起來。但是安裝成功以後,真正的工作要才開始,如果你沒有花點時間閱讀 Subversion 的相關文件,在使用版本控制系統的過程中,一定會碰到許多問題。

在正式將你的專案加入 Subversion 檔案庫之前,建議您多考慮一下:

1. 檔案庫的配置方式。究竟要為每一個專案建立一個檔案庫,還是把多個專案放進同一個檔案庫裡?
2. 專案目錄的結構。你要依照官方手冊的方式,在專案的根目錄下建立 trunk、branches、和 tags 嗎?
3. 哪些東西要放進檔案庫裡?

前 兩個問題你可以參考 [1] 的建議(第五章),再衡量自己的需求來決定。你不見得要依照官方的建議,第一次也許採用最單純的配置方式會比較好,例如:一個檔案庫就只放一個專案,而且 只把程式的原始碼 放進檔案庫,也不去分主線支線了,因此專案的目錄結構可以很單純,程式原始碼的根目錄就是專案的根目錄。自己動手做過幾次以後,再去觀察檔案庫的內容,就 會比較有感覺了,然後再來考慮自己團隊的需求,自然就能找到最適合自己團隊的配置方式了。
後記

這份文件快要寫完時,才發現 [2] 已經提供一份類似的文件了,不過既然寫了,還是公佈出來吧,中文資源多一些總是好的。
網路資源
[1] Subversion 電子書。http://svnbook.red-bean.com/
繁體中文版:http://svn.ntcu.net/svnbook/
[2] TortoiseSVN 官方文件。http://tortoisesvn.tigris.org/docs.html#DocDir
[3] http://svn.ntcu.net/kwiki/

原文请参考:http://sun.cis.scu.edu.tw/~nms9115/articles/softeng/scm/svn/2-install/svn_install.htm


2005-03-01 22:40:24 Tue

SubVersion的Wiki首页(@tom blog)

http://svn.ntcu.net/kwiki/

2005-03-01 22:21:50 Tue

2005年2月28日星期一

【转】雷东多列传(@tom blog)

转自SMTH的WorldSoccer版

发信人: DavorSuker (纪念98年的夏天), 信区: WorldSoccer
标 题: 雷东多列传
发信站: BBS 水木清华站 (Sun Feb 27 17:17:46 2005), 站内

《雷东铎列传》 BY 冰原奇谭


雷 东铎,字斐南,号王子,潘帕氏人也。出身富家,少即皎皎不群。总角之年,其父许赠以阿迪战衣,后恐过奢,私以赝品代之。及赠时,雷坚拒,父讶然。雷从容对 曰:“此赝品也。”其目下无尘若此。稍长就学,为诸童之首。学中有童性极顽劣,师长数面刺之,弗改。翌日,雷至,曰:“弗从善言,汝则无伴矣。”此童悚然 惊惧,遂改之,竟无劣行。

学成,至西国,才名日著,得为王室马德里军召。雷弱冠少年,其面如玉,发作金色及肩。每战,态极雍和自若,洞 局势若观火,观者莫不赞其勇决,几至忘归。虽数逢恶战,未蒙巨创。人尝问:“君何得观人动静安危?”对曰:“吾观其影,即知矣。”不数年,已为王军骁将, 能攻善守,名动天下。先帝数临伯纳乌观之,赞曰:“能”。世人号为军中第一谋士。

王军中有少年名古蒂,字何塞,号金狼,孤高桀骜,年少放浪,常出入酒肆烟花之所;极慕雷氏高华,言服举止,莫不效之,竟至形神毕肖。雷素知其才,然深鄙其性。尝遇老妪于市,妪拦之,曰:“君无乃古蒂耶?吾孙极敬君,可得君真迹?”遂愈不喜古蒂。

昔, 潘帕氏军主帅比氏尝召雷氏勤王,雷对曰:“吾欲应法曹之试,无暇他顾。”遂不入。后易为帕氏,雷氏与之素不相能。帕氏欲肃军纪以立己威,即号三军曰:“入 我军者,留发不留人。”时潘帕氏人发多及肩,闻之莫不腹诽,然为得一召,削发者甚众。唯雷氏置诸一笑,终不得召。时人颇多讥刺之言。后帕氏溃败,雷闻之, 即落长发,其傲如此。

庚辰年,先帝薨。群雄逐鹿,帝位沦于弗罗伦蒂诺之手。弗氏尝为巨贾,性阴鸷奸狡,深谙权术。先时旧将,戍边者众。雷为先帝旧部之婿,素不见喜于弗氏,遂被逐。及离日,拥趸数万泣血留之。

至米兰,旧疾发,两年不得战。雷自请去其俸银,以谢其愆。米兰怜其才,竟未准。时人有骏骨千金之言。愈后尝为米兰数战,骁勇未复当年。雷乞归西域,自是隐于市。偶遇者有词咏曰:“今夕何夕兮,得与王子同车!”世人景仰竟如是。

复思之,米兰得其用而不得其士,王军得其士而不得其用,惟增叹耳。


2005-02-28 22:54:33 Mon

2005年2月27日星期日

春节聚会的感谢与遗憾(@tom blog)

这次聚会,很高兴,也留下了不少遗憾,而遗憾没有机会弥补,也就更加遗憾了。

几个感谢的地方:
1、气氛很好,大家都很高兴,也比较尽兴。
2、杨鸿、朱珠、林小引等同学都很负责,设备,经费等方面的管理很到位。
3、张晓峰、钟波、杨鸿为晚上唱歌提供了经费,特别是张晓峰,足见同学情深。
4、天公做美,让我们下午参观校园的时候没有下雨。 :)

几个遗憾的地方:
1、一些同学没有通知到,没有联系方式。 :(
2、一些同学通知到了,由于种种原因不能参加,特别是身为班长的色哥没能参加,
殊为遗憾。而于天波的缺席,说明要和同学们加强联系啊。
3、老师的邀请,没有到位,比较混乱,可能和经验有关吧。
4、原先的计划中,有将各位同学的过去的照片和现在的照片收集整理,制作相册的计划,但是现在,各位同学给杨鸿提供的照片非常之少,致使计划接近流产,也许大家都很忙,这个可以理解,但是,遗憾......

其他,一时也想不起许多,如果有下次,希望能更好,不论如何,友谊万岁。


2005-02-27 23:44:49 Sun

牵手十年--春节同学聚会流水帐(@tom blog)

再不记一下,有些东西就会忘记了。


从去年中旬就开始有这样的想法,到最终完成,留下了很多高兴和遗憾的事,下面记一个流水帐,算是一个小结吧。

很早之前,就有这样一个提议了。当时几个同学之间简单讨论了一下,因为时间还早,就一直放着。到年底之后,时间渐渐快到了,如果组织,进行那些活动,就开始逐步讨论起来。

2004年11月29日,杨鸿发表了《牵手十年》的文章,正式把聚会的事情提上了日程。然后就是准备通知同学,请老师,活动之类的讨论进行。直到春节前,大体准备工作完成。

初四下午,杨鸿和我在他的办公室把能通知到的同学一一进行电话确认,本来以为这样能保证大家明确消息,不料后来还是发生了于天波缺席的遗憾。电话通知中,确认了第二天的集合时间和大致的安排。

初五上午,按照原来的讨论,几个人来到绵中准备踢球,作为原来952班“国家队”和“国奥队”对抗赛的纪念,可惜由于下雨的原因,只有几个铁杆来了,特别 感谢黄欣悦和朱珠两位家属的大力支持,以及杨磊表弟的参与,让我们凑够了人数。踢球之前,先去拜访了一下郑老师,聊了聊大家的近况。然后由郑老师带我们入 场的,要不然,这次的纪念赛由可能夭折,感谢郑老师。

踢球到12点多,各自回家洗澡,准备下午的聚会。下午两点,大家陆续赶到绵中传达室,刚开始的时候天空中还有些微细雨,但当同学我们游览校园,照相留念时,雨却停了,感谢天公做美。

同学渐渐的聚多,每个许久不见的同学的到来,都会引起大家一阵地激动,而郑老师和汪老师的到来,更是激起了大家热烈的欢呼。大约2点半左右,人员基本到齐,大家进去校园,开始参观与缅怀之旅。

首先,大家在学校的礼食堂门前来了一张合影。礼食堂很大,大家议论纷纷,感慨颇多。郑老师也陆续介绍了一些学校现在的情况。大家陆续参观了老教务处,旧教 学楼,新的学生宿舍等地方。在旧教学楼前我们毕业照的地方,大家留下了一张“怀念照”。而看到旧教学楼我们高一的教室时,大家纷纷进入以缅怀当时的时光, 陈建巍在黑板上流下了“高九五二到此一游”的留言,甚为怀念。在新教学楼,大家感慨现在教室的变化,而在宿舍区,大家更是兴奋,纷纷惊叹于绵中现在的发 展。参观过程中,另外两位同学及家属来到,于是大家回到校门,以校门为背景,又留下了两张合影。

参观完毕,大家分头感到实现说好的地方,喝茶聊天。其间,杨鸿和朱珠进行了活动经费的收集管理,殊为感谢。时间到晚上6点,大家进入老房子的包间,准备晚 餐。包间中,我们的毕业照显示在墙壁上(感谢林小引提供笔记本,杨鸿提供投影仪),大家一阵欢呼,纷纷开始辨认,然后是下午的合影,看着大家的变化,同学 们又是一阵议论。

晚餐开始,下午有事未能到学校的胡老师也赶过来了。郑老师因为有事,要离开一阵,于是开始逐桌逐人敬酒,掀起了第一个高潮。大家气氛热烈,关系融洽,纷纷 举杯,不断掀起一个一个的高潮(可怜我,忙着照相,后面上了些什么菜都不知道)。大家的战斗力出乎意料的强大,很快将准备的酒水搞定,急忙出去补充了一 些,方才基本满足了大家的需求

晚餐毕,大家慢慢走出,找了一个很大的KTV包间,开始唱歌。很热闹,气氛也很好,大家都很开心,唱歌的唱歌,聊天的聊天,不停的互相敬敬酒,很好,一切 都很好,唯一遗憾的是我相机的电池不够,没能留下更多大家的笑容。后来,郑老师也赶了过来,参加了我们的狂欢。

夜深了,大家渐渐地开始离去,聚会就要结束了。最后剩下的10多个同学出来,开始找地方要放烟花。找了半天,正准备放弃的时候,周舟(朱珠同学的老公)联 系说已经买到了(感谢周舟让这次聚会有了一个完满的结束),于是大家等待着周舟的带来。周舟到了,首先的动作是献给了朱珠一捧玫瑰,哦,已经过了12点 了,现在已经是2月14日了,大家热烈喝彩,然后拿上烟花冲上了河堤。

美丽的烟花在夜空绽放,一如我们美丽的青春......

2005-02-27 23:28:48 Sun

2005年2月24日星期四

【转】建议网友必去的10个博客网站(@tom blog)

转自:http://bbs.cfanclub.net/dispbbs.asp?boardID=60&ID=220240

1.博客中国
是中国影响力最大的博客网站,但是对于新博客不一定是好事,名目繁杂,很难一时找到立足之地
http://www.blogchina.com/
推荐:博客名家组
推荐等级:★★★★★

2.中国博客站
与博客中国仅仅差了两个字,他的博客"狗日报"在国际上获得过大奖
http://www.blogcn.com/
推荐:狗日报
推荐等级:★★★★☆

3.博客动力
博客分类全面,但容易迷失自我
http://www.blogdriver.com
推荐:博客模版比较多
推荐等级:★★★★☆


4.财富博客
博客界冉冉升起的新星,依托专业理财成功励志网站,渴望成功的人士必去的网站
http://www.richblog.net
推荐:理财,投资,成功,励志
推荐等级:★★★★

5.donews
网站庞大,博客是它的主要部分
http://www.donews.net
推荐:网站包罗万象,应有具有
推荐等级:★★★★


6.Blogbus
页面简单,简明正是博客的特点,但管理过与松懈
http://www.blogbus.com
推荐:非常6+1的得奖者也在上面
推荐等级:★★★☆

7.你的博客
属于你自己的博客网站
http://www.yourblog.org/
推荐:木子美
推荐等级:★★★☆

8.Far2000博客网
一个不错的建筑博客网站
http://blog.far2000.com
推荐:建筑,设计
推荐等级:★★★★☆

9.博客堂
一个不错的技术博客网站,担人气似乎不足。
http://blog.joycode.com/
推荐:代码分析
推荐等级:★★★★☆

10.cnblog
目标是收录中国最好的个人博客网站
http://www.cnblog.org/
推荐:博客目录
推荐等级:★★★★

2005-02-24 12:09:40 Thu

2005年2月20日星期日

一路走好,八娘(@tom blog)

周六,正准备吃晚饭的时候,突然收到姐姐发来的短消息,“八娘已于中午去世”,心里大惊,悲从中来,急忙打电话回家。是妈妈接的电话,可能是由于伤心,我 的声音过于低沉,以至于妈妈开始竟然没有听出来是我。从妈妈那里,证实了八娘去世的消息,顿时哽咽起来,妈妈也很难过,但还是劝我不要伤心,说八娘那么大 的岁数了,走也是正常的。只是,这事来得太突然。放下电话,我不由得呆坐在椅子上发起呆来。

我小学二年级就离开老家了。在离开前的那几年中,记忆中最亲的,就要算是八伯八娘他们一家了。小时候,由于工作关系,父亲每年有一长段时间不在家,而妈妈 忙里忙外,很多时候顾不上我们。所以经常在吃晚饭的时候,如果妈妈还没有回来,就跟着八娘他们一起吃。而八娘他们对我们也很照顾,经常给我们一些好吃的。 平时,两家人也经常合在一起吃饭。上小学后,由于八伯是长岭职中的校长,和小学挨得比较近,于是我和姐姐的中午饭也就在八伯那边去吃了。由于小时候两家很 亲,大人们经常拿我开玩笑,说我不是妈妈亲生的,而是是八娘生了抱给妈妈养的。如此经常,搞得我很郁闷,也不知道自己到底是不是妈妈亲生的。知道有一次大 人们又开我玩笑,问我到底是谁生的,我很委屈的大声说,我也不知道,然后才在大人们的笑声中从妈妈那里证实了事实,我是妈妈亲生的。

小学二年级后,我们就因为搬家而离开了老家。走的时候,八娘他们就叮嘱说要常回去,然而,那时候的情况,交通,经济等各方面的原因,一直到91年的春节, 我们才全家回去了一次,这次回去时,我已经不认识大部分人了,或者说,他们都认识我,我不认识他们。除了八娘一家。回去后,就住在八娘家,每天和八伯下下 象棋,看看小说,到处逛逛,那时候也不知道和他们相处的时候越来越少。也就这样,很快就回去上学了,然后,就再也没有机会回去了。这次走的时候,八娘又叮 嘱我们有机会就回去看看,还特别要我好好学习。

一别又是好多年,我考上了大学,来到遥远的南京上学,然后给八伯他们写了信回去,断断续续和他们保持着通信,直到一次放假前突然听到八伯去世的消息,然后 去无法回去看看。开学后,接到了八伯的最后一封信,然后就和老家断了联系。最近几年,从父母那边知道了八娘他们的电话号码,然而自己生性懒惰,也好多年没 回去,不知道打电话该说些什么,也就放下了。陆陆续续从父母那里知道八娘的一些消息,人老了,身体比以前查一些了,生活还过得去。知道八娘八十大寿时,我 才打电话回去给她拜寿,电话里面,八娘一如既往的关心我,叮嘱我要回去看看,是啊,想想,是已经好多年没有回去了。 这次春节回家,和爸妈说起八娘。说她想看看我们现在的照片。初一的时候打电话给八娘,电话里听起来声音还好,还是问我什么时候能回去看看,我也答应找时间 回去,心里想,两三年能争取能回去看看吧。从家里回南京前,特地用数码相机照了一张全家福,准备在南京冲洗后让爸妈给八娘他们寄回去,谁知道,所有的事情 都还没来得及进行,八娘却已经离开了我们,怎么能不让我难过那。

然而,我能做什么哪,只能默默的祷告,祝愿八娘一路走好,而我这个不争气的晚辈,只能在今后好好工作,好好生活,来报答八娘他们的恩情。

八娘,一路走好,我在这里给你磕头了。

2005-02-20 23:57:18 Sun

2005年1月26日星期三

年关难过,心神不宁(@tom blog)

当你的过去一年过得不好时,就最怕过年了。

过年前,总要做一个年终总结吧。可是,总结什么呢?在过去的一年我又做了一些什么呢?可以说是一事无成啊。不敢回头看。看看周围的同学,看看周围的朋友, 似乎都比自己过得好。这样的状况,已经持续了两年,也许更长,而自己各个方面似乎都看不到进步的趋势,除了不断增长的年龄和疲态。

过年了,总要回家吧。可是,该怎么样回去呢?虽然父母在金钱上对自己没什么要求,但是为人子女,总要表示一下的,可是,看看自己的口袋,是否足够支持自己的孝心呢?还有,其他方面父母对自己的期望,好像也不能满足他们,没有好消息,怎么好意思回去那?

过年回家,同学们总要聚聚吧,可是,怎么和他们谈论自己的作为那?说自己毫无进步,说自己没有方向,虽然实事求是,可是,这样似乎也太狼狈了一点。

马上又是新的一年,可是,看看自己,希望在那里那?

于是,在又一个的年关,自己又一次的心神不宁。也许,过几天,一切都过去,然后一切都会是老样子,可是,能这样么?

我现在还不知道......

2005-01-26 22:46:15

2005年1月1日星期六

在紫金山上迎接2005年第一缕阳光(@tom blog)

在新的一年来临时,总想找点不同的事情尝试一下,这次,我决定去爬紫金山,看看2005年的第一次日出。
主意打定,就准备实施,问问路线,问问是否有同行者,很好,有两个同事同行。讨论好出发时间,就各自准备了。
时间慢慢地过去着。31号下午早早的就下班了,回家准备睡觉.吃了晚饭,上网逛了一下,看看时间,差不多了。洗脚、上床,发了新年祝福的短信给朋友们,然 后就开始睡觉。谁知道,好久没这么早睡了,在床上怎么也睡不着,只好开始数羊,熬到11点半,到了平时准备睡觉的时间,总算模模糊糊的税了过去。好像没睡 多久,就听见手机响了,嗯,第一个出发的同事开始叫醒服务了。看看时间,才3点半,照计划应该4点才起来,嗯,不管,再眯一会儿再说。闭眼再躺了会儿,觉 得差不多了,翻身起床,正在穿衣服,昨晚订好的闹钟响了,4点了,看来我的感觉还是不错的。
刚穿好衣服,手机又响了,同事告诉我,十分钟之后到约定的地点。天,十分钟,那可来不及,赶忙说好让他们等等,然后快速刷牙、洗脸,然后灌好一瓶水,吃了两个小蛋糕,有带了几个上山后吃。搞好这一切,已经4点20了,背上相机就冲了出去。
见到同事,打车直奔樱陀村而去,路上出租司机听到我们要去爬山,大为惊讶,连说现在太冷了,不好爬。不管那么多,一路飞快,就到了樱陀村的登山道旁,下车,开始了我们的征程。此时是4点50左右。
前几天南京刚下过一场大雪,但是在城里面,雪已经化的差不多了,没想到紫金山上居然还有这么多的雪,而且,登山的阶梯上也有,有些地方已经成冰了,比较 滑,这给我们的登山带来了一些难度。走在登山的路上,三个人随便聊着一些紫金山的故事,什么号称前一段时间紫金山有狼之类的,开始时蛮轻松的,走了一段时 间之后,我开始喘气了,好久没锻炼了。另外一个同事常爬山,还很正常,还有一个同事则比我的状况还差,慢慢的,大家话开始少了,除了彼此招呼一下那个地方 需要小心,很少再聊天了,爬山还是很累的。
此时的紫金山,一片寂静,除了我们偶尔踩在积雪上的声音和说话声之外,再无其他声响。月光很好,静静地撒在树林上,照着我们的登山道路,柔和而有明亮,让 人感到一种沉静中的安详。林中的残雪,雪白一片,铺满了整个地面,整个世界显得那么素净,在这月光下,在这白雪上,一切都显得那么的美好,连呼吸的空气, 也多了几分宁静与清新。
走了十多分钟,大家都觉得比较疲劳了,于是,找了一个较为平坦的地方站着休息一下。喝了点水,我拿出相机,看看有没有合适的目标。技术不高,就给同事随便照了几张,然后继续出发。
在爬山的开始阶段,整个山道上只有我们三个人,让我颇觉奇怪,难道是我们来得太早?休息之后再出发,终于发现“莫道君行早”的含义了,前面的山道上出现了 两个模糊的人影,走得很快,在我们走走停停的时候,他们很快就走得不见了。有了榜样,我们就更有劲头了,也加快了脚步。
爬山的确是比较累人的,特别是对于我这样长期没有锻炼的人,我们三人在积雪的山道上且行且听,渐渐的都有些力不从心了,我只觉得自己的两腿膝盖都有点不灵 活了,只能不停的喘出气,然后尽力做深呼吸,以恢复体力。山顶似乎要不可及,也不再去想还有多远,只管低头望前走。就这样走了一段时间,感觉似乎还有很远 的样子,一抬头,前面看见了灯光。有了灯光,就有了希望,这是冰心老人在小桔灯中说的,很正确,我们慢慢接近了灯光发出的地方,那是头陀岭管理站的住处, 终于,我们顺利的爬到了紫金山顶,看看时间,此时是5点30。
此时的山顶上,除了月光,就只有一点两点昏暗的灯光。绕着山顶周围走了一圈,发现已经有几个先行者了,一群中学生样的,趴在一张桌上休息,也不怕冷,几位 老爷子,正绕着山顶做着他们日常的锻炼项目。太阳还杳无踪影,明月当空,星星闪烁,很明亮。山顶很冷,找到无遮挡处,风很大,幸好衣服还穿的比较多,可是 我忘了带围巾,只好委屈耳朵了。绕着山顶,我们三人不停的走动,一边活动取暖,一边等待着2005年的第一次日出。时间慢慢的过去,月光依然那么明亮,山 顶的人渐渐的多了起来,有学生,也有不少年轻人,中年人。老年人,看得出来,他们中有不少是经常上山锻炼的,都有着自己的一套锻炼方式,有些则和我们一 样,是今天特意上来的。随着人员的增多,山顶也渐渐地热闹起来了,不时传来呐喊的声音,那是正在登山的人或者已经上山的人在锻炼他们的嗓子。渐渐的,东方 开始明亮起来,五彩的霞光开始出现在天际,霞光上面点缀着几颗星星,下面这是城市的灯光,很漂亮。我急忙找好位置,开始拍摄这美好的时光,准备迎接着 2005年的第一缕阳光。
霞光越来越明亮,越来越多彩,太阳,准备出发了。月亮,还依然挂在天际。终于,初生的太阳出现在我们眼前,红彤彤的一点,发出温和却不刺眼的光芒,告诉我 们,2005年的阳光,来了。红红的太阳慢慢的升起,一点一点,稳重而又柔和,但却绝不缓慢,渐渐,太阳的光芒越来越亮,也越来越耀眼,终于,他完全的出 现了,开始发出比较刺眼的阳光,告诉我们,新的一天,开始了。
此时,阳光完完全全的撒照在紫金山顶,撒照在紫金山顶正在锻炼的人们身上,山顶上已经有很多人了,还不断的有人加入进来,生气勃勃,新的一天,新的一年,真的开始了。


2005-01-01 11:22:56 Sat

2004年12月14日星期二

双雄会——观阿森纳Vs切尔西德比有感(@tom blog)

两个高手,一个一个近况颇佳,匹马领先群雄,一个重整旗鼓,正欲再霸江湖,这时,两位高手相遇了。
这就是周日阿森纳与切尔西北伦敦德比前的情况。在比赛前,双方情况迥然不同,切尔西兵强马壮,联赛领先,冠军杯轻松出线,也没有什么伤病禁赛之类的减员。 而阿森纳刚刚从黑色11月中挣扎出来,冠军杯经过最后一轮的苦战才获得出线。而主力阵容中,劳伦、维埃拉、永贝里因伤或禁赛缺席本场比赛,加上之前因伤休 战的吉尔博托和埃杜,此役中,阿森纳在两个中前场居然只能放上弗拉米尼和法布雷加斯两员小将,形式可谓不利阿。

时间过去已久,当时的情况忘得也差不多了,只记得亨利的进球,还有特里的进球,现在的切尔西,已经领先枪手10分之多,是否会有奇迹出现那?
----2005.01.26晚补


2004-12-14 18:16:20 Tue