2005-12-22

Zweibrücken在莱法州境内

今天学校开始放圣诞假了,一直到1月6日。大家早就约好一起去Zweibrücken看看那儿的Designer Outlet Center。那里名牌服装和鞋类厂家(如Adidas,Burberry,Lacoste,Mango,Nike,Polo等等近40家)的产品以出厂价(factory price)销售,赶上圣诞节打折,价格会比城里商店买的东西便宜不少。

2005-12-17

邮局开放时间

临近圣诞节了,得抓紧时间寄礼物。看了一下邮局的开放时间:

2005-12-11

升级StudIP和Ilias3

拖了很久的StudIP升级今天起个早终于把它解决了。因为准备工作已经做好了,所以升级很快。仅仅是事先做好数据库和Web文件的备份,然后执行事先准备好的第一批SQL语句,然后执行convert_active_sessions.php(这个步骤本来要求以root身份登陆后才能执行,我懒得去找密码就把第三行的$perm->check("root");给注释起来了),然后再执行第二批SQL语句,修改soft link的指向就升级到了StudIP 1.2.0-2

中德招标之异同

上个星期一直陪国内商务部机电司组织的由各招标公司组成的代表团考察德国和欧盟范围的招标,几天下来对德国和中国的招标多少有个概貌。两国在招标上都遵循一些共同的基本准则,如公开,平等,透明,无歧视,但在具体实施上还是有一定的差别。

2005-12-03

合上电脑机箱盖

今天晚上帮一个朋友先看看他的笔记本电脑,然后朋友让我看看地上放着的一台二手台式机。我打开机箱看了看,就差硬盘,接着准备把机箱盖合上。这下可遇到点小麻烦!这个机箱盖是两侧和上顶合在一体的,我按照惯例把开口冲电脑正面(光驱),把上螺丝的那侧冲电脑后面(电源)。

2005-11-19

停电了,你能干点什么?

尽管2个月前就出了通知说这个月19日因为线路改造会停电,可是当下午5点左右突然停电的时候,还是没有做好准备。坐在电脑前看点东西,电脑突然没电了,才意识到今天要停电。冬天已经来了,天早早的就黑下来。没有了电,自己竟没了主意自己能干点什么有趣的事,便去几个朋友家串门。

2005-10-30

不来梅之行

本来每天晚上在酒店都有空写点东西,可是酒店里上网每小时要4,5欧元,这样的价格我觉得太贵,只好回到家后简单写写。

2005-10-25

前往不来梅

秋天确确实实的来了。虽然放眼望去大片的草地还依旧保持着国内难见的绿色,但是窗外的树上已经挂满了金黄色的树叶。见过北京香山红叶,其颜色也是大致如此,只不过有更多大片大片的金黄色罢了。今天又坐上了开往Frankfurt a.m.的火车。这条路线绝对是我在德国最熟悉的铁路线了,五年来不知道在这条路线上来回跑了多少次了,粗略估计一下往返算上也有40次了。一个人坐在火车里看着窗外因火车高速行驶而带起的黄叶翻飞着,到了密集纷飞处竟然有些电影英雄里林间比斗那种感觉。秋天果真是个让诗人伤感的季节,翩翩飘飞的黄叶能勾起多少人对美好时光飞逝和辉煌不再的感叹啊!

2005-10-20

翻译毛主席的词

上周在陪客人参观位于Deggendorf的一家高精度模具和工具设计和加工公司Haselbeck GmbH时,接待我们的是公司的总经理,同时也是Fachhochschule Deggendorf的副校长,Prof. Dr. Joachim Helml。在参观结束前,Prof. Heml先生神秘的把我叫到他的办公室,指着墙上的一幅对联对我说,这是他的一个中国朋友送给他的,想请我帮忙给翻译一下。翻译文学性的诗句可不是件简单的事,远比翻译一些套话难多了。我稳了稳神,仔细一读,原来是来自毛主席的词,满江红:四海翻腾云水怒,五洲震荡风雷激。

2005-10-16

回到Trier

一大早乘着雾气从NH München-Dornach AmMcc酒店出发,坐S-Bahn来到München的Hbf,等了半个多小时后就持着周么票开始了漫漫的归途之旅。途中分别在Kempten Hbf,Ulm Hbf,Stuttgart Hbf,Karlsruhe Hbf,Landau Hbf,Pirmasense Nord, Saarbrücken Hbf 7次转车。每次换上火车乘坐的时间都大约在一个小时左右,所以不能在火车上放心闭眼休息,其中在Pirmasense Nord转车时,险些忘记下车而错过开往 Saarbrücken的火车。

2005-10-07

汽车主要参数

转自:http://www.dongfengauto.ca/info/auto_index3.htm
这些参数反映出汽车的技术性能以及适用范围,有下面几项。

1、 整车参照

1) 外形尺寸:长×高×宽
2) 重量参数:整车自重(千克)、总质量(千克)、载质量(千克)、空载轴荷分配等。
3) 通过性及机动性参数:最小离地间隙(一般为驱动桥壳最底点与地面之间的距离)、前悬、后悬、接近角、离去角、轴距、轮距、最小转弯半径。

汽车发动机的主要性能指标

转自:http://www.dongfengauto.ca/info/auto_index2.htm

1、最大功率

发动机工作时输出的功率与发动机转速有关。当发动机转速达某一值时,输出功率为最大,成为发动机最大功率。同时,发动机最大功率时对应的转速,基本上就是发动机的最高转速。轿车或者客车发动机最大功率时的转速要高于载货汽车,以便适应其高速行驶的需要。最大功率的单位为千瓦。

汽车的ABS、EBD和ESP

转自:http://www.dongfengauto.ca/info/abs_ebd_esp.htm

什么是ABS

ABS 是Anti-Lock Brake System的英文缩写,即“刹车防抱死系统”。在没有ABS时,如果紧急刹车一般会使轮胎抱死,由于抱死之后轮胎与地面是滑动摩擦,所以刹车的距离会变长。如果前轮锁死,车子失去侧向转向力,容易跑偏;如果后轮锁死,后轮将失去侧向抓地力,就易发生甩尾。特别是在积雪路面,当紧急制动时,就更容易发生上述的情况。

2005-10-06

了解德国的机械制造行业

受朋友之托要为一个国内的机械电子培训团在德国接受培训做翻译工作。自己从小对机械这些东西就比较感兴趣,借此机会到可以认识一下德国的这一传统优势行业。

2005-10-03

UNIX演义

UNIX演义(一)

"One half of the world must sweat and goarn that the other half may dream."
----Henry Wadworth Longfellow

UNIX的历史展现了许多关于UNIX哲学的内容。从她为什么流行至今,到她为什么有如此古怪的许可证制度,我们沿着UNIX走向成熟的道路讲述这段历史,研究UNIX 哲学及其演变过程。

Top ten reasons why people use Tcl today

There are many different reasons why people use Tcl but most of them fall into just a few categories. Here are the top ten reasons why people use Tcl today.

2005-09-29

为FuD设置CVS服务器

以前在nu01上为FuD设置了CVS服务器,后来因为硬盘坏了,便没有再设置而把这事搁置一边了。今天抽空在germa93这台机器上设置了个CVS服务器。原本想省事安个rpm包,可惜cvs的rpm包还要求好多perl的包。安装完Active的perl的rpm,还是报告缺很多模块,后来干脆从cvs的源代码编译安装了。

2005-09-26

办理下学期注册手续

如果不办理下学期的注册手续,持学生证免费乘车只能到这个月月底,9月30日。于是早上拿着学生证就去V楼办理注册手续。整个注册手续都是在自动机上完成的,省了学生管理处很多功夫。拿着卡来到自动机前,才发现自动机上班必工作人员上班还要晚,自动机从10:00才能开始使用。估计是工作人员9点来上班,先泡上一杯咖啡,然后东转转西转转再远程唤醒自动机(注册使用的机器是跑在windows 2000 pro上的),让它开始工作。

AWK Tutorial Guide

一.前言/Preface

1.有关本手册
这是一本AWK学习指引, 其重点着重于:
AWK 适于解决哪些问题?
AWK 常见的解题模式为何?

为使读者快速掌握AWK解题的模式及特性,本手册系由一些较具代表性的范例及其题解所构成; 各范例由浅入深,彼此间相互连贯,范例中并对所使用的AWK语法及指令辅以必要的说明。 有关AWK的指令,函数等条列式的说明则收录于附录中,以利读者日后编写程序时查阅。 如此编排,可让读者在短时间内顺畅地学会使用AWK来解决问题。建议读者循着范例上机实习以加深学习效果。

2005-09-25

常见的一些邮件服务商的服务器地址

经常帮朋友设置邮件客户端的pop3和smtp服务器。这里收集了常见的邮件服务商的邮件服务器地址。

应用GPG加密信息

加密和数字签名作为保护信息机密性、完整性和不可抵赖性的重要手段在各种信息通信场合得到广泛的应用。目前,已有不少商业加密和数字签名产品,比如商业软件PGP(Pretty Good Privacy)。

另外,在开放源代码库中也有一些免费的加密和数字签名软件,其中最被认可的是GPG(GNU Privacy Guard)。GPG是一个完全免费、源代码公开,并且与PGP完全兼容的软件产品。今天,GPG已经拥有众多的企业和个人用户。

2005-09-24

一个免费的多媒体播放器

在网上发现了一个叫做VLC media player的开源播放器。程序图形界面比较简单,但有一个比较大的优点是播放文件时对cpu的消耗尤其得小,特别是在播放avi文件时与其他的软件如KMPlayer相比,资源消耗要小很多。VLC media player对cpu的消耗仅为3%左右,而KMPlayer则达到85%以上。除此之外,VLC media player还可以做为媒体服务器,用于架设多媒体点播网页。

了解葡萄酒

周二在Bonn的时候就接到朋友的电话,说周五上午国内有个公务团要来特里尔“考察”葡萄酒加工,让我当时帮忙翻译一下。在“考察”两个字上加上引号是因为这两个词在国内公务团在国外时已经失去了它原来的意义。

2005-09-23

国内体育考察团

前几天受朋友之托在德国境内陪国内**部组织的一些高校的头头门来考察德国的体育。代表团成员中大多是教授,博士生导师之类的。不过通过公务活动中的对话和提问可以看出国内教授的水平,实在是不敢让人恭维。上车睡觉,下车拍照绝对不是夸张,而是实实在在的写照。代表团访问了全德高校体育联合会,法兰克福大学体育研究学院和科隆体育大学和德国体育联合会体育干部培训学院。这些访问对象的选择还是比较合理的,如果深入交流还是能对德国的体育发展(尤其是高校体育)有个初步的了解和认识的。不过我们这帮头头们缺乏一些德国高校教育体制的背景知识,所以都是以国内高校的思维模式来问对方,因此有些问题还没到德国接待方那儿,就由我先回答了。

2005-09-12

下一个毕业考试

该考虑下一门毕业考试, theoretische Prüfung了。考试的内容包括三个Vorlesungen:


  • Kapitel aus "Algorithmen und Datenstrukturen"

  • Graphalgorithmen: Theorie und Praxis

  • Geometrische Algorithmen


去Führerscheinstelle报名

今天中午去了一趟Führerscheinstelle,本想问问情况报名,但是赶上周一下午不办公,只好怏怏地回家了。我本来去之前在网上查了一下办公时间,可惜网上的办公时间跟办公室门上贴的办公室时间相差太远。不过在离开之前,在一楼的办公区问了一个工作人员,她帮我把电话接到了二楼的办公室。接电话的是上次报名的那个Frau Berger,说话特别慢,态度十分的好。明天周二整天不办公,只好周三再去了。

NFS文件系统的建立

一台DS10和一台DS20。在DS20建nfs文件系统,实际使用DS10的空间.

初始配置:
DS10上的工作:
1.在DS10上创建一个文件系统。
# disklabel -r dsk0 查看硬盘分配情况(以dsk0为例)

2005-09-09

抢先测试Firefox 1.5 beta

今天因为上午有考试,所以早上很早就起来了。照例打开了电脑看了看slashdotcn.org,看到Firefox 1.5beta放出来了,于是赶紧下载了一个。考完试回到家便坐到电脑前测试。安装完毕后发现外观没有太多更改,但是在option里除了选项布局有了改变外,有了一些新的设置选项,是关于accessibility设置的。在1.5 beta的新功能中最让我感兴趣的是对Web协议的更好支持,包括SVG, CSS 2 and CSS 3, and JavaScript 1.6。

Die 1. Diplomprüfung vorbei

第一个毕业考试(Datenbank, Intelligenete Systeme, XML )在今天上午9:42结束了,朝着毕业的方向又近了一步了。

2005-09-08

Nirvana 涅磐乐队

90年代,美国的失业危机重新抬头, 朋克乐在音乐界再度爆炸,西雅图的Grunge音乐风暴引起了强烈的反响 与轰动,Nirvana就是在这样的背景下诞生的,乐队由 Kurt Cobain和前The Melvins的成员 Krist Novoselic 组建,Dave Grohl在录制第二张唱片(Nevermind)固定 了的鼓手位置,Kurt Cobain负责主音和吉它, Chris 负责低音吉它。

专辑Bleach

专辑名称:Bleach
出版日期:1989
专辑曲目:
01.Blew
02.Floyd the Barber
03.About a Girl

2005-09-02

使用rewrite在多个目录之中自动搜索文件

作者:honestqiao
使用Apache的Mod_Rewrite模块,可以做到在多目录之中,搜索需要的文件。

例如:
网站网址为:http://www.test.com/
有一网站的根目录/为:/home/www/public_html/
其下有一个目录001为:/home/www/public_html/001/

现在有一个文件:test.html 要求放在根目录/下面,或者/001/下面,
都可以被http://www.test.com/test.html访问,类似的还有一些其他的文件。

2005-09-01

SQL中的GROUP BY 子句

SQL中的GROUP BY子句 支持GROUP ING SETS,ROLLUP,CUBE选项。

GROUPING SETS

