一些基本算法(强烈推荐)

Gavin [数据结构/算法]

2008.11.15

大学搞ACM竞赛期间,在网上遇见这个好东东,觉得这份资料对算法的训练的确很有帮助。不过它是用Pascal写的,可能对习惯了C系语言的同学有点不习惯。现在先贴出其原代码,有时间的话再把它们翻译成C/C++。
————————————————————————————————–
一、数论算法
1.求两数的最大公约数


Slackware下安装配置CVSweb

Gavin [Unix/Linux]

2008.11.15

CVSweb就是CVS的WEB界面,可以大大提高程序员定位修改的效率:
使用的样例可以看:http://www.freebsd.org/cgi/cvsweb.cgi
1、系统环境
操 作 系 统 :slackware 12.0
CVSweb版本 :3.0.6
Apache版本 :2.2.4(slackware 12.0默认)
说 明 :以下说明中,”#”表示超级用户运行的命令,”$”表示用户”user”运行的命令,其它表示命令内容。
2、假定
2.1、Apache配置(slackware 12.0默认):


Linux管理、使用点滴

Gavin [Unix/Linux]

2008.11.15

1、添加用户并决定是否将之加入root用户组
在一般情况下,一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置。但是,为了更进一步加强系统的安全性,有必要建立一个管理员的 组,只允许这个组的用户来执行“su -”命令登录为root用户,而让其他组的用户即使执行“su -”、输入了正确的root密码,也无法登录为root用户。在UNIX下,这个组的名称通常为“wheel”。


Bourne Shell及shell编程

Gavin [Unix/Linux]

2008.11.15

来源:http://www.wanglimin.com/Tutorial/HP-UNIX/DOCS/shell01.htm
介绍:Bourne Shell 基础及其他很多有用的特性,shell编程及组织。
主要内容:
.shell基础 基本介绍,环境,选项,特殊字符
.shell变量 用户定义变量,环境变量,位置变量(shell 参数)
.shell script编程
条件测试,循环及重复控制
.shell定制


Apache服务器配置

Gavin [Unix/Linux]

2008.11.15

Apache服务器的设置文件位于/usr/local/etc/apache目录下,传统上使用三个配置文件httpd.conf, access.conf和srm.conf,来配置Apache服务器的行为。httpd. conf提供了最基本的服务器配置,是对守护程序httpd如何运行的技术描述;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME 类型,以及如何支持这些文件;  
access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制;这三个配置文件控制着服务器的各个方面 的特性,因此为了正常运行服务器便需要设置好这三个文件。除了这三个设置文件之外,Apache还使用mime.types文件用于标识不同文件对应的MIME类型, magic文件设置不同MIME类型文件的一些特殊标识,使得Apache服务器从文档后缀不能判断出文件的MIME 类型时,能通过文件内容中的这些特殊标记来判断文档的MIME类型。


Slackware下CVS服务器的建立和配置

Gavin [Unix/Linux]

2008.11.15

一、系统环境:
操作系统:slackware 11.0
CVS版本:1.11.22,slackware 11.0下默认的版本
Shell :BASH
说明 :以下说明中,”root#”表示超级用户运行的命令,”user$”表示用户”user”运行的命令,其它表示命令内容。


在CentOS 4.4 下安装配置VNC

Gavin [Unix/Linux]

2008.11.15

1. 检查vnc客户端和服务器是否已经安装在你的系统中:
[gavin@centos ~]$ rpm -q vnc vnc-server
package vnc is not installed
vnc-server-4.0-8.1
2. 将用户名称加入到配置文件:


CentOS下不能启动X问题的解决

Gavin [Unix/Linux]

2008.11.15

之前为了在CentOS下配置服务,删掉了很多默认启动服务,机器重启后发现X启动不了了,出现如下信息:

[root@centos gavin]# startx
X Window System Version 6.8.2
Release Date: 9 February 2005
X Protocol Version 11, Revision 0, Release 6.8.2
Build Operating System: Linux 2.6.9-42.ELsmp i686 [ELF]
Current Operating System: Linux centos.loboltd.com 2.6.9-42.EL #1 Sat Aug 12 09:17:58 CDT 2006 i686
Build Date: 22 August 2006
Build Host: build-i386
Before reporting problems, check http://wiki.X.Org
[...]


在CentOS下安装配置MySQL-5.0.27过程

Gavin [Unix/Linux]

2008.11.15

近日在CentOS下安装配置成功了MySQL-5.0.27(事实上这种安装方法适合任何Linux版本),特记下来备忘。^_^
1. 下载mysql-5.0.27.tar.gz: http://www.ntu-tw.lkams.kernel.org/pub/MySQL/Downloads/MySQL-5.0/
2. 安装
·解压
# tar xzvf mysql-5.0.27.tar.gz
·安装配置


跟我一起写 Makefile

Gavin [Unix/Linux]

2008.11.15

来源:陈皓,http://www.chinaunix.net/jh/23/408225.html
概述
——
什么是makefile?或许很郬inodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。
因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
现在讲述如何写makefile的文章比较少,这是我想写这篇文章的原因。当然,不同产商的make各不相同,也有不同的语法,但其本质都是在“文件依赖性”上做文章,这里,我仅对GNU的make进行讲述,我的环境是RedHat Linux 8.0,make的版本是3.80。必竟,这个make是应用最为广泛的,也是用得最多的。而且其还是最遵循于IEEE 1003.2-1992 标准的(POSIX.2)。
在这篇文档中,将以C/C++的源码作为我们基础,所以必然涉及一些关于C/C++的编译的知识,相关于这方面的内容,还请各位查看相关的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。