致全部的开发者们

此文来自我我的微信公众号,总的来讲,阅读量和反馈都还挺不错,借此分享给广大的博友们。html

本文主要内容为以下几个方面?前端

  • 为何要有一个本身的博客vue

  • 为何要让本身的GitHub活跃起来react

  • 天天给本身一点学习的时间git

 

1、为何要有一个本身的博客github

关于为何要有一个本身的博客这个问题,其实与为何要写博客基本上是相通的。面试

 

首先说说关于为何要写博客?
算法

写博客的目的很简单,就是为了总结和记录,记录工做中遇到的问题,总结项目的得失或者是本身没有深入理解某个API致使出现了某某问题等。编程

若是再往高度说,就是为了分享。分享本身遇到的坑以及是如何填了这个坑及其本身究竟是由于什么缘由才落入了这个坑。在写的过程当中,也是让本身在思考,通过深度的思考和总结,可以避免再度重蹈覆辙。小程序

 

写博客给我带来的好处?

(1)提升效率(好比我须要搭建Ubuntu16.04的项目环境时,我直接就能够参考本身的博客来实现快速搭建);

 

(2)深究问题,提升知识深度。有的时候解决一些问题时,咱们每每都知足于解决了就行,而非深究这个问题,这时再写博客的时候,我就会问本身,为何会出现这个问题,有时候弄清楚为何比怎么解决更重要,由于当你知道了为何时,就基本上已经有了如何解决这个问题的思路。

 

(3)引导新人和帮助同事。特别是团队带新人的时候,有的时候新人遇到一些问题(这些问题基本上都是老鸟们已经遇到过),这时新人遇到了时,你能够将你的博客分享给他,让他本身看,这时博客就能够起到引领新人的目的(张开涛先生曾经写博客系列文章也是这个目的),固然了,若是时间比较宽裕的话,能够告诉他问题的缘由和解决思路;

 

(4)知识系统化。我认为不管学什么编程语言和框架都须要系统化地去学,像好比HelloWorld这样的例子,基本上都能学会,有很多朋友仅仅知足于拿这个技术跑起来一个简单的例子就表示本身已经掌握了这门技术,就再也不继续学习下去了,除非公司真正的要用到时才去比较系统的去学一下。

好比曾经的我就是如此,曾经的我Python和Node.js我都学过,可是如今的话,留下的只有Node.js,Node.js仍是由于最近对Settings-Sync插件二次开发的时候才去比较系统地去学习。知识系统化的目的在于让本身所储备的知识树更加扎实稳定

 

(5)让思路更清晰。写做的同时也是理清思路。特别是开发过程当中,思路清晰很重要,思路不清晰基本上等于无用功。

 

写博客的好处不少,这里就不一一说了。写博客,坚持很重要。宁肯不写也不能敷衍了事。

 

有朋友说有了家庭有了小孩哪有那么多时间来写这些呢?

我对此的回答是:按期总结很重要,能够不那么频繁。好比单身的时候天天写一篇两篇或者是两天篇之类的频率,有了女友而后到结婚再到有了小孩能够根据本身的时间进行合理安排。不过坚持,本人认为很重要,千万不能三天打鱼两天晒网。记得我刚开始写博客的时候,的确以为好难写,另外也以为网上明明就有现成的答案,我何须屡次一举呢。关于刚刚开始写以为很难这个问题,万事开头难,这是确定的,联想到广大的小伙伴们在校学计算机时,特别是从农村出来的朋友们(这里不是歧视),哪个学计算机又是轻松的呢?写博客亦是如此。

 

关于有人说,我文采很差我写很差怎么办?

我对此的回答是我文采也很差啊。写博客的主要目的是让本身总结和记录而非必定要在此中展现文采。其次在写多的前提下,慢慢让文章具备条理性,而后分享给广大的朋友们。至于文采方面,放眼古今中外又有哪个天生就写的一首好文章的呢?也许有,但我不知道。

 

回到一个原有的问题上来,为何要有一个本身的博客?

缘由有这么几个方面?

第1、安全感。时代老是在变,谁也不能保证今天的东西,明天不会淘汰(好比曾经的雅虎是多么的风光,而今早已不复当年勇了或者更糟糕地像AT&T烟消云散)。

第2、利于学习。我想从学习的角度来讲,我作过很多项目,发现不少项目与我之前在学校的时候作的博客本质上差异并不大,好比权限管理、内容管理等。权限管理又能够有角色、菜单、组织部门、总公司和分公司等。内容管理又能够包含客户信息、人力资源管理、财务报表、商品管理、医疗管理等。而这些其实均可以在博客系统里面进行复现。写一个博客系统,不只仅是提升本身的实践能力,同时也是在提升项目认知。