GROUPING SETS允许用户精确制定进行哪些特定的分组操作,如:
SELECT s#, p#, SUM(QTY) AS TOTQTY
FROM SP
GROUPING BY GROUPING SETS (s#, p#);

DTD中的属性类型ID和IDREF与SQL中的primary key和forein key

Aus: An Introduction To Database, Kapitel 27

Attributes of type ID behave a little bit like primary keys, and attributes of type IDREF behave a little bit like foreign keys. However, the analogies are not very strong:

升级机房DM 330的杀毒软件

今天下午抽空把DM 330里6台电脑的杀毒软件全部升级到McAfee 8.0。在其中一台安装时总是得到错误,说McAfee的Framwork的服务不能启动。网上查了一下,暂时没有找到解决问题的办法,等我考完试再去处理它。

2005-08-30

跟我学XSL(三):XSL模板与匹配模式

  经过前几日的学习,我们学习了XHTML文档的编写和三个XSL元素,已能编写相当灵活的XSL文档,今天将学习的是XSL模板的编写。我们都知道,短的文档、程序十分好读,但当规模增大后,其复杂性也以更快的速度增加。


2005-08-29

SQL中的GROUP BY 子句

SQL中的GROUP BY子句 支持GROUP ING SETS,ROLLUP,CUBE选项。

GROUPING SETS

GROUPING SETS允许用户精确制定进行哪些特定的分组操作,如:
SELECT s#, p#, SUM(QTY) AS TOTQTY
FROM SP
GROUPING BY GROUPING SETS (s#, p#);

2005-08-28

Network monitoring with ngrep

Constant monitoring and troubleshooting are key to maintaining a network's availability. With ngrep, you can analyze network traffic in a manner similar to that of other network sniffers. However, unlike its brethern, ngrep can match regular expressions within the network packet payloads. By using its advanced string matching capabilities, ngrep can look for packets on specified ports and assist in tracking the usernames and passwords zipping off the network, as well as all Telnet attempts to the server.

2005-08-27

打开chm文件出错

最近发现当打开存放在网络硬盘上的chm文件时,chm文件的内容总是不能正确显示。昨天从http://linux.vbird.org 上下载了一个chm文件,存放到本地硬盘上也不能在我的机器上打开。把文件拷贝到另外一台Windows XP机器上,打开却没有问题。

察看了一下日志中的Application的记录,得到了下面的信息:

2005-08-26

Backup / Restore XP Activation

When you activate Windows XP, Microsoft stores the data in the Windows Product Activation database files wpa.dbl and Wpa.bak in the folder %systemroot%system32. If you change the motherboard or make significant hardware changes, XP will require you to reactive. But if you plan to reinstall XP on the same hardware, you can back up the activation status and then restore it after you reinstall and avoid the activation process. You can backup the Windows Product Activation database files to diskette. They are very small. A directory listing from my XP Pro workstation:

Apache日志解读

Apche日志系列(1):访问日志

想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道。访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置。

一、访问日志的格式

Apache内建了记录服务器活动的功能,这就是它的日志功能。这个《Apache日志》系列文章介绍的就是Apache的访问日志、错误日志,以及如何分析日志数据,如何定制Apache日志,如何从日志数据生成统计报表等内容。

如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。这两个文件是access_log(在Windows上是 access.log)和error_log(在Windows上是error.log)。采用默认安装方式时,这些文件可以在 /usr/local/apache/logs下找到;对于Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。

正如其名字所示,访问日志access_log记录了所有对Web服务器的访问活动。下面是访问日志中一个典型的记录:

216.35.116.91 - - [19/Aug/2000:14:47:37 -0400] "GET / HTTP/1.0" 200 654

这行内容由7项构成,上面的例子中有两项空白,但整行内容仍旧分成了7项。

第一项信息是远程主机的地址,即它表明访问网站的究竟是谁。在上面的例子中,访问网站的主机是216.35.116.91。随便说一句,这个地址属于一台名为si3001.inktomi.com的机器(要找出这个信息,可以使用nslookup工具查找DNS),inktomi.com是一家制作Web 搜索软件的公司。可以看出,仅仅从日志记录的第一项出发,我们就可以得到有关访问者的不少信息。

默认情况下,第一项信息只是远程主机的IP地址,但我们可以要求Apache查出所有的主机名字,并在日志文件中用主机名字来替代IP地址。然而,这种做法通常不值得推荐,因为它将极大地影响服务器记录日志的速度,从而也就减低了整个网站的效率。另外,有许多工具能够将日志文件中的IP地址转换成主机名字,因此要求Apache记录主机名字替代IP地址是得不偿失的。

然而,如果确实有必要让Apache找出远程主机的名字,那么我们可以使用如下指令:

HostNameLookups on

如果HostNameLookups设置成double而不是on,日志记录程序将对它找到的主机名字进行反向查找,验证该主机名字确实指向了原来出现的IP地址。默认情况下HostNameLookups设置为off。

上例日志记录中的第二项是空白,用一个“-”占位符替代。实际上绝大多数时候这一项都是如此。这个位置用于记录浏览者的标识,这不只是浏览者的登录名字,而是浏览者的email地址或者其他唯一标识符。这个信息由identd返回,或者直接由浏览器返回。很早的时候,那时Netscape 0.9还占据着统治地位,这个位置往往记录着浏览者的email地址。然而,由于有人用它来收集邮件地址和发送垃圾邮件,所以它未能保留多久,很久之前市场上几乎所有的浏览器就取消了这项功能。因此,到了今天,我们在日志记录的第二项看到email地址的机会已经微乎其微了。

日志记录的第三项也是空白。这个位置用于记录浏览者进行身份验证时提供的名字。当然,如果网站的某些内容要求用户进行身份验证,那么这项信息是不会空白的。但是,对于大多数网站来说,日志文件的大多数记录中这一项仍旧是空白的。

日志记录的第四项是请求的时间。这个信息用方括号包围,而且采用所谓的“公共日志格式”或“标准英文格式”。因此,上例日志记录表示请求的时间是2000年8月19日星期三14:47:37。时间信息最后的“-0400”表示服务器所处时区位于UTC之前的4小时。

日志记录的第五项信息或许是整个日志记录中最有用的信息,它告诉我们服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。

在上例中,METHOD是GET,其他经常可能出现的METHOD还有POST和HEAD。此外还有不少可能出现的合法METHOD,但主要就是这三种。

RESOURCE是指浏览者向服务器请求的文档或URL。在这个例子中,浏览者请求的是“/”,即网站的主页或根。大多数情况下,“/”指向DocumentRoot目录的index.html文档,但根据服务器配置的不同它也可能指向其他文件。

PROTOCOL通常是HTTP,后面再加上版本号。版本号或者是1.0,或者是1.1,但出现1.0的时候比较多。我们知道,HTTP协议是Web得以工作的基础,HTTP/1.0是HTTP协议的早期版本,而1.1是最近的版本。当前大多数Web客户程序仍使用1.0版本的HTTP协议。

日志记录的第六项信息是状态代码。它告诉我们请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常。此处不准备给出状态代码的完整清单以及解释它们的含义,请参考相关资料了解这方面的信息。但一般地说,以2开头的状态代码表示成功,以3开头的状态代码表示由于各种不同的原因用户请求被重定向到了其他位置,以4开头的状态代码表示客户端存在某种错误以5开头的状态代码表示服务器遇到了某个错误

日志记录的第七项表示发送给客户端的总字节数。它告诉我们传输是否被打断(即,该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。

二、配置访问日志

访问日志文件的位置实际上是一个配置选项。如果我们检查httpd.conf配置文件,可以看到该文件中有如下这行内容:

CustomLog /usr/local/apache/logs/access_log common


注意,对于版本较早的Apache服务器,这行内容可能略有不同。它使用的可能不是CustomLog指令,而是TransferLog指令。如果你的服务器属于这类情况,建议你尽可能地早日升级服务器。

CustomLog指令指定了保存日志文件的具体位置以及日志的格式。至于如何定制日志文件的格式以及内容,我们将在这个《Apache日志》系列文章的后面几篇讨论。上面这行指令指定的是common日志格式,自从有了Web服务器开始,common格式就是它的标准格式。由此我们也可以理解,虽然几乎不再有任何客户程序向服务器提供用户的标识信息,但访问日志却还保留着第二项内容。

CustomLog指令中的路径是日志文件的路径。注意,由于日志文件是由HTTP用户打开的(用User指令指定),因此必须注意这个路径要有安全保证,防止该文件被随意改写。

《Apache日志》系列文章的后面几篇将继续介绍:Apache错误日志,定制日志的格式和内容,如何将日志内容写入指定的程序而不是文件,如何从日志文件获得一些非常有用的统计信息,等等。

Apche日志系列(2):错误日志

错误日志和访问日志一样也是Apache的标准日志。本文分析错误日志的内容,介绍如何设置和错误日志相关的选项,文档错误和CGI错误的分类,以及如何方便地查看日志内容,等等。

一、位置和内容

前文讨论了Apache的访问日志,包括它的内容、格式和如何设置访问日志有关的选项。本文我们要讨论的是另外一种Apache标准日志——错误日志。

错误日志无论在格式上还是在内容上都和访问日志不同。然而,错误日志和访问日志一样也提供丰富的信息,我们可以利用这些信息分析服务器的运行情况、哪里出现了问题。

错误日志的文件名字是error_log,但如果是Windows平台,则错误日志的文件名字是error.log。错误日志的位置可以通过ErrorLog指令设置:

ErrorLog logs/error.log

除非文件位置用“/”开头,否则这个文件位置是相对于ServerRoot目录的相对路径。如果Apache采用默认安装方式安装,那么错误日志的位置应该在/usr/local/apache/logs下。但是,如果Apache用某种包管理器安装,错误日志很可能在其他位置。

正如其名字所示,错误日志记录了服务器运行期间遇到的各种错误,以及一些普通的诊断信息,比如服务器何时启动、何时关闭等。

我们可以设置日志文件记录信息级别的高低,控制日志文件记录信息的数量和类型。这是通过LogLevel指令设置的,该指令默认设置的级别是error,即记录称得上错误的事件。有关该指令中允许设置的各种选项的完整清单,请参见http: //www.apache.org/docs/mod/core.html#loglevel 的Apache文档。

大多数情况下,我们在日志文件中见到的内容分属两类:文档错误和CGI错误。但是,错误日志中偶尔也会出现配置错误,另外还有前面提到的服务器启动和关闭信息。

二、文档错误

文档错误和服务器应答中的400系列代码相对应,最常见的就是404错误——Document Not Found(文档没有找到)。除了404错误以外,用户身份验证错误也是一种常见的错误。

404错误在用户请求的资源(即URL)不存在时出现,它可能是由于用户输入的URL错误,或者由于服务器上原来存在的文档因故被删除或移动。

顺便说一下,按照Jakob Nielson的意见,在不提供重定向或者其他补救措施的情况下,我们永远不应该移动或者删除Web网站的任何资源。Nielson的更多文章,请参见http://www.zdnet.com/devhead/alertbox/

当用户不能打开服务器上的文档时,错误日志中出现的记录如下所示:

[Fri Aug 18 22:36:26 2000] [error]


[client 192.168.1.6] File does not exist:

/usr/local/apache/bugletdocs/Img/south-korea.gif

可以看到,正如访问日志access_log文件一样,错误日志记录也分成多个项。

错误记录的开头是日期/时间标记,注意它们的格式和access_log中日期/时间的格式不同。access_log中的格式被称为“标准英文格式”,这或许是历史跟我们开的一个玩笑,但现在要改变它已经太迟了。

错误记录的第二项是当前记录的级别,它表明了问题的严重程度。这个级别信息可能是LogLevel指令的文档中所列出的任一级别(参见前面 LogLevel的链接),error级别处于warn级别和crit级别之间。404属于error错误级别,这个级别表示确实遇到了问题,但服务器还可以运行。

错误记录的第三项表示用户发出请求时所用的IP地址。

记录的最后一项才是真正的错误信息。对于404错误,它还给出了完整路径指示服务器试图访问的文件。当我们料想某个文件应该在目标位置却出现了404错误时,这个信息是非常有用的。此时产生这种错误的原因往往是由于服务器配置错误、文件实际所处的虚拟主机和我们料想的不同,或者其他一些意料不到的情况。

由于用户身份验证问题而出现的错误记录如下所示:

[Tue Apr 11 22:13:21 2000]

[error] [client 192.168.1.3] user rbowen@rcbowen.

com: authentication failure for "/cgi-bin/hirecareers/company.cgi":

password mismatch

注意,由于文档错误是用户请求的直接结果,因此它们在访问日志中也会有相应的记录。

三、CGI错误
错误日志最主要的用途或许是诊断行为异常的CGI程序。为了进一步分析和处理方便,CGI程序输出到STDERR(Standard Error,标准错误设备)的所有内容都将直接进入错误日志。这意味着,任何编写良好的CGI程序,如果出现了问题,错误日志就会告诉我们有关问题的详细信息。

然而,把CGI程序错误输出到错误日志也有它的缺点,错误日志中将出现许多没有标准格式的内容,这使得用错误日志自动分析程序从中分析出有用的信息变得相当困难。

下面是一个例子,它是调试Perl CGI代码时,错误日志中出现的一个错误记录:

[Wed Jun 14 16:16:37 2000] [error] [client 192.168.1.3] Premature


end of script headers: /usr/local/apache/cgi-bin/HyperCalPro/announcement.cgi

Global symbol "$rv" requires explicit package name at

/usr/local/apache/cgi-bin/HyperCalPro/announcement.cgi line 81.

Global symbol "%details" requires explicit package name at

/usr/local/apache/cgi-bin/HyperCalPro/announcement.cgi line 84.

Global symbol "$Config" requires explicit package name at

/usr/local/apache/cgi-bin/HyperCalPro/announcement.cgi line 133.

Execution of /usr/local/apache/cgi-bin/HyperCalPro/announcement.cgi

aborted due to compilation errors.

可以看到,CGI错误和前面的404错误格式相同,包含日期/时间、错误级别以及客户地址、错误信息。但这个CGI错误的错误信息有好几行,这往往会干扰一些错误日志分析软件的工作。

有了这个错误信息,即使是对Perl不太熟悉的人也能够找出许多有关错误的信息,例如至少可以方便地得知是哪几行代码出现了问题。Perl在报告程序错误方面的机制是相当完善的。当然,不同的编程语言输出到错误日志的信息会有所不同。

由于CGI程序运行环境的特殊性,如果没有错误日志的帮助,大多数CGI程序的错误都将很难解决。

有不少人在邮件列表或者新闻组中抱怨说自己有一个CGI程序,当打开网页时服务器却返回错误,比如“Internal Server Error”。我们可以肯定,这些人还没有看过服务器的错误日志,或者根本不知道错误日志的存在。决多大多数情况下,错误日志能够精确地指出CGI错误的所在以及如何修正这个错误。

四、查看日志文件

我常常告诉别人说,在进行开发的同时我会不断地检查服务器的日志,以便能够立即知道哪儿出了问题。但我得到的回答却往往是沉默。起先我以为这种沉默意味着“你当然得这样做”,后来我才发现这种沉默的真正含义是“我不知道别人的做法,但我自己是不干的。”

虽然如此,下面我们还是要看看如何方便地查看服务器日志文件。用telnet连接到服务器,然后输入下面的命令:

tail -f /usr/local/apache/logs/error_log

该命令将显示出日志文件的最后几行内容,如果有新的内容加入到日志文件,它还会立即显示出新加入的内容。

Windows用户也同样可以使用这种方法,比如可以使用各种为Windows提供的Unix工具软件包。我个人爱好一个称为AINTX的工具,它可以在http://maxx.mc.net/~jlh/nttools/index.htm 找到。

还有一种替代方法是使用下面的Perl代码,它利用了一个称为File::Tail的模块:

use File::Tail;


$file=File::Tail->new("/some/log/file");

while (defined($line=$file->read)) {

print "$line";

}

无论具体采用的是哪一种方法,同时打开多个终端窗口都是一种好习惯:比如在一个窗口中显示错误日志,在另一个窗口中显示访问日志。这样,我们就能够随时获知网站上发生的事情并立即予以解决。

在这个《Apache日志》系列的下一篇文章中,我们将讨论定制服务器日志,即如何在日志文件中记录所有我们想要的信息,排除所有我们不想要的信息。

在此之后,我们还将讨论日志文件的处理,即如何从日志文件生成统计报表。在最后几篇文章中,我们还将讨论如何把日志记录重定向到指定的程序而不是保存到日志文件,以便由程序实时地处理新生成的日志数据,比如将日志数据保存到数据库,或者当发生某些关键性错误时通过email把日志信息发送给系统管理员,等等。

Apche日志系列(3):定制日志

有时候我们需要定制Apache默认日志的格式和内容,比如增加或减少日志所记录的信息、改变默认日志文件的格式等。本文介绍可以用日志记录的所有信息,以及如何设置Apache使其记录这些信息。

一、定义日志格式(4月3日)

很久以前,日志文件只有一种格式,这就是“公共格式”,许多人已经习惯于使用这种格式。随后出现了定制日志格式,而且看起来定制日志格式更很受欢迎,即使公共日志格式本身也重新用定制日志格式定义。本文介绍的就是如何随心所欲地定制日志文件的格式、如何让日志文件记录自己想要的信息。

定制日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令,默认httpd.conf文件提供了关于这两个指令的几个示例。

LogFormat指令定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。CustomLog指令设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。

LogFormat指令的功能是定义日志格式并为它指定一个名字。例如,在默认的httpd.conf文件中,我们可以找到下面这行代码:

LogFormat "%h %l %u %t "%r" %>s %b" common

该指令创建了一种名为“common”的日志格式,日志的格式在双引号包围的内容中指定。格式字符串中的每一个变量代表着一项特定的信息,这些信息按照格式串规定的次序写入到日志文件。

Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文:

----------------------------------------------------------------------

%...a: 远程IP地址

%...A: 本地IP地址

%...B: 已发送的字节数,不包含HTTP头

%...b: CLF格式的已发送字节数量,不包含HTTP头。

例如当没有发送数据时,写入‘-’而不是0。

%e: 环境变量FOOBAR的内容

%...f: 文件名字

%...h: 远程主机

%...H 请求的协议

%i: Foobar的内容,发送给服务器的请求的标头行。

%...l: 远程登录名字(来自identd,如提供的话)

%...m 请求的方法

%n: 来自另外一个模块的注解“Foobar”的内容

%o: Foobar的内容,应答的标头行

%...p: 服务器响应请求时使用的端口

%...P: 响应请求的子进程ID。

%...q 查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。)

%...r: 请求的第一行

%...s: 状态。对于进行内部重定向的请求,这是指*原来*请求的状态。如果用%...>s,则是指后来的请求。

%...t: 以公共日志时间格式表示的时间(或称为标准英文格式)

%t: 以指定格式format表示的时间

%...T: 为响应请求而耗费的时间,以秒计

%...u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的)

%...U: 用户所请求的URL路径

%...v: 响应请求的服务器的ServerName

%...V: 依照UseCanonicalName设置得到的服务器名字

------------------------------------------------------------------

在所有上面列出的变量中,“...”表示一个可选的条件。如果没有指定条件,则变量的值将以“-”取代。分析前面来自默认httpd.conf文件的 LogFormat指令示例,可以看出它创建了一种名为“common”的日志格式,其中包括:远程主机,远程登录名字,远程用户,请求时间,请求的第一行代码,请求状态,以及发送的字节数。

有时候我们只想在日志中记录某些特定的、已定义的信息,这时就要用到“...”。如果在“%”和变量之间放入了一个或者多个HTTP状态代码,则只有当请求返回的状态代码属于指定的状态代码之一时,变量所代表的内容才会被记录。例如,如果我们想要记录的是网站的所有无效链接,那么可以使用:


LogFormat %404{Referer}i BrokenLinks


反之,如果我们想要记录那些状态代码不等于指定值的请求,只需加入一个“!”符号即可:

LogFormat %!200U SomethingWrong


Apche日志系列(4):日志分析

尽管日志文件中包含着大量有用的信息,但这些信息只有在经过深入挖掘之后才能够最大限度地发挥作用。本文首先讨论了能够从日志文件获得的信息以及不能从日志文件获得的信息,然后介绍了几种优秀的日志分析工具以及如何自己编程分析日志文件。

一、可以得到哪些信息

在这个《Apache日志》系列文章的前面几篇中,我们讨论了Apache的标准日志文件——访问日志和错误日志,以及如何定制日志文件。本文接下来讨论如何分析日志文件获得宝贵的统计信息。

我们面临的问题是,虽然日志文件中包含了大量的信息,但这些信息对于我们管理、规划网站却没有多少直接的帮助。为了管理和规划网站,我们需要知道:有多少人浏览了网站,他们在看些什么,停留了多长时间,他们从哪里得知这个网站,等等。所有这些信息就隐藏于(或者可能隐藏于)日志文件之中。

就网站的经营者而言,他们还希望知道浏览者的姓名、地址、鞋子大小,甚至还有浏览者的信用卡号码,但这些信息都不可能从日志文件中得到。为此,作为技术人员的我们就必须知道如何向这些经营者解释清楚:这部分信息不仅不可能从日志文件获得,而且要获得这些信息的唯一方法是直接向浏览者本人询问,并作好被拒绝的准备。

有许多信息可以用日志文件来记录,其中包括:

远程机器的地址:“远程机器的地址”和“谁在浏览网站”差不多,但并不等同。具体地说,远程机器的地址告诉我们浏览者来自何方,比如它可能是buglet.rcbowen.com或者proxy01.aol.com。

浏览时间:浏览者何时开始访问网站?从这个问题的答案中我们能够了解不少情况。如果网站的大多数浏览者都在早上9:00和下午4:00之间访问网站,那么可以相信网站的浏览者大多数总在工作时间进行访问;如果访问记录大多出现在下午7:00到午夜之间,我们可以肯定浏览者一般在家里上网。当然,从单个访问记录能够得到的信息非常有限,但如果从数千个访问记录出发,我们就可以得到非常有用和重要的统计信息。

用户所访问的资源:网站的哪些部分最受用户欢迎?这些最受欢迎的部分就是我们应该继续加以发展的部分。网站的哪些部分总是受到冷落?网站中这些受到冷落的部分或许隐藏得太深,或许它们确实没有什么意思,此时我们就得想办法加以改进。当然,网站还有的内容,比如法律上的声明,虽然很少有人访问,但却不应该随便地改动它们。

无效链接:当然,日志文件还能够告诉我们哪些东西不能按照我们所想象地运行。网站中是否存在错误的链接?其他网站链接过来时有没有搞错URL?是否存在不能正常运行的CGI程序?是否有搜索引擎检索程序每秒发出数千个请求,从而影响了本网站的正常服务?这些问题的答案都可以从日志文件找到线索。

2005-08-25

0Day发布中的名词详解

Incl.Keygen--->包含有注册器

keygen only--->只含注册器

WinALL--->适用于所有版本Windows操作系统(一般是指95 98 ME 2000 XP 2003)

Trainer--->修改器

2005-08-24

服务器与客户端时间不同步

今天帮Marco的电脑(windows 2000)以本地管理员的身份设置了一下打印机。设置完毕推出后当,Marco以域用户的身份再次登陆时却得到错误:Es gibt Zeitunterschied zwischen Server und Client. Sie können Sich nicht anmelden.
重新启动电脑后再次登陆还是同样的出错提示。

Windows 2000公钥基础结构简述

1、概述

  Windwos 2000为电子商务提供了一个理想的平台, 其安全性(包括证书管理、 CA服务、 公用密钥基本体系), 保证了电子商务的开展。 结合Windows 2000的IIS 5.0服务, 可以快速创建一个网上电子商务的平台。

在网页里嵌入视频文件和音频文件

今天Amelie发邮件给我说,她在Ilias3的Lerneinheit里插入wmv和mp3格式的文件时,在她IE 6.0浏览器上,能听到wmv文件的声音,看不到视频,而mp3文件则听不到声音。并且两个多媒体文件都没有控制条出现。这样网页加载完毕,只能听到两个声音自动播放,用户不能控制播放。

2005-08-21

关于 Unicode 和字符集的最基础的知识(转载)

原文链接: http://www.joelonsoftware.com/printerFriendly/articles/Unicode.html

作者: Joel Spolsky

翻译、摘要: 木野狐(ChenRong2003[at]hotmail.com)

2005-08-18

从文件分辨影片的质量

很多0day发出的文件都有一些约定俗成。下面是关于各种电影的常见命名。
来源:huaye@TLF


很多网友问及文件名各部分是什么意思,以及质量如何。也看见有网友发表关于电影发布版本术语的解释,尚有不确切的地方。比如PROPER并不代表质量完
美,TS 或Telesync并非指从放影机转制。其实Telesync和CAM都是用digital
camera或camcorder在影院录制(俗称枪版),质量起伏很大。


下面是从VCDQuality.com转摘的关于这些术语的解释。中英文对照,因为错误总是难免的。

css大师Eric Meyer制作的一个幻灯片制作工具

Eric Meyer不愧为CSS的大师,制作的网页符合规范,并且非常漂亮。在他的网页上还发现了一个叫做s5(A Simple Standards-Based Slide Show System)的制作幻灯片的工具。这里还有一个用s5制作的介绍它的网页幻灯片。

2005-08-17

免费打电话的工具voip buster

今天在网上发现一个可以受限的免费打电话的软件,voipbuster。目前使用该软件可以免费拨打一分钟,一分钟后自动挂断。

SQL中删除表的选项

以前只知道用drop table 删除一个表,在看"An Introduction to database systems"时才发现其实还可以更一个选项RESTRICT/CASCADE。数据库这门课真是有很多东西值得去学,就连常用的SQL还有好多我都不会啊!

2005-08-15

由超级女生想到的

最近不论是看网上新闻,还是阅读多个Blog,还是别人MSN的显示都提醒着我超级女生的存在。这就是媒体的力量,不许你不知道,只许你不喜欢。于是联系了一下Qi Jin,复制了几个关于超级女生的娱乐新闻和一个比赛现场(所谓的6进5)录像来看。在观看时,我的手就几乎没停过,时不时地按我的右方向键,以快速跳过部分片段(感谢Kmplayer支持这个功能)。

2005-08-14

尝试使用www.365kit.com的服务

我记忆电话号码特别差,因此保存好通讯录对我来说十分重要。尽管我已经把outlook的联系人到处导出到了我的gmail账户里,但gmail也有不能访问的时候。狡兔还三窟呢,我还是把通讯录多方几个地方吧,只是希望运营商遵守商业道德不会向第三方公布这些联系人信息。于是今天在www.365kit.com注册了一个账户,用于管理我的联系人。

2005-08-13

PHP实现的通用语法高亮显示工具GeSHi

 GeSHi - Generic Syntax Highlighter,一个用PHP写的通用语法高亮显示工具。这儿有Demo可以看看。

语法高亮显示工具dp.SyntaxHighlighter

今天在网上发现一个用javascript写的开源项目dp.SyntaxHighlighter,用于高亮显示网页上的程序片断。该脚本能在IE 6.0和Firefox 1.0和Safari上正常运行,但不支持Opera。

2005-08-12

偷窥的年代

不过也许不紧要了,这到底是个偷窥的年代,越来越多的网络服务,可以帮助你更完整地去“偷窥”某个人,或者说,了解某个人:
1. MSN上,看看这家伙最近变幻的名字,或者他某一时刻正在听的歌曲
2. Technorati上,搜搜这个家伙,看看有哪些人说他,也许他的朋友会写到他
3. Flickr上,看看这家伙最近去了哪,跟哪个MM一起混,拍了啥PP
4. Douban上,瞧瞧这家伙最近读了什么书,听了什么歌,看了什么电影
5. Toodou上,如果这家伙上传了自己的东东,下一下看看听听无妨
6. Del.icio.us上,这家伙今天读了什么文章,或者储存了哪些好东东
7. Linkedin上,这家伙有没有更新简历,有没有炒老板跳槽,还是自己创业了?
8. 43Things上,这家伙最近打算干什么,赚钱还是泡MM?
9. 43Places上,这家伙又准备着去哪些地方花费银子呢?

又或者,
1. 如果他泡贴吧UUzone这样的社区,那么无妨看看他啥时候又登陆上来了,资料上都有的吧
2. 如果他用知道爱问这样的平台,只管去看的资料,看看这家伙都问了哪些问题求救,或者哪天上班无所事事,好心地回答了人家的问题

当然,必定少不了的是搜索引擎。

网络就是如此,走过的痕迹,总让人无处可逃;不过有些时候,途经网络,遇见也许只是偶尔。

2005-08-11

继续处理打印问题

今天在物理连接的打印机上测试发现,连续打印并不会让程序失去响应。可是如果打印到虚拟的打印机上,程序还是会常常失去响应。另外把程序发给Tamara测试,发现不能打印。我和Qi Jin折腾半天才发现是由于windows下的command在转换目录时当前目录并不会随之切换:
C:\Documents and Settings\jia>;cd D:\Downloads

C:\Documents and Settings\jia>
就是这样一个很小而不起眼的问题费了两个小时的时间。MS在这点上跟linux相比实在太差了。

特殊的IP地址介绍(转载)

来源:中国协议分析网

就像我们每个人都有一个身份证号码一样,网络里的每台电脑(更确切地说,是每一个设备的网络接口)都有一个IP地址用于标示自己。我们可能都知道这些地址由四个字节组成,用点分十进制表示以及它们的A,B,C分类等,然而,在总数大约为四十多亿个可用IP地址里,你知道下面一些常见的有特殊意义地址吗?我们一起来看看吧:

Visitors, a fast web log analyzer

今天在网上发现一个快速处理web server日志文件的免费工具vistors。它与以前用过用perl写的开源软件awstats相比,没有那么强大,却比较安全。自己以前就因为awstats的漏洞吃过亏,web server被人hack过。

2005-08-10

文件系统术语

日志文件系统 (JFS) 提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。它具有可伸缩性和健壮性,与非日志文件系统相比,它的优点是其快速重启能力:JFS 能够在几秒或几分钟内就把文件系统恢复到一致状态。
虽然 JFS 主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,JFS 还可用于想得到高性能和可靠性的客户机配置。

vi常用命令

g/^M/s///g 去掉windows文件中行尾的 '^M' 字符

i:插入文字
a:在光标后面插入文字
o:新起一行
x:删除光标所在的字符
dd:删除整行
w:将光标置于文档开端
G:将光标置于文档结束
b:将光标置于当前词的开头
0(zero):将光标置于当前行的开头
$:将光标置于当前行的结束
G:将光标置于文档结束处
10G:将光标置于文档的第10行

ctrl+F:往前翻一屏
ctrl+B:往后翻一屏

/紧跟正则表达式
?紧跟正则表达式

d$: 删除从光标到当前行结束的字符
dG: 删除从光标到文档结束的字符

:进入扩展模式

:wq:存盘并退出vi
ZZ:

:1,$s/word1/word2/g 在全文中用word2替换word1
:1,$s/word1/word2/gc 在全文中用word2替换word1,要却确认

网络产品相关链接

硬件及系统基础:
Cisco各类线缆
http://www.cisco.com/univercd/cc/td...ing/cabling.htm

Cable Technology Technical Tips
http://www.cisco.com/warp/public/109

各种连接器:
http://www.hardwarebook.net/

WAN基础知识(包括FR、ATM、DDN等。中文版)
http://www.flamephoenix.net/network/index.htm

IOS 特性集向导 (Cisco IOS Feature Navigator)

http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp

网络配置工具:对产品做配置时用。使用这个工具,可以正确的对产品进行配置。
http://www.cisco.com/order/apollo/configureHome.html

2600/3600内存计算工具

http://www.cisco.com/cgi-bin/Suppor...ale/mem-calc.pl

对于模块化的路由器(3600以下)模块的查找工具(注册用户使用)
http://www.cisco.com/pcgi-bin/findermsbsearch.pl

网管应用程序与操作系统的兼容表

http://www.cisco.com/public/sw-center/oscopat.html

产品比较站点
http://www.cisco.com/pcgi-bin/front...meo/compaare.pl

产品技术手册,功能、性能、参数及配置方法
http://www.cisco.com/univercd/cc/td...oduct/index.htm

Cisco End of Life Products
http://www.cisco.com/warp/public/cc...kt/gen/prodlit/

软件BUG站点(注册用户使用)
http://www.cisco.com/support/bugtools/

网络产品软件下载:通过这个站点,可以得到所需要的软件版本(注册用户使用)
http://www.cisco.com/cgi-bin/ibld/all.pl?i=support&c=3

产品购买手册
http://www.cisco.com/univercd/cc/td/doc/pcat/index.htm

公开报价下载站点

http://www.ultratechnology.net/full...?s=&columnid=28
http://www.cisco.com/cgi-bin/order/pricing_root.pl(注册用户使用)

销售工具中心(Sales Tools Central Home)
http://www.cisco.com/go/tools
http://www.cisco.com/warp/public/779/smbiz/service/

服务类型的划分及描述
http://www.cisco.com/public/support_solutions.shtml

怎样申请得到CISCO的服务
http://www.cisco.com/public/scc/

注册CCO帐号
http://www.cisco.com/register/

服务定单合同中心(注册用户使用)
http://www.cisco.com/cgi-bin/front....e=ContractAgent

查定单状态(注册用户使用)
http://www.cisco.com/cgi-bin/order/assistant.cgi

查定单到货时间
http://www.cisco.com/cgi-bin/front.x/leadtimes.cgi

关于解决方案

针对各种不同规模和类型的网络/公司采取的不同的解决方案
http://www.cisco.com/kobayashi/Solutions_root.shtml

大企业解决方案
http://www.cisco.com/warp/public/779/largeent

中型企业解决方案
http://www.cisco.com/warp/public/779/smbiz/

电信解决方案
http://www.cisco.com/warp/pblic/779/servpro/

http://www.netcraftsmen.net/welcher/

Cisco公司RFCs,Standards站点(注册用户使用)
http://www.cisco.com/warp/customer/459/index.shtml

公司技术文档的主页
http://www.cisco.com/univercd/home/home.htm

技术支持网站(注册用户使用)
http://www.cisco.com/cgi-bin/Suppor...x.pl?i=Hardware

技术支持中心站点(注册用户使用)
http://www.cisco.com/cgi-bin/ibld/view.pl?i=support

Technical Documents (就是Documents光盘的内容)
http://www.cisco.com/univercd/home/home.htm

Bug 查询工具
http://www.cisco.com/cgi-bin/Support/Bugtool/home.pl

IOS 命令搜索工具(IOS Command Lookup Tool)

http://www.cisco.com/support/Cmdlookup/ios-search.html

IOS软件各种版本配置方法和命令
http://www.cisco.com/univercd/cc/td...tware/index.htm

技术要点
http://www.cisco.com/public/technotes/serv_trips.shtml

http://www.cisco.com/warp/public/77...chnologies.html

硬件技术要点
http://www.cisco.com/public/technot..._platform.shtml

网络设备配置案例:针对一些实际案例对网络设备进行配置

http://www.cisoc.com/warp/public/700/tech_configs.html
http://www.cisco.com/warp/public/79...dial/index.html
http://www.cisco.com/public/technot..._features.shtml

常用问题(注册用户使用)
http://www.cisco.com/openf/openproj.shtml

经常问到的技术问题站点
http://www.cisco.com/warp/public/458/index.shtml
http://www.cisco.com/public/products_tech.shtml

故障解决帮助
http://te.cisco.com/cgi-bin/webisapi.dll?New,KB=TE

培训和谁认证的相关知识
http://www.cisco.com/warp/public/10/wwtraining/

公司在线技术讨论会站点
http://webevents.broadcast.com/cisco/ciscolive/home.asp

网络概念和设计基础知识介绍
http://www.cisco.com/unviercd/cc/td...intwk/index.htm

http://www.cisco.com/public/products_tech.shtml

VOD培训
http://www.cisco.com/login/ciscotv/index.shtml

Cisco University—Training
http://www.cisco.com/warp/public/10/ciscou/

E-LEARNING(注册用户使用)
http://www.cisco.com/warp/customer/...ning/elearning/

国内Cisco站点
http://www.ultratechnology.net/
http://www.net130.com/
http://www.networkroad.com/
http://www.cncisco.com/

国内Cisco论坛
http://www.ultratechnology.net/forums/
http://www.ciscofan.com/
http://bbs.net130.com/

光盘刻录

昨天一个朋友向我借德文版的Office,找了半天都没有找到。后来才想起我借给别人了,可是怎么也不记得借给谁了。望着我柜子里的一大堆自己刻录的CD/DVD,细细一想,从2000年底开始自己确实刻录了不少盘了。那时自己只有一台sony的笔记本,仅有一个普通的光驱。刻录机价格比较贵,也远远不像今这么普及。

我还记得第一张盘是在系里的机房里刻的。那时系里的机房还在V楼,机房里一共有两台电脑装有刻录机,还都是SCSI接口的。记不太清自己刻录的第一张盘是什么了,大概是欧洲的routeplaner之类的。记得当时使用xcdroast程序来刻录,只是那时的版本还不支持mutli session。

打印功能存在的问题

我们实现的打印功能存在一个问题,第一次打印时正常,可是当第二次打印时,程序总是失去相应。查看windows的日志报告,发现问题与netevent.dll有关,总是得到System级别的错误:

Ein Treiberpaket, das vom E/A-Teilsystem empfangen wurde, war ungültig. Die Daten sind das Paket.
Ereigniskennung: 6004


查看微软的知识库,发现了这篇文章提到引起该问题多是因为网卡的MAC地址中存在非法字符,并且涉及到的操作系统为windows NT系列,windows XP根本不在列。看来我们这个问题毫不相干。

2005-08-09

升级DVD刻录机的Firmware

前两天帮Shi Peng刻两张China Woche录像的DVD时就遇到我的DVD刻录机(NEC DVD_RW ND-1300A)不能识别Shi Peng的两张DVD-R,昨天帮北外(BFSU)的校友Zhou Haixia刻她拍摄的照片和电影时又遇到同样的问题,Nero提示illegal disk。在网上google了一下,其他人也有同样的问题。大部分的原因都是Firmware的版本太低,只需更新Firmware即可。于是到Fujitsu Siemens Computers 站点下了一个新的版本1.43把原来的1.06替换掉,问题就解决了。

随机取出数据

在mySQL需要从数据库的某个表中随机地取出 1 行数据或者多行数据,比如在网站首页的有个小板块随机显示 10 篇文章,可以用这个 SQL 语句:


SELECT * FROM doc_content ORDER BY rand( ) LIMIT 10;


测试数据表明,当有大数据量时使用下面的SQL语句比直接用 RAND() 的效率要高:



2005-08-08

一个防火墙启动/停止脚本


#!/bin/bash
# An enhanced stateful firewall for a workstation, laptop or router that isn't
# running any network services like a web server, SMTP server, ftp server, etc.
#change this to the name of the interface that provides your "uplink"
#(connection to the Internet)
UPLINK="eth1"

2005-08-04

我的简历

Dingjun Jia

姓名:贾定军
年龄:28


现居住地址:


Universitätsring 8 App. 204 54296 Trier Germany


联络电话: 0049 176 2406 4442


电子邮件:Dingjun Jia's E-Mail



学习经历:
















1990.09 - 1996.07


中国四川省泸州市泸县六中

1996.09 - 2000.07


中国北京外国语大学德语系(本科)

2000.10 -


德国特里尔大学 - 计算机系(研究生)

工作/实习经历摘要:












































1999.07 - 1999.07


Praktikum im CYTS (China Youth Travel Service)

2000.04 - 2000.08


Sachbearbeiter am Goethe-Institut Peking China

2002.11 - 2002.02


Softwarepraktikum am Lehrstuhl vom Prof. Meinel

2002.03 - 2003.06


Praktikum bei Olk Touristik GmbH

2003.06 -


HiWi für Medienwissenschaft an der Uni Trier

2003.06 -


Systemadministrator der E-Learning Plattformen StudIP und Ilias an der Uni Trier

2003.11 - 2004.04


HiWi am Europäischen Tourismus Institut

2003.11 - 2004.08


Studienprojekt mit dem mikrobiologischen Institut an der Universitätsklinik Bonn

2004.05 -


HiWi am Kompetenzzentrum an der Uni Trier

2005.07 -


Sonderforschungsbereich 600: Fremdheit und Armut

爱好:
兵乓球, 电影
奖励:
2004年德意志学术交流中心优秀外国留学生

2005-08-03

QBE

Query by Example(QBE)是一些数据库系统提供的数据库查询语言。作为查询语言QBE较之SQL对用户更友好。QBE源于20世纪70年代,由IBM开发,后来成为DB2的一步分。QBE多提供图形化的查询界面,如MS的Access就使用QBE查询access数据库,大多数的QBE实现并没有完全实现“完整关系”(relationale Vollständigkeit)。

SQL与tupelorietierten Relationenkalkül关系更紧密,而QBE则是建立在relationaler Domänenkalkül的基础上。QBE中的变量总是以下划线开始以却别与其它的字符串,并且变量总是与某个属性的取值范围绑定。

JDBC 与 SQLJ

JDBC(Java Database Connectivity)和SQLJ都可用于Java编程时与数据库打交道。JDBC具有较好的灵活性,能都处理动态生成的SQL语句,但是缺少类型检查,当SQL表达式有错误时,在执行时才能被发现和捕捉到。而SQLJ虽然灵活性较差,但在编译阶段就会检查SQL表达式的语法是否有错。SQLJ会在编译时就优化SQL查询,而JDBC中只有使用PreparedStatements语句才能达到。

以下是一个SQLJ的一个例子:

2005-08-02

SQL中的null值

null是一种特殊的值,存在与SQL中的各种数据类型中。当算术表达式中有一个参与运算的值为null时,则整个算术表达式的值为null。SQL的逻辑表达式的取值有三种:true,false和unkown。当参与比较的算子有取值为null时,则返回unkown值。当where条件返回的值为unkown时,这样的Tupel是不会计入SQL运算结果的。

2005-07-31

使用正则表达式

作者:吕晓波

如果我们问那些UNIX系统的爱好者他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八九的人会提到正则表达式;如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还会是正则表达式。那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文将就此展开介绍,希望能够对那些渴望了解和掌握正则表达式的读者有所助益。

正则表达式基础

正则表达式对于处理文本非常有用,下文供随时翻查。

一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'n' 匹配一个换行符。序列 '\' 匹配 "" 而 "(" 则匹配 "("。

TOP BOOKS THAT EVERY ADMIN SHOULD HAVE

Quelle:http://www.ugu.com/sui/ugu/show?help.beginners
UNIX System Administration Handbook
UNIX Hints and Hacks
Managing Nfs and Nis
Dns and Bind

基本实现打印功能

原来打算把text widget的内容转换成ps文件的想法没有实现,而是实现了把要打印的内容转换成了HTML文件。主要工作是修改了edit.tcl文件。在edittcl.tcl文件中有个函数savetext函数,用于把text wigdet的内容以XML的格式写到数据库里。Qi Jin实现了saveText {wtxt txtBegin txtEnd}这个函数,以生成一个HTML文件,然后把这个文件复制到windows临时目录下,再调用MSHTML.dll这个文件的printHTML这个函数把那个HTML文件送到打印机,调出打印对话框。

@echo off
cd ./tmp
copy /Y test.htm %tmp%test.htm
rundll32.exe MSHTML.DLL,PrintHTML "%tmp%test.htm"
del test.htm
del %tmp%test.htm

为论坛添加新的表情符号

今天在星宿论坛发现有很多可爱的表情符号,便想把它们添加我们的论坛上。在网上搜索了一番表情符号下载,发现大部分都是有关MSN的表情符号,而phpbb本身提供的一些表情符号又不是很好看,只能自己动手做了。

2005-07-30

Stichwörter zur Vorlesung "XML"

Um sich auf die Diplomprüfung vorzubereiten schreibe ich hier wichtige Stichwörter zur Vorlesung XML im Sommersemester 2005 auf.


allgemein:



Grundgedanke hinter XML ist es, Daten und ihre Repräsentation zu trennen. XML ist nun ein Standard zur Erstellung strukturierter, maschinen- und menschenlesbarer Dateien, und definiert den grundsätzlichen Aufbau solcher Dateien. XML ist damit ein Standard zur Definition von beliebigen, in ihrer Grundstruktur jedoch stark verwandter Auszeichnungssprachen.

2005-07-29

SkypeOut 服务一周年了

SkypeOut开通一周年了。在庆祝SkypeOut生日的同时,又有6个国家和地区被列入了Skype Global Rate的名单,包括China, Greece, Taiwan, Hong Kong, Poland and Switzerland。这样打往中国的电话每分钟的价格就为0.017欧元/每分钟,折合人民币也就2角钱左右。这对于国际长途来说,价格确实很便宜,并且skype提供的通话质量不错,还从来没遇到过以前用各种电话卡时拨打N次接入号都无法接通或者拨通后通话颤颤悠悠的情况。

不过察看skype 的关于skype glaobal rate的网页发现在中国的后面有括号,仅包括几个大的城市北京,广州,上海,深圳(China (Beijing, Guanzhou, Shanghai, Shenzhen), China (Mobile),),推测是不是只有往这几个城市的通话才按照Skype Global Rate计费。

2005-07-28

Drucken unter Konsole

Drücken Sie auf "Start=>Ausführen" und führen
die Befehlzeile für Ihre Aufgabe ein:



  • PDF-Datei

    • Wenn Sie Acrobat Reader haben:
      AcroRd32.exe /p /h C:My DocumentsPDFfilename.pdf


    • Wenn Sie Acrobat Writer haben:
      Acrobat.exe /p /h C:My DocumentsPDFfilename.pdf




  • Text-Datei
    notepad.exe /p C:My DocumentsRTFfilename.txt


  • RTF-Datei
    WORDPAD.EXE /p C:My DocumentsRTFfilename.rtf


  • MS Outlook-Datei
    OUTLOOK.EXE /p C:My DocumentsOUTLOOKfilename.msg


  • MS Visio-Datei
    visio.exe /pt C:My DocumentsVisiofilename.vsd
    Universal Document Converter


  • HTM- oder HTML-Datei
    rundll32.exe MSHTML.DLL,PrintHTML C:My
    DocumentsHTMfilename.htm


  • URL-Datei (z.B. aus dem Favoriten-Ordner)
    rundll32.exe MSHTML.DLL,PrintHTML C:My
    DocumentsFavoritesfilename.url


  • Schriftdatei
    fontview.exe /p Arial.ttf

  • MS Powerpoint-Datei
    POWERPNT.EXE -p C:My DocumentsPresentationsfilename.ppt



2005-07-25

学习XSLT

XSLT是用于将XML文档转换为其他格式的文档或另外的XML文档的一种编程语言,计算能力与图灵机等价(Turing Completeness )。运用XSLT可以把XML文档转换为XML,HTML,XHTML,WML,RTF等等。

XSLT文件本身符合XML规范,包括多个templates。templates在源文档为基础查找匹配的机构已根据规则生成新的文档,在源文档中定位则采用W3C的XPath标准。

2005-07-20

change password

记得以前为Linux用户帐户和Samba用户帐户同步的问题曾在论坛问过,没有得到有效的解决办法,后来在sourceforge找到changepassword这个小程序可以实现两个账户同步。试用后很方便,只是要注意安全性使用加密的传输。

Requirements

To use changepassword you will need to have:

开始使用GMail Drive

nu01上那块硬盘坏了提醒我数据要注意备份了。可是我那块250G的硬盘要全部备份不再花点银子添置块新的硬盘是不可能的了。我想那些在网上下载的那些大个头文件,如ISO文件,丢失了倒不是很要紧,因为通常还可以从网上重新下载,倒是那些自己的写的东西和邮件和长时间积累的小东西,小文章丢了让人有些心痛。于是考虑用上很早以前就看到过的GMail Drive,以存放小文档。

2005-07-19

das relationale Modell

Stichpunkte zur Wiederholung der Datenbankvorlesung

zwei formalen Sprachen für Anfrageformulierung in relationalen Datenbanken

  • die relationale Algebra

  • der Relationskalkül


Die beiden bilden theoretische Grundlage für SQL-Sprache.

Operatoren der relationale Algebra:
Selektion
Projektion

Apache Toolbox

Apache Toolbox, ein kleines Programm für schnelle Installtion von LAMP, sehr praktisch.

  • Apache Toolbox provides a means to easily compile Apache with SSL, PHP+mhash+mcrypt+MySQL+Postgres, ZendOptimizer, mod_auth_nds, mod_dynvhost, mod_layout, WebDAV, mod_fastcgi, mod_gzip, mod_throttle, mod_accessref, mod_roaming, mod_auth_sys, mod_bandwidth, mod_auth_ldap, mod_perl, openldap, and the latest gd libraries with PNG support.

  • It is fully customizable and menu driven. Everything is compiled from source.

  • It checks for RPMs that might cause problems and uses wget to automatically download the source if it's missing.

Apache模块 mod_rewrite[转]

作者:honest Qiao


mod_rewrite模块提供了一个基于规则的(使用正则表达式分析器的)实时转向URL请求的引擎。支持每个规则可以拥有不限数量的规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以取决于各种测试,比如服务器变量、环境变量、HTTP头、时间标记, 甚至各种格式的用于匹配URL组成部分的查找数据库。


mod_rewrite模块可以操作URL的所有部分(包括路径信息部分), 在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效, 还可以生成最终请求串。此重写操作的结果可以是内部子处理,也可以是外部请求的转向, 甚至还可以是内部代理处理。


但是,所有这些功能和灵活性带来一个问题,那就是复杂性, 因此,不要指望一天之内就能看懂整个模块。


2005-07-18

改变不同目录/虚拟主机下php的配置

问题:
在Apache下,如果要使某个特定目录不支持php脚本,怎么做?

解答:
当以 Apache 的模块方式运行 PHP 时,也可以通过 Apache 的配置文件(例如 httpd.conf)和 .htaccess 文件中的指令来修改 PHP 的配置选项(需要“AllowOverride Options”或“AllowOverride All”权限)。

在httpd.conf文件里有关在该目录的设定里加上
"php_admin_flag engine off" (〉PHP4)

MySQL Query Cache

作者:邓铠剑
出处:http://weblog.mywww.biz/arnold/index.php?itemid=46&catid=6
参考:MySQL Manual

今天下载了 MySQL 4.1.12 ,准备为升级网站的数据库,MySQL 4.0.1 版本开始支持查询缓存技术,今天针对查询缓存进行了一些了解。 MySQL 4.0.1 版本开始支持查询缓存技术,今天针对查询缓存进行了一些了解。

查询缓存会存储一个 SELECT 查询的文本与被传送到客户端的相应结果。如果之后接收到一个同样的查询,服务器将从查询缓存中检索结果,而不是再次分析和执行这个同样的查询。

注意:
1、查询缓存绝不返回过期数据。当数据被修改后,在查询缓存中的任何相关词条均被转储清除。
2、查询在分析之前先被比较,因而 SELECT * FROM tbl_name 和 Select * from tbl_name对于查询缓存被当作是不同的查询,因而查询需要严格的一致(字节对字节的),才会被认为是同样的。另外,如果一个客户端使用一个新的连接协议格式或不同于其它客户端的另一个字符集,一个查询将被视为不同的。

2005-07-17

修改MBT插件二级子菜单字体颜色

我在帮citi作网页时采用了 MBT Trans Menu V1.0这个插件以实现类似Flash的菜单效果。安装完毕后添加几个主菜单和二级菜单,发现主菜单的颜色搭配没有问题,而是第二级菜单的颜色就比较糟糕了。底色为深红色,字的颜色却为浅灰色,显得很不明显。察看源代码,发现第二级菜单的代码都是在java scrip里实现的,没有专门的CSS的类来定义文字的显示。

小心各种银行邮件(phishing mail)

昨天guka告诉我,最近频繁收各种银行的邮件,要求填写各种表单。上星期她还因为一封声称来自Deusche Bank填写了10个没有用过的10个TAN。我一听大呼:上当了。赶紧把整个TAN block给禁用了,并告诉她,不要相信网上任何声称银行的各种邮件,全部都是陷阱。

转摘一则有关的新闻:
Obwohl Softwareanbieter, Internet-Provider und Anwender in den vergangenen zwei Jahren den Kampf gegen die Spammer verstärkt haben, ist ein Allheilmittel nicht in Sicht. Im Gegenteil: Durch die zunehmende Kooperation der Spammer mit Kriminellen hat sich ein zusätzliches Gefahrenpotenzial ergeben.

2005-07-16

nu01的硬盘坏了

前天就在家发现尽管能ping通nu01,但是不能登陆了。昨天去办公室重新启动,硬盘发出嘎吱嘎吱的响声,操作系统怎么都没法加载起来了。这块IBM的Deskstar型号为DTLA-307045 ATA/IDE容量为46.1GB,上面有我保存的好多0day的软件和电子书籍以及大量的音乐专辑,看样子是怎么也找不回来了。:(
备份啊,备份!!!

A tcl extension ezprint

在tcl的wikiprinting under windows一节看到ezprint这个扩展。
ezprint是一个用于在windows(Windows NT/2000/XP)下支持打印功能的扩展。它可以获得当前安装的打印机列表和默认打印机并把文件以raw data的格式发送给本地和网络打印机。

在.htaccess里关掉php的出错信息

用Mambo这个CMS帮C.i.T.i做了个网页,其中使用了event这个扩展插件。这个插件当前版本为1.2,当以事件类型来查看日历时会在页面底部显示有个变量没有定义的错误:

Notice: Undefined variable: year in /srv/www/iz/components/com_events/events.php on line 1153

但这并不影响这个插件的使用,我等着作者自己去修正这个错误吧,在.htaccess文件里填上了这样一行:

php_value display_errors off

关掉了错误显示,姑且算问题“解决”了。:)

2005-07-15

使用publickey based authentication的注意事项

前两天一直很郁闷,在同一台主机上的两个账户,一个能使用publickey based authentication方式登陆,另一个却死活都不能,在论坛求助没有得到解答。后来在网上才看到:

另外有一點要注意的是,使用者的 $HOME 目錄不可以有非本身的 w 權限,否則 ssh 伺服器將禁止該使用者進行 RSA authentication。所以 $HOME 目錄的權限不可以高於 755。

缩写

今天给我们系里的linux user group 发了个mail,问关于iz账户不能直接登陆的问题,一位叫Nik的朋友回信说public key应该放到authorized_keys2这个文件里,而不是authorized_keys。实验了一下还是不行。

另外他还在mail里用到了看来是很常用的缩写AFAIK, as far as i know。我刚开始还不明白,问了一下Kai才知道,觉得有点不好意思。看来英语离实际运用还差很远啊。

要查找更多的缩写去这个网页看看http://www.acronymfinder.com/

2005-07-14

第一个任务:打印

我和一个朋友共同参与SFB 600的tcl编程工作。我们的第一个任务是在现有的程序基础上添加打印功能,能打印文字和图表和表格。
我们的想法是把当前显示的内容转换为postscript文件,然后把这个临时生成的ps文件送到打印机。
TK的canvas有个命令选项是postscript可以把当前显示的内容dump成一个文件,发送到打印机可以用windows自带的lpr命令。

tcl下加载dll文件失败

我在一个小脚本里使用load语句加载了mysqltcl.dll这个文件,可是总是抱错,说找不到这个文件,反复检查了文件的位置确认无误后仍然报同样的错,后来问Thomas才知道,并不是因为文件的位置不对找不到,而是因为tcl的interpreter无法正确识别那个dll文件而无法加载。这通常是因为编译的那个dll文件仅仅适合某些低版本的interpreter引起的。换了另外一台机器上的tcl版本一试,果然就没问题了。不过那条出错提示对于tcl的新手来说可算不得友好。

限定一个用户执行特定命令

约束你的shell:
当带-r选项作为你登录的shell时,这个用户的shell是被约束的!,当约束shell时,你不能用cd命令,而且你不能修改或复位SHELL,ENV,PATH等变量,任何重定向的操作被视为非法,不能用set来复位或置位该选项!
基于此,那么我就可以这样限定一个用户:
1,在/etc/passwd中将用户abc的登录shell改成:
abc:x:501:501::/home/abc:/bin/bash -r
2,将此用户的.bash_profile文件中PATH指定一个工作目录:
export PATH=$:~/mybin
3,将用户abc只能执行的几个常用命令,如ls等,cp到此目录,
cp /bin/ls /home/abc/mybin #ln也可
4,完成设定好之后,这个用户abc登录后他就只能运行ls了

2005-07-13

中国古代时空观在古代文学品中的表现

今天听了汉学系邀请武汉大学文学院院长作的报告“中国时空观在古代文学品中的表现”,报告语言为汉语。报告者为了照顾不少德国同学,讲的那个叫慢啊。不过这是很佩服旁边作现场口译的Dr. Liu,德语选词造句没得说,连德国人都感叹他的德语比他们德国人还说得好。

报告者在报告中提到了这首著名的诗歌。以前仅仅知道其中几句,现在从网上找来,好好通读一下。

Airbus A380

Wahnsinn!
晚上吃饭时随手打开电视,一看正播放欧洲各国领导人齐聚西班牙的Toulouse,庆祝最初始于1996年的A380项目顺利完工。空中客车的最新款A380是由德国,法国,英国,意大利,西班牙多国共同参与的项目。在欧洲一共有22所大学参与了部分项目任务的。这是迄今为止最大的空中交通工具,重达500吨,与400辆VW汽车相当,最多可承载800人,有17个厕所和5个厨房,豪华舒适的休闲室和数不清让人惊讶的设备。这不得不让人敬佩工程师的劳动和感叹技术的进步让许多不可思议的东西成为现实。据说,运行A380要比竞争对手波音飞机的机型节省20%。

后来上网一查才知道,这不是直播,而是播放的实况录像。

openssl简介--加密算法

发信站:BBS水木清华站(Fri Nov1020:24:102000)
引用请指明原作/译者fordesign@21cn.com

一加密算法的一些常识

要理解ssl先要知道一些加密算法的常识。

加密算法很容易理解,就是把明文变成人家看不懂的东西,然后送给自己想要的送到的地方,接收方用配套的解密算法又把密文解开成明文,这样就不怕在路上如果密文给人家截获而泄密。

加密算法有俩大类,第一种是不基于KEY的。举个简单的例子,我要加密"fordesign"这么一串字符,就把每个字符都变成它的后一个字符,那么就是 "gpseftjhm"了,这样的东西人家当然看不明白,接收方用相反的方法就可以得到原文。当然这只是个例子,现在应该没人用这么搞笑的加密算法了吧。

openssl简介- 指令介绍2

openssl简介-指令gendsa

用法:
openssl gendsa [-out filename] [-des] [-des3] [-idea] [-rand file(s)] [paramfile]

描述:
本指令由DSA参数来产生DSA的一对密钥。dsa参数可以用dsaparam来产生。

OPTIONS
-des|-des3|-idea
采用什么加密算法来加密我们的密钥。一般会要你输入保护密码。
如果这三个中一个也没set, 我们的密钥将不被加密而输入。
-rand file(s)
产生key的时候用过seed的文件,可以把多个文件用冒号分开一起做seed.
paramfile
指定使用的DSA参数文件。

openssl简介- 指令介绍

指令 verify
用法:

openssl verify [-CApath directory] [-CAfile file] [-purpose purpose] [-untrusted file] [-help] [-issuer_checks] [-verbose] [-certificates]

说明:
证书验证工具。

openssl简介-入门

实现了SSL的软件不多,但都蛮优秀的。首先,netscape自己提出来的概念,当然自己会实现一套了。netscape的技术蛮优秀的,不过我没用过他们的ssl-toolkit,甚至连名字都没搞清楚。

1995年,eric.young开始开发openssl, 那时候叫ssleay。一直到现在,openssl还在不停的修改和新版本的发行之中。openssl真够大的,我真佩服eric的水平和兴趣。这些 open/free的斗士的精神是我写这个系列的主要动力,虽然写的挺烦的。

ps: eric现在去了RSA公司做,做了一个叫SSL-C的toolkit, 其实和openssl差不多。估计应该比openssl稳定,区别是这个是要银子的,而且几乎所有低层的函数都不提供直接调用了。那多没意思。

openssl简介--证书

发信站:BBS水木清华站(FriNov1020:29:28 2000)
引用请指明原作译者fordesign@21cn.com

证书就是数字化的文件,里面有一个实体(网站,个人等)的公共密钥和其他的属性,如名称等。该公共密钥只属于某一个特定的实体,它的作用是防止一个实体假装成另外一个实体。

证书用来保证不对称加密算法的合理性。想想吧,如果没有证书记录,那么假设某俩人A与B的通话过程如下:

这里假设A的public key是K1,private key是K2,B的public key是K3,private key是K4

xxxxxx(kn)表示用kn加密过的一段文字xxxxxx

A-----〉hello(plaintext)-------------〉B
A〈---------hello(plaintext)〈---------B
A〈---------Bspublickey〈------------B
A---------〉spublickey(K1)--------〉B
......

openssl简介--协议

发信站:BBS水木清华站(FriNov1020:30:492000)
引用请指明原作/译者fordesign@21cn.com

SSL(Secure Socket Layer)是Netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版。TLS (Transport Layer Security)是IETF的TLS工作组在SSL3.0基础之上提出的安全通信标准,目前版本是1.0,即 RFC2246。SSL/TLS提供的安全机制可以保证应用层数据在互联网络传输不被监听。伪造和窜改。

一般情况下的网络协议应用中,数据在机器中经过简单的由上到下的几次包装,就进入网络,如果这些包被截获的话,那么可以很容易的根据网络协议得到里面的数据。由网络监听工具可以很容易的做到这一点。

2005-07-10

Tipp beim cvs import

今天为SFB 600项目的文章编辑系统新建了一个repository,在导入时遇到错误:
cvs [import aborted]: attempt to import the repository
在网上一查才知道,在导入时,当前的工作目录不能为CVSROOT所在的目录。把文件复制到其它目录下在导入就没问题了。
cvs import -m "FuD fuer SFB600" FuD kz v_021

2005-07-08

phpMyadmin的cookie验证方式

今天晚上升级了一下phpMyadmin,在config.ini.php文件里填写好主机名,端口号,并把原来的验证方式由config改为cookie,这样更安全些。可是在用IE打开时却无法再登入,总是提示密码错误。我想这应该是cookie引起的。因为在新的配置文件里我给$cfg['blowfish_secret'] 这个变量另外赋了一个与原来配置文件不同的值,而这个值用于加密用户密码。在firefox的个人设置里删除了相关的cookie后就能登陆了,找到IE存放cookie的目录,删除了那些跟phpmyadmin有关的cookie后,还是不能登陆。

2005-07-07

解决RSS feed失败的问题

RSS 2.0 Feed总是失败,查看浏览器里生成代码发现有一行为:
?/copyright>
这使得XML文档的标签没有正常关闭而导致错误。在nucleus的源代码里查找半天都没有结果,后来在mySQL里查找关键词“langugae”(因为这个词在源代码里也拼写错误了,感谢这个拼写错误)才找到原来是在一个模板里定义这些内容。去掉
?/copyright>这行后,问题马上就解决了!

PHP安全配置[转载]

出处:安全焦点
原文地址:http://www.cert.org.cn/articles/tabloid/common/2003081420955.shtml

一、Web服务器安全


PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安
全又必须是先保证系统安全,这样就扯远了,无穷无尽。PHP可以和各种Web服务器结合,这里也只讨论Apache。非常建议以chroot方式安装启动
Apache,这样即使Apache和PHP及其脚本出现漏洞,受影响的也只有这个禁锢的系统,不会危害实际系统。

谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词[转]

这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:


2005-07-06

转换Blog编码

因为我的Blog里有汉语和德语,所以原来的gb2312编码显然不合适。另外,以前就发现使用RSS同步出现的都是乱码,所以下定决心要把编码的问题解决。

升级到 nucleus 3.2

今天晚上抽空把nucleus更新到3.21版本,更新办法参见此处。另外还新增加了一个名为captcha 的插件,生成随机的字符,以防止垃圾评论。除此之外,还更换了我的Blog的皮肤,换上了名为laila的skin。由于这个skin是从MT转换过来,所以明显带有MT的风格,不过感觉还是很漂亮的。

2005-07-04

常见的检测客户端输入的函数

原作: Er@ser@CCF



// Function Name: trim
// Function Description: 去除字符串的首尾的空格
// Creation Date: 2004-7-13 15:30
// Last Modify By: N/A
// Last Modify Date: N/A
String.prototype.trim=function(){
return this.replace(/(^s*)|(s*$)/g, "");
}

.bashrc 文件

系里机房里的机器安装的是Debian,用户默认的Shell是tch。由于没有历史功能,所以我把自己的默认Shell改为了bash,并在.bashrc文件里重新定义了ls命令的别名。可是发现当每次登录进入时,系统总是找不到自己定义的别名命令,得执行source .bashrc后才能使用自定义的别名。

察看了一下man手册,才知道在Login时是不会执行.bashrc的,而是执行.bash_profile。在O'reilly的"Learning Debian GNU/Linux"书中解释如下:
/etc/profile: Executed when the user logs in
~/.profile: Executed when the user logs in
~/.bashrc: Executed when BASH is launched
~/.bash_logout: Executed when the user logs out

我在我的home目录下生成了.bash_profile文件并包含了:
#!/bin/bash
source .bashrc

问题解决了!

2005-07-03

常用音乐术语

套曲Cycle
一种由多乐章组合而成的大型器乐曲或声乐器

组曲Suite
由几个具有相对独立性的器乐曲组成的乐曲

奏鸣曲Sonata
指类似组曲的器乐合奏套曲.自海顿.莫扎特以后,其指由3-4个乐章组成的器乐独奏套曲(钢琴奏鸣曲)或独奏乐器与钢琴合奏的器乐曲(小提琴奏鸣曲)

交响曲symphony
大型管弦乐套曲,通常含四个乐章.其乐章结构与独奏的奏鸣曲相同

音乐格式一览

经典的WAVE
WAVE文件作为最经典的Windows多媒体音频格式,应用非常广泛,它使用三个参数来表示声音:采样位数、采样频率和声道数。
声道有单声道和立体声之分,采样频率一般有11025Hz(11kHz)、22050Hz(22kHz)和44100Hz(44kHz)三种。WAVE文件所占容量=(采样频率×采样位数×声道)×时间/8(1字节=8bit)。

传统的MOD
MOD是一种类似波表的音乐格式,但它的结构却类似 MIDI,使用真实采样,体积很小,在以前的DOS年代,MOD经常被作为游戏的背景音乐。现在的MOD可以包含很多音轨,而且格式众多,如S3M、NST、669、MTM、XM、IT、XT和RT等。

音乐流派简介[转]

转自:ChinaUnix.net 论坛音乐版块
一直思考的问题是
我们应当以怎样的姿态审视音乐
如果
Rock&Roll是激进与力量
Pop是温暖
Classic是内敛与绽放
Jazz是苦难与抗争
如果
音乐是生命的历练
那么
我们愿意以尽可能客观的目光
去触摸音乐
放弃所有刻薄的言语
回到最初的宽容

2005-07-02

Wikipedia erhält Grimme Online Award und Publikumspreis

Quelle: http://www.sueddeutsche.de/

Die Internetseite "Wikipedia - Die freie Enzyklopädie" ist beim Grimme Online Award 2005 in Bensberg bei Köln gleich mit zwei Preisen ausgezeichnet worden. Das Wissensnetzwerk erhielt "als herausragendes Beispiel kollaborativer Nutzung des Internet" den Preis des Adolf Grimme Instituts in der Kategorie Wissen und Bildung

Voices From Paradise II

声音是一种激情的、戏剧性的……充满生命力的乐器。

而优美的女声则是这其中最叫人动容的乐音。

当声音在乐器上描摹,顺着琴音流泄而过,

或与大自然的天音相和鸣,无疑都是整首乐曲的灵魂。

一张可以任你驰骋、想像的文学音乐,轻轻地敲开通往你心底的门扉。

没有歌词的演唱技巧,抑扬顿挫、格律分明……

女声吟唱有种特别的声音表情和质地,

很柔媚、很感性、也很优雅,像一个透蓝深遂的梦境。

NEW AGE名家简介

【班得瑞】

被称为世界花园的瑞士,宛如是造物者从地球彼端分别出来,用以向世人揭示仙境的风光。那几乎象是童话中的一草一木、一景一物,围圈着人间难得纯粹的圣地。从瑞士的大地怀抱里,孕生出BANDARI这个梦幻的抒情演奏乐团。将属于瑞士的湖光山色,在音乐中予以唯美地具象。每一个音符,都代表层层压缩到内心里的感动、诚恳、温情地。虽然听似天籁般遥远,却点点滴滴敲着心门。就象久违的老朋友,仅隔一壶茶,交换着你的故事和他的故事。奇妙的是,在你们之间几乎没有语言的隔阂和桥梁,有时连音乐本身,也经常被遗忘在你们心的共鸣背后。当演奏声响起,四下空间里便随着你的心事起伏微妙的变化,空气变轻了,往事变近了。长久贴在心上的埋怨如今变得连自己也讥笑了,BANDARI的音乐具有为心灵洗涤灰尘,为暗夜点亮灯光,那能量化身为钻石颗粒状的瑞士阳光,夹带着一段段精致堆叠的乐句,不断撞击沉寂已久的灵性。于是你能重新完成更多生命所交付的课题,在处身周围搭建起你自己的仙境。

BANDARI是由一群年轻作曲家,演奏家,音源采集工程师组成的[BANDARI]乐团,在瑞士发迹,于1990年红遍欧洲,乐团的灵魂人物奥利弗·史瓦兹在德国便是一位多才多羹的音乐人,入乎所有音架领域都看得到他的足迹。但终生挚爱新世纪音乐的他,选择了贡献一身才华的目的地— [BANDARI]音乐了采集真实的自然界音效,上山下海,甚至露宿山林,对[BANDARI] 来说是家常便饭,团员们坚信,唯有瑞士才是[BANDARI]音乐的最佳注脚,而来自大自然的创作灵感也是最具临场感动的。[BANDARI]的音乐不只是悦耳好听,同时是最纯净,最一尘不染的新世纪音乐典范。

【雅尼 Yanni 】

人们把雅尼(Yanni)称作是一个用音乐讲述生活的人。从他的身上可以感到古老希腊的浪漫诗意与年轻美国的奔放现代的融合。Yanni 的作品将高雅的古典交响乐与绚丽的现代电声乐巧妙地结合起来。他曾说过:“我的目标是用感情与人们沟通,我捕捉到了生活的感受并把它溶于音乐之中,音乐将会给听众带来希望的撞击。”

Yanni出生在希腊南部的一个海滨小镇。少时因为家境不好,无法受到正规有序的音乐教育,但这并不能抑制他与生俱来的音乐天赋的成长。他可以不需要任何谱子而仅凭超人的记忆,准确地记下听过的任何音乐中的每一个音符。

雅尼曾为许多广告、电视片制作配乐(完美的爱人)《I Love You Perfect》是1989年美国电视网电视长片,雅尼承袭他一贯的清新风格,为整部电视片营造出浪漫动人,宽阔自由又略带伤感的乐风,完美呈现出剧情的情境转折及剧中人物的悲喜心绪。他擅长用电子合成技术将古典音乐以现代人的视角做重新诠释。在繁忙喧闹的快节奏生活之中,偷得半日闲来聆听Yanni的音乐, 也许可以找寻到一份久违了的轻松和休闲。作为一个拥有独特创作方式的音乐人,Yanni 不愿被纳入任何流派,他独创着一般魅力独具的音乐潮流。

【神秘园】

Rolf Lovland(罗尔夫. 劳弗兰):出生于挪威南部的Kristiansand。他9岁时就组建了乐队,并开始尝试作曲。他是乐队的作曲、制作人和键盘手。

Fionnuala Sherry(菲奥诺拉. 雪莉):出生于爱尔兰Kildare的小镇Naas。她成长于一个音乐家庭,很小就开始学习音乐。她是乐队的小提琴手。

神秘园是一支著名的新世纪音乐风格的乐队,它由挪威作曲家兼键盘手罗尔夫. 劳弗兰和爱尔兰女小提琴手菲奥诺拉. 雪莉组成。1994年,他们在欧洲歌唱大赛中初次相遇,那时劳弗兰已是知名的词曲作家,由于对音乐有着难以想象的相同的理解,他们走到了一起。1995年,他们的探路之作《夜曲》一举夺得欧洲歌唱大赛冠军。1996年4月推出首张专辑《来自神秘园的歌》大获成功,影响遍及世界各地,目前乐队已出版了三张专辑。乐队的主要风格是溶合了爱尔兰空灵飘渺的乐风,挪威民族音乐及古典音乐,乐曲恬静深远,自然流畅,使人不知不觉便已溶入其中。除了劳弗兰极具想象力的作曲和编曲,雪莉灵气十足的小提琴演奏也是十分值得一提,在成立乐队之前,雪莉还曾为爱尔兰著名歌手谢妮.奥康娜和范.莫尼森的专辑作过伴奏。 他们合作创造的新世纪音乐(New Age Music),为苦闷的人生带来希望,填补了空虚的心灵。以该曲为主打曲灌成的第一张CD令人耳目一新,也赋予新世纪音乐持久的生命力。以往,新世纪音乐多是昙花一现,但这张CD竟能长期留在CD排行榜上,面世一年多,就卖了近七十万张;跟着第二张CD也同样受欢迎,不仅获得欧美乐迷好评,中国的乐迷对他们的音乐更为喜爱,在上海和北京的演出,反应之热烈比得上天皇巨星。

【Bella Sonus 扑朔迷离的迷魂之乐】

Bella Sonus是由键盘手Robert Smith以及吉他手Angel Suarez于2000年所组成的二人电子音乐组合。 生于1959.4.21的Robert Smith曾经自组过摇滚乐队,也曾出过个人摇滚专辑。而Angel Suarez则是一位娴熟的Flamenco(法兰明高)吉他手。两人的合作令其音乐创作虽然脱胎于Enigma,却又融合了摇滚的激烈与法兰明高的浪漫,拥有自己的发挥和特色。他们在电子合成器的技巧方面丝毫不逊色与许多 名家大师。尤其是Robert Smith出色的录音混音技术,使他们的音乐在人声处理上与Enigma各擅胜场。倘若你喜欢Enigma或者Deep Forest,你一定也会喜欢这支新兴的电音乐队。

【Bond 古典辣妹】

“她们是音乐的精灵!她们是世界上最杰出的女子弦乐四重奏!”一位纽约资深音乐评论家由衷感叹。她们就是“Bond 古典辣妹”。

“Bond 古典辣妹”是由第一小提琴Haylie Ecker、第二小提琴Eos、中提琴Tania Davis与大提琴Gay-Yee Westerhoff,四个来自澳大利亚和英国的女孩们组成。她们美丽、性感、前卫,最重要的是他们秉异超人的音乐天赋和自由不羁的精神。在乐队成立之时,这四个精灵就决定扬弃一贯以来的古典音乐结构,而将古典音乐其深远的底蕴与世界各地多种多样的音乐元素及现代的数码编曲技术完美的融合在自己的创作中。无论是加勒比海的拉丁音乐,还是伦敦街头的电子曲风,无论是土著风格,还是东欧民谣,在她们的原创作品中都成了闪耀着生命跳跃的灵性,以及让每一个人情不自禁随之舞动的无形力量!

在很短的时间里,他们不但横扫世界各国流行乐的各大奖项,包括在英国获得四项金奖及美国纽约排行榜的第一名,而且在每一个举行音乐会的地方,都掀起人们的狂热反响。就在今年一年的时间里,她们就在土耳其、荷兰、法国、美国等许多国家进行了非常成功的巡回演出。当他们在纽约时代广场演奏成名曲Victory时,立刻成为全城焦点,所有的人从四周的摩天大厦里、脚手架上、来回穿梭的出租车里一起欣赏她们的音乐。

看过“古典辣妹”演出现场的人,很容易通过现场激情四溢的热烈气氛,把她们和曾经风靡中国的另一位“黑发辣妹”陈美联系起来。其实,她们的经理人梅尔·布什,此前正是陈美的经纪人,她们也正是梅尔·布什和陈美不欢而散后的“换代产品”。也许,当时梅尔·布什只是想跟陈美赌一口气,但是,这却无意中成全了四个有着远大理想的美少女。

在梅尔·布什的调教和环球唱片公司重金打造下,“古典辣妹”一鸣惊人。2000年10月用100万英镑制作的处女唱片《诞生》,将古典风格、东方民谣、劲舞和摇滚结合起来。强劲的节奏、眼花缭乱的炫技、如梦如幻的电声伴奏,令无数年轻人如醉如痴。出色的音乐才华甚至使她们的专辑一度同时登上古典与流行的排行榜。但是仅仅靠唱片是远远无法使古典辣妹赢得如此魅力的,性感夸张的形象加上令人疯狂和窒息的现场演出,是她们的另一大法宝。

【Suzanne Ciani 苏珊·希雅妮】

苏珊在1982年发行她的个人首张专辑「爱欲之潮」(Seven Waves)。至今已拥有十张的个人演奏专辑、个人激光视盘、CF及电视配乐、乐谱册,并获得四次葛莱美奖提名,同时更是Billboard排行榜上「新世纪音乐」(New Age)的常胜军。

这些荣誉无法完全代表聆听苏珊·希雅妮音乐的感动。苏珊的音乐创作融合了古典的技巧,并以现代钢琴的表现诠释出简单、轻盈的音乐空间感,彷佛跟大自然合为一气,无限延伸人类的感性想象。

早期苏珊的创作有着浓郁的电子风格,除了因为她曾与电子合成乐的开山祖师Don Buchla工作外,她并为自己设计了一款名为Buchla的电子合成乐器,往后十年她便以这台机械做为她重要的创作乐器。而她的个人首张专辑「Seven Waves 」也成为早期电子乐的代表性作品之一。

第二张专辑「爱的速率」(The Velocity of Love),苏珊与因电影「火战车」而获得1981年最佳电影配乐奖,并以专辑「南极物语」而在全球拥有高知名度的新世纪音乐电影配乐大师范吉利思(Vangelis)共同合作演奏。这次的合作机会让他们二人私底下成了无话不说的好友,并且也让此专辑有了极佳的销售成绩。

专辑中的同名主打曲<爱的速率>成为苏珊最脍炙人口的代表作品。此外,专辑更登上了美国著名的新成人抒情电台(New Adult Contemporary)的点播排行榜。

1985年,苏珊开始与Private Music唱片公司合作,在这个阶段她总共发行了五张专辑,并屡获葛莱美奖的提名,透过BMG唱片公司的发行,使全球乐迷更加了解她。合作数年之后,苏珊亟思转变,她开始想参与自己专辑的录制工作,于是她结束了跟唱片公司的合作关系,搬至北加州,放弃电子合成乐的创作,重拾古典音乐的精神。

苏珊与乔组了一家名为Seventh Waves的公司,在1994年发行了「琴梦」(Dream Suite)专辑,这张专辑是她首度尝试与大型管弦乐团合作。之后她录制了「浮光掠影」( Pianissimo II)专辑,这是她第二次尝试专辑独奏的型式,并在次年又得到葛莱美奖提名,这已是她第四次提名葛莱美奖了。此外她认识了许多住在北加州的音乐家与艺人,并开始衍生制作「最真的梦-音乐会现场实况录音」的概念。

随着「最真的梦」专辑发行,苏珊展开全球巡回音乐会,1997年她在欧洲巡回演出,1998年的10月她来****演出,继之再到拉丁美洲演出。
我的音乐是绝对追寻自然,因而它可以超乎国界,跨越种族、文化的藩篱。」用苏珊对自己音乐的诠释作结尾。我们期待以她的琴声翱翔天地之间.

【Sarah Brightman莎拉布莱曼】

Billboard告示牌排行榜称她为“世上实实在在的绝妙天籁”,她的成就令所有女艺人望其项背,她是雄霸流行古典乐坛巅峰的跨类音乐天后Sarah Brightman(莎拉布莱曼)。 莎拉布莱曼创造了女人所未曾创造过的成绩 ──她是第一位同时登上跨国流行、古典和跨界音乐最高地位的女性。尽管她的地位和声望都极高,可是一提到月的神秘,她的感觉还是和一般人一样,充满了原始和天真的幻想。

被喻为最强古典/流行跨类天后的Sarah Brightman(莎拉-布莱曼)再创巅峰,推出新世纪全新专辑—《LaLuna》(月光女神)全球版。该专辑收录15首作品,[月光女神]中,月亮就成了她的灵感来源。她一共以五种语言来演唱,尤其是最后一首[忧郁的星期天]更让大家听到她难得的爵士唱腔。 包括70年代百万金曲“Soarborough Fair”,这首原本是英国传统民谣,因为赛门与葛芬柯二重唱在70年代将它翻唱、收录于电影《毕业生》的原声带中,而成为20世纪最后30年间历久不衰、最脍炙人口的名曲之一。西班牙最受欢迎的合唱团Meoano 1988年的畅销金曲“Hijo De La Luna(月亮之子)”,以神话的口吻讲述一个关于白化症小孩的悲剧,并以天上的月亮与一个吉普赛女人的联结对照来陈述。

最惊奇的是“Figlioperduto”(迷失的孩子),整首作品庄严中不失动人的旋律,充满戏剧化的张力。很难想象这首歌曲竟然是改编自贝多芬(1770—1827)的第七号交响曲,配上的歌词与舒伯特的艺术歌曲经典“魔王”相当相似,戏剧性的对话铺陈、悬疑紧张之中带着哀愁的气氛,最后以孩子被黑夜里的魔王(精灵)带走,象征了孩子的殇丧(或更抽象的迷失)。

另一首“A Whiter Shade of Pale”(苍白的浅影),曾在1967年横扫全球流行乐坛,在英美的各流行榜都荣获冠军,至今已有为数相当多的翻唱版本,“Procul Harum”这首歌最为人称道的是它原曲之中管风琴的运用,相当类似巴赫作品的巴洛克式风味,却充满60年代氛围的迷幻虚无,同时这一首作品长久以来也被视作华丽的Classical Rock里程碑之一。《月光女神》在美国地区发行首周以五十万张立即挂牌金唱片,并让莎拉首度进入Billboard流行专辑榜Top 20,同时三度荣登古典跨界榜冠军,全球战绩亮丽。

集古典与流行舞台剧演唱的百老汇舞台剧天后莎拉·布莱曼千禧年推出精彩的翻唱专绩《月光女神》,再次显示其超凡脱俗的演唱才华与丝丝入扣、纯美无比的声线魅力

【Deep Forest森林物语】

Deep Forest1992年由Dan Lacksman,Eric Mouquest以及Michel Sanchez三位音乐家创建于法国。 其中Dan Lacksman是制作人,后两位担当演奏重任。Dan Lacksman是比利时人,生于1950年。他从1969年起在比利时布鲁塞尔担任录音工程师,1970年开始运用合成音乐器材制作歌曲。1979年,制作Marc Moulin LIO的专辑,创下数百万张的销售量。其后又曾为Thomas Dolby, Sparks及Yellow Magic Orchestra制作专辑而名噪一时。1980年,他成立自己的音乐公司,到1993年,制作了Deep Forest第一张同名专辑,在世界各地创下惊人销售数字。到现在为止,Dan-Lacksman仍然执着的将他专业的技术与观念,不断地为音乐注入新生命。而Michel Sanchez及Eric Mouquet则是在联合国科教组织的全力支持下,深入非洲中部的雨林地带,以简单的录音器材将扎伊尔、喀麦隆及中非共和国矮人部落等地的传统民谣记录下来,再以现代化的电子合马乐器掺进现代音乐的质感制作而成。身为世界音乐的先驱,融合了现代电子键盘乐器、各民族传统音乐以及自己的创作,Deep Forest俨然已为世界音乐界最具代表性的顶尖领导团体。

Enigma的和Deep Forest的,可谓廿世纪末世界音乐的两大最著名代表作:同样都曾采用过****原住民民谣做为音乐取样素材的这两支乐团,又以Deep Forest同时在市场及乐评间所获之好评更胜一筹。Deep Forest不仅以各张专辑在英、美、法多国创下金唱片与白金唱片的销售纪录,更获葛莱美与MTV音乐奖等单位之四项奖座的提名肯定,并曾荣获葛莱美奖“最佳世界音乐专辑”大奖。原本Deep Forest的成立,就是要深入发掘埋藏在全世界角落里的声音,因此他们花费了极大的心力,在这将近十年的乐坛岁月里,Deep Forest走访了非洲、亚洲、中南美洲等十数个未受现代文明污染的地区采集有声样本,将之吸收融合加入强劲有力的流行及舞曲节奏中,以他们自己独特的音乐语汇,将古今东西不同文化相互沟通串联。

【谜 Enigma】

Enigma!谜一般的音乐……
Enigma!一种难以形容的声音……
Enigma!带来令人神往的意境与旋律……

这是一支来自德国的乐队,以其神秘主义风格吸引了无数乐迷。神秘主义的主题用现代电子乐来表现,使人产生一种时空交错的奇妙感觉。其中的人声也非常美妙:女声亮丽动人,如夜莺一般悦耳;男声低沉隐约,令人着迷。乐队的音乐取材也非常广泛,源于世界各地。New Age音乐爱好者都应该非常熟悉“Enigma”这个标志性的音乐品牌,但大多数听众却很难对Enigma的音乐轻易地来一次概括或者下一个确切的定义。或许另外还有一些朋友并不知道Enigma是何方神圣,不了解他们的风格,但是一旦属于Enigma的熟悉旋律响起,您一定会有似曾相识的感觉。短歌行特别为大家制作这个“破解Engima之谜”音乐专题正是为了能够让大家更全面地了解他们的音乐足迹与音乐风格。

Enigma源自于希腊文,英语解释为“谜,不可思议的东西”,因此很多国内听众甚至媒体将Enigma称之为“谜乐团”或者“英格玛乐团”。其实这个称谓并不确切,Enigma只是一个“project studio(策划制作组)”,而非由若干固定演唱成员组成的乐团。

那么Enigma究竟是一种怎样的音乐呢?虽然我们习惯并笼统地将之归入“New Age”,但却很难描述Enigma的独到特色。制作人Michael Cretu曾经道出过其中的玄机,事实上Michael Cretu一直想走出欧洲传统流行音乐的束缚,他所钟爱的音乐风格偏向于Pink Floyd和Yes,但这类非主流音乐类型在日益商业化的市场中已经越来越难听得到。

Michael Cretu便开始朝着自己理想的王国迈进,自己写作,并且在不少作品中动用了两种非常奇特而且不为世人熟知的声音——秘鲁风格的排萧和由修道士演唱的类似格里高里圣歌风格的旋律,编曲上再衬以洒脱、懒散的Disco节奏,由此构成了Enigma极富个性的基本框架。因此在 Michael Cretu 所营造的独特音乐世界中,我们即可以隐约感受到古典严肃音乐的影子,又可以直接感受到通俗流行的电子配器;能听到最悠远的少数民族部落自由而悠长的吟唱,又能够欣赏到教堂唱诗班庄严而宏大的和声。也因为这些,Michael Cretu拒绝掌声和荣誉以及别人给Enigma“定制”的风格上的定义。

【神思者S.E.N.S.】

擅写心灵音乐的“神思者”著名音乐作品有《爱情白皮书》和《二千年之恋》,“神思者”从创作《悲情城市》时冒起,他的音乐充满了图画色彩。
他们是文学家。旋律如诗、如散文、如歌咏,文雅隽永,焕发美的气息。一个是玩摇滚出身,一个是音乐学院毕业,两个音乐路线相悖的人结合在一起,已经是不可思议。他们的音乐却因此时而温柔,时而奔放,更显和谐的奇妙。
他们是画家。纪录片也好,电影也好,电视剧也好,他们总能顺着剧情和画面,寻找最贴切的音乐风格。于是乎,一部有一部的经典配乐从他们笔下诞生:海上丝绸之路三部曲、故宫三部曲、悲情城市,更有数不清的日剧。听着音乐,曾经看过的感人画面却自然而然的浮现眼前。即便不曾看过的,似乎也能从音符的跌宕中,想象出剧中人的悲欢离合。配乐精湛若斯,我以为已经不该再用“配”这个字了。神思者的确无愧于“日剧配乐之王”的美誉!

【Era 创世纪】

Era,英文原意为“时代、世纪”,我自己译名为“创世纪”,是一个风格与Gregorian(格林高利合唱团)接近的音乐团体,其灵魂人物是法国音乐家Eric Levi。关于Eric Levi,我们所知的确实不多,甚至也只在Era的作品中见过他的名字。而且他也不属于高产型的音乐家。Era至今为止仅发行过3张专辑,分别是1998年的《Era》、2001年的《EraⅡ》以及2003年刚刚发行的《The Mass》。发行数量并不多,但都是颇受欢迎的作品。Era系列几张作品获得的成功反响,为他与日俱增的名气奠定了优厚的基础。
如果说Gregorian是在Enigma第一张专辑的音乐风格基础上强化格林高利圣歌和宗教元素而发展出来的,那么同样也可以说Era是借鉴与继承了Enigma、Deep Forest、Gregorian等名家的成功元素并加以进化创新而生的。总体来看,Era与Gregorian两者的音乐类型都是圣歌与现代器乐的融合,甚至乍听起来,还颇为相似。不过学习并非罪,刻板模仿才是可耻的,毕竟不是每个人都能如Enigma那样能开一派之先河的。如前所说,Era本来就是对前人成功经验的继承和发展,关键在于比以前是否有所突破和变化。而经过市场考验的结果是,Era成功了。
比起Gregorian全男班的阵容(Sarah Brightman的献声毕竟是少数),Era无论在和声还是领唱上,都加重了女声的成分,因而整体风格都显得更柔和、更温暖。我觉得Gregorian的歌声像高居圣坛之上的肃穆之歌,多少有点儿“可远观而不可亵玩焉”;而Era的则更人性化,像是就在我们身边的平民歌声。这里并无任何褒贬之分,纯粹只是我个人感觉上的不同罢了。而且由于女声的加重,Era的声部明显比Gregorian来得更丰富,而且女声领唱的戏分更重了。此外,Gregorian很注重乐曲的整体氛围的营造,而Era的曲子旋律性更强,很易上口,感觉上更流行化一些吧。这也许正是Era成功的秘诀之一。

【Vangelis 范吉利斯】

一位堪称伟大的音乐家。他集创作,演奏和音乐制作于一身,是一个真正的音乐全才,被人们誉为“现代的瓦格纳”。早在1973年,电子音乐刚刚起步,大家就连New age musik为何物都不甚明了之时,他已经用电子合成器开始了自己的音乐探索。他的许多史诗般的电子音乐作品和电影配乐皆深得乐迷们的钟爱,其中最知名的作品如1981年的 《Chariots Of Fire(烈火战车)》,1983年的《Theme from Antarctica(南极物语)》,1992年的《1492~Conquest of Paradise(哥伦布传)》等等,都是享誉全球的巨作。其中烈火战车以及哥伦布传更都荣获当届的奥斯卡最佳配乐奖,确实实至名归。Vangelis的作品多达数十张,但他的性格与Micheal Cretu差不多,都喜欢过着近似隐居的生活,埋首于自己的音乐创作之中。所以他的名字可能很多人都并不熟悉,但他的作品从不曾耳闻的人我猜可能不多。事实上,他的许多音乐,比如以上的三大作、Pulstar(脉冲星)、喜马拉雅山等等,都曾被不计其数的影视作品甚至广告引用过。相信许多人听过他的专辑后可能都会发出恍然大悟的“哦!……”

【Chris Spheeris】

浪漫而潇洒的绅士,英俊的面容后面是一位杰出的音乐作曲家和演奏家。从小多才多艺的他,八岁就能在画布上画抽象画,十一岁开始尝试写诗,十二岁便抱着他自己的吉他为其写歌,到了十五岁他开始将其诗作谱上曲韵后,正式开创了他的作曲生涯。后来在70年代末80年代初,他遇见了另一个吉他手Paul Voudouris,之后便开始学习其他的乐器,比如键盘和贝司等。1985年他和著名的哥伦比亚唱片公司签约,并推出了个人第一张专辑,并由此开始他的辉煌生涯。其实,Chris Spheeris已浸淫New Age乐界达十年之久,只因缺乏跨国唱片公司集团作有计划的密集宣传,才会在知名度上逊于其他音乐家。但就音乐的质感而言,他重现爱琴海滨历史氛围的功力可说无人能及。由于对宗教仪式特别感兴趣,他在旋律创作上受东正教、希腊民谣的影响极深。年轻时他尤其喜爱披头四、德彪西的音乐,大学时期远赴英国钻研哲学的经历更让他始终念念不忘希腊文化的根源,再加上嗜爱以旅行来观察欧洲各地的风土人情,也难怪他的专辑名称总是从探索人类心灵活动或怀想古文明风采的角度出发了。他轻车熟路的驾驭着希腊古典美态的音乐,同时给这种迷人的音乐灌入了各种世界音乐、古典音乐和民间音乐,从而产生了属于他自己的音乐,一片由吉他和钢琴为主乐器,以柔慢而稳定的节奏来演绎的浪漫,轻缓却没有丝毫拖沓和迷废的音乐空间。听他的音乐是一种休闲和回忆的享受,更给与我们一种的全新的安逸享受氛围!Chris Spheeris目前共推出过12张专辑,虽然数量难比前两位,但在AMG All Music上也获得了甚高的评价。

【 Matthew Lien (马修·连恩)】

公元1965年5月10日,美国南加州圣地亚哥,Matthew Lien呱呱落地。小Matthew是家中的第二个孩子,他还有一个姐姐。Matthew 5岁时父母离异,Matthew和姐姐一起跟着母亲生活。虽然家境不富裕,母亲却执意要培养小Matthew的音乐才能——她为儿子买了一架钢琴,从此把音乐带进Matthew的人生。母亲的培育让Matthew逐渐掌握音乐技能,而父亲却影响了Matthew以后的音乐方向。和妻子离婚后,Matthew的父亲便一人住到了加拿大的育空地区。小Matthew年满7岁后,每年夏天都会去育空陪伴父亲。加州的阳光永远照耀不到育空这片乐土,美丽的大自然风光让小Matthew异常兴奋,他在湖面漂浮,在森林里玩耍,和自然如此亲密地接触让小Matthew在不知不觉中产生了环保意识,而浸染于自然山水则让Matthew灵性毕现,随着年龄的增长,Matthew的音乐旅程中越来越多地沾染上山林水溪之气,直到有一天,他成为彻底的环保音乐家。

1990年,25岁的Matthew发表了自己的处女作《MusicToSeeBy》,一鸣惊人。Matthew音乐中表达出的冰山、湖水等育空风景令听众有直观之感,Matthew也凭此获得育空杰出人士的荣誉。此后的4年时间里,Matthew一口气发表了《In So Many Words》(无以言尽)、《Voyage to Paradise》(天堂之旅)、《Touching the Earth》(感受大地)以及《Caribou Commons》(驯鹿宣言)等四张作品。这些作品一脉相承地展现了Matthew的音乐思想。其中,前三张专辑还是在表达自然风景,而第四张《Caribou Commons》则标志着Matthew音乐道路的突破,它与接下来的《Bleeding Wolves》一起,成为Matthew的经典之作。

1994年,Matthew凭借单曲“Bleeding Wolves”拿到了极光奖“最佳原创音乐奖”,1995年,他又获得极光奖四项提名,并拿到“杰出音乐创作奖”和“音乐类杰出个人奖”,可谓硕果累累。Matthew并不光做自己的音乐,1993年,他担任专辑《LouiseProfeit-LeBlanc》(原住民故事)的制作人,同年他还制作了北极及加拿大运动会专辑《Life Cycle》。1994年,为《Yukon Gold》(育空之金)配乐制作等。
1997年,已经名扬天下的Matthew来到中国,探访东方文化的神韵。这一年,他与中国音乐家们共同探讨音乐,还研究了一些他过去从未听过的东方古乐器。散发神秘魅力的古乐器令他如痴如醉,并迅速把这些成果运用到他的新专辑《Confluence》(汇流)中去。中国乐器的造型简单,取材于大自然,有着宽广的音域、动人的音色。Matthew灵感突发,把他原本陌生的亚洲乐器与已经烂熟于胸的西方乐器巧妙融合,令《Confluence》相当特别。《Confluence》完全摒除了电子合成乐器,而是用大量的东西方乐器营造出最真实的画面。Matthew用中国二胡与提琴呼应,用中国唢呐与萨克斯风搭配,用箫与爱尔兰笛应和,用琵琶与班纠琴融合,搭配出天衣无缝的整体效果。《Confluence》的录音工程浩大,有多达50多人参与录音,最后还由混音大师BernieGrundman进行制作,使之成为Matthew音乐生涯里的又一高峰。
Matthew的音乐虽然被人们称为是环保音乐却有别于“激进”,他只是把手中的乐器幻化为摄像机,真实地记录下自然的各个角度,然后作为记录片播放出来。重视“呈现”而不是“说服”,是Matthew音乐“世界观”层次上的特立独行,也正因此,人们受到的震撼反而越大:那种消除了一切语言、文化、地域隔阂的公正、尊重与融合,使听Matthew的音乐变得轻松起来。随着时代的发展,Matthew所倡导的环保概念正越发深入人心,而他的音乐正像窖藏的美酒,愈久弥香。

【恩雅 Enya】

恩雅高雅的举止就象从童话故事中走出来的小公主似的。她穿着天鹅绒的晚礼服,话语温柔的说着带给她创作新专辑The Memory of Trees的灵感。“那时我想到了爱尔兰的神话,德鲁伊特教僧侣将药草汇集在树下,他们甚至住在树林里。如果我们能够理解这些树木,我们就能通过大自然的眼睛看到远古的故事。我们就能领悟到更多。” 恩雅目前的作品就是这第三张个人专辑。这张充满了这位爱尔兰歌手独特而富有神秘感的声音的专辑是继恩雅的获得举世成功的Watermark (1988)和Shepherd Moons (1991)之后的又一张专辑。因为这些高费用制作的歌曲都是在都柏林市郊恩雅自己的工作室里制作完成的,需要通过上百次的多声道技术合成覆盖声音,所以这种制作方法需要时间,耐心和一个完美的团队。 恩雅1962年出生于Donegal郡的Gweedore,她是六个孩子中最小的。十八岁时她加入她的哥哥姐姐,成为著名的乐队Clannad的歌手和键盘乐器演奏者。 在恩雅二十岁时,Nicky 和Roma Ryan夫妇——制作人、词作者、经理人——将这位富有天赋的音乐家置于他们的庇护下。六年来他们以恩雅的风格作为基础一起创作着。多年来Roma一直在收集各种日记,随笔,诗歌,故事。现在她将这些作了改变,使之成为恩雅的歌词。歌词主要涉及古老的赞美诗,神话,精灵,天使,传说中的人物,同时也涉及信仰,希望,鼓励以及一些新奇的领域。“在我的歌曲中我可以去我想去的任何地方,我可以自由的飞翔,漂浮,游动。Roma的歌词给了我这种美妙的可能性。” 事实上,恩雅不会游泳。她喜欢在都柏林附近的山中漫步。“我经常工作很长时间,有时工作到很晚,我几乎迷失在工作中。” 这个大自然的忠实热爱者的带有灵气的音乐有时被人们笑称为“新时代产物”或者被划入“民间音乐”。这使创作者不是十分开心。“我的音乐属于各个领域,它可以是新时代的,古典的,流行的。我不认为我的音乐可以简单的划入某个范围,我的音乐是独特的,它就是它。 恩雅的独特的音乐为她带来的物质成果是可观的。恩雅由此获得了两座别墅,工作室,以及一些马匹。恩雅很少看书,她只听她自己的音乐,她既没有丈夫也没有男友。她的一生似乎只为音乐。“音乐带给我无穷的快乐。”

【Ginkgo Garden 银杏花苑】

银杏,是目前已知地球上最早的树种,早在2亿5000万年前的侏罗纪时代就已经扎根于太古世界之中,有活化石之称。银杏树的生命力极之顽强,在日本广岛长崎的原子弹灾灭之后,是最先重现大地的植物,而且毫无受辐射影响的变异情形,实在令人啧啧称奇。正因如此,在日本银杏被誉为“希望的使者”。银杏的扇形对称的叶子,由于其叶子边缘分裂为二而叶柄处又合并为一的奇特形状,又被视作“调和的象征”,寓意着“一和二”、“阴和阳”、“生和死”、“春和秋”等等万事万物对立统一的和谐特质。银杏叶子也可以看作心型,所以又可以看成爱情的象征,寄予两个相爱的人最后结合为一的祝福。
德国的伟大诗人歌德(Johann Wolfgang von Göthe)深深地被银杏的特质所触动,于1815年9月15日凭诗寄意,写下了短诗“Ginkgo Biloba”,作为向其爱人Marianne von Willemer示爱的礼物。而1993年,同样来自德国的新世纪音乐家Eddy F. Mueller也以银杏为主题,为我们献上一趟绝妙的音乐之旅。
Mueller早在70年代就活跃于德国哈根,曾在Pegasus, Mandrake, Nena("99 Luftballons")等数个乐队中担任吉他、键盘及风琴的演奏。累积了相当丰富的音乐经验后,他于80年代创立了自己的音乐工作室Birdy,其后以Birdy的名义发行过11张专辑(包括LP及CD),并参与过逾2000部电影、电视及录像带的音乐制作,成为德国该行业中的佼佼者。1993年,Mueller从一部德国纪录片中获得了灵感,并请他的好友——日本女油画家Atsuko Kato为他的专辑绘画封面,由此完成了第一张以Ginkgo Garden之名发行的专辑。而3年后Ginkgo Garden的第二张专辑面世,迅速成为大热。Mueller以其独一无二的和谐之音征服了无数乐迷的耳朵,成为炙手可热的New Age音乐家。

【Gregorian 格林高利合唱团】

Gregorian是由12位浸淫于教堂音乐与合声风格,拥有深厚古典基础,并在英国伦敦乐界有一定地位的演唱家所组成。其制作人Frank Peterson曾是Enigma的一员,知名作品有很多:如Enigma的和Sarah Brightman的等等。正因如此,我们常常可以在他们的作品中听到与Enigma如出一辙的配器和编曲,而Sarah Brightman更是数次在作品中献声,为专辑平添几分光彩。
在此有必要介绍一下所谓的"Gregorian Chant"。这是在罗马天主教会的正式礼拜仪式中所唱的圣歌,起源于中世纪的罗马天主教会。当时有位教宗叫格林高利一世(Gregorius Magnus,任职期间公元590~604),他曾将这些圣歌编辑成册,因此后世人称其为“格林高利圣歌”。Gregorian Chant具有以下特征:歌词全是拉丁文,是无伴奏、无和声的单一旋律线,节奏非常自由,采用不同于“大小调系统”的调式音阶,同时还具有客观的、非个人的与超世俗的性质。这种圣歌音乐与礼拜仪式密不可分,它们可算是“功能性的音乐”,亦即具有特殊功用的音乐,不具娱乐价值。它们主要旨在表达歌词的宗教内涵,而不注重官能美感或情感诉求。但有趣的是,中世纪许多俗乐与民谣却改编自格林高利圣歌的曲调。

圣乐对中世纪的欧洲人而言,与日常生活息息相关。当时,社区的每一份子都必须参加宗教聚会,并在聚会中唱圣歌。天主教的主要礼拜仪式有两种:“弥撒”与“日课经文”,格林高利圣歌就是应用在这两种天主教的礼仪歌曲。例如,弥撒常用部分的歌曲包括或、或、、或、,在中世纪时都是用格林高利圣歌来吟唱。因此一般民众对于格林高利圣歌的熟悉程度就如同今日一般民众对于本地流行歌曲的熟悉程度。

【James Horner】

James Horner生于1953年8月14日洛杉矶。5岁开始学钢琴,在伦敦度过他的求学之年,在那他进入了皇家音乐学院,70年代早期迁往加州,在南加州大学获得学士学位后,又继续攻读获得音乐作曲硕士和博士学位。
毕业后Horner在南加州大学教授音乐理论,获得了一个来自美国电影学院为The Dronght一片作曲的机会,Horner很快喜欢上了电影作曲,在受雇于Roger Corman的New World Pictures公司之前还写过几部电影配乐作品,这都是他早期的电影配乐作品,另外他还为这些业绩不佳的电影创作音乐,但是他的配乐手法的日益成熟渐渐为好莱坞的配乐权威所注意。他应邀为配乐,于是他的事业开始走向辉煌。
“我是个爱尔兰音乐的追随者,我喜爱它的忧郁的气息和永恒的品质,我和其他作曲家不同,因为我不把音乐看作是一种工作,而把他看成艺术。”
在十多年时间内,Horner成为乐界Fans的论战的中心,他的风格和技巧一次又一次地遭到质疑,以致他很快成为好莱坞最易识别的作曲家之一。他为所作的配乐使之飙升为国际巨星,虽然他强调自己对名气不感兴趣,但是那并不影响他在其事业中的专业发展眼光。
Horner的事业仍就年轻,但是却在风格上有些显著变化,八十年代早期,Horner为主与几位天才的音乐家一起用电子合成器创作了一种富有创造性和革新意义的音乐,他们相信把管弦乐和电子音乐合为一体是一种未来配乐发展必然趋势,事实也证明有不少拥护者在追随这种刚刚起步的潮流。
不论这些争议多么激烈,Horner在80年代中期开始改变他的作曲范畴。1985年的作品Cocoon提示Horner开始完全使用弦乐,到1988年,虽然还在Vibes和Red Heat中运用了电子合成器乐,但Horner已完成了他第一次的两部大型弦乐作品:Willow和The Land Before Time,这两部作品对新式乐器的兴趣和完全的弦乐以及流行电影谱曲的机会融为一体。一年之后,伴随他获得第一个令他心醉的学院奖提名的作品,又因获得他的首次巨大成功。
Horner继极富有经验的配乐家Jerry Goldsmith,又一个在90年代早期通过无数小电影迅速崛起。他成为儿童电影的专业配乐者,但同时也为一些电影创作了一些更精致,有力的作品。如:1995年,他由一部优秀作品又再度成为国内乐界亮点,热度刚退,Horner又因和这两部不同民族,题材均较严肃的作品荣获学院奖提名。
1996年令Horner的事业再创高峰的作品是,一部小型,有着乡土浓郁气息的作品。它最终平息了那些认为Horner的创新天才有限的异议。他对爱尔兰音乐的钟爱,已经表露无遗在作品,并最后引发了1997~1998年的火爆场面。自从该原声大碟在排行榜上高居榜首达6个月之后,Horner与SONY公司合作又似乎又一次让他创造出了配乐界一个神话。
作为一位年轻的作曲家,Horner会同其作曲被大家认可,不管许多电影音乐迷对他的作品又爱又憎,Horner会继续写上他那及富有煽动性的作品。

【久石 让 Joe Hisaishi】

提起久石让,宫崎骏迷一定不会陌生,因为只要你留意每部宫氏电影的开头或结尾,就会看见这个名字—音乐:久石让。在你为动画中曲折的情节、宏大的场景、精细的制作而感叹时,是否同时亦被出色的音乐而迷倒呢?
久石让,1950生于日本的长野,是日本最多产,同时也是最具影响力的现代音乐艺人之一。在长达二十年的傲人音乐生涯中,他担任作曲、制作、编曲和演奏等多项工作。久石曾为超过二十部电影担任配乐工作,并曾四度赢得日本电影金像奖最佳电影配乐奖。他还从1992年起连续三年获得日本最高电影音乐大赏,1999年又第四次获得此奖。他还为许多电视连续剧以及数不清的电视广告制作配乐。这位以独特的极简风格着称的钢琴兼键盘手曾出版超过20张以上的畅销个人专辑,每张都是数一数二的佳作,可谓硕果累累!
久石让早年曾就读于日本国立音乐学院,修习作曲。1982年,久石让在毕业的同时推出了他的第一张个人音乐作品专辑。1983年,经人介绍,久石让结识了宫崎骏,此时宫崎骏正致力于《风之谷》的创作。听过久石让创作的[风之谷]的印象音乐后,宫崎骏被深深打动了。此后影片公映后更证实了宫崎骏的眼光,久石让为该片创作的配乐深深地打动了无数的观众以及评论人。因此次年宫崎骏的"GHIBLI(吉卜力)"工作室后,久石让便一直担当宫崎骏动画的音乐监督至今。
久石让是一个非常活跃的音乐创作人。如今,久石让不但是宫崎骏的音乐代言人,更与北野武渐成黄金组合,创作了《宁静的海》、《Kids Return~坏孩子的天空》、《花火》、《菊次郎的夏天》等佳作。 此外的配乐大作还包括:动画电影《阿里安》、《机器人嘉年华》,《仔鹿物语》、《水之旅人》、《寄生前夜》等等。在日本,久石让早已是闻名遐迩的资深音乐人。1998年,久石让 更获邀担任日本冬季长野残疾人奥运会的音乐制作总监,如此重要的任务可说是对他在音乐界大师级地位的莫大肯定。
为大家推荐的是久石先生的一张纯钢琴作品,全碟十首,收录了《天空之城》、《风之谷》、《龙猫》、《阿里安》等的主题音乐钢琴版,在夜深人静时听简直是妙不可言,见到一定要去买。现在久石先生还出了其第二及第三辑,技巧性较第一辑更强,但旋律就不如第一集动听了,不过亦不失为一张好作品。

【喜多郎 Kitaro】

喜多郎是当今最著名的叁位"新世纪"音乐家之一。1953年出生在日本一个信奉神道教的农民家庭。自第一张唱片《星际旅行》发行以来,他已经出道整整二十年。最近出版了第二十四张专辑《MANDALA》。近年旅居美国纽约。1997至1998年在全世界超过100个城市进行四次巡回演出。
喜多郎说:“我从来没有受过音乐教育,也从来没有上过什么音乐课,所以我的创作灵感完全来自大自然。他使用电子合成器来表达音乐,因为“我可以用合成器创造海洋、冬天的海岸、夏天海滩上的全部景色”。而评论家也把这种乐器制作的音乐称为“心灵音乐”。喜多郎正是利用了合成器的巨大威力创作音乐,表达自己的情感。

喜多郎的作品覆盖很多的方面。描写大自然的,包括《丝绸之路》、《敦煌》等;充满宗教色彩的《MANDALA》;记叙神话故事的,如《古事记(KOJIKI)》;电影电视音乐,如《宋家皇朝》,早期的《天与地(HEAVEN AND EARTH)》等。对这么多种题材的音乐作曲家都有不俗的表现,可以看出喜多郎的文化修养、音乐素质造诣颇高。

2005-07-01

新世纪音乐之旅

摘自:e考拉部落

New age(新世纪音乐)概论

一. New Age的历史


New Age (新时代) 又指The Aquarian Age (宝瓶座时代),西方神秘学认为现在是一个转型期,正准备进入「宝瓶座时代」。「宝瓶座」象征人道主义;人类由追求社会的、物质的、科技层面的进步,将演进到注重「心灵」、「精神」层面的探索,找到超越人种、肤色、民族、国籍以及宗教派别的人类心灵的共通点,认知人类的「同源性」和「平等性」,从而达成四海一家与和平的远景。
New Age Music作为20世纪纯音乐的最大发现,来自于一种可以带来内在平静的审美观点。通常来说,它们是一些带着新世纪哲学理念的和谐与非破坏概念的唱片,它们可以鼓舞精神上的超脱和生理上的治疗,其中一些唱片既能给我们以艺术上的享受,又能给我们以精神上的恢复,更有一些音乐家,通过他们特别设计的音波和“无污染构思”音乐理念来使听者的精神境界升华。
新世纪音乐是新世纪哲学的对应,它包容从现代轻松音乐一直到冥想型灵魂探索音乐。
新世纪音乐采用电子乐器,包括西方与非西方的乐器,及偶尔的歌唱,创造缓和的旋律来适应现代生活快节奏。
为寻求精神治疗和超越,新世纪音乐人时常借用非西方音乐的元素--就像新世纪哲学对非西方哲学的吸收一样。
一般认为新世纪音乐(New Age Music) 于70年代兴起,至80年代中逐渐成熟。1973年,一群多半是素昧平生的音乐工作者,因在旧山举办的The San Francisco Festival in Honor of Comet Kohoutek而得以交流。这次音乐节让音乐工作者,如Joel Andres、 Steven Halpem 等人发现即使他们从前末曾交流及合作,但大家的音乐创却有许多共通之处。他们的音乐同时是以冥想与心灵层面为出发点而创作,由于这种音乐风格跳脱过去人类所有的音乐型态,于是人们将这种音乐定名为「新世纪」。
New Age 早期的音乐形态是以环境音乐 (Ambient Music) 为基础演变而成。也有人称环境音乐为自然音乐、绿色音乐等。New Age Music录制过程大多以自然声响及旋律构成,其音乐形态受风行于70年代后期的Fusion (融合音乐,即爵士乐和摇滚乐结合的风格) 乐风所影响,因此New Age Music会如Fusion Music一样,在音乐当中加进了电子合成音效,如使用回音、电子乐的回响(Reverb)以及其它利用空间创造出的声音技巧,营造极其优美的曲风,模拟幻化的空间质感。
80年代之后, 许多年轻乐手 (摇滚派/融合派) 放弃了电子音乐的华而不实,重投Acoustic (即以传统自发声乐器演奏)。人们开始放弃了物质世界的追求,投向追求理性自然的生活,追寻心灵的满足。因此80年代中期,以寻求心灵与自然满足的New Age Music发展已经逐渐成熟, 不仅延续修身的冥想,并且不断加入重视环保、阐扬人文思想、关怀世界的理念,因而奠定它自成一派的宽大视野。
1994年来自德国「谜」(Enigma)乐团推出了一张充满新世纪色彩的葛利果宗教音乐,在全球创下千万张的销售量,奠定 New Age 的地位,和古典乐、流行乐鼎足而立于咤当今乐坛。在当时,可谓音乐界最大的震撼,音乐界人士都认为新世纪音乐的时代终于来临了。
以宁静、安逸、闲息为主题的New Age Music ,纯音乐作品占的比重较多,有歌唱的占较少。New Age Music可以是纯以传统自发声乐器演奏的,也可以是很电子化的,重点是营造出大自然平静的气氛或宇宙浩瀚的感觉,洗涤听者的心灵,令人心平气和。New Age Music 很多时与音乐治疗有关,不少New Age Music 说可以治病,也有不少与打坐冥想有关,这与New Age 思潮哲学有莫大关系。New Age Music通常被视为颇为中产阶级的音乐,Windham Hill 是最具代表性的New Age 唱片公司,New Age 代表乐手有Enya(恩雅)、George Winston、 William Ackerman 、Yanni 、Kitaro(喜多郎) 等等。

二. 特色


合音 (Harmony):
New Age Music的基础是合音与和谐音,并非仅用大和弦而不用小和弦,但会摒弃部份爵士与摇滚的发音方式,以避免不和谐与不悦耳的乐音。New Age所用的和声大部分是相当和谐的,不协和音在New Age中使用甚少。这也是为何New Age听起来与人非常祥和之感的原因。
旋律 (Melody):
New Age Music突破既有作曲方法,不以传统上对音阶的思考模式为限,而是组成新的、不见得能立即朗朗上口的旋律。New Age的旋律与流行乐完全不同,其即兴演奏的味道很浓。聆听者不仅很难记住旋律,而且更不知道旋律会在什么时候、什么地方终止。这也就是New Age音乐结构赋予大家极大想象空间的原因之一。

节奏 (Rhythm):

New Age Music根本不强?#123;以打击乐器或休止符所建立的节奏感。New Age的节奏很多是存在于音乐自然的律动与音符的强弱之间。其实,大部分New Age之所以要屏弃传统的节奏,是因为有了鼓、贝司与打击乐器,音乐形态就会被限制死了,而New Age是自然而自由的,有着风一般的流线姿态。
因此,一方面拜电子音乐技术所赐,可以轻易制作出无停顿的乐音;另一方面,New Age Music以不强调节奏的作曲方式,营造特殊的空间感与意境。
音色 (Timbre):
New Age Music避免使用刺耳与急促的声音,因为那会增加音乐的压力与张力,也因此小提琴、小号、电子吉他、合成敲击乐器等较不适用于表现New Age Music。New Age的音色是透明的、神秘的,充满朦胧气氛的。老实说,听New Age到深处时,最大的享受之一便是音色的变幻。
音质 (Texture):
空间感是New Age Music的一个重要的面向,New Age Music也曾有「空间音乐」(space music) 之称,其同时指涉音乐所表现出的质材感、与意图引发聆听者去达到的状态。
除了这音乐的五大要素之外,New Age最大的魅力就是赋予聆听者一个极大的想象空间,你可以不受形式限制,自由地在无限的想象空间中驰骋。

三. New Age的分类



  • 部落 (Techno Tribal)

  • 精神音乐 (Spiritual)

  • 太空音乐 (Space)

  • 器乐独奏 (Solo Instrumental)

  • 自助音乐 (Self-Help)

  • 新古典 (New Classical)

  • 电子新世纪 (New Age Electronic)

  • 原声新世纪 (New Age Acoustic)

  • 民族混合 (Ethnic Fushion)

  • 现代器乐 (Contemporary Instrumental)

  • 气氛音乐 (Atmospheres)

2005-06-30

Installation von Ilias 3 beim AVG Trier

Heute habe ich Ilias 3 beim AVG Trier auf dem Linux Rechner installiert. Die ganze Installation hat anderhalbe Stunden gedauert.

Vor der Installation wurde pear mit dem Skript go-pear unter Konsole maricuri#>php go-pear aktualisiert und ein paar pear Pakete installiert. Danach wurde php.ini geändert und Apache neu gestartet. MySQL ist auch von 3.22 nach 4.02 aktualisiert. Mit dem URL http://mariecurie.dyndns.info/setup/setup.php kann man dann mit der Installation anfangen.

TCL工具命令语言简介

TD {
FONT-SIZE: 9pt
}













工具命令语言简介


索引

Tcl 语言



  • 没有固定的(fixed)文法

  • 由解释器(分析器)和执行命令的过程来定义

  • 大小写敏感


Tcl 基础



    脚本, 命令, 和字(word)


    Tcl 是基于字符串的解释型命令语言。它在语法上的简单性和语义上的通常的感官性的方式(common sensical approach)使这门语言易于学习和熟练。这个简短的


    教程将集中于最基本的概念,使你能尽快的起步。


    Tcl 脚本由一个或多个命令组成,用换行或分号分隔。


    command arg1 arg2 arg3 ...


    命令是基本的执行单元(element)。一个命令跟随着一个或多个字,这些字是(命令)参数(parameters or arguments), 字之间用空格或 tab 分隔。


    ex: puts stdout "My first Tcl script."


    = > My first Tcl script.


    求值(Evaluating)一个命令


    两步过程: 分析执行



  • 分析: Tcl
    不给字的的值提供任何意义。它只是完成简单的字符串操作,例如,变量替换。Tcl只进行一遍替换(每个字符被严格的扫描一次)。一次替换的结果不为了进一步的替换而被扫描。

  • 执行: 为命令的参数提供意义。Tcl 假定字序列的第一个字是命令,检查是否定义了命令,并且定位一个命令过程 来执行。


注意: 参数在缺省时是被引用的 -- 如果你想求值,你必须显式的提出要求


例如:



      set a 5
      set b a+8

    第一条命令把字符串 5 赋给变量 a。第二条命令把字符串
    a+8 作为新值存储在 b 中。要得到值 13,你必须显式的去求值,比如:


      set a 5

      set b [expr $a+8]


    每对方括号调用一次附加的求值。对于 Tcl 你必须记住的一件事是它只做你认为它将要做的事。求值的模型很直接了当。有一个单独的命令和零或多个参数。这些参数可以依次是必须被求值的有参数的命令。这些命令的返回值变成要被求值的最初的命令的参数。


    变量,命令和反斜线替换


    在 Tcl 中通过使用变量来维护状态,变量用"set" 命令来声明和实例化(instantiate)。


    例如:


    set loopCounter 0


    注意分开的变量声明是没有必要。使用美元标号来检索变量值,这对shell 程序员和 Perl 开发者是很熟悉的,在何时使用与何时不使用美元标号的相关规则上有细微的区别。


    例如:


    if
    ($loopCounter > 10) {
    do something
    }



    • $ 变量替换: 不声明变量 --
      它们都是任意长度的字符串类型。变量替换可以在一个字中的任何地方发生(例如
      button .b$num)。

    • [ ] 命令替换:
      在方括号中任何东西被作为一个 Tcl
      脚本来求值。

    • 反斜线替换: 转义符,用于 $、换行、引号等。


    引用和注释



    • 双引号: 空格,tabs,换行,分号被作为普通的字符对待(通常的
      $,命令,和反斜线替换正常发生)。

    • 花括号: 所有特殊字符失去特殊意义(不发生替换)。花括号延期求值。

    • 注释: 如果第一个非空字符是 '#',知道换行的所有东西都是注释。如果 '#'在其他任何地方出现,它被当作通常的字符。


    变量


      简单变量 有一个名字和一个值(被作为一个字符串存储)。

      数组是一组元素(element),每个元素有它自己的名字和值。数组名和元素名可以是任意的字符串 (有时叫做关联数组 来与要求元素名是整数的数组相区别)。


      例如:


      set yearTotal 0

      foreach month {Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec}
      {


      set yearTotal [expr $yearTotal+$earnings($month)]


      }


    Tcl 只实现了一维数组,但是多维数组可以通过通过连接多个索引成一个单一的元素名来模拟。


      set matrix(1,1) 140

      set matrix(1,2) 218


      set matrix(1,3) 84


      set i 1


      set j 2


      set cell $matrix($i,$j)


      => 218


      * 注意这里没有空格,三个元素名是 1,1
      1,21,3。 所以:


      matrix(2,5)


      不同于


      matrix(2, 5)


    表达式


      表达式组合操作数和操作符来建立一个新值。

      语法: expr arg ?arg arg ...?

    操作符



    • 关系操作符 (, >=, ==, !=)
      返回 0 (假) 或 1 (真)。

    • 位操作符 (&, |, ^, >, ~)
      要求操作数是整数。
        >
        使用右操作数作为移位记数(单位是位)。在左移时,零被移入低位(low
        order) 字节。右移是“算术右移”,对正数移入零,对负数移入一(不象
        ANSI C,它是依赖机器的)。~ 是一的补码(one's
        complement)操作符,它翻转所有位。


    • 选择操作符是三重(ternary)操作符 ?:
      ,如果第一个操作数是真,求第二个操作数的值,否则求第三个操作数的值。
        语法: expr { ($a



    替换


    对于表达式操作数替换以两种方式发生。



    1. 通过通常的 Tcl 分析机制

    2. 通过表达式求值器(evaluator)
      在求表达式的值时完成附加的一轮变量和命令替换


    例如:


      expr { 2*sin($x)

    花括号致使 Tcl 分析器不做对 x 做变量替换。当变量求值器遇到美元号的时候,它自己完成变量替换。这对
    expr 命令是非常有用的,而且对其他的象 while
    这样的的命令也是有用的, while
    重复的求一个表达式的值并希望每次都有不同的结果。


    例如:



      set pow 1

      while {$pow


    如果省略了{$pow的花括号,while
    的参数将是一个不变的表达式如 1字符串操纵


    Tcl 允许一些操作符有字符串操作数,如: 、=、 == 和 !=
    。对所有其他的操作符,操作数必须是数值。如果一个或两个操作数不能做数来分析,Tcl
    将使用字符串比较。


    例如:



      set x 0
      set y 00
      if {$x==$y} {
      ...
      }

      将使用算术比较并且这个测试将求值成 1。要强制对数值操作数进行字符串比较,使用象string compare 这样的命令。


    类型和转换


    Tcl 求表达式的值尽可能的得出数值。只对一个或两个操作数不象是数值的关系操作符进行字符串操作。对有着不同类型的操作数自动进行转换:



    • real 和 int: int => real

    • 非数值字符串 和 int/real: int/real => 字符串


    还有,分别的使用 doubleintround 来转换intreal 和转换 real 成 int。


    精度



    • 整数 (int 类型): 32 位精度

    • 实数 (double 类型): 64 位精度

    • 在求一个表达式的值时数值始终被用内部形式保持,只在必要时才转换回字符串。

    • 转换实数成字符串缺省是 6 位有效数字(significant digits)。设置 Tcl 全局变量 tcl_precision可以变更有效数字。注意:在一个使用
      IEEE 浮点数的机器上设置 tcl_precision
      成 17 将保证转换出的字符串不丢失精度(例如,当一个表示式被转换成字符串并在以后要在一个数值计算中使用时)。


    列表


    译注:在 Tcl
    中用一对问号表示其中的部分是可选的,在其他语言的语法描述中这项任务通常用方括号完成。


      一个列表是一组有序的元素(用空格分隔),每个元素都可以有任意的字符串值。列表可以是嵌套的。





















































      命令结果
      concat ?list list ...?连接多个列表成一个单一的列表(每个
      list
      中的所有元素都变成结果列表中的元素)并返回这个新列表。
      join list ?joinString?joinString
      作为分隔符把列表的元素连接到一起并返回结果,
      joinString 缺省是空格。
      lappend varName value
      ?value ...?
      把每个 value 作为列表的元素添加到变量varName 上并返回这个变量的新值。如果变量不存在则建立它。
      lindex list indexlist 返回第 index
      个元素 (0 参照第一个元素)。
      linsert list index
      value ?value ...?
      list 的第index 个元素的前面插入所有的
      value 并返回这个新列表(0
      参照第一个元素)。例如:
      set x {a b {c d} e}
      => a b {c d} e
      linsert $x 2 X Y Z
      => a b X Y Z {c d} e
      list ?value value ...?返回一个元素是所有的 value
      参数的列表。
      llength list返回在 list 中的元素数。
      lrange list first last返回一个list 的从 first
      last 元素组成的新列表。如果 last
      是 end,它选择 list 的直到最后的所有的元素。
      lreplace list first
      last ?value value ...?
      用零个或多个新元素替换 list
      的从 first last 的所有元素,value
      参数就是这些新元素,返回这个新列表。
      lsearch ?-exact? ?-glob?
      ?-regexp? list pattern
      返回在 list 中匹配 pattern 的第一个元素的索引,如果没有则返回
      -1。 选项开关选择一项模式匹配技术(缺省是:
      -glob)。
      lsort ?-ascii? ?-integer?
      ?-real? ?-command command? ?-increasing? ?-decreasing?
      list
      返回把 list 的元素进行排序的一个新的列表。开关决定比较函数和排序的顺序
      (缺省是: -ascii -increasing)。
      split string ?splitChars?splitChars
      的实例来分割 string
      并把这些实例之间的字符转变成一个新列表的元素并返回这个新列表。


    控制流




























      if test1 body1 ?elseif
      test2 body2 elseif ...? ?else bodyn?
      while test body
      for init test reinit
      body
      foreach varName list
      body
      switch ?options?
      string pattern body ?pattern body ...?

      switch ?options? string { pattern body ?pattern body
      ...? }
      选项: -exact (精确匹配), -glob (同于字符串匹配),
      或 -regexp (正则表达式匹配)。如果一个脚本是 '-', switch
      使用下一个模式的脚本 (比如说,多个模式可以执行同一个脚本)。

      default 模式用于捕捉不匹配(unmatched)的模式。

      eval arg ?arg arg ...?用于建立和执行 Tcl 脚本的通用的建造块。它接受任意数目的参数,用空格作为分隔符把所有的 args 连接起来,接着把结果作为一个 Tcl 脚本来求值并返回它的结果,这在你需要进入(force)另一分析层次时很有用。


    过程


      过程是在一个可以重用的包装模块中的通常的 Tcl 命令。在任何时候都可以定义过程,并可以用传值或传引用来传递参数。除非显式的使用return命令返回,否则返回的值是过程体的最后一条语句的结果。

      语法:


      proc procedure_name arguments ?args? body

    例子:


      proc plus {a b} {expr $a+$b}

    参数


    在一个过程中使用的参数是本地的。要引用全局变量,在过程的生存期间global 命令在过程中绑定变量(译注:就是访问全局变量)。参数可以有缺省值并象下面这样指定:


      proc inc {value {increment 1}} {

      expr $value+$increment


      }


      incr 42 3


      => 45


      incr 42


      => 43


    如果有的话,缺省的参数必须是过程的最后一个参数。如果没指定一个缺省则要求有这个参数。


    args 来支持可变数目的参数,它被放在参数列表的最后。过程使用args
    参数作为一个列表,它的每个元素都是额外的参数。如果没有额外的参数,则设置args 为空串。


      proc sum args {

      set s 0


      foreach i $args {


      incr s $i


      }


      return $s


      }


      sum 1 2 3 4 5


      => 15


      sum


      => 0


    引用调用


    upvar
    命令提供一个访问一个过程上下文外部的变量的通用机制。可被用于访问在一些其他的活跃的过程中的全局或本地变量,但它最常用于传递数组(因为没有数组的值,只有数组的元素)。


    例子:


      proc parray name {

      upvar $name a


      foreach el [lsort [array names a]] {


      puts "$el = $a($el)"


      }


      }


      set info(age) 37


      set info(position) "Vice President"


      parray info


      => age = 37


      position = Vice President


    upvar 也可以被用于访问在调用栈的不同层次上的变量。


      upvar #0 other x

    通过本地变量 x 来使全局变量 other可访问(#0 指定访问全局变量 other而不管调用栈的层次)。


      upvar 2 other x

    使在当前的过程的调用者的调用者中的变量 other作为本地变量 x 访问(2 指定在调用栈中两层之上)。


    建立新的控制结构


    uplevel 是一个 evalupvar 之间杂交的命令。它象eval 那样把它的参数作为一个脚本来求值,但象upvar那样在一个不同的栈层次的变量上下文中求脚本的值。使用uplevel,可以定义作为 Tcl 过程的一个新的控制结构。


    例子:


      proc do {varName first last body}{

      upvar $varName v


      for {set v $first} {$v 1 4 9 16 25


    象upvar 一样,uplevel 接受一个可选的初始参数来指定一个显式的栈层次。


    字符串操纵


      Tcl 是完全 8 位的(不只是 ASCII 7 位子集)。Tcl 不为 ASCII 子集外的字符提供任何解释。Tcl 存储字符串使用一个 null (零)字符作为终结,所以不可能在字符串中存储零字符。要表示二进制数据,要把它转换成包括非零字符的形式,例如,把字节转换成相应的十六进制的值。

      通配符-式样(Glob-style)模式匹配


      Tcl 模式匹配的最简单的形式。


      语法:


      string match pattern string

    匹配则返回 1,不匹配返回 0。在匹配中使用特殊的字符串



















    *匹配零个或多个字符的任何序列。
    ?匹配任何单一字符。
    [chars]匹配在 chars 中的任何单一字符。如果
    chars 包含一个 a-b 样式的序列,在
    a 和 b 之间的包括的任何字符都匹配。
    x匹配单一字符 x 。这提供了避免解释模式中的字符
    *?[] 的一种方式。

    用正则表达式的模式匹配


    正则表达式可以有多层的结构。基本的建造块叫做原子,并且最简单的正则表达式的形式由一个或多个原子组成。一个正则表达式要匹配一个输入字符串,输入中必须有一个子串(substring),每个正则表达式的原子(或其他成分)匹配子串的相应的部分。例如,正则表达式
    abc 匹配包含 abc 的任何字符串比如 abcdef
    xabcy


    举个例子,下面的模式匹配要么是十六进制数要么是十进制数的任何字符串。


      ^((0x)?[0-9a-fA-F]+|[0-9]+)$

    语法:


      regexp ?-nocase? ?-indices? {pattern}
      input_string ?variable ...?

    如果没有匹配则返回 0,如果有一个匹配则返回 1。


    注意,模式必须被包裹(enclosed)在花括号中,这样字符
    $[、和 ] 可以被传递给(pass
    through to) regexp 命令而不触发变量或命令替换。


    如果调用 regexp
    有在输入字符串之后的参数,每个参数都被作为一个变量的名字对待。第一个变量被添入匹配整个正则表达式的子串。第二个变量被添入与模式中最左的圆括号中的(parenthesized)子表达式(subexpression)相匹配的子串的相应的部分,第三个变量被添入匹配下一个子表达式并以次类推。如果有变量名比圆括号中的子表达式多,则额外的变量被设置成空串。


    例子:


      regexp {([0-9]+) *([a-z]+)} "Walk 10
      km" a b c

    变量 a 将被持有值 "10 km", b 将持有 "10" 而 c 将持有 "km"。


    开关 -nocase指定匹配大小写不敏感。开关 -indices 指定增加的变量不应被添入匹配的子串的值,而是给出在输入字符串中子串的范围的最先和最后的索引的一个列表。


    例子:


      regexp -indices {([0-9]+) *([a-z]+)} "Walk 10 km"a b c

    变量 a 将被持有值 "5 9",b 将持有 "5 6" 而 c 将持有 "8
    9
    "。















































    字符意义
    .匹配任何单一字符。
    ^匹配在行首的 null 字符串。
    $匹配在行尾的 null 字符串。
    x匹配字符 x
    [chars]匹配任何在 chars 中的单一字符。如果第一个字符是
    ^, 匹配不是在 chars 中的其余字符的任意单一字符。在
    chars 中的 a-b 样式的序列被作为在a
    b 之间包含的所有 ASCII
    字符的速写。如果在 chars 的第一个字符(可能跟随着 ^) 是 ],它被作为字符(literally)对待(作为chars 的一部分而不是一个终结符)。如果一个 - 出现在 chars 的最前面或最后面,它被作为字符对待。
    (regexp)匹配与正则表达式 regexp 匹配的任何东西。用于组织和标识匹配子串的各部分。
    *匹配有零个或多个前面的原子的匹配的一个序列。
    +匹配有一个或多个前面的原子的匹配的一个序列。
    ?匹配要么是空串要么是前面的原子的一个匹配。
    regexp1
    | regexp2
    匹配与 regexp1regexp2 匹配的任何东西。

    为替换而使用正则表达式


    语法:


      regsub ?-nocase? ?-all? pattern
      input_string replacement_value new_string

    regsub 的第一个参数是正则表达式模式。如果在输入字符串中发现一个匹配,regsub 返回 1, 否则它返回 0 (同于 regexp 命令 )。如果模式被匹配,输入字符串中的子串被用第三个参数所替换并且新串被存储在第四个参数中。如果没发现匹配,第四个参数包含原始的输入串。使用了两个开关: -nocase等价于 regexp 命令的 nocase 开关,-all 导致在输入串中所有匹配的子串都被替换。


    格式化输出


    format 命令提供了象 ANSI sprintf那样的设施。


    例子:


      format "The square root of 10 is
      %.3f" [expr exp(10)]
      => The square root of 10 is 3.162

    其他的格式指定符(specifier):


      %s 字符串
      %d 十进制整数
      %f 实数
      %e 科学计数法(mantissa-exponent)表示的实数
      %x 十六进制数
      %c 字符

    格式化命令也被用于改变一个值的代表。例如,用 %c 格式化一个整数生成这个整数代表的 ASCII 字符。


    用 scan 分析字符串


    语法:


      scan parse_string format_string
      ?variable ...?

      例子:


      scan "16 units, 24.2 margin"
      "%d units, %f" a b
      => 2


    字符函数


    字符串操纵命令是 string 命令的选项。


      string index "See Spot run." 5
      => p

      string range "See Spot run." 5 8
      => Spot


      string range "See Spot run." 5
      end
      => Spot run.


    查找和比较


    first last 查找一个子串返回子串的第一个字符的位置(以0 开始,对应输入串中第一个字符以)。如果没发现匹配则返回 -1。


    string first th "The trains were thirty
    minutes late this past week"
    => 16


    string last th "The trains were thirty minutes late this past week"
    => 36


    如果串匹配 Compare 返回 0,如果第一个比第二个排序在前返回 -1,如果第一个比第二个排序在后返回 1。


    string compare twelve thirteen
    => 1


    string compare twelve twelve
    => 0


    长度, 大小写转换, 修剪(trimming)


    string length "not too long"
    => 12


    string toupper "Hello, World!"
    => HELLO, WORLD!


    string tolower "You are lucky winner
    13!"
    => you are lucky winner 13!


    string trim abracadabra abr
    => cad


    string trim 接受一个要修剪的字符串和可选的一组修剪字符,并且从它的参数字符串的开头和结尾删除所有的修剪字符的实例,返回修剪后的字符串作为结果。trimlefttrimright 选项除了只是在字符串的开头或结尾删除之外,以相同的方式工作。trim 命令最常用于删除额外的白空格,如果没指定修剪字符,它们的缺省是白空格(空格、tab、换行、回车、和 form feed)。


    资源


    上面的许多例子取自 John Ousterhout 的书:
    Tcl and the Tk Toolkit
    作者: John K. Ousterhout
    出版商: Addison Wesley, 1994


    尽管有许多关于Tcl语言的书,依我看这本书是最好的之一。