2004年10月31日

网页把各种信息以最快捷、方便的方式传达给受众。人们对美的追求是不断深入的,网页设计同样如此。网页不光是把各种东西放上去,能看就行,这是远远不够的!要考虑如何受众能更多的和更有效率的接收网页上的信息,从而使他们对给网站留下很好的印象,那就更能促进自己网站的运作。在这种标准的要求下,逐步产生了审美的需求。这需要从审美的方面入手,结合使用方便的要求,就能制作出清晰、整体性好的页面。使人浏览起来心情愉快,接收信息也会更加容易。同时提升网站的形象。 

  运用一些平面设计中美的基本形式到网页中去就能是网页更加富有美感,例如将平面设计中的节奏与韵律和骨格的形式溶入到网页中,这样会使内容繁多的页面更加有条理,也会是人浏览起来主次分明。当然这种美首先建立在页面的内容充实,而且实用,一个内容空洞无物的网页既使做得再漂亮也不会吸引人,顶多赢得几声赞叹,没有任何的用处。没有实用性的东西是不会具有生命力的。要想将页面做的更漂亮,就要求设计师要用较好的审美方面的素质,同时要有丰富的平面设计的经验。这样才能在设计时驾轻就熟。 

  由于网页的从无到有,从满足基本的功能需要到追求美的较为高层次的需要,这是一个循序渐进的过程。这使人不由得想起工业革命前夕,很多现代的产品那时候都没有,没有现成的模样可以参照,产品的设计都是满足基本的功能需要出发,所以做出来的产品非常粗糙,冷冰冰的,毫无生气。由于商业竞争和工业化大生产的结果,使得人们不断的改进产品的功能,更为重要的是改进产品的外观,是产品更符合美的需要和使用方便。从而使今天货架上出现了琳琅满目的漂亮的产品。我想网页同样也是如此,在满足了基本的功能的要求之后,为了突出自己的特色,突出自己的优势,必须从审美上入手。而目前很多国内网站的现状是什么样子的呢?经常上网的网友可能会有所体会。目前的网页存在着诸多的不足,以下简单的分析一下,希望能从中得到一些启示。随后我们再为大家介绍一些网页设计的审美法则。 

  第一个可以用一个字来形容,那就是“塞”。 

  这是很多的网页都具有的特点,它将各种信息诸如文字、图片、动画等不加考虑的塞到页面上,有多少挤多少,不加以规范化,条理化,更谈不上艺术处理了。导致浏览时会遇到很多的不方便,主要就是页面五花八门,不分主次,没有很好的归类,整体一个大的杂烩。让人难以找到需要的东西。 

  第二也可用一个字“花”来形容。 

  这类网站也有不少,显然这是很多不懂设计的人来制作的。比较多是他们把页面做的很花哨,但是非常不实用,例如采用很深的带有花哨图案的图片作为背景,严重干扰了浏览,获取信息很困难。同时有些还采用了颜色各异,风格不同的图片、文字、动画。使页面五彩缤纷。没有整体感觉,尽管有些页面内容不多,但是浏览起来仍然特别困难。这种过度的包装甚至不如不加任何装饰的页面。不加装饰最起码不会损害其基本的功能的需求。所以这种网页属于粗制滥造的次品,是对自己的受众不负责任的表现。或许他们的初衷是好的,就是想把自己的页面做的漂亮,结果却是适得其反。 

  第三个现在网页设计中的误区就是千篇一律,缺乏自己的特色。 

  当我们打开电脑,上网一看,好像哪个网站都是一样的。从标题的放置,按钮的编排到动画的采用都是如此。用色时随心所欲,只要能区分开文本和背景就达到目的。造成这种原因就是网页设计师本身的原因,他们没有充分的利用自己的知识,分析自己网站的优势,发挥自己的网站的特点,而是采用的走捷径的方式,就是用大众化的方法去做,做起来当然很容易了,但是失去了自己特点的网页就像流水线上下来的产品,好像随便看哪一个都一样,这样就不能起到网页设计的目的。至少不能算设计。这也是对自己的用户不负责任的表现。当然这里不是片面的唯美主义,不能只是看中页面的漂亮而不顾受众的使用的不方便。例如有些网页将按钮溶入到页面的图片中去,倒是比较漂亮了,整体感强了。但是受众有时候却找不到按钮,造成困难。这同样是不可取的。 

