| Subcribe via RSS

情人节快乐。玫瑰和我,宝贝,你选哪个?

02月 14th, 2008 | 3 Comments | Posted in 岁月记录

又是一年情人节,整整一年,过的真快。记得去年情人节,我们去的泉城广场,一大早就想给你买只玫瑰,你说拿着不方便,直到最后送你上车,还是没有送你玫瑰,我们过了一个没有玫瑰的情人节。但是我们过得很平凡,快乐。

今天,情人节,宝贝,我离开了你。远赴他乡工作,昨天你把我送上了车,该死的汽车开的这么早,没有让宝贝多陪我逗留拥抱,分别的这么冲冲。

宝贝,今天,我不在你身边。不过昨天我已经为你定了鲜花买了巧克力,不会让宝贝过一个没有情人,没有玫瑰,没有巧克力的情人节。

宝贝,玫瑰和我,你会选哪个?下个情人节,宝贝,我会亲手送你玫瑰,喂你吃巧克力。

宝贝,情人节快乐。。

Tags: , ,

春节火车票真的难买么?软卧包间就我一个人!

02月 4th, 2008 | No Comments | Posted in 岁月记录

都说春节车票难买,是的,是比较难买,火车站提前10天放票,不过去买10天后的票基本买不到,有好心的售票员一般会告诉你,代售点卖12天以后的票,狂晕,这是什么世道,过年回家真的很难哦。

今年没有想到我的运气蛮好,去了排了半个小时,居然能买到票,是2556车次软卧,算了,有票就偷笑了,管他什么卧,自己还没有坐过软卧,享受下也好。

上车后感觉车厢破破的,软卧分上下铺,上铺的高度和下铺查不多,所以不会感觉拥挤。好像这个软卧单间就我一个人,暗自庆幸,打开电脑,看了2部电影,不知不觉睡着了,直到下车前,好像没有人进来过,早知道,我就在下铺睡了,真浪费。。。

1月5日严重感冒,07年的今天是老婆生日。

01月 4th, 2008 | No Comments | Posted in 岁月记录

可怜的早上,感冒了,2个鼻子都有了意见,今天是春节在济南的最后一天,原本是下午1点的票,媳妇说请假陪我,就买了明天凌晨2点的票,计划今天去和媳妇去拍照片,庆祝下媳妇去年这时的生日。

媳妇早早起来上班,我送她到车站,她并没有注意到我的身体状况,我并没有生气,或许上班,工作比任何都重要。

因为昨天给她买了2件毛衣,一直想问毛衣的价格,难道价格比我的心意还重要么?说同事也想买,又把同事搬出来,我就发火走了。

到公司一直给我打电话,感觉自己头晕晕的,鼻子不通气,身体也开始热了,说下午请假陪我,唉,伤心哦。

唉,真是难过,生病也不疼我,一直抓我,脸上,脖子都热热的,生病了还惹我。。。

媳妇,好好睡觉,我走了,自己保重身体,再这样,老公可就不疼你了,不给你买好好了。听话。

永远爱你的老公。祝老婆生日快乐。

我们的2008.新的一年即将开始。

01月 1st, 2008 | No Comments | Posted in 岁月记录

新的一年,新的开始,新年第一天就饱受了风寒,让宝贝等了我好久。

每当有人想回去的时候总是遇到困难重重,或许并不是我一个人。

今年一定要承受住压力,今年过去一切都会好起来。

宝贝,我们说好今年我们买房子结婚,我一定会努力赚钱。

要坚持我们愿望,在圣诞那天许下的愿望。

新的一年,祝宝贝身体健康,开心快乐。

Tags:

南京到济南的火车票也难买?

12月 31st, 2007 | No Comments | Posted in 空间制作

这世道,过节了,车票都难买。

离的这么近,以为可以回去,晚上直接杀到火车站看看了。

不知道站票有没?每年都要为车票烦几次,以后出差找个能打车也能承受的地方。。

看来2008年的第一天要在旅途中度过了,伤心哦。

css实现自动强制换行/强制不换行/自动换行

