sinanjj 发表于 2008-12-15 22:25

如何成为一名黑客

如何成为一名黑客<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;什么是黑客?<br /><br />这可以追溯到很多年前第一台分时小型电脑诞生,&nbsp;ARPAnet实验也刚展开的年代,&nbsp;那时有<br />一个由程序设计专家和网络名人所组成的,&nbsp;具有分享特点的文化社群.&nbsp;这种文化的成员创<br />造了&quot;hacker&quot;这个名词.&nbsp;黑客们建立了Internet.&nbsp;黑客们发明出了现在使用的UNIX操<br />作系统.&nbsp;黑客们使Usenet运作起来,&nbsp;黑客们让WWW运转起来.&nbsp;如果你是这个文化的一部<br />分,&nbsp;如果你对这种文化有所贡献,&nbsp;而且这个社群的其它成员也认识你并称你为hacker,&nbsp;那<br />么你就是一位黑客.<br /><br />在这份文档中,&nbsp;我们将注意力集中在黑客的技术和态度,&nbsp;以及发明了&quot;黑客&quot;一词的以共<br />享为特征的文化传统之上.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;黑客应有的态度<br /><br />黑客们解决问题,&nbsp;建设事物,&nbsp;同时他们崇尚自由和无私的双向帮助.<br /><br />如果你想成为一名黑客,&nbsp;反复读下面的事情直至你相信它们:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;世界充满了待解决的迷人问题.<br /><br />做一名黑客会有很多乐趣,&nbsp;但却是要费很多气力方能得到的乐趣.&nbsp;这些努力需要动力.<br />做黑客,&nbsp;你得能从解决问题,&nbsp;磨练技术及锻炼智力中得到基本的乐趣.<br /><br />如果你还不是天生的这类人又想做黑客,&nbsp;你就要设法成为这样的人.&nbsp;否则你会发现,&nbsp;你的<br />黑客热情会被其他分心的事物吞噬掉---如金钱,性和社会上的虚名.<br /><br />(同样你必须对你自己的学习能力建立信心---相信尽管当你对某问题近乎一无所知,&nbsp;但只<br />要你一点一点地试验,学习,&nbsp;最终会掌握并解决它.)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;一个问题不应该被解决两次.<br /><br />聪明的脑袋是宝贵的有限的资源.&nbsp;当世界还充满非常多有待解决的有趣的新问题时,&nbsp;它们<br />不应该被浪费在重新发明轮子这类事情上.<br /><br />作为一名黑客,&nbsp;你必须相信其他黑客的思考时间是宝贵的---因此共享信息,&nbsp;解决问题并<br />发布结果给其他黑客几乎是一种道义,&nbsp;这样其他人就可以去解决新问题而不是不断地忙于<br />对付旧问题.<br /><br />(你不必认为一定要把你所有的发明创造公布出去,&nbsp;但这样做的黑客是赢得大家极度尊敬<br />的人.&nbsp;卖些钱来养家糊口,&nbsp;租房买计算机甚至发大财和黑客价值观也是相容的,&nbsp;只要你别<br />忘记你还是个黑客.)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;无聊和乏味的工作是罪恶.<br /><br />黑客应该从来不会被愚蠢的重复性劳动所困扰,&nbsp;因为当这种事情发生时就意味着他们没<br />有在做只有他们才能做的事情---解决新问题.&nbsp;这样的浪费伤害每一个人.&nbsp;因此,&nbsp;无聊<br />和乏味的工作不仅仅是令人不舒服而已,&nbsp;而且是罪恶.<br /><br />作为一个黑客,&nbsp;你必须坚信这点并尽可能多地将乏味的工作自动化,&nbsp;不仅为你自己,&nbsp;也为<br />了其他人(尤其是其他黑客们).<br /><br />(对此有一个明显的例外.&nbsp;黑客有时也做一些在他人看来是重复性或枯燥的工作以进行&quot;脑<br />力休息&quot;,&nbsp;或是为了获得某种技能,&nbsp;或是获得一些除此以外无法获得的特别经验.&nbsp;但这是<br />自愿的---有脑子的人不应该被迫做无聊的活儿.&nbsp;)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;自由万岁.<br /><br />黑客们是天生的反**主义者.&nbsp;任何能向你发命令的人能够迫使你停止解决令你着迷的问<br />题,&nbsp;同时,&nbsp;按照**者的一般思路,&nbsp;他通常会给出一些极端愚昧的理由.&nbsp;因此,&nbsp;不论何<br />处,&nbsp;任何**主义的作法,&nbsp;只要它压迫你和其他黑客,&nbsp;你就要和它斗到底.<br /><br />权威喜欢审查和保密.&nbsp;他们不信任自愿的合作和信息的共享---他们只喜欢由他们控制的<br />所谓&quot;合作&quot;.&nbsp;因此,&nbsp;作为一个黑客,&nbsp;你得对审查,保密,&nbsp;以及使用武力或欺骗去压迫有行<br />为能力的人们的做法有一种本能的敌意.&nbsp;同时你要有为此信念斗争的意愿.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;态度不能替代能力.<br /><br />作为一名黑客,&nbsp;你必须培养起这些态度.&nbsp;但只具备这些态度并不能使你成为一名黑客,<br />也不能使你成为一个运动健将和摇滚明星.&nbsp;成为一名黑客需要智力,实践,奉献精神和辛苦<br />工作.<br /><br />因此,&nbsp;你必须学会怀疑,&nbsp;并尊重各种各样的能力.&nbsp;黑客们不会为那些装模做样的人浪费时<br />间,&nbsp;但他们却非常尊重能力---尤其是从事黑客工作的能力,&nbsp;不过任何能力总归是好的.<br />具备很少人能具备的那些方面的能力尤其好,&nbsp;其中具备涉及脑力,技巧和专注方面能力的<br />当然最好.<br /><br />尊敬能力,&nbsp;你就会享受到提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐<br />而非苦差事.&nbsp;要想成为一名黑客,&nbsp;这一点非常重要.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;黑客的基本技能<br /><br />黑客态度重要,&nbsp;但技术更加重要.&nbsp;态度无法替代技术,&nbsp;在你被别的黑客称为黑客之前,<br />有一些基本的技术你必须掌握.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;学习如何编程.<br /><br />这当然是最基本的黑客技能.&nbsp;如果你还不会任何编程语言,&nbsp;我建议你从Python开始.&nbsp;它<br />设计清晰,&nbsp;文档齐全,&nbsp;合适初学者入门.&nbsp;它是一门很好的入门语言,&nbsp;并且不仅仅只是个<br />玩具;&nbsp;它非常强大,灵活,&nbsp;也适合做大型项目.<br /><br />Java也是好的入门语言.&nbsp;它比Python难得多,&nbsp;但是生成的代码速度也快得多.&nbsp;它同时也<br />是一种优秀的计算机语言,&nbsp;不止是用来入门.<br /><br />但是注意,&nbsp;如果你只会一两门语言,&nbsp;你将不会达到黑客所要求的技术水平,&nbsp;甚至也不能<br />达到一个程序员的水平--你需要学会如何以抽象的方式思考编程问题,&nbsp;独立于任何语言.<br />要做一名真正的黑客,&nbsp;你需要学会在几天内通过一些手册,&nbsp;结合你现在所知,&nbsp;迅速掌握<br />一门新语言.&nbsp;这意味着你应该学会几种截然不同的语言.<br /><br />如果要做一些重要的编程工作,&nbsp;你将不得不学习C语言,&nbsp;Unix的核心语言.&nbsp;C++与C非常其<br />他类似;&nbsp;如果你了解其中一种,&nbsp;学习另一种应该不难.&nbsp;但这两种都不适合编程入门者学<br />习.&nbsp;而且事实上,&nbsp;你越避免用C编程,&nbsp;你的工作效率会越高.<br /><br />C非常有效率,&nbsp;节约你的机器资源.&nbsp;不幸的是,&nbsp;C的高效是通过你手动做很多底层的管<br />理(如内存)来达到的.&nbsp;底层代码都是复杂极易出现bug&nbsp;的,&nbsp;会使你花极多的时间调试.<br />如今的机器速度如此之快,&nbsp;这通常是得不偿失--比较明智的做法是使用一种运行较慢,较<br />低效率,&nbsp;但大幅节省你的时间的语言.&nbsp;因此,&nbsp;选择Python.<br /><br />其他对黑客而言比较重要的语言包括&nbsp;Perl和&nbsp;LISP.&nbsp;Perl实用,&nbsp;值得一学;&nbsp;它被广泛用<br />于动态网页和系统管理,&nbsp;因此即便你从不用Perl写程序,&nbsp;至少也应该学会看.&nbsp;许多人使<br />用Perl的理由和我建议你使用&nbsp;Python的理由一样,&nbsp;都是为了避免用C完成那些不需要C高<br />效率的工作.&nbsp;你会需要理解那些工作的代码的.<br /><br />LISP值得学习的理由不同--最终掌握了它时你会得到丰富的启迪和经验.&nbsp;这些经验会使<br />你在以后的日子里成为一个更好的程序员,&nbsp;即使你实际上很少使用LISP本身.<br /><br />当然,&nbsp;实际上你最好五种都会(Python,Java,C/C++,Perl和LISP).&nbsp;除了是最重要的黑客<br />语言外,&nbsp;它们还代表了截然不同的编程思路和方法,&nbsp;每种都会让你受益非浅.<br /><br />这里我无法给你完完全全的指导教会你如何编程--这是个复杂的技能.&nbsp;但我可以告诉<br />你,&nbsp;书本和上课也不能作到(最好的黑客中,&nbsp;有许多,&nbsp;也许几乎都是自学成材的).&nbsp;你可<br />以从书本上学到语言的特点--只是一些皮毛,&nbsp;但要使书面知识成为自身技能只能通过实<br />践和虚心向他人学习.&nbsp;因此要作到(一)读代码及(二)写代码.<br /><br />学习如何编程就象学习用优美的自然语言写作一样.&nbsp;最好的做法是读一些大师的名著,<br />试着自己写点东西,&nbsp;再读些,&nbsp;再写点,&nbsp;再读些,&nbsp;再写点......&nbsp;如此往复,&nbsp;直到你的**<br />达到你体会到的范文的简洁和力量.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;得到一个开放源代码的Unix并学会使用,运行它.<br /><br />我假设你已经拥有或者能使用一台个人电脑.&nbsp;新手们能够朝学习黑客技能迈出的最基本<br />的一步就是得到一份Linux或BSD-Unix的一种,&nbsp;安装在个人电脑上,&nbsp;并运行它.<br /><br />没错,&nbsp;这世界上除了Unix还有其他操作系统.&nbsp;但它们都是以二进制形式发布的--你无法<br />读到它的源代码,&nbsp;也不可能修改它.&nbsp;尝试在运行DOS或Windows或MacOS的机器上学习黑客<br />技术,&nbsp;就象是带着脚镣学跳舞.<br /><br />除此之外,&nbsp;Unix还是Internet的操作系统.&nbsp;你可以学会上网却不知道Unix,&nbsp;但你不了<br />解Unix就无法成为一名Internet&nbsp;黑客.&nbsp;因此,&nbsp;今天的黑客文化在很大程度上是以Unix为<br />中心的.<br /><br />所以,&nbsp;安装一套UNIX--我个人喜爱LINUX但还有其他种类的.&nbsp;学习它,&nbsp;使用它,&nbsp;配置它.<br />用它在Internet上冲浪.&nbsp;阅读它的源代码.&nbsp;修改它的源代码.&nbsp;你会得到比在Microsoft操<br />作系统上更好的编程工具.&nbsp;你会觉得乐趣无穷,&nbsp;学到在你成为大师之前意识不到的更多<br />的知识.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;如果你不懂实用性的英语,&nbsp;学习吧.<br /><br />英语是黑客文化和Internet的工作语言,&nbsp;你需要懂得以便在黑客社区顺利工作.<br /><br />据我知道的报导,&nbsp;当前英语有着比其他语言丰富得多的技术词汇,&nbsp;因此是一个对于工作<br />来说相当好的工具.&nbsp;基于类似的原因,&nbsp;英文技术书籍的翻译通常不令人满意.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;黑客文化中的地位<br /><br />像大部分不涉及金钱的文化一样,&nbsp;黑客王国靠声誉运转.&nbsp;你设法解决有趣的问题,&nbsp;但它<br />们到底多有趣,&nbsp;你的解法有多好,&nbsp;是要由那些和你具有同样技术水平的人或比你更厉害<br />的人去评判的.<br /><br />相应地,&nbsp;当你在玩黑客游戏时,&nbsp;你得认识到你的分数主要靠其他黑客对你的技术的评价<br />给出(这就是为什么只有在其它黑客称你为黑客时,&nbsp;你才算得上是一名黑客).&nbsp;这个事实<br />常会被黑客是一项孤独的工作这一印象所减弱;&nbsp;也会被另一个黑客文化的禁忌所减<br />弱(现在逐渐减弱但仍强大):&nbsp;拒绝承认自我或外部评估与一个人的动力有关系.<br /><br />特别地,&nbsp;黑客王国被人类学家们称为一种奉献文化.&nbsp;在这里你不是凭借你对别人的统治<br />来建立地位和名望,&nbsp;也不是靠美貌,&nbsp;或拥有其他人想要的东西,&nbsp;而是靠你的奉献.&nbsp;尤其<br />是奉献你的时间,&nbsp;你的创造和你的技术成果.<br /><br />要获得其他黑客的尊敬,&nbsp;基本上有五种事情你可以干:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;写开放源代码软件<br /><br />第一个(也是最集中的和传统的)是写些被其他黑客认为有趣或有用的程序,&nbsp;并把程序源<br />代码提供给整个黑客文化使用.<br /><br />黑客王国里最受尊敬的偶像是那些写了大型的,好用的,具有广泛用途的软件,&nbsp;并把它们<br />公布出去,&nbsp;使得每人都在使用他软件的人.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;帮助测试并调试开放源代码软件<br /><br />黑客也尊敬那些使用,测试开放源代码软件的人.&nbsp;在这个并非完美的世界上,&nbsp;我们不可避<br />免地要花大多数的开发时间在调试阶段.&nbsp;这就是为什么任何有头脑的开放源代码的作者<br />都会告诉你好的beta测试员(知道如何清楚描述出错症状,&nbsp;很好地定位错误,&nbsp;能忍受快<br />速发布中的bug,&nbsp;并且愿意使用一些简单的诊断工具)象红宝石一样珍贵.&nbsp;甚至他们中的<br />一个能判断出哪个测试阶段是延长的,&nbsp;哪个是令人精疲力尽的噩梦,&nbsp;哪个只是一个有益<br />的小麻烦.<br /><br />如果你是个新手,&nbsp;试着找一个你感兴趣的正在开发的程序,&nbsp;做一个好的beta测试员.&nbsp;你<br />会自然地从帮着测试,&nbsp;进步到帮着抓臭虫,&nbsp;到最后帮着改程序.&nbsp;你会从中学到很多,&nbsp;并<br />且与未来会帮你的人结下友谊.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;公布有用的信息<br /><br />另一个好事是收集整理有用有趣的信息做成网页或文档如FAQ列表,&nbsp;且让他们容易获得.<br /><br />主要技术FAQ的维护者受到几乎同其他开放源代码的作者一样多的尊敬.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;帮助维护基础设施的运转<br /><br />黑客文化(还有Internet的工程方面的发展,&nbsp;就此而言)是靠自愿者运转的.&nbsp;要<br />使Internet能正常工作,&nbsp;就要有大量枯燥的工作不得不去完成--管理mail&nbsp;list,新闻<br />组,维护大型软件库,开发RFC和其它技术标准等等.<br /><br />做这类事情的人会得到很多尊敬,&nbsp;因为每人都知道这些事情是十分花时间又不象编程那<br />样好玩.&nbsp;做这些事情需要奉献精神.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;为黑客文化本身服务<br /><br />最后,&nbsp;你可以为这个文化本身做宣传(例如,&nbsp;象我这样,&nbsp;写一个&quot;如何成为黑客&quot;的正面的<br />教程&nbsp;:-).&nbsp;这并非一定要在你已经在这个圈子呆了很久,&nbsp;因以上四点中的某点而出名,&nbsp;有<br />一定声誉后才能去做.<br /><br />黑客文化没有领袖.&nbsp;精确地说,&nbsp;它确实有些文化英雄,部落长者,历史学家和发言人.&nbsp;若<br />你在这圈内呆的够长,&nbsp;你或许成为其中之一.&nbsp;记住:&nbsp;黑客们不相信他们的部落长者的自<br />夸的炫耀,&nbsp;因此大举追求这种名誉是危险的.&nbsp;与其奋力追求,&nbsp;不如先摆正自己的位置等<br />它自己到你的手中--那时则要做到谦虚和优雅.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;风格的意义<br /><br />重申一下,&nbsp;作为一名黑客,&nbsp;你必须进入黑客精神之中.&nbsp;当你不在计算机边上时,&nbsp;你仍然<br />有很多对黑客工作有帮助的事情可做.&nbsp;它们并不能替代真正的编程(没有什么能),&nbsp;但很<br />多黑客都那么做,&nbsp;并感到它们与黑客的本质存在某些基本的连系.<br /><br />学会流畅地用母语写作.&nbsp;尽管程序员不能写好**的错误看法相当普遍,&nbsp;但是有令人惊<br />讶数目的黑客(包括所有我知道的最棒的)都是不错的作家.<br /><br />阅读科幻小说.&nbsp;参加科幻小说讨论会.&nbsp;(一个碰到黑客和未来会成为黑客的人的好方法)<br /><br />学禅,&nbsp;并且/或者练功习武.&nbsp;(精神修炼看来是惊人相似.&nbsp;)<br /><br />练就能分析音乐的听觉,&nbsp;学会鉴赏特别的音乐.&nbsp;学会玩某种乐器,&nbsp;或唱歌.<br /><br />提高对双关语,文字游戏的鉴赏能力.<br /><br />这些事情,&nbsp;你已经做的越多,&nbsp;你就越是天生做黑客的材料.&nbsp;至于为什么偏偏是这些事情,<br />原因并不完全清楚,&nbsp;但它们都涉及用到左-右脑能力的综合,&nbsp;这似乎是关键所在(黑客们<br />既需要清晰的逻辑思维,&nbsp;有时又需要偏离逻辑跳出问题的表象).<br /><br />最后,&nbsp;还有一些不要去做的事情.<br /><br />不要使用愚蠢的,&nbsp;哗众取宠的ID或昵称.<br /><br />不要卷入Usenet(或其他地方的论坛)的骂战.<br /><br />不要自称为&quot;cyberpunk(网络叛客)&quot;,&nbsp;也不要浪费时间和那些人打交道.<br /><br />不要让你寄出的Email或张贴的帖子充满错误的拼写和乱七八糟的语法.<br /><br />做以上的事情,&nbsp;只会招来嘲笑.&nbsp;黑客们个个**超群---你将需要数年的时间让他们忘记<br />你犯下的错误.<br /><br />网名的问题值得深思.&nbsp;将身份隐藏在虚假的名字后是骇客,解密者,d00dz及其他低等生物<br />幼稚愚蠢的行为特点.&nbsp;黑客不会做这些事;&nbsp;他们对他们所作的感到骄傲,&nbsp;而且乐于人们<br />将作品与他们的真名相联系.&nbsp;因此,&nbsp;若你现在用假名,&nbsp;放弃它.&nbsp;在黑客文化里它会令你<br />你失败的.<br /><br />如果你发E-mail给一位黑客寻求他的帮助,&nbsp;这是两件首要记住的事情.&nbsp;第一,&nbsp;写出来的<br />文字显得懒且粗心的人通常非常懒于思考且非常马大哈,&nbsp;不能成为好黑客---因此注意拼<br />写正确,&nbsp;使用正确的语法及发音,&nbsp;否则你可能会无人理睬.&nbsp;第二,&nbsp;不要试图要求回复到<br />一个ISP帐号,&nbsp;而那个帐号与你的发信地址不同.&nbsp;这样做的人一般是使用盗用帐号,&nbsp;不会<br />有人有兴趣为虎作伥帮助窃贼的.<br />

ya_zhen 发表于 2011-10-26 16:11

黑客教程??

陈永宾0 发表于 2011-10-29 17:08

;P

weshiluwei6 发表于 2011-10-31 07:23

tai太高深了
页: [1]
查看完整版本: 如何成为一名黑客