大三开学前,反思linux网络编程学习方向、方法

时间:2022-12-15 10:42:04

大三前感悟

最近,我刚刚看完《UNIX网络编程 卷1》,感觉应该要停一下,思考下一步应该学什么,怎么学。

目前已经看完《鸟叔linux》和《UNP 卷1》了。在看这两本大块头的时候,心情是比较浮躁的。刚刚开始时我的热情很高,效率也不低。然而学习一段时间,由于书很厚,加之基础知识很多,全都是新的知识,记忆负担有点大。虽然说是可以不用全部记忆的,用时再查即可,然而即使是想要把知识点串起来也很难。新知识也不是一读就能理解的。这种情况造成自己内心很急燥,想要尽快把书看完,前面章节又不全理解。心情浮躁导致的最严重后果是完全没有心情去看书了,只想躺着….时间并不会等人,压力并不会自行离开,想要克服这种情况就应该要改变思想,还有想办法解决大块头。(下文学习方法处再提解决方法)

为了追求看书效率,尽快补完linux后台开发基础知识,就没有时间打代码了。我指的打代码,是指完整的项目代码,书本上的代码有注释,很容易读懂,感觉没有重复再写的必要,只是会认真的做笔记。没有打代码,另一方面也导致我看大块头时候热情的下降。每天都是看书看书看书…

不知不觉到了大三,大三下学期就要正式找实习了。很希望能够去到BAT或者其他好的公司实习。剩下的时间不多,一个学期多一点。最近看了几篇别人的博客,感觉他们分享出来的面试时遇到的问题都好难…

即使再困难也没办法,只能顶着压力上。

学习方向

其实学习的方向早就定好了,就是linux后台开发。最开始编程是从做网页开始的,接触了html、css、php,主要负责使用php完成后端业务逻辑,数据库操作等,期间为了配合前端开发,也学习过js、jquery、ajax。然后,随着见识广了些,发现php处理的网页后台并非是后台开发,后台开发应该偏向网络编程。对前端也没有兴趣,在大二下学期就慢慢倾向linux及网络编程。

决定了这个方向,就要知道要学些什么东西了。为此我专门看了腾讯校招要求,也在知乎上找相关的东西。很幸运有许多巨人前辈的经验分享,让我们这些小白知道路怎么走。

第一个博客废话好多…谈谈接下来要读的书单:

linux:《UNP 卷2》

tcp/ip:《tcp/ip 卷1》、《effective tcp/ip》

c++:《effective c++》、《STL源码解析》

设计模式:《大话设计模式》

面试算法备考:《剑指offer》

系统:《深入理解计算机系统》

谈谈要做的项目:

  1. 学习网络编程库。

  2. 实现一个简单的http服务器。(具体怎么做还不清楚)

  3. 阅读lighttpd源码、muduo源码。

做这些事情是有顺序的,因为c++书籍阅读比较困难(之前effective c++和STL源码解析都接触过),所以应该放在unp、tcp/ip的后面看完unp、tcp/ip之后,就去学习网络编程库。之后,可以一边实现http服务器,一边阅读c++(实现服务器为主),最后在阅读别人的源码。

方法

希望可以经常反省,掌握好的方法,提高学习效率。

  1. 针对大块头的方法:

    思想上:套用傅园慧的话,之所以还在挣扎,是因为自己还没有放弃。
    方法上:

    • 读大块头期间,可以常写写博客,反思下怎样提高效率。
    • 可以刷刷别人的博客,看有什么好经验分享。多点运动。
    • 还有最重要的一点是,要意识到,并非整本书几百页都需要一字不漏的看要抓住主线、原理性的内容,对具体实现只粗略做笔记。也只理解自己相关的部分,譬如TCP/UDP的知识。ip、多播、sctp什么乱七八糟的,有需要时再看吧。
    • 再者,别再担心知识点会串不起来,看书过程中,记录好笔记,另一方面,看完书后,可以刷博客看别人总结好的,站在巨人的肩膀上,追求最高效率。
  2. 坚持在印象笔记上做笔记,要改变的时,不需要全部知识记录,而是只记录 是什么,为什么,缺陷是什么

  3. 多点运动。

  4. 休息好,状态才会好,才会有学习的节奏。

目标:腾讯后台实习生,最期待部门是QQ音乐、微信。

真心希望自己在腾讯校招实习生前,能够完成上面的任务。


2016.08.31
yxc