现在的位置: 首页 > 综合 > 正文

黑客”必备知识和成长之路

2018年05月09日 ⁄ 综合 ⁄ 共 1571字 ⁄ 字号 评论关闭

// Author: Easyright 
// Date: 8-1-2003 
// Homepage: http://www.easyright.net 
// Email: support@easyright.net

 

经常有人问我怎样才能成为一个真正的黑客,我想一个黑客必须具备以下知识,从Level 1到Level 5循序渐进。Level 1到Level 5的难度是按倍数增加的,如果假设Level 1的难度系数是0.1,那么Level 2的难度系数就是0.2,Level 3, 4, 5的难度系数就分别是0.4, 0.8和1.6。 

Level 1:入门阶段 

C/C++:level 1的"黑客",必须能够熟练使用C/C++,希望入门者不要被它吓跑。 

数学:数学是电脑中必不可少的,无论是编程还是底层的开发研究。从一开始就掌握数学的思维,对于以后会有很大帮助。 

Level 2:打基础阶段 

Computer System:要掌握汇编,了解计算机内存、CPU和指令之间的关系,还要了解计算机硬件的一些基本结构和原理。 

Data Structures:主要是用C/C++实现各种算法,例如Linked list, tree, queue, stack, heap...,如果你能实现以上所有结构,那么你的C/C++算是精通了。 

Object Oriented Programming:明白面向对象的原理,要知道除了C++,还有Java之类的面向对象语言可以选择,面向对象对于你以后开发大型程序还是很有帮助的。 

Level 3:深入学习阶段 

Systems Programming:了解如何设计和实现系统软件,重点是线程的同步和分布式系统。 

 

Computer System Architecture:非常偏向硬件,要深入了解计算机性能、指令工作原理、Datapath、Pipeline、内存Cache,虚拟内存等的细节。并能用硬件描述语言(例如:VHDL)来设计简单的硬件。 

Network Communications:了解网络通讯的原理和几种常用协议,并能用Socket编程来实现这些理论或协议。 

Programming Languages:分析各种类型编程语言的优缺点,为以后写编译器打下基础,这些编程语言可以分为函数语言,逻辑语言,面向对象语言等。还要了解编译器前期工作的实现方法,例如Lexical, Syntax, Semantic分析。 

Level 4:实战阶段 

Compilers:实现真正的编程语言,能够把源程序编译成汇编语言,并生成可执行文件。 

Advanced Communications and Network Systems:掌握TCP/IP的细节,并研究各种不同网络的特点、实现方法(特别是MAC层的实现方法)和发展前景,例如Wireless, SONET, Ethernet, ATM等。 

Advanced Computer System Architecture:设计并实现一个简单的CPU,包括指令集,架构图,优化算法等。 

Advanced Operating System:设计并实现一个能在普通PC上运行的操作系统,包括进程管理,I/O,内存管理,文件管理等。 

Level 5:研究创新阶段 

Level 5是Level 4的一个升华,当你掌握必需的知识和实践之后,你就要自己从事研究新技术了。如果研究成功,就可以在国际上发表你的论文了,这时你就不仅仅是一个"黑客",而是一个令人尊敬的专家了。 

总结 

当然,计算机不止以上内容,例如还有软件工程,AI,人机交互,多媒体,数据库等。如果你想成为一个真正的黑客高手,那你起码需要达到Level 4阶段。但我真心希望你能向Level 5迈进,不要满足于应用别人已有的技术,那样始终只能跟在别人后面。以上只是我个人意见,最后,如果有人问我是黑客吗?我会肯定的告诉他,我不是。 

抱歉!评论已关闭.