posts - 189,comments - 115,trackbacks - 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)编辑 收藏
java2s http://www.java2s.com/
 这个网站非常好,分成三大类,分别是Example、Products、 Articles,每个大类下又分别设许多小类,还有搜索功能,这样查找起来非常方便。。比如,如果要学习SWT/JFace,只要把Example下的SWT JFace Eclipse 研究一下也就可以了。另外,这个网站还有JavaScript DHTML、 C# / C Sharp、 C / ANSI-C、 SQL / MySQL等类。总之,非常好。

 2. codeZoo http://www.codezoo.com/
 这是O'Reily旗下的,除了Java之外,还有Ruby、Python。
 
 3. Java学习源代码检索系统 http://www.chinaitlab.com/www/school/codesearch/index.html
 难得看见国产的,好歹也要支持一下,分类也算清楚。
 
 4. Koders http://www.koders.com/
 是个综合查询的网站,不过它好像是从代码中查找关键词,包含的语言挺多的。
 
 5. Resources for Java server-side developers http://www.java201.com/
 确切的说,它是一个资源收集的网站,代码查询并不多。不过它分类相当细,如Articles、Books、Examples、Extensions、Frameworks等类,你可以输入Spring或Hibernate作为关键词搜索一下看看。
posted @ 2006-04-13 12:21 MEYE 阅读(653) | 评论 (1)编辑 收藏

学英语怎样才能事半功倍

句子比单词重要

  中国人学英语,最常用的方法是背单词,甚至有人以能背出一本词典为荣,但是词典上的解释是死的,语言的运用却是活的,机械的理解会造成很大的误解。词典不是最重要的,关键在于语境。可以说,单词没有多少实际运用的价值,机械记忆的单词量再大,也不会真正提高你的外语水平。要养成背诵句子的好习惯,因为句子中既包含了发音规则,又有语法内容,还能表明某个词在具体语言环境中的特定含义。

  不要学“古董英语”。任何语言都是活的,每天都会发展,学习陈旧的语言毫无新鲜感,而且基本无处可用。不鲜活、不入时、不风趣幽默的语言不是我们要学的语言,多读外文报纸、多看原版影视作品才会有助于补充新词汇。

  很多人以为,把单词拆成一个个字母背熟就可以正确地拼写出来,其实,科学的方法是把读音、拼写和用法融为一体,同步进行,眼口手脑并用,并把它应用到句子里面去理解。

  听不懂也要听

  练习听力时,许多人抱怨听不懂,因而丧失了听的乐趣,往往半途而废。其实,即使听不懂也是一种学习,只不过你自己觉察不到而已。虽然暂时听不懂,但你的耳膜已经开始尝试着适应一种新的语言发音,你的大脑在调整频率,准备接受一种新的信息代码,这本身就是一次飞跃。

  所以切记:听不懂时,你也在进步。

  练习听力,要充分利用心理学上的无意注意,只要一有时间,就要打开录音机播放外语磁带,使自己处于外语的语言环境中,也许你没听清楚说些什么,这不要紧,你可以随便做其他事情,不用去有意听,只要你的周围有外语环境的发音,你的听力就会提高。

  敢于开口

  学英语很重要的一点是用来和他人交流,但开口难也是中国人学英语的一大特点。问题出在以下几点:

  一是有些人把是否看懂当成学习的标准。拿到一本口语教材,翻开几页一看,都看懂了,就认为太简单了,对自己不合适。其实,练习口语的教材,内容肯定不会难,否则没法操练。看懂不等于会说,把这些你已经学会的东西流利地表达出来,才是口语教材最主要的目标。

  二是千万不要用汉字来记英语发音。学习一门外语如果发音不过关,始终不会真正掌握一门外语,而且最大的害处是不利于培养对外语的兴趣,影响下一步学习。现在有人把用汉语发音标注英语,比如把“goodbye”记作“古得拜”,甚至把这种做法作为成果出版,这样做肯定后患无穷。

  不敢开口的第三点是怕语法有错。没有具体问题,一般不要去读语法书。超前学习语法,会使你如坠云里雾里,丧失学习外语的乐趣和信心。

  而且,语法好比游泳理论,对于没有下过水的人来说,游泳理论是用处不大的。同样,对于语言实践不够丰富的初学者,直接学习语法的用处不是很大。所以,一定要结合语言实践来理解语法,语法是学会语言后的一种理论思考。学语言不存在对错,只要能说出来,意思让人家明白就可以了,不用费尽心机考虑用什么句型,只要能选准一个单词就行。

  学口语最好的办法,不是做习题,不是背诵,也不是看语法书,而是反复高声朗读课文,这种做法的目的是培养自己的语感,只有具备了语感,才能在做习题时不假思索、下意识地写出正确答案。而且,当你熟练朗读几十篇课文后,很多常用句子会不自觉地脱口而出,所谓的“用外语思维阶段”就会悄然而至。

  “盯住”一套教材

  现在市场上学英语的材料铺天盖地,这给了大家更多的选择余地,但处理不好也会带来不良后果———今天用这个教材、明天换另一种,学习便失去了系统性。正确的做法是选中一套教材,以它为主,其余材料都作为补充。

  还有,目前市面上不少考试材料都以“真题”为卖点,不少考生把希望寄托于做“真题”上,以为这样就能通过考试。其实,很多正规的考试取材十分广泛,经过了严格的难度论证,使用过的材料绝不可能二度使用。

  面对这样的考试,仅仅以做题备战显然是治标不治本的做法,做题只能起到帮助考生了解题型的作用……对考生来说,语言能力的提高才是关键。

  不要频繁更换学校不要盲目崇拜外语学院,这些学院确实有很长的历史和经验丰富的老师,但是有时也有局限性,教材陈旧、观念陈旧、方法陈旧是他们的通病和致命缺点。

  学习英语没有“速成”之说。学好英语也没有捷径,只有方法的好坏。

  比如记英语单词,低着头拼命默写就不是一个好办法。好的方法是大声朗读,反复训练发音器官和耳朵,把声音铭刻在脑子里。这样既可以提高听力,又可以改进口语发音,还记了单词。默写只是训练了眼睛和手,可是它们不能替你听和说。这就是好学校和普通学校的差别,好学校通过学习方法的训练,能让学员在最短的时间里得到提高,但这还是需要学员的付出和努力的。不要期望高学费能回报显著的学习效果,付出比较高的学费并不意味着不要学习。

  更不要在急用英语的情形下,病急乱投医,不管学校学习方法是否适合自己,先上着再说,等觉得不合适了再换。这对于孩子尤其不好———英语学习进行不下去,就停止或换班,不但会让孩子学习英语的兴趣磨没了,而且,由于师资水平不一,孩子学到的是“夹生英语”,以后想要纠正过来都比较困难。所以,家长们选择好、决定好可信任的教学思想、方法和师资之后,不要轻易换来换去,这样只会给孩子的外语学习带来适得其反的效果。

  寻找一个学习伙伴

  学习英语还要有较大的动力。每次你坐下来学习,无论在家里还是在语言中心,都需要短期动力集中精力读和听。但更需要长期动力,保证每天经常做这样的事情———这是最难的。所以许多人开始学习英语,过一段时间很快就放弃了———我们学习英语不是一个持续的提高过程,而是通过一系列的突然提高以及间隔着似乎没有变化的阶段,这就是所谓“高原效应”。在几个月的学习中,你都可能注意不到英语的巨大提高,在这些时候,学习者最容易失去长期的动力并放弃学习。

  避免“高原效应”的好办法是,尽量不要完全一个人学习。如果你不能到语言中心学习,至少你应尝试找一个“学习伙伴”,这样,你们能够互相鼓励和支持。当然,如果能到一个好的语言中心学习就更不错了。
 
posted @ 2006-04-09 19:01 MEYE 阅读(295) | 评论 (0)编辑 收藏
  数据库设计方法、规范与技巧  