还有一类站点的网页是一种纯技术化的网页。 

  在这种网页上,充斥了许多的纯为了炫耀技术的东西,如多个风格迥异的动画(缺乏美感甚至是与主体无关的动画),还有大量的利用Javascript和动态HTML的技术,然而始终没有把握住整体这个中心,造成页面的混乱。这与第一种有些类似,但是这种网页很多是技术上的高手。但是结果给人只有羡慕技术之外毫无收获。这样的网页也是不适合于需要的,是网页设计上的失败,更为严重的是大量的采用这种技术或者动画,造成浏览上由于受带宽的限制而非常的慢。所以不管是从功能上还是从形式上都是不可取的。 

  综合以上的分析,可以找出很多目前网页设计上设计的不足,特别是审美上的不足,照顾网页功能上的需要的前提下,需要有针对性的采用一些美的形式。来使网页做得更加有生气,更吸引人。 

  那么加入美的因素,也要遵循一定的形式美法则。这种美的形式有很多种,合理的利用,可以给网页增光添彩。赏心悦目。是受众浏览起来更加有效率,有力的提升网站的形象。下面逐一分析这些美的形式,并考虑如何将它们融入到网页之中,以解决以上遇到的很多网页设计上的审美不足的问题。 

  从古至今,很多艺术家和学者提出了各种关于形式美的规律,很多经得起推敲的作品都是遵循这些规律去创作,以期完成其审美价值的。因此,在网页设计过程中,设计者必须去研究,掌握并主动地、有意识的运用这些规律,才能创作出好的作品。当然,不同时代有不同的设计审美观念,也有不同的美学特征。在信息特别发达的今天,竞争日趋激烈,给人们带来了新的审美需求,对于网页设计,客观上将其推向了更高层的表现境界,这是网页设计的必然趋势。去追求一种和谐的单纯,即追求清晰的视觉冲击力和巨大的张力,我们应该把美的形式规律同现代的网页设计的具体问题相结合起来。下面具体谈谈。 

  先谈谈变化和统一。变化是各个组成部分之间的区别,统一是个部分之间的内在关联。完美的图形设计,形式上要丰富有条理(即对图形的大小、方圆、动静、强弱等方面的处理;组织上要有秩序而不单调,不混乱。即图形的主从关系,叙事关系,呼应关系等方面的处理)。在图形设计中运用变化与统一的规律,是处理形象和组织的对立统一过程,那么在网页设计中同样要恰当的利用这种规律,在我们把大量的信息塞如到网页上去的时候,考虑怎样把它们合理的用统一的方式来排布,使整体感强同时又要有变化,这样使页面更丰富,更有生气,看起来就不感到枯燥,很多网站诸如体育的网站,排布的新闻从上到下几十条,没有一点变化,显得单调而乏味,就是违反这种形式美的规律,所以要充分的运用变化来改进它,从排布的形式上或者是颜色上都可以。 

  再看条理与反复,其中反复是有规律的连续与延伸,有组织的变化与扩展并加以归纳,概括而富于条理化,。条理与反复的原则是图形构成整体的秩序美的基础,是变化中的统一,也是运动发展中求得协调一致的表现方式,由他可以演化出多种多样的图形变化。这种在很多较为优秀的网站中运用较多,同时应用得也比较自如,这时由于很多网站丰富,信息含量大,不得不运用一定的方式将其条理化,同时又在一定程度上加以归纳后重复的利用,使网页较为整齐,脉络清楚,读起来也能着重点。当然,内容较少的网站同样需要条理与反复,以达到更为富有变化和清晰的视觉效果。如文字的合理编排,图片和文字的结合。如何呼应等等

 对比和调和。对比是指在质或量方面相互差异甚大的两个要素同时配置在一起时,两者之间有相互作用的性格,更加令人感到彼此强烈地相互衬托。对比是为了使主题画面具有变化和生气而运用的方法。而调和是构成美的对象在部分与部分之间的相互关系。它无论是在质的方面还是量的方面都没有矛盾,各部分所传达给人的感受和意念之间不是相互分离或排斥,而是一个部分多样性的整体统一来表现美的状态。那么在网页设计中,如何利用它来达到好的效果呢?首先合理的利用对比的因素,例如文本的排布、字体的大小、粗细、颜色,图片的宽窄、比例的反差、透明以及位置的放置等等。 

  均齐与平衡,这是动力与中心两者矛盾的统一所产生的形态,是设计中求得中心稳定的两种组织形式,均齐的组织方法是无论在哪一个中轴和中心支点各方面配置同形同量的图形,都要求图形整体结构严谨,形态安定整齐,平衡。实际上也是一句中轴和支点保持平衡,所不同的是配置的形为等量不等形,它没有一定的组织原则,只要能在形式结构上掌握好中心即可,它要求在形式上自然合理。所以均齐偏于静止的形式美感,而平衡却显得灵活多变,带有动感。在网页设计中,在充分的考虑整体的页面上所有的图形、文字的基础上,如何比较整个页面上的组又两边的量与质?是一个设计师自身经验的积累。页面上的平衡是一个动态的平衡,因为页面上两边的配置不会总是一样的,即左边一个图右边就一个图,那是不多的。更多的时候是图和文字以及大块的颜色轻的图和小块的颜色重的图的平衡,以及与文本的疏密和大小的平衡,所以这是一种动态的平衡。只有通过不断的实践才能够在这方面驾轻就熟的运用。满足人们的视觉上的整体的平衡感。这也是人的心理因素的一种图形化的表现,当然不是一种片面的追求静止的对称,那时僵硬的、不生动的,同样会失去美感。 

  如何看待网页上的留空?并非要把整个页面塞满了才不觉得空,我想只要合理的安排,使页面达到平衡,既使在一边的部分大面积留空,同样不会让人感到空,相反这样会给人留下广阔的思考空间,给人回味。 

  再谈谈节奏与韵律。运动中的事物都具有节奏和韵律的形式规律,节奏与韵律本来在音乐、舞蹈、诗歌及电影等具有时间形式的艺术中通过视觉和听觉来表现的,节奏本身没有形象特征。只是表明事物在运动中的快慢、强弱以及间歇的节拍。节奏可以说是条理与反复的发展。它带有机械的秩序美,韵律是每个节拍间运动所表现的轨迹,它带有形象特征。在具体的网页设计的运用中,按钮的编排就经常会遇到这个问题,做得好的按钮能够使排在一起的诸多按钮富有音乐般的美感,同时丝毫不损其实用性,可惜现在见到类似的太少了,因为需要不光是从形状上,而且要从整体的色泽、大小等综合方面入手。 

  上面仅仅探讨了几个非常贴近网页制作的形式美的规则,以及在网页中的运用。如何解决网页中的独特性的问题呢?我想这不仅仅是审美的形式问题,主要要站在网站本身的高点上来考虑,综合自身的整体形象,如网站的标志、标准字体、标准色等等,因为这些方面就是自己与众不同之处,如果将这些经独特设计的关于自身经营理念的东西融合到网页设计中去,怎会与人雷同呢?随便打个比方,假如运用自己的网站的标准色作为网页的基调,不光是能做到独特,而且对于网站本身的形象是很有好处的,就如我们经常见到的IBM的蓝,可口可乐的红白两色。这都是苦心的营造的企业形象的重要组成部分。网站要想树立自己的独特的形象,必须从这些方面入手,把网页上的各种信息的表达统一到网站综合形象的整体里面来考虑。就会给人留下深刻的独特的形象。 

  作为形式美的法则,随着时代的不同而不断发展进步,特别在生活节奏如次快的互联网时代,由于追求的目标的变化,人们的审美观念也在不断的变化,但是美的本质是一样的,同时随着技术的发展,很多的目前不容易实现的审美形式也逐渐被克服,突破带宽的瓶颈。就会给网页设计的自如发展一片新的天地。我们对美的追求是永不停止的,作为设计师,也要不断的提高自己的素质,才能做出更好的富于美感的网页来。

