【置顶】个人阶段性学习和规划总结(技能树)

  本人专注后台服务端开发一晃已经好久了,自我感觉上不仅经验增加了很多,同时接触到的东西确实不少,在增加见识的同时博文也批量更新了很多。大多人看来内容很多很杂,此处做一阶段性整理和总结吧,给自己也梳理梳理一下。
  其实不仅仅是后台服务端开发这个方向,就整个软件开发来说,其知识构成也是有所层次的。个人毕竟不是正规计算机科班出身,也就是大家所说的半路出道、自学成才的野程序员,优点就是不会被那些所谓正规计算机教育的所束缚禁锢住,但是很多时候感觉自己的知识构成还是有所缺陷。既然励志要靠撸代码吃饭养家,那么长痛不如短痛,晚补不如早补,该学的终究跑不掉!

  语言就不说了,即使靠着拼爹含着金汤匙出生出生的Go语言有着脚踢C++吊打Java、席卷互联网后台开发的趋势,但是个人还是倾向于C/C++系,偶尔会用些Python。到了这个阶段,感觉个人已经看透语言了,因为软件开发的思路、手段万变不离其宗,如果不是为了研究语言完全没必要学习那么多语言,基础夯实了接触新语言也是分分钟的事(不得不说C++是个例外)。后面尝试着啃过《深度探索C++对象模型 》,虽然书已经买了,不过翻开几页感觉十分吃力,不知道后面能不能够看得懂,C++的另外一个高级方向是模板元编程,不过个人估计至少近两年不打算去涉及,因为一方面自我感觉驾驭C++的还没那么深厚,同时模板元编程在实用性工程中使用较少,如果现阶段对C++了解还没那么深刻,而把太多的时间放在这上面有点舍本取末的感觉。
  后台服务端开发技能树就整理如下:

基础知识类

后台开发基础类

后台开发高级类

技术和实用工具类

项目和轮子

  从上面的整理中可以看出,在不同的业务层次和需求情形下,后台开发涉及到的知识面相当之多。“吾生也有涯,而知也无涯。以有涯随无涯,殆已!”任何一个人都不可能把所有的这些知识做足、做透、做深入的,其中任何一个方面深入下去都有足够多的东西可以去挖掘和研究的。列举后会发现自己的博客都涉及到了,给人一种不务正业、蜻蜓点水的感觉,其实个人想法是:在对后台系统认识不够深入健全的情况下,最好把这些知识都涉及了解一些,后续再选择一两个方向做深入、纵向研究,就像临床医师学习的时候都是全科医生培养,然后在工作时候再在特定专科积累经验、做精做强,我想也是相同的道理。做任何事情,如果没有全局的观念和视野,那么往往能得到的也只是局部最优解。
  另外就是像之前说的,学习的时候如果能够由项目带着,自然是最幸福不过的事情了;否则的话,就多看看开源项目的代码吧。作为后台服务端开发的话,在此十分推荐Nginx项目,是一个异步多进程的经典实践。虽然是一个Web服务器,但是支持相当多的特性,后台开发中的很多问题都有涉及,比如长连接keepalive、负载均衡等,C语言也容易看的懂,可以快速借鉴用到自己的项目中去。
  “源码面前,了无秘密!”这是个好习惯。

  后续要做的事情,就是要把之前的博客整理一下,主要是:
  (1). 格式方面: 虽然自己不是做前端的,别人也提供了现成的框架和模板,做到像《JerryQu 的小站》这样的博客,文章整洁的可以当手册来用。
  (2). 文字方面:以前自己的博客写完一般就直接发布了,难免有用词不当、语句不通的情况。后面自己每篇文章都要好好读一下。
  (3). 知识更新方面: 这也是最重要的,因为随着自己学习的深入、见识的增加、理解的深入,之前的某些观点可能不完整,甚至是错误的,本着对自己对网友的负责,不合理的东西必须立即的修正。这些部分争取用修订的模式展示出来,个人癖好——成长的足迹也是一种快乐。
  PS:之前的博客URL使用默认的中文模式,导致经过urlencode的地址看上来丑爆了,长痛不如短痛,所以前两天将所有的URL都修成了英文模式的。这导致之前共享出来的链接都是死链了,默认让跳转到首页了,很是抱歉!

路漫漫其修远兮,吾将上下而求索!

本文完!