-

app의 이미지

-

jeongheumjo의 이미지

커널 스터디 오프라인 모임인데 1년에 한번 정도 회원 모집을 합니다.
고등학생이 참여하는 것은 봤는데 중학생이라면 최연소가 되지 않을까.. 싶고요..
대단하십니다. 원서로 C 언어를 공부한다니..

app의 이미지

커널에 관해 아무것도 모르는 사람도되나요? C를 아주조금밖에 모르고 리눅스 서버랑 시스템좀 만져본것뿐인데 ..

-

jeongheumjo의 이미지

본인이 공부할 준비와 여건이 되느냐가 문제일 겁니다.
본인만 준비됐다면 아무도 뭐라하지 않죠.
어릴 때 부터 이런 세계에 관심갖는 것은 나쁘지 않으니 열심히 파고들어 보세요..
아랫 글들 처럼 아직 이해가 안되더라도 점점 이해를 할 수 있게 될테니까요..
그리고 길게 보고 즐기면서 공부해요.. 중학생이 뭐가 급하겠어요.
놀이삼아 공부하면 좋을 것 같은데요..

RedPain의 이미지

만지는 거야 문법책 하나 본 뒤에도 만질 수 있죠. 만지작 만지작... (먼산)

http://99-bottles-of-beer.net/language-c-820.html?PHPSESSID=e69310bda406bb829da39e453298ddcf

이런 식으로 그냥 만지작 만지작...

그런데 5000줄짜리 프로그램 만들어 보고 보면 다르게 보입니다.

20000줄짜리 프로그램 만들고 보면 또 다르죠.

그런데 OS책 하나 보고 보면 다르게 보입니다.

직접 부트로더 만들고 직접 디바이스 드라이버 만들고 보면 또 다르게 보이고요.

언제든지 만질 수는 있지만 아는 만큼 보이는 법이죠.

pinebud의 이미지

아예 리눅스 커널로 C언어를 배우는 것도 괜찮습니다. 좋은 예제니까요. 하지만 중학생이시라면 당장은 수학, 물리, 영어를 배워두는게 더 좋을지도 모릅니다. ^^

A rose is a rose is a rose..

app의 이미지

영어는 열심히하고있는데 수학은어렵네요..

-

snowall의 이미지

수학, 물리, 영어를 우선으로 하기를 추천해요 ㅎㅎ
연애도 강추.

그 다음에 커널을 C언어로 공부하세요

피할 수 있을때 즐겨라! http://melotopia.net/b

app의 이미지

연애가제일괜찮지만.. 우선 공부부터..

-

snowall의 이미지

http://kldp.org/node/122929

위 글을 읽고 깊이 생각해 보세요.

피할 수 있을때 즐겨라! http://melotopia.net/b

Stand Alone Complex의 이미지

사람을 공부하는 것을 추천합니다.
사람과 더 많이 어울리고, 대화를 많이 나누세요.
프로그램은 사람이 만듭니다.

RET ;My life :P

익명 사용자의 이미지

정보 보안 쪽으로 가시려면... CISA, CISSP 자격증 기출문제 구해서...
어떠한 것을 알아야 하는지 파악하는 것도 도움이 될 겁니다.

amorette의 이미지

이유는 그냥 호기심이었습니다. 몇 년 전 얘기입니다.
한번은 커널 스터디에 들려고 했는데, 어리다는 이유로 들어가지 못하게 됐습니다.
그냥 귀찮아질까봐 그런게 아닐까 싶기도 하고요.
여튼 이게 제 일평생 가장 어이없는 사건 중 하나에 속합니다. 그래서 그냥
"아놔 안해"라고 생각하고 그냥 다른거 팔 것 찾았죠. 결국 올해 되서야 커널 스터디에 들었습니다.

학생이면 당연히 기본적인 학교 공부를 하는건데, 꼭 이런 얘기 나오면 노파심 가득한
학교 공부 얘기로 새는 경우가 많습니다. app님이 잘 받아들여주세요.

전기문이나 영화보면 성공하는 사람들은 하고 싶은건 합니다.
공부나 하라는 말은 적당히 넘어가주고 하고 싶은거는 일단 해봅시다.

그걸 떠나서 남들이 시키지 않아도 일단 궁금하면 커널 소스라도 받아보고,
일단 살짝 건들여보는데 5분도 걸리지 않습니다.

