如何学习技术的

如何在技术上越走越远

1.写这篇文章的初衷

	我想做java开发也有一段时间了,再过去的一段时间有闲暇过也有忙碌,起码那段时间过得还算比较充实.在现在我换了一家新公司,有时候比较迷茫,甚至有时候怀疑自己适不适合做技术.总之也走过一些坑,我想在此总结一下并且规划以后怎么去学技术.

2.要不要去培训班

1)阶段一:对于专科生的建议,如果你正处于大一到大二期间,我个人建议自学技术或者专接本,如果你到了要实习的大三,自我感觉,在学校这两年学到的知识包括自学不能达到就业水平,这个时候,我觉得培训班对你很有帮助

2)阶段二:对于本科生的建议,如果你正处于大一到大三期间,我个人建议自学技术或者本考研,如果你到了要实习的大四,自我感觉,在学校这三年学到的知识包括自学不能达到就业水平,这个时候,我觉得培训班对你很有帮助

3)阶段三:对于跨专业的朋友,我说的这种情况,一般就是对于毕业以后的大学生,自己本专业找工作不是很顺畅,而又看中了计算机行业的高薪和好找工作,我的优先建议就是去培训班学习,可能对你会有很大的帮助

不仅如此,像某马,某谷,在自己的官网都有成体系的学习视频可以免费领取,但是那些视频就是放在那,又有多少人能够真正看完的,如果你能坚持看完,别的不说,就业肯定是没有问题的.


3.如何去学一门技术

	我先说说的经历,我记得当初我学习某马的基础班+就业班,一共100多个G的视频资料,我都看完了,当然了,学习的时间也是很长的,陆陆续续看了半年多,当时我学习的那一套,SSM都属于新的技术,我当时的学习方式就是看视频学习,不仅如此,还喜欢开着倍速看,看完视频以后,就照着老师的代码敲,不想敲的就直接复制粘贴老师的代码,整体学下来,我有一个什么感觉,就是整体要学习的东西我都知道是什么了,能做出来点东西吗?还真能,忘了就去看以前的代码,但是,我很慌,没错,就是慌,我发现我好像什么也不会,我相信很多人都会有这种感觉,明明自己学了一门技术,但是发现好像自己什么也没记住,这就是我那一阶段的一个心理状态。这种心态带来的最大的问题就是,你又开始从头开始学习,按照之前的学习方式,又学了一遍,可到头来,好像跟之前没什么区别,好像还是啥也不会,我把这种学习方式总结为:一种自我性欺骗性的学习,纯粹是为了让自己感觉到我学过,至于有没有真正学到知识,鬼知道.
	在那个阶段,我还非常信奉培训班的学习视频就是技术的最前沿,就是最好的,甚至最可笑的是,学了一门技术,我连这门技术的官网都没见到过。那我就逐渐发现,一个知识或者一门技术的学习,都是有因果关系的,他一定是要解决一个问题才诞生的,而你要将这门技术讲给别人,你就得知道前因后果,你为什么要学习这门技术,学了这门技术能解决什么问题,要学习这门技术都需要哪些基础知识等等,涉及到的东西很多,我也记不住啊,那咋办?

	我就开始尝试写笔记,准备讲课大纲,自己以老师的角度思考问题,如果我是老师,我要教给同学知识,我应该怎么给他讲他才能学会,应该先从哪里开始讲,为什么要从这里开始讲,以前,我只是听别人讲,别人怎么说,我就怎么做,我没有很深入的去了解过这个事情,现在,我开始亲身经历讲课这个事情,我才发现,老师上课讲的一句话,可能背地里,他需要很多知识的支撑,但是这些东西,老师是不可能都讲给你的,需要你自己来学习,我想,这可能就是师傅领进门,修行靠个人吧.

	通过这种教学式的学习,我也开始接触各种技术的官网,参考官网文档,我逐渐的明白了,培训班讲的那些东西,往往都是把你领进门,讲的都不深入,都不全面,演变到现在,我的一种学习方式就是,集百家之所长,结合该技术的官方文档,自己以老师的角度,写出一份对该技术理解的笔记,如果你真能做到,相信技术学习对你来说不再是问题,而且,随着技术知识的积累,你就会发现,很多东西都是相通的,这个学会了,可能另外一个也就会了.

	总结:不要一昧的看视频,也不要一昧的按下头敲代码,实操只能加深你对这个知识的熟练程度,但是,给不了你知识的深度,要善于思考,转变学习的角色,由我是学生转变为我是老师,代码是你的最终成品,而不是你的思考过程,你的思考过程应该由笔记记录下来,忘了可以随时翻阅,避免陷入自我欺骗性学习的死循环中.

