一直计划作一个计算机知识体系的系列文章,目的是将本身学过的计算机知识融会贯通,也算是给本身学习计算机以来的一个总结;同时给周围那些同我同样不是计算机专业出身的人一些帮助,让他们可以少走弯路,经过这一系列的文章来尽快的系统的补充完整本身的技术死角。php
本身学习的时候,走过不少弯路,好比在不懂汇编的时候居然拿一本编译原理在看,这种不符合学习顺序的事情但愿经过这系列文章不要继续发生在更多人身上。我会结合本身的学习经验和工做经验来说我所知道的东西经过这一系列的文章来表达出来,将本身认为最有效的学习顺序以及学习内容告诉那些须要的人,但愿可以帮助周围的朋友同时以及文章前面的你少走一些弯路。若是你自认为计算机知识掌握的已经很全面了,那这些文章不适合你,还请飘过。固然 你也能够“温故而知新”。java
我认为每一名程序员,不管是php仍是java c,都应该对 计算机知识进行系统的学习,纵然不能作到精通,但必定要作到熟知。我认为有以下方面mysql
1.假如咱们就根本不知道一些知识存在,那咱们永远没有办法将其归入咱们的思惟中来。举个最简单的例子,假如咱们不了解数据结构,咱们就不会去思考该选择哪一种数据结构,使用链表仍是用数组,由于咱们不知道数据结构的存在。因此为了将系统设计的更合理更健壮,咱们也应该熟悉基础知识体系。linux
2.在咱们研发过程当中出现问题时,假如咱们的知识体系不完善,咱们就没有办法去想到解决方案,甚至没法肯定问题的存在。好比 当一个php-cgi占用cpu很高,假如咱们不知道strace能够查看进程中的系统调用,咱们除了重启cgi,别的什么都干不了。因此为了咱们可以更全面的解决问题,咱们也应该系统的去了解这些知识。nginx
3.在咱们学习新东西的时候,若是咱们的知识体系很完善,咱们学习起来会更容易会更快。好比 咱们学习memcache redis,其实就是一个管理内存分配调度存储的程序,不一样之处就是redis能够持久化到硬盘上。固然这是原理 细节确定不少,这里要说的是完善的知识体系会帮助咱们更快的学习和掌握新技术。c++
4.若是咱们打算作程序员作研发,那咱们就应该有一个很完善的技术知识体系,难道咱们作了好多年,咱们连那些应届生都知道的东西咱们居然不知道,那就太惨了。因此为了对得起本身程序员的这个职业,咱们也应该去系统的学习。git
5.若是你的知识够全面,考虑问题更周全,解决问题更迅速,学习新知识更快捷,能常人之不能,那么你的薪资待遇也应该是不错的。因此为了你可以活的更好,你也应该好好去学习。艺多不压身,这个社会上没有慈善组织,咱们只有凭借咱们本身的技能拿到更高的待遇,从而过得更好,得到幸福。程序员
整个系列文章会分为三个阶段,基础篇、进阶篇、高级篇。redis
基础篇:包括 计算机组成原理、计算机网络及应用、汇编语言、编译原理、操做系统、数据结构、c语言、c++ 等基础知识、 linux操做系统。经过计算机组成原理了解计算机硬件的做用,经过计算机网络了解各类网络协议的原理及应用,经过汇编语言了解cpu的工做运算处理原理以及为编译原理的学习打点基础,经过对操做系统的学习来了解硬件资源分配、进程调度以及与程序开发的关系,知道当咱们按下一个键的时候具体发生了什么,了解显卡cpu内存硬盘工做关系。经过c、c++来学习数据结构,帮助咱们更好的理解数据结构,也为咱们开发或学习开源代码提供基础,经过学习linux系统管理来开始学习伟大的linux。sql
基础篇咱们所应该达到的目标应该是对整个计算机基础知识体系有了一个很全面的了解,现阶段了解熟知就能够。这为咱们之后的学习和工做打下了良好的基础,其实新技术新功能都是在这些基础上不断的组合出来的,咱们要作到以不变应万变,这才是根基,这才是最重要的东西。咱们应该好好掌握。
进阶篇:这里面应该是一些对基础篇一些具体的应用去作一些剖析,以及工做经验的一些总结,好比 mysql数据库管理以及优化、nginx的应用、php的应用以及优化、vim编辑器的使用、svn git 等版本控制的使用,shell脚本的编写。
进阶篇应是一些总结和应用,在咱们平时工做中用到的遇到的一些东西的总结和应用,对咱们平时的工做应该有所帮助。
高级篇:这里面对一些技术作一些源码分析,好比php源代码的分析,nginx源代码的分析,sphinx搜索引擎的源码分析,这里面几乎要用到基础篇的全部知识,一些原理还有一些语言 如汇编这种低级语言 c、c++高级语言来帮咱们阅读以及分析这些优秀开源产品的源代码。
高级篇对一些比较成熟的产品进行了源码解析,可以在帮助咱们熟悉这些开源产品的功能的同时,又能增长咱们对基础知识的巩固以及应用,也学习到了那些高手们的开发经验。这个阶段后咱们开发一些底层的东西 如文件系统 内存管理系统 开发这些底层应用应该是没有问题的了。
文章序号排列:好比“基础篇的第一章第一节”的文章序号就是1-1.1 “进阶篇的第二章第三节”的文章序号就是2-2.3 “高级篇的第8张第一节”的文章序号就是3-3.1。
这件事情一直一拖再拖,写这篇文章第一是为这个系列写个前言正式开始实施这个计划,第二也是给本身一些压力,有压力才有动力,但愿可以尽快的完成这件事情。