2005年3月7日星期一

【转】开源越来越成气候了(@tom blog)

转自水木清华DotNET版。

发信人: AtomAndBit (原子与比特), 信区: DotNET
标 题: 开源越来越成气候了
发信站: BBS 水木清华站 (Fri Mar 4 16:26:21 2005), 站内


搭建Web-GIS系统

去年做了一个方案,SuperMap + Sqlserver 2000,配置都配置了好几天,
还去SuperMap公司培训了两天,搭建的Demo还有问题。后来就把这项需求
给去掉了(要花钱买软件,还有开发成本,实际用途也不大)

前两天又做一个类似的方案,这次的指导思想是尽量用开源实现。调研了
两天,确定下几个成熟的GIS开源软件,Geotools,GeoServer,不过都是
用Java写的,GeoTools甚至有8年多的历史了。.net下的开源GIS还很烂。
心想就改用Java吧,于是恶补Java,搭建环境,第二天搭建好了。先是搭
建Tomcat+GeoTools+PostgreSql/postgis,运行成功c/s的Demo,心想应该
b/s的Demo也没太大的区别,于是钻进Geotools API里面狂翻。最后琢磨
答案应该在GeoServer里面。一阵研究发现,GeoServer把GeoTools包装起
来了,提供web map的web service,即WMS(一项opengis 规范)。数据源
也狂容易配置。心中大喜。这样一来又可以用习惯的c#进行开发了。于是
架构出来了:数据库用postgresql/postgis,免费,且对GIS支持特别好。
GIS中间层用GeoServer,提供Web Service。应用层开发一个控件,对Web
Service进行包装,一切都OK了。唯一的开发工作就是开发一个操作地图
的Web控件。所采用的一切东东如果采用商业软件,可能需要几万到几十万
元。很重要的是GIS系统往往一次访问的计算量很大,所以可以考虑采用一
大堆烂机器来个Cluster,这时如果用商业软件,嘿嘿......。另一个提高
性能的方法是对地图对象做缓存,这个技术上很复杂。开源的话,可以很
方便的根据自己的需求定制缓存策略。商业软件办不到。

感想:
1,采用开源软件可省钱。这只是开源的一个优势,开源还有其它优势,
这些优势有时甚至比免费更重要。
2,在某些情况下开源软件的学习成本要低于商业软件。这里前提是某些
情况。开源软件中的垃圾很多,优秀的也不少。这些优秀的软件一般都秉
承一个主要的原则,就是KISS(keep it simple, stupid)。理解这一点
了,开源软件学期来就很简单了。比如上面的Geotools,它主要干的事情
就是进行通用的GIS运算。GeoServer干的事情就是把GIS数据源包装成Web
Service,按照规范发布。postgis就是存储GIS数据。很简单。而商业软件
一般集成了非常多的很少用到的功能,学起来难以抓住重点,学习成本可
能更高。开源软件实在高不定就可以刨代码。
3,视野要开阔。.net的经常看看java那边有什么东东,看看怎么能够利用
上,能够削减成本,提高效率。
4,开源软件的可定制性。适当采用开源软件可以使架构柔性化。以偶这个
事为例。难点在于提高性能(还没看到几个Web-GIS性能好的)。有很
很多种方案可选择。第一,可以搞一堆烂机器,每个上跑一个postgresql/
postgis + apache + geoserver ,采用负载均衡 ,这样要花钱,主要是
硬件的钱。第二,可以将缓存放在数据库和geoserver之间(可能已经有
开源实现了)。第三,可以修改geoserver,加上我喜欢的缓存机制。第四,
可以将缓存放在.net 那边。架构非常灵活。
5,在设计.net方案的时候考虑开源软件,有时能够获得意想不到的好处。


------------------
读 了这片文章,想起了原来看到的一个开源的实例,是爱尔兰一家医院的信息系统建设,也是一样,全部使用开源的东西,光x光片识别分析的软件就节约了上百万的 成本。嗯,我们也应该在这些方面做出一些努力,毕竟,信息化不仅仅是为了软件公司赚钱,还是希望能真正做到物美价廉比较好。



