《深入浅出Spring Security》一书已由清华大学出版社正式出版发行,感兴趣的小伙伴戳这里->->>深入浅出Spring Security,一本书学会 Spring Security。
最近松哥在连载 Spring Security 系列,到目前为主,前前后后已经写了二十多篇了,从 Spring Security 入门开始,一步一步深入,直到现在。
当然这个系列还没有完结,目前还在继续连载中,欢迎小伙伴们保持关注。
有小伙伴看松哥的文章都是系列为主,不由得好奇,到底该如何成体系的学习一个框架?看书?还是看视频?还是看博客?
今天松哥结合自己的一些经验,和小伙伴们聊一聊这个话题。
为什么一定要系统性学习?不管你是不是做 IT,其实都有系统性学习的必要。
系统性的学习一个知识点,可以让我们在遇到问题时考虑的更加全面,这也是一个成熟的工程师应该具备的特征;碎片化的学习则很容易让我们得出一些片面的、甚至错误的结论。
然而,系统性学习需要耗费巨大的时间和精力,有的人可能会觉得不值得,就放弃了系统性学习,转而信仰复制粘贴改一下七字真言,一头扎进 CURD 的苦海。
工作之余和小伙伴们聊天,我也发现很多人都明白天天 CURD 的危害,想提高,但是不知道该从哪里入手?松哥告诉你,就从系统性学习入手。
很多小伙伴不清楚系统性学习该从哪里入手?我给大家举一个简单的例子:
公司想要结合 RabbitMQ 搭建一个邮件服务器,可是你从来没用过 RabbitMQ,那怎么办?工作中的事情都是比较急的,所以一般可能这样做:
当借助网上的教程把工作中的问题搞定了,从此 RabbitMQ 就扔在一边了,再也不管了,以后出了问题,再继续搜索。
相信这可能是大部分小伙伴的日常。如果你想系统性学习,这就是一个很好的切入点,请继续看:
如果在搞定工作之后,利用业余时间买一本 RabbitMQ 相关的书,或者翻一遍它的官方文档,再去认真的啃一遍它里边消息队列、消息发送和确认、故障恢复、故障转移、REST API 操作 RabbitMQ、监控、性能提升等等各个方面,把它从头到尾的认真啃一遍,那么下次当你再遇到 RabbitMQ 相关的需求时,写代码就信手拈来了,因为你已经熟知 RabbitMQ 有哪些特性、可以实现哪些功能,不用再去一遍遍百度搜索。
其实我们日常工作中,有很多可以系统性学习的切入点。当你 Coding 的时候遇到问题了,百度搜一下,复制粘贴改一下就完事了,也不去深究到底是什么原因,这时候其实就错过了一个系统性学习的机会。其实这个时候可以想一想为什么是这样,如果从当前问题这个点深挖下去,就会有惊喜。
有的小伙伴表示平时工作太忙了,没时间系统性学习,这个问题其实我很难给你什么好的建议,我只能说,时间挤一挤总会有的。我属于那种对自己比较狠的,所以我基本上不会有这个问题,工作再忙我都有时间学习,但是我这种方式可能并不是适合所有人。
总体上来说,有这样几种方式可以选择:
三种方式有的人不知道通过哪种方式学习效果好,或者应该选择哪种方式,松哥在这里给大家稍微分析一下。
视频教程
看书
看官网
看博客
了解了每种方式的优劣势之后,我们再来看学习步骤:
通过这样的方式,我们就能系统性的学习某一个知识点,进而逐步建立起自己的知识体系。
还有一个大家比较关心的问题,就是源码该怎么看?什么时候看比较合适?
这块我也来稍微说一下经验。
首先不建议一上来就尝试通读源码,这有点费时间。
源码阅读,建议采取“农村包围城市”的方式,即“点动成线,线动成面”,学习的时候,先学某一个技术点的应用,然后,结合具体的应用去分析相关的源码,这样源码阅读起来要容易很多。这块大家可以参考我最近在连载的 Spring Security 系列,基本就是按照这样的方式来的,每次讲完一个知识点,我会顺便带着大家看一下源码,这个时候源码看起来就不枯燥,很有意思。
当我们将一个一个知识点的源码攻克之后,最后再回过头从整体上看源码,你就会发现原来如此简单!
系统性学习是一个漫长艰辛的过程,对自己来说也是一场修炼,松哥写了很多系列教程(参考不知不觉松哥已经撸了 8 个原创电子书了,今天打包下载!),不仅仅帮助大家掌握技术,对我自己来说,也是一个知识梳理与提炼的过程,我很享受这种一个系列完结后的轻松与惬意,所以每一个系列尽量避免烂尾。
说到系统性学习,如果大家想系统性学习 Spring Boot+Vue+微人事+Spring Cloud+Redis,那么不妨看看松哥录制的视频教程Spring Boot+Vue+微人事视频教程
好啦,今天周五就和小伙伴们随便聊一聊,下周我们来继续学习 Spring Security+CAS,小伙伴们敬请期待哦~