本文链接:
http://www.openphp.cn/index.php/art.../100/index.html

  一、数据库设计过程
  数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
  数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
  1. 需求分析阶段
  需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。
  需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
  需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。
  常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。
  分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。
  数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。
  数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。
  数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,
         取值范围,取值含义,与其他数据项的逻辑关系}
  数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
  数据流描述={数据流名,说明,数据流来源,数据流去向,
         组成:{数据结构},平均流量,高峰期流量}
  数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,   
          组成:{数据结构},数据量,存取方式}
  处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},
          处理:{简要说明}}
  2. 概念结构设计阶段
  通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
  概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。
  概念模型特点:
  (1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。
  (2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。
  概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。
  使用IDEF1X方法创建E-R模型的步骤如下所示:
  2.1 第零步——初始化工程
  这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。收集源材料是这阶段的重点。通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。
  2.2 第一步——定义实体
  实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。
  2.3 第二步——定义联系
  IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系。根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。
  2.4 第三步——定义码
  通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值。找出误认的确定关系,将实体进一步分解,最后构造出IDEF1X模型的键基视图(KB图)。
  2.5 第四步——定义属性
  从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。
  2.6 第五步——定义其他对象和规则
  定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。
  3. 逻辑结构设计阶段
  将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。
  将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:
  1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。
  2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。
  3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
  4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
  5)三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。
  6)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。
  7)具有相同码的关系模式可合并。
  为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化。确定数据依赖。消除冗余的联系。确定各关系模式分别属于第几范式。确定是否要对它们进行合并或分解。一般来说将关系分解为3NF的标准,即:
  表内的每一个值都只能被表达一次。
  表内的每一行都应该被唯一的标识(有唯一键)。
  表内不应该存储依赖于其他键的非键信息。
  4. 数据库物理设计阶段
  为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
  5. 数据库实施阶段
  运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库 、编制与调试应用程序、数据库试运行
  6. 数据库运行和维护阶段
  数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。

  建模工具的使用
  为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具),如Rational公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner以及Oracle公司的Oracle Designer等。
  ERwin主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。ERwin工具绘制的模型对应于逻辑模型和物理模型两种。在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性。在物理模型中,ERwin可以定义对应的表、列,并可针对各种数据库管理系统自动转换为适当的类型。
  设计人员可根据需要选用相应的数据库设计建模工具。例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。
  二、数据库设计技巧
  1. 设计数据库之前(需求分析阶段)
  1) 理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。
  2) 了解企业业务可以在以后的开发阶段节约大量的时间。
  3) 重视输入输出。
  在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。
  举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。
  4) 创建数据字典和ER 图表
  ER 图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。对SQL 表达式的文档化来说这是完全必要的。
  5) 定义标准的对象命名规范
  数据库各种对象的命名必须规范。
  2. 表和字段的设计(数据库逻辑设计)
  表设计原则
  1) 标准化和规范化
  数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。
  举例:某个存放客户及其有关定单的3NF 数据库就可能有两个表:Customer 和Order。Order 表不包含定单关联客户的任何信息,但表内

  会存放一个键值,该键指向Customer 表里包含该客户信息的那一行。
  事实上,为了效率的缘故,对表不进行标准化有时也是必要的。
  2) 数据驱动
  采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。
  举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持表里。还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。角色权限管理也可以通过数据驱动来完成。事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。
  3) 考虑各种变化
  在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。
  举例,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。

  字段设计原则
  4) 每个表中都应该添加的3 个有用的字段
  •?dRecordCreationDate,在VB 下默认是Now(),而在SQL Server 下默认为GETDATE()
  •?sRecordCreator,在SQL Server 下默认为NOT NULL DEFAULT USER
  •?nRecordVersion,记录的版本标记;有助于准确说明记录中出现null 数据或者丢失数据的原因
  5) 对地址和电话采用多个字段
  描述街道地址就短短一行记录是不够的。Address_Line1、Address_Line2 和Address_Line3 可以提供更大的灵活性。还有,电话号码和邮件地址最好拥有自己的数据表,其间具有自身的类型和标记类别。
  6) 使用角色实体定义属于某类别的列
  在需要对属于特定类别或者具有特定角色的事物做定义时,可以用角色实体来创建特定的时间关联关系,从而可以实现自我文档化。
  举例:用PERSON 实体和PERSON_TYPE 实体来描述人员。比方说,当John Smith, Engineer 提升为John Smith, Director 乃至最后爬到John Smith, CIO 的高位,而所有你要做的不过是改变两个表PERSON 和PERSON_TYPE 之间关系的键值,同时增加一个日期/时间字段来知道变化是何时发生的。这样,你的PERSON_TYPE 表就包含了所有PERSON 的可能类型,比如Associate、Engineer、Director、CIO 或者CEO 等。还有个替代办法就是改变PERSON 记录来反映新头衔的变化,不过这样一来在时间上无法跟踪个人所处位置的具体时间。
  7) 选择数字类型和文本类型尽量充足
  在SQL 中使用smallint 和tinyint 类型要特别小心。比如,假如想看看月销售总额,总额字段类型是smallint,那么,如果总额超过了$32,767 就不能进行计算操作了。
  而ID 类型的文本字段,比如客户ID 或定单号等等都应该设置得比一般想象更大。假设客户ID 为10 位数长。那你应该把数据库表字段的长度设为12 或者13 个字符长。但这额外占据的空间却无需将来重构整个数据库就可以实现数据库规模的增长了。
  8) 增加删除标记字段
  在表中包含一个“删除标记”字段,这样就可以把行标记为删除。在关系数据库里不要单独删除某一行;最好采用清除数据程序而且要仔细维护索引整体性。
  3. 选择键和索引(数据库逻辑设计)
  键选择原则:
  1) 键设计4 原则
  •?为关联字段创建外键。
  •?所有的键都必须唯一。
  •?避免使用复合键。
  •?外键总是关联唯一的键字段。
  2) 使用系统生成的主键
  设计数据库的时候采用系统生成的键作为主键,那么实际控制了数据库的索引完整性。这样,数据库和非人工机制就有效地控制了对存储数据中每一行的访问。采用系统生成键作为主键还有一个优点:当拥有一致的键结构时,找到逻辑缺陷很容易。
  3) 不要用用户的键(不让主键具有可更新性)
  在确定采用什么字段作为表的键的时候,可一定要小心用户将要编辑的字段。通常的情况下不要选择用户可编辑的字段作为键。
  4) 可选键有时可做主键
  把可选键进一步用做主键,可以拥有建立强大索引的能力。

  索引使用原则:
  索引是从数据库中获取数据的最高效方式之一。95%的数据库性能问题都可以采用索引技术得到解决。
  1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写。
  2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上。
  3) 不要索引memo/note 字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间。
  4) 不要索引常用的小型表
  不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间。

  4. 数据完整性设计(数据库逻辑设计)
  1) 完整性实现机制:
  实体完整性:主键
  参照完整性:
  父表中删除数据:级联删除;受限删除;置空值
  父表中插入数据:受限插入;递归插入
  父表中更新数据:级联更新;受限更新;置空值
  DBMS对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机制
  用户定义完整性:
  NOT NULL;CHECK;触发器
  2) 用约束而非商务规则强制数据完整性
  采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。
  3) 强制指示完整性
  在有害数据进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。
  4) 使用查找控制数据完整性
  控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公共数据特别适合查找:国家代码、状态代码等。
  5) 采用视图
  为了在数据库和应用程序代码之间提供另一层抽象,可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自由。
  5. 其他设计技巧
  1) 避免使用触发器
  触发器的功能通常可以用其他方式实现。在调试程序时触发器可能成为干扰。假如你确实需要采用触发器,你最好集中对它文档化。
  2) 使用常用英语(或者其他任何语言)而不要使用编码
  在创建下拉菜单、列表、报表时最好按照英语名排序。假如需要编码,可以在编码旁附上用户知道的英语。
  3) 保存常用信息
  让一个表专门存放一般数据库信息非常有用。在这个表里存放数据库当前版本、最近检查/修复(对Access)、关联设计文档的名称、客户等信息。这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用。
  4) 包含版本机制
  在数据库中引入版本控制机制来确定使用中的数据库的版本。时间一长,用户的需求总是会改变的。最终可能会要求修改数据库结构。把版本信息直接存放到数据库中更为方便。
  5) 编制文档
  对所有的快捷方式、命名规范、限制和函数都要编制文档。
  采用给表、列、触发器等加注释的数据库工具。对开发、支持和跟踪修改非常有用。
  对数据库文档化,或者在数据库自身的内部或者单独建立文档。这样,当过了一年多时间后再回过头来做第2 个版本,犯错的机会将大大减少。
  6) 测试、测试、反复测试
  建立或者修订数据库之后,必须用用户新输入的数据测试数据字段。最重要的是,让用户进行测试并且同用户一道保证选择的数据类型满足商业要求。测试需要在把新数据库投入实际服务之前完成。
  7) 检查设计
  在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库。换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据。
  三、数据库命名规范
  1. 实体(表)的命名
  1) 表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名,其余依次类推)
  对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字。在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCLE会将字段名称统一成大写或者小写中的一种,所以要求加上下划线。
  举例:
  定义的缩写 Sales: Sal 销售;
  Order: Ord 订单;
  Detail: Dtl 明细;
  则销售订单明细表命名为:Sal_Ord_Dtl;
  2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。
  举例:
  定义的缩写 Material Ma 物品;
  物品表名为:Material, 而不是 Ma.
  但是字段物品编码则是:Ma_ID;而不是Material_ID
  3) 所有的存储值列表的表前面加上前缀Z
  目的是将这些值列表类排序在数据库最后。
  4) 所有的冗余类的命名(主要是累计表)前面加上前缀X
  冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表
  5) 关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。
  关联表用于保存多对多关系。
  如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因,建议都使用缩写。
  举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;
  表 Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp
  2. 属性(列)的命名
  1) 采用有意义的列名,表内的列要针对键采用一整套设计规则。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。如果键是数字类型,你可以用_NO 作为后缀;如果是字符类型则可以采用_CODE 后缀。对列名应该采用标准的前缀和后缀。
  举例:销售订单的编号字段命名:Sal_Ord_ID;如果还存在一个数据库生成的自动编号,则命名为:ID。
  2) 所有的属性加上有关类型的后缀,注意,如果还需要其它的后缀,都放在类型后缀之前。
  注: 数据类型是文本的字段,类型后缀TX可以不写。有些类型比较明显的字段,可以不写类型后缀。
  3) 采用前缀命名
  给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来。
  3. 视图的命名
  1) 视图以V作为前缀,其他命名规则和表的命名类似;
  2) 命名应尽量体现各视图的功能。
  4. 触发器的命名
  触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加"_I",Delete触发器加"_D",Update触发器加"_U",如:

  TR_Customer_I,TR_Customer_D,TR_Customer_U。
  5. 存储过程名
  存储过程应以"UP_"开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分。如增加代理商的帐户的存储过程为"UP_Ins_Agent_Account"。
  6. 变量名
  变量名采用小写,若属于词组形式,用下划线分隔每个单词,如@my_err_no。
  7. 命名中其他注意事项
  1) 以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识字符@)。
  2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符之间留空格。
  3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
  5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。


posted @ 2006-04-07 21:34 MEYE 阅读(409) | 评论 (0)编辑 收藏
个人总结 之 英语学习网站汇总(背单词,听力,写作,翻译,综合都有)
回复此消息
英语周报——专业辅导英语学习  http://www.ew.com.cn/ 
轻松背单词网——每天挤出3小时 日背单词120  http://www.easy-english.org/
中国四六级考试网 http://www.china-cet.com/
快乐英语——梦想皆有神助 http://www.joyen.net/
中国翻译网 http://www.translator.com.cn/
英语辅导报 http://www.ecp.com.cn/
广播英语网 http://www.broadcastenglish.com/
普特英语听力——英语听力的天空  http://www.putclub.com/
西部时空英语听力  http://202.100.72.44/news/yingyutl/yingyutllist.htm
英文写作网 http://www.4ewriting.com/
[:E][good][good][V][V][F][F] 


E学论坛

http://bbs.exue.com.cn/index.php?group=kaoyan
posted @ 2006-04-07 21:22 MEYE 阅读(517) | 评论 (0)编辑 收藏
职场:迈过职业生涯中的5个坎

职业管理顾问张会亭认为,一个人的职业生涯发展可分作五个阶段,把握住每个阶段可能出现的问题,提前规划,才能让自己掌握主动权。 

  第一坎:“青黄不接”阶段 

  张会亭认为,工作1-3年是职业生涯最“青黄不接”的阶段:你既不像毕业生那么“单 
 