일단은 부담갖지 마시고 http://kernel.org/ 들어가셔서 최신 소스 받아서 대충 훑어보세요.
Documents/ 폴더에 문서도 많고요. 대충 훑어보는 것만으로도 꽤 재밌습니다.
폴더 구조를 보면 뭔가 감이 올 것 같기도 합니다. 아리송하죠.

C언어 실력은 문제될거 없구요. 커널 보시면서 막히시는데로 병행하시면 됩니다.
시작하자마자 막혔다면 막힌 원인을 알아보고 조사하고 배우면서 하면 됩니다.
C언어에서 막혔다면 일단 다시 C언어도 배워가면 되는겁니다.
올바른 방향으로 가고 있는지 주변에서 조언도 들어가면서 진행합니다.
그러면서 자신에게 맞는 접근 방법을 찾아보세요.

http://iamroot.org/ 에서 진행하는 (들리는 바에 의하면 꽤 전통있는) 커널스터디가 있습니다.
최근에 신청이 마감되었다는게 아쉽네요. 여기서는 "리눅스 커널 내부구조 - 교학사"라는 책을 일단
완독하고, 읽으면서 중간에 나오는 부분은 다같이 조사하거나 소스를 훑어보기도 하는 식으로 진행하고 있습니다.
이런 방식으로 시작하는게 꽤 좋은 것 같습니다. 일단 저 책이 시작할 때 보기가 좋습니다.

뭐... 커널이라고 어려울거 없고 일단 저 책 하나 사서 쉬엄쉬엄 침대에 누워 읽는 것으로
시작해도 나쁘지 않습니다. 저는 그런식으로 했습니다.

저는 위 책을 완독하는 과정에서
추천받은 책, "Linux Kernel Development 3/e - Addison Wesley"도 같이 봤는데요.
이게 2010년 말(?)에 내용이 갱신된 것이고 거의 교과서 같은 책이라 정말 좋습니다. 정리도 깔끔합니다.

아마 조건이라면 C언어 수준보다는... 그냥 애정이나 열정이 가득할수록 쉽다고 생각합니다.
그런거야 알아가는거니까요.

app의 이미지

다른분들도 물론 답잘해주셨지만

제가원하는 답은 아니어서 아쉬웠는데

너무 학업에만 편파적이지않고 길을 찾을수있게 조언해주셔서감사하네요^^

올려주신 링크 들어가보겠습니다~

-

amorette의 이미지

제가 지금까지의 제 주장에 역설을 하고 있는 것이기는 하지만,
사실 제 답보다는 바로 밑의 sudous님의 댓글과 다른분들의 댓글도 중요하다는 사실은 여전히 주의해주셨으면 합니다.

제가 대충 질문에 대한 길을 제시해드리긴 했어도 소중한 중학교 시절 중 *많은* 시간을 C언어나 커널을 고민하는데 소비하는 것은 많이 아까울 *수도* 있거든요.

약간의 과장을 보태면,
일반적으로는 지금부터 죽어라 C언어나 커널*만* 파시는 것보다,
현재 학업에 열중하시고 미래에 그때동안 쌓아온 배경지식으로 잠깐 훑어보는게 더 빠를지도 모릅니다.

위 글에서 제가
"시작하자마자 막혔다면 막힌 원인을 알아보고 조사하고 배우면서 하면 됩니다.
C언어에서 막혔다면 일단 다시 C언어도 배워가면 되는겁니다.
올바른 방향으로 가고 있는지 주변에서 조언도 들어가면서 진행합니다."
라고 하였는데, 이 말은 app님이 C언어 외에도 영어나 수학, 또는 그것을 뛰어넘어 이해력이나 다양한 배경지식이 필요할 수도 있음을 말하는 것입니다.

어짜피 짬시간까지 잘 투자해서 학업부터 스포츠, 기타 동아리 활동까지 잘하는 사람도 드문 케이스고,
결국에는 공부 외 좋아하는 것도 만져보는게 유익하다고도 할 수 있고,
앞으로 하지 않게 되더라도 빨리 시작하고 빨리 포기하는게 나을 때도 있습니다.
아니면 정말 궁금하니까 대충 책으로 이론만 독서 겸 볼지도 모릅니다.
그 외에도 사람에 따라 궁금해 미칠 것 같아서 공부가 안 될 수도 있고, 경우는 많다고 생각하기 때문에 질문에 대한 답을 드린 것이지, app님의 질문에 학업에 대한 답을 한 것이 제가 한 대답보다 도움이 되지 않다는 것이 아닙니다. 그러니 sudous님 및 다른분들의 말씀에는 여전히 주의깊에 받아들여주셨으면 합니다.