head区是指首页HTML代码的<head>和</head>之间的内容。 
必须加入的标签 

1.公司版权注释 
<!— The site is designed by Maketown,Inc 06/2000 —> 

2.网页显示字符集 
简体中文:<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=gb2312″> 
繁体中文:<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=BIG5″> 
英 语:<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=iso-8859-1″> 

3.网页制作者信息 
<META name=”author” content=”hhlong.com”> 

4.网站简介 
<META NAME=”DESCRIPTION” CONTENT=”xxxxxxxxxxxxxxxxxxxxxxxxxx”> 

5.搜索关键字 
<META NAME=”keywords” CONTENT=”xxxx,xxxx,xxx,xxxxx,xxxx,”> 

6.网页的css规范 
<LINK href=”style/style.css” rel=”stylesheet” type=”text/css”> 
(参见目录及命名规范) 

7.网页标题 
<title>xxxxxxxxxxxxxxxxxx</title> 

.可以选择加入的标签 

1.设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。 
<META HTTP-EQUIV=”expires” CONTENT=”Wed, 26 Feb 1997 08:21:57 GMT”> 

2.禁止浏览器从本地机的缓存中调阅页面内容。 
<META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”> 

3.用来防止别人在框架里调用你的页面。 
<META HTTP-EQUIV=”Window-target” CONTENT=”_top”> 

4.自动跳转。 
<META HTTP-EQUIV=”Refresh” CONTENT=”5;URL=http://www.hhlong.com”> 
5指时间停留5秒。 

5.网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。 
<META NAME=”robots” CONTENT=”none”> 
CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。 

6.收藏夹图标 
<link rel = ”Shortcut Icon” href=”favicon.ico”> 

所有的javascript的调用尽量采取外部调用. 
<SCRIPT LANGUAGE=”javascript” SRC=”script/xxxxx.js”></SCRIPT> 

