学习的时候追根究底很重要,多问为什么,多思考可不可以不这样,多思考不同实现方式的不同点,多关注思路思想而不是具体实现。
如果说最初的notepad写代码是石器时代,那么现在的开发至少已经进入了工业时代,现在的开发人员有好用的写代码工具,好用的项目构建工具,好用的发布工具。极大的简化了之前的手动操作。这样的结果就是,很多初学编程者,上来就开始使用这些现成的工具,用得太理所当然,以至于离开了这些工具什么都干不了。
我想说的是,现在现成的工具能够很好的提高开发效率,我们应该去用,但是很多时候我们学习者也需要知道这些工具出现的原因,即为了解决什么问题而产生,同时也需要了解一下这些工具的原理。也就是说,现在技术发展的很快,很多新的工具或者很牛的框架出现,但是如果我们一开始就用这些工具或者框架,我们就无法体会到这些工具给我们带来的便利,因为我们不知道没有这些框架时候是什么样子。
比如Hadoop,Spark,Kafka等这些框架,如果我们在它们出现之前用过其他大数据处理框架或者分布式消息系统,那么我们遇到这些新的框架的时候我们才能很好的体会到这些新框架的特点,但是如果一到了某家公司就开始用这些,可能你都来不及考虑一下为什么要用这些而不是其他的。
所以我的结论之一就是:很多事情,你必须亲自经历过,才能体会到某种新技术或者框架出现的初衷,也能更清楚的明白这些框架之间的不同,区别,真正做到按需索取。
但现在存在的很大问题就是,很多初学者如果弄懂这些,需要学的东西很多很杂,如何定位如何取舍就决定了你的提高速度。所以在这方面,有一个大神带飞一下,真的很关键!
这条结论来自第一条,我们要想经历过才懂得,那么我们就必须在某项技术产生之时就跟进,只有这样才能一步步了解该技术的发展,才能对于技术的整体方向有个很好的把握。
对于我们大部分开发人来说,保持这种意识也很关键,技术本来就是不断进步的,我们也需要能够及时了解技术发展动态,只有这样才能跟着技术发展的大潮一起进步,向前!
在我遇到过的技术人员中,我认为可以分为两大类,一类就是知识面很广,基本上从前端到后台,所有的技术都懂;另一类就是知识面比较窄,你跟他聊天的时候说的一些东西他可能没听说过,但是他的知识很扎实,只要他研究过的,就研究的很深入。
我不觉得这两种有什么不好,我觉得这是两种截然不同的知识体系的表现,一种就是很有广度,一种就是很有深度。广度和深度其实都很重要,但是对于不同阶段的开发人员来说,可能应该关注的度是不同的。
我觉得,随着开发时间的增长,技术水平的提高,我们需要不断提升自己的广度,扩宽知识面,但是在此之前应该是先提高深度,即把自己当前用的技术掌握扎实,理解透彻。
很多开发人员都觉得在哪家公司学不到任何东西,其实不是这样的,我想很多公司都会用到各种框架,哪怕是烂大街的大家都知道的,但是是不是这些烂大街的技术你就掌握的很好呢?你深入了解过原理吗?
但是现在的新技术这么多,对于java来说,体系更是庞大,那么应该学哪些呢?其实解决这个问题的根本就是要构建自己的知识体系,将自己已经掌握的知识系统整理,挖掘知识之间的联系和区别,然后在此基础之上适当补充。就好比一棵树,如果各个枝节都长满也绿叶那是最好的,但是如果我们发现某个枝节叶子本是很好,那么我们可能就需要在这个方面努力一下。
按照计划按部就班开展,而不是跟风,不然会被别人带到沟里的!
学问越大,越谦虚。越懂得的多,越能发现自己的不足。
对于新框架,由整体到细节
对于一个全新的框架来说,我们要从下面几个方面入手:
原文地址:http://blog.onlycatch.com/post/关于技术学习
作者:Medusar
精选互联网架构师视频、十多套精选实战项目视频、黑马内部视频、黑马大数据工程师视频、5套精选Java面试指南视频等等。
关注微信公众号“Java面试通关手册”回复关键字“1"即可免费领取!
Java-Guide: Java面试通关手册(Java学习指南)Java Interview Customs Manual (Java Study Guide)。star:1.9k。
Github地址:https://github.com/Snailclimb/Java-Guide
文档定位:一个专门为Java后端工程师准备的开源文档,相信不论你是Java新手还是已经成为一名Java工程师都能从这份文档中收获到一些东西。
你若盛开,清风自来。 欢迎关注我的微信公众号:“Java面试通关手册”,一个有温度的微信公众号。公众号有大量资料,回复关键字“1”你可能看到想要的东西哦!
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。