第3、提升影响力。好比阮一峰先生的博客就是一个很好的证实。固然了,还有不少知名博主。关于这个影响力的好处我就很少说了。

 

关于搭建本身的博客,目前有这么几个平台能够轻松搭建?

(1)GitHub。好比个人GitHub博客平台是使用Hexo,地址为:

https://developers-youcong.github.io/

 

(2)WordPress。WordPress的名气就很少说了。记得GitHub里面的一个开源项目Jeecg的插件开发我以为其就是参考WordPress的。

关于WordPress平台搭建也能够参考个人这篇博客:


Ubuntu16.04搭建WordPress:

https://www.cnblogs.com/youcong/p/9309197.html

 

CentOS7搭建WordPress:

https://www.cnblogs.com/youcong/p/9240603.html

 

(3)Jekyllt。关于Jekyllt须要搭建对应的Ruby环境。不过我没有搭建过,更多能够参考其官网。

 

(4)本身动手丰衣足食。能够选择本身写,编程语言能够是Java,也能够是Node.js或PHP。最近本人本身就在写,固然了,写也不是彻底没有参考的,当初在学校的时候,主要是参考像CSDN、博客园等这样的。如今写的话主要仍是站在巨人的肩上,好比我如今主要参考系就是WordPress。之因此写博客也是为了实践本身看的书,好比像分布式存储之类、高并发等。我一直就不喜欢背那些面试题,由于不理解的话根本记不住,只要理解的话,基本很难会忘记。

 

关于上述平台除了GitHub以外,其它都须要你本身有一个服务器才行。

关于服务器你们能够去阿里云或者腾讯云、百度云都行。

也许有人说,我不会Linux。我对此的回答是不会能够去学。在上学时期的时候一篇文章对我印象深入,文章这样说,“爱看书的青年,大能够看看本分之外的书,即便和本业绝不相干的,也要泛览。譬如学理科的,偏看看文学书,学文科的,偏看看理科书,看看别个在那里研究的,到底是怎么一回事。这样子,对于别人,别事,能够有更深的了解。在博的基础上,要渐择而入于己所爱的较专的一门或几门。

这句话联系到我这位开发工程师身上,个人感触以下:

我以为做为一名软件开发工程师,不只仅局限于软件这一块,同时也要关注其余行业并结交其余行业的朋友,固然了,在此过程当中,仍是得读读书。

 

再说句行内话,我以为像作后端开发,好比Java不只仅要把后端作通,在足以胜任后端工做的前提下(这个胜任不只仅表示你可以把活干好,同时也表示着你多少知道一些框架方面的底层实现),也能够去学学像微信小程序、安卓开发之类的。

而安卓方面则也能够对学学Java相关的,好比安卓就是基于Java语言。再好比像处于中小公司的开发人员通常身兼数职,作后台的每每也兼任前台,前台通常用前端框架(好比vue、angular、react或者是jQuery、BootStrap、AdminLTE、Metronic等)。不过这些框架的基础就是网页三剑客(HTML+CSS+JavaScript)。

通过这一圈你会发现技术本质上区别并不大。也许我工做年限不长说这句话有点狂妄了点。以我18年学Python、Node.js、Perl、PHP等来讲,基本上不少都是相通的。固然了,我也不建议东打一拳西打一拳的学习方式。由于很是浪费时间,效率又低。学习最有效的方式是带有目的性,好比我想用SpringBoot+SpringCloud/Dubbo+PostgreSQL写一个简单的CMS(其实传统Servlet+JSP+JDBC就能作这些,我之因此这样作是由于加深感性认识,这个感性认识,不只仅包括你知道它是个什么玩意,怎么用它,同时也包含遇到问题如何解决的)。我以为通过以作一个项目的方式做为学习导向比漫无目的的写HelloWorld或者是看书效率要高不少。

 

2、为何要让本身的GitHub活跃起来

关于为何要让本身的GitHub活跃起来,理由以下:

(1)GitHub不只仅是一个仓库,也是一个开发者的历程;

(2)一个良好的GitHub,能够为你的应聘加分或者是会有一些企业主动联系你;

 

针对(1),为何说GitHub不只仅是一个仓库,也是一个开发者的历程?

有句话叫作GitHub写满你的故事,每位开发者都是从0到1,而后从1到无穷大。

而GitHub就能够充当见识人,每当我翻阅本身之前的GitHub,看到本身的编码风格从杂乱无章到渐渐有序,看到本身的学习能力从依赖性或他人驱动性到独立自主和自我驱动,看到一个一无所知的人慢慢变的知识渊博。

针对(2),为何一个良好的GitHub,能够为你的应聘加分或者是会有一些企业主动联系你?

咱们经理在招聘的时候经常说的一句话之一就是请贴出你的GitHub,之因此这么说,缘由与(1)不无关系。

 