2005-03-07 12:50:52 Mon

2005年3月6日星期日

【转】"中国香格里拉"进入实质性阶段(@tom blog)

转自:http://www.newssc.org/gb/Newssc/cszt/ly/xgll/userobject1ai349686.html

第三届“中国香格里拉生态旅游区”协调会近日在四川成都落下帷幕。协调会上,川、滇、藏三省区高层领导联合签署了《旅游合作宣言》,共创香格里拉世界级旅游品牌。

合作宣言的内容包括八个方面牶加强保护,持续发展;科学规划,合理开发;先行开发,重点推进;相互依存,相互协调;完善政策,全面开放牷争取支持,加快发 展;联合促销,开拓市场;以人为本,造福于民。川、滇、藏三方一致认为,开发香格里拉生态旅游优势资源,培育旅游支柱产业,是三省区的共同愿望,三方将以 “平等、诚信、合作、发展”为主题,推动香格里拉生态旅游区建设。

作为“香格里拉”品牌的其中一个所有者和创建方,西藏自治区党委和政府非常重视这次会议,洛桑江村副主席率西藏代表团参加了本次协调会议。会上,洛桑江村 副主席“一顶帽子三家戴”的观点,引起了与会代表的共鸣。早在2001年西南六省(区、市)七方第17次协调会议上,西藏代表团最早提出了 “关于川西、滇北、藏东三江流域生态保护与旅游资源综合开发的建议”。此建议得到了川、滇、藏三省区的认可。2002年首届“中国香格里拉生态旅游区”协 调会在拉萨成功召开,三省区初步提出旅游区建设整体框架。

2003年第二届协调会召开后,我区的生态旅游区开发与建设工作进入了实质性阶段。一是我区利用各种接触和展示展览机会充分展现香格里拉生态旅游区,加大 香格里拉生态旅游区的宣传力度,吸引了许多投资者与生态旅游区各级政府洽谈投资开发项目。据统计,一年来,签订的投资开发协议达10亿多元,其中近6亿元 的项目已经开始实施。二是在生态旅游区建设方面,按照“先调查、后规划、再开发”和“开发与保护并举”以及“突出重点,分步实施”的方针,依托生态旅游区 的资源优势,从该区域的产业定位、农牧民增收、基础设施建设、小城镇发展、旅游线路开发、景区景点、区域对外开放等方面入手进行科学规划。目前,我区与香 格里拉生态旅游区相关的昌都、林芝两地区都相继完成了资源调查工作,正在加紧开展总体规划的编制工作。三是在环境保护方面,我区实施的国家天然林保护工程 取得了阶段性成果,累计完成生态公益林建设1.4万公顷,搬迁安置2135 户1.3万余人;退耕还林工作和荒山荒地造林工作进展顺利;全面禁止天然林的商品性采伐,落实森林管护责任制。四是争取国家投资、援藏资金和民间资本,对 生态旅游区的基础设施进行改造和建设,现今,214、317 国道的通行能力显著改善,318国道的通行能力也大为提升。

目前,自治区党委、政府已经把香格里拉生态旅游区的建设,特别是基础设施建设列入“十一五”经济发展总体规划,并积极争取国家投资,逐年推进。计划 2005年以昌都为中心,投资10.5亿元,改造提升公路等级573公里;投资2370万元,实施天然林保护120万公顷;促进区域道路、环境等条件的改 善。(谭斯颖)


来源:西藏日报


2005-03-06 15:09:30 Sun

2005年3月5日星期六

今天什么日子啊?(@tom blog)

家里的网络断了,今天搞定,上网,发现常去的两个bbs,水木清华和小百合居然都出问题了,真是诡异啊。
今天是3月5日,应该是学习雷锋的日子,但是,好像好久没听到这个名字了。


原来如此,明白了,今天更多的大学bbs不能上去了,不就是开个会么,值得这么紧张阿?
2005-03-06补

2005-03-05 17:23:14 Sat

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