제가 이렇게 썼다가 괜히 아래처럼 sudous님께 혼났겠습니까.

그래도 학업보다 더 중요한 건, 꿈 없이 입시만 바라보는 것이라고 생각하기 때문에,
여전히 하고 싶으신건 하시길 바랍니다. :)

penance의 이미지

이 친구 답답하네. 전에도 뻘소리 하더니.

보통 학생이라면 알 수 없는 kldp에 와서 그것도 중학생이 컴퓨터 물어보는데, 어떻게 학생이라면 당연히 기본적인 학교공부는 한다고 생각하지? 학교공부 소홀히 한다고 생각하는데 당연하지. 이 토픽 나오면 지금까지 kldp의 대다수의 의견은 학교공부 열심히 하라이고 그게 맞는건데, 선무당이 사람잡네.

매일 놀고 먹으면서도 전교1등 놓치지 않을 실력이라면 컴퓨터 해도 되지. 과학고 애들 전국단위 경시대회 나가서 상도 타고 그런다던데. nc소프트 사장같이 자질 있으면 하라고 추천할 수 있어. 그런데 그게 아니면? 컴퓨터 때문에 공부할 시간 뺏기고 성적 떨어지는건 당연한거 아닌가? 중학생에게는 그게 더 큰 문제 아닌가?

위에 분들이 좋은 말로 타이르는데, 성공한 사람은 하고 싶은 거 하니 마니 소리하고 있고.

amorette의 이미지

아, 최근에 "이곳에 오는 초중고 학생을 보면서"(http://kldp.org/node/123128)라는 글을 쓰신 분이군요.
위 링크 게시물에서도 이미 sudous님과는 다른 의견을 가진 다양한 사람들의 답변을 보셨을 겁니다.

그래서 sudous님께서 해당 쓰레에서 말씀하신바,
"몇몇 분들에게는 고깝게 들릴지 모르겠지만 도움이 될 사람이 한 명이라도 있을 것입니다."

라고 대화 흐름을 잘 절충하셨을 때에는 참 좋았는데,
이제와서 다시 여기 제 댓글에 무리한 주장을 펼치시는 것 같군요.
말투를 보아하니 제가 sudous님보다 확실히 어려보여서 그리 말씀하시는게 아닌가 싶습니다만.

얼마나 될 지는 모르겠지만 여기 공부도 열심히 하면서 kldp오는 사람도 꽤 있을 겁니다.
그런 분들에게 꽤 실례가 되는 말씀이군요.

여튼 요새 kldp에는 동문서답의 댓글이 많습니다.
적어도 질문한 바에는 대답을 하고 타이르든 뭐든 해야하지 않겠습니까.
나중에 이런 글들이 쌓이고 쌓이면, 불특정 다수가 구글에 적당한 키워드를 입력하여
kldp 사이트의 페이지를 발견했는데 열어보니 그 사람에게는 도움이 안되는 말만 주저리주저리 쌓여있는걸 생각하면 속이 울렁거립니다. 이 웹사이트의 근본이 documentation project가 아니었습니까.

저도 sudous님 말씀에는 사실 진심으로 동의합니다만. 저도 sudous님과 마찬가지로
"몇몇 분들에게는 고깝게 들릴지 모르겠지만 도움이 될 사람이 한 명이라도 있을 것입니다."

라고 생각을 가지고 이런 답변을 적었던 것입니다. 즉, 저도
도움이 될 사람을 위해 학교공부 얘기가 아닌 진짜 질문에 대한 답변을 한 것입니다.

뻘소리 읽어주셔서 감사합니다 :)

penance의 이미지

똑같이 반박하는 글을 써도 기분 좋은게 있고 기분 나쁜게 있는데, 네 글은 기분 나쁘더라구.
초딩때부터 영어뉴스 받아쓰기 했다는데, 그래서 뭐?
말 뿐인 말이라고? 말 그렇게 밖에 못해?
난 할 말 있어도 엔간하면 넘어가.
서로 얼굴도 잘 모르는데 말싸움해서 뭐가 남아? 안그래? 그래서 그렇게 넘어간거야.

