互联网的浪潮依旧凶猛,新的技术新的框架层出不穷,那么如何让自己快速高效地学习新技术以便在这浪潮之中继续前游不沉底? 笔者会从是什么、为什么、怎么做三个步骤出发谈谈自己的做法。

以下内容整理自笔者实习期间的笔记本中的笔记,零碎地记录了一些当时学习新技术的方法论,虽然时间过去已久,但是依旧受用。

是什么?

首先,是什么。我们需要了解自己所要学习的技术是什么,也就是说了解其定义或者说是概念(当然,学有余力的读者也可以了解下技术的发展史)。

你可以从以下几个渠道了解这些信息:

  • 官方文档
  • 相关书籍
  • 维基百科
  • 百度百科
  • ……

当然在了解所学技术定义概念的同时,难免会碰到一些晦涩难懂的新术语,那么在目前这个步骤来说,你可以先略过。

为什么?

其次,为什么。在这个步骤中,我们得搞清楚自己为什么需要去学习它?

我们可以从以下这几个方面出发:

  • 这个技术是用来干嘛的?
  • 没用这技术之前是如何干活的?
  • 有了这个技术之后是如何干活的?
  • 带来了怎么样的改变?
  • 这个技术解决或者简化了哪些问题域的问题?
  • 采用了什么样的方式达到?
  • ……

拿 tk.mapper 举例来说:

tk.mapper 是一个可以实现任意 MyBatis 通用方法的框架。在没有这个技术之前,使用原始的 MyBatis 对数据库进行访问操作,需要写大量手写 XML,虽说代码生成器 MBG 解决了手写问题,但是如果数据库字段变化很频繁,就需要重新生成代码,而且由于 MBG 覆盖生成代码和追加方式生成 XML,导致每次重新生成后都需要进行大量的比对修改工作。使用这个技术之后,我们可以使用 tk.mapper 所提供的基础单表方法。这大大地提高了开发效率……

怎么做?

最后,怎么做。这是最重要的一个步骤,毕竟实践出真知嘛。

可以按以下几个步骤实践:

  • 参考技术官方文档的快速章节进行简单的DEMO实践
  • 通读官方文档,实际使用技术的核心功能,强化对其的认知(加强英语的学习!!! 不要问为什么,问就是不知道)
  • 将技术实践过程中的所学所想尽情地与人分享,与同行交流,接收别人的建议与评判
  • 加入技术社区交流学习

以上便是笔者学习新技术的做法,如果您有更好的学习方法,欢迎相互交流学习。

最后再送读者一句话:

不要对自己不了解的技术心存偏见,不要对自己不熟悉的技术心存恐惧