那么如何让本身的GitHub活跃起来呢?本人有以下几点建议:

 

(1)能够在GitHub上利用Hexo搭建一个属于本身的博客,关于搭建Hexo博客能够参考个人这篇博文:

https://www.cnblogs.com/youcong/p/9965885.html

 

(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虽然广而齐全,可是并不能涵盖方方面面,好比在我如今这家公司比较适应,可是在我一些朋友的公司并不适应。因此在此我想说的是,每待一家公司不只仅要将对应的业务吃的透一些,同时也要有意识的将一些经常使用的工具类收集起来。这也是未来跳槽面试的一个亮点之一。这个库一开始你能够私有化,当相对成熟些你能够将其公开分享给广大的开发者们。

 

(7)记录本身读源码的过程。我尝试过读Spring源码,按着Ctrl键,鼠标点进去再点进去发现这样读下去没有尽头啊。说带有某个目的去读,效果虽然会好些,可是我以为有种方式会更好,那就是好比像咱们Java开发的,日常写代码的时候也要有意识的翻翻源码,特别是遇到问题的时候并将问题解决的时候,经过查看源码看到里面的实现,这样下来,天天看一点点,积累一年或者半年,再或者三到四个月你会发现很多库的源码你都能看的懂了,不少实现机制你会发现都有不少相通点。关于这一点我并无实践过三到四个月,目前我仅仅只是开始,可是个人一个导师实践过。

 

3、天天给本身一点学习的时间

如今不少人都很焦虑,所以知识付费很火。前面我说过知识付费不乏有好的。可是大多并无那么好,主要抓住的是人焦虑的心理。

为何焦虑呢?

主要是压力大(这个压力主要的来源于生活与工做)其实说真的,我也很焦虑,一是我给本身定了不少目标我想迫切地让其实现,二是我没有安全感,我总想让本身变的更增强大。

 

可是随着而来,焦虑也逐渐加剧,渐渐地致使我失眠。后来我找到了一种比较好的方法,那就是天天给本身一点学习的时间。

这个学习的时间能够是写代码,也能够是看书,也能够是品味一段轻音乐读上一首优美的诗歌感觉诗歌的情形。

 

天天给本身一点学习的时间,这个学习的时间并不等于就是每次下班回到家中看书或者是写代码之类的,而是天天让本身有一点收获。

 

焦虑的根本缘由在于本身停滞不前担忧后面的人超过本身或者是前面的人原本与本身的距离是望其项背,最后变成了可望不可即。

 

针对此,最好的策略就是天天让本身进步一点点有所收获。好比最近我VsCode插件某段代码不严谨,一位同事指出了个人这个错误,因此我决定下次再也不出现这种错误。再好比最先个人代码注释写的很随意,也是个人那个同事指出的,所以到如今为止我无论怎么样,都要让本身代码严谨起来。也许是由于以前养成了一个很差的习惯,有的时候严谨点,有的时候不那么严谨。从换位思考的角度看,严谨的代码,简单扼要的注释,不只仅对本身有帮助,同时也对同事阅读也是一种赏心悦目。

 

另外分享一下最近阅读吴军先生《见识》的阅读笔记。

 

1.不作伪工做者

(1)那些既不能给公司带来较大收益,又不能给用户带来价值改进和“升级”,不少都是伪工做。

(2)有的人明明可以经过学习一种新技能更有效地工做,却恰恰要守着过去的旧工具工做,甚至手工操做,这种人就是典型的伪工做者。

(3)在作事情前不认真思考,作事时经过简单的试错方法盲目寻找答案。

(4)作产品不讲究质量、不认真测试,上线后不停地修补,老是在花费不少时间和精力找漏洞和打补丁。

(5)不注重用有限的资源解决95%的问题,而是把大部分时间和精力用于纠结不重要的5%问题。

(6)每次开会找来大量没必要要的人员旁听,或者总去参加那些没必要要的会议。

 

2.努力一万小时真能帮你成功吗?

存在以下误区:

(1)简单重复。

(2)习惯性失败(迷信失败是成功之母,简单地重复失败是永远走不出失败的怪圈)。

(3)林黛玉式困境(活在本身的世界里,排斥外界)。

(4)狗熊扳棒子(10000小时的努力须要一个积累的效应,第二次的努力要最大限度地复用第一次努力的结果,而不是每次都从头开始)。

 

3.三板斧破四困境

(1)第一板斧:确立“愿景-目标-道路”。

(2)第二板斧:即便听到不中听的话,也要试着找出其中的合理之处。

(3)第三板斧:凡是作记录,这样能够避免狗熊扳棒子(从中正好体现写博客的好处之一)。

 

4.作好最后的1%

这里主要启发的就是作事不能作一半。好比开发者们不要偷懒,该写单测仍是要写的。

相关文章
相关标签/搜索