附<body>标签: 
<body>标签不属于head区,这里强调一下,为了保证浏览器的兼容性,必须设置页面背景<body bgcolor=”#FFFFFF”>

  最开始,网页呈现在你面前的时侯,它就好像一张白纸,它需要你任意挥洒你的设计才思。在开始的时侯,你需要明白,虽然你能控制一切你所能控制的东西,但假如你知道什么是一种约定俗成的标准或者说大多数访问者的浏览习惯,那么你可以在此基础上加上自己的东西。你当然也可以创造出自己的设计方案,但如果你是初学者,那么最好明白网页布局的基本概念。

  1.页面尺寸:
  由于页面尺寸和显示器大小及分辨率有关系,网页的局限性就在于你无法突破显示器的范围,而且因为浏览器也将占去不少空间,留下给你的页面范围变得越来越小。一般分辨率在800×600的情况下,页面的显示尺寸为:780×428个象素;分辨率在640×480的情况下,页面的显示尺寸为:620X311个象素;分辨率在1024X768的情况下,页面的显示尺寸为:1007×600。从以上数据可以看出,分辨率越高页面尺寸越大。   浏览器的工具栏也是影响页面尺寸的原因。一般目前的浏览器的工具栏都可以取消或者增加,那么当你显示全部的工具栏时,和关闭全部工具栏时,页面的尺寸是不一样的。
  在网页设计过程中,向下拖动页面是惟一给网页增加更多内容(尺寸)的方法。但我想提醒大家除非你能肯定站点的内容能吸引大家拖动,否则不要让访问者拖动页面超过三屏。如果需要在同一页面显示超过三屏的内容,那么你最好能在上面做上页面内部连接,方便访问者浏览。

  2.整体造型:
  什么是造型,造型就是创造出来的物体形象。这里是指页面的整体形象,这种形象应该是一个整体,图形与文本的接合应该是层叠有序。虽然,显示器和浏览器都是矩形,但对于页面的造型,你可以充分运用自然界中的其它形状以及它们的组合:矩形,圆形,三角形,菱形等。   对于不同的形状,它们所代表的意义是不同的。比如矩形代表着正式,规则,你注意到很多ICP和政府网页都是以矩形为整体造型;圆形带表着柔和,团结,温暖,安全等,许多时尚站点喜欢以圆形为页面整体造型;三角形代表着力量,权威,牢固,侵略等,许多大型的商业站点为显示它的权威性常以三角形为页面整体造型;菱形代表着平衡,协调,公平,一些交友站点常运用菱形作为页面整体造型。虽然不同形状带表着不同意义,但目前的网页制作多数是接合多个图形加以设计,在这其中某种图形的构图比例可能占的多一些。

  3.页头:
  页头又可称之为页眉,页眉的作用是定义页面的主题。比如一个站点的名字多数都显示在页眉里。这样,访问者能很快知道这个站点是什么内容。页头是整个页面设计的关键,它将牵涉到下面的更多设计和整个页面的协调性。页头常放置站点名字的图片和公司标志以及旗帜广告。

  4.文本:
  文本在页面中出现都数以行或者块(段落)出现,它们的摆放位置决定者整个页面布局的可视性。在过去因为页面制作技术的局限,文本放置的位置的灵活性非常小,而随着DHTML的兴起,文本已经可以按照自己的要求放置到页面的任何位置。

  5.页脚:
  页脚和页头相呼应。页头是放置站点主题的地方,而页脚是放置制作者或者公司信息的地方。你能看到,许多制作信息都是放置在页脚的。 

  6.图片 
  图片和文本是网页的两大构成元素,却一不可。如何处理好图片和文本的位置成了整个页面布局的关键。而你的布局思维也将体现在这里。

  7.多媒体 
  除了文本和图片,还有声音,动画,视频等等其它媒体。虽然它们不是经常能被利用到,但随着动态网页的兴起,它们在网页布局上也将变得更重要。

C/C++ Reference
http://www.cppreference.com/

C++ Library Reference
http://www.cplusplus.com/ref/

Standard C++ Library Class Reference at Rogue Wave
http://www.roguewave.com/support/docs/hppdocs/stdref/

Dinkum C++ Library Reference Manual.
http://www.dinkumware.com/refxcpp.html

——————————————————————
More About STL:

http://www.cs.rpi.edu/~musser/stl-book/ Effective STL

http://www.bdsoft.com/resources/estlcode.html Effective STL -Example Source Code

http://www.bdsoft.com/resources.html

http://www.bdsoft.com/tools/stlfilt.html STLFilt( free) An STL Error Message Decryptor for C++

http://www.oonumerics.org/blitz/download/ Bitz library

http://www.cs.auc.dk/%7Enesotto/init/ Pretty Good Initialization Library-C++ container initialization made easy

http://www.aristeia.com/right_frames.html Scott Meyers website

http://www.highprogrammer.com/alan/windev/visualstudio.html Microsoft Visual C++ Tips and Tricks

http://www.xraylith.wisc.edu/~khan/software/stl/os_examples/examples.html ObjectSpace STL<ToolKit> examples

http://www.infosys.tuwien.ac.at/Research/Component/tutorial/prwmain.htm The Standard Template Library Tutorial

ftp://butler.hpl.hp.com/stl/examples.zip

http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html  Safe STL

http://www.synesis.com.au/winstl/libraries.htmlWindows Library STL / WinSTL

http://stlport.org/ STL Port  http://www.stlport.org

http://www.glenmccl.com/stl_cmp.htm STL Start (1-8)

http://www.c-plusplus.de/stl.htm STL de

http://www.yrl.co.uk/~phil/stl/stl.htmlx Phil Ottewell’s STL Tutorial

http://www.research.att.com/~bs/C++.html Bjarne Stroustrup’s C++ Link 

http://www.research.att.com/~bs/homepage.html

http://www.zib.de/weiser/vtl/ View Template Library(VTL)

http://www.zeta.org.au/~jon/STL/views/doc/views.html

http://www.boost.org/ Boost C++ Libraries

http://www.ddj.com/documents/s=938/ddj9708a/9708a.htm The SGI Standard Template Library

http://www.cs.brown.edu/people/jak/proglang/cpp/stltut/tut.html A modest STL tutorial

http://www.medini.org/stl/ STL Links & Quick Reference

http://www.stlbloggers.com/ STL bloggers

