해커 기술 독학
< /p>
어떻게 해커가 될 수 있습니까 < /p>
해커란 무엇입니까? < /p>
Jargon File 에서는' 해커' 라는 단어에 대해 많은 정의를 내렸으며, 대부분의 정의는 뛰어난 프로그래밍 기술, 강력한 문제 해결, 제한 극복 욕구를 다루고 있다. 해커가 되는 방법을 알고 싶다면, 좋습니다. 두 가지 측면만 중요합니다. (태도와 기술) < /p>
오랫동안 전문가 프로그래머와 인터넷 고수의 * * * 문화 공동체가 있었다. 그 역사는 수십 년 전 첫 시분할 * * * 의 소형 폼 팩터와 최초의 ARPAnet 실험 기간으로 거슬러 올라간다. 이 문화의 참가자들은' 해커' 라는 단어를 만들었다. 해커들이 인터넷을 만들었습니다. 해커들은 유닉스 운영체제를 오늘처럼 만들었다. 해커들은 Usenet 을 설치했습니다. 해커들은 WWW 를 정상적으로 작동시켰다. 만약 당신이 이 문화의 일부라면, 만약 당신이 이미 그것에 약간의 공헌을 했고, 그리고 원 안의 다른 사람들도 당신이 누구인지 알고 당신이 해커라고 부르는 것을 알고 있다면, 당신은 해커입니다. (존 F. 케네디, 공부명언) < /p>
해커 정신은 소프트웨어 해커 문화권에만 국한되지 않는다. 어떤 사람들은 전자와 음악과 같은 다른 것들도 해커로 취급합니다. 사실, 더 높은 수준의 과학과 예술에서 찾을 수 있습니다. 소프트웨어 해커들은 다른 분야에서도 이들을 식별하고 해커라고 부르는데, 어떤 사람들은 해커가 실제로 업무 분야와 무관하다고 주장합니다. 하지만 이 글에서는 소프트웨어 해커의 기술과 태도, 그리고' 해커' 라는 단어를 발명한 * * * 문화 전통에 초점을 맞추고 있습니다. < /p>
< P > 또 한 무리의 사람들이 해커라고 큰소리를 쳤지만 실제로는 그렇지 않았다. 그들은 컴퓨터와 전화 시스템을 의도적으로 파괴하는 사람들 (대부분 사춘기 소년) 이다. 진짜 해커들은 이 사람들을' 해커' 라고 부르며, 그들과 한패가 되는 것을 하찮게 여긴다. (윌리엄 셰익스피어, 해커, 해커, 해커, 해커) 대부분의 진정한 해커들은 해커들이 무책임한 게으른 사람들이라고 생각하는데, 아직 큰 능력은 없다. 다른 사람의 안전을 파괴하기 위한 행위만으로는 해커가 될 수 없다. 철사로 자동차를 열 수 있는 것처럼, 당신을 자동차 엔지니어로 만들 수는 없다. (존 F. 케네디, 안전명언) 불행히도, 많은 기자와 작가들은 종종' 해커' 를 해커로 착각한다. 이런 방법은 진정한 해커를 화나게 한다. < /p>
근본적인 차이점은 해커들이 건설하고 해커들이 파괴한다는 것이다. < /p>
해커가 되고 싶다면 계속 읽어 보세요. 해커가 되고 싶다면, alt.2600 뉴스그룹을 읽고, 자신이 생각하는 것만큼 똑똑하지 않다는 것을 알게 되면 5 ~ 10 번의 감옥에 가라. (알버트 아인슈타인, 공부명언) 해커에 대해서, 나는 단지 이렇게 많은 말을 하고 싶다. < /p>
-해커의 태도
해커들이 문제를 해결하고, 사물을 건설하고, 신앙의 자유와 양방향의 도움을 받고, 모두가 나를 위해, 나는 모든 사람이다. < /p>
해커로 간주되려면, 당신의 행동은 당신이 이미 이런 태도를 가지고 있음을 보여 주어야 합니다. 하고 싶은 것은 네가 이런 태도를 가지고 있는 것 같으니, 너는 어쩔 수 없이 정말 이런 태도를 갖추어야 한다. 하지만 해커의 태도를 키워 해커 문화에서 인정받고 싶다면 큰 오산이다. (윌리엄 셰익스피어, 햄릿, 해커, 해커, 해커, 해커, 해커, 해커) 이런 특성을 지닌 이런 사람이 되는 것은 너 자신에게 매우 중요하기 때문에, 네가 공부하는 데 도움이 되고, 너에게 끊임없는 활력을 제공하기 때문이다. 모든 창조적인 예술과 마찬가지로 마스터가 되는 가장 효과적인 방법은 마스터의 정신을 모방하는 것이다. 이성뿐만 아니라 감정적으로도 모방해야 한다. < /p>
so, 해커가 되고 싶다면 < /p>
1 세계가 해결해야 할 매력적인 문제
가 될 때까지 다음 사항을 반복하십시오.
해커가 되는 것은 재미있지만 많은 노력이 필요합니다 이러한 노력은 동력이 필요하다. 성공한 운동선수는 건장한 체격, 자기 한계에 도전하는 데서 동력을 얻는다. 마찬가지로 해커가 되려면 < /p>
< P > 문제 해결, 기술 연마, 지능 단련에서 기본적인 열망을 얻어야 한다. 만약 네가 아직 이런 사람이 아니고 또 해커가 되고 싶다면, 너는 이런 사람이 되려고 노력해야 한다. 그렇지 않으면 해커의 열정이 돈, 섹스, 사회적 허명과 같은 다른 유혹에 의해 무자비하게 삼켜진다는 것을 알게 될 것이다. (존 F. 케네디, 돈명언)
< /p>
(마찬가지로 자신의 학습 능력에 대해 자신감을 가져야 합니다. 당신이 어떤 문제에 대해 많이 알지 못하지만 조금씩 배우고 떠본다면, 결국 그것을 파악하고 해결할 수 있을 것입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 공부명언) ) < /p>
2. 한 가지 문제가 두 번 해결되어서는 안 된다 < /p>
똑똑한 뇌는 소중하고 제한된 자원이다. 세계가 아직 해결해야 할 다른 재미있는 문제들로 가득 찼을 때, 그들은 바퀴를 재발명하는 데 낭비되어서는 안 된다. (존 F. 케네디, 공부명언) 해커로서 다른 해커들의 사고 시간이 소중하다는 것을 믿어야 한다. 따라서 * * * 정보를 즐기고, 문제를 해결하고, 결과를 다른 해커에게 발표하는 것은 거의 도의이다. 이렇게 하면 다른 사람들이 낡은 문제를 반복적으로 처리하는 대신 새로운 문제를 해결할 수 있다. < /p>
(당신은 반드시 당신의 발명품을 공개해야 한다고 생각할 필요는 없지만, 그렇게 하는 해커는 가장 존경받는 사람입니다. 가족을 부양하기 위해 돈을 좀 팔고, 집을 사서 컴퓨터를 사고, 심지어 큰돈을 벌고 해커의 가치를 얻는 것도 호환됩니다. 당신이 해커라는 것을 잊지 않는 한 말입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 가족명언) ) < /p>
3. 지루하고 지루한 일은 죄악이다 < /p>
해커들은 결코 어리석은 반복 노동에 시달리지 말아야 한다. 이런 일이 발생할 때 그들이 할 수 있는 일을 하지 않고 새로운 문제를 해결하기 때문이다. 이런 낭비는 모든 사람에게 해를 끼친다. 그러므로 지루하고 무미건조한 일은 단지 불편할 뿐만 아니라, 큰 범죄이다. 해커처럼 되려면, 너는 이 점을 완전히 믿고, 가능한 한 지루한 일을 자동화해야 한다. 너 자신뿐만 아니라 다른 사람 (특히 다른 해커들) 을 위한 것이다. < /p>
(이에 대한 분명한 예외가 있습니다. 해커들은 때때로 반복적이고 무미건조한 일을 해서' 정신휴식' 을 하거나, 어떤 기교를 익히거나, 이를 제외하고는 얻을 수 없는 경험을 얻기도 한다. 그러나 이것은 그 자신의 선택이다. 머리가 있는 사람은 어쩔 수 없이 지루한 일을 해서는 안 된다. ) < /p>
4 자유는 좋다 < /p>
해커들은 타고난 반권위주의자다. 당신에게 명령을 내릴 수 있는 사람은 당신을 매료시키는 문제 해결을 중단하도록 강요할 것이며, 권위의 일반적인 사고방식에 따라, 그는 보통 매우 어리석은 이유를 제시한다. (존 F. 케네디, 공부명언) 그러므로 언제 어디서나, 어떤 권위도 그가 당신이나 다른 해커들을 억압하기만 하면 그와 끝까지 싸워야 합니다. < /p>
(어떤 권력도 불필요하다는 뜻은 아니다. 어린이는 간호가 필요하고 범죄자도 감시해야 한다. 명령에 복종하여 무언가를 얻는 것이 다른 방법으로 얻는 것보다 시간을 절약하면 해커는 어떤 형태의 권위를 받아들이는 것에 동의할 것이다. 하지만 이것은 제한적이고 특별한 거래입니다. 권력이 원하는 그런 개인의 복종은 네가 주는 것이 아니라 무조건적인 복종이다. ) < /p>
권력은 심사와 기밀성을 좋아한다. 그들은 자발적인 협력과 정보 * * * 를 신뢰하지 않는다. 그들은 그들이 통제하는 협력만 좋아한다. 따라서 해커처럼 행동하려면 검열과 비밀 유지, 무력이나 사기를 사용하여 사람들을 억압하는 방법에 대해 본능적인 반감과 적개심을 가져야 합니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 전쟁명언) < /p>
5. 태도가 능력을 대체할 수 없다 < /p>
해커가 되려면 이런 태도를 키워야 한다. 하지만 이런 태도만으로는 당신을 해커로 만들 수 없습니다. 마치 운동선수와 록스타가 될 수 없는 것처럼 말입니다. (존 F. 케네디, 스포츠명언) 해커가 되려면 지능, 실천, 헌신, 노력이 필요하다. < /p>
따라서 태도를 믿지 않고 다양한 능력을 존중하는 법을 배워야 합니다. 해커들은 일부러 허세를 부리는 사람들을 위해 시간을 낭비하지 않지만, 능력, 특히 해커가 될 수 있는 능력을 매우 존중하지만, 어떤 능력도 항상 좋다. 소수의 사람이 습득할 수 있는 기술 방면의 능력을 갖추는 것이 특히 좋으며, 정신, 기교, 집중력과 관련된 능력을 갖추는 것이 가장 좋다. < /p>
만약 당신이 능력을 존중한다면, 당신은 자신의 능력을 높이는 즐거움을 누리게 될 것입니다. 힘든 일과 헌신은 비천한 것이 아니라 고도의 오락이 될 것입니다. 해커가 되려면, 이것은 매우 중요하다. < /p>
기본 해커 기술 < /p>
해커 태도는 중요하지만 기술은 더 중요합니다. 태도는 기술을 대체할 수 없다. 다른 해커에게 해커라고 불리기 전에 반드시 파악해야 할 기본적인 기술이 있다. (존 F. 케네디, 공부명언)
이 기본 기술은 신기술의 출현과 낡은 기술의 시대에 따라 시간이 지남에 따라 서서히 변화하고 있다. 예를 들어, 과거에는 기계 코드 프로그래밍을 사용했지만 최근에는 HTML 언어가 포함되어 있다는 것을 알고 있었습니다. 하지만 지금은 분명히 다음과 같은 기술이 포함되어 있습니다. < /p>
1 프로그래밍 방법 배우기 < /p>
이것은 물론 가장 기본적인 해커 기술입니다. 만약 네가 아직 어떤 컴퓨터 언어도 할 수 없다면, 나는 네가 Python 부터 시작하는 것을 추천한다. 디자인이 명확하고 문서가 완비되어 초보자에게 적합하다. 비록 아주 좋은 초급 언어이지만, 그것은 단지 장난감이 아니다. 매우 강력하고 유연하며 대규모 프로젝트에 적합합니다. < /p>
하지만 한 가지 언어만 있다면 해커가 요구하는 기술 수준도, 일반 프로그래머 수준도 달성할 수 없다는 것을 기억하십시오. 어떤 언어와도 상관없이 일반적인 방법으로 프로그래밍 문제를 생각하는 법을 배워야 합니다. 진정한 해커가 되려면, 며칠 안에 수첩을 통해 현재 알고 있는 것과 결합하여 새로운 언어를 빠르게 익힐 수 있는 방법을 배워야 한다. (존 F. 케네디, 언어명언) 이것은 네가 몇 가지 다른 언어를 배워야 한다는 것을 의미한다. < /p>
중요한 프로그래밍을 하려면 유닉스의 핵심 언어인 C 언어를 배워야 합니다. 해커에게 더 중요한 다른 언어로는 Perl 과 LISP 가 있다. 펄은 매우 실용적이며 배울 가치가 있습니다. 활동 웹 페이지와 시스템 관리에 널리 사용되기 때문에 Perl 을 사용하지 않아도 적어도 읽을 수 있어야 합니다. LISP 는 배울 만한 가치가 있습니다. 왜냐하면 결국 그것을 장악하면 풍부한 경험을 얻을 수 있기 때문입니다. 이러한 경험은 실제로 LISP 자체를 거의 사용하지 않을지라도 앞으로 더 나은 프로그래머가 될 수 있게 해준다. (알버트 아인슈타인, 경험명언) < /p>
물론, 사실 네 가지 도시를 더 잘 할 수 있습니다. (파이썬, C, Perl, and LISP). 가장 중요한 네 가지 기본 언어일 뿐만 아니라 네 가지 매우 다른 프로그래밍 방법을 대표합니다. 각 방법은 당신에게 큰 도움이 될 것입니다. < /p>
여기서 프로그래밍 방법을 완전히 가르쳐 줄 수는 없습니다. 복잡한 일입니다. 하지만 책과 수업도 할 수 없다고 말씀드릴 수 있습니다. 거의 모든 최고의 해커들은 스스로 학습한 것이다. 정말로 작용할 수 있는 것은 직접 코드를 읽고 코드를 쓰는 것이다. < /p>
프로그래밍 방법을 배우는 것은 자연어로 쓰는 법을 배우는 것과 같습니다. 가장 좋은 방법은 대사들의 명작을 읽고, 스스로 글을 쓰고, 다시 읽고, 다시 쓰고, 다시 읽고, 다시 쓰는 것이다. 이렇게 왕복하여, 네가 범문에서 본 간결함과 힘에 도달할 때까지. < /p>
과거에는 좋은 코드를 찾아 읽기가 어려웠다. 대형 프로그램에 사용할 수 있는 소스 코드가 거의 없어 초보자가 연습할 수 있기 때문이다. 이 상황은 크게 개선되었습니다. 현재 사용 가능한 오픈 소스 소프트웨어, 프로그래밍 도구 및 운영 체제 (모두 해커가 작성) 가 많이 있습니다. 이것은 자연스럽게 두 번째 주제로 이어집니다 ... < /p>
< P > 2 오픈 소스 유닉스를 얻고 그것을 사용하고 실행하는 법을 배웁니다
< P > 이미 개인용 컴퓨터를 가지고 있거나 사용할 수 있다고 가정합니다 (오늘의 아이들은 정말 행복합니다:-). 초보자들의 가장 기본적인 단계는 Linux 나 BSD-Unix 를 받아서 개인용 컴퓨터에 설치하고 실행하는 것이다. < /p>물론 이 세상에는 유닉스 외에 다른 운영체제가 있습니다. 하지만 그것들은 모두 바이너리 형태로 보내집니다. 그 소스를 읽을 수 없고, 수정할 수도 없습니다. DOS 나 Windows 의 기계에서 해커 기술을 배우려고 노력하는 것은 마치 다리에 쇠덩이를 묶어 춤을 배우는 것과 같다. < /p>
또한 Unix 는 인터넷 운영 체제입니다. 유닉스를 모르면서 인터넷을 사용하는 법을 배울 수 있지만, 그것을 모르면 인터넷 해커가 될 수 없다. (존 F. 케네디, 인터넷명언) 이런 이유로 오늘날의 해커 문화는 대부분 유닉스를 중심으로 하고 있다. (이것은 항상 사실이 아니다. 일부 초기 해커들은 이에 대해 매우 불쾌했지만, 유닉스와 인터넷 사이의 * * * 관계는 이미 너무 강해서 마이크로소프트조차도 어쩔 수 없다.) < /p>
So, 유닉스 한 척-나
(같은 기계에서 동시에 DOS, Windows, Linux 를 실행할 수도 있습니다.) 그것을 배울 수 있습니다. 실행 합니다. 그것을 이용하여 인터넷과 대화를 나누다. 코드를 읽습니다. 그를 고치려고 노력하다. Microsoft 운영 체제보다 더 좋은 프로그래밍 도구 (C, Lisp, Python, and Perl 포함) 를 얻을 수 있으며, 재미를 얻고 생각보다 더 많은 것을 배울 수 있습니다. < /p>
Unix 학습에 대한 자세한 내용은 The Loginataka.
Linux 를 보려면 Linux 를 어디에서 얻을 수 있습니까?
를 참조하십시오 웹은 큰 예외입니다. 정치인조차도 이 거대하고 눈부신 해커 장난감이 전 세계를 변화시키고 있다는 데 동의한다. 이런 이유만으로는 웹을 익히는 법을 배워야 합니다. < /p>
이것은 단순히 브라우저 사용 방법 (누구나 할 수 있음) 을 의미하는 것이 아니라 HTML, 웹의 태그 언어를 쓰는 법을 배워야 한다. 프로그래밍할 수 없다면, HTML 을 쓰면 공부에 도움이 되는 사고방식을 가르쳐 줄 것이다. (존 F. 케네디, 공부명언) 그래서 먼저 자신의 홈페이지를 짓는다. < /p>
하지만 홈페이지만 만들어도 해커가 될 수는 없다. 웹은 각종 홈페이지로 가득 차 있다. 대부분 무의미하고 정보량이 0 인 쓰레기입니다. < /p>
가치를 가지려면 웹 페이지에 콘텐츠가 있어야 합니다. 재미있거나 다른 해커에게 유용해야 합니다. 이렇게 우리는 다음 주제로 ... < /p>
< P > 해커 문화의 지위 대성당과 장터 "로 많은 리눅스와 오픈 소스 문화의 작동 원리를 설명했다. 나는 또한 속편인' 대성당과 장터' 에서 많은 리눅스와 오픈 소스 문화의 작동 원리를 설명했다. 나는 또한 속편' 지역 개척' 이라는 글에서 더 직접적인 논술을 하고 있다. < /p>
FAQ < /p>
q: 해커 만드는 법을 가르쳐 주시겠습니까? < /p>
이 페이지를 처음 발표한 이후 매주 "해커가 되는 법을 가르쳐 달라" 는 요청을 받았습니다. 유감스럽게도, 나는 이것을 할 충분한 시간과 정력이 없다. 내 자신의 프로그래밍 프로젝트는 이미 나의 110 시간을 빼앗았다. < /p>
내가 너에게 가르치고 싶어도 불가능하다. 해커는 기본적으로 네가 스스로 수련해야 하는 태도와 기술이다. 진정한 해커가 당신을 돕고 싶어도 오리를 채워달라고 빌면 존경을 받지 못한다는 것을 알게 될 것이다. (존 F. 케네디, 공부명언) < /p>
먼저 공부하러 갑니다. 당신이 시도하고 있음을 보여줍니다, 당신은 스스로 배울 수 있습니다. 그런 다음 해커들에게 질문하십시오. < /p>
q: 사이트를 "블랙" 하는 것을 도와 주시겠습니까? 아니면 그것을 검게하는 법을 가르쳐 주시겠습니까?
아니요. FAQ 를 읽고 이 질문을 하는 사람은 모두 어리석은 놈이다. 시간이 있어도 나는 거들떠보지도 않는다. 나에게 보낸 이런 메일은 무시당하거나 통렬할 것이다. < /p>
q: 진정한 의사소통을 할 수 있는 해커는 어디에서 찾을 수 있습니까? < /p>
가장 좋은 방법은 가까운 유닉스 또는 리눅스 사용자 그룹에 참가하여 회의에 참석하는 것입니다. < /p>
q: 어떤 언어를 먼저 배워야 합니까? < /p>
HTML, 아직 그렇지 않다면 .. < /p>
하지만 실제 프로그래밍 언어는 아닙니다. 네가 프로그래밍을 준비할 때, 나는 네가 Python 부터 시작하는 것을 추천한다. 많은 사람들이 너에게 Perl 을 추천할 것이다. 그것은 Python 보다 더 인기가 있지만, 좀 배우기가 어렵다. < /p>
C 는 매우 중요하지만 배우기가 가장 어렵습니다. 처음부터 c 를 배우려고 하지 마라. < /p>
q: 오픈 소스 프리랜서 소프트웨어가 프로그래머를 굶기지 않을까요? < /p>
그럴 가능성은 거의 없는 것 같습니다. 지금까지 오픈 소스 소프트웨어 산업은 대량의 일자리를 없애기보다는 창조되었습니다.
< /p>
프로그램을 쓰는 것이 프로그램을 쓰지 않는 것보다 순전히 경제적 이익이라면, 무료든 아니든, 그것이 완성되면 프로그래머는 그로부터 보상을 받을 것이다. 더욱이, 소프트웨어가 얼마나 free 의 방법으로 개발되었든 간에, 업데이트된 소프트웨어 응용 프로그램에 대한 수요는 항상 있을 것이다. < /p >