zoukankan      html  css  js  c++  java
  • 怎样学习一门新技术?(转)

    add by zhj: 我个人强调以下几点

    1. 先整体后局部,先战略再战术

    先看要学的这个技术的整体框架是怎样的,然后再学,这样,可以把学到的东西用整体串起来,

    形成树/图的数据结构,将知识进行了关联。人脑是非常喜欢这种数据结构的,也更容易存储这种数据结构,哈哈,从这个角度进行对比

    人脑和计算机,两者的确是很像。如果你没有整体的框架,那大脑中存储的知识就只是简单的集合类型,大脑就很容易忘记这些零散的知识,

    而且你在学习的过程中,时间的分配很可能是不合理的,捡了芝麻,丢了西瓜,陷入局部最优,时间浪费在一些细节上。这就是雷军说的:

    “战术上勤奋,战略上懒惰”。所以,先要战略,再战术,大方向没问题,才能最终赢得胜利

    2. 动手练习

    孔子说“学而不思则惘,思而不学则怠”。邓小平说“实践是检验真理的唯一标准”,矛盾论中关于理论与实践有非常精辟的理解,理论指导实践,

    实践检验理论,优化理论,让理论更逼近实践。

    多动手练习,大脑对此才会有更深的印象,如果只学习,但不练习,很容易就忘记了。

    原文:https://www.sohu.com/a/297468779_818692?spm=smpc.author.fd-d--1.24.1564619494007T8SzOCy

    之前有朋友问我怎么学习一门新技术,感觉这个问题可能大家都会遇到,这里写篇文章分享一下个人想法。

    不管是学习c语言、大数据还是人工智能,方法大体相同。

    入门

    入门可能是最难的一步,能入门基本上就学会了50%。

    而入门最难的一步就是搭环境。

    我当时刚学web编程的时候,搞tomcat,翻了好几本书,愣是没有搭建好环境。

    现在来看原因很简单,很多书讲搭建环境非常简略,而且不会说明软件版本,或者版本特别老,你照着书上讲的搭,90%的概率会碰到各种各样的问题,而且每本书说的都不一样,有的配了这几个配置,有的配了那几个配置,各种不一致,很容易把新手绕得云里雾里。

    后来在网上找了一个视频,分分钟搭好了,搭好了环境,心态就完全不一样,后面的学习能够看到效果,积极性就很高了,效率也提升了不少。

    所以入门的话,从我的经验来看,能找到入门视频教程是最好的,如果是有一些实践案例的视频就更好了。

    系统性学习

    入门之后就是根据自己的需求进行系统性学习,首先列一个提纲出来,看看自己需要学习哪些知识,然后去找视频,找博客,看官网都行,把自己列出来的每个知识点都搞清楚,能够写代码进行实践。

    怎么去列一个提纲呢?可能你的视频教程里已经有一个体系了,那么你可以参考。网上也有一些系列博客,也可以作为提纲的参考。还有就是官网的目录。

    而学习的过程其实很简单,就是跟着视频或者博客,操作就行,碰到问题去google一下,基本都不会很难。

    注意,在这个过程中最好能培养自己看官网的习惯,如果一开始看官网看不懂,那么可以通过其他途径学会之后,再回过头来找到官网中对应的位置。

    看官网是一个大神程序员必备技能,就和看项目源码一样。一开始并不要求会,但是要有意识地训练,后面会受益无穷。

    实践

    学完之后,一定要实践,不然很快就会忘光了。

    实践的话,最好是能独立写一个小系统,小项目,自己设计一些功能,把之前学到的东西尽可能用上。在这个过程中,不会的去看官网,google,过程可能比较痛苦,但是等到真正写完会提升很多。

    还有一点就是注意温故,学完之后可以马上实践,但是过了一个星期,要回来再看看这些代码,或者动手写一写,改一改,过了一个月一定要再来看一看,不然真的会忘的飞快。

    案例

    这里举两个例子,看看怎么应用在真实案例中。

    比如萌新想学习java。

    那么首先,找视频教程,搭好java环境,能把HelloWorld跑起来,然后教程里可能还有一些数据类型啊,类啊,接口啊,多线程啊什么的,可以快进看看,看不懂也没关系。

    然后,去找一找java体系的提纲,根据自己的需求和兴趣点,列一下需要学习的内容,然后针对这些内容找视频或者文章,各个击破,这样你对java大体上都会得差不多了。

    最后找一个实践案例,最好能把之前的知识点串起来,跟着一起写出来。写完之后最好自己能够脱离教程独立完成一遍。

    写完之后满满的成就感,但是要记得写写注释,做做笔记,一个星期或者一个月之后,再回过头来看一看,改进改进。

    再比如,萌新要学习hbase了。

    可以按照官网或者博客教程搭建hbase的环境,当然,前提是你会搭建hadoop,因为hbase是基于hdfs的,然后通过命令行工具了解hbase如何建表,如何做数据的增删改查。

    了解了上述内容之后,可以用你熟悉的一门语言进行hbase操作,把一些基础操作封装成库,可以方便以后使用。因为hbase是大数据数据库,可以用程序对hbase做一些性能测试,这也是了解hbase的一种方法。

    接下来就是去了解hbase的架构和内部原理,因为配置和调优都需要对其内部原理有了解,到这里你才能真正理解hbase的设计精髓。

    都了解之后,最后就是找一个案例来把hbase用一用吧。

    经典错误方法

    这里有必要说明一下错误方法,因为我曾经也踩过这样的坑。

    很多萌新一上来会在网上搜索答案,比如直接百度,学java看什么书。网上很多人会说看《深入理解Java虚拟机》这类的书,萌新买了一本看了2页就看不下去了。

    像《深入理解Java虚拟机》这类的书确实是好书,是经典,是通向大神必读的书,但是绝对不是给你入门的。就像你还没学会加减乘除,就直接学习微积分一样。

    写在最后

    其实学习新技术,如果能有老司机带,效率可以提升非常非常多。没有老司机带,就只能自己摸索了,自己找资料,按照上述学习方法,循序渐进,也不会很难。

    祝大家学得愉快。

  • 相关阅读:
    想更改Github仓库中的某个文件结构
    记git一些基本用法
    剑指Offer-Python(16-20)
    剑指Offer-Python(11-15)
    初次使用flask
    Python的Cmd模块的简易运用学习
    SQL-全称量词查询
    线段树模板1
    OJ输入输出超时(C++)
    二叉查找树(BST)定义
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/11280356.html
Copyright © 2011-2022 走看看