http://www.codeproject.com/vcpp/stl/ codeproject STL

http://users.libero.it/g.govi/index.html STL for eMbedded Visual C++ – Windows CE

http://www.cs.bham.ac.uk/resources/ums/SGI-STL/ Standard Template Library Programmer’s Guide

http://www.cs.bham.ac.uk/resources/ums/SGI-STL/download.html SGI_STL Downlaod

http://www.s34.co.jp/cpptechdoc/reference/stl_samples/ STL Sample S34 JP

http://www.jamesd.demon.co.uk/csc/faq.html comp.std.c++ frequently asked questions

http://www.lafstern.org/matt/ Generic Programming and the STL (book)

http://prdownloads.sourceforge.net/dcplusplus dc++ (应用STLPort)

http://www.cs.wustl.edu/~schmidt/patterns.html Design Patterns, Pattern Languages, and Frameworks (ACE)

http://deuce.doc.wustl.edu/Download.html ACE and TAO Download

http://www.cs.wustl.edu/~schmidt/ACE.html ACE Homepage

http://www.noasia.net/taowen/ c++ 网站 Boost中的泛型编程技术(小品文)…

http://www.acl.lanl.gov/pooma/download.html POOMA: Parallel Object-Oriented Methods and Applications

http://www.techxhome.com/products/optsolve/ The OptSolve++ libraries provide a convenient and extensible interface for rapid nonlinear optimization or root-finding with user-specified functions.

http://www.techxhome.com/products/optsolve/registrationpage.html OptSolve Downlaod

http://www.acl.lanl.gov/pete/ PETE uses C++ recursively-defined templates for transforming certain kinds of C++ statements into other

http://www.osl.iu.edu/research/mtl/download.php3 The Matrix Template Library Downlaod

A typedef declaration introduces a name that, within its scope, becomes a synonym for the type given by the type-declaration portion of the declaration.

typedef type-declaration synonym;

You can use typedef declarations to construct shorter or more meaningful names for types already defined by the language or for types that you have declared. Typedef names allow you to encapsulate implementation details that may change.

In contrast to the class, struct, union, and enum declarations, typedef declarations do not introduce new types — they introduce new names for existing types.

You cannot use the typdef specifier inside a function definition.

Typedef names share the name space with ordinary identifiers. Therefore, a program can have a typedef name and a local-scope identifier by the same name.

Example

// typedef_specifier1.cpp
typedef char FlagType;
int main() { }
void myproc( int ) { int FlagType; }

When declaring a local-scope identifier by the same name as a typedef, or when declaring a member of a structure or union in the same scope or in an inner scope, the type specifier must be specified. For example:

typedef char FlagType;
const FlagType x;

To reuse the FlagType name for an identifier, a structure member, or a union member, the type must be provided:

const int FlagType; /* Type specifier required */

It is not sufficient to say

const FlagType; /* Incomplete specification */

because the FlagType is taken to be part of the type, not an identifier that is being redeclared. This declaration is taken to be an illegal declaration like

int; /* Illegal declaration */

You can declare any type with typedef, including pointer, function, and array types. You can declare a typedef name for a pointer to a structure or union type before you define the structure or union type, as long as the definition has the same visibility as the declaration.

Examples

One use of typedef declarations is to make declarations more uniform and compact. For example:

typedef char CHAR; // Character type.
typedef CHAR * PSTR; // Pointer to a string (char *).
PSTR strchr( PSTR source, CHAR target );
typedef unsigned long ulong;
ulong ul; // Equivalent to “unsigned long ul;”

To use typedef to specify fundamental and derived types in the same declaration, you can separate declarators with commas. For example:

typedef char CHAR, *PSTR;

The following example provides the type DRAWF for a function returning no value and taking two int arguments:

typedef void DRAWF( int, int );

After the above typedef statement, the declaration

DRAWF box;

would be equivalent to the declaration

void box( int, int );

Example

typedef is often combined with struct to declare and name user-defined types:

// typedef_specifier2.cpp
#include <STDIO.H>
typedef struct mystructtag {
  int i;
  double f;
} mystruct;
int main() {
  mystruct ms;
  ms.i = 10;
  ms.f = 0.99;
  printf(“%d %f\n”, ms.i, ms.f);
}

Output

10 0.990000
2004年10月24日

小雨《青春靓丽手册-男生好口才》延边大学出版社2002-5-29

打破陌生的第一声。也许只要“嗨,你好”就可以从不相识到相识

从“你”开始。苦乐定律是主导生活的动力。心理学家指出,每个人都会自然而然地趋向生活中比较快乐的一面,回避比较痛苦的另一面。而思考这件事,对多数人来说都很痛苦。因此,你希望控制别人,激励别人,希望别人喜爱,希望别人接受你的邀请时,你就要替别人完成思考过程。将每件事说得让人一听就懂,一听就心动。尽量用“你”这个有力的字当做每个句于的开头,就比较容易得到肯定的回答。
“有个新的湘菜馆很棒,晚上要不要跟我去试试看?”(不好的邀请)
“你一定会喜欢那家新开的湘菜馆,今晚你跟我一起去好不好?”(替别人思考过了,不妨去试试)