12月 30th, 2007 | No Comments | Posted in 程序开发

自动换行

div{
word-wrap: break-word;
word-break: normal;
}

强制不换行

div{
white-space:nowrap;
}

强制英文单词断行

div{
word-break:break-all;
}

Tags:

快元旦了,离开了媳妇

12月 30th, 2007 | No Comments | Posted in 岁月记录

像媳妇说的一样,身不由己,人生或许就这样。

好好的元旦也要拆开来过,可怜的人。

或许为了钱,我们少了很多浪漫

可是没有钱,我们没浪漫的权利

为了以后有更多浪漫的机会,我们必须努力赚钱。

多想好好陪陪你,总是表现的不一样,但总是做一样的事情。

或许这就是人的虚伪之处,想要给你快乐,却给你带来更多的不快乐。

今年元旦送什么礼?就想和你在一起。

Tags:

今天老婆生日

12月 26th, 2007 | No Comments | Posted in 岁月记录

哈哈,和老婆都把QQ签名改成了 共庆1.1.1 很多人问我是什么,我都会说2008年1月1日,是我和老婆恋爱一周年,3个1

其实还有一层意思就是圣诞,老婆生日,元旦3个节日都在一起,我和老婆要一起庆祝。

现在已经过了2个了,今天老婆生日,没有送宝贝什么东西,感觉很遗憾,情人节时也没有送什么礼物。

本来以为宝贝回家和家人过生日,就没有安排其他节目,早上中午晚上都陪老婆一起,送了一只玫瑰,要给宝贝买一个包,怕老婆不喜欢,决定下班带老婆去挑,唉,都是因为贤太贵,没有买,让我人生又留下一个遗憾。

之所以称为遗憾,是因为钱,因为就算有钱也买不回来的遗憾。

老婆,我只想告诉你,在我一生中,你是最重要的,不管有钱,没有钱

虽说我们要攒钱,可是攒钱为了什么,一年中只有这一天我们奢侈下还不可以么?

宝贝。你是我的一切,我所作的一切都是为你。请不要让我们留下任何遗憾。

WinCVS进行版本控制

12月 20th, 2007 | No Comments | Posted in 程序开发

一、客户端的配置

启动pagent,添加私钥;启动wincvs,配置好preference选项(admin菜单里)

详情请见CVS客户端配置

让我悄悄告诉你,在preference里最好将“globe”选项卡中的“checkout read-only”置空,这可是tianyuan的秘技:)

二、初始化

如果你已经连上服务器,做过checkin、checkout等工作,可以略过这一步。

选择creat->>creat a new reporsitory,无需更改默认配置,确认即可。

如果一切正常,会在窗体下部的output窗口显示如下信息:

cvs -d :ext:monkey@monkeygro:/cvs/hrsystem init

*****CVS exited normally with code 0*****

第二行如果不是以“0”结尾,出现其他数字,就表明出错了。

三、上传文件(checkin)

窗体中部左边有一个explore页,点击它,选择你准备上传的文件夹;点击菜单栏的creat->>import module from selection,会跳出一个import filter窗体。如果你的文件里有错误,import filter窗体里就会有error或warn标志,如果真是这样,你最好还是先看一看有何问题。
下一个跳出的窗体是import setting,在select the module name and path on the remote server里面填上一个名称,当你的文件传上服务器后,cvs服务器里就会以这个名称建立一个代码库,存放刚才传上来的文件。

请记住,下拉框并没有什么神奇的功能,它只能记住你上次填进去的东西。

四、下载文件(checkout)

经过上一步操作,你在服务器里就有了源代码,所有的开发者可以开始工作了。

当然,开发者需要先下载一个拷贝到本地才能修改它。

1、建立本地工作目录

在自己的硬盘上新建一个目录,很多人都取名为“work”,表示这是工作目录。其实,这只是一个好习惯而已。

2、下载文件

选择creat->>checkout module,出现的窗体是checkout setting,在module name and path on the server中填写你在第三步(上传文件)中,上传到服务器中的模块名称。如果你记不住第三步你填写了什么,你可以先看一看本文的第九步。

五、修改与提交