纯”,又不像有四五年资历的那样能“独当一面”,正处于“一瓶不满,半瓶晃荡”的状态,那么这时候你如果跳槽找工作,其难度可想而知。 

  这个阶段的主要疑问是:“我是谁?”“我能做什么?”迷茫的主要原因是缺乏自信和社会经验。张会亭的忠告是,这段时间最好不要轻易跳槽,相反,如果这段时间你较为“安静”,你往往能够积累到你一生中第一次“从学习迈向工作”时段内宝贵的工作技能和坦然的就业心态,许多人“爱跳槽”的毛病往往都是从这个阶段“稳不住窝”开始养成的。 

  第二坎:“职业塑造”阶段 

  张会亭说,工作3-5年后,你就会逐渐步入“职业塑造”阶段,逐渐熟悉组织文化,了解组织内情,建立初步的人际关系网,经过一段时期后,你的“职业性格特点”就暴露出来了:哪些是你特长的地方,而哪些又是你不足的地方,于是你开始进入“职业塑造”阶段,对职业方向进行合理调整和矫正。 

  那么,怎样来进行“合理的调整与矫正”呢?张会亭建议,不妨在你工作的相关领域先适当地改换一下工作方式,比如在同一个公司内部的不同部门适当进行换岗,这样不仅能开拓视野,增添新鲜感,还能测试出你究竟最适合做什么工种。如果发现你的性格和特长与现有工作偏差太大,那么一定要当机立断马上改行,这时候千万不要贪恋现有工作薪水有多高,环境有多好。 

  第三坎:“职业锁定”阶段 

  工作5-10年,随着你对自身优劣势及性格特点的日渐清晰和不断的实践锻炼,你渐渐由“职业塑造阶段”走向了“职业锁定阶段”,开始认定“你是干哪一行的”了。 

  在这个阶段,有的人积累了比较丰富的经验,承担起工作的责任,发挥并发展自己的能力,为提升或进入其它职业领域打基础;有的人会产生新的疑问:“为什么这么多年来我一事无成?”“理想和现实不相符,我是不是需要重新选择?”迷茫的主要原因和个人的发展目标与组织提供的机会和职业通路不一致。 

  这时候又该怎么办呢?你如果依然愿意尝试这份工作,就应该首先端正态度,决不能整天愤世嫉俗、怨天尤人,而应该投入战斗,在战斗中快速磨练和积极探索,不断修正下一步的工作流程和发展方向。 即便是已经暂时“锁定”了你的职业种类,也千万不要每天得过且过地混日子。相反还要更加勤奋地不断寻求自我突破,逼迫自己不断跨越新的高度。 

  第四坎:“事业开拓”阶段 

  工作10?15年,你的“职业”将成为终身的“事业”,意味着你开始从前期“职业阶段”中的技能、经验及资金积累走向人生事业的开拓历程。可能你在这个阶段仍然保持着原来的“职业”状态,仍然是每天在为“老板的事业”而奔波,但年龄和阅历已经将你推向了事业发展的起跑线。并且你跑也得跑,不跑也得跑,你要为自己而跑,你的家庭开始逼迫你为他们着想,你的事业心和成就感都决定了你要开始考虑自我了。 

  这个阶段可能你会遇到的主要疑问是:“接下去的岁月,应该做些什么?”人到中年,很多人在机会面前不敢贸然决定,因为从心理上理解了人生的有限,而自己也开始重新衡量事业和家庭生活的价值。在大约35岁到45岁之间,会发生职业生涯危机。 

  第五坎:“事业平稳”阶段 

  工作15年以后,你已经步入“不惑之年”,前期“职业阶段”和“事业开拓阶段”已经为你留下了几多积淀。在这个阶段,你所需要的是如何使你的事业能够在平稳的过程中持续上升。这期间你还要不断地去观察市场、了解市场,不能有丝毫的松懈,所以你可能会感觉很累、很辛苦,不过你见的多了,承受压力的能力也增大了很多,于是你也就能游刃有余了。 

  你曾经的一切豪言壮语和海誓山盟在这个阶段变为现实,你被推上了事业的巅峰,不过这一切美妙结果的前提就是你先要在前面的几个阶段表现都很努力,也很用心,这就是“世间自有公道,付出定有回报”的道理。
posted @ 2006-04-07 20:37 MEYE 阅读(279) | 评论 (0)编辑 收藏
总结关于找工作的20条经验

吐血总结关于找工作的20条经验

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%的失业率就意味着你将近一成的师兄师姐还没工作呢),所以你必然要碰上一些情况,碰上以后比较合理的选择就是忍气吞声,知道要计较什么不要计较什么,反抗不了就尽情享受吧。
  
   祝雇主们在2006年能找到最中意的青年才俊,祝工友们在2006年都能找到最合理的(不是满意的)工作!
   2006年,我们一起进步!
posted @ 2006-04-07 20:36 MEYE 阅读(298) | 评论 (0)编辑 收藏
成就DBA职业生涯

http://www.itpub.net/519295.html
*介绍
  许多年来,我在不同的新闻组上花费了很多时间与那些想知道如何得到数据库管理员(DBA)的工作或者如何成长为一名DBA的IT人进行交谈,现在他们有了工作。这些年来许多人针对如何达到这个目标提出了不同意见。本文即是那些意见的综合并且能够在如何才能出色的完成DBA的工作方面给出好的建议。这篇文章同样对于如何让一名DBA变得对老板更有价值。假如你已经是一名DBA,那么也许你会希望跳过文章的前几段。
*我应该成为一名DBA么?
  我曾问过的一个问题是一个人应该从事DBA这样的职业么。这个问题并不容易回答,因为它因人而异。有的人有成为一名好DBA所需要的天赋。而其他人并不认为能够很容易掌握成为DBA的秘诀。DBA职业需要掌握一定的技能。而且还需要其他IT职业所不必需的要求。因此,为了回答这个问题,我通常给将要成为DBA的人描述DBA职业所必需的要求。下面的段落中,我都将以问题结尾。在继续下一段以前请花一些时间考虑并且回答这些问题。
  许多人因为许多原因而立志要成为DBA。其中一个主要原因是薪水。DBA是IT业中薪水最高的职业之一。其他人想成为DBA是因为喜欢赞扬DBA是受到的荣誉,或者因为他看上去很酷!我个人认为,成为DBA是很值得的。它是一个很有意思,令人兴奋的职业。那么,你把DBA作为一个可能的职业选择的原因是什么呢?
  除非你已经提前准备好了,否则你可能会发现从事DBA职业充满了挫折和令人头痛。一个数据库存在于操作系统和最终用户应用程序之间。同样地,DBA必须非常精通他的数据库所在的操作系统。DBA并不一定需要知道所有有关操作系统的知识,但是他知道得越多越好。数据库与操作系统联系非常紧密。理解这种关联是十分必要的。DBA还需要知道服务器硬件以及它如何影响与帮助数据库。同时,DBA必须理解应用软件。DBA可能会被要求帮助开发人员创建可靠,健全的数据库应用程序。还有,最重要的也是最明显的,DBA必须十分彻底的理解数据库引擎,它是如何工作的,所有的引擎是如何组合在一起的,以及如何影响数据库引擎向最终用户和应用程序传送数据的能力。我见过的最好的DBA有非常深刻的理解而且不仅仅在数据库本身。他们知道一些系统管理与应用开发。好多时候他们在成为DBA之前有其中一个或两个背景。无论如何,成为一名合格的而不是出色的DBA也需要许多背景知识。你是否已经做好准备开始学习直到你感到已经无法再学下去了?
  许多和我交谈过的,在开始DBA职业时遇到困难的人,在尝试着吸收大量DBA所需了解的信息时实际上都会有一些问题。毕竟系统管理员是全职学习操作系统的细节。应用程序开发人员全职学习如何编写好的程序。DBA不仅要非常了解这两种不同的工作,而且还需要花费更多的时间去理解数据库的体系结构,以及理解每一样东西的每一块是如何组合在一起的!听起来是不是很让人畏缩?有许多人失败后这样想,并且把DBA工作看作一项非常困难的事情。也有那些传播和理解所有这些信息,并且使用这些信息做出好的,听起来具有技术性的决定的人。正如我以前是一名DBA时喜欢说的,所有这些对我来说看上去像一个大谜团。把这些所有的很好的组合在一起就是挑战。你是哪一种人?
  许多DBA是随时侯命的。他们会在白天或晚上的所有时间接到呼叫去解决他们的数据库出现的致命问题。数据库是商业信息技术基础组织的必不可少的组成部分。没有数据,就没有必要拥有一个计算机系统。数据推动商业。假如amazon.com的网站不能在数据库中搜索产品并且假如没有人能够为他们的产品下订单,那么它会变成什么样?它就不会在商业中存在很久。当数据库down掉,即使只是很短的时间,公司也会损失重大。基于这个原因,DBA到达现场后必须尽可能迅速的解决问题。许多公司有自己的DBA团队以便可以轮流待命。这些DBA 24x7小时的维持数据库应用程序。假如工作需要的话,你准备好随时候命了么?
  一些DBA的职责包括为软件打补丁或者对数据库做些改变。通常,这些操作不能在公司职员工作的时候做,因为此时数据库必须运行以便他们能够工作。这意味着DBA经常不得不在很早或者深夜甚至周末,总之,在正常工作时间以外来完成工作。你准备好在非正常时间工作,或者你在找一个朝九晚五的工作?
  对DBA而言,需要掌握的一个重要内容就是通常被称为“软技术”的东西。DBA需要在团队中很好的工作,通常团队是在变化的,如系统管理员,网络管理员,应用程序开发人员,项目经理和其他人。DBA要能够用流利的英语解释复杂的技术概念,让团队中其他人明白。DBA还要能够在数据库相关问题上指挥团队队员。你的软技术怎么样?
  下面不是全部列表,但是包括了DBA的典型职责:
  **把监视数据库实例当作每日必做工作以保证其可用性。解决不可用的问题。
  **收集系统统计和性能信息以便定向和配置分析。
  **配置和调整数据库实例以便在应用程序特定要求下达到最佳性能。
  **分析和管理数据库安全性。控制和监视用户对数据库的访问。必要时审计数据库的使用。
  **监视备份程序。必要时提供恢复。测试备份与恢复程序。
  **升级RDBMS软件并且在必要时使用补丁。必要时升级或者迁移数据库实例。
  **通过数据库相关动作来支持应用程序开发人员。
  **跟随数据库趋向和技术。当可应用时使用新技术。安装,测试和评估Oracle新的相关产品。
  **执行存储和物理设计。均衡设计问题以完成性能优化。
  **创建,配置和设计信的数据库实例。
  **诊断,故障检测和解决任何数据库相关问题。必要时联系Oracle支持人员以便使问题得到较好的解决。
  **确保Oracle网络软件(SQL*Net, Net8, Names, OiD)配置和运行的很好。
  **与系统管理员(Unix & NT)一起工作以保证Oracle相关事务得到很好的处理。
  **为有效的,定期的维护数据库创建任何必要的脚本。
  前面各段的问题是为了使你考虑一名DBA该做些什么,帮助你决定这是不是适合你的职业。我并非意味着假如你的目标是成为DBA这些会阻止你。我只是尝试着展现一些事实。我看到过一些DBA一旦被实际工作打击了就一蹶不振。他们花费时间,精力和一些金钱获得了他们的第一份DBA工作。我个人认为这个职业非常有价值。而且我无法想像现在做任何其他的会怎样。所以,这一段帮助你决定这是不是你希望从事的。假如它是,那么尽你所有去得到它!
