աղբիւր՝ http://www.catb.org/~esr/faqs/hacker-howto.html

 ______________________
< Ինչպե՞ս դառնալ հաքեր >
 ----------------------
   \         ,        ,
    \       /(        )`
     \      \ \___   / |
            /- _  `-/  '
           (/\/ \ \   /\
           / /   | `    \
           O O   ) /    |
           `-^--'`<     '
          (_.)  _  )   /
           `.___/`    /
             `-----' /
<----.     __ / __   \
<----|====O)))==) \) /====
<----'    `--' `.__,' \
             |        |
              \       /
        ______( (_  / \______
      ,'  ,-----'   |        \
      `--{__________)        \/

Ինչու այս փաստաթուղթը

Ժարգոնի ֆայլի խմբագիրը լինելու եւ մի քանի այլ հայտնի փաստաթղթերի հեղինակ լինելու պատճառով հաճախ նամակներ եմ ստանում ոգևորված սկսնակներից, որոնք հարցնում են՝ «Ինչպե՞ս կարող եմ դառնալ հմուտ հաքեր»։ 1996 թվականին նկատեցի, որ այս կարևոր հարցին նվիրված ոչ մի ՀՏՀ կամ վեբ փաստաթուղթ չկար, և այդ պատճառով էլ սկսեցի գրել այս մեկը։ Շատ հաքերներ հիմա դա համարում են վերջնական ուղեցույց, ինչը, ենթադրում եմ, նշանակում է, որ այն հենց այդպես էլ կա։ Այնուամենայնիվ, ես չեմ պնդում, թե այս թեմայով բացառիկ հեղինակություն եմ. եթե ձեզ դուր չի գալիս այն, ինչ կարդում եք այստեղ, կարող եք գրել ձեր սեփական տարբերակը։

Եթե այս փաստաթղթի ներբեռնված տարբերակն եք կարդում անցանց, դրա առցանց տարբերակը գտնվում է հետևյալ հասցեում՝ http://catb.org/~esr/faqs/hacker-howto.html:

Նշում: Այս փաստաթղթի վերջում կա Հաճախ Տրվող Հարցերի (FAQ) ցանկ։ Խնդրում եմ, նախ դրանք կարդացեք՝ երկու անգամ, մինչ ինձ հարցեր ուղարկելը։

Այս փաստաթուղթը թարգմանվել է բազմաթիվ լեզուներով՝ արաբերեն, հայերէն, բելառուսերեն, բուլղարերեն, չինարեն, չեխերեն, դանիերեն, հոլանդերեն, էստոներեն, ֆրանսերեն, գերմաներեն, հունարեն, հունգարերեն, իտալերեն, եբրայերեն, ճապոներեն, լիտվերեն, նորվեգերեն, պարսկերեն, լեհերեն, պորտուգալերեն (բրազիլական), ռումիներեն, իսպաներեն, թուրքերեն և շվեդերեն։ Սակայն հաշվի առեք, որ այս փաստաթուղթը երբեմն թարմացվում է, և թարգմանությունները կարող են որոշ չափով հնացած լինել։

Այս փաստաթուղթը զարդարող «հինգ կետ-ինը քառակուսի» դիագրամը կոչվում է գլայդեր։ Դա պարզ նախշ է, որը հետաքրքիր հատկություններ ունի «Կյանք» կոչվող մաթեմատիկական սիմուլյացիայում, որն արդեն տարիներ շարունակ գրավել է հաքերներին։ Կարծում եմ, որ այն լավ խորհրդանիշ է հաքերների համար՝ աբստրակտ, սկզբում մի քիչ առեղծվածային թվացող, բայց մի դարպաս դեպի ամբողջ մի աշխարհ՝ իր բարդ տրամաբանությամբ։ Գլայդերի խորհրդանիշի մասին ավելին կարող եք կարդալ այստեղ։

Եթե այս փաստաթուղթը համարում եք արժեքավոր, խնդրում եմ աջակցեք ինձ Patreon-ի կամ SubscribeStar-ի միջոցով։ Եվ նաև մտածեք աջակցելու մյուս հաքերներին, ովքեր ստեղծել են այն կոդը, որից դուք օգտվում եք, Loadsharers հարթակի միջոցով։ Շատ փոքր, բայց շարունակական նվիրատվությունները կարող են արագ գումարվել և հնարավորություն տալ այն մարդկանց, ովքեր իրենց աշխատանքի պարգևներն են ձեզ նվիրել, ստեղծել նոր արժեքներ։

Ո՞վ է հաքերը Ժարգոնի ֆայլում կան «հաքեր» տերմինի մի քանի սահմանումներ, որոնք հիմնականում կապված են տեխնիկական հմտությունների, խնդիրներ լուծելու ու սահմանափակումները շրջանցելու հետ։ Սակայն, եթե ցանկանում եք իմանալ ինչպես դառնալ հաքեր՝ միայն երկու սահմանումներն են կարևոր։

Կա փորձառու ծրագրավորողների և ցանցային «կախարդների» համայնք, ընդհանուր մշակույթ, որը սկիզբ է առնում տասնամյակներ առաջ՝ առաջին ժամանակային մինի-համակարգիչներից և ARPAnet-ի ամենավաղ փորձերից։ Այս մշակույթի անդամներն են առաջինն օգտագործել «հաքեր» տերմինը։ Հաքերները ստեղծեցին ինտերնետը։ Հաքերները Unix օպերացիոն համակարգը դարձրել են այնպիսին, ինչպիսին այսօր է։ Հաքերներն ապահովում են Համաշխարհային Ցանցի (World Wide Web) աշխատանքը։ Եթե դուք այս մշակույթի մաս եք, եթե ներդրում եք ունեցել դրանում, և մյուսներն այդ մշակույթում ճանաչում են ձեզ որպես հաքեր, ուրեմն դուք հաքեր եք։

Հաքերի մտածելակերպը սահմանափակված չէ միայն ծրագրային ապահովման մշակույթով։ Կան մարդիկ, որոնք հաքերի մոտեցումը կիրառում են այլ բաների վրա, ինչպես օրինակ՝ էլեկտրոնիկան կամ երաժշտությունը։ Իրականում, դուք դա կարող եք գտնել ցանկացած գիտության կամ արվեստի բարձրագույն մակարդակներում։ Ծրագրային ապահովման հաքերները ճանաչում են այս մտերիմ հոգիներին այլ բնագավառներում և կարող են նրանց էլ անվանել հաքերներ։ Ոմանք նույնիսկ պնդում են, որ հաքերի բնույթը կախված չէ այն միջավայրից, որի վրա հաքերն աշխատում է։ Բայց այս փաստաթղթում մենք կենտրոնանալու ենք ծրագրային ապահովման հաքերների հմտությունների և մտածելակերպի վրա, ինչպես նաև այն մշակույթի ավանդույթների վրա, որտեղից էլ ծագել է «հաքեր» տերմինը։

Կա մարդկանց մեկ այլ խումբ, ովքեր բարձրաձայն իրենց հաքեր են անվանում, բայց իրականում այդպիսինը չեն։ Սա հիմնականում դեռահաս տղաներ են, որոնք հաճույք են ստանում համակարգիչներ կամ հեռախոսային համակարգեր կոտրելուց։ Իրական հաքերներն այս մարդկանց անվանում են «կրակերներ» և ոչ մի կապ չեն ցանկանում ունենալ նրանց հետ։ Իրական հաքերները հիմնականում կարծում են, որ կրակերները ծույլ են, անպատասխանատու և այնքան էլ խելացի չեն։ Նրանք պնդում են, որ միայն անվտանգության համակարգ կոտրելը չի ապացուցում է, որ դու հաքեր ես, ինչպես մեքենաները գողանալն չի ապացուցում է, որ դու ավտոմոբիլային ինժեներ ես։ Ցավոք, շատ լրագրողներ և գրողներ խաբվել են և օգտագործել «հաքեր» բառը՝ նկարագրելու կրակերներին։ Սա հաքերներին անչափ զայրացնում է։

Հիմնական տարբերությունը սա է՝ - Հաքերները ստեղծում են, - Կրակերները կոտրում են։

Եթե ուզում եք հաքեր դառնալ, շարունակեք կարդալ։ Եթե ուզում եք կրակեր դառնալ, այցելեք alt.2600 խմբի նյուզգրուպը և պատրաստվեք 5-10 տարվա բանտարկության՝ հասկանալով, որ այնքան էլ խելացի չեք, որքան կարծում էիք։ Եվ սա ամենն է, ինչ պատրաստվում եմ ասել կրակերների մասին։

Հաքերի մտածելակերպ

Հաքերները լուծում են խնդիրներ և ստեղծում նոր բաներ՝ միևնույն ժամանակ հավատալով ազատության և կամավոր փոխօգնության։ Եթե ցանկանում եք համարվել հաքեր, անհրաժեշտ է նման վերաբերմունք ցուցաբերել։ Իսկ նման վերաբերմունք ունենալու համար պետք է իսկապես հավատաք դրան։

Եթե հաքերի մտածելակերպը մշակելն ընկալում եք միայն որպես մշակույթում ընդունուած լինելու միջոց, ապա կկորցնեք դրա կարևորությունն ու նպատակը։ Նման մտածելակերպը դառնում է կարևոր ինքներդ ձեզ համար՝ օգնելու սովորել և մոտիվացված մնալ։ Ինչպես բոլոր ստեղծագործական արվեստներում, հմտանալը պահանջում է հետևել վարպետների մտածելակերպին՝ ոչ միայն ինտելեկտուալ, այլև զգացմունքային մակարդակում։

Ինչպես ժամանակակից զեն բանաստեղծությունն է ասում՝ տես ճանապարհը. նայիր վարպետին, հետեւիր վարպետին, քայլիր հետը վարպետին, տես աչքերով վարպետի, դարձիր վարպետը։

Ուրեմն, եթե ցանկանում եք դառնալ հաքեր, կրկնեք հետևյալ սկզբունքները, մինչև իսկապես հավատաք դրանց ։ 1. Աշխարհը լի է հիանալի խնդիրներով, որոնք սպասում են իրենց լուծմանը։

Հաքեր լինելը մեծ հաճույք է, բայց այն հաճույք է, որը պահանջում է մեծ ջանք։ Այդ ջանքն էլ մոտիվացիա է պահանջում։ Մարզիկները մոտիվացվում են իրենց մարմնի հնարավորությունները զարգացնելով։ Նույն ձևով, հաքեր լինելու համար պետք է հաճույք ստանաք խնդիրներ լուծելիս, հմտություններ կատարելագործելիս և ձեր ինտելեկտն օգտագործելիս։

Եթե այդպիսի բնավորություն չունեք, պետք է այն զարգացնեք, որպեսզի կարողանաք կայանալ որպես հաքեր։ Հակառակ դեպքում ձեր էներգիան կկորցնեք շեղող գործոնների վրա՝ ինչպիսիք են փողը, սեքսը կամ սոցիալական ճանաչումը։

(նաև հարկավոր է հավատ ձևավորել սովորելու ունակություններիդ հանդեպ. հավատ այն մասին, որ եթե անգամ չգիտես խնդրի ամբողջական լուծումը, բայց լուծես դրա մի մասը ու դասեր քաղես դրանից, ապա բավականաչափ սովորած կլինես խնդրի հաջորդ մասն էլ լուծելու համար և այդպես շարունակ, մինչև ավարտես այն։)

2. Ոչ մի խնդիր չպետք է լուծվի երկրորդ անգամ։

Ստեղծագործ ուղեղները թանկ ու սահմանափակ ռեսուրս են։ Դրանք չպետք է վատնվեն հին խնդիրներu կրկին լուծելու վրա, երբ նոր և հետաքրքիր խնդիրներ կան։ Հաքերի նման վարվելն ընդգրկում է ոչ միայն խնդիրներ լուծելը, այլև լուծումները տարածելը, որպեսզի մյուս հաքերները կարողանան առաջ շարժվել՝ փոխանակ հին խնդիրներ վերանայելու։

3. Ձանձրույթը և միապաղաղ աշխատանքը չարիք են։

Հաքերները չպետք է ձանձրանան կամ ստիպված լինեն միապաղաղ աշխատանք կատարել, քանի որ դա նրանց խանգարում է անել այն, ինչ նրանք լավագույնս կարող են։ Այսպիսով, նման իրավիճակներն իրական չարիք են։ Հաքերի նման վարվելու համար անհրաժեշտ է ձգտել ավտոմատացնել ձանձրալի և միօրինակ գործերը՝ ինչպես ձեր, այնպես էլ մյուսների համար։

4. Ազատությունը լավ բան է։

Հաքերները բնականորեն հակաավտորիտար են։ Նրանք չեն ցանկանում, որ որևէ մեկը կանգնեցնի իրենց խնդիրները լուծելու ճանապարհին։ Հետևաբար, ավտորիտար մոտեցումները պետք է հաղթահարվեն։ Ազատությունն ընդգրկում է նաև տեղեկատվության բաց հասանելիությունը և կամավոր համագործակցությունը։ Հաքերի նման վարվելն ընդգրկում է գրաքննության և գաղտնիության դեմ պայքարը։

5. Մտածելակերպը չի կարող փոխարինել հմտությանը։

Այդպիսի մտածելակերպ ունենալը կարևոր է, բայց այն ինքնին բավարար չէ։ Հաքեր դառնալու համար անհրաժեշտ է խելք, փորձ, նվիրվածություն և ջանք։ Հաքերները պաշտում են ոչ թե մտախելակերպը, այլ հմտությունը։ Հետևաբար, դուք պետք է գնահատեք և զարգացնեք հմտություններ՝ դրանք դիտարկելով որպես հաճելի խաղ, այլ ոչ թե ծանր աշխատանք։ Այս սկզբունքները կհանգեցնեն ոչ միայն հաքերի մշակույթում ճանաչում ձեռք բերելուն, այլև կօգնեն ձեզ կյանքում ստեղծագործական և ինտելեկտուալ աճ ունենալ։

Հիմնական Հաքերային Հմտություններ Հաքերի վերաբերմունքը կարևոր է, բայց հմտություններն ավելի կարևոր են։ Վերաբերմունքը չի կարող փոխարինել կարողունակությունը, և կա մի հիմնական գործիքակազմ, որը դուք պետք է ունենաք, մինչև որ որևէ հաքեր նույնիսկ մտածի ձեզ այդպիսին անվանելու մասին։ Այս գործիքակազմը դանդաղ փոփոխվում է ժամանակի ընթացքում, երբ տեխնոլոգիան ստեղծում է նոր հմտություններ և հնացնում հներին։ Օրինակ, այն նախկինում ներառում էր մեքենայական լեզվով ծրագրավորումը, բայց վերջերս միայն սկսեց ներառել HTML-ը։ Սակայն այժմ ակնհայտ է, որ այն ներառում է հետևյալը․

1. Սովորեք ծրագրավորել Հաքերների հիմնական հմտություններից մեկը ծրագրավորումն է։ Եթե դուք դեռ չգիտեք որևէ ծրագրավորման լեզու, խորհուրդ եմ տալիս սկսել Python-ից: Այն պարզ է, լավ փաստագրված և հարմար սկսնակների համար։ Չնայած դա լավ առաջին լեզու է, այն հզոր է և հարմար է նաև մեծ նախագծերի համար։ Python-ի մասին ավելի մանրամասն գնահատականներ գրել եմ, իսկ լավ ձեռնարկները հասանելի են [Python-ի կայքում](https://www.python.org/), ինչպես նաև Computer Science Circles-ի երրորդ կողմի գերազանց ձեռնարկում։

Առաջ սա խորհուրդ էի տալիս սկսել Java-ից, բայց հիմա կարծում եմ, որ ավելի լավ է սկզբում սովորել C և LISP, հետո անցնել Java-ին։ Եթե լեզուն չափազանց շատ բան է անում ձեր փոխարեն, դա կարող է լավ գործիք լինել արտադրության համար, բայց վատ՝ ուսուցման։ Այս սկզբունքը տարածվում է ոչ միայն ծրագրավորման լեզուների, այլև ֆրեյմվորքերերի վրա, օրինակ՝ RubyOnRails, CakePHP կամ Django: Դրանք կարող են հեշտացնել մակերեսային ըմբռնումը, ինչը կարող է անօգուտ լինել բարդ խնդիր լուծելիս կամ նույնիսկ պարզ սխալների կարգավորման ժամանակ։

* Լավագույն լեզուների ցանկ - Python: Սկսելու և ավելի խորը հմտանալու համար։ - Go: Պարզ է Python-ից անցնելու համար և պատրաստում է ձեզ C-ին անցնելու համար։ - C և C++: Եթե դուք լրջորեն զբաղվում եք ծրագրավորմամբ, պետք է ի վերջո սովորեք C, որը Unix-ի հիմնական լեզուն է։ Այնուամենայնիվ, առաջին լեզու ընտրելը չի համարվում լավ տարբերակ։ - Perl: Հաճախ օգտագործվում է վեբ էջերի համար և համակարգերի ադմինիստրացիայում։ - LISP: Այն սովորելը կտրուկ կփոխի ձեր մտածելակերպը ծրագրավորման մասին։ Այն կարող եք սկսել օգտագործել՝ ստեղծելով Emacs-ի մոդեր կամ GIMP-ի Script-Fu հավելվածներ։

Python, C/C++, Perl և LISP լեզուների իմացությունը կզարգացնի ձեր կարողությունները տարբեր ծրագրավորման մեթոդաբանությունների մեջ։ Նոր լեզու սովորելու համար դուք պետք է ունենաք ընդհանուր ծրագրավորման մտածելակերպ և կարողանաք նոր լեզու սովորել օրերի ընթացքում՝ համեմատելով ձեր արդեն ունեցած գիտելիքները։

* Ինչպես սովորել ծրագրավորել - Կարդացեք կոդ: Ուսումնասիրեք փորձառու ծրագրավորողների գրված կոդերը։ - Գրեք կոդ: Հնարավորինս շատ փորձարկումներ արեք՝ ձեր հմտությունները զարգացնելու համար։ - Ուշադրություն դարձրեք Պիտեր Նորվիգի [Teach Yourself Programming in Ten Years](http://norvig.com/21-days.html) նամակին։ Նրա մոտեցումն արդյունավետ է ծրագրավորման խորքային իմացություն ստանալու համար։

Սովորեք ծրագրավորում այնպես, ինչպես սովորում եք գրել։ Կարդացեք, գրեք, նորից կարդացեք և նորից գրեք, մինչև հասնեք այն մակարդակին, որտեղ ձեր աշխատանքը կսկսի նմանվել վարպետների գործերին։

Նախկինում լավ կոդ գտնելն ու այն ուսումնասիրելը բարդ էր, բայց հիմա՝ բաց կոդով ծրագրերի և գործիքների առկայությամբ, դա ավել ի հասանելի է։ Բաց կոդով ծրագրերը հնարավորություն են տալիս կարդալ և փորձարկել իրական նախագծեր, ինչը խիստ օգտակար է հաքեր դառնալու ճանապարհին։

2. Ձեռք բերեք բաց կոդով Unix և սովորեք գործարկել և օգտագործել այն։

Ենթադրում եմ, որ դուք ունեք անհատական համակարգիչ կամ կարող եք օգտագործել այն: (Մի պահ տրամադրեք եկեք գնահատենք, թե որքան մեծ բան է դա. հաքերների մշակույթը սկիզբ է առել այն ժամանակներից, երբ համակարգիչներն այնքան թանկ էին, որ անհատները չէին կարող ձեռք բերել:) Ամենակարևոր քայլը, որը ցանկացած սկսնակ պետք է անի հաքերային հմտություններ ձեռք բերելու ճանապարհին, դա Linux կամ BSD-Unix ձեռք բերելն է, տեղադրել անհատական համակարգչում և գործարկել այն: Փորձելով սովորելհաքերություն Microsoft Windows համակարգչով կամ ցանկացած այլ փակ համակարգում, նման է փորձել սովորել, թե ինչպես պարել գիպսի մեջ:

Mac OS X — ում դա հնարավոր է, բայց համակարգի միայն մի մասն է բաց կոդով. հավանականությունը մեծ է, որ դուք բախվելու եք բազմաթիվ խնդիրների և պետք է զգույշ լինեք, որպեսզի ձեռք չբերեք Apple-ի եփական կոդի վրա հույս դնելու վատ սովորություն: Եթե դուք կենտրոնանաք UNIX-ի վրա, ապա կարող եք սովորել շատ օգտակար բաներ:

Unix-ը Ինտերնետի օպերացիոն համակարգն է։ Չնայած դուք կարող եք սովորել Ինտերնետ օգտագործել առանց Unix իմանալու, դուք չեք կարող լինել Ինտերնետ հաքեր առանց Unix հասկանալու։ Հետևաբար, հաքերների մշակույթը այսօր բավականին ուժեղ Unix-կենտրոնացած է։ (Այսպես միշտ չի եղել, և որոշ հին ժամանակների հաքերներ դեռ չեն գոհանում դրանից, բայց Unix-ի և Ինտերնետի համբարձումը դարձել է այնքան ուժեղ, որ նույնիսկ Մայքրոսոֆթի ուժը կարծես չկարողանա լուրջ վնաս հասցնել դրան։)

Ուրեմն, բարձրացրեք Unix — ես անձամբ սիրում եմ Linux-ը, բայց կան այլ ձևեր (և այո, դուք կարող եք աշխատեցնել թե Linux, թե Windows նույն համակարգչում)։ Սովորեք այն։ Ընդունեք այն։ Խառնեք դրա հետ։ Խոսեք Ինտերնետի հետ դրա միջոցով։ Ընդամենը կարդացեք կոդը։ Վերցրեք կոդը։ Դուք կստանաք ավելի լավ ծրագրավորման գործիքներ (ներառյալ C, LISP, Python և Perl), քան որևե Microsoft-ի օպերացիոն համակարգ կարող է երազել հյուրընկալել, դուք ձեռք կբերեք ավելի շատ գիտելիքներ, քան պատկերացնում եք՝ մինչև դրան ետ չնայեք որպես վարպետ հաքեր։

Մանրամասն՝ Unix սովորելու մասին՝ տես The Loginataka։ Գուցե դուք նաև ցանկանաք նայել The Art Of Unix Programming։

Let's Go Larval! բլոգը պատուհան է նոր Լինւղ օգտվողի ուսումնական գործընթացին, որը կարծես սովորաբար համարժեք և օգտակար է։ How I Learned Linux հրապարակումը լավ մեկնարկ է։

Linux ձեռք բերելու համար՝ տես Linux Online! կայքը; այնտեղից կարող եք ներբեռնել կամ (լավ գաղափար) գտնել տեղական Linux խումբ, որը կօգնի տեղադրման հարցում։

Այս HOWTO-ի առաջին տասը տարիներին ես հաղորդել էի, որ նոր օգտվողի տեսանկյունից բոլոր Linux բաշխումները գրեթե համարժեք են։ Բայց 2006-2007 թվականներին առաջացավ իրական լավագույն տարբերակը՝ Ubuntu։ Չնայած մյուս դիստրիբուտիվները ունեն իրենց սեփական ուժեղ կողմերը, Ubuntu-ն ամենից հեշտ է նոր սկսնակների համար։ Խուսափեք այնուամենայնիվ՝ «Յունիթի» մղձավանջից ու անպիտան աշխատասեղանից, որը Ubuntu-ն ներմուծել է որպես դեֆոլտ մի քանի տարի անց՝ Xubuntu կամ Kubuntu տարբերակները ավելի լավ են։

BSD UNIX-ի օգնությունն ու ռեսուրսները կարելի է գտնել www.bsd.org կայքում։

Լավ միջոց է ջրերում առաջին քայլերը դնելու համար Linux-ի երկրպագուների կողմից կոչվող կենդանի CD-ն՝ բաշխում, որը ամբողջությամբ աշխատում է CD-ից կամ USB ստիկից՝ առանց փոփոխությունների։ Սա կարող է դանդաղ լինել, քանի որ CD-ները դանդաղ են, բայց սա միջոց է՝ տեսնելու հնարավորությունները՝ առանց խոշոր փոփոխություններ կատարելու։

Ես գրել եմ Unix-ի և Ինտերնետի հիմունքների մասին ուղեցույցhttp://en.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/index.html։

Ես նախկինում խորհուրդ չէի տալիս տեղադրել ոչ Լինուքս, ոչ էլ BSD որպես անկախ նախագիծ՝ եթե դուք նորեկ եք։ Այսօր արդեն տեղադրողները բավականին լավացել են, և դա ինքնուրույն անելու հնարավորություն կա, նույնիսկ նորեկների համար։ Այնուամենայնիվ, ես դեռ խորհուրդ եմ տալիս կապ հաստատել ձեր տեղական Լինուքս օգտագործողների խմբի հետ և խնդրել օգնություն։ Այն չի կարող վնասել, և կարող է հեշտացնել գործընթացը։

3. Սովորեք օգտագործել Համաշխարհային Համացանցը և գրել HTML։ Հաքերների մշակույթը ստեղծած շատ բաներ կատարում են անտեսանելի, օգնում են գործարաններ, գրասենյակներ և համալսարաններ վարել առանց ակնհայտ ազդեցության ոչ-հաքերների կյանքում։ Համացանցը այդ մեկ մեծ բացառությունն է՝ հսկայական փայլուն հաքերների խաղալիքը, որը նույնիսկ քաղաքական գործիչները ընդունում են, որ փոխել է աշխարհը։ Միայն դրա պատճառով (և շատ այլ լավ պատճառներով նույնպես) դուք պետք է սովորեք, թե ինչպես աշխատել Համացանցում։

Այսպիսով, սա միայն բրաուզեր վարելու սովորելը չէ (այդ կարող է անել յուրաքանչյուրը), այլ HTML-ի՝ Համացանցի մարկափ լեզվով գրելը սովորելը։ Եթե դուք չգիտեք ծրագրավորել, HTML գրելը կսովորեցնի ձեզ մի քանի մտավոր սովորություններ, որոնք կօգնեն ձեզ սովորել։ Ուրեմն ստեղծեք անձնական էջ։

Բայց միայն անձնական էջ ունենալը բավական չէ, որպեսզի դուք հաքեր լինեք։ Համացանցը լի է անձնական էջերով։ Անհամար դրանց մեծ մասը բացարձակապես անհետաքրքիր է՝ զրոյական բովանդակությամբ ցեխ։ Այնպես որ շատ գեղեցիկ տեսք ունեցող ցեխ, բայց ցեխ այնուամենայնիվ (հավելյալ տեղեկությունների համար տես The HTML Hell Page)։

Լինելու համար օգտակար, ձեր էջը պետք է ունենա բովանդակություն՝ այն պետք է հետաքրքիր և/կամ օգտակար լինի մյուս հաքերների համար։ Իսկ դա մեզ բերում է հաջորդ թեմային… 4. Եթե չունեք գործնական անգլերեն, սովորեք այն։

Ես որպես ամերիկացի և մայրենի անգլերեն խոսող անձ, նախկինում լինում էի hesitant՝ դա որպես մշակութային կայսրություն չհամարելու պատճառով խորհուրդ տալու։ Բայց մի քանի այլ լեզվաբառարաններ ունեցող անձինք ինձ հորդորեցին նշել, որ անգլերենը հաքերների մշակույթի և Ինտերնետի աշխատող լեզուն է, և դուք պետք է իմանաք այն՝ հաքերների համայնքում աշխատելու համար։

1991 թվականին ես սովորեցի, որ շատ հաքերներ, ովքեր անգլերենը երկրորդ լեզու ունեն, օգտագործում են այն տեխնիկական քննարկումներում, նույնիսկ երբ նրանք նույն մայրենի լեզվով են խոսում։ Այդ ժամանակ ինձ հաղորդել էին, որ անգլերենը ունի ավելի հարուստ տեխնիկական բառապաշար, քան որևե այլ լեզու, ուստի այն պարզապես ավելի լավ գործիք է աշխատանքի համար։ Այդպիսի պատճառներով անգլերենով գրանցված տեխնիկական գրքերի թարգմանությունները հաճախ անբավարար են (երբ դրանք նույնիսկ կատարվում են)։

Լինուս Թորվալդսը, ֆինն, մեկնաբանություններ է թողնում իր կոդում անգլերենով (ինչպես երևում է, նրան չի մտածվել անել այլ կերպ)։ Նրա անգլերենին ունեցած շտկվածությունը եղել է կարևոր գործոն՝ ամբողջ աշխարհից Linux-ի համար մշակողների համայնք հավաքելու համար։ Դա օրինակ է, որը արժե հետևել։

Մայրենի անգլերեն խոսող լինելը չի նշանակում, որ դուք ունեք լեզվաբառարաններ հաքեր լինելու համար։ Եթե ձեր գրությունը կիսագրական է, առանց մասնագիտական լեզվի և լի է սխալներով, շատ հաքերներ (ներառյալ ես) ձեզ չեն ուշադրություն դարձնի։ Դեռևս ոչ բոլորի համար անճշտությունները նշանակում են անճշտություն մտածողության մեջ, բայց մենք հաճախ գտնում ենք կապը ուժեղ՝ և մենք չունենք ժամանակ անճշտ մտածողությունների համար։ Եթե դեռ չգիտեք գրել սահուն, սովորեք։