1、edit与uedit命令现在,你可以准备修改源代码了。不过,当你到自己的本地工作目录中,可能会发现下载回来的文件都是只读的,这是因为你在第一步中preference中,没有将checkout read-only置空。

在wincvs中,你到窗体中部的module页中,找到自己准备修改的文件,在右边的浏览窗口里选中它,然后选择菜单栏中的trace->>edit selection,就可以将不可读的文件置为可读。

2、更新(update)

你喜欢那一种开发工具?VB、VC、JAVA还是DELPHI?现在你可以开始你异常熟悉的代码开发工作了。

无论你用那种工具,当你修改了工作目录中的文件后,在wincvs里,你就可以看到这个文件变成红色了。

有一个好习惯是,在你准备提交到服务器之前,先更新一下,因为有可能别的开发者在你修改这个文件的同时,也可能也修改了这个文件,这就有可能会存在冲突,我们总是在提交前先处理冲突。

更新的操作很简单:选中你修改了的文件,在菜单栏中选择modify,一般情况下,无需修改默认选项。

处理冲突请看本文第十节 冲突处理
六、标记(tag)

标记是版本控制中很重要的功能。

除了通常的作用,它还可以标记修改者,让大家知道,是谁提交了一个新版本。

在wincvs中选择准备标记的文件,然后在菜单栏中选择modify->>creat a tag on selection;马上creat tag setting窗体会出现,在new tag name中填入标记名即可。

七、分支的管理

我们在这里先详细说一下分支的作用。

我们设计了一个图书管理系统,把1.0版交给了客户A大学;然后我们继续开发,有了新版本1.1版、1.2、1.3……这时A大学告诉我们,1.0版本有bug,我们很快在1.0版本的源代码中找到了错误所在。

这时候,最简单的解决办法是给A大学一个bug patch。你会问,为什么不给客户最新版本?原因很简单:第一,我们还没有检查最新稳定版本中又无此bug;第二,客户的系统已经运行了一段时间,升级到最新版本上可能还会发生更多新问题。

那么,我们就应该在1.0版本上建立一个分支,在这个分支上进行开发,修改bug ,创建bugpatch,客户马上就能解决问题了。

然后我们关起门来,查看最新版本上又无此bug;如果有,就将分支合并到主版本上,解决最新版本的问题。

实际操作如下;

在菜单栏的creat->>creat a branch,在跳出的creat branch setting窗体上,new branch中,填入你给分支取的名字;在module to fork中填入文件名;请记住,你要在rtag options选项卡中,选中rev./tag/branch,填入版本号。如果你这里不填,生成的分支将会以最新版为分叉点。

八、锁定文件

这可是武汉自由软件协会的另一个秘技。

一般而言,在项目小组中,项目经理会定期公布最新的基础版本,要求小组成员都在这个基础版本上进行进一步开发。

在实际工作中,总会有些成员提前完成工作,他们提交更改后,最新版本就会比项目经理发布的基础版本的version更高。

有时候,某些项目成员会有意无意修改基础版本,并且指定提交到基础版本上,如果允许他们提交修改,大家可能都会在一个错误的基础版本工作,后果是不堪设想的。

锁定文件的操作如下:

菜单栏的admin->>comandline,输入这个命令:

cvs admin -l版本号 文件全名

注意,-l和版本号之间没有空格。

如果你锁定成功,会有如下提示:

RCS file: /cvs/hrsystem/test/new.txt,v

1.1.2.3 locked

done

*****CVS exited normally with code 0*****

九、文件浏览。

1、文件标志浏览

2、通过web页面浏览

3、文件对比

十、冲突处理

十一、管理员的工作

1、协调小组,制定代码管理规范

2、及时发布官方版本信息

3、充分利用标记和分支管理开发团队

Tags:

windows实现cvs的架设:cvsnt与wincvs安装和配置

12月 20th, 2007 | 1 Comment | Posted in 程序开发

本文是写给希望能够马上通过cvs来进行更好的开发管理的小型团队或个人。

我在这里只想说一句:你一但使用了cvs你就会发现你已经离不开它了。