*我怎样得到第一份DBA工作?
  你已经阅读了前面的段落并且认为成为一名DBA是一个好的职业。祝贺你!我希望你的职业能变成你想像得那么令人兴奋和有意义。那么,你如何找到第一份DBA工作?这个问题我已经听别人问了许多许多遍。
  在90年代早期,因特网急速发展。它使公司象草一般萌芽。公司蜂拥而至并且开始创建他们在网上的形象。几乎所有这些有网站的公司都需要一个数据库作为web应用的后台。不幸的是,当时在该领域却没有那么多DBA。在IT业,DBA变得奇缺。那段时间里,得到一份DBA工作看上去只要可以拼出“Oracle”或者可能只是在大学里接触过一学期的数据库就行。为了使生活变得更好,DBA的匮乏促使公司付给有潜力的职员很高的薪水。假如你想要成为一名DBA,很容易,非常容易。你需要做的就是证明你了解什么是数据库然后工作就会比你预期的更早的出现在你面前。
  然后因特网的泡沫破灭了。大量投产因特网的公司破产。许多给公司工作的DBA重新寻找工作。缺少DBA的公司找到一名有DBA经验的人比以前容易得多。在21世纪初期,由于经济并不十分稳固,因此生活并不容易(至少在美国如此)。公司都勒紧了他们的裤腰带。所有这些转化为更少的工作机会和DBA候选人更少的工作空缺。
  得到第一份DBA工作的最艰难的部分是每一个职位都要求有一些工作经验。如果你从公司的角度出发,你就可以理解为什么对DBA职位而言经验是必需的。假如他没有一点经验,你会付给这个人很高的工资让他去操作,维护和运行你IT基础组织的最大最重要的一部分么?你的公司会付钱给一名没有经验的DBA么?并且,在等待他成长起来的过程中可能会损失上百万美元的收入。对大多数公司而言,这些问题的答案肯定是‘不’。所以,没有经验,获得你的第一份DBA工作是很困难的。
  第一份DBA工作现在成了恶性循环的境遇。假如我没有任何经验,我怎样才能得到DBA的工作呢?我没有工作的话又怎么能得到DBA经验呢?这是要战胜的最困难的障碍。最困难的部分是获得第一个DBA工作。这部分的剩下部分将针对实现你第一个DBA工作的目标给你一些建议。
  提示#1:接受教育。 - 尽可能多的学习有关数据库的知识。这很可能将占用你正常工作以外的部分时间也精力。参加本地大学举办的数据库培训班。许多培训公司都会举办数据库管理员的培训班。假如你的老板不资助你的学习,那么你可能不得不自己支付这笔费用。许多DBA职业要求至少为计算机科学或相关专业本科以上学历,因此你必须至少有那样的文凭。
  提示#2:锻炼成为DBA。 - 许多数据库供应商都允许你下载他们数据库系统的测试版或评估版。下载一份并且在自己的个人电脑上安装软件。练习使用数据库。故意破坏数据库并且尝试修复它。尝试着履行你所能想到的尽可能多的DBA职责。测试和磨练你在自己的测试平台上的技能这样你就可以证明你的数据库管理能力。
  提示#3:获得认证。 - 许多数据库提供商都提供自己的数据库产品的认证。许多公司现在都把认证看作是一种标准。需要记住的一件事是仅获得认证是不够的。通过DBA认证测试并不意味着你知道如何管理一个数据库。它只是告诉你以后可能的老板,现在你拥有了一定的技术。它还告诉你的老板你对DBA工作的态度是很认真的。我看到许多人抱怨他们已经得到了认证但是没有经验,却仍然不能得到第一份DBA工作。认证本身并不能使你得到工作,但它是无害的。即使没有其他的,在你进行认证的时候你也已经学到了许多知识。只是不要依赖认证来给你带来你要找的工作。你需要的比这还要多。但它会在最后帮助你。
  提示#4:利用你现有的技能。 - 许多DBA具有系统管理员背景。其他的有应用程序开发背景。假如可能,查看你能否利用现有的技能来得到工作。现在的目标就是为你和你的老板创造一个双赢的局面。例如,让我们假设你已经是一名系统管理员而想进入DBA领域。也许你会找到一份工作,这份工作一部分时间里可以用到你的系统管理技能,并且在剩下的时间里可以使你涉及到数据库管理领域。假如你已经是一名某个产品平台上的DBA但你希望转到其他产品平台,那么看看你能否找到一份同时接触两个产品平台的工作。这样,公司和你都得到了想要的。在你定向到了DBA工作后,你可以试着得到一个能让你全职作它的职位,也许还可以在同一个公司中。
  提示#5:利用现在的机会。 - 有时候,一个人进入DBA领域仅仅需要的是正确的地方和正确的时机。假如你现在的老板有一个机会让你进行任何数据库的项目,抓住这个机会!任何数据库经验就比没有数据库经验要好。让你的管理者知道你十分积极的在寻找任何可能的数据库机会。他们就有可能在下次机会到来的时候想到你。进行这些数据库项目以及看到你要成为一个DBA的渴望以后,他们可能会决定培训你,提拔你。许多许多人都是以这种方式获得他的第一个DBA工作,在进行了一些数据库相关的项目后不知不觉的成为一名较低级的DBA。通常当一名DBA离开公司后,公司将在内部寻找一个候选人,假如他们认为这名候选人是可训练的话。
  提示#6:寻找较低级的DBA职位。 - 假如你只是为了一个较低级的DBA工作,看到DBA职位的需求描述说他们正在寻找高级DBA或者其他的。所以,让我们严谨一些。你并没有一个高级方面的经验。我已经讨论过了对于这样的职位为什么公司不会考虑你。但是他们会在低级的职位上考虑你。低级的DBA在高级DBA的指导下完成工作。他们摸索窍门。一般来说,高级DBA对数据库承担责任,同时也获得所有的荣誉。但是不要焦急。随着你的事业发展,你将会有越来越多的责任和得到越来越多的信任。因为你没有任何经验,你应该从这里开始启航。
  我也听到过一些公司寻找一名高级DBA,但是到最后,他们实际想要雇一名低级的DBA。你或许希望申请这样的职位虽然你也许没有资格。他们可能还是会决定雇佣你。但是提前说明你仍然在摸索阶段并且已经是较低级的DBA水平。不要试图欺骗他们让他们认为你是高级DBA的水平。这只会降低你得到这项工作的机会。
  这些提示将帮助你得到第一份DBA的工作。祝你在寻找工作时有好运气。当你已经找到了第一份DBA工作后,继续下面的部分来学习如何往下走下去。