4.旧的技术要不要学

	SSM,分布式,微服务,短短数十年,互联网技术发展如此迅速,各种技术框架层出不穷,知识体系的迭代也越来越快,框架高度智能化的发展,让我一度怀疑程序员会不会在有一天也能被程序所替代掉。由此,就会产生一个问题,那些老旧的技术,我们到底还学不学?

	我觉得这个问题也应该分为不同的情况,对于那些确实已经过时的技术,就没必要学了,比如:Struts2,即使是老项目,那用的也很少,而且对你以后的技术发展也起不到什么帮助性的作用;如果你今后学习的技术是在以前的技术上发展出来的,我觉得还是很有必要学的,比如:原生JDBC编程,这个应该可以说算是必备的,即使你不学习直接学习JdbcTemplate,也不影响你什么,但是你学了原生Jdbc编程对你今后学JdbcTemplate在理解上会很有帮助,这种你就要学;还有一种,你不说,我不问,大家默认都知道的行业共识,比如:Jquery,现在出去面试,谁去面你Jquery,就那前端三大框架就够你受的了,但是,在面试官眼里,这就跟小学的1+1一样,不说,你也应该会的,所以,聪明的你懂了吗。


	总结:不是所有旧的技术就不用学,要看你学完这个旧的技术,对你今后学习新的技术到底有没有帮助,有帮助就学,没有帮助就不用学,大家默认都会的东西,不说你也应该懂. 

5.为啥一定要学源码

	现在技术,越发展,越好用,程序员所写的代码就越少,可是无论怎么发展,核心是不变的,天下代码一大抄,就看你会抄不会抄,同样的,框架也是如此,你借鉴我,我借鉴你,你出来个新东西,我看着挺好,整合,他出来个新东西,我看着挺好,整好,这种框架的典型就是Spring,啥好东西都整合,可是他的核心没有变过,你只有真正掌握了他的核心,无论他在整合啥,随便,不就那回事。说白了,学习源码就是帮你减轻学习负担,你要是不学,可就不好说了。

	另外,我再举个例子,在团队开发过程中,往往是需要多人合作开发的,今天你的代码正常能跑通,明天一觉起来,发现代码再跑怎么也跑不起来了,可是你都没动他,他咋挂了呢,就这个问题,就会给你整的怀疑人生,一天过去了,两天过去了,…,一周过去了,都解决不了,百思不得其解,最终从入行到跑路,实际上,可能造成这个问题的原因可能就是你同事的一段配置或者一个注解,影响了代码的运行,如果你不懂源码或者运行机制,可能你一辈子都找不出问题所在,对于那些经验丰富的老程序员可能一眼就看到了问题的本质,这就是学习源码的重要性,现在总说,企业面试造火箭,工作拧螺丝,可真的不进行源码理论的面试,直接让你去火箭上拧螺丝,你真的敢拧吗?

	我们再退一步来说,现在企业总是讲什么私人定制,框架的最大好处就是使用简单,什么都给你封装好了,你看那些框架开发的应用都长一个样,要是来个需求,让你改一个样式,你改都不知道怎么改的。我们都知道CAS单点登录,默认有登录退出的界面,而且,他不像Spring Security有那么多的配置可以选择,你要是想要定制登录退出页面也得需要知道他的底层流程才能改,要不然,可真就两眼一摸黑了。

	总结:新手不建议一上来就手撕源码,可能会打击学习兴趣,先把工具或者框架用熟练,然后在啃下框架源码这根大骨头.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值