介绍如何在windows操作系统下安装和配置cvs服务器,并且加入了尽量多的图片——主要目的是让更多的人敢于尝试,并且能够领略到cvs那激动人心的强大功能。

好下面让我们话入正题,以下是本文要介绍的主要内容:

1、服务器端cvsnt的安装;
2、cvs代码仓库的创建;
3、配置cvs帐号;
4、客户端wincvs的安装与配置;
5、使用wincvs进行简单操作(包括commit、checkout等)。

第一节 安装cvsnt

我们知道,cvs是使用“客户端/服务器”(Client/Server)模式来工作的,这也是优秀版本控制系统的发展趋势。那么我们首先要有一台cvs服务器(当然这台电脑也可以同时作为客户端来使用)。本节所要介绍的就是如何利用cvsnt架设一台windows操作系统环境下的cvs服务器。cvsnt顾名思义,肯定是用在windows上的,此软件可以从www.cvsnt.org免费下载最新版本。

先将它下载下来,然后双击开始安装:

会出现上面的对话框,这是无关紧要的,所以一路next按下去,直到出现下面的对话框

这里需要选择“Full installation”,然后点击next,后面会出现以下对话框

注意这里是需要将两个复选框都选中的。然后就可以高枕无忧,一路安装下来了

安装完成了,本节也就结束了,怎么样?还是挺简单的吧。

第二节 创建cvs代码仓库(Repository)

在此我就不对cvs仓库的概念和用途做更多解释了,大家可以参考放飞网文档中心中的其他文章中的介绍。大家只要记住,cvs仓库是代码的每个版本和所有相关记录在服务器端的储存地。有些时候又称它为主拷贝(Master Copy),为什么呢,我们将在后面的章节中了解到。

在创建cvs仓库之前,我们首先需要新建一个文件夹用于充当仓库。该文件夹最好不要与程序放在一起,以免万一系统崩溃时破坏数据。然后,点击“开始”->“程序”->“CVS for NT”->“configure server”,出现对话框后选择“Repositories”选项卡,就会出现如下对话框

点击下方的“add”按钮,会出现让你选择文件夹的对话框,选择我们刚才创建的文件夹,并确定,这时会发现上面所示对话框中央的列表框中发生了改变如下所示

显示出了我们上面所创建的文件夹的路径。这样一个cvs仓库就创建好了。

第三节 配置cvs帐号

上面我们已经安装了cvsnt,并创建了一个cvs仓库。这时,我们需要给连接到服务器上的每一个客户端创建帐号,以保证他们可以正常地工作。

最简单的办法是右键单击“我的电脑”,选择“管理”,在“本地用户和组”中右键单击“用户”,选择“新用户”进行帐户的添加。这样是创建了windows的用户,同时也就创建了cvs的帐户。

第四节 Wincvs的安装与配置

上面三节我们已经介绍了服务器端的全部步骤,现在我们已经有一台cvs服务器了,那么为了实现“客户端/服务器”(Client/Server)模式,我们现在还要继续创造一个或多个客户端。

客户端使用的软件是wincvs可以在www.WinCvs.org免费下载,它是图形界面的,比较直观,而且功能强大。wincvs的安装没有什么特别的,和其他软件一样,双击就可以安装了。

安装完成后,最重要的是对客户端进行配置,目的在于让cvs客户端根据配置信息找到服务器上需要访问的仓库。在wincvs窗口菜单栏中选择“Admin”->“Preferences”出现如下对话框:

在“CVSROOT”栏中输入配置字符串,格式如下:

:pserver:username@hostname(或IP地址):CVS仓库路径

这个格式是绝对不能错的,否则cvs命令就不能正常执行。

下面我解释一下上面的字符串的含义:

1、 “pserver” 是最常用的一直cvs远程访问方式;
2、 “username” 是指客户端在服务器上的用户名,也就是我们在上面的“配置cvs帐号”一结中讲到的;
3、 “hostname” 是cvs服务器的主机名,也可以是它的IP地址;
4、 “cvs仓库路径” 是一个cvs仓库所在的目录,用于区分你要访问的是哪个仓库(因为一个cvs服务器上可能有多个不同仓库)。

