如何学好一门编程语言或技术?

相信大家都知道,在看一本书的时候,通过该书的目录和索引能够很快的了解本书内容和找到我们需要的页数,因为一本专业的书本往往记录的知识都非常全面,举个例子假如我们初学Hadoop,所以呢就购买了一本《Hadoop编程指南》,打算系统的学习一下这个东东来提高一下自己的逼格和工资水平,那么问题来了,如何才能学好一门语言或技术? 以前也有很多朋友或群友,问散仙如何学好一门编程语言或XXX技术,当然首先我得从非技术的角度来回答你: 1,最重要的就是坚持下来,不要半途而废 2,空杯心态,戒骄戒躁,多向比你强的人,会的多的人学习和取经, 3,坚持上面的2条 OK,上面的几条,你能做到,那么就可以从技术方面来谈谈具体怎么学了,如果上面最基本的几条,你都做不到,那么,对不起,你现在还可能不太适合学习。 当我们真真正正拥有了良好的态度之后,然后在学习一件事物,或许就会变得更加容易!在系统的学习一种事物之前,我们一定得有个计划或者叫目标,这个很容易理解,大家想想写书的人在写书的时候,第一件事通常是做什么,毫无疑问就是,制定本书的目录和大纲,可能分章,分节等,整个框架有了之后,然后我们需要做的,就是一点一点去完善这个系统。 盖一座高楼大厦,也无非如此,首先设计好整做大楼的架构和图纸,然后按照这个图纸一点点去添瓦加砖。 以此类推,学习的过程也是一点点完善的过程,所以有大纲和目标很重要,现在很多小伙伴们都是毫无章法的学习,举个例子,初学Java,如果你连基本的数据类型和方法的定义都不知道的话,然后就去学习类和接口的使用,可以想想是多么尴尬,所以,学习的时候,一定要把基础知识给掌握牢固之后,然后进阶后面高深的内容,最好划分一下,比如说,有初级,中级,高级等等,一定要有个循序渐进,熟能生巧。 具体的技术学习方法如下: 1,对这个技术做一个学习的规划,比如先了解这门的技术的历史,以及应用场景,优缺点。 2,按照官网Wiki,来制定一个系统的学习路线图。 3,多实践,遇到解决不了的问题多Google。 4,加一些相关的技术群,多参与学习。 5,定时写笔记,博客,总结心得! 那么如何制定一个有效的学习路线图,其实大家随便拿一本书的目录看看就能发现,书的目录往往都设计的非常人性化,一般都是由浅入深,循序渐进。知道这点后,按照散仙上面的几条建议,首先,我们对这门语言或技术要有一个系统的了解,包括它是什么,能干什么,背景,历史,系统架构,系统优缺点等,然后了解这个语言或技术有多少个学习模块,这多少个学习模块之间,是否有学习依赖的先后顺序,如果有的话,就按顺序组织串起来,没有话,可根据喜好学习。这样定好计划之后,我们就可以使用word文件或html网页等等,组织成目录或索引,然后把每天学习完的知识都定时笔记或完善上去,这样以来,就非常方便,如果在某天,我们忘了某个技能点如何使用,我们也可以根据这个笔记来重温这个知识,这个笔记以后也会成为我们的财富,我们可以无私的分享给我们的同事,或朋友,同学等一起学习进步! 最后记录下如何使用word生成目录索引,并给出一个散仙临时简单写的一个hadoop学习路线图: 1,打开word 2,点击新定义一个多级列表

3,定时1,2,3,4,......,N级目录 注意链接到样式和级别,都要与当前的级别对应,下面 是1级目录设置

下面是2级目录设置

依次类推,3,4级目录截图如下: 3级目录

4级目录

定义完成之后,我们的word界面上就会显示刚才设置的样式:

然后,分别按级别点击1,2,3标题,来添加例子如下:

最后在引用里,生成学习路线图目录:

