怀旧迎新

来源:互联网 发布:漫威the end知乎 编辑:程序博客网 时间:2024/04/19 02:30

怀旧迎新

      2010年过去了,严格的说,我的计算机生涯度过了1年半了,由一个什么都不知道的超级大菜鸟变成了小菜鸟了。

      作为启蒙的1年,其重要性是不言而喻,那到底我学到了什么呢?

      …………..

      菜鸟的第一阶段:

      时间在一年前的今天,学习计算机半年了,由于课程的需要学了oracle,看了计算机网络,读了windows系统编程。Oracle是只停留在语法阶段,所以1个月不用就会完全忘记;计算机网络是停留在了解阶段,毕竟作为没入门的我只花了7天就看完,这种了解程度是可想而只的;windows系统编程只停留在知道有这本书的阶段,咬牙看了2章,后来实在是看不下去了,太难了对于连C都不怎么明白的我。所以2010年的开始,是一个处处都是未知的开始,没有任何光亮。

      菜鸟的第二阶段:

      每个人都是有目标的,所以作为 菜菜鸟的我,也有一个目标,那就是做一个网站,带着这个目标我开始了C#之旅。当然这些都是春节后了。

      来到学校都已经3月份了,本来打算寒假在家好好看书,结果成了好好玩游戏了,所以来到学校一定要好好补过了。所以每天基本上都是图书馆-寝室,课基本上都是不上的,慢慢的我熟悉了C#语法,会做一些基本的窗口程序,会连接数据库 跟数据库互操作了,而且更重要的是会做一个简单的网页了,但是到了这个时候我发现其实我的目标只是浮云,我要的不是做网页,我只是要一个给自己奋斗的目标,对做网站其实没兴趣(不知道是觉得需要了解的东西太多还是觉得没意义)。这样过了3个月,C#也算是有了点小成吧,毕竟《C#入门经典》这本书仔细的看了一遍。

      6月份了,C#感觉语法知道,但是上CSDN大家讨论的问题还是不会,不知道消息机制,不知道多线程,不知道异步,更不知道socket编程。这个时候开始了第一次迷茫。

      菜鸟的第三阶段:

      在超哥和庆哥的影响了,感觉C才是本质的,所以就这样开始了菜鸟第三个阶段。

      6月份,因为要考试,所以没太多时间,花了2周把《C入门经典》看完了,书后面的题也照做了,这个月算是C的开始阶段-简单语法阶段,指针、结构体,只停留在概念层次。

      7月份了,712号开始在公司实习了,反正什么都不知道所以老师安排什么就努力的做什么,最开始一个项目是视频监控项目,即在手机上录制视频可以实时的传到PC服务器上并播放。老师给我们的方案是Red5+flash。所以在安排后的头一周我的任务是搭建Red5服务器并在eclipse上搭建android模拟器,第一次接触这么东西而且感觉还挺时髦的,虽然在老师看来很简单但是还是让我努力的每天15小时工作才基本完成任务。第二周是用professional flash5来利用flash完成客户端录制并实时传输,因为red5自带的example里面有视频会议这个功能,所以基本上就在这个example上完成服务器功能,flash有一个air平台可以实现跨平台所以显示在flash5里面把air配好,然后开始用as3来编程了,as3一窍不通,所以这周就是整天google下别人写好的例子然后按需要改改,最悲剧的是怕改了后程序不能运行,哎,菜鸟的痛苦谁懂啊,还好,最好还是按要求完成了任务,可以实现在一个客户端上视频录制,另一个客户端是实时播放。不过最后因为效果太差没有采用flash+red5这个方案,不过经过这两周没日没夜的查资料还是觉得有点成就感。

      这个月第一次感触到搭建环境的痛苦,因为不了解,所以按照网上别人提供图文来搭建,出现一点问题就不能继续下去了。

      8月份老师开始让我一个人看live555了,C++写的,编译好然后就是每天不停的按步调试了,由于C++语法性太强,很难通过c#C来贯通,所以白天看源码,晚上回来看《c++primer》这样过了一个月,效果感觉很差,live555看了一个月才简单的知道rtsp协议,本来以为自己一直在看rtp/rtcp,原来我根本还没达到这个程度,前面的一连串rtsp交互阶段就把我搞的晕头转向了。而c++,因为每天晚上看,所以根本没时间练习的,所以看了一个月语法还是N多不懂。

      9月份了,我觉得不能这样下去了,整天这样完全是浪费时间,所以我看是单看网络编程了,因为socket编程不懂,所以导致我rtsp都要看一个月才看明白,所以与其继续像蜗牛一样的前进还不如先放下补习点基础知识,就这样开始网络编程之路。

