4. Basic Hacking Skills
|
4. Základní dovednosti hackera
|
1. Learn how to program.
| 1. Naučte se programovat. |
2. Get one of the open-source Unixes and learn to use and run it.
| 2. Opatřete si nějaký open-source Unix a naučte se ho používat |
3. Learn how to use the World Wide Web and write HTML.
| 3. Naučte se používat World Wide Web a psát HTML |
The hacker attitude is vital, but skills are even more vital.
Attitude is no substitute for competence, and there's a certain basic
toolkit of skills which you have to have before any hacker will dream
of calling you one.
|
Hackerská nátura je důležitá, ale hackerské dovednosti jsou ještě
důležitější. Postoje ještě neznamenají povolanost. Existuje jistá základní
výbava, kterou musíte mít aby nějakého hackera vůbec napadlo vás hackerem
nazývat.
|
This toolkit changes slowly over time as technology creates new skills
and makes old ones obsolete. For example, it used to include programming
in machine language, and didn't until recently involve HTML. But
right now it pretty clearly includes the following:
|
Tato výbava se s časem mírně mění, jak se mění technologie a vznikají tak
nové dovednosti, zatím co jiné se stávají zbytečné. Například dříve do ní
patřilo programování ve strojovém jazyce a nepatřila HTML. V dnešní době
ale naprosto jasně obsahuje následující:
|
1. Learn how to program.
|
1. Naučte se programovat.
|
This, of course, is the fundamental hacking skill. If you don't
know any computer languages, I recommend starting with Python. It is cleanly designed,
well documented, and relatively kind to beginners. Despite being
a good first language, it is not just a toy; it is very powerful
and flexible and well suited for large projects.
|
To je samozřejmě základní dovednost hackera. Pokud ještě žádný programovací
jazyk neznáte pak doporučuji začít s
Pythonem. Je to jazyk velmi čistě navržený, dobře dokumentovaný a
k nováčkům poměrně přátelský. I přesto, že jde o dobrý jazyk pro
začátečníky není to pouze hračka; je to velmi silný a pružný nástroj,
vhodný i pro velké projekty.
|
But be aware that you won't reach the skill level of a hacker or even
merely a programmer if you only know one language -- you need to learn
how to think about programming problems in a general way, independent
of any one language. To be a real hacker, you need to have gotten to
the point where you can learn a new language in days by relating
what's in the manual to what you already know. This means you should
learn several very different languages.
|
Počítejte ale s tím, že úrovně hackera, dokonce ani programátora nedosáhnete
pokud budete znát jen jediný programovací jazyk -- musíte se naučit
přemýšlet o programátorských problémech v obecné rovině, nezávisle na
nějakém konkrétním jazyce. Abyste byl opravdovým hackerem, musíte se být
schopni naučit se nový programovací jazyk za pár dní spojováním toho co
je v manuálu a toho co již znáte. To znamená, že byste se měl naučit několik
opravdu odlišných jazyků.
|
If you get into serious programming, you will have to learn C, the
core language of Unix (though it's not the one to try learning first
thing). Other languages of particular importance to hackers include
Perl and LISP. Perl is worth
learning for practical reasons; it's very widely used for active web
pages and system administration, so that even if you never write Perl
you should learn to read it. LISP is worth learning for the profound
enlightenment experience you will have when you finally get it; that
experience will make you a better programmer for the rest of your
days, even if you never actually use LISP itself a lot.
|
Pokud se dostanete k vážnému programování, budete se muset naučit C,
základní jazyk Unixu (není to ale jazyk vhodný pro úplného začátečníka).
Další jazyky, které mohou být hackerovi užitečné jsou
Perl a
LISP.
Perl je dobré umět z praktických důvodů; je to totiž velmi rozšířený jazyk
pro vytváření aktivních webových stránek a pro systémovou administraci,
takže i když v Perlu nikdy nic psát nebudete je dobré umět ho číst.
LISP je cenný pro hluboký náhled, který získáte až ho zvládnete; tato
zkušenost z vás udělá lepšího programátora na zbytek vašeho života,
i kdybyste ho nikdy příliš nepoužívali.
|
It's best, actually, to learn all four of these (Python, C, Perl, and
LISP). Besides being the most important hacking languages, they
represent very different approaches to programming, and each will
educate you in valuable ways.
|
Nejlepší je, samozřejmě, naučit se všechny čtyři výše uvedené (Python,
C, Perl a LISP). Vedle toho, že představují nejdůležitější hackerské
jazyky, representují také velmi rozdílné přístupy k programování a každá
vás tak naučí něco cenného.
|
I can't give complete instructions on how to learn to program here --
it's a complex skill. But I can tell you that books and courses won't
do it (many, maybe most of the best hackers are self-taught).
What will do it is (a) reading code and (b) writing
code.
|
Nemůžu zde dát kompletní návod jak se naučit programovat -- je to složitá
dovednost. Můžu vám ale říci, že knihy a kursy to za vás neudělají
(mnoho, možná většina nejlepších hackerů jsou samouci).
Co funguje je (a) čtení kódu a (b) psaní kódu.
|
Learning to program is like learning to write good natural language.
The best way to do it is to read some stuff written by masters of the
form, write some things yourself, read a lot more, write a little
more, read a lot more, write some more ... and repeat until your
writing begins to develop the kind of strength and economy you see in
your models.
|
Učit se programovat je jako učit se dobře psát přirozenou řečí.
Nejlepší způsob jak to udělat je přečíst si něco od mistrů, napsat něco
sám, přečíst víc, napsat o něco málo víc, přečíst ještě víc, napsat o
trochu víc, přečíst ještě víc, napsat zase něco ... a tak dál dokud
vaše vlastní psaní nebude mít takovou sílu a úspornost jako vaše vzory.
|
Finding good code to read used to be hard, because there were few
large programs available in source for fledgeling hackers to read and
tinker with. This has changed dramatically; open-source software,
programming tools, and operating systems (all built by hackers) are
now widely available. Which brings me neatly to our next topic...
|
Najít dobrý kód na čtení bývalo těžké, protože bylo jen málo velkých
programů u kterých byl zdroj přístupný pro začínající hackery aby si ho
četli a hráli si s ním. To se ale dramaticky změnilo; open-source
software, programovací nástroje a operační systémy (všechno vytvořené
hackery) jsou v dnešní době široce dostupné. To mě přivádí k dalšímu
bodu...
|
2. Get one of the open-source Unixes and learn to use and run it.
|
2. Opatřete si nějaký open-source Unix a naučte se ho používat
|
I'm assuming you have a personal computer or can get access to
one (these kids today have it so easy :-)). The single most
important step any newbie can take towards acquiring hacker skills
is to get a copy of Linux or one of the BSD-Unixes, install
it on a personal machine, and run it.
|
Předpokládám, že máte osobní počítač nebo k němu můžete získat přístup
(ty děti to dneska ale mají jednoduché :-)). Nejdůležitějším krokem na
cestě každého nováčka stát se hackerem je získat kopii Linuxu nebo
některého z BSD-Unixů, nainstalovat ho a používat.
|
Yes, there are other operating systems in the world besides Unix. But
they're distributed in binary -- you can't read the code, and you
can't modify it. Trying to learn to hack on a DOS or Windows machine or
under MacOS is like trying to learn to dance while wearing a body
cast.
|
Ano, existují i jiné operační systémy než je Unix. Ale ty jsou
distribuované v binární formě -- nemůžete si číst zdrojáky a modifikovat je.
Snažit se naučit hackovat pod DOSem, Windows nebo MacOSem je jako chtít
se naučit tancovat ve svěrací kazajce.
|
Besides, Unix is the operating system of the Internet. While you can
learn to use the Internet without knowing Unix, you can't be an
Internet hacker without understanding Unix. For this reason, the hacker
culture today is pretty strongly Unix-centered. (This wasn't always
true, and some old-time hackers still aren't happy about it, but the
symbiosis between Unix and the Internet has become strong enough that
even Microsoft's muscle doesn't seem able to seriously dent it.)
|
Navíc je Unix operačním systémem Internetu. Zatímco naučit se používat
Internet bez znalostí Unixu není problém, být Internetovým hackerem bez
znalostí Unixu dost dobře nelze. Proto je hackerská komunita v dnešní
době tak úzce spjata s Unixem. (Nebylo tomu vždycky tak a někteří
staromilští hackeři z toho nemají radost, ale symbiosa mezi Unixem a
Internetem je dnes tak pevná, že se zdá, že ani Microsoft není dost silný
na to aby to změnil.)
|
So, bring up a Unix -- I like Linux myself but there are other ways
(and yes, you can run both Linux and DOS/Windows on the same
machine). Learn it. Run it. Tinker with it. Talk to the Internet
with it. Read the code. Modify the code. You'll get better
programming tools (including C, Lisp, Python, and Perl) than any Microsoft
operating system can dream of, you'll have fun, and you'll soak up
more knowledge than you realize you're learning until you look back on
it as a master hacker.
|
Takže zprovozněte Unix -- já osobně mám rád Linux ale jsou i jiné možnosti
(a ano, skutečně lze používat na jednom počítači DOS/Windows a
Linux zároveň). Naučte se ho. Používejte ho. Hrajte si s ním. Používejte
ho ke přístupu na Internet. Čtěte si kód. Upravujte ho. Získáte lepší
programátorské nástroje (včetně C, Lispu, Pythonu a Perlu) než o jakých
se může kterémukoli Microsoftímu operačnímu systému jen zdát, užijete si
zábavu, nasajete do sebe víc znalostí než si vůbec uvědomíte, dokud se
neohlédnete zpátky jako mistr hacker.
|
For more about learning Unix, see The
Loginataka.
|
Více o učení Unixu najdete na:
The Loginataka.
|
To get your hands on a Linux, see the Where can I get
Linux.
|
Více o získání Linuxu najdete na: Kde získat Linux.
|
You can find BSD Unix help and resources at www.bsd.org.
|
Pomoc a zdroje týkající se BSD Unixu najdete na:www.bsd.org.
|
(Note: I don't really recommend installing either Linux or BSD as a
solo project if you're a newbie. For Linux, find a local Linux user's
group and ask for help; or contact the Linux Internet Support
Co-Operative. LISC maintains IRC channels where
you can get help.)
|
(Pozn.: Opravdu nedoporučuji instalovat Linux nebo BSD bez pomoci pokud
jste nováček. U Linuxu najděte místní "Skupinu uživatelů Linuxu" a požádejte
je o pomoc; nebo kontaktujte
Linux Internet Support Co-Operative. LISC spravuje IRC channels
kde můžete získat pomoc.)
|
3. Learn how to use the World Wide Web and write HTML.
|
3. Naučte se používat World Wide Web a psát HTML
|
Most of the things the hacker culture has built do their work out of
sight, helping run factories and offices and universities without any
obvious impact on how non-hackers live. The Web is the one big
exception, the huge shiny hacker toy that even politicians
admit is changing the world. For this reason alone (and a lot of
other good ones as well) you need to learn how to work the Web.
|
Většina věcí, které hackeři vytvořili pracuje mimo zorné pole lidí,
pomáhají fungovat továrnám, kancelářím a universitám bez viditelného
vlivu na ne-hackerskou populaci. Web je jedna veliká výjimka, velká,
zářivá hračka hackerů, u které dokonce i politici připouštějí,
že mění svět. Už jen z toho důvodu (a existuje ještě spousta dalších)
je dobré naučit se se sítí pracovat.
|
This doesn't just mean learning how to drive a browser (anyone can do
that), but learning how to write HTML, the Web's markup language. If
you don't know how to program, writing HTML will teach you some
mental habits that will help you learn. So build a home page.
|
To neznamená jenom naučit se používat browser (to umí každý), ale
naučit se také psát HTML. Pokud neumíte programovat, psaní HTML vás naučí
alespoň některým duševním návykům, které vám pomohou v učení. Vytvořte
si tedy svou domovskou stránku.
|
But just having a home page isn't anywhere near good enough to make
you a hacker. The Web is full of home pages. Most of them are
pointless, zero-content sludge -- very snazzy-looking sludge, mind
you, but sludge all the same (for more on this see The HTML Hell
Page).
|
Ale jen vlastnictví domovské stránky rozhodně nestačí na to aby z vás
udělalo hackera. Web je plný domovských stránek. Většina je jen nesmyslný,
bezcenný odpad -- sice nablýskaný, ale pořád stejný odpad
(více na toto téma najdete na The HTML Hell
Page).
|
To be worthwhile, your page must have content -- it must be
interesting and/or useful to other hackers. And that brings us to the
next topic...
|
Aby byla užitečná, musí mít vaše stránka obsah -- musí být
zajímavá a/nebo užitečná jiným hackerům. A to nás přivádí k dalšímu
bodu...
|