*我刚得到我的第一份工作!现在该怎样?
  祝贺你!你现在是DBA俱乐部的正式成员了!对于这份梦寐以求的令人激动的职业,你准备好了么?你的工作才刚开始并且你在学习上已经落在后面。你将会发现要成为一名高效的数据库管理员有大量的知识你必须掌握。你的第一年或前两年将花费比以前更多的时间来学习。假如你发现学习知识的数量使你大脑超负荷,那么休息一下,歇口气,然后再回到学习中去。为了帮助你继续走下去,你可以按照下面的方法进行:
  步骤#1: 关系型数据库理论 - 这部分我假设你将管理的数据库是一个“关系型”数据库。其他数据库模型也存在,但是关系型模式是近二十年工业上占统治地位的一种数据库模式。假如你的数据库系统是其他的模式,那么学习它的理论。相关数据库理论是十分重要的。它是其他一切的基础。我也看到许多跳到数据库管理职位的人从不想去学习纯粹的关系型数据库理论。不可避免的,在他们的事业中对理论基础的匮乏作为缺点暴露了出来。假如你对关系型数据库理论理解得很好,那么你将非常容易的在任何平台的关系型数据库管理系统(RDBMS)中转变。我使用Oracle数据库,或者IBM的DB2,或者微软的SQL Server是无关紧要的。他们都是关系型数据库系统。他们在最底层都在做着相同的事情。区别在于他们怎样去做相同的事情。纯粹的关系型数据库理论对于较低级的DBA来说并非必需的。但是假如你想要超越低级DBA的水平它就是十分重要的。许多大学的教科书都很好的包含了关系型数据库的理论。其中一本被广泛使用的教科书就是由Elmasri and Navathe编写的数据库系统基础,Bejamin/Cummings Press。
  步骤#2: 彻底的学习查询语言 - 数据库都有语言让你能够从数据库中得到数据,把数据放到数据库中,以及修改数据库中的数据。对于关系型数据库而言,这种语言就是结构化查询语言(SQL)。这门语言是你与数据库接触的工具。不能让这个工具成为以后学习的障碍,这一点很重要。在你的测试数据库中练习不同的SQL语句直到他们变成了你的习惯。这方面的一本非常好的书叫做Oracle 9i完全参考(Oracle 9i The Complete Reference)由Loney 和Koch编写,Oracle Press。每一名Oracle DBA都应该在他事业的早期阅读这本书。Oracle 9i参考手册(Oracle 9i SQL Reference manual)是另一个很重要的知识来源。在他们的技术网站TechNet上( http://technet.oracle.com )你可以访问所有的Oracle在线文档。你必须注册一个账号,但是它是免费的。每个都应该在TechNet上有一个账号。
  步骤#3: 开始学习基本的数据库管理工作 - 这难道不是你最开始在这里的原因?为什么它在列表的第三位?我们尝试着建造一个知识的金字塔,我强烈的感觉到一个人需要知道关系型数据库理论和SQL,并且在你学习如何进行基本的数据库管理工作时把他们当作工具来使用。这些工作包括启动和关闭数据库,备份和恢复数据库,以及创建/删除/修改数据库对象。对于Oracle数据库管理而言,在市面上有大量的书籍可以给你所期望的一个很好的体会。这本书是Oracle 9i DBA手册(Oracle 9i DBA Handbook by Loney on Oracle Press)。我知道的大多数DBA都在他们事业的早期不只一遍的阅读过这本书。这里,你应该同时阅读和理解Oracle 9i 概念指导,Oracle 9i管理员指导,以及Oracle 9i备份与恢复指导(Oracle 9i Concepts Guide, the Oracle 9i Administrator’s Guide, and the Oracle 9i Backup and Recovery Guide)都来自Oracle文档。
  步骤#4: 阅读,阅读,再阅读 - 由于你才刚开始你的DBA职业生涯,因此你正在开始为你的技能奠定基础。这需要一段很长的时间去形成,吸收和领会所有你将学到的知识。毫无疑问的,比你资深的DBA由许多工作要做,因此他们可能不会总是腾出大量时间辅导你的学习。你不得不靠自己学习很多东西。这就是阅读的目的。市面上有许多书籍可以解答许多数据库相关的话题。Oracle Press是Oracle公司的官方出版社,有大量的Oracle相关书籍。同时也有其他的出版社,如Wrox Press 和 O’Reilly Press。你也可以找到Oracle文档来阅读。并且还有许多网站和新闻组。尽可能多的读书使你能够继续下去。还有,不只一遍的阅读它们可以使你吸收你第一次阅读时错过的内容。
  步骤#5: 创建测试案例 - 我经常看到初学者问一些很基础的问题,其实假如他们花一些时间来考虑,这些问题都是很容易解答的。毫无疑问的,在你开始学习Oracle的时候你会有许多的问题。看看这些问题你能不能自己回答出来。例如,我又一次被问到能不能向有唯一性约束的列中插入空值。最开始,这看上去也许不是很容易回答的问题。但它却是非常容易去试验的!只需要创建一个简单的表。在其中的一列,假如唯一性约束。尝试着在该列插入一个空值。有效么?你应该能够非常容易的回答出这个问题了。那么,为什么要创建这些案例呢?一个原因是这样做可以提高你解决问题的能力。创建这些案例需要的技能就是解决问题用到的技能。解决问题的技能将会对你的DBA事业有很大的帮助。另一个原因是随着你的事业的发展,你将经常需要创建更复杂的测试案例以便保证数据库和应用程序的成功。在将来,甚至简单的测试案例也可以组成更复杂的数据库和应用程序分解。
  步骤#6: 找一个良师 - 一个良师能够为你的DBA生涯(或者其它类似的职业)引领方向。他们能够给你指示,回答问题以及在你的DBA的成长过程中帮助你节约一些时间。但愿这篇文章能够在你事业发展的一段时间内起到良师益友的作用。假如你与一名资深的DBA共同工作,那么那个人应该有责任为你的事业进行有益的指导。你也可以同时选择其他的人指导你。
  步骤#7: 参加本地用户群 - 许多跨国家的城市有本地用户群,他们定期聚会讨论数据库相关的话题。假如可能,参加其中一个本地用户群。这将给你一个与他人相互交流的很好的方法。
