运维是一个不错的职位,喜欢动手的我很热衷与这个样的职位,但是总觉得那样子缺少了挑战,因为时间一长了,经验不断的丰富了,对于任何问题的解决方案都是固定的何谈激情,没有激情了就等于什么都没有了。、
我还是选择了一个我觉得很值得去挑战的职业,那就是Linux 的C++ 开发。
下面的是我的大致规划,在我计算机人生的规划,这样的规划也差不多算是Linux 开发从入门到精通的一个步骤吧:
1 、这个应该是大前提了,那就是你必须会编程对吧。那么Linux 下面支持的编程语言很多。这里主要说C 和C++ 了。那么你就必需先会这两种语言了。学完了这些内容,接下来你就该学习一些数据结构的知识了。她会帮助你的开发。
2 、学完了语言和数据结构了,接下来的就是你得会Linux 的使用了。这个是前提了,若都不会用,那么何谈来借用她来开发呢。 对了Linux 基本的操作命令还是要知道的,比如文件操作、用户管理、磁盘信息管理、网络工具(NFS 、Samba 、FTP 、HTTPD )等等的使用
至于很多人关心的开始使用Linux ,选择哪个发行版本才是最好的选择,这个不存在最好的问题,之前我自己也在纠结这个问题,时间长了你就会发现,其实做Linux 的工作,无所谓哪个发现版本的好与不好。但是,我们还是倾向于稳定的版本来学习了。这里我推荐Centos ,不必要求一定是最新的,能够用就好了。
2 、会了基本的使用Linux 了,那么接下来就可以在Linux 上架设自己的开发环境了。
Linux 上的开发环境有两种:
一为系统提供的,就是简单的
Vi/Vim + gcc/g++ + gdb + Make
另一个就是集成环境(IDE )
用的比较多了是Eclipse 和netbeans 这样的吧。其他的我也没有过多的接触过。这两款开发工具集成了编译链接调试程序,便于大型程序的开发设计。
那么这点要学习的东西也就明确了:
1 〉Vi / Vim 的使用;
2> gcc / g++ 的使用
3> gdb 的使用
4> Make 工具对应的Makefile 文件的编写
接下来就是对一个IDE 的使用,可以选择Eclipse 或netebeans ,当然你都会那是最好的了。不过学习工具不是我的主要任务哈,时间不要太长。这个就花1 周时间就差不多了吧。当然你要是之前接触过这些相关的,那么完全可以把时间压缩。
最后我觉得可以学习一点shell 的编程的东西对以后的开发会有一定的帮助的。
3 、完成的上面是工作那么就算是进入 Linux 的开发人生了。
接下来就是要扩展一些知识来帮助自己的开发:
操作系统、计算机网络等等
最重要就是要深化数据结构和算法的学习和理解
完成了上面的工作之后那就可以为自己的开发人生添砖加瓦了:
Linux 下的网络编程
Linux 下的 Gtk+ 编程
Linux 下的 Python 编程
C++ 的标准库学习
C++ 的多线程学习
正则表达式
完成上面的工作之后就可以进攻 Linux kernel 了 哈哈哈
暂时想到的就这些了 ,某天再想到了 再加入吧!