先是socket的各种函数,listenbindconnectacceptrecvsend等等花了2周搞明白了,其实只是知道怎么用,然后进一部学习就是select模型了,因为live555的网络通信就是通过单线程select模型的。然后10.1到了,好久没回家了,所以你明白的,10.10号见了。

      菜鸟的第四阶段:

      10.10来了开始觉得不能这样菜下去了,这了解一下,那了解一下是不行的。

      所以我开始重要的一步,开始把《windows系统编程》这本书拿出来准备开始新的学习历程了。也就是在这个时候,我觉得C#只是浮云了,看不到本质,一切都是别人封装好的,你要做的只是把别人做好的东西不停的调用。我开始喜欢CC++了。

      随着windows系统编程的深入我知道了文件管理CreateFileReadFilewritefilesetfilepoint…..然后是内存管理CreateHeapHeapAllocdll等等.然后是进程线程管理CreateProcessbeginthreadex等等,最后是异步通信 等等。

花了一个多月的刻苦学习终于看完了这本书,突然间我有种超神的感觉了,哎,无知者无畏啊。

       真的,看完了这本书,我的确感觉自己应该很NB了,至少在C上面很NB了,确实通过这一个多月的学习我对C的了解深了不少。

经过了解感觉C主要用在嵌入式方面的,但是我却并不想这样,可能是C#的影响吧,我一开始就像做纯软件的,所以下面我要学习的就必须是C++了,因为前面说了,我觉得C#Java是浮云,作为菜鸟的我最好离C#Java远点。

于此同时我得知,以后不需要看Live555了,因为视频这个项目跟我们无关了,好吧,反正从这个时候开始,我觉得自己开始在公司打酱油了。

      11月中旬了,跟2个月前一样,学习C++我的教材就是《c++primer》所以每天在公司我就是看书,然后练习,然后再看书再练习早99这样经过了3周,终于C++primer也看完了,其实与其说是3周看完,不如说是10个月,因为从C#开始我就在为C++打基础,然后live555源码的学习,然后Cwindows,这些都为我学习C++提供了不少的帮助。

      看完了C++primer我又感觉到一点 master kill 了,但是其实这些在高手看来还是浮云,因为这个时候我连VCcom都不知道。

这个月在公司我还是在打酱油。

      经过了前两个月的学习,感觉自己学到了不少东西,但是另一方面还是觉得什么都不会,觉得自己现在状态跟一个本科生一样,没有对哪一方面精通,所以为了让自己专业点,我选好了方面----网络。

      12月上旬,在当当上买了本《TCP/IP协议卷轴》后,我开始了枯燥的网络协议学习了,不过还幸亏前段时间看了socket编程,我才能坚持下去,这样我边看边想着怎么实现,链路层(mac地址)、网络层(ip)、传输层(tcpudp)、应用层(port),tcp全双工 双向传输,udp半双工 单向传输,listen connect 3次握手,closesocket 4次握手,广播 组播,等了解了很多,有一点印象很深刻,就是在socket编程的时候,udp传输在一个端口上我曾经试图同时实现接收和发送数据,结果始终不能成功,现在终于明白了。不过还是没达到我预想的目标,本来我是打算把第一卷看完的,后来看到Tcp协议的后面就没看了,等以后有时间再看看,不过感觉最好在linux下面实现。

这个之后已经到了12月中下旬了,因为我还惦记着视频通讯这个项目,所以我想从视频采集开始,开始是vfw,可以实现视频采集也可以抓到帧,但是不怎么确定可不可以给ffmpeg,而且vfw快没人用了,所以然后是directshow,看directshow2个问题1.MFC,因为网上资料里面都是MFC2.COM 因为directshowcom的一部分。然后开始看MFC了,买了本经典的《MFCwindows程序设计》花了几天看了前面几章,感觉很是浮云,不知道是看的很累还是觉得看的没意思,反正我觉得看MFC还不如直接看windows编程,这样对我更有提高,所以从1225号开始,我的windows编程之路开始了,《windows 程序设计》是我的下一个目标。

      2010就这样过去,曾经有个问题不停的在我脑海里回旋:如果当初我听超哥和庆哥的话,一开始就学习C++我现在会怎样,这是一个谜。

      2010年总结:好教材、好环境对人的学习影响太大了。在此要非常感谢 超哥、庆哥、张林杰和坤哥,在你迷茫和困惑的时候一句话能让你豁然开朗。

      新的一年开始了。

     有种预感,在公司我还将继续打酱油。其实我很想写c++代码的,为什么都是让我做这些事情。

     好了,不管这些郁闷的事情了,新的一年目标:

     网络

     这就是我的发展方向,不过在此之前我还要做些事情:

     1.       windows程序设计

     2.       数据结构和算法(在linux下实现)

     3.       编译原理

     4.       设计模式

     5.       com

    9月份开始找工作,早日摆脱这种打酱油的日子。