爱的表达。联想、诗意

说话的环境艺术。“你喜欢说话细声细气,罗里罗嗦,含含糊糊,断断续续,软绵绵,扶不起,拉不直的男生么?”

别急着说“我也是”。在森林里,老虎总是和老虎在一起,猴子也总和猴子在一起,小兔子当然只能和小兔子混了。个体之间的共通性会导致同类互相吸引。不过,在人类的“森林”里,沟通高手知道另一个绝招:如果你慢一点揭发两人的共同点,或让对方自己去发现,产生的效果会更大。这个技巧我把它叫做,别急着说“我也是!”。每次别人提到你也喜欢的活动或兴趣时,先让他们享受一会热切谈论的兴趣,然后再等待适当时机,不经意地提起你也有同样的爱好。随带声明:别等太久才说出你们的共同兴趣,否则会让人觉得你在卖弄。

应聘时提前使用“我们”。“我们”可以拉近双方的距离感,而“我”、“你们”则显生疏。

吃亏又何妨?有事为了办成事,即使吃些在名不在实的小亏又何妨呢?这是一种气度。

 

2004年10月19日

因为SourceForge项目开发者要提交源程序或者文档首先需要通过SSH认证,所以在Idea中设置非匿名登录SourceForge的CVS服务器跟普通的pserver设置有些不同。

  1. 首先需要生成密钥。在Linux下生成比较简单,因为一般都安装了OpenSSH这个包。使用如下命令:
    ssh-keygen -t dsa -C “username@shell.sf.net”
    username改成你在SourceForge的帐号。
    $ ssh-keygen -t dsa -C “username@shell.sf.net”
    Generating public/private dsa key pair.
    Enter file in which to save the key (/home/username/.ssh/id_dsa):
    Created directory ‘/home/username/.ssh’.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/username/.ssh/id_dsa.
    Your public key has been saved in /home/username/.ssh/id_dsa.pub.
    The key fingerprint is:
    f3:31:a8:c6:82:18:c8:0f:dd:6b:fb:27:98:83:3d:3b username@shell.sf.net

    然后在/home/username/.ssh目录下生成2个文件:id_dsa和id_dsa.pub
    如果是windows系统,参看“How to Setup SourceForget CVS with Eclipse”的前几步,或者看SourceForge上的方法

  2. 登录Sourceforge.net,将id_dsa.pub的内容Copy到Account Options里。提交以后要等6小时才生效,因为SourceForge同步这个密钥需要时间。
  3. 设置IDEA 菜单File→Browse CVS Repository…出现一个对话框,点Configure按钮,出现下图所示对话框,点左上角+号,按照下图设置。然后一路OK啦。

点击查看大图

Writing Bug-Free C Code, A Programming Style That Automatically Detects Bugs in C Code
by Jerry Jongerius / January 1995

2004年10月17日

bbs上看到的置顶的帖子

万圣节前夜Halloween(October 31)是美国加拿大英伦三岛一个流行的节日,关于这个节日的介绍

微软万圣节备忘录是1998年10月由微软内部所外泄的文件,在万圣节后,造成媒体及业界相当程度的震憾。博客中国上有这个事件的专题。从这里可以了解到很多Open-Source和Close-Source阵营之间的对抗历史。不想再做微软的奴隶了,想做个玩家:-)

确实,正如万圣节文件II所提到的:“这种感觉(指自己写或修改程序然后编译)很爽快而且会上瘾”。前几天想升级Gnome到2.8版,有个编译通不过,结果修改了源程序,然后编译安装的,这个感觉真的很爽:-)

从国家角度来讲,被微软控制着操作系统其实是很危险的事情。无论从经济上,还是国家安全上。希望越来越多的人成为Linux玩家,享受真正的自由:-)

2004年10月12日

From蓝森林 http://www.lslnet.com

作 者: 李家芳

(一)关于Debian GNU/Linux
===========================

Debian GNU/Linux 是最严谨,最开放和最自由的GNU/Linux发行套件,秉承Linux网络协作开发的完全黑客精神,是目前著名的Linux发行套件中唯一的非商业性版本。Debian的名称来源于其创始人Ian Murdock和他的妻子Debra二人的名字组合,目前的稳定版本为Debian version 2.2r2,代号Potato,预计在今年六月份推出Debian version 2.3,代号为Woody。

GNU/Linux从诞生到今天不过短短的几年时间,但其迅猛的发展势头足以使像微软公司这样的软件帝国感到威胁。GNU的出现是现代软件业的一场革命,GNU软件取代传统软件公司的软件是无庸置疑的,只是时间长短的问题,微软公司推出其Microsoft.net战略就是最好的例证。所以,熟悉GNU,掌握GNU/Linux或FreeBSD等自由操作系统的使用是每一个计算机从业人员的基本技能要求。

现在许多学习使用GNU/Linux人们所遇到的第一个问题就是:到底应该学习哪个套件?目前GNU/Linux套件繁多,国外的就有Red Hat, SuSe, Slackware, Mandrake … ,国内有Xteam, Bluepoint, Redflag等等。在BBS上也经常有人提出这样的问题,那么哪一个套件较好呢?不可否认的是每个套件都有它的独特之处,但许多使用Linux的老手,无论先前使用的是Red hat还是Slackware,最终都转到了Debian GNU/Linux,本人以为,Debian至少有以下几个突出特点:

