开始
今天刚刚拿到了毕业证与学位证,自己的大学生涯也已结束,但是自己仍需要不断的提高自身的竞争力,才能造成自己的不可替代性,所以自己仍需不断学习,保持对技术的热爱。近期写了对Tiny WebServer的解析,如果有需要可阅读我的Tiny WebServer的专栏。
近期动作
首先是侯捷老师的学习视频,《Effective C++》与《More Effective C++》两本著作由侯捷老师翻译而成,由此在听侯捷老师视频讲解时会涉及到其中的内容,之后再配合《深度探索C++对象模型》,由此对C++会有一个全面而深刻的认识。
而C++ 11新特性与STL也是十分重要,可以买一本由侯捷老师翻译的《STL源码刨析》看看。
对我来说,关于侯捷老师视频目录如下:
- C++ 面向对象高级开发
- STL与泛型编程
- C++ 标准11-14
- C++ 内存管理
- C++ startup 揭秘
而后是陈硕大佬的 Linux C++ 网络编程实践,因为自己从事的方向和网络编程强相关,虽然自己已经做过了Tiny WebServer的项目,但想更进一步可将 Linux C++ 网络编程实践与《Linux 多线程服务器编程》 使用muduo C++ 网络库一起食用,陈硕大佬的视频讲解与所写著作的难度性会更高一些,会更加适合我以更进一步。
同时项目也是最为重要的,学习一些开源项目有助于提升代码设计与编程能力,构建工程化思维以面向企业开发,当自己有一定能力时也可开发简单易用的框架和工具,这时你也成为了一个技术大牛,但也要秉持虚心学习与求教的态度,并分享自己的成果与知识给他人如开源项目就是一个很好的方式。
在github上看到了很多优秀的开源项目,其中挑选了几个适合现阶段自己的:
基于C++ 11实现的TinySTL,实现了大部分STL的容器与函数,其中STL的实现也是基于模板的,可以很好的去学习泛型编程。我认为STL会使用是一方面,十分重要,而知道STL是如何实现的也有助于巩固数据结构与算法的知识。
otapp是一个轻巧而强大的Web框架,用于高度可扩展和资源高效的Web应用程序。C++ 的Web框架很少,otapp就是其中一个且也是经常在维护,这个项目的难度性较高,但是相比于redis和nginx还是很平滑的,若是能把该项目吃透,自己的技术水平应能上一个层级。
teeworlds是一个复古的多人射击游戏。项目的工程量还是很大,该项目主要用于锻炼程序的执行逻辑,同时可以看到C++在项目中的用法如面向对象、泛型编程、C++ 11新特性、STL与内存管理等等,Tiny WebServer其实也有大量涉及。
结语
后续的学习与实践都会以文章的形式和大家见面,就如这篇文章一样,因为我认为总结是非常有必要的,后续也会进行反复翻阅。
写这篇文章的目的还是为未来的学习做一些规划,在正式工作后,自己也会有许多在工作中沉淀下来的文章在这稀土掘金社区与大家见面,当然不会涉密,只是技术探讨,自己在工作中也会积极进取,提升能力并不断深入项目,以尽快的去承担自己的工作职责。