근데 며칠도 안되서 이 학생의 고민상담에 쓴 글 보니까 접때의 짜증이 도지더군.
글 읽으면 잘난채 한다는 느낌밖에 안들어.
무책임한 대답보다 차라리 동문서답이 나아.

논리적으로 보이려고 노력하는데 그럴필요 없어. 이건 논리문제가 아니거든.

질문자가 그쪽 대답에 만족했다고 하니까 거기에 할말은 없네.

amorette의 이미지

기분이 많이 나쁘셨나보군요.
이웃집 아저씨 같이 하나하나 짚어주셔서 감사합니다 :)

penance의 이미지

내가 괜한 소리를 했습니다.
자격도 없는 사람이 꼰대같은 소리나 하고 있으니.
부모한테 들어도 싫은 소리를 인터넷으로 보니 얼마나 짜증납니까.
내가 애초에 그런 글을 쓴게 잘못입니다.

keedi의 이미지

Quote:

매일 놀고 먹으면서도 전교1등 놓치지 않을 실력이라면 컴퓨터 해도 되지. 과학고 애들 전국단위 경시대회 나가서 상도 타고 그런다던데. nc소프트 사장같이 자질 있으면 하라고 추천할 수 있어. 그런데 그게 아니면? 컴퓨터 때문에 공부할 시간 뺏기고 성적 떨어지는건 당연한거 아닌가? 중학생에게는 그게 더 큰 문제 아닌가?

매일 놀고 먹진 않았고 전교 1등을 하지는 않았고, 전국단위 경시대회 나가서 상을 타지도 않았고 nc소프트 사장같은 자질(근데 이게 무슨 자질인가요? 개발 자질인가요? 아니면 경영 자질인가요?)은 없었지만, 학창시절 컴퓨터 마음껏 사용했으며, 그닥 문제는 없었는데요?

아 물론, 천재도 아닙니다. :-)

지금은 컴퓨터로 밥벌어먹고 살고 있고 앞으로도 한 50년은 더 이걸로 밥 벌어먹고 살려고 하고 있습니다. 더불어 성적 좀 떨어진다고 인생살이에 하등 지장 없습니다. 공부도 안하면서 정말 하고 싶은 것도 못찾으면 그게 문제인거지...

초중고등학교의 수업은 상식입니다. 상식을 배우고 익히는 것은 중요하지만, 그것에 대해 매기는 성적이 얼마나 중요하며 또 그것이 떨어졌다고 인생이 얼마나 바닥을 기게될지는... 글쎄요. 여전히 의문이군요.

----
use perl;

Keedi Kim

penance의 이미지

적성도 중요하고 성적이 다가 아닙니다. 컴퓨터에 시간을 쏟는만큼 학교공부를 소홀하게 되기 때문에 균형을 모색해야 합니다. 그런데 대부분 지나치게 시간을 쓰게 되지요. 학창시절에 컴퓨터 열심히 안했다고 후회하는 사람은 없어도 학교공부 열심히 안했다고 후회하는 사람은 많지 않습니까?

요즘 영재학교 같은데서 대학교수가 직접 지도해 준다고 하는데 그런 식이라면 배워도 좋습니다. 제대로 가르쳐 줄 것이고, 또 그 학생의 전반적인 상태를 고려해 더 넓은 관점에서 지도를 해줄 수 있겠지요. 그런데 그게 아니라 혼자 탐닉한다면 얻는 것도 있지만 의미없는 곳에 시간을 낭비합니다. 열정을 생산적인 방향으로 이끌어줄 스승이 필요한데 구하기가 어렵지요.

개인적으로 컴퓨터를 배울 때 좋은 스승이 없었고 그래서 엉뚱한 방향으로 탐닉해 시간을 낭비해서 아쉽습니다.

jachin의 이미지

리눅스 커널을 훑어보는 것은 어려운 일이 아니리라 생각합니다.
대상 장치(Target Device)의 구조와 특성을 알고 있다면,
충분히 알 수 있으리라 예상합니다.

