黑客"必备知识和成长之路
来源:互联网 发布:校园网络管理与维护 编辑:程序博客网 时间:2024/05/03 05:30
// 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迈进,不要满足于应用别人已有的技术,那样始终只能跟在别人后面。以上只是我个人意见,最后,如果有人问我是黑客吗?我会肯定的告诉他,我不是。
- 黑客"必备知识和成长之路
- 黑客成长之路图
- java成长之路必备宝典
- 系统架构师成长之路--必备技能
- 黑客必备
- android 签名之必备知识
- 前端知识必备之定位
- 网络爬虫之必备知识
- WEB架构师成长之路-架构师都要懂哪些知识
- Web前端工程师成长之路——知识汇总
- Web前端工程师成长之路——知识汇总
- Web前端工程师成长之路——知识汇总
- 架构师的成长之路——知识储备
- Web前端工程师成长之路——知识汇总
- 黑客知识
- 从底层到应用,大数据工程师成长之路必备技能汇总
- 黑客成长技术列表
- 黑客成长技术清单
- MySQL Cluster(MySQL 集群) 介绍
- 著名的图像检索系统介绍
- 自动机理论整理
- XEN在REDHAT5配置
- 设置vim语法高亮显示和自动缩进
- 黑客"必备知识和成长之路
- struts2的类型转换
- 利用Spring的AOP来配置和管理你的二级缓存(EHCache)
- 游戏引擎列表及其门户网站
- 金山城市海滩攻略(上海松江)
- 利用DIID_DWebBrowserEvents2接口接收WebBrowser事件
- 开同博客
- MySQL 集群方案相关问题
- 开始写BLog了!