想称自己是黑客的人,就进来看看再说

原创 2004年08月28日 23:39:00

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

经常有人问我怎样才能成为一个真正的黑客,我想一个黑客必须具备以下知识,从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迈进,不要满足于应用别人已有的技术,那样始终只能跟在别人后面。以上只是我个人意见,最后,如果有人问我是黑客吗?我会肯定的告诉他,我不是。

我问我自己,你究竟想成为一个什么样的人?

关于写自己感悟的东西,真的是很害怕。主要是觉得自己悟性太浅,没有内涵,看了倒不是怕大家笑话,而是怕浪费了大家的时间。但转念一想,李白也不是一开始就会说“天生我材必有用”这样的话,每只美丽的蝴蝶都是大毛...
  • hehephper
  • hehephper
  • 2017-03-01 19:31:32
  • 166

短信短信短信Net接口

  • 2010年03月31日 17:52
  • 164KB
  • 下载

是人就进来看看.....................

http://www.cishengtang.com/2003photo.htm
  • okwangok
  • okwangok
  • 2004-10-15 17:59:00
  • 577

10.Binder进阶:系统服务中的Binder

10.1 Binder与SystemService     在我们编写APP程序的时候, 经常会是用getSystemService(  String serviceName ) 这个方法,来获取一...
  • savelove911
  • savelove911
  • 2016-05-09 13:57:36
  • 799

想明白了再说,想透彻了再做!

想明白了再说,想透彻了再做!
  • PerfectToday
  • PerfectToday
  • 2010-01-12 13:07:00
  • 350

朋友圈那个随便辞职的年轻人,后来活成了什么样?

文/谢可慧   前些天,一个读者问我:   辞了职,现在后悔了,又回不去了,该怎么办?   “老实说,当时把辞职后的生活想得太美好,出来之后才知道,一切从头开始,而寻找这个开始的感觉,真的不知如...
  • Conlen
  • Conlen
  • 2017-07-03 15:25:59
  • 7518

你想成为什么样的人

今天老师提到四年后你想成为什么样的人,十年后你想成为什么样的人,仔细想想确实不知道自己要成为什么样的人,从小只知道努力总不会错的,努力一定会有好的未来,从来都是走一步算一步,二十岁确实是一个该为自己未...
  • yutong5528
  • yutong5528
  • 2018-04-14 20:41:15
  • 11

1026: The true love(简单bfs)

1026: The true love Time Limit: 1 Sec  Memory Limit: 128 MB [Submit][Status][Web Board] Pro...
  • u014569598
  • u014569598
  • 2014-06-13 14:59:00
  • 511

想给自己制作一个简单的相册吗?快来看看 怎样实现3D图片相册效果

3D图片相册效果   代码     http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1...
  • lmw773034423
  • lmw773034423
  • 2012-11-17 16:11:12
  • 346

”标准答案没出来,我怎么知道我想表达什么?……“这样的话,根本就不仅仅是笑话,而且还是现实

转帖:http://www.jianshu.com/p/f6342f581f47 每年高考都有这样的事情,再美的灵感也抵不过“套路!!套路!!套路!!” 看完这篇,被大学上过的,现在有孩...
  • coolhe21cn
  • coolhe21cn
  • 2017-06-09 16:07:08
  • 495
收藏助手
不良信息举报
您举报文章:想称自己是黑客的人,就进来看看再说
举报原因:
原因补充:

(最多只允许输入30个字)