例如::pserver:njx@frontfree-njx:/master

配置完毕点击确定即可。到现在为止我们已经将cvs的“客户端/服务器”(Client/Server)模式实现了。为了确定一下上面的步骤都对了,我们要进行检验。最好的检验方法是让cvs客户端登录到服务器。在菜单栏里选择“Admin”->“Login”,会出现如下对话框:

提示你输入密码。密码就是上面创建的帐号的密码。完成后点击ok,然后注意wincvs窗口下方的命令结果输出窗口,如果出现下面的信息:

***** CVS exited normally with code 0 *****

说明登录成功了,如果不是,就说明在做上面的步骤时出现了错误,请仔细检查。如果测试成功我们就开始可以使用cvs的强大功能了。

注意:

1、以上步骤同样适用于已经是cvs服务器的那台机器,也就是前面提到的又做服务器又做客户端。
2、cvs的登录只需要一次成功登录就可以了,不必每次都登录。

第五节 wincvs的简单操作

不知不觉已经拥有了cvs服务器的你是否很兴奋呢?下面我们就要开始使用cvs了,本文只介绍cvs的简单操作,如果希望深入了解请参考放飞网文档中心的其他文章。

也许你在兴奋之余会问,第一步应该干什么呢?

首先,我们要在客户端创建一个文件夹,用于存放工作拷贝(关于工作拷贝的概念请参见放飞文档中心的其他相关文档中的相关介绍),工作拷贝是和上面提到的主拷贝相对应的,主拷贝只有一份,放在cvs仓库里,而工作拷贝却可以有很多份,分别放在不同的客户端。创建完文件夹后,我们将它的路径添加到wincvs窗口上方的输入框中即可,从现在开始我们所有的工作拷贝都会存放在这个文件夹中,而我们对文件所做的修改也是针对这个文件夹中的文件。

那么让我们开始一个新的项目,首先在一开始,我们要进行“checkout”过程,这个过程是将主拷贝中的目录及文件拷贝到你指定的客户端目录中。

右键单击wincvs窗口中左边的框,在弹出菜单中选择“checkout module”然后会出现如下对话框:

在第一个输入框中只输入一个“.”,表示仓库中的全要复制一份作为工作拷贝。在第二个输入框中输入你存放工作拷贝的路径,然后点击“确定”即可。(如果今后主拷贝中有了目录的变化,客户端也要进行“checkout”过程才能看到)

完成这一步之后才能进行其他操作,下面我们来模拟建立一个新的项目,并提交到cvs仓库中。首先,在你的工作目录下新建一个文件夹。再看一下wincvs,会看到你刚创建的文件夹前面的图标是红色的,这是提示你选中它然后点击wincvs按钮栏中的那个带加号的按钮,这是在cvs服务器上创建一个这样的目录。同样的如果你新建的是一个文件也是要这样添加。注意目录和文件要分别添加,别以为添加了目录,里面的文件也会被添加。在添加过程中会遇到这样一个对话框:

这是cvs在提醒你输入记录信息,这会被记录在相应的日志中,便于今后查看。一定要认真填写,因为如果几天后你忘了你这天对文件做了什么,这就是最好的资料。如:Create a new project。之后点击确定就可以了。

目录的添加到这步就结束了,而文件的添加还需要另外一步,就是文件的“commit”过程,这也适用于文件被修改后,向仓库提交。只要将需要提交的文件选中,然后右键单击,在弹出菜单里选择“commit selection”然后同样输入记录信息,点击确定。

这时,另外一台客户端机器想看见项目的文件,可以在想获得最新版本的目录上单击右键选择“update selection”,之后就会发现其中的文件变成了最新版本,别人的改动也就一目了然了。

以上我向大家介绍了在windows环境下架设cvs的方法并粗浅的介绍了wincvs的基本功能,希望每个曾经因为没有条件而放弃cvs的开发团队或个人,都能用上自己的cvs。到此,本文也就结束了。谢谢各位能够阅读我的文章。