# 结束语 | 把学习当成一种习惯 你好,我是王新栋。 当你来到这节课的时候,我们的课程已经接近尾声,相信你在课程的学习中都有所收获。在最后的这节课,我想跟你谈一谈如何学习OAuth 2.0 这门技术。 在谈起如何学习这个话题的时候,我很愿意跟你分享我的一些经历和经验。我个人认为,**学习从来都不是一件容易的事情,夸张一点讲有点“反人性”**。你想啊,谁不愿意,在工作忙碌了一天后,晚上回家多陪陪家人;又有谁不愿意,到了周末去找几个朋友打打篮球或者陪女朋友看看电影呢。但是,学习一定要养成一种习惯。我在《程序员思维修炼》这本书中读到这么一段话,分享给你: > 知识投资也是一样。你需要定期投资最低限度的时间量。养成一种习惯,如果需要的话。躲到你的家庭办公室里去或者走进有无线网络的咖啡厅。并非每期学习都同样富有成效,但是只要定期安排学习,长期来看一定会成功。如果你一直在等待空闲时间或者等待灵感的突现,那么它永远都不会发生。 在具备了上面所述的“定力”以后,我再和你谈一谈具体的学习方法。 我按照层次由低到高把学习分为**基础学习、分析学习和主题学习**: * 基础学习,就是从知识点最基本的理论开始学习; * 分析学习,就是对知识的结构脉络做梳理,并带着问题去学习; * 主题学习,就是对同一个知识点,分别找到不同的资料来学习。 这样看,基础学习和分析学习属于“点”的学习,而主题学习就属于“面”的学习,整体下来就是从点到面构建知识网络的过程。接下来,我就和你说说OAuth 2.0的学习,是怎么对应到这三个层次的。 在基础学习的过程中,我们要学习OAuth 2.0的四种基本角色,包括资源拥有者(也就是用户)、客户端(也就是第三方软件)、授权服务、受保护资源服务;还要学OAuth 2.0的四种基本授权许可类型,包括授权码许可类型、隐式许可类型、客户端凭据许可类型、资源拥有者凭据许可类型。 当确定了基础学习阶段的学习范围之后,我们就要将这些角色带入到每个许可类型中,让这些角色“转起来”,这时你就可以像我一样用小明使用小兔打单软件的例子串起整个OAuth 2.0的工作流程。 在分析学习的过程中,我们就需要将OAuth 2.0 的知识体系结构进行一个梳理,同时把学习时遇到的问题都列出来,然后逐一分析。这些问题可能是:为什么授权码许可流程一定要有授权码,为什么授权码许可一定要有两次重定向,如何管理JWT格式的令牌的生命周期,当访问令牌失效了一定要让用户重新授权吗,刷新令牌会一直有效吗,ID令牌和访问令牌之间有联系吗,等等。 在主题学习的过程中,我们可以把要重点理解的内容当成一个主题,去“横向”地学习。怎么才能叫做横向呢?比如,要知道PKCE到底解决了什么问题,那么你就可以把PKCE当成一个主题来学习,你要去查阅跟它相关的任何资料,可以找OAuth 2.0 的官方文档,可以看咱们的专栏,也可以看其它与之相关的书籍等等。总之,这是你的一个“研究方向”。 在掌握了基础学习、分析学习和主题学习这三个层次的学习方法之后,我还有一招儿,就是配合 **“输出倒逼输入”**来加强学习效果。 有一天我在图书馆看书时,回想起自己这些年在公司内外做分享和写书的经历,猛然间脑子里面蹦出了“输出倒逼输入”这个词儿,一下子想通了输出对于技术学习的重要性。再后来,我刷朋友圈里别人分享的文章时,也看到了这个词。再到后来,我在读《如何阅读一本书》时,看到了其中有这样一句话“阅读与写作的互惠”,又再次印证了这一点。 那我再分享自己的一个小故事吧。有一年618刚结束,京东大学的同事就来找我,问我愿不愿意做一次618大促备战的复盘分享,而且要在一周内准备好要分享的内容。虽然时间很紧张,我也不知道自己要分享什么内容,甚至连思路都还不清晰,但我还是毫不犹豫地答应了下来。输出倒逼输入嘛。 在接下来的准备时间里,我从要备战内容的点点滴滴,到系统黄金流程的识别过程,再到人员的培训,分别进行了梳理,逐渐形成了自己的一套备战方法论,完成了那次的大促复盘分享,也获得了同事们的很多正反馈。 你看,要不是因为有“输出”的逼迫感,我可能就不会去做这个复盘,也不会沉淀自己的方法论。正所谓备战在平时,后来我和团队就把这套备战方法论落到了日常工作中,时刻保证着系统的稳定运行。 这就让我无比坚信,“输出倒逼输入”是一个绝好的学习方式。 那具体到我们的课程中,该怎么运用这个方法呢? 最简单的,自然就是留言了。永远不要觉得看完文章就是学会了,要知道,任何一种思想都不可避免地带有局限性,想要拥有更高维度的见解,前提是你见识过足够多、足够好的东西。 因此,你要多输出自己的想法,抛出引子,比如你对某些内容的深入思考、你在工作中积累的独特经验,甚至是你对我的一些观点的质疑,等等。我和其他同学看到了你的留言,也会和你讨论,我们的思想交叠碰撞,你的知识厚度必定会有所增加。 除了零碎的留言,你还可以进行系统的梳理,制作一些思维导图、PPT,或者是写成文章,在公司内部做一场分享。最后,你得到的是一套知识体系,同时也可以增加你在公司里的“出镜率”,这是不是一举多得呢? 当然,这种方式绝不仅限于咱们课程的学习,希望你总能积极地向外传达你的想法。带着惊喜的输出亮相,理所当然地会得到未知的惊喜。 到这里,我们相伴而行的时光也就接近尾声了,接下来,我们要回归各自的赛道了。在此之前,我很想很想跟你说一句“敬佩”。 你不知道的是,在你坚持学习的时候,有很多人都掉了队,站在终点回头去看,不知不觉中你就成为了极少数人。放大到整个人生去看,只要持续走极少数人走的路,你就能成为极少数人。 **“将每一个忙碌、充实的日子,累积成酣畅淋漓的生命”**,希望我们都能活到淋漓,与你共勉。 我在这里为你准备了一份[毕业问卷](https://jinshuju.net/f/YJJsnf),题目不多,希望你能花两分钟填一下。我非常期待能听你和我说一说,你对这个课程的想法和建议。今天虽然是结课,但我还会继续关注你的留言,也希望你能继续学习这个课程的内容,并会通过留言区和你互动。最后,再次和你一声“感谢”。