一. Debian是由遍布世界各地的五百多名志愿者开发和维护的,这些开发者同时都是Debian的使用者,所以在使用中所需要的特性就会立刻加入,而系统有什么问题也会非常快的得到修正。她遵从开放和分布式的开发模式,是许多商业Linux发布套件的基础,例如 Amirix, Corel, Embedded Debian, Stormix, TimeSys 和 VA Linux Systems, 同时也作为许多网站的web服务器,例如Linux.com。

二. Debian提供了比Redhat rpm包更为严谨的deb包,有多达四千多包装好的deb包可用。同时,Debian提供了完善的系统升级和维护工具apt, apt-get, dpkg, dselect等,可以通过网络,光盘等实现在线的无缝升级。

三. Debian不基于特定的核心,基于微核心hurd的Debian正在开发当中。

(二)使用光盘镜像iso文件安装Debian
====================================

安装Debian最简单的方法就是使用Debian的发行光盘,如果买不到光盘也可以通过下载iso文件,然后自己烧录成光盘,如果没有刻录机,也可以使用下面介绍的方法安装。

机器目前的分区情况如下:
—————————————————————–
C: /dev/hda1 50M fat win98 boot
/dev/hda2 50M /boot
/dev/hda3 64M swap
/dev/hda5 1.1G /
D: /dev/hdb5 1.5G fat
E: /dev/hdb6 1G fat32 win98 system

安装后Debian与Win98共存,debian的root分区为/dev/hda5, 使用/dev/hdb5拷贝光盘镜像iso文件。

1)首先将光盘镜像iso文件binary-i386-NONUS.iso拷贝到/dev/hdb5根目录下。

2)为了能顺利安装debian的base-system, 先把光盘镜像iso文件中的基本文件系统部分解到硬盘,使用WinImage5.0工具将镜像文件中的下列子目录解到硬盘(选择以路径名来解压缩选项)。
\dists\potato\main\disks-i386\2.2.16-2000-07-14\

3)将2.2.16-2000-07-14改名为potato(为了以后方便)。

4)使用dos6.22启动,然后执行potato目录下的Install.bat,系统进入安装界面。

5)在进行到安装核心模块之前,先将/dev/hdb5安装到fat目录(通过菜单mounted partition选项)。

6)安装kernel modules, 选择source media为已经mount分区,填写目录为/target/fat/potato,注意:此时系统将mount的分区全部放在/target/目录下,可以通过按+F3来察看。

7)安装各模块,配置系统文件,网卡等。在配置网卡时,需要指明io和irq的值,在填写时要注意格式:
io=0×300 irq=10
中间用空格分开。

8)配置网络。

9)安装base-system,选择source media为原来的选项。

10)制作boot盘,重启动。

11)重启动,配置用户root和普通帐号,到选择安装media时选择filesystems。

12)按+F2激活第二控制台,使用root帐号登录,重新mount /dev/hdb5,命令如下:
# umount fat
# mount -t vfat /dev/hdb5 /fat
# mkdir isomount
# mount /fat/binary-i386-NONUS.iso /isomount -o loop

13)按+F1回到安装界面,在安装源目录中填入 /isomount,按系统提示进行其他相关配置,一直到系统安装结束。

[注意]

1)安装过程中有些包可能会由于某些错误而没有安装上,在安装结束时,系统会重新对这些包再装一次。

2)如果X没有配置好,可以先运行xf86config简单配置一下,然后再运行XF86Setup进行图形化界面的配置,特别注意鼠标的配置,对于一般的应选择 ps/2协议,鼠标设备选择/dev/psaux,如果不好,一般由于鼠标设备没选对。
mouse protocol: PS/2
mouse device: /dev/psaux

3)重新安装lilo,先编辑/etc/lilo.conf,然后运行/sbin/lilo命令。

4)阻止自动启动xdm,执行下列命令:
# /etc/init.d/xdm stop
# update-rc.d -f xdm remove
可以使用以下命令恢复:
# update-rc.d xdm defaults

5)设定Gnome为缺省的X桌面,执行下列命令:
# ln -sf /usr/bin/gnome-session /etc/alternatives/x-window-manager
# ln -sf /usr/share/man/man.1/gnome-session.1.gz /etc/alternatives/x-window-manager.1.gz

6)如果想要添加新的软件包,则每次使用apt-get, dselect和dpkg之前,首先需要将iso镜像文件重新装载:
# umount fat
# mount -t vfat /dev/hdb5 /fat
# mount /fat/binary-i386-NONUS.iso /isomount -o loop
也可以直接装载:
# mount /fat/binary~1.iso /isomount -o loop

(三)在Debian 2.2 (potato)中使用中文ttf字体
===============================================

Debian 2.2 (potato)版本已经能够完善的支持中文,但需要进行下面这些简单的设定。

1.设定用户的locale环境,使其支持中文GB2312,输入法设定为xcin。
—————————————————————
修改或新增 ~/.bashrc 和 ~/.inputrc 文件。
在 ~/.bashrc 文件中增加locale设定:

