(2)平时有意识的收集自己常常需要阅读的资料,将其上传到自己的GitHub仓库。我会自己认为比较重要并时常需要阅读的资料上传到我的GitHub仓库,地址为:
https://github.com/developers-youcong/Personal-Learning-Library
(3)开发过程中常常用的脚本或者是脚手架也可以放到自己的GitHub上,这样一来省的自己在写,虽然说可以记录成一个文档,但是本人觉得还是放在GitHub上好一些。另外关于脚手架,比如像SSM框架+SpringBoot+SpringCloud这种的,虽然有些IDE可以一下子生成,但是个人觉得一下子生成的并不一定适用于你的,比如像SSSM框架+Shiro+Solr+MySQL+Metronic+常用的数据表,完全就可以作为一个脚手架,因为不少企业都在用它,每次搭建框架环境时,只需git clone下来即可,基本上就可以用了。就像下面我记录的读书笔记那样,要最大程度上复用第一次从0到1的结果,而不是从头再来。说实话这一点我在这家公司做的不是特别好,虽然说开发前端,基本上就是看到一些好的网站就将其扒下来为我所用,但是觉得效率还是不高。
(4)记录自己的读书笔记,譬如像教材类的书一定要记录详细笔记,比如《Java数据结构与算法》之类的(关于这本书可以去我的GitHub找到),在GitHub上一般都是使用Markdown来写,我个人初次写的时候很不习惯Markdown,后来写久了发现,觉得爱上Markdown。再譬如像一些非教材类的可以记录一下自己的心得和体会,又或者里面某些观点给你的启发。
(5)工作一年以上的朋友基本上工作上都能搞定了,在此过程中为了提升自己,比如你想要系统学习SpringCloud,你可以参考官网,并在GitHub上添加对应的仓库,在此基础上系统学习。比如像这位朋友那样,如图所示:
该SpringCloud教程地址为:
https://gitee.com/ylimhhmily/SpringCloudTutorial
这里我想强调一点的是不一定将人家的copy下来,毕竟SpringCloud版本不断迭代中,你可以选择适合当下的稳定版本进行学习不一定非要标新立异追求最新版本的,然后放到自己的GitHub上,例子跑起来是必要的,同时也要记录一下笔记,比如你一开始你不熟悉它肯定会遇到一些错误,这些错误的原因是什么,你是如何解决它的,这些都可以记录在对应的README.md文件里面。这种学习方式其实就相当于实践+理论。记得一位前辈说过一句话,理论不懂就去实践,实践遇到问题就去看理论。
(6)自己发起一个开源项目,比如你觉得CSDN或者博客园在某些方面做的不够好,你可以写一个比它们更好的。我就觉得目前博客有一种非常不好的就是不能同步,比如我在CSDN上发布可以直接同步到我的博客园上或是思否、简书上。当然了,他们这么做的原因应该也是处于防止大量重复文章占用搜索资源吧。关于这个我觉得百度应该像Google学习,之所以很多开发人员用Google最大的原因就是因为通常搜索关键字,排名靠前的都是一些优质资源,反观百度,商业化太严重了。另外补充到自己发起一个开源项目,这个开源项目可以是从0到1,也可以不从0到1,比如可以学习Hutool的思想,Hutool这个开源项目实际是一个Java常用工具包集合,开发常用的都能在里面找到。我们可以参考它,自己也可以发起一个类似的项目,因为Hutool虽然广而齐全,但是并不能涵盖方方面面,比如在我现在这家公司比较适应,但是在我一些朋友的公司并不适应。所以在此我想说的是,每待一家公司不仅仅要将对应的业务吃的透一些,同时也要有意识的将一些常用的工具类收集起来。这也是将来跳槽面试的一个亮点之一。这个库一开始你可以私有化,当相对成熟些你可以将其公开分享给广大的开发者们。