*我如何能够从一名DBA初学者变为一个具有中级水平的DBA?
  你已经成为DBA一段时间了,你现在希望你的技术水平提高一阶么?下一步该怎么做?首先,往回看前面的部分,确认你已经完成了所有的步骤。彻底理解SQL语言是十分重要的。理解关系型数据库理论和掌握基本的数据库管理任务也是非常重要的。到如今,你应该阅读文档和其他书籍到已经郁闷了。假如没有,那么你还没准备好继续深造,增长你的DBA的技术水平。假如你已经准备好继续了,我已为你的继续深造准备了一些方法。
  步骤#1: 学习操作系统和你的服务器硬件 - 正如我前面所说,数据库存在于操作系统和服务器硬件之上。理解这些组成部分如何工作是很必要的。你应该知道如何与特殊的操作系统相合。你如何删除或者编辑文件?假如你的操作系统是Unix,你应该掌握命令行以及Unix命令如何辅助你工作。对于运行在Windows或其他操作系统上而言也是一样的。你同时需要对服务器的硬件有一定的了解。物理内存和虚拟内存有什么区别?RAID是什么以及不同的级别是如何产生影响的?为什么数据库喜欢更多的物理硬盘而非一个大硬盘卷?你需要知道这些事情以便你能够容易的与系统管理员进行如何配置好你的服务器以便使它能够充分的支持数据库方面的交谈。
  步骤#2: 学习应用程序设计因为它与数据库相关 - 如前面所述,数据库存在于操作系统与数据库应用程序之间。你真的需要这两者。SQL语言是如何帮助创建好的应用程序的?绑定变量是什么并且为什么他们很重要?Tom Kyte 写了一本非常好的书,在Oracle应用程序设计上给出了很好的建议。他的Expert One-on-one Oracle书可在 Wrox Press找到。我强烈推荐阅读此书。他详细的叙述了那些能够生成和破坏Oracle应用程序的东西。你需要知道这些,因为你的应用程序开发人员希望从你这里得到指导和数据库知识。学习任何与应用程序设计有关的知识。也许参加一个关于软件工程,操作系统或数据结构的课程班会有好处。
  步骤#4: 取得认证 - 也许你的工作并不需要,但是取得认证一定对你有益。作为DBA的每一天里,你学到了许多新的和令人激动的事情。也许在你职业生涯的这段时间里,有几天你没学到任何新的东西。但你仍然有很多要学习。成为一名OCP(Oracle Certified Professional) DBA要求你必须已经学到了数据库管理所有方面的基础。我发现在OCP考试的学习过程中,我学到了在我工作中从未接触过的东西。一次我学到了我从未碰到过的一个特殊课题,在后来的日子里我就能够使用那个知识解决问题。假如我从为在OCP考试中学倒它,那么我永远也不会用那种特殊的方法去解决问题。这已经一次次的发生在我的面前。有的人可能会说认证实际上真的不值得。我要说它只会对你有益无害。所以,去取得认证吧!
  步骤#5: 获得一个资源库 - 在前面的部分中,我指出每个DBA都应该在Technet上有个账号。这是你其中一个主要资源。但是同时还有许多其他资源。很多人共享他们的Oracle知识。假如你还没有开始,你应该用网络浏览器去搜索并收集很多Oracle资源。愿意的话,你可以从访问我的网站( http://www.peasland.net )开始。下面是一些Oracle DBA必须了解得网站列表:
  **Ask Tom - http://asktom.oracle.com
  **Jonathan Lewis web site - http://www.jlcomp.demon.co.uk/
  **Ixora (Steve Adams) - http://www.ixora.com.au
  **Orapub - http://www.orapub.com
  **Metalink (Oracle支持网站) - http://metalink.oracle.com
  还有许多其它的好网站。
  步骤#6: 开始在不同的新闻组和论坛上交流 - 也许你已经发现了他们,但假如现在你还没有那么是时候去开始了。有许多的新闻组和论坛可以回答你的任何Oracle问题。在Oracle群落里还有许多高手愿意和你共享他们的知识。你所要做的就是提问。下面是一个列表包含了可以开始交流的最好的因特网团体:
  **Usenet newsgroups - comp.databases.oracle.server 和 comp.databases.oracle.misc 是两个可以交流的非常著名的世界性的新闻组。他们拥有大量的针对Oracle问题的交流卷宗。观看这些组的最好的方法式使用新闻广播员。但是假如你想通过基于web的方式访问,也可以通过Google搜索引擎搜索它。( http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=comp.databases.oracle)
  **Quest Pipelines - 当他们在最开始还属于软件提供商RevealNet的时候,被称为the RevealNet Pipelines。现在,Quest购买了RevealNet 并且拥有Pipelines 。因为Pipelines是中等的,所以这些是我最喜欢的。你可以在这里找到Pipelines ( http://www.quest-pipelines.com/index.asp )。
  观察别人是如何经历考验和磨难的是一件好事。假如你有问题,可以自由的在群里提出来。假如你要提出问题,通常应该包括一些信息,比如你的Oracle版本和Oracle运行的平台。这些将会得到有很大的差别的答案。假如你忘记了,会有人提醒你!甚至你不用提问也可以从其他人的答案中学到许多知识。我已经记不得多少次我之所以能够解决问题完全是因为我记得其他人在新闻组里问过相同的问题。
*我如何从一名具有中级水平的DBA转变为一名高级DBA?
  好,作为DBA你已经坚持不懈的努力了很长时间。你感到自己已经准备好往前再走一步。成为一名高级DBA需要什么?下面的部分将帮助你走下去。
  步骤#1: 阅读所有的文档 - Oracle文档通常并不是很容易阅读的。无数次,你翻阅文档只是为了要弄清整件事情。假如文档是最好的东西,那么那些站在你的书架里的Oracle书籍就不会有市场。但是文档确实包含了一些无法在任何其他地方找到的信息。例如,你无法找到每一个专门的INIT.ORA参数或V$视图的详细说明。书本上也许会涉及一部分,但是Oracle文档却包含它们所有。我遇到过一个非常厉害的高级DBA,他没有从头至尾的阅读过Oracle文档。这不是偶然的。Oracle文档是必须阅读的。也许到现在为止你已经读过Oracle概念指导十二遍了。但是当Oracle 10i发布了,你还要再次阅读。任何有关10i的新概念将在文档里记录。假如你真的想更上一层,那么,去阅读那些文档。不要逃避它。
  步骤#2: 成为一名专家 - Oracle数据库是一个非常复杂的东西。为了更上一层,你必须精通产品的许多组成部分。以备份与恢复开始。成为一名备份与恢复的专家。故意的破坏数据库然后察看如何恢复它。尝试以任何可能的方式破坏数据库然后查看还有没有可能恢复。你将彻底的理解备份与恢复的概念。在你成为了备份与恢复的专家以后,再去成为其他领域的专家。你会有无穷无尽的题目要去掌握。在你整个职业生涯中都保持如此。但是请记住,无论你有多么专业,在某些领域,某些人会在某些方面知道的比你多。不要带个人情绪。只是尽可能多的从那个人那里学到知识。
  步骤#3: 积极参加新闻组,论坛和用户组 - 在前面,我提过为什么不同的新闻组和论坛是学习新知识的很好的地方。现在轮到你进行下一步并且去回答任何你能够回答的问题。你将会惊讶于在这过程中你能学到那么多!
  步骤#4: 写白皮书并且展示它们 - 这与前面提到的方法类似。首先,共享你拥有的知识是很重要的。假如你的职业生涯已经走到这一步,那么从某种意义上讲,是离不开他人的贡献的。所以,现在是你为他人奉献的时候了。第二,当你企图共享你的信息的时候会有令人惊异的事情发生。在你要用清楚的,简练的语言表述问题以便其他人能够使用时,那些信息在你的头脑里经过了一个令人瞠目的过程。这个过程使你巩固了知识,这是无法通过其它方法进行的。所以在白皮书中共享那些信息,讨论会,以及新闻组和论坛都是你学习和使你的能力更上一层的非常好的方法。顺着这条路,你应该作两件事。第一,认识到你将会犯错误。其他人将会很高兴的指出那些错误,有时在某种意义上那并不是很好。不要企图掩藏你的错误。承认它们并从它们那里学习。第二,学会说你不知道答案而不是企图以欺骗的方式通过。人们早晚会知道你在企图蒙蔽他们。简单的告诉他们现在你对答案并不肯定,但你会在查到答案后回来告诉他们。假如你时刻谨记这两件事,你就不会违背你的诚实而且你将成长为一名职业的IT人。
  步骤#5: 成为解决Oracle问题的专家? 高级DBA通常都是被看作是解决复杂的Oracle问题的人。你将会用到你所有的技术来解决许多问题,这些技术都是你的职业生涯中积累下来的。我前面提到的任何事都将会在解决问题的过程中用到;文档,书籍,新闻组,测试案例,和其它DBA都将辅助你解决问题。
  步骤#6: 成为性能调优的专家? 高级DBA通常都是被看作是调整数据库和应用程序性能的人。假如你是高级DBA但是你却不能分析性能瓶颈,那么你的公司将会到别处寻找这些服务。
  步骤#7: 成为承载能力计划的专家? 高级DBA通常都是被看作是根据数据增长量和交易增长来计划数据库承载能力的人。高级DBA需要在影响应用程序性能以前发现系统瓶颈。例如,DBA应该知道在数据库将可用的磁盘空间用完以前预置更多的磁盘空间。不密切关注承载能力计划将会导致生产数据库宕机。
  步骤#8: 密切关注新的技术? 高级DBA应该对IT界的关数据库技术的未来有好的建议。有什么可用的技术可以帮助数据库?例如,学习存储领域网的优缺点以及如何把它们应用到数据库系统。有什么技术在不远的将来可以用,哪些能够帮助我们?例如,写这篇文章的时候,linux操作系统正在变得越来越流行。Lunix会给你的数据库操作系统平台带来些什么?它能为你的公司工作么?
*结论
  从获得第一份工作,到从一名初级的DBA成长成一名高级DBA,我希望这篇文章在如何度过你的职业生涯的各个阶段方面给了你一些建议。无论你现在处在你的DBA职业生涯的哪一阶段都可以用到这篇文章。

posted @ 2006-04-07 20:35 MEYE 阅读(282) | 评论 (0)编辑 收藏
完整图解 Tomcat 5.0.28 安装笔记
  一、准备工作

  在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,就只需TOMCAT即可。
  
  笔者使用的软件如下:
  
  Windows 2000 Advance Server + SP4
  J2SDK v1.4.2_04 - http://java.sun.com/j2se/1.4.2/download.html
  TOMCAT v5.0.28 - http://apache.linuxforum.net/dist/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.exe
  
  二、安装J2SDK

  安装很简单,只需双击下载的文件,笔者选择安装在d:\j2sdk1.4.2_04目录下。
  
  设置环境变量,方法如下:
  
  右击“我的电脑”==》属性==》高级==》环境变量==》新建...
  
  变量名:JAVA_HOME
  变量值:d:\j2sdk1.4.2_04
  
  三、安装TOMCAT

  运行jakarta-tomcat-5.0.28.exe 按照提示安装,偶这里选择了Service,就是作为Windows服务来运行。
  
 

  如果要改变安装路径,可以在这个步骤操作,偶这里选择安装在D:\Tomcat 5.0
  
 

  在这里设置TOMCAT使用的端口以及WEB管理界面用户名和密码,请确保该端口未被其他程序占用
  
 

  选择J2SDK的安装路径,安装程序会自动搜索,如果没有正确显示,则可以手工修改,偶这里改为d:\j2sdk1.4.2_04
  
 

  接下来就开始拷贝文件了,成功安装后,程序会提示启动tomcat并查看readme文档。
  
  Tomcat正常启动后会在系统栏加载图标。
  
 

  在图标上右键鼠标可以看到一些设置项目
  
 

  点击Configure...或者双击图标可看到如下显示,选择Startup type为automatic自动启动,这样每次开机后就会自动运行TOMCAT。

  另外也可在这个界面点击start或stop按钮来控制tomcat的运行。
  
 

  四、测试

  至此安装与配置都已完成,打开浏览器输入:http://localhost:8080即可看到TOMCAT的相关信息
  
 

  
  五、备注

  由于偶将TOMCAT作为service方式安装,所以CATALINA_HOME环境变量也没设过,如果读者不是按照这种方式请设置一个系统环境变量,设置方法同J2SDK。

  变量名:CATALINA_HOME
  变量值:d:\Tomcat 5.0

  另外可再增加一个环境变量

  变量名:CLASSPATH
  变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar

  也是因为service安装的原因,笔者在执行一些程序的时候会出现如下错误信息:

  Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK

  错误信息是没有设置过JAVA_HOME环境变量,读者也可能碰到过这个问题,明明设置过这个环境变量,在服务里启动就会出错,但是在命令行下输入D:\Tomcat 5.0\bin\startup.bat启动却能运行,笔者找了一下原因,原来在服务里启动没有读取JAVA_HOME这个环境变量,而是在配置里定义这个环境变量的,于是偶在Java Options里加入了一句:-Djava.home=d:\j2sdk1.4.2_04,再次启动TOMCAT就OK了,参照下图:
  
posted @ 2006-04-07 18:45 MEYE 阅读(401) | 评论 (0)编辑 收藏
英文= 足够多的口力词汇 + 足够的口力句型 + 流利的表达能力但无证书无高分 = 幸福的生活;美好的工作;别人的羡慕,全球化的视野;自信的人生观。


网络协议分析论坛
http://www.cnpaf.net/forum/index.php


Spring中文文档- -
http://flyingbug.blogdriver.com/flyingbug/575778.html
posted @ 2006-04-06 20:16 MEYE 阅读(305) | 评论 (0)编辑 收藏
dot net
http://www.cnblogs.com/
   博客园
http://community.csdn.net/ csdn技术社区
http://blog.csdn.net/21aspnet/
 21世纪asp.net技术网

http://www.bc-cn.net/Article/net/aspx/jc/Index.html ASP.NET教程
http://www.itlove.net/Article/1/139/  ASP.NET教程
http://www.chinaasp.com/  ChinaASP服务社区
http://www.csdn.net/   CSDN
http://dev.csdn.net/article/63233.shtm cndn datagrid 大全
http://www.dnc.com.cn/   DOTNET控件网
http://chs.gotdotnet.com/quickstart/aspplus/default.aspx  Microsoft ASP.NET 快速入门教程
http://csdn.eyeah.cn/   Tech.eYeah.cn - 网络特区
http://www.iecn.net/bbs web技术社区
http://www.tushu.info/bbs/index.asp   [C#资源网]
http://www.chinaaspx.com/comm/technet/default.aspx   中国DotNet论坛
http://www.chinacs.net/   中文c#技术站
http://www.aspxboy.com/Default.Aspx   - DotNet男孩社区
http://www.host01.com/Get/Net/   .Net技术-在线教程
http://bbs.hidotnet.com/   ASP.NET Forums
http://www.blue1000.com/bkhtml/c17/indexp14.htm    ASP.NET教程

blog
http://blog.csdn.net/javamxj/  分享JAVA的快乐
http://blog.csdn.net/ChengKing/    (ChengKing)
http://blog.csdn.net/baggio785/category/148174.aspx   baggio785的专栏
http://blog.csdn.net/bitm/    bitm的专栏
http://blog.csdn.net/haibodotnet/
http://blog.donews.com/dyhcn/
http://blog.csdn.net/sunsnow8/

java
http://www.blogjava.net  博客java
http://www.hibernate.org.cn/ java视线
http://www.open-open.com/  java开源大全
http://www.javaresearch.org/   JR
http://www.matrix.org.cn/  Matrix - 与 Java 共舞
http://www.java3z.com/cwbwebhome/ java 学习室
http://www.java-cn.com/index.html    java 中文站
http://www.knowsky.com/jsp.asp   JSP教程_
http://www.jspcn.net/  jsp中文网
http://www.springside.org.cn/   SpringSide 春天的旁边
http://www.iiittt.net/Dev/Programme/Java/Struts/   Struts-Hibernate
http://gceclub.sun.com.cn/  Sun 中国技术社区
http://www.osscn.net/   开源中国
http://www.leftworld.net/online/j2sedoc/index.html  j2se doc 中文版
http://dev.csdn.net/article/81604.shtm   Hibernate
http://www.narchitecture.net/ 
http://www.csdn.net/subject/hibernate/ Hiberbate
http://www.huihoo.com/ 
http://www.javathinker.org/index.jsp
http://www.chinaitlab.com/www/techspecial/tomcat/  Java基础入门 Tomcat安装配置专题-
http://www.chinaitlab.com/www/techspecial/eclipse/  Eclipse应用技术专题
http://www.softb2b.net/info/101_1.htm   编程文档

学习Spring的网站(转自走路的鱼BLOG)
1、Spring Live中文文档

http://searchwebservices.techtarget.com.cn/wpsum/29/2217529.shtml?504

2、Spring实战

http://searchwebservices.techtarget.com.cn/wpsum/75/2215575.shtml?2994

3、Spring - Java/J2EE Application Framework

Spring Framework 开发参考手册(中文版)

http://www.jactiongroup.net/reference/html/index.html

4、Introducing to Spring Framework(中文修订版)

http://spring.jactiongroup.net/viewtopic.php?t=453

5、Spring Framework 介绍 (ppt培训文档)

http://www.jactiongroup.net/doc/Introduction2open-sourceSpringframework4J2EE.ppt

http://www.jactiongroup.net/doc/IntroductionToSpring.ppt

6、Spring 中文社区

http://spring.jactiongroup.net

7、中国IT实验室 Spring 框架完全进阶专题

http://www.chinaitlab.com/www/techspecial/spring/

http://www.springframework.org

教程文档
  • Hibernate2 中文文档
  • Hibernate3中文文档
  • JAVA词典
  • Spring Framework 开发参考手册
  • Thinding In Java 3rd Edition(中文版未完)
  • MySQL中文参考手册
  • Ruby参考手册
  • Spring中文参考手册
  • SWT Tutorial
  • struts教程
  • XPath教程

     点这看淡蓝色的轨迹-收藏的网站 ...

  • posted @ 2006-04-04 12:34 MEYE 阅读(318) | 评论 (0)编辑 收藏
         摘要: [转,多图]完全调配Eclipse+JBOSS4.0进行J2EE开发[实战] 完全调配Eclipse+JBOSS4.0进行J2EE开发 编写人:Q龙(邱洋)联系QQ:1964477电子邮件:qxk2005@gmail.com   一、安装所需软件 ...  阅读全文
    posted @ 2006-04-04 12:21 MEYE 阅读(523) | 评论 (0)编辑 收藏
    帮你免于失业的十大软件技术
    水晶※玻璃★ 发表于 2005-6-6 12:05:20

     

    能跟上关键技术的发展,是你在就业市场和未来保持优势的最佳手段。你对我们列出的十门技术精通吗?哪怕是大略精通?

     

    罗素·琼斯,执行编辑 2002年12月11日

     

    我不知道你的具体工作是什么。如果你是某冷门领域的专家而变得不可或缺,或者你们的公司十分稳固,以你现有的技术就足以安度你的职业生涯,那我不知道你是否有失业的危险。不管怎样,请你先不要急着寄出那些告诉我你们的公司对用VB3十分满意或你们除C以外永不用其它语言的信件,并保留起那些讲述.NET将如何把Java扫地出门、XML将如何取代关系型数据库、或你怎样能用汇编语言或C写任何软件而任何其它开发工具都不重要的信件。

     

    现在,想象一下如果你像很多受裁员和公司倒闭影响的同行一样失去了工作,那将会怎样。如果你突然需要搬往它处该怎么办?如果你的公司突然做了技术转向又怎么办?

     

    在目前的就业市场,经理们是根据当前和未来的开发需要招聘雇员。作为开发人员,你所掌握的知识是你找工作和保住工作的关键。你要了解技术的发展方向,跟上技术的变化,这一点十分重要,即使你永远不用再找开发方面的工作。

     

    这里是我选出的当前最重要的十大开发技术,最重要的排在前面。看完本文后,请务必加入talk.editors.devx讨论组,提出你选出的十大技术。

     

    1. XML

     

    首先,你要了解XML。我不是说仅仅是XML规格本身,还包括一系列相关的基于XML的语言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。那些在过去5年内从未碰过键盘的人,可能不知道XML为何物。XML是一种文本文件,使用与HTML类似的标记。XML能定义一个树状结构,并能描述所含的数据。

     

    XML最好的一点是既能存结构化数据也能存非结构化数据。它既能存贮和描述规格的(regular)表格数据,也能容纳和描述粗糙的(ragged)文件数据。

     

    XHTML是现今写HTML的首选方法。因为它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易处理。

     

    XSLT和XSL是用于把XML文件转成其它格式的语言。可转换的格式包括:文本文件、PDF文件、HTML、以逗号为分隔符的文件,或其它XML文件。

     

    DTD和XML Schema描述XML文件所能包含的内容的类型,并让你验证XML文件内容的合理性,而不用写特殊代码以确保内容符合规则要求。

     

    XPath和XQuery是用于从XML文件中抽取单个项目或一组项目的查询语言。XQuery扩展了XPath,因而更重要。XQuery与XML的关系正像SQL与关系数据库的关系。

     

    SOAP是Web服务之间的一个标准通讯协议。尽管你不需要对SOAP标准一清二楚,你应该熟悉一般的schema和它的工作原理,以便能应用这门技术。

     

    2. Web服务

     

    Web服务是XML流行后的一个直接产物。因为你能用XML描述数据和物件,因为你能用schema确保XML文件内容的合理性,因为XML是基于文本的规范,XML为跨平台通讯标准提供了一个极其方便的基本格式。如果你还从来没碰到Web服务,你可能很快就会碰到,在未来5年内,你几乎肯定会碰到。熟悉Web服务十分重要,因为它是目前所有跨不同机器、不同语言、不同平台和不同地点的通讯协议中最简单的一个。不管你需要与否,Web服务是迈向互用性的重要一步。

     

    XML工作组主席John Bosak曾说XML给Java一些事做。实际上,Web服务让所有语言都有了一些事做。Web服务让在大型机上运行的COBOL应用软件能调用在手持设备上运行的Java应用程序、能让Java applet与.NET服务器交谈、能让微机软件与Web服务器无缝连接,并提供了一个相对容易的方法,让企业不光能向外界提供数据,还能提供功能,而且是一种与语言、平台和位置都独立的方法。

     

    3. 面向对象的编程

     

    很多程序员仍认为OOP是象牙塔里的技术。但如果你想一下是什么语言在过去的10年里占主导地位,你就会理解OOP不是象牙塔里的技术。OOP从Smalltalk开始,传到C++和Pascal (Delphi)。Java使OOP大踏步地迈向主流,几年后的VB.NET和C#则完全确立了OOP的优势地位。尽管这些语言中的多数并不要求你必须会OOP,但我觉得如果你不了解OOP的基本概念也不知道如何应用这些概念,你能找到的编程工作将越来越少。

     

    4. Java、C++、C#和VB.NET

     

    我把这些语言列在一起,并不是建议你成为每一种语言的专家。我的理由是:学习编程最有效的方法之一是看代码,而你能看到的大量的代码很可能不是用你所喜爱的语言编写的。

     

    在过去几年,各语言的能力越来越接近。现在,你可以用VB.NET写Windows服务、Web应用程序或命令行程序。即使你只使用一种语言,你也应该学一些其它语言,以便能看懂那些样例,并将其翻译到你所用的语言。这4种语言是基本核心,还有其它一些满足不同需要、颇具用途的语言,如FORTRAN、COBOL、APL、ADA、Perl和Lisp。

     

    5. JavaScript

     

    尽管名字有些相像,但Java与JavaScript并无关联。为什么一个脚本语言会如此重要呢?因为所有主流浏览器都用JavaScript。如果你需要写Web应用程序,你就有足够的理由学JavaScript。JavaScript可以用作ASP或ASP.NET的服务器语言,也可以当做用于扩展XSLT的功能语言(functional language)。JavaScript是Mozilla/Netscape中用于激活基于XUL的程序接口的首选语言。JavaScript的一个变种ActionScript是Flash MX的编程语言。将来,JavaScript很可能成为新设备的编程语言,以及大型应用软件中的宏语言。

     

    与JavaScript相对照的是VBScript。尽管Microsoft的软件对VBScript有良好的支持,但VBScript在未来的开发工作中很可能是一个糟糕的选择。就是Microsoft也倾向于用JavaScript(或Microsoft自己的变种:JScript)写客户端程序。在选择脚本语言时,请选择JavaScript。

     

    6. 正则表达式(Regular Expressions)

     

    查寻关系数据库可以用SQL,查询XML可以用XPath和XQuery,查询纯文本文件则可以用正则表达式。例如,你可以用一个命令从一个HTML文件中查找并删除所有的注释。各种开发语言内置的一些简单的文本查询功能,如"IndexOf"函数或VB中经典的"InStr"函数或"Like"操作符,根本不能与正则表达式相提并论。现在,各种主要的开发语言都提供使用正则表达式的途径。尽管正则表达式本身既难懂更难读(是回到早期计算机时代的一种倒退),但它却是一个功能强大而且未被充分利用的工具。

     

    7. 设计模式

     

    正像OOP通过把对象分类以简化编程一样,设计模式对一些普遍的对象之间的交互进行分类,并赋予一个恰当的名称。OOP用得越多,设计模式就越有用。一些最常用的模式的名称已经变成了软件开发领域共同使用的术语,所以要跟上信息的主流,你就要对设计模式有相当的理解。

     

    8. Flash MX

     

    如果你需要在客户端得到比HTML和CSS更多的图形和更强的编程功能,Flash是你的答案。用Flash编程比开发Java applets或写.NET代码要快得多,也容易得多。

     

    在最新版本 (MX) 中,Flash不仅仅是画图和制造动画的工具,它已经成为一个编程功能强大的开发环境:能调用SOAP Web服务,也能调用远端服务器上的ColdFusion、Java或.NET程序。Flash无处不在。它的引擎存在于世界上大多数客户端计算机,包括手持设备、置顶盒、甚至是新的书写板电脑。所以使用Flash能大大扩展你的程序的应用范围。

     

    9. Linux/Windows

     

    熟悉Linux。在一台旧机器或新机器上安装Linux。下载图形用户界面,在其基础上写一些程序。安装Apache,写一个Web应用程序。这个世界不再仅仅是属于Windows,这种趋势可能还会持续下去。如果你是一名中坚的Linux开发人员,那就抛弃你对Windows的憎恶,看看你能否做一些Windows编程。Windows能继续在台式电脑上称王是有其原因的,这不仅仅是因为Microsoft控制了这个市场。

     

    没人知道你们公司会在什么时候决定从Linux转向Windows(或从Windows转向Linux),或者你想跳到一家用另一种平台的公司,或者你想出了开发一个杀手软件的好主意,所以你要争取拥有在不同操作系统上的编程经验。

     

    10. SQL

     

    尽管SQL不像本文讨论的其它技术那样新,而且SQL的重要性在未来10年内很可能降低,但它仍然是一项基本技能。很多开发人员还没有掌握这门技术,或掌握得不够,不足以有效率地使用它。不要依赖具有图形用户界面的SQL生成器替你做事情,你要自己手工地写查询命令,直到你熟悉基本的SQL语法为止。了解SQL不仅能帮助你日后学习XQuery,你还有可能马上发现能简化或改进目前项目的方法。

     

    培养好奇心

     

    最后,(对,我意识到这是第11门技术),好奇心是你最重要的技能。要去尝试各种东西。新语言或新技术对你当前或将来的工作可能有用,也可能没用,但并不是你所学的每一件事都是为了工作。不要害怕失败,万事开头难,学新技术也是如此。大多数失败是因为人们希望太快地学到太多的东西。要对每一点进步感到满意,不要让时间(或缺乏时间)妨碍你。相反,你要安排时间留心、研究、试验新的开发技术和工具。

     

    你可能永远也没有必要成为这些技术的专家,而且我的选择可能根本不适合你的特殊情况,但通过培养好奇心,你将会发现你应该了解的东西。


    posted @ 2006-03-31 12:11 MEYE 阅读(332) | 评论 (0)编辑 收藏
    表情 [推荐][贴图]很耐人寻味的梦幻照片背景图片

    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片 

    posted @ 2006-03-26 12:11 MEYE 阅读(6222) | 评论 (7)编辑 收藏
    表情 分享:天籁女音 十首穿透你心的欧美经典歌曲连播

    按此在新窗口浏览图片

    1、忧伤河大桥

    夏洛特·丘奇用美声的方式再度演绎保罗.西蒙的举世名曲

    2、风笛

    风笛与人声的完美结合,美不胜收

    3、小夜曲

    一首举世闻名的摇蓝曲在卡洛拉亲切的歌声中,倍感温馨

    4、阿玛丝

    欧美艺人最喜爱演出的曲目,旋律优美动人,堪称世纪经典

    5、自由

    圆润的女中音在重低音的映衬下更显深沉

    6、这份爱

    极具穿透力的音符,跟莎拉.布莱曼进入另一个音乐的境界

    7、爱之路

    每一个音符都释放着爱的密码

    8、我唯一的爱

    飘渺空灵的唱腔,让心绪随歌声轻舞

    9、哈巴涅拉舞曲

    连卡门都如此唱法,让我们聆听夏洛特.丘奇那天使般的歌声

    10、给你的

    翠西尼德.奥康纳清新透亮的嗓录音带给你无尽的想像……


    此主题相关媒体如下:(点这里下载)

     
    posted @ 2006-03-26 11:24 MEYE 阅读(2794) | 评论 (0)编辑 收藏
    表情 一首好听的法文歌

    不用下载了,点下面的我贴的网站吧,真的很好听。
    此主题相关的FLASH文件如下:全屏欣赏

    posted @ 2006-03-26 11:21 MEYE 阅读(892) | 评论 (0)编辑 收藏
    表情 女人疼爱男人的9个瞬间

    按此在新窗口浏览图片

    按此在新窗口浏览图片


    按此在新窗口浏览图片

    按此在新窗口浏览图片

    按此在新窗口浏览图片

    按此在新窗口浏览图片

    按此在新窗口浏览图片

    按此在新窗口浏览图片

    按此在新窗口浏览图片

    posted @ 2006-03-26 11:08 MEYE 阅读(310) | 评论 (0)编辑 收藏
    表情 雄鹰展翅


    此主题相关媒体如下:(点这里下载)

    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片 按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片
    按此在新窗口浏览图片

    posted @ 2006-03-26 10:54 MEYE 阅读(391) | 评论 (0)编辑 收藏
    花刺代理验证
     发表于 2005-4-22 22:35:16

    一、功能:
    花刺代理验证(ProxyThorn,免费软件) 是为方便大家使用代理浏览国外网站,为提高大众网用户浏览科研教育网的速度,参照"代理之狐"设计的。它具备了"代理之狐"和"代理猎手"所有主要功能,但使用更方便,验证结果更可靠。智能程度极高,对用户体贴入微,配有10多页详细的说明书,图文并茂。尤其适合科研教育网用户使用。
    主要特点有:
    1. 可以直接将代理设为浏览器的代理,不但能设置局域网代理,而且能设置拨号、ADSL vpn等代理(1.6之前的版本只支持局域网代理设置)。
    2. 可以直接从网页上抓取代理(自动从多个网页网上下载代理列表),并添加到代理列表中。
    3. 可以从各种格式的文件导入代理列表,并不局限于文本文件.txt,尤其是可以直接从网页中导入代理列表。可以自动从文件中识别出代理
    ,自动过滤掉无用信息。
    4. 可以导入"代理猎手"的列表。
    5. 快速准确地验证所有代理,并自动按照速度的快慢排序,准确率高,但验证速度可不慢哦。
    6. 自动选择最快的6代理作为常用代理,并添加到菜单中,方便选择代理作为浏览器的代理。
    7. 除能将选定的代理就自动设置为浏览器代理外,还可以随时取消代理,只需轻轻点击一下鼠标。
    8. 可以设置每隔一段时间自动验证所有代理,并自动按照速度的快慢排序。
    9. 可以设置随操作系统自动启动。
    10. 界面设计体贴入微,使用极其方便。
    11. 自动清理无用代理。
    12. 提供多种上网方式,提供脚本方式,可以自动判定是否采用代理。
         a. 第一种方式就是直接设置或取消代理。
         b. 第二种就是最简单的代理脚本方式。
         c. 第三种就是复杂的代理脚本上网方式,可自动判定目标链接是在国内还是在国外。
         后两种方式尤其适合firefox等非ie内核的浏览器使用!
    13. 提供粘贴板导入代理功能,方便用户从网上采集代理。
    14. 具备大数据量的处理能力
      1> 导入大量数据速度飞快,导入一万个代理仅需3-5秒,而且保证代理不重复。
      2> 删除、清理代理数据飞快,处理一万个代理,仅需2-3秒。
      3> 排序代理的速度飞快,排列一万个代理仅需1-2秒。
      4> 添加了从粘贴板导入代理的功能,极大方便了网上采集代理。
      5> 添加了代理自动配置脚本功能,同时上国内和国外网不用来回切换代理,由浏览器自动判断是直通还是用代理上网。
    15. 支持多种协议。
    16. 代理保留功能:在备注文字前加上拉丁字符感叹号"!"的代理不会被清理掉。
    ********************************************************************************
     二、下载地址:

    最新版本号:1.8
    1.  ftp://202.114.6.17 (保持更新,开放时间10:00AM-10:00PM, 个人PC,有时不开机,匿名登录)
        如果你的计算机没有打补丁,有可能被防火墙拦截。
    2.  ftp://oursoftware:oursoftware@211.69.202.161:2121

    或发email:sinofreebird@163.com 刘仕庆
    ********************************************************************************

    3. 本地下载:把下面的两个文件下载到同一个文件夹,并且分别把文件改名为ProxyThorn18.part1.rarProxyThorn18.part2.rar然后解压,要使用winrar3.2以上版本解压。
    附件[ProxyThorn18.part1.rar]
    http://blog.blogchina.com/upload/2005-03-12/20050312221031527901.rar

    附件[ProxyThorn18.part2.rar]
    http://blog.blogchina.com/upload/2005-03-12/20050312221240982173.rar

    使用技巧:当在使用代理时,部分网址希望直通,那么请参照下图的设置方法,设置完后,ie、maxthon和myie2等浏览器均使用。别忘了ProxyThorn是选择第一种上网方式哦,脚本方式设置例外是写在脚本里面 的。在下面的红框内填入学校的IP地址和你常去国内网址,可以使用通配符"*"。如:http://*.hust.edu.cn;http://*.sohu.com;http://*.sina.com.cn;http://202.114.*;http://*.blogchina.com;http://*.5qzone.net;http://bbs.*;http://*.smth.org

    1.8版
      1> 修正了"对于以下列开头的地址不使用代理服务器"仍然使用代理服务器的错误。
      2> 应广大用户的要求,导出代理时只导出IP:port,其他信息不导出。
      3> 改进了下载资源地址的导入方式。


     

    版本历史:
    1.8
      1> 为了避免版本混乱,只好从1.6跳级到1.8了。
      2> 修正了"对于以下列开头的地址不使用代理服务器"仍然使用代理服务器的错误。
      3> 应广大用户的要求,导出代理时只导出IP:port,其他信息不导出。
      4> 改进了下载资源地址的导入方式。
    1.7
      热心的网友把1.6自动自动升级到1.7了  :-)  谢谢了!
      其实网上提供下载的1.7版就是是1.6版,
      本人没有发布过1.7版,估计是网友在修改文件名的时候不小心搞错了。
    1.6
      1> 支持自动设置拨号、ADSL、VPN等上网的代理。
      2> 添加代理保留功能(要在备注文字前加一个感叹号)。
      3> 托盘处菜单添加注释显示功能(只显示前八个字符)
      4> 浏览器设置了代理或自动配置脚本时,托盘处的图标显示两个小亮点。
      5> 消除闪烁。
    1.5.3版:
      修正了一个线程错误。
    1.5.2, 1.5.1版:
      修正了一个代理抓取错误。
    1.5版:
      1> 内核做了重大的改进,性能和功能大幅度提高。
      2> 导入大量数据速度飞快,导入一万个代理仅需3-5秒,而且保证代理不重复。
      3> 删除、清理代理数据飞快,处理一万个代理,仅需2-3秒。
      4> 排序代理的速度飞快,排列一万个代理仅需1-2秒。
      5> 添加了从粘贴板导入代理的功能,极大方便了网上采集代理。
      6> 添加了代理自动配置脚本功能,同时上国内和国外网不用来回切换代理,由浏览器自动判断是直通还是用代理上网。
      7> 软件提供了三种上网方式。
         a. 第一种方式就是直接设置或取消代理。
         b. 第二种就是最简单的代理脚本方式。
         c. 第三种就是复杂的代理脚本上网方式。
      8> 用户自定义常用代理的数目。
      9> 提供模糊匹配抓取代理,几乎可以抓取任何网站的代理,并且在这种模式下也能几乎准确地抓取代理。 
                

    posted @ 2006-03-25 20:49 MEYE 阅读(729) | 评论 (0)编辑 收藏
    仅列出标题
    共10页: First 上一页 2 3 4 5 6 7 8 9 10 下一页