……
export LC_ALL=zh_CN.GB2312
export LC_TYPE=zh_CN.GB2312
export LANG=zh_CN.GB2312
export XMODIFIERS=”@im=xcin-zh_CN.GB2312″

stty cs8 -istrip
stty pass8

增加 ~/.inputrc 文件:

set meta-flag on
set convert-meta off
set output-meta on

退出,重新登录,应该在X下能使用中文,但现在仍然是点阵字体。

2. 使Xwindow支持TrueType字体。
—————————————
进行如下设定:
方案一. 修改 /etc/X11/XF86Config 文件,在文件一项中加入:
FontPath “tcp/127.0.0.1:7100″
注释掉其他所有的FontPath。如下:

Section “Files”
# RgbPath “/usr/X11R6/lib/X11/rgb”
# FontPath “/usr/X11R6/lib/X11/fonts/misc:unscaled”
# FontPath “/usr/X11R6/lib/X11/fonts/cyrillic:unscaled”
# FontPath “/usr/X11R6/lib/X11/fonts/100dpi:unscaled”
# FontPath “/usr/X11R6/lib/X11/fonts/75dpi:unscaled”
# FontPath “/usr/X11R6/lib/X11/fonts/Speedo”
# FontPath “/usr/X11R6/lib/X11/fonts/Type1″
# FontPath “/usr/X11R6/lib/X11/fonts/misc”
# FontPath “/usr/X11R6/lib/X11/fonts/cyrillic”
# FontPath “/usr/X11R6/lib/X11/fonts/100dpi”
# FontPath “/usr/X11R6/lib/X11/fonts/75dpi”
FontPath “tcp/127.0.0.1:7100″
EndSection

修改 /etc/X11/xfs/config 文件:
注释掉 no-listen = tcp 一行。
在 catalogue 中第一行加入TrueType字体路径:

catalogue = /usr/lib/X11/fonts/TrueType/,
/usr/lib/X11/fonts/misc:unscaled,
/usr/lib/X11/fonts/cyrillic/,
/usr/lib/X11/fonts/Speedo/,
/usr/lib/X11/fonts/Type1/,
/usr/lib/X11/fonts/100dpi/:unscaled,
/usr/lib/X11/fonts/75dpi/:unscaled

注意:一定要将TrueType路径加入第一行,否则不行。其他所有字体都要保留,特别是 misc:unscaled 字体路径。

方案二. 修改 /etc/X11/XF86Config 文件,在文件一项中加入:
FontPath “unix/:7100″
注释掉其他所有的FontPath。

修改 /etc/X11/xfs/config 文件:
在 catalogue 中第一行加入TrueType字体路径:
catalogue = /usr/lib/X11/fonts/TrueType/,
………….
即可。

重新启动xfs-xtt使改动生效,然后进入X就可以使用TrueType字体了。

3. 使用 deferglyphs 16选项来加快X程序的启动。
————————————————–
1)直接使用startx启动:

startx — -deferglyphs 16

为了方便可以在~/.bashrc中加入startx的alias:

alias startx=’startx — -deferglyphs 16′

即可。

2)使用gdm启动(此是 Gnome 的登入管理员):
在 /etc/gdm/gdm.conf文件中加上:

[servers]
0=/usr/bin/X11/X vt7 – deferglyphs 16

3)使用xdm启动:
在 /etc/X11/xdm/Xsession 档案里加上
:0 local /usr/bin/X11/X vt7 – deferglyphs 16

4)使用 kdm 启动 (此是 KDE 的登入管理员)
在 /etc/X11/kdm/Xsession 档案里加上
:0 local /usr/bin/X11/X vt7 – deferglyphs 16

4. 使用Windows NT4.0中的TrueType字体 simsun.ttc。
——————————————————-
复杂的方法可以使用mkttfdir等工具软件,简单的方法是将其直接改名为Xwindow现在使用的字体,来个偷梁换柱。具体做法如下:
首先,将NT4的字体文件simsun.ttc拷贝到debian的truetype字体目录:

#cp simsun.ttc /usr/share/fonts/truetype/arphic/

目录arphic下原来有四个字体文件:

bkai00mp.ttf
bsmi00lp.ttf
gbsn00lp.ttf
gkai00mp.ttf —-(缺省GB的ttf字体)

Xwindows缺省情况下使用的truetype字体为gkai00mp.ttf,所以,只要将simsun.ttc改名为gkai00mp.ttf即可。

#mv gkai00mp.ttf gkai00mp.ttf.bak
#mv simsun.ttc gkai00mp.ttf

现在,重新启动xwindows,就可以享用漂亮的windows字体了。

(四)关于Debian的其他资讯
============================================================

Debian的官方站点:
http://www.debian.org/
Debian邮件列表:
http://lists.debian.org/

Debian光盘镜像:
http://www.linuxiso.org/
http://www.linuxeden.com/
http://www.gnuchina.org/ftp/ISO/

Debian讨论区:
http://www.debianhelp.org/
http://www.debianplanet.org/

李家芳 14:03 00-12-27 harbin
——————————————————————
(leejiafang@163.net)