학업에 충실하라고 말해도
아직은 자신이 해야 할 공부가 왜 중요한지 모르는 경우가 많으니,
빨리 벽과 만나서 자신이 놓치고 있던 공부에서 무엇이 필요한지
되돌아가길 바랍니다.

일단 CPU 와 시스템에 대한 구조에 대해 알고 있어야 합니다.
Intel 64 and IA-32 Architectures Software Developer's GuideAMD 64 Architecture Programmer's Manual을 보고
CPU의 정보에 대해 알아보는 것도 좋습니다. 자신이 사용하는 CPU에 대해 알아보고,
그에 맞는 소스코드를 찾아본다면 CPU 구조에 대한 이해와 동시에
커널에서 CPU 특성마다 지정한 소스코드를 이해할 수 있을겁니다.
그리고 최신의 PCI Express BUS 구조를 이해하면 연결된 장치들이 어떻게 통신을 하고, 구성되어 있는지 알 수 있을겁니다. PCI Express System Architecture 책을 보고 각 장치가 어떻게 통신하는지 알아두길 바랍니다.
리눅스는 오래된 컴퓨터의 시스템도 지원하기 때문에,
중간중간 나오는 장치에 대해서 구글에서 검색해보면,
충분한 정보를 얻을 수 있을겁니다.

그리고 보안쪽을 염두하고 있다면 TCP/IP 와 같이 통신 부분에 대한 내용도 숙지해야 합니다.
이 부분은 책들이 많이 있으니, 검색해보면 스티븐스의 TCP/IP 책이 나올겁니다.
영어로 본다면 문제 없을겁니다.

하지만, 지금 그 시기에 제일 먼저 숙지해두어야
나중에 고생하지 않을 학문은 '수학'입니다.
학교에서만 배우고 안쓰는 죽은 수학만 공부하지 마시고,
통계와 기하(중학교 수준에서) 그리고 수열을 잘 공부하시길 바랍니다.
또한 '과학'에 대한 이해도 꼭 하셔야 합니다. 물리는 물론,
화학과 생물학에 대한 이해도 충분히 갖추고 있어야
나중에 컴퓨터를 공부해도 도구로서의 컴퓨터를 잘 활용할 수 있을겁니다.

진지하게 공부를 하겠다면, 주눅들지 말고, 지금의 공부가
나중을 위해 필요한 것임을 알아줬으면 좋겠습니다.

ydhoney의 이미지

학생.

음..컴퓨터란건 말이죠.

뭔가 다른 할 일이 있는데 그 일을 하는데 컴퓨터를 사용할 때 빛을 발하는거랍니다.

그러니까 일단 공부를 열심히 하면서 "뭔가 다른 할 일" 을 찾아보는게 좋을 것 같아요.

그 "뭔가 다른 할 일" 이 없이 그냥 "컴퓨터" 만 디립다 파고 그러잖아요?

그럼 여기 있는 아저씨들처럼 돼요.

=3=33

snowall의 이미지

명언이군요.

피할 수 있을때 즐겨라! http://melotopia.net/b

jachin의 이미지

얏옹도 그런거임?

ydhoney의 이미지

그랬더니 여기서 이러고 있잖음..(...)

snowall의 이미지

진심으로 보안쪽을 노리고 있다면, 사람에 대해 공부하는것이 가장 중요합니다. 기술적으로 각종 장치를 써서 해킹을 막을 수 있어도, 사람이 직접 정보를 빼 가거나 파괴하는 경우(이번 농협 사태??) 모든 기술이 무의미하거든요. 어쩌면 요즘 세상에서 제대로 된 정보보안 전문가가 되고 싶으면 철학, 심리학 위주로 공부하고 IT기술"도" 공부하는게 적절할수도 있죠.

KLDP의 선배들이 "학교 공부를 열심히 하세요"라고 조언하는게 괜히 하는게 아닙니다. 리눅스 커널을 지금 공부하지 말라는 뜻이 아니라, 학교 공부를 우선하고 컴퓨터 공부는 그 다음으로 하는게 좋습니다.

커널 공부하려면 C언어만 알아서 되는게 아니라 컴퓨터 하드웨어의 작동 원리, 어셈블러, 어셈블리언어 등등 부수적으로 공부해야 할게 꽤 많죠. 그런데 이거 공부하려면 최소한 고등학교 수학 정도의 사고를 할 수 있어야 하거든요. 그럼 그렇다고 고등학교 수학을 선행하는것이 좋은가? 하면 중학교 수학을 모르고서 고등학교 수학을 이해하기는 불가능하죠...

