两年制大专,主修网络配置与维护,在努力钻研网络技术的过程中慢慢爱上了编程,后放弃Java 而专攻C,最终因钟情Linux 内核之美而娶了它。社区之星第42期带你感受与历史共舞的Linux网络专家王然的艰辛成长之路。 Linux网络专家王然和他的爱女小小 王然,专注于VPN,精通TCP/IP协议栈的原理以及实现,平时对Linux内核特别是网络部分有浓厚的兴趣。虽专注于技术,然而每天必须抽出一个小时时间读历史。 会编程的人是最幸福的 CSDN:你是在从事了一年的网络维护后才开始接触编程,进而成为了一名程序员,能否简单说下你当时是怎么样的一个想法?又是如何一步步做到的呢? 王然:我大学学习的专业是网络与信息安全,虽说这个专业名字听起来挺吓人的,但是对于两年制大专来讲,这个专业主修的内容其实就是网络配置与维护,留下的仅仅是个名字而已,但是我当时就想决不能愧对于这个专业的名字,一定要好好学习。一切从网络协议开始,因为如果不懂网络协议,就不可能精通网络安全,至于编程,对于我个人来讲,它是我努力钻研网络技术的过程中一个必不可少的工具。 两年的时间里,我努力将网络协议部分的专业知识基础打得很扎实,参加了华为的高级网络工程师培训并获得了HCSE证书,余下的时间内就死啃各种网络教材,从大学教材到Cisco系列,另外,在学校的实验机房搭建简单环境做些小测试也是必要的,毕竟理论要联系实践。 毕业后,顺利在长春找到了第一份工作,在做了较短时间的网络实施维护后,一向喜欢刨根究底的我在网络领域知道了“HOW”之后,十分想知道“WHY”。在那个阶段第一次接触到了Linux内核代码,由于在大学期间学过一门Java课程,大致知道编程语言的一些事儿,对于C而言,自学起来应该也不会太困难,当时并不是为了学编程而学C编程,而是为了“折腾网络”而学的编程,要知道所有的网络协议落实到根本就是代码,因此自己一定要学会自己写代码。 经过了一个痛并快乐着的过程之后,Linux内核协议栈的代码基本浏览了一遍,期间自己动手写了好多代码,事实上,我是从Linux内核代码那里学会的C语言而不是从谭浩强的书里学的。由于在学习编程之前我就对网络协议的运行原理有一定深度的理解,现在学会了C语言编程,就可以动手做一些HACK了,现有的协议或者协议处理模块满足不了自身要求的地方也可以做一些DIY了,另外,有时仅仅是为了确认一下自己的想法是正确的,会修改Linux内核代码,加入一些逻辑… 就这样,五年过去了,一步一步走到现在,我的观点就是有动力什么都是可以学会的,动力的源泉在哪儿?我觉得是兴趣和好奇心,以及一点点想象力。 CSDN:你一开始是学Java的,至于C语言是你后来自学的,能够介绍你的学习编程之路? 王然:其实也谈不上什么“学习编程之路”,基本就是我前面说的那些,兴趣加好奇,然后不要懒惰,想到什么点子就动手拭一下。 个人觉得会编程的人是最幸福的,编程和其他的任何工作之间的最大区别在于编程允许你不断试错,几乎不受任何资源的影响。 试想一个木工,想做一个凳子,他能不断试错吗?木料毕竟有限的。 至于从Jave到C,个人一直不觉得具体的编程语言之间的区别有多重要,重要的是你要用它完成的工作,语言,仅仅是一个工具而已。语言的背后,理清自己的思路和逻辑更重要。 CSDN:你在博客中讲述曾经自己在学习程序语言时称,“一天500行代码根本不算多,坚持下去就会成功”除此之外,你在学习这些程序语言方面还有什么心得和经验可分享? 王然:还是那个观点,我学习编程以及写代码的动力就是我想证实一些事情或者想DIY一些东西。 举一个简单的例子,你觉得现在的Linux对NAT的实现不合理,那么总不能只破不立,你自已除了要知道它哪里不合理之外,还有提出一个合理的方案,光有理论不行,自己得实现它才能证明它是合理的,起码比现有的实现合理,这么一折腾,加上调试,调优,一天甚至几天就过去了,代码量,不止百行记吧。 CSDN:一个成功的男人背后总有一个默默为其付出的女人,在高中你们就已相识,后来你大学毕业,又陪你现在的妻子到他乡读研了两年,而她也懂Jave和Linux等,能否谈谈她在你前行的路上所带来的影响? 王然:记得一件事,大学快毕业时,我在学校对面的书店买了一个汇编语言的书,她说我什么都买什么都懂一点什么都不精通,事实上,为了驳倒她这个我认为是谬论的观点,我决定做一个起码在两个以上的领域都不是菜鸟的人。曾经给她讲那些名人的事迹,几乎都是全才,然而语言是苍白的,你得自己做点什么,于是我除了网络以及编程之外,还学习了很多别的,虽然最终也没能学到什么程度,但毕竟做过了,做不好也不会遗憾,大不了等我再也学不动的时候,告诉老婆,你赢了,你的观点是对的…。想想都学会什么呢?好像包括钓鱼、烹饪之类的吧,呵呵… CSDN:你的CSDN博客从09年初截止到今天,已经有了1073篇博客,粗略的算了下,平均每周发表四篇博文,你是如何坚持下来的? 王然:以前小的时候,我就有写日记的习惯,家里满满几大箱子呢。现如今有互联网,岂不更方便?再也不用买日记本还铅笔了,也不用找地方放那些本子了。 以前小的时候,我都会随身带一个本子和笔,(现在我也时常带着笔),一有什么想法,不管多么乱七八糟,我都会先记下来,然后晚上整理出一个思路,小时候就写本子上了,现在就是写博客。想法总是转瞬即逝的,我希望能把它们捕捉下来,没准哪天用得着。 写博客和写日记不同,博客是分享性的,日记是隐私性的。有想法希望分享给大家是因为我的想法也来自于别人的分享。 |