zoso
Obsedat Textual
 Din: Uniunea Europeana
Inregistrat: acum 18 ani
|
|
Ce trebuie sa stii pentru a deveni hacker :
1. Învaţă să programezi. 2. Instalează şi foloseşte un sistem din familia Unix. 3. Învaţă să foloseşti internetul şi HTML. 4. Dacă nu şti engleză la un nivel acceptabil, învaţă.
Atitudinea este foarte importantă dar cunoştinţele sunt şi mai importante. Atitudinea nu substituie cunoştinţele, şi există un set de deprinderi pe care trebuie să le ai înainte ca cineva să se gândească să te numească hacker.
Acest set de deprinderi se schimbă lent pe masură ce trece timpul şi tehnologia creează cunoştinţe noi şi le face pe cele vechi insuficiente. De exemplu iniţial includea necesitatea de a şti să programezi în limbaj de asamblare, şi doar recent a fost introdus şi HTML. Dar acum include următoarele deprinderi : 1. Învată să programezi.
Acest lucru este esenţial. Daca nu şti să programezi în nici un limbaj îţi recomand să începi cu Python. E foarte bine gândit, bine documentat, şi destul de blând cu începătorii. Lăsând la o parte faptul că e un limbaj bun pentru începători, Python nu este o jucărie, este un limbaj foarte puternic şi flexibil şi care se pretează a fi folosit la proiecte mari. Nişte tutoriale foarte bune sunt disponibile pe pagina web
Java este un alt limbaj bun pentru a învăţa să programezi în el. Este ceva mai dificil decât Python dar produce un cod mai rapid. Este un limbaj care e foarte bine să fie ştiut. Din nefericire însă implementarea oficială Sun este încă proprietară. Aceasta nu este o prea mare problemă în ceea ce priveşte limbajul în sine pentru că există alternative open-source de foarte bună calitate; problema reală este dată de bibliotecile de funcţii care sunt disponibile împreună cu limbajul. Implementările open-source sunt încă în spatele celor oficiale oferite de Sun. Aşa că dacă vrei să înveţi Java foloseşte o implementare open-source pentru a evita să devii dependent de codul proprietate Sun.
Dar trebuie să fi conştient că nu o să ajungi un hacker, nici măcar un programator dacă şti unul sau două limbaje de programare, trebuie să inveţi să gândeşti problemele de programare la modul general, independent de limbaj. Pentru a fi un hacker adevărat trebuie să ajungi până în punctul în care să reuşeşti să înveţi un limbaj nou în câteva zile făcând asociaţii cu ceea ce şti deja. Asta înseamnă că trebuie să şti mai multe limbaje diferite.
După ce depăşeşti faza iniţială şi o să incepi să înţelegi principalele concepte trebuie să înveţi C, limbajul pe baza căruia a fost construit Unix. C++ are foarte multe elemente comune cu C, dacă şti unul va fi uşor să îl înveţi pe celălalt. Nici C, nici C++ nu sunt genul de limbaje pe care să le înveţi prima data. O să observi că o să fi mult mai productiv in alte limbaje decât în C.
C-ul este foarte eficient, şi econom cu resursele calculatorului. Din nefericire C-ul are aceasta eficienţă deoarece managementul memoriei şi a resurselor este lăsat în seama programatorului. Tot codul acesta este complex şi predispus la probleme ( bug-uri ) şi va consuma foarte mult timp. Tinând cont de cât de rapide sunt calculatoarele de astăzi este mai bine să foloseşti un limbaj care să economisească timpul programatorului şi nu pe cel al calculatorului ( ex:Python ).
Alte limbaje de importanţă deosebită pentru un hacker sunt Perl şi LISP. Perl merită învăţat în special din motive practice; este folosit foarte frecvent pentru pagini de web dinamice şi pentru administrarea sistemului, astfel încât chiar dacă nu o scri programe în Perl tot trebuie să şti să înţelegi o sursă. Mulţi oameni utilizează Perl aşa cum sugerez eu să fie folosit Python, pentru a evita programarea în C atunci cand nu e nevoie de eficienţă. Va trebui să fi capabil să înţelegi aceste programe.
LISP merită învăţat pentru sentimentul de mulţumire pe care îl ai atunci cand reuşeşti să-l înţelegi. Această experienţă te va face un programator mai bun pentru tot restul vieţii, chiar dacă nu o să foloseşti LISP pentru a scrie programe. ( Poţi să capeţi nişte experienţă în LISP uşor scriind şi modificând moduri de editare pentru Emacs, sau Script-Fu plugins pentru GIMP. )
Cel mai bine e să le înveţi pe toate cinci : Pyhton, C/C++, Java, Perl si LISP. În afara faptului că sunt cele mai importante limbaje pentru hacking sunt şi ipostaze ale diferitelor paradigme de programare, şi fiecare te va educa în diferite moduri.
Nu pot să dau instrucţiuni complete despre cum să înveţi să programezi, e o muncă dificilă. Dar pot să îţi spun că nu te vor ajuta foarte mult carţile şi cursurile ( mulţi, poate cei mai mulţi hackeri sunt autodidacţi ). Pot să înveţi despre un limbaj din carţi, dar modul de gândire care transformă acele cunoştiinţe într-o deprindere pot fi învăţate numai prin exerciţiu şi programare. Ceea ce trebuie să faci e să (a) citeşti programe şi să scri programe.
Peter Norving care este unul dintre cei mai buni hackeri de la Google şi coautor al unor excelente cărţi despre inteligenţă artificială, a scris un eseu excelent numit Teach Yourself Programming in Ten Years. Reţeta lui pentru succes în programare merită toată atenţia.
A învăţa să programezi e ca şi cum ai învăţa o nouă limbă. Cea mai bună modalitate e să citeşti câteva texte scrise de experţi în domeniu, să scrii nişte chestii singur, să citeşti mai mult, să mai scri, să citeşti, să scri .... şi să repeţi până când dezvolţi în scris genul de putere şi economie pe care o vezi în modelele tale.
Găsirea unor programe bune pentru analizat era o chestie dificilă, pentru că erau puţine disponibile sub formă de cod sursă pe care puteau experimenta hackerii. Acest lucru s-a schimbat dramatic; programe cu sursă deschisă ( open-source ), unelte pentru programare şi sisteme de operare ( toate construite de hackeri ) sunt acum disponibile pentru oricine. Ceea ce ne apropie de următorul subiect ..... 2. Instalează şi foloseşte un sistem de operare din familia Unix.
O să presupun că ai un calculator personal sau ai acces la unul. ( Gândeşte-te un moment ce înseamnă asta. Cultura hackerilor a apărut în timpul în care calculatoarele erau aşa de scumpe încât nici o persoană fizică nu îşi permitea să îşi cumpere. ). Unul dintre cei mai importanţi paşi pe care un începător îl poate face pentru a începe să dobândească deprinderi de hacker este să facă rost de o copie de Linux sau BSD, să-l instaleze pe calculatorul personal şi să înveţe să-l folosească.
Da, mai sunt şi alte sisteme de operare în lume în afară de Unix. Dar sunt distribuite sub formă binară, nu poţi citi codul, nu-l poţi modifica. A încearca să înveţi hacking pe un calculator cu Microsoft Windows sau orice alt sistem de operare cu surse închise e ca şi cum ai încerca să dansezi îmbrăcat în gips.
Sub Mac OS X este posibil, dar numai o parte din sistemul de operare are şi surse, e posibil să te loveşti de multe ziduri, şi trebuie să fi atent să nu dezvolţi prostul obicei de a depinde de codul proprietate Apple. Dacă te concentrezi pe Unix poţi învăţa foarte multe lucruri.
Unix este sistemul de operare al internetului. Deşi poţi să înveţi să foloseşti internetul fără să şti Unix, nu poţi să fi un hacker fără să înţelegi Unix. Din acest motiv, cultura hackerilor este strâns legată de Unix. ( Acest lucru nu a fost întotdeauna adevărat, şi câţiva hackeri nu sunt prea bucuroşi, dar simbioza între Unix şi internet este suficient de puternică încât nici Microsoft nu poate să intervină.)
Aşa că instalează un sistem din familia Unix ( Şi mie îmi place Linux dar mai există şi alte căi ( şi da, poţi să ai şi Linux şi Windows pe acelaşi calculator )). Invaţă să-l folosesti. Experimentează cu el. Navighează pe internet cu el. Citeşte codul. Modifică codul. O să ai la dispoziţie unelte pentru programare : C, LISP, Python şi Perl, mai mult decât pe orice sistem Microsoft, o să înveţi mult mai repede decât îţi dai seama.
Pentru mai multe informaţii în legătură cu Unix vezi The Loginataka. Aruncă o privire şi pe The Art Of Unix Programming.
Pentru a obţine o copie Linux, vizitează Linux Online!; poţi să descarci de acolo sau ( o idee mai bună ) gaseşte un grup local de utilizatori Linux care să te ajute cu instalarea. Din perspectiva unui nou utilizator toate distribuţiile Linux sunt identice.
Poti sa primesti CD-uri gratuite cu UBUNTU LINUX daca intri pe , si poti sa le comanzi de acolo ! Apeleaza cu incredere , pentru ca si mie mi-au venit CD-urile , absolut gratuit si fara nici un cost din partea mea !
Poţi să gasesti informaţii şi resurse despre BSD Unix la.
Am scris o scurtă introducere la adresa Basics of Unix and the Internet
(Notă : Nu recomand instalarea unui sistem Linux sau BSD singur, mai ales dacă eşti un începător. Pentru Linux găseşte un grup de utilizatori şi cere ajutor.) 3. Învaţă să foloseşti internetul şi HTML.
Cele mai multe lucruri pe care cultura hackerilor le-a produs nu s-au bucurat de atenţie publică, fiind folosite în fabrici şi universităţi fără nici un impact direct asupra omenilor în general. Internetul este marea excepţie, marea şi strălucitoarea jucărie realizată de hackeri care a schimbat lumea. Din acest motiv ( şi multe altele ) trebuie să înveţi să şti să lucrezi pe internet.
Asta nu înseamnă doar să şti să foloseşti un browser ( oricine poate să facă asta ), trebuie să înveţi să scri HTML - limbajul Web-ului. Dacă nu şti să programezi învăţând HTML o să îţi fie mai uşor să înveţi apoi un limbaj de programare. Aşa că trebuie să îţi faci o pagină pe web. Încearcă să foloseşti standardul XHTML, care e mai aranjat decât clasicul HTML. ( Se găsesc uşor tutoriale pe internet )
Dar simplu fapt de a avea o pagina e doar începutul lungului drum spre a devenii un hacker. Internetul e plin de astfel de pagini. Majoritatea au un conţinut inutil ( vezi The HTML Hell Page ).
Ca să merite, pagina ta va trebui să aibă conţinut, să fie interesantă/folositoare altor hackeri. Şi asta ne aduce la urmatorul subiect ....
4. Dacă nu şti engleză la un nivel acceptabil, învaţă.
Ca roman şi vorbitor nativ al limbii romane am ezitat să sugerez acest lucru . Dar câţiva vorbitori nativi de altă limbă decât engleza m-au împins să declar că engleza este limba comunităţii hackerilor şi că trebuie să o şti pentru a te integra.
La inceputul anului 2006 am învăţat că mulţi hackeri care stiau engleza o foloseau în special în discuţiile tehnice; mi s-a spus că engleza are un vocabular tehnic mult mai bogat decât orice altă limba şi deci este un instrument mai bun pentru astfel de discuţii. Din motive similare traducerile cărţilor tehnice din engleză sunt deseori nesatisfăcătoare.
Linus Torvalds comentează tot codul pe care îl scrie în engleză ( aparent nici nu şi-a pus vreodată problema dacă ar trebui să facă altfel ). Engleza lui fluentă a fost un factor important în abilitatea sa de a recruta o comunitate globală de dezvoltatori Linux. Este un exemplu bun de urmat.
Fiind un vorbitor nativ de engleză nu garantează că ştii suficient de mult pentru a fi un hacker. Dacă scrisul este plin de dezacorduri şi de greşeli, mulţi hackeri vor avea tendinţa să te ignore. Deşi scrisul dezordonat nu înseamnă neapărat şi o gândire dezordonată am observat că există totuşi o corelaţie destul de puternică. Daca nu şti să scri bine, învaţă.
_______________________________________
|
|