음...C언어를 어느 정도 알아야 하는지 궁금하다면, http://www.kernel.org/ 에 가서 커널 소스 받아서 열어보면 됩니다.

근데, 정보보안 전문가랑 커널을 잘 아는 거랑 직접적인 연관은 없을지도 몰라요. 커널이나 드라이버를 직접 개발할게 아니라면 말이죠...

피할 수 있을때 즐겨라! http://melotopia.net/b

hexagon의 이미지

ydhoney님 말에 완전 동감... 저도 학교공부 거의 안하고 프로그래밍도 열심히는 아니고 깨작깨작해서 아직 기초책도 한권 땐거 없지만...

자기전공 외의 것은 필요한데 제대로 써먹을줄만 알아도 보람되고 재밌고 그렇더라구요.. 특히 프로그래밍잘 모르고 교양 한과목 듣고 만 애들이 볼때는 우와~ 하죠..ㅎㅎ 왠지 좀 뻐겨도 될거 같은 느낌...물론 길어봐야 한 몇백줄밖에 안돼는 코드지만, 그거 모르면 몇날 며칠은 단순반복 노가다의 크리가-_-

그런면에서 현업에 종사하시는 분들 보면 조금 안돼보이는게.... 자기가 써먹을 프로그램보다는 남에꺼 만들어줘야 밥벌이가된다는 사실이 엄청 힘들거 같아요...그래서 항상 노고에 감사하는 마음입니다.

madhatter의 이미지

알고 있습니다만, 중학교 때부터 학교 공부보다 매일 컴퓨터 책을 끼고 살았던 친구입니다.

그 당시는 주로 쓰이던 언어가 C보다는 COBOL이 대세였죠. 그래서 그 친구도 주로 COBOL 공부를 하더군요.
물론 C도 조금씩 공부를 하는 듯 했고, 다른 친구들은 봐도 알 수 없는 책을 너덜너덜해질 때까지 읽고 있었습니다.

나중엔 서울 소재 모 학교에 갔고 모 전자 대기업에 들어갔다고 들었습니다. 아마도 대학 때 전공을 어셈이나 임베디드 쪽으로 잡은 듯 싶더군요.

제가 하고 싶은 말은.. 공부는 뭐든 나쁠 것 없습니다. 커널을 공부하던 C를 공부하던 나쁠 것 전혀 없죠. 그런데... 자신이 공부한 것으로 뜻을 펼치려면 적어도 이 나라에서는 어느 정도 학력이 받쳐줘야 하거든요. 물론 아주 심하게 뛰어난 수준이라면 그런 게 필요없을 수도 있습니다. 그런데 그게 쉽지 않죠.

사실 학교 공부가 제일 쉽답니다. 레퍼런스도 많고, 잘 할 수 있는 방법도 대부분 공개되어 있죠.

lain07의 이미지

전 커널 소스는 쳐다보기도 싫던데..


___________________________
I like Small Linux.

keedi의 이미지

사족이지만, 번역을 했을때 이해가 더 쉽고 번역된 것을 보면 더 이해가 어렵다면 국어 공부를 조금 더 열심히 하는 것이 좋을 듯 합니다. 국어 공부에는 다독(독서를 많이 하는것)과 글쓰기보다 좋은 방법은 없다고 생각합니다. 물론 소설책류의 다독이 아니라 청소년 권장도서 100권, 대학생 권장도서 100권 이런 류를 말하는 것은 당연한 이야기구요. 물론 국어 교과서는 정말 훌륭한 교재이니 당연히 읽어야하겠지요.

----
use perl;

Keedi Kim

sixt06의 이미지

소프트웨어 말고도 하드웨어 쪽도 재미있는 분야가 많습니다.
저도 어려서 부터 컴퓨터에 마음을 홀려서 한때 컴퓨터 전공을 꿈꾸기도 했지만,
막상 대학은 전자전기전공으로 가서 지금은 AP쪽 회사에 근무하고 있습니다.
소프트웨어와 하드웨어를 두루 공부할 수 있는쪽이라 일하는 재미가 쏠쏠합니다.