共 1 篇文章

标签:从Linux运维转行Java,我的经验与教训 (linux运维转java)

从Linux运维转行Java,我的经验与教训 (linux运维转java)

Linux运维是一个相对稳定的职业领域,但随着技术的发展和市场需求的变化,我最终决定转行Java开发,成为一名Java程序员。在经历了数年的Linux运维工作后,这次转行对我来说是一个重大的转变,带来了大量的挑战和机遇。在这篇文章中,我将分享我的经验以及我从中学到的教训。 一、为什么要转行? 我在Linux运维行业工作了5年,有一定的经验和技术实力,但随着技术的更新,我的技术渐渐被淘汰和边缘化。当时,我开始考虑学习其他技能以适应市场需求的变化。在调查和研究后,我发现Java语言是一门非常前沿和有市场需求的技能。Java语言可以用于开发Web应用程序、移动应用程序等,是非常有前途和发展潜力的一门技能。尝试一项新技能也是为了更好地发展自己以及增强自己的职业价值。 二、学习Java的过程 由于我之前没有Java开发经验,学习Java对我来说是一个全新的挑战。我首先想到的是在线学习,因为它方便、免费、灵活。我尝试在各种网上课程和网站上学习Java基础知识和编程技巧。然而,我最终意识到在线学习对我来说并不够深入和系统,我连最基本的Java应用程序都写不了。在线学习在内容范围、系统性和实时性方面都有不足之处,所以在确保基础知识掌握的情况下,我又开始考虑参加线下学习。 我选择了一家知名的培训机构,报名参加他们的Java课程。在这里,我更深入地学习了Java的基础语法、面向对象编程思想和Web应用程序开发。与在线学习不同,这里的课程安排是有机、有序的,并且教师们为我们提供了更多实际演练和编程实验的机会。通过这些实验,我可以更好地巩固基础和加深对Java编程的理解。 三、遇到的困难和挑战 尽管我在Linux运维行业工作很长时间,但在Java开发领域中还有很多东西需要学习。在学习Java期间,我遇到了一些困难和挑战,这些挑战包括: 1. 没有编程基础:这是一个相当大的难点,因为Java编程需要基本的编程技能,包括编写简单的程序和办公软件; 2. 学习速度:考虑到我的工作和个人生活,我花费了大量时间学习Java,这对我的身体和精神状态产生了影响; 3. 缺乏实践经验:无论是在线学习还是线下学习,我都感觉缺少实际的项目经验和应用实践,这导致学习和实际工作之间存在着一定的转折。 四、我从中学到的教训 在学习Java和转行过程中,我收获了很多有价值的经验和教训,这些经验也许会对想学习Java或想转行的人有所帮助: 1. 培养自学能力:学习编程技能是一项需要自学能力的任务,尤其是当你从事Linux运维等类似领域时,生活和工作上的完整性会受到很大的限制。对于学习Java的人来说,建议他们多学习一些基本的编程知识,例如C语言和C++等。 2. 找到一个好的学习平台:好的学习平台可以更好地帮助我们完成学习任务。比如,在线学习可以让我们灵活的获取到大量的资源和知识,但是缺乏系统性和实时性等因素。相比之下,线下学习更加专业、全面,可以让我们获得更多实际操作和项目经验。 3. 学习与实际应用相结合:学习Java不应该止步于基础知识和语法的掌握,还需要考虑如何将所学应用到实际开发项目中。在实习、实验、参加开源项目等方面都可以有所收获。 4. 保持愿景与热情:在学习Java的旅途中,我赢得了朋友和机会,同时也遇到了困难和挑战。转型是一项挑战,需要我们有足够的勇气和信心,同时保持愿景和热情,这样才能更好的突破。 转行Java是一项非常有前景和发展潜力的职业选择,但是出现困难和挑战也是不可避免的。需要结合自身的实际情况来学习和提高,并时刻保持对未来的愿景和热情。 相关问题拓展阅读: 学Linux有什么用? 学Linux有什么用? 学习Linux的心得 通过这几年来对Linux的学习,一步一步摸着石头过河,到现在才刚刚上岸。我能起的作用可能可以告诉你一些学习的方法,当你遇到困难的时候有个人在旁边给予帮助。说句心里话,对于Linux的掌握我还只能算是很粗的东西,因为看了很多大师们的东西以后,发现自已离他们真得还很远。我不是要打击你的意思,是告诉你实情。但也可以告诉你,就这一前谈亏点现在还是比较好混口饭吃。对她了解掌握的越深,你会发现他几乎什么都能做,有了实现自已商业机会的平台。 学习Linux分好几种层次,我个人觉得可以用中学里学的课文《疱丁解牛》来对比。说白了也就是对事物的认识一般都是由表及里的过程,学习Linux也是一样的。以前总觉的学理的人只要会数理化就行了,很多老师们由于自身的素质问题也不由自主的暗示着我们这样做。现在觉得很后悔当初没有学好文,文太重要了,很多时候他真的可以指导我们的形为和思维方式。最近看的很多管理上的书,最终上升到都是哲学方面的问题,很多东西一追踪根慧神源到上升到哲学上来了。以前小的时候不懂事,觉得学这些东西有什么用,现在成熟一些了才发现这些东西真的不是件简单的事情。学习Linux有很多东西,我建议你首先要注意大师们在哲学上的思路。Linux是由Unix产生的,最终他的实现及他基础上很多应用软件都是基于一个哲学理念“把任务分解成一小块一小块完成”,可能现在你觉得这是件很简单的道理。但他不简单就在于所有有关Unix的东西都是基于这一理念的,看看我们常用的那些小工具吧,find,grep,gzip,tar,bash…等等,这个道理无不贯穿始终。现在IBM/MS等公司经常提到的WEB Service,实际上细想也是这样的,无非是把很多服务分散开来,然后有个总的业务逻辑来进行迅速的组合成一个新的服务,满足市场的迅速变化的需求。 结论1:首先要明白他的设计理念是缘自Unix的“把任务分解成一小块一小块完成”,建议你可以看这本电子书>。是由Eric Steven Raymond写的,在google上很容易找到。这本书编重于编程,可以根据自已的兴趣选相应章节。我也没有全看完,也在研习中:-) 从使用着手,自已装个系统。建议你从Redhat开始。现在Redhat的安装基本上都是学习MS的做法,很图形化了。只要按照图形的指示,很容易让一个系统跑起来。我觉得初学者应该从这个入手,这样会快很多。因为Linux上的软件包都是由不同的开发团队做的,所以一般人不知道侍册如果安装,redhat公司做的事情就是把这些东西组织起来,然后把这些软件卖给大家。因为他对这一行非常的精通,所以卖软件是其次,卖服务是主业。现在redhat已停止出个人版的了,改成专做企业的了,版本发行最近有些变动。现在最后一个版本好象是RH9.1。 装好系统后从使用应用软件开始,建议你先学BASH SHELL编程。因为你将业想往Oracl DBA发展的话,精通SHELL可以在管理上给你带来很大的便利。同时对于理解Linux系统的启动和一些软件的安装很有帮助。比如说你可以很清楚的了解Linux的整个启动过程,继而知道为什么要做那一步做了这个动作,对你将来处理实际碰到的问题至少可以明白知道问题出在哪。象很多我们日常在Unix/Linux的管理和脚本都是分不开的,精通BASH是我们需要完成的之一步。我指的是精通,不是一般的了解,因为你只有精通了,用的时间越长,你会发现script可以帮我们很方便的干很多事情。这里有一本电子书提供参考,是我至今见到写BASH最全,更好的一本。名叫《Advanced Bash Scripting Guide》,你可以在 www.linuxdoc.org 里找到。 这里也提一下 www.linuxdoc.org 里的文章是你学习Linux的良师益友,里面的很多文章都是非常不错的教材。主要分为几类:1、FAQ 2、HOWTO 3、Guider 4、man手册。其中的Guider有几本都是非常不错的入门书,你基本上可以不用去买本,美国出的印刷书都奇贵,你把那里的几本书看完就差不多了。插一句,现在P2P很流行,我基本上都不买专业的书了,大部分都可以找到电子版的下载。里面的HOWTO主要讲的一些具体的问题如何处理,门类也很多很杂,你可以根据自已现在的需求去看相应的文章。有空的时候可以多看看,这里面有些很好的solution,说不定什么时候就可以用上。FAQ的文章不多,建议挑些重要的看下。对于man手册,一般系统上都有,不过那里应该是最近的,平时用的不多。 结论2:自已装个Redhat,学好shell。 你用Unix/Linux时候,熟悉一个编辑器是必不可少的。用两种建议选择Emacs&VIM。Emacs比较大些,要花些空间,功能具强,以前用过一段时间但没有深入下去,所以了解也是通过大师们文章中反复提到这个关键字和一些信息知道的,用好了功能具强,相当于一个MS下的IDE开发环境;vim比较小些,功能也很强,是vi的增强版,我现在主要是用她来编辑东西。vim支持多种语法,可以用来编脚本、C、Java,功能足够我们用,学好需要一定的时间实践。因为我们用Unix/Linux,免不了有时要用console来控制,如果用惯了MS的编辑的话,你会非常痛苦,建议如果以后想长时间使用unix/linux环境的话,学好一种这环境下的编辑器。vim也有windows的版本,开始用起来会觉得不方便,便很快你会发现用VIM可以解决很多MS下编辑器不能解决的问题,不信你可以试试看。 结论3:学会一种Unix/Linux下编辑器Emacs或Vim,建议Vim(因为我在用,可以给你些指导 ) 学习Linux有几种常用的服务软件需要会用,1) apache(http) 2) bind(dns) 3) pro-ftp(ftp) 4)samba(file share) 。需要掌握这些软件的安装和简单配置,这些软件在网上都有很详细的文档。至少apache要会安装和管理,因为这是最基本的WEB服务,今天在哪里都能用到。对于这些常用服务软件根据自已兴趣和环境要求做出选择,不一定要很精,但要会,建议精通。 结论4:学会常用服务软件的安装和配置,至少掌握apache 在Linux中还有很多小实用工具也需要掌握,这对你今后诊断问题和做相应的系统管理有很大帮助。如配置网卡地址的工具ifconfig,查找文件的工具find,行编辑的命令sed、awk,网络状态检查netstat、ping、nc等。这些工具可以在实践中慢慢学习。 结论5:在实践中学习一些常用小工具,如ifconfig netstat route等 掌握一到两种Opensource的数据库,如现在流行的两种数据库MySQL和PostgreSQL。MySQL用的人多些也比较简单,速度又快,做一些简单的数据库应用很多都用他做backend databaes server。如果你自已想学Oracle的话,可以直接学Oracle。Oracle的东西多且全,基本上所用的功能都能在Oracle找到。但如果你想更深一层学习DB的话,你可以考虑学PostgreSQL,他有源程序而且支持事务处理(trans-action)、子查询(sub-select),过程(procedure)、自定义函数(function)、光标(cursor),支持了大部份SQL92和99的标准。他的文档也比较全。 结论6:建议掌握一种Opensource的DB,如MySQL 建议对TCP/IP协议层深入了解,我想你们上研究生时应该讲的很深。但我还是建议你再多复习相关的知识点,很多时候网络上的问题可以通对你对TCP/IP的了解找到问题所在。建议你买那个steven的书叫>,同时经常在身边准备好那几种状态切换的图,劳记在心,出问题的时候就可以知道是哪边网络不通,还是应用程度出了什么问题了。 结论7:建议再深入了解TCP/IP protocol 建议除了bash外,再学多一种在Unix环境下的RAD脚本语言python。我也正在学python,通过这段时间的了解发现,这个东东有很多功能而且在开发上可以比c/c++提高至少5倍效率。有时候偏向做系统管理,但掌握一本这种编程形的脚本对工作帮助很大,可以迅速的处理一些问题。BASH是侧重于人机交复的脚本,有些事情用BASH是无法完成的。Python在很多Internet应用上有很多module&package,你可以很方便的使用已有的功能,比如说自已做个小的WEB SERVER,做测试工具,做数据库查询等等。 结论8:建议学下Python 好了,今天先罗嗦到这里,还有很多想法愧于文笔有限,改天再详谈。 水平有限,权做参考,希望对于你的学习有所帮助。 客观来说 对你毫无用处。 1、linux是开放源代码的操作系统,它的每一个操作,你都能够充分了解,并且可以按照你的想法加以修改,这对一个计算机学生或者计算机爱好者来说,无疑是有很大帮助的,它可以让你知道系统是怎样工作。 2、 其次是Linux系统是由C语言写成的,对深入了解和学习C语言的同学无疑是最适合的环境,Linux下使用VI编辑器,让你编码显得高大上,同时VI也是一个让人爱不释手的好工具;Linux里强大的GCC套件,让你随心所欲编译C程序,出色的GDB调试工具,直接让你领悟C语言的原理。 3、据说世界上百分九十以上的服务器都是运行在类Linux系统上,也就是说你日常生活中所有的网络服务,其实都是基于Linux系统的,学好了Linux,你就可以通过管理服务器或者破坏服务蠢坦坦器。 扩展资料 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、信斗支持多线程和多CPU的操作系统。 它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的带桐多用户网络操作系统。 Linux操作系统诞生于1991 年10 月5 日(这是之一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。 参考资料: 百度百科-linux 学Linux可以赚钱呀,有专门的Linux工程师岗位。 作为互联网的幕后英雄,Linux运维工程师长期隐匿在大众认知范围之外,关于运维的讨论仍旧是一片无人涉足的荒漠。在某知名行业研究调查结果中,非互联网从业者对于运维相关问题的回复有三个高频词汇是:不知道、没听过、网管。当调查人员告诉他们科幻电影中展示黑客高超技巧时的命令行界面正是大多数运维工程师每日工作环境时,他们发出极其一致的惊叹。 相对于普罗大众的一无所知,技术圈对运维的态度则稿搏更偏向于黑色幽默。相较于开发等工作岗位,7*24小时待命的运维工程师总是默默无闻作为守护者,当然同时还要接受“背锅侠”这一艰巨使命。 在众多互联网公司,IT技术岗位,整体分为三大类。 1、开发岗位,也就是我们所说的码农,天天撸代码。 2、测试岗位,找码农写的bug,然后让码农改,改好后上线。 3、运维岗位,保证代码上线后,你的服务正常能够被用户访问。 Linux运维工程师,总体来说,是比开发要好掌握一些,开发是要求比较高的数学能力,因为到后期,算法会成为很多人的天花板,Linux运维工程师学起来比较容易搏敬胡一些,都是实操类的学科,把命令、安装、配置和服务练熟。而且对于刚毕业的大学生来说,学习起来是非常顺手的,因为在学校的课程中,就包含了不少运维所需要的基本技能:操作系统、网络、数据库、Linux等。对基拦于转行的人来说,Linux运维工程师的趣味性比较强一些,上手也更容易些,尤其是女生想学IT,Linux运维是首选,上手容易趣味性强,薪资高,将来工作还轻松,因为会有一堆男同胞,帮你解决问题。 Linux云计算工程师薪资也比较高,可达到12-25K,而且越老越吃香。 linux主要是做服务器用的,但现在桌面版的功能比win强大。 linux可以在配置较低的电脑上流畅运行,而win…简直就是吃硬件的怪物 网上很多对比资料了 如果辩腔灶以游戏为主,还是用win,携扮如果圆悄不是,尝试linux体验一下吧 Linux一空则般都是免费的,这样就不用花钱去买操作系统了。除此之外就是为了工作了模亏颂,如果工作需要,不旦郑学不行。 linux运维转java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux运维转java,从Linux运维转行Java,我的经验与教训,学Linux有什么用?的信息别忘了在本站进行查找喔。

技术分享