自学之道
1. 前言
一直以来,都非常想总结一下自己这几年自学的一些经验。从宏观来讲,自学是非常重要的一个技能,知识的迭代速度非常快,若不能快速学会一样新的东西,难免会落于人后;从方法论来讲,自学是一件非常讲究方法和技巧的事情,有时候,这些方法和技巧甚至决定了自学的成败。因为对于自学来讲,最痛苦的是付出了但迟迟看不到收获,如果能够掌握好的方法,就能够很快在自学中得到成就感,进一步增强自己自学的信心。
对于我自己而言,记性差是我最大的问题,所以也希望自己能赶紧把以前自学的那些经历记下来,为后人(包括我自己)鉴之。而最终促使我今天坐下来写这篇笔记,则是在学习UBC-GIF重磁三维软件过程中,遭遇了一系列的挫折,但在今天,终于获得一个新的突破,基本完成了这个软件的初步探索。想到在这一过程中的一系列失误,觉得是时候做下总结,为后面学习积攒经验。
2. 学习经历
我的自学经历比较多。
- 若从领域分,主要集中在两个方面:计算机相关与各种软件相关。
- 计算机相关:主要包括Linux系统管理、计算机网络、C++/Fortran程序设计
- 各种软件:PS、GMT、Underworld2,
- 其他:摄影
- 从从受众来看,可以分为大众技能与小众技能(其中,由于我所学的地球物理比较小众,所以一些相关的软件也小众)
- 大众技能:摄影、计算机、PS、C++/Fortran程序设计
- 小众技能:GMT、Underworld2
- 从难易程度而言(这个见仁见智)
- 摄影、PS入门简单,进阶较难,这两个都偏于艺术,并非单纯的技术。
- 计算机、程序设计入门和进阶都有一定难度,需要不断学习,不断实践的技术。
- GMT则是入门门槛高,但进阶比较容易,同时细节非常多。 为什么我要对这些技能做划分?因为不同类别的技能,自学的方法都是有所差别的,最主要的体现在寻找自学资源上面。
3. 自学经验(干货)
1. 明确自己的需求
首先一点,你要知道,自己到底要学习什么。
- 快速学习:只学习相关的一两个小技巧
- 全面学习:以后会经常用到;需要深入学习的东西
比如,像Linux系统和PS都是包络万象,有的人学PS只是为了修图,而有的是为了做海报,那么对应的PS里面有不同的模块,只需要有对针对性的学习即可。而对于Linux来说,有人只是为了在上面跑一些软件,有的人要做运维,而有的人只是为了在上面写程序。所以明确自己的目的,再去学习,这已经迈出了自学的第一步。
作为反例,有的人不是非常明确自己要学什么,于是大范围地学习,各种都想学,但结果往往是事倍功半。我当初学习PS的时候就是这样,想把它所有的功能都学会,结果后来发现很多功能用处不多(比如说用钢笔画一把扇子)。学习既无成效,又费时间。当然,了解基础知识和基本原理对于深入学习非常有帮助,比如Linux系统,若果只是出于好奇,又有时间,大范围学习未尝不可。
2. 明确学习计划
知道自己的目标之后,就是制定计划,达到自己的目标。 面对一个新的东西,我需要问自己,怎么才能学会它?所以,明确学习计划的第一步,从宏观上了解它。
- 宏观概论
要了解一个新的东西,先要对其有个大概的理解
以GMT为例,我最初想用它,就是知道它能够绘制很多地理图件。但是实际上,它布置能绘制地理图,还可以绘制曲线、柱状图,三维图,同时还可以转换为其他格式的图片,如kml,Geotiff等等。 很多时候,你学习一个新的软件,只是对它的一部分功能感兴趣而已,但是当你进入这个领域后,为何不再花一点时间,对它做一个全面的了解呢?反正你已经花了时间来学习它的一部分功能,那么如果这个软件恰好还有其他的功能是你所需要的,那么你学习的成本就会大大降低。 - 对快速学习而言,需要尽快找到相近的资源,最好是能找到刚好符合自己需求的资料,所以可以多花一点时间去寻找资料;
- 对全面学习而言,而需要一个系统的学习计划
3. 寻找资源
可以说,这是最重要的一步,也是最难的一步。
一个好的开端,是成功的一半。
- 首先我们了解一下,有哪些资源可供选择,它们又有什么优劣。
- 自带的帮助文档:全面、细节非常多,但往往会陷入细节而不能见全局。
- 网络视频:针对性很强,基本是经过别人理解消化后经验的总结,有全局观,但细节不足。
- 博客:比较零散,往往只能针对某一个很小的问题,对于解决具体的问题,或者简单的入门比较有好处。
- 在明确了需求之后,我们就可以有目的地挑选自学资源了。
- 如果是要全面深入学习一个新的东西,我的推荐是:入门视频–>自带文档。
- 如果针对性学习,那么视频足以。
- 挑选高质量的资源
- 我的做法一般是去知乎或者一些相关性/专业性很强的论坛,看看别人的推荐,然后再去获取这些资源
反例
1. 想全面学习,但泡在博客上
2. 想针对性学习,但花了太多时间在帮助文档上。
4. 学习方法
- 直接找相关领域的人寻求帮助,对于快速学习,这个方法简单有效,对于全面学习,可以打好基础;但是找到一个愿意费时间帮助自己的人比较难,而且别人不一定有时间和精力
- 搜集相关书籍,这个对于IT技术来说是最主要的方法,但是费时
- 网络视频,适合快速学习
- 相关博客,适合解决具体的技术问题,不适合解决学习需求问题。
- 最重要的一点,经常做学习笔记,并且,定时做总结(这一点我自己做的也不好)。
5. 学习资源推荐
英文>中文
Google> Baidu
YouTube是个很好的学习平台,各种小众软件的学习视频都有!
2018-11-16:第一次更新