2005年3月9日星期三

切尔西 Vs. 巴塞罗那 观感(@tom blog)

一切的荣华终将失去,总有一支队伍将要出局,这次,很不幸,命运的轮盘指向了巴塞罗那,这位华丽的进攻者。

比赛开始波澜不惊,到第八分钟,巴卡中场的一个失误,让切尔西打了一个漂亮的反击,1:0,切尔西一个漂亮的开局,将巴卡置于必须进攻的地步。第16分 钟,巴卡守门员开后场任意球,球中场被断,乔科尔带球长驱直入,在大禁区角处一脚远射,球碰巴卡后卫变线,巴尔德斯勉强扑到,兰帕地及时杀到,补射空门, 2:0。乖乖。第20分钟,切尔西中场控球,一脚直塞,达夫球到人到,一脚推射,3:0。一切似乎大局已定。巴卡的后防线被撕得支离破碎。中场似乎也不在 状态。
失掉三球的巴卡反而稳定下来,迅速展开了进攻。一个角球,小罗差点攻入,然后又是几次有威胁的进攻,终于,一个传中到对方禁区内,犯规,点球。小罗冷静罚入,切赫鞭长莫及。1:3,巴卡很快又看到了希望。
一段的僵持之后,巴卡获得了一个禁区前的任意球,德科一脚射门,角球。角球开出,解围,界外球。掷入,几次传递,小罗拿球,大禁区前,似乎威胁不大。哦, 天啦,球进了。小罗原地的一个挑射,切尔西的后卫和切赫没有任何反应,哦不,应该是所有的人都目瞪口呆,除了小罗。What a goal!!!!!!!!!!!!!绝对精彩的一个进球,小罗天才的表演。随着小罗在这场比赛中梅开二度,巴卡又占得了先机。真是三十年河东,三十年河西 啊。
切尔西随后击中门柱,结束了双方上半场的精彩表演。

下半场依然精彩,双方你来我往,互有机会,双方打的比较稳健,却又不是过分保守。埃托奥错过了空门的机会,而77分钟特里利用角球的机会,攻入一个漂亮的头球,让切尔西再一次的领先,又重新点燃了场上的气氛。
失球后的巴卡明显加强了进攻。并换上了久利和上一轮创造奇迹的洛佩斯,意图加强进攻。然而最后切尔西明显全力防守,最后德科的任意球偏出,熄灭了巴卡的最后一丝希望。巴卡出局了。

几点感觉:
巴卡:
1、小罗:打的很精彩,但是独木难支。
2、德科:平淡
3、埃托奥:不好,除了几次突破显示了速度,其他方面没有作为,下半场错过了锁定的机会。
4、普约尔:有精彩表现,同时对于后方的组织要负一定责任。
5、巴卡的整体控制做得不错,但是在关键的防守控制方面出现了错误,队员对场地似乎不太适应,全场多次出现防守时摔倒的情况,下半场有些保守。

切尔西:
1、乔.科尔:表现抢眼,多次助攻。
2、兰帕德:表现积极,多次威胁对方,攻入一球。
3、特里:攻入制胜一球,掩盖了一切。
4、切赫:这场胜利,肯定有他的功劳。
5、凯泽曼:助攻、越位、争吵、黄牌,就差进球和红牌。
6、切尔西来了一个虎头豹尾,取得了最后的胜利,也掩盖了整场控制的劣势和相当长一段时间的被动。毕竟,胜利者可以拥有一切。


2005-03-09 04:34:42 Wed

2005年3月8日星期二

战火再起谁将胜出--冠军杯第一轮淘汰赛前瞻(1)(@tom blog)

转眼,冠军杯进入了第一轮淘汰赛的第二回合,带着第一场较量的结果,十六只队伍将在接下来决定本赛季命运的一场比赛中如何表现,的确值得我们期待。

目前被认为欧洲两只最强的队伍,切尔西和巴塞罗那,将在斯坦福桥上演一场精彩的对攻战。回到主场的切尔西,落败于客场后,找不到也不能够再当一次缩头乌龟 了,而习惯于进攻的巴卡,即使到了客场,在稳固防守的同时,也不会放弃自己拿手的进攻的,何况,切尔西拥有一个客场入球,巴卡的优势并不大,形势要求巴卡 必须在客场取得进球,毕竟,要守90分钟的0:0,难度还不是一般的小。今天晚上,我们有理由期待一场精彩的比赛,更希望能变成一场经典的比赛。当然,个 人的小小愿望,还是巴卡能过关。

另外一场重点,米兰队曼联的比赛,个人认为没有太多的悬念。带着一个客场进球回到圣西罗的米兰,不会让曼联重温99年的好梦,何况,现在的曼联,也没办法和99年的那只队伍相比,米兰的防守,将牢牢地把握住本场比赛的胜利。

至于今晚其他两场比赛,国米对波尔图,不来梅和里昂,不大受大家关注,也不是本届冠军杯的有力竞争者,不过,经过上赛季的黑马之旅,究竟会发生什么,谁也 不敢保证,第一轮3:0大比分胜出的里昂,是否会成为黑马呢?另外,就是希望曼奇尼好运,这个赛季,国米平的场次也太多了一点。


