Как стать Хакером - Основные навыки хэкера |
|
Хэкерский взгляд на жизнь - это важно, но мастерство - многократно важнее. Позиция не заменит компетентости, и существует определенный набор базовых навыков, которыми вам необходимо обладать, прежде чем любой из хэкеров помыслит назвать хэкером и вас.
Этот базовый набор со временем потихоньку изменяется по мере того, как технология порождает новые навыки и делает ненужными устаревшие. Например, обычно упоминалось программирование на машинном языке, но, вплоть до недавнего времени, в набор не включали язык
HTML. Однако, в сегодняшний комплект вполне определенно входят следующие компоненты:
1. Научитесь программировать.
Это, конечно же, фундаментальный хэкерский навык. Если вы не знаете ни одного компьютерного языка, я рекомендовал бы начать с языка
Python. Он понятно разработан, хорошо документирован и относительно доброжелателен к новичкам. Несмотря на то, что он хорош для первого языка, это не просто игрушка. Это очень мощный и гибкий язык, хорошо подходящий для больших проектов.
Но знайте, что вы не достигнете хэкерского уровня мастерства (или даже просто уровня хорошего программиста), если будете знать лишь один язык. Вам необходимо научиться мыслить о проблемах программирования вообще, независимо от любого конкретного языка. Чтобы быть настоящим хэкером, вам надо достичь уровня, на котором вы сможете выучить новый язык за несколько дней, соотнося положения руководства с тем, что вам уже известно. Это означает, что вам следует выучить несколько очень разных языков.
Если вы занимаетесь серьезным программированием, то вам придется выучить Си, основной язык операционной системы Unix (хотя это и не тот язык, который следует пытаться выучить первым). Другие языки первостепенной важности для хэкеров - это Perl и
LISP. Язык Perl имеет смысл выучить из практических соображений: он очень широко используется для активных web-страниц и системного администрирования, так что даже если вам никогда не придется писать на
Perl, вы должны научиться его читать. LISP стоит выучить ради тех глубоких просвещенных познаний, которые вы обретете, когда наконец его освоите. Эти познания сделают вас прекрасным программистом на всю оставшуюся жизнь, даже если вы никогда особо и не будете использовать сам
LISP.
Лучше всего, на самом деле, выучить все четыре этих языка
(Python, C, Perl, и LISP). Помимо того, что это самые важные хэкерские языки, они демонстрируют очень разные подходы к программированию и каждый из них научит вас ценным вещам.
Я не могу дать здесь развернутые инструкции относительно того, как научиться программировать, - это сложное искусство. Но я могу сказать вам, что книги и курсы этому не научат (многие, возможно, большинство лучших хэкеров - это самоучки). Что этому учит, так это (а) чтение кодов и (б) писание кодов .
Научиться программировать - это как научиться писать хорошим естественным языком. Самый лучший способ для этого - почитать что-то из написанного мастерами, затем написать немного самому; прочесть побольше, написать немного побольше; прочитать еще больше, написать еще побольше... И повторять этот процесс до тех пор, пока ваши программы не разовьются в нечто мощное и экономичное.
Отыскать хорошие коды для чтения раньше было сложно, потому что было очень мало больших программ, доступных в исходных кодах и пригодных для изучения и возни юных хэкеров. Ныне ситуация кардинально изменилась: программы в исходных кодах, программистский инструментарий и операционные системы (все это создано хэкерами) теперь широко доступны. Что подводит меня прямо к следующему разделу...
2. Достаньте один из вариантов Unix в исходных кодах, научитесь его использовать и с ним работать.
Я полагаю, что вы имеете персональный компьютер или можете получить к нему доступ (сегодня этим ребятам все достается так легко :-)). Единственный и самый важный шаг, который любой из новичков может предпринять для приобретения хэкерских навыков, - это раздобыть копию Linux или одной из версий
BSD-Unix, установить ее на персональной машине и запустить.
Да, в мире есть и другие операционные системы помимо
Unix. Но их распространяют в двоичном виде - вы не сможете читать коды и не сможете их модифицировать. Учиться хэкерству на машинах, работающих под
DOS, Windows или MacOS - это все равно что учиться танцевать полностью загипсованным.
Кроме того, Unix - это операционная система Интернета. Хотя вы можете научиться использовать Интернет и не зная
Unix, но вы не можете быть Интернет-хэкером, не понимая
Unix. По этой самой причине сегодняшняя хэкерская культура является весьма сильно Unix-сконцентрированной. (Это не всегда было так, и некоторым из прежних хэкеров такое положение дел не очень по нраву, но симбиоз между Unix и Интернетом стал настолько прочен, что даже сил Microsoft не хватает, чтобы серьезно на это влиять.)
Так что заводите себе Unix, мне самому нравится
Linux, но есть и другие варианты (и да-да, вы можете работать как под
Linux, так и под DOS/Windows на одной и той же машине). Выучите эту ОС. Работайте с ней. Возитесь с ней. Общайтесь через нее с Интернетом. Читайте коды. Модифицируйте их. Вы получите такой программистский инструментарий (включая
C, Lisp и Perl), о котором любая из ОС Microsoft и не мечтала. Вы получите удовольствие, и вы усвоите больше знаний, чем предполагали в процессе обучения, когда оглянетесь на этот процесс уже будучи мастером-хэкером.
Для дополнительной информации об изучении Unix см. The
Loginataka.
Чтобы заполучить в свои руки Linux, см. Where can I get Linux ("Где мне взять
Linux").
3. Научитесь использовать World Wide Web и писать на
HTML.
Большинство из тех вещей, что созданы хэкерской культурой, делают свое дело невидимо, помогая работать фабрикам, учреждениям и университетам без сколь-нибудь заметного влияния на жизнь не-хэкеров. WWW - это одно большое исключение, гигантская блестящая хэкерская игрушка, которая даже по признанию политиков изменяет мир. Лишь по одной этой причине (а также и множеству других приятных причин) вам следует научиться работать с
Web.
Это не означает, что нужно просто научиться управляться с браузером (это любой умеет), но научиться писать на
HTML, языке разметки документов Web. Если вы еще не умеете программировать, то писание на HTML обучит ваше мышление некоторым полезным привычкам, которые пригодятся при освоении языков программирования. Так что делайте домашнюю страничку.
Но простое обладание домашней страничкой даже и близко не подведет вас к тому, чтобы стать хэкером. В Web полным-полно домашних страничек. Большинство из них - это бессмысленный, бесполезный хлам. Крайне броско и привлекательно оформленный хлам, не спорю, но все равно хлам (подробнее об этом см. страничку "Ад
HTML" -The HTML Hell Page).
Чтобы быть стоящей, ваша страничка должна иметь "контент" - содержание. Она должна быть интересной и / или полезной для других хэкеров. А это подводит нас к следующему разделу...
[назад] [дальше]
|