Archive for September 2009

我晕倒了,C#性能无敌了

September 20, 2009

本来实验stl vs c#,c#完胜。

c++调用.net vs c#,怎么也赶不上c#。

我彻底败了。

向小傻傻道歉

September 17, 2009

今天钥匙找不到了,老师又老在那催个不停,心情就不是很好,小傻傻也很担心她的申请问题,但是我没有好好安慰小傻傻,还在那自己发脾气,是个大坏蛋。

小傻傻今天还给我买了小酸奶,我也没有去和小傻傻一起拿讲义,小傻傻回来了也没和小傻傻说几句话就在那干自己的事情。摸摸小傻傻,小傻是个大坏傻,进行检讨。

小傻傻蛋最好了

September 16, 2009

最喜欢小傻傻了

小傻傻我也会加油的~

不能辜负了小傻傻~!

嘟~

KDE4任务栏缩略图研究

September 14, 2009

由于KDE4的Smooth task和任务栏都支持在kwin下面的缩略图显示,但是对于compiz来说就无能为力了,一直想让compiz也能够支持这个,所以我想稍微研究一下。

compiz其中也有缩略图的设计,但是那个功能是和compiz本身联系在一起的。kwin究其原因,是通过Xatom传递参数,进行缩略图绘制的,这部分的信息包括了个数以及每个缩略图的Rect信息,实际上就是让wm帮你画缩略图,类似远程调用的效果,因此如果我们需要在compiz当中实现这一功能,我们需要制作一个compiz插件,这部分实现对应的功能。

compiz和kde的结合毕竟不算紧密,因此出点什么问题也情有可原啦。。

改日写写这个插件看看。

P.S.

我每天都喜欢逛悠kde-look.org,哈哈哈。。

P.S 2

新版compiz已经支持了…… 0.8.4……我的懒惰导致它被我坑了

今天早上跑到早市去买花生了~

September 14, 2009

因为小傻傻喜欢吃,不知道她吃了有什么感想呢~?发

可怜的小傻傻最近牙疼,不过昨天晚上她说她好多了~可怜的小傻傻,摸摸~

最爱小傻傻了,小傻傻也要加油~!

Progit 第一章 新手上路 第一节 关于版本控制

September 12, 2009

关于版本控制

什么是版本控制,为什么我们需要关心它?版本控制是这样一个系统,它按照时间一个记录一个和多个文件的变化,从而你以后可以回顾任何一个特定的版本。对这本书当中的例子来说,你将使用软件的源代码作为被版本控制的文件,尽管在现实当中你可以通过计算机对任意类型的文件进行版本控制。

如果你是一名图形或者Web设计者,并且想保证每一个图像或者布局的版本都被保留下来(这些是你真的想要的),版本管理系统(VCS)是一个非常明智的选择。它允许你将文件回退到之前的状态,将整个工程回退到之前的状态,按照时间比较差异,查看是谁进行了最后一次可能导致问题的修改,谁在什么时候引入了一个问题,等等。使用VCS通常也意味着如果你把事情弄糟了或者有些文件丢失了,你可以很容易的恢复。另外,你只需要很小的代价就能得到这些。

本地版本控制系统

许多人的对版本控制方法的选择是将文件复制到另一个目录(也许是一个有时间戳的目录,如果他们聪明的话)。这种方法非常普通,因为它足够简单,但是也难以置信的容易出错。很容易你就会忘记你在哪个目录,并且意外地写入你或者复制不想要的文件。

为了处理这种问题,程序员很久以前就开发了本地VCS,它有一个简单的数据库,并且在版本控制下记录了所有的变化(见图1-1)。

图1-1. 本地版本控制图示

一个非常流行的VCS工具是一个叫做RCS的系统,它还在被很多电脑使用。连流行的Mac OS X操作系统当你安装了开发工具之后,也会包含RCS命令。这个工具通过一种特殊的格式来记录两两版本之间补丁的集合(文件之间的差异),从而进行版本控制;它可以通过应用所有补丁来重建任意时间点的任意文件。

集中式版本管理系统

下一个人们遇见主要问题是他们需要和其他系统上的人合作。为了解决这个问题,集中式版本管理系统(CVSC)被开发出来。这些系统,例如CVS,Subversion和Perforce,有一个独立的服务器包含了所有被版本管理的文件,一些客户端从那个中心服务器将文件Check out出来。在之后的许多年,这都成为了版本控制的标准(见图1-2)。

图1-2 集中式版本管理系统图示

这种设置提供了许多优势,特别是和本地VCS相比。例如,所有人可以了解别人在这个项目上都做了什么。管理员可以细致地控制谁可以做什么;而且管理一个CVCS和管理每个客户端的数据库。

但是,这种设置也有许多严重的缺点。最显著的缺点就是集中式服务器带来的单点失效。如果服务器停机一个小时,在这段时间内没有人可以对他们的工作进行合作,或者保存版本变化。如果中央数据库的硬盘出现冲突,而且没有做好备份,那么你就丢失了所有的东西——项目的所有历史记录,除了一些可能在人们硬盘上的快照。本地VCS系统也有同样的问题——当你将所有项目的历史放在一个地方,你就承担了丢失所有东西的危险。

分布式版本管理系统

这就是分布式版本管理系统(DVCS)为什么诞生。在DVCS(例如git,Mercurial,Dazaar或者Darcs)中,客户不仅仅取出了最新的快照:他们也是版本库的完整镜像。因此如果哪个服务器宕机了,并且这些系统通过它进行合作,任何一个客户的版本库可以复制到服务器并且恢复。每个Checkout都是对所有数据的完整备份(见图1-3)。

图1-3 分布式版本管理图示

更进一步,许多这种系统都可以很好的处理和多个远程版本库协作的工作,因此你可以和不同的组的人在不同的方式上同时工作于同一个项目。这让你可以建立许多不同类型的工作流,这在集中式系统中是不可能的,例如层次模型。

Progit翻译计划

September 12, 2009

想翻译很久了,打算每天翻译一点点,就当练习英文了。