上次写了一封IT生涯的历程,没几天时间看到点击率在心跳接受的范围内上涨,欣喜不已。作为小兵的自己,仍想和大家分享更多的内容。再深度剖析,我的故事就是那样,唯有从技术入手,可叹的是技术,没有哪门技术对我而言是深入骨髓的。惭愧之余,和大家分享一些学习历程,算是对自己的负责和对大家的回报,还请多多批评。
想描述的技术领域大致如下:测试工作领域、Linux领域、编程语言领域、数据库领域、一些关于计算机基础知识的领域、一些关于人生未来的领域。我尽量从自己的经历来描述,并给大家推荐一些愚以为优秀的书籍。如果我的叙述和你的人生规划有所冲突,请海涵;如果我的叙述有所错误,请不吝赐教;如果你有更好的建议,也请通知我(可以站内短信我)。
还是老习惯,大致介绍下我涉及的领域都有哪些细节。测试领域包含测试工作获得的具体内容、LoadRunner性能测试工具的学习历程、Selenium一个Web自动化测试工具的学习历程,外加一份日常积累;Linux领域包含一份对于我来说详细的学习历程,也许你已经看过我的不少描述,为了提高文章质量,尽量以第三种方式进行叙述;关于编程领域,在上份博文中对自己做了比较深刻的检讨,但是我仍然不死心,想为自己的汗水码一些痕迹;数据库领域所涉及的主要就是Oracle,我不是一个合格的DBA,至少我没参加过相关考试,倒是一个合格的观望着,将在后续的博文中阐明观点;关于计算机基础方面的学习,完全出于是否有足够的后劲而考虑,从长远来看,这个交易很划算,涵盖网络、硬件、设计模式、微机原理、软件工程以及学习方向的指引课程;最后就是人生规划了,这个课题太庞大,只能借花献佛。
1.1. 从工作-测试开始
思来想去觉得还是得有故事主线,这样文章才有可读性。故事及技术的梳理按照时间的发展历程进行阐述。刚刚加入B公司,心情非常好,每天早上6点就要起床(入职头一年),从不畏惧寒冷,也从未有过一次迟到,从入职到现在已领过数次全勤奖。每天都是乐呵呵的上班,嘴角都笑咧开了花。每个月看着应得的薪资,心满意足。工作的每一天,似乎都有所收获,因为此刻的工作中每天都在突破自身的极限,每天都在吸收B公司这个大平台所提供的养分。
在B公司的开始和大家在自己所服务的公司一样,一般都是先了解企业文化,大量学习资料,像例行公事一般。了解公司的文化,像享受生活一样一一浏览公司曾经的辉煌。去B公司的那年是经济景气的时期,因此新人非常多,没几天,公司就组织新人入职培训,为期2.5天。从各种角度认识公司,因为这是我服务的第一家大公司,从未体验过的感觉,我折服了。
花了半周的时间参与公司级入职培训、考核,算是一个准B公司员工。可以在部门里大胆的开展工作了。主管先给了一沓测试基础方面的资料还有关于公司主打产品的相关文档,分时一周学习理论知识,我满脸诚恳的应着。
如果你看过关于我的那篇超长的经历,应该知道我参加过软件培训,因此关于软件测试方面的内容,我知道的还算比较详细。在一周的时间里大把时间在学习公司产品,看的相当郁闷,没有动手的机会,最后看到睡着。
一周很快就过去,主管给我分配任务,要求我根据上周学习的内容,进行实践,不懂可以问他。记得B公司的产品有很多小零件,很多小门道,那个时候不很好使用,也确实不好理解。还好一个处于软件懵懂的我,并不在意软件的原理,且工作任务要求只要会用就可以了,如果发现问题则是更好的。
猜测因为公司为测试部门提供的硬件资源有限,因此时常要求我们使用虚拟机进行测试。对于虚拟机从未听说过,对于安装操作系统也有些担心,我确实喜欢计算机,自己也有一台联想的台式机,但是从未重装过系统,怕把它玩坏了,修不好。这次,面临工作难道还要退缩?硬着头皮上,从网络当资料,这也是我自学从不买书的一个开始,从此便走上了学习不花钱的路(在某次当资料时,看到一位大虾说“…应该坚信可以从网络中自学,并要坚持下去…”,大概如此。我对此保持信任态度)。
在还未转正前,主管分配给我一个任务,要求完成Oracle RAC,给了一些参考资料,并设置任务时间两周。按计划第一周学习理论知识,第二周开展Oracle RAC的实践。当时,RAC是在Windows 2000的虚拟机中实践,从网路中得知在Linux中实现的可能性更大(学习Linux的种子根植心中)。最后这个任务实践失败。在实践过程中,解决了很多问题,我把遇到所有的问题和处理方式一一记录,直到最后那个处理不了的问题,我也一直没在网络中找到解答。关于Oracle RAC的任务虽然没有按时完成,但是我却收获了很多,虚拟机的使用达到炉火纯青的地步,关于动手实践再也不会因为害怕而唯唯诺诺,懂得了一套解决问题的方法论:从网络中获取资源,并动手实践,遇到问题再向网络发问,再次实践,如此循环怎么可能解决不了问题?当然这次的RAC确实没有解决,但这个问题也是我工作3年唯一遇到而未解决的问题。记得在B公司转正那次,把过去几个月的所有工作内容一一介绍,关于RAC的工作任务,详细分析,并做了工作过程汇报,结果得到了领导们的高度认可,这也是工作给我的第一个意外。
B公司的行业比较特别,因此不仅要懂计算机知识还得知道行业知识,入职半年甚至更长时间,在反复的锤炼中才跟上公司的步伐。在慢慢适应了公司前进步伐的情况下,通过自学或者工作任务详细了解了公司主打产品。当工作成为常态时,学习新知识的时机到来了。借机重点学习了Linux,编程知识等其他内容,这些内容将在别的篇幅讲解。
快乐的时光总是过得飞快,开年后,一些玩的非常要好的同事因各种情况离开了这里,曾经他们也鼓动我,但因为自身的一些因素,坚持留了下来。之后,又是非常努力地工作,工作中最痛恨的是编写文档,但是经过种种坎坷后,渐渐爱上了文档。痛恨文档工作是因为,那时认为它不是一个技术活,但是当每次的测试用例因为评审不合格打回重写的时候,又在思考到底领导想要一个什么样子的成果物呢?在领导的关照下,关于测试工作相关文档的编辑水品不断提高。也因为对自身的高要求,不希望自己的成果物通过率太低,每次都认真、仔细的完成文档。尤其在学习了众多领域的电子档、高手技术书籍,学习成果归纳、编辑培训PPT、完成工作相关文档等等,在很多文档工作之后,渐渐明白文档存在的根本含义。就从我所涉及的知识领域来讲,涵盖太广,没有办法把所有的知识都装在脑子里。同时,因为涉及领域太多,因此没有哪个领域是深可见底的,文档此刻的作用十分明确,它可以记录我的学习历程,明确告诉我,对于这门知识掌握到了什么程度,对于一个该领域的陌生问题,是否有与之相仿的经验可以借鉴(前提:对学习成果进行过细致的分类,否则很难做到这点)。形成学习成果的记录,最直接的优势就是,脱离网络从自己的知识库里也可以快速找到解决方案(前提:仍然是有明细的学习成果分类)。文档对于项目的作用我就不说了,搬起石头砸自己的脚我不在行。
在测试部门工作的那段时间里,额外完成了一些产品相关的技术文档,有部署指南,有技术分享,有问题积累等等。有一个遗憾,这些文档现在常年沉睡在我的资料库中,也许永远都不会再现光明。不知道是因为被传染了那种“技术私有”的心理还是什么原因,那些文档确实很遗憾的没有公开,现在也都过时了。这是一个杯具。
做测试这行,大家都知道LoadRunner,这门技术在部门里面属于高级技术,像我这样的员工都是望着它,只有主管级的同事才有工作时间研究它。又是技术封锁,心理有些不舒服,却也无奈。自己私下在各大网站搜索相关知识,一直未找到合适资源。在很漫长的一段时间里,一直想学LR,成了一块心病。直到很久以后,转到开发部门之前,在某网站中找到一份不错的学习资源《LoadRunner 使用手册》,作者:刘艳会。关于书评就不写了,能力有限,但是这本书对于初学者确实不错(请记住:一本书很难使你达到想要成为的角色,请用更多的精力研究一门知识)。在详细研读了很多关于LR的知识以后,对于LR的操作流程非常熟悉,最后的半年时间里,很意外的涌现大量性能测试任务,光出差完成的就有两个,都是独立完成,搞不定就上网、打电话询问解决策略。独立工作总是提升能力最快捷的方式,感谢工作中给我提供支持的所有同事。
Web自动化测试工具Selenium的学习是在开发部门完成,因为一些特殊的需要。一些重复劳动力的事情,做起来太痛苦。尝试过使用QTP,但是综合两种自动化测试工具,Selenium在处理B公司产品的关于Web操作流程方面要更省事些,因此采用Selenium。这里分享下我如何学习Selenium,先下载大量关于Selenium的参考文档,从网络里下载资料也是要会挑选,我要求比较高,写的不好的博文一般不看(排版也很重要),因为技术博客太多了(写同样内容的更多)。在搜索资料的过程中,是粗略检索,这时应该可以对Selenium有个大致的认识,知道它都包含哪些方面,根据Selenium的多种认识角度下载学习资料,当认为这些资料足够学习时,可以暂先停止搜索资料。回去研究,当资料不足以说明问题时,再去网络搜索专项知识。一般反复推敲3~4次,对于Selenium的应用应该不成问题。此时,已经熟悉了Selenium,对于更深层次的学习,就不用继续讲解了,学习习惯已经养成,还担心什么呢?
回想在测试部门工作的这段时间里,公司提供的平台、工作给了锻炼的机会,独立处理事情的能力不断提升。疯狂的汲取技术,此刻回味却也一般,沉浸在技术之中却也美妙,但凡总要理出个头绪继续前进,别误了方向。我所能做到的,大家也都能做到。让人能够脱颖而出的是什么呢?是一份细心,是想人所想不到,做人所做不到,是一颗远大的志向,究竟是什么,一直在探索。
说明:这是我工作生涯为测试归类的一份技术成果,有些内容不便公开,还请见谅。
1.2. Linux方面
尽量提高博文质量是一件有难度的事情,但我很高兴有机会做这件事情。纵观所有的博文,关于如何讲解技术,如何使用某某软件,这样的技术文章多不胜数。即使是专家级的人物,写的很多博文质量确实很高,但也不乏让我们难以理解的地方。小弟想写点别人很少涉及的部分,至少对我来说,很少看到的内容。
关于如何学习Linux,我可以说是很有发言权,但是也可说没有发言权。因为学了太多这方面的内容,也因为如果我不负责的胡乱指点一气,害的还是后来人,所以这样的指导性文章,要写好首先要有责任心。
过去我是个不怕挫折的人,生活、工作一团麻还乐呵呵,挫折说的过了,没有条理可以称得上。强行学习系统安装、Oracle安装、LFS安装,这一路怎么走的下来,完全是因为有好的资源和不错的运气。在数次的幸运后,发现其实我可以系统的学习,因此走上了正道。按部就班的学习Linux,一路走过来,有惊喜、痛苦、兴奋,有时因为高手的一招半式顿悟积年已久的困惑,有时半夜三更坐在本本前睡着了的人,咬着牙齿完成自定任务,在迷糊中解决了很多问题,有时将所学知识传授给同事,那时刻的成就感油然而生。
在看了很多偏重原理的技术书籍,有时会将一些项目管理、技术经验往自己身上套,比如自顶向下和自底向上,在学习这个理论的时候就在思考如何管理一个项目、如何管理自己已有的知识积累、如何进行一门新知识的学习等等。关于自顶向下和自底向上的详细论述可以参见《UNIX编程艺术》。
学习,就我的经历而言,为大家分享一些优秀的学习资源。王乾大虾的博客“http://redking.blog.51cto.com/27212/111134”如果有兴趣可以把他提供的一个系列都看完,有基础和高级,我都看完了,实践程度75%。网络盛传“鸟哥的私房菜”,这么有名我就再推一把(没时间看完,看了个开头,写的非常细,确实是好书)。如果你想学习官方资源“
http://www.ibm.com/developerworks/linux/library/l-roadmap/index.html”,这个也可以参考一下,有中文版的花点时间找找(看完了,感觉一般)。经过常规知识的洗礼,对Linux可能还会有很多的疑惑,我是从“http://www.linuxsir.org/”这里成长起来的,当然60%归功于此,如果你还有其他的学习园地,也不要因为我的推荐而冷淡曾今帮助你的老朋友。关于学习方法就不在这里唠叨,还想共享“Linux64_RedHat_5.4 oracle 11gR1-R2 Install and Use.docx”工作中积累的一些关于Oracle+Linux的知识;“Linux From Scratch Study Note.docx”和“LFS Concentration.docx”收集的关于LFS知识【声明一下:如果我的一些文档含有侵权部分,请及时通知我,我会加以改正或者声明,谢谢。联系方式:[email protected]】,给读者提醒,这两份文档产生较早,看看即可,这完全是一些实践文档;“Linux Setup on the Disk or Multiple_Add a New Disk.docx”关于硬盘操作的文档,精力有限没有更多的时间整理,这份文档的学习方法,请先总体了解,再根据需要学习,以免内容太跳跃说我不负责任。
下面公布这些文档的下载地址在工作了这么多年以后,在网络中受益匪浅以后,在接受了开源共享的冲击以后,有些东西是有必要分享的。
Linux64_RedHat_5.4 oracle 11gR1-R2 Install and Use
http://down.51cto.com/data/709364
Linux From Scratch Study Note
http://down.51cto.com/data/709359
LFS Concentration
http://down.51cto.com/data/709360
Linux Setup on the Disk or Multiple_Add a New Disk
http://down.51cto.com/data/709361
这里还想和大家分享一点检索学习资料的经验。在工作需要掌握Linux知识的时候,心里迫切的想,可以快速的掌握Linux,这样就可以成为焦点,能做别人不能做的事情。技术可以决定未来么?某些方面可以,什么样的技术可以决定呢?在你最迫切需要学习什么东西的时候,墨菲定律产生效应了,偏偏让你找不到。你看过我的其他博文应该知道我的Linux学习历程坎坷不断,因为没有好的方法论,因为有一股对未来的期盼,那股冲劲让以技术为生的人们不断的向前冲,当很多难点都被攻破时,成就感日积月累(我有每天写工作日志的习惯,并定期对学习成果归类)。我很喜欢网上冲浪,每次检索某个方面的知识时,就是给自己放松的时刻,每个人都有为梦想着迷的时刻,那段时间我就是那样,平时用业余时间学习Linux,所有能为我所用的知识点都被记录,在定期的时间总会将它们总结并归纳,以我的方式进行梳理,看似小小的工程,如今已经很难装下大脑。当一个个知识点被人为的连成一条线,当所有的知识点再被分类组织成面,各个领域的知识在胸腹中就可以独当一面。当为自己规划好了知识片区,以后再有新的知识就可以根据直觉进行区分进库,这就是慢慢摸索而成的技术知识管理经验。很多对未来的展望,都由这些平时花费一点点时间积累的经验而产生,当人们回首过去的时候,凭什么觉得自己很强呢?难道不是实实在在的经验么,靠的就是积累。
为同事共享了不少心血,但每当我在网络中下载高手的资料时,有很多很好的技术和思想,但是排版多种多样,有text、word、pdf、htm等等。实在看着眼痛的都被我重新编辑,美文都一一收藏。看过太多高手们的精彩文章,深知有很多很好的文章,看的你很无奈(仅指排版)。我的文章格式也不见得大家都会喜欢,所以我建议,取其精华去其糟粕。
说了这么多也没有分享检索学习资料的事情,罪过。常去的网站“http://www.ppurl.com/”,还有“http://club.topsage.com/”。很多很优秀的资源都是在每天的无意中收获,俗话“有心栽花花不发,无心插柳柳成荫”。这里有一个事情必须分享,在学习“哈佛幸福课-积极心理学”公开课时,tal说“人世中的许多事情,只要想做,都能做到,该克服的困难,也都能克服,用不着什么钢铁般的意志,更用不着什么技巧或谋略。只要一个人还在朴实而饶有兴趣地生活着,他终究会发现,造物主对世事的安排,都是水到渠成的。摘自--故事会【感悟】”这样的一个片段,原话不是这样,道理是一样的。我想叙述的也是如此,坚定信念去做、去悟。
自学能力很强的人都应该注意,随着成就感的日积月累,你如何从高高在上的云层落地呢?这个问题曾困扰我很久,在和朋友(老婆)的数次交锋中,看清了这些。如果你没有地方发挥光和热,如果你的心态无法端正,如果你因为钻牛角尖而和自己怄气,那么你凭什么拥有未来?当我们处于困境时,如何自拔是一门学问,感谢老婆的提点。以下附上一份自学Linux时所积累的知识的截图:
REMARK.txt(Linux关于分类知识的备注):
RH:
http://blog.chinaunix.net/uid/20615443.html 红帽实习历程[未学习]
测试:
http://xqtesting.blog.51cto.com/ 被测试的小强[未学习]
Java:
http://useway.blog.51cto.com/ Java程序员,上班那点事儿[未学习]
Oracle RAC:
http://255361.blog.51cto.com/245361/837522 安装过程中碰到的问题及解决方法[未学习]
Linux:
http://linux-vbird.bluedata.org/ 鸟哥的 Linux 私房菜[未学习]
http://down.51cto.com/zt/554
Linux入门特训视频教程23讲[未学习]
http://g.51cto.com/linuxmaster
企业级RedHat交流[未学习]
下面为初学时的无头绪的知识点,后期慢慢规划成型,总结_1
(First Inning) Linux From Sratch
linux从零开始(了解linux是如何构建)
(First Inning) Oracle 11g_R1 basic learned
Oracle安装及排错(所遇到大部分Oracle的问题都在这里)
下面为第二次学习linux的知识点,总结_2[官方权威文档]
(Second Inning) About Disk Partition
关于分区,Grub的文件,增加新磁盘,U盘安装系统,网络安装系统
(Second Inning) About Network
关于网络配置的文件
(Second Inning) cornerstone
概念补充(Linux 内核的目录文件结构、...)
(Second Inning) User Management
用户管理
About Linux Configuration files
理解 Linux 配置文件、在 Linux 上烧录 CD
Windows-to-Linux roadmap(elementary knowledge Form IBM)
关于linux的基础认识以及与unix、windows区别的简要分析
下面为第三次学习linux的知识点,总结_3[http://redking.blog.51cto.com/27212/111134]
(Third Inning) 51CTO_RHCE讲座
全面学习linux知识。分析:寸有缩短,尺有所长;不要倾全力而注之。期待下一次学习~
(Third Inning) 51CTO_RHCE讲座_补充
针对“51CTO_RHCE讲座”的重点补充
(Third Inning) Reference Document of 51CTO
全面学习linux知识的主要参考资料(鸡肋。备份文件的查看,已经单独形成资料库rar文件)
计划第四次学习linux知识,总结_4(鸟哥的Linux私房菜)
(Fourth Inning) 鸟哥的Linux私房菜
计划“鸟哥的Linux私房菜(第三版)”的未来学习方向(涉及内容有“鸟哥的Linux私房菜(第三版)”目录统计;以及目前学习所有知识现状,以及未来规划)。
@@@以下非重点@@@
关于参考文件:“..Self-study data\Final Reference Document\..”
【RHCE课程-RH033Linux基础笔记二之安装LINUX及常用命令介绍
虚拟机安装linux、text方式安装linux、格式化linux、如何启动图像化界面、终端中禁用防火墙(大部分图解内容,非常详细)。
RHCE课程-RH033Linux基础笔记三之文件以及文件权限
文件夹的组织结构的介绍、命令介绍、文件的种类和权限详细介绍、详细介绍用户-组等相关详细内容的建立规则“/etc/login.defs”、实例展示、作者编写博客心得分享。】
1.3. 编程方面
越往后写难度越大,测试部分有近两年的工作经验。Linux属于自学部分,也有1年多的应用经验,从发奋努力到现在不过三年时间,留给后面技术领域的发挥空间非常有限。
来研发工作或从事开发相关的工作和学习,是为了证明自己可以做研发的工作,为了让一个测试人员在工作的时间可以更踏实(对自己而言),证明A公司的一年多的开发工作,虽然做的不好,但是…
上学时,每次上计算机课,老师在课上布置的作业,我总是在前几名完成。这种状态一直持续到大学,性格中带有自满的成份,在反应较慢的同学面前,优越感较强。可是谁会知道我们学识越高,知识就越细致。谁又知道计算机这个领域不是只有Windows。软件行业的编程知识同老太婆的裹脚布,如何理的清?这些大学时代的困惑由现在的自己一一解答。
自学期间,涉及的编程语言有:C、Java、Action Script3,主攻Java。学习C时看的谭浩强的书和《C程序设计语言》,C语言是好奇而学,对自己没有硬性指标。AS3是对OO理论的重新认识。和Java的缘分因为了找到更好的工作而产生。
一直都有一种错觉,以高年级的眼光看待低年级的书籍是不是会容易些?比如,以初一时刻的你看六年级的书本是不是可以几天时间搞定它们。是因为我们学过了六年级的所有知识,所以它们(课本)都变得简单了?还是我们曾经的经历让我们可以站在更高的角度审视它们(课本),让自己对这一切更有把握?由不断的实践走出来的路和以宏观思维来精通知识。还有一种感觉,我们花了大精力去学习某领域的知识,归类分章,达到熟练的地步,但真正在现实中应用的都是那么一点点。那么我们是不是可以拥有一种快速掌握这门技能的方法呢?通过学习Linux,可以明确的回答:NO。就像我所涉及的这些知识,都归类分章,在工作中用到时,就取一点点,有很多曾今花了大把时间的部分,都是为那个工作中的具体应用做铺垫,很多原理都是给你的工作应用做铺垫。我在实际工作中,解决了很多问题,事后都会花大把时间补课,总不能别人问“你是怎么解决的,为什么?”,你说“网络上说这样就可以解决了,别的我也不知道…”。
所以,曾经我在学习Java时,总是从具体的编程开始,这个学习的岁月有点长。当满足于每天的hello world一类示例时,微弱的幸福着。学习C时,同样,也是微弱的幸福。如果我们有时间,明白公司的产品主体应用领域,明白公司产品和操作系统的关系,明白你在公司的工作,需要精确的掌握某门编程知识的某些内容,而不是从网络中的一个个示例,套用在产品需求上。生活中不会有如果,只有勤于动脑的人。我不属于聪明人,朋友说我是事后诸葛亮。人们每天的精力有限,碰到你愿意做的事情,激情万丈,能力突飞猛进,功力成倍增长;碰到不愿意的事情明白人有聪明的处理方法。有段时间,深刻体会了人每天的精力都是有限的,当每天坚持的任务被超额完成之后,当感觉到有些疲惫的时候,今天的你需要休息了,IT界的精英们想必都明白。
工作是对学习成果的最好试炼场,确实如此。半年的努力,在物质上虽没有更多的成果,在精神上,让自己比以前更强大。关于编程方面,我给大家和自己留下的是更多的问题,没有太多的货,也不必傻掏。以下附上一份自学编程知识时所积累的知识的截图:
REMARK.txt(编程部分关于分类知识的备注):
心得:学习了三门编程语言,C/JAVA/Action Script3,每一次都是系统的学习,从理论到实践;而现实中的工作却不是学习那么简单,思考一个问题,“从抽象到具体,与从具体到抽象”,虽然会很多方法、会很多技术,但是以“自底向上”的方式进行一个项目的开发,用其终生也很难开发一个符合需求的项目,从而得知为什么设计(“自顶向下”)那么重要。为什么我学了那么多技术,遇到瓶颈始终很难提升。原因不在于我,在于我没有看到让能力提升的那条路。
编程语言学习札记记录信息
(C) C Program Language【“编程方法”的叙述已经生成】
关于C编程语言的学习札记,记录了关于偏重于理论、实践的学习资料。
(Flex) Important For Flex_ActionScript3
关于ActionScript 3编程语言的学习札记,重点学习面向对象的理论知识,涉及面向过程的简述,还有正则、XML都有较深入的描述。
(JAVA practice) JAVA Enviroument Configuration
Java开发过程中有关插件、工具等的使用实践指南(JD、SVN、WebLogic、Tomcat、JAXB、Ant、正则表达式)。
(JAVA practice) Problem in Work
工作中积累的问题和方法
(JAVA practice) Through the 51CTO Study Java
学习Java的一段历程,偏重实践。
(JAVA theory) Study Java
关于第一份学习札记,记录了关于Java编程语言的学习内容,那时的感觉它是偏重于理论方面。(这份学习文档日后还需要重新归纳。 --20120705)
(JAVA theory) Think In Java 4th
新增-20130219【未完全学习,进度:一半左右】
1.4. 数据库方面
B公司任职测试部时,有段时间经常出差,借助出差的业余时间学习了MySQL,没有直接学习Oracle主要原因是没有学习环境。Oracle对机器的硬件要求较高,两三年前公司提供的本本可以把word打开,且不让我难堪已经不错了。
在来B公司不久,一直都有一种崇拜那种高科技技术的潜意识,多牛X的Linux/UNIX,会的人都不多,多牛X的Oracle,会的人工资都很高,一个DBA多难得,在武汉市都没几个。那个时候的很多想法,着实可笑,但是很天真。大家对高级技术和高级人才,都是翘首以盼。有没有人想过,一步步走过来,他们曾经的辉煌,某天也会是我们的。
Oracle的学习是在测试部门,就已经开始。共享的一份文档,里面详细记载学习Oracle的过程,不过那里面更多的描述是关于环境的。尝试对Oracle内部的深入了解是从研发部开始,学习用时很短。用极短的时间明白未来的路,明白自己目前不适合走这条路,也是经过痛苦挣扎的结果(有环境原因、有口粮问题、有很多很多…)。
分享下学习资源,《Oracle 9i&10g编程艺术》这个是经典著作我就不热推了,可以百度一下;“http://blog.csdn.net/chinahuyong/article/details/7800634”博文大牛对存储过程、函数、包、触发器以及这些复杂内容的基础的详细讲解,“http://blog.csdn.net/chinahuyong/article/details/6576036”还是这位大牛对查询的讲解,自己去看下吧(在网络中找到适合于初学者的资源来之不易,请珍惜)。
当发现自己没有继续朝DBA方向努力的意念时,给自己定位观望者,太多的理由都是失败者给自己的借口,如果日后有机会,将会朝成功者的方向努力。以下附上一份自学Oracle知识时所积累的知识的截图:
REMARK.txt(Oracle部分关于分类知识的备注):
由理论部分+实践部分学习Oracle,这样的选择是正确的,虽然花了大把的时间,是值得的。让我看清这条路到底是否适合于自己,而不是因为其他因素盲目选择。 -20130220
当前任职Java软件开发工程师,从事Oracle确有心而力不足。再Oracle这次蹚水,已引起波纹。 -20130130
DB Oracle 1 引导篇(大牛BLOG)
如题
DB Oracle 2 学习过程
完成4个系列的Oracle相关内容学习-“Oracle 9i&10g编程艺术”
“Oracle 基础学习(从入门到精通 Oracle基础)”
“Oracle PL-SQL编程详解”
“ORACLE SQL:经典查询练手”
DB Oracle 3 零散知识库
Oracle基础知识扫盲,相当多的技术BLOGs。
DB Oracle 4 参考资料
提供“Database Oracle 学习过程”的参考资料,以及下一步学习方向的资料【警示:如何学习!】
DB MySQL
提供MySQL相关资料【非重点】
DB SQLite
提供SQLite相关资料【非重点】
1.5. 计算机基础知识方面
某天我们的一位培训老师说“你们和正牌大学的本科生相比,你们动手能力很强,但是他们的后劲很足,也许一开始你们比他们能够更快的适应工作需要,但是1~2年后,他们的作用将远超过过你们…”。我信这句话,所以时常看看某某大学的课程计划安排表等。看看哪些科目可以通过网络自学,看看我们的差距都在哪里。在有目的性的了解了一些知识后,确实产生了一些新的思维。
学习过程中最难理解的,属“微机原理”,看了能理解的部分。还有很多其他知识,自定为开阔眼界,作为学习札记保存。学习让我从一个自认精力充沛的人第一次体会到了极限,让我学会了选择,让一个眼大肚皮小的人,认清了现实。也因为放弃了很多优秀的资源,给自己减负很多。
在51CTO中曾遇到过一系列博文关于《宅男程序员给老婆的IT课程系列》,该系列博文给我的开发职业道路指明了一些什么,每个人的感受不一,如果有兴趣可以去体验一番。
这一块突然觉得没有什么很优秀的资源好分享,还是附图一份:
REMARK.txt(计算机基础知识部分关于分类知识的备注):
【百废待新!!!~】 --20130201
Design Patten of Java(设计模式之禅)
关于设计模式的理解,参考《设计模式之禅》;学习的较深入。【实践+故事+...】
Design Patten of Java(深入浅出设计模式)
关于设计模式的理解,参考《深入浅出设计模式》;对比而学。【以理论方式、对比记录】
Design Patten of Java (疯狂Java联盟版)
新增参考资料(有时间可看看~)
Design Patten of Java's Code
关于设计模式源代码部分内容。
声明:有时间就看看,充分理解设计模式的优势,在工作中发现一些重复的代码部分,想使用设计模式,可先网络咨询~
Principle of Microcomputer (微机原理)
关于微机原理的部分内容,参考教科书《微机原理》。
Software Engineering (软件工程-大道至简)
关于软件工程的思想部分内容,参考《大道至简——软件工程实践者的思想》,作者周爱明。
接下来的学习方向:
在完成关于C的学习以后,巩固关于Java的学习,再进行关于设计模式的学习Java方面的。
新增(20120603):
(Computer Base of Network) Networking Basic
网络基础知识(内含有知识列表)
(Computer Base of PC) Computing Fundamentals
电脑基础(内含有知识列表。说明:微机原理更趋于学术化,学习较难;电脑基础可自学)
无精力深入研究的东西(20130118):
En Deep-in-OS Java-technique ... Tree JS (远见比努力重要)
...有关Java的部分...Computer.Systems.A.Programmer、Head First Servlets and JSP 2nd Edition、The Concept of the Tree、动态函数式语言精髓与编程实践(JavaScript 版)...Spring、Struts2...
IT course (宅男程序员给老婆的IT课程系列) --20130201
未来转行或者持续发展的救命稻草。开阔眼界~
Incentive Document (数学之美-浪潮之巅) --【被转移】
当工作没有动力了,看一看;当生活没有目标了,看一看。 --20130201
UNIX 编程艺术
当前以学习英语为主,所有技术专研让道,且搁置。 --20130307
1.6. 人生规划方面
每天除了繁忙的工作,业余时间可以看看微博,积累了不少搞笑、风趣的图文。每次检索新知识,总是看到前辈们提供的经验之谈,看到能够产生共鸣的部分,都一一收藏。
回首最近完成的博文,没有更多关于技术的分享,大多是工作过程中的学习经验共享。当一个无知的莽夫有心从文时,是一件值得鼓励的事情,在太多的实践中积累了足够的自信,看看过去的拥有更应该立足当下,思索前程。
写的再多也是心得分享,每个人的前进道路不一样,每个人都会犯错,我们不是专业的科研人员,更多的描述是一种直觉。如果有时间,可以去网易公开课搜搜某某名牌大学的一些课程,充电Or休闲。
【学习方法的养成才是我们的核心竞争力。 --愚以为,当然这只是一方面】
谢谢阅读。 -20130318