2005-03-08 14:21:21 Tue

2005年3月7日星期一

【转】新婚闹洞房大全(劲爆)(@tom blog)

转自:http://bbs.newssc.org/dispbbs.asp?boardID=46&ID=100864&page=11

新婚闹洞房大全(劲爆)
在新娘臀部上放一块球状橡皮泥,然后在新郎前方中间皮带上吊一个易拉罐,新娘弯下腰,新郎用易拉罐将球状橡皮泥擀成圆烧饼状,新郎只好运动臀部,向前和左右运动,擀一下,新娘必须发出“啊---”一声
这个还可换成新郎新娘对面抱着坐下,让新娘运动臀部用易拉罐擀新郎那个部位的橡皮泥,但擀一次,新郎的头必须往后仰一次,仰头时必须闭上眼睛每人准备一个闹钟,调好时间(每隔一定时间就响),然后将闹钟藏到洞房里,晚上就热闹了,让新娘新郎找一夜的闹钟去吧

让新郎新娘用身体摆出阿拉伯数字0到9。摆26个英文字母更厉害哈

新郎皮带扣下吊一根香蕉,让新娘吃,边吃边问她好不好吃。

让新娘左手拿一样东西,从新郎左裤管伸进去,右手伸进右裤脚管,要她把左手的东西交到右手。

新娘仰躺,新郎手撑于新娘头两侧,面对面做俯卧撑,做一个亲一个。:)

把新郎新娘推进被窝,要求他们扔18样东西出来……见到内裤就可一收手关门走人了。

推鸡蛋:把一个生鸡蛋放到新娘左边袖子里,然后让新郎隔着衣服推,绕过胸前,从右边袖子推出来,然后再推到右边裤腿里,再从左边裤腿推出来。

在新郎腰上系一根细细的线,线头细一颗小糖果,新郎站在新娘背后,新娘弯下腰,新郎在背后用手扶住新娘的腰,用自己腰的力量把细线前后荡起来,新娘弯下腰从自己两腿之间用嘴含住那颗糖,就算成功。灭活活。。。。。

我哥哥结婚那会,2人被安排坐于痰盂上,面对面,各捧结婚证书,口里念到:“我愿娶·#¥为··
爱他(她)。。“

两人分别念当年铁人王进喜的口号:大干、快上、勤打井、多出油;

新郎裤子后面吊一根筷子,地上放一个啤酒瓶,要求由新娘指挥,新郎下蹲把筷子插入瓶子,最后要问进去了吗?答进去了;

互相抱着对方说各说一百个昵称,开始很正经,后来没得说,各种家用电器都出来了,最简单,效果蛮好

两 个核桃让新娘从新郎的裤腿里塞进去。。一直往上走。。。走到膝盖位置问新娘:到那了?答:膝盖!再问:摸摸有几个核桃?答:两个!再问:哪个大?答:左手 (或右手)的大!。。。。另新娘将核桃再往上走。。。。至某地。。问到哪了???答:。。。。。。再问:到底到哪了?答:。。。。。。可提示新娘直至说出 为止。。。

再问:摸摸现在有几个核桃?答:两个!/错误,再问,直到回答四个为止!再问:有几个大核桃几个小核桃。。。回答:两个大核 桃,两个小核桃。。。问:为什么。。。。。答出来,责令其将左右手核桃调换。。。答不出,另起将两个大核桃放进去,而将小核桃拿出,即可。。。做这个动作 大家可以帮忙,工具不限。。。之后,走人。

开汽车:玩法,男女面对面做在椅子上。。。女脱鞋右脚抬起放在男某处,叫做踩油门。。。男伸直手臂放在女某两处,叫做握方向盘。。。男女身后各一人,分别轻推两人,推女是,女必须模拟踩
油门的声音。。“RI~~~~~~“推男时,男模拟按喇叭的。。“BIBI~~~“。。。当男女熟悉之后,男女双方后的人,加快频率。。。。只听二人此起彼落的声音:“ri bibi...ri bibi..~~~“

以前朋友结婚有玩过。是:新娘仰面躺在床上,新郎面对面撑在新娘上方。节目策划人让新娘唱“咱们工人有力量“。那首革命歌曲大家记得吧。关键:“工人“要改成新郎的名字,然后,得由新郎来接那
声“嗨“!还要一边做俯卧撑 。。。。。

当时的场景 --

新娘:咱们XX有力量

新郎:(做俯卧撑中)嗨!

新娘:每天每日工作忙

新郎:(气喘吁吁做俯卧撑中)嗨!

添筷子(寓意添子)将一根筷子放到啤酒瓶子里,露出1公分左右,让新郎新娘用舌头合作添出来。

擀面条:新郎仰面躺着,让新娘用啤酒瓶子(或短木棍)从头擀到脚,直到新郎的鸡鸡硬了,面条才算擀好

2005-03-07 19:53:23 Mon

【转】开源越来越成气候了(@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