最后如果在生成目录,有新增目录结果,或修改了,我们可以在目录区域点击更新即可,更新所有修改内容:

这样,制作路线图的基本知识,我们就具备了,下面看下散仙模拟写的一个hadoop路线图的目录例子:

这样以来,我们的学习路线就非常清楚了,有了这个指南针之后,我们就可以日拱一卒,直到完全拿下这个技术,当然上面只是一个例子,无论我们学习的什么编程语言,技术,武功宝典,泡妞秘籍,这个学习方法都非常有效,如果你还在为学习某个事物,而迷茫,彷徨,或者不知道如何下手的时候,那么你就可以试着按照散仙上面说的方式来试试,万一真的管用的呢? 文末记录一个小知识,如何在linux上使用svn初次上传一个项目?

Java代码

(1)确保你的svn服务器已经搭建完毕,并且正常可用  
(2)使用svn co svn co http://175.168.11.234/svn/project/1,导出一个svn文件 
(3)将你的所有文件拷贝至2的文件夹里  
(4)使用svn add * ,添加所有文件  
(5)使用svn commit -m "" 提交文件 

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2015-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏领域驱动设计DDD实战进阶

DDD实战进阶第一波(十五):开发一般业务的大健康行业直销系统(总结篇)

1863
来自专栏马洪彪

C#.Net与MATLAB集成

在数学分析工具方面,MATLAB无疑是佼佼者,除了作为软件工具外,MATLAB的自定义编程语言以及混合编程的支持,使其可以与Python、R之类数学分析语言媲美...

3097
来自专栏Kirito的技术分享

技术精进的三境界

最近更新了一篇 Docker 的文章,朋友跟我反馈说效果并不是很好,我回头看了下,的确没有我自己的特色,没有太多思考,让公众号显得有些「百货」了。经过反思,今后...

3336
来自专栏祝威廉

ChatBot framework 开发实践

通常而言,通用聊天机器人(比如小冰等)底层技术是采用类似Seq2Seq等“生成”技术的。但是这种机器人属于探索性质,无法 提供特定的服务。而Siri则是兼具闲...

1223
来自专栏java一日一条

如何处理前任程序员留下的代码

作为软件工程师不可避免会遇到的一个场景是:我们在改变或添加一个功能到不是我们创建的、我们不熟悉的、与我们负责的系统部分无关的代码中时,会遇到麻烦。虽然这可能会是...

1042
来自专栏诸葛青云的专栏

C语言学到什么程度可以做项目?

都说编程学习是一个漫长的过程,会的东西越多,感觉懂的越少。要达到可以做项目的状态还是需要下些功夫的。但你非得说没有时间限制,懂一点点你就可以去做项目了。前提是你...

1730
来自专栏Java学习网

不要浪费时间写完美代码

 一个系统可以维持5年,10年,甚至20年以上,但是代码和设计模式的生命周期非常短,当对一个解决方案使用不同的方法进行迭代的时候,通常只能维持数月,数日,甚至几...

2925
来自专栏ionic3+

【开发指南】(五)ionic3开发技术基础

首先要区分angularjs和angular,前者一般指代angular1,后者是angular2+,它将angular1技术栈推倒重来,使用typescrip...

933
来自专栏刘望舒

开源项目源码阅读指北

作为一个程序员,阅读大牛们优秀的开源项目源码是一个提升个人编程能力、扩展思维的重要途径。在实际工作中,相信并不是所有人接手的项目代码都很优雅和优秀,而且很大可能...

1122
来自专栏数据猿

对象存储来势汹汹,究竟谁是“幕后推手”?

存储圈真会玩,继网络接入存储、块存储、文件存储之后,对象存储也掀起了新一轮发展浪潮。银行、保险、交通集团等传统企业纷纷换上了对象存储,真怀疑IT部门的单身狗只是...

4235

扫码关注云+社区

领取腾讯云代金券