프로그래밍과 수학의 상관관계

geekforum의 이미지

저는 C 언어 문법을 막 배운 풋내기입니다. 얼마전에 삼촌이 저에게 하시는 말씀이 수학을 잘하면 프로그램을 짤때 많은 도움이 된다면서 수학도 잘해야 된다고 말씀하셨는데, 전 솔직히 수학에 아주 자신이 없습니다. 수학이 프로그래밍하는데 어느정도 비중을 차지하며, 만약 공부하면 어느 정도까지 해야 하는지 꼭 알고 싶습니다. 수학 때문에 프로그래밍을 포기하지는 않겠지만 그래도 걱정이 되네요. 부디 많은 조언 부탁드립니다. 좋은하루되세요....

댓글

익명 사용자의 이미지

모 자료구조책에서 퍼온글입니다...
수학을 쓰면 프로그램은 이렇게 변화합니다...

프로그램의 계산 시간에 영향을 미치는 것은 어떤 알고리즘을 선택하는가에 달려 있는 것이지, 컴퓨터와 컴파일러의 선택은 크게 영향을 미치지 않는다는 것을 의미한다...
O(1)
O(n)
O(n의2승)
O(n의3승)
O(2의n승)
O(e의n승)
이런식으로 프로그램 분석을 할때도 수학이 사용됩니다...
객관적으로 증명할 수 있는 것은 수학입니다...
모든 프로그램은 공식이지요... 수학과 논리의 조합..
이것이 빠지면 그냥 코딩이라고 밖에 안됩니다...
프로그램이 아니라 그냥 꾸며주는 것밖에 안되는 거죠..
오히려 컴퓨터 전공자들보다 그이외 수학,물리,천묵학자들이 컴퓨터 관련분야에서 두각을 보이는 이유가 프로그램은 코딩이 아닌 위에서 말한 논리와 수학이기때문이죠...
컴퓨터 전공자가 복잡한 CAD나 수치해석 프로그램 잘 짤거라 생각하십니까?

익명 사용자의 이미지

30중반에 들어선 프로그래머입니다. 영상압축쪽에 일을하지요... 돈 한 10억쯤 벌면 대학을 다시 다니고 싶습니다. 수학이나 물리학과로요...

익명 사용자의 이미지

수학과 프로그래밍이라....
전 학부에서 수학을 전공하고 대학원은 경영을 하고 있습니다.
참 우스운 것이 교수님들이 저보고 엄청나게 부러워 하시더군요. 당신들이 젤 힘들어하는 수학을 전공하였다고요^^
어느교수님은 다시 공부한다면 수학을 해보고 싶다는 분도 계셨습니다.
전 통신시스템을 만드는 회사에 다님니다. 경력은 6년정도... 물론 주 업무는 System Software겠죠? Hardware도 조금씩 보기는 하지만... 저는 RTOS인 Vrtx와 pSOS, VxWork등을 사용하여 PowerPC 계열의 MPC8260/860/850/750 등의 Processor를 사용합니다. 요즘말하는 이베디드 소프트웨어겠죠?
여기 글을 다는 아니지만 반 정도는 읽었는데요, 보통 사람들이 수학과 하면 우리가 고등학교나 대학의 대학수학, 이산수학, 공업수학 혹은 통계학 정도를 생각하실껍니다.
통상 미분적분 나오는 것을 수학의 꽃이라 생각하시리라 생각을 하실것 입니다. 미적분이 우스워서 이런말씀 드릴 것이 아님니다. 미적분도 중요하지만 대학 혹은 그 이상에서는 그러 미분적분 혹은 통계와 같은 것은 배우지 않습니다.
대학생활의 대부분을 증명으로 보내죠. sin x를 미분하면 cos x가 되는 것을 증명하시오... 이런식의 것이 나옴니다. 어떻게 답을 쓸까요? 당연하다??? 흐~ 이거 증명하려면 8절지 1장 가까이 들어갑니다.
통상 사람들이 생각 하는 수학은 아마도 수학교육과가 어울리지 않을까 합니다.
그만큼 여러분들이 생각하는 수학과 대학에서 전공으로 배우는 수학은 차이가 많이납니다.
저는 수학을 전공하면서 이것이 나가서 어떤식으로 쓰일까 하고 고민을 많이했습니다.
그런데, 내가 알게 모르게 수학과 나온것을 티낸다고 하더군요.
그것은 무슨 엄청나게 수리계산을 잘해서도, 엄청난 알고리즘을 만들어서도 아님니다. 그냥, 일을 하는 스타일이 항상 증명을 하듯 기승전결을 미리미리 머리속에 그리며 코딩한다고 해야할까요 아무튼 그런것 때문에 그렇지 않나 생각을 합니다.
전 아직도 제가 수학과를 나와서 그런지는 모르겠습니다. 다면, 제 주위에는 수백명이 있는데 저혼자만 수학과를 나왔으니 다른사람을 비교할 수 없기 때문에 ....
수학을 전공했다고 엄청나게 코딩 잘하는 것도 아니고, 수학을 해야만 훌륭한 소프트웨어 엔지니어가 되는 것은 아님니다.
다만, 여러분들이 알게 모르게 수학을 전공한 사람이 만든 훌륭한 툴들을 사용하는데, 문제는 그런 훌륭한 사람들이 열심히 공부할 시기에는 전산과보다는 수학과가 훨씬 많았겠죠?^^
열거하기는 좀 그렇고 한가지 예를 들자면 IBM의 DB2나 오라클과 같은 RDB(Relational Database)등의 창시자 역시도 대수학을 전공한 사람이었죠^^
결론은 없습니다. 일은 그사람이 자신의 업무를 얼마나 인지를 하며 얼마만큼 많은 지식을 습득할 수 있으며 이를 얼마나 많이 응용할 수 있는가하는 극히 개인적인 능력이 아닌가 합니다....

익명 사용자의 이미지

미국의 어느 공과대학교 교수님 왈, "만일 예산 상의 문제로 인해 모든 이공 계열의 학과를 없애고 오직 한 과만을 남겨두어야 한다면 주저하지 말고 수학과를 남겨야한다."고 하셨습니다. 수학을 알면 프로그래밍 뿐만 아니라 컴퓨터 전반에 관한 이해가 남들보다 빠르져. Knuth와 같은 위대한 컴퓨터 학자도 대학 다닐 때 (컴퓨터과가 없어서이기도 했지만) 물리/수학이 전공이었으며 현재 마이크로소프트 사장이 스티브 발머도 수학/경제학이 전공이었습니다. 수학을 잘 알면 컴퓨터뿐만 아니라 이공 계열의 많은 학문 분야에 대한 탁월한 적응(?) 능력을 배양할 수 있습니다.

익명 사용자의 이미지

음...많은 글들이 있고 의견이 분분하긴 한데 주로
수학이 필요하다는 의견이 많군요...

그런데 한가지, 약간 의아한 시각이 있어서 한마디만 적겠습니다. 대개 분들이 만약 이미지 프로세싱이나 수치해석등의 전문적인 연구분야 프로그래밍이 아니면 수학이 필요 없다고 하시는데요,

그렇다면.. 가장 간단하게 어떤 function이 있고 이게 이러이러하면 저런 결과를 내보내고 이러이러하다가 저러면 또 다른 결과를 내보내고 이러저러어쩌면 또 다른 결과가 나온다고 합시다.

보통 if 문이 3개 이상 겹쳐서(nested) 들어가면 많은 분들이 그림으로 그려놓고 생각해 보시겠지요? 그냥 코드부터 쓰신다구요? ㅡㅡ; 에이...그러면 나중에 디버깅할 일이 생기져..확실하게 하려면 대개는 그림을 한번 그려보실 겁니다. 연필로든 머릿속으로든.. 동그라미안에 동그라미...뭐 아니면 동그라미끼리 화살표 주욱 긋고...

이게 뭘까요...? 다이어그램 분석입니다. 이것도 수학의 일종 아닌가요?

태무정의 이미지

요즘 한참 큐메일을 설치하고 있는데
큐메일은 샌드메일을 최상의 방법으로 대체 하기 위하여 Dan Bernstein에 의해서 만들어 졌다는군요.

큐메일은 샌드메일이라는 프로그램보다 안정화되고 최적화 되었다는구요. Dan Bernstein사람은 기존의 샌드메일이라는 프로그램의 부적한 부분을 보고 완전히 뒤엎어서 큐메일이라는 걸만들었는데 큐메일의 불안정성을 입증하는 사람한테 $1000를 상금으로 낼만큼 자부심도 강한 사람입니다.

중요한건 Dan Bernstein 는 수학자였습니다.

익명 사용자의 이미지

kldp에 처음 글써보네요..
저는 프로그래밍 약간했다고 하지만(2년-.-;)
고등학교 이후로 수학은 한번도 안해봤씁니다
대학와서 통계학 약간 배운게 다죠(전공이 다른거라서..)
근데 일하면서 들어보니까 프로그램 제대로 하려면 수학을 해야 될거 같아요..
이산수학, 대수이론(맞나?) 별의 별게 다 있던데 회사 마치면 차근차근 공부해야겠습니다..
자료구조,알고리즘 공부하다보니까 스택,큐등을 구현하는게 나오던데
수학을 모르니깐 하나도 모르겠더군여(시그마가 먼지도 가물가물..)
제 생각엔 수학은 필수 같습니다

익명 사용자의 이미지

일단, 전문적인 수학지식이 필요한 프로그램 부류들이 있습니다. 예를 들어, 최적화 프로그램을 작성하는 프로그래머라면 그 분야에 따라 알고리즘이나 조합론, 또는 약간의 선형대수가 필요할 것 같습니다. 또, 기하 알고리즘을 구현하고 싶다면 기하학에 대한 지식이 필요할지도 모르죠. 프로그램들의 종류가 하도 다양해서 거의 모든 분야의 수학이 다 거론될 수 있을 것 같습니다. 제일 추상적이라는 추상 대수나 수리논리학까지도 computational algebra나 computation logic 분야에서 사용되니까요.

그러나, 이런 것 말고 '일반적인' 프로그래밍 전반에 수학적인 지식이 필요하느냐? 하는 질문에 저는 당근! 필요하다고 생각합니다. 뭐.. 제 말이 아니라 유명한 사람들 이야기입니다. ^^;
단적인 예가 문제가 주어졌을때, 문제를 abstract할 수 있는 능력입니다. 이거 별로 안 쉽습니다. abstraction이라는 수많은 의미가 있지만 그 중 '불필요한 것들을 떼어내는' 의미를 가지는데, 문제가 복잡할 경우, 뭐가 중요하고 뭐가 그렇지 않은지 파악하기가 극도로 힘들어집니다. 이것은 훈련에 의해서도 충분히 길려질 수 있는 능력이기도 하죠. 결국, 수학이 성공적인 방법론이라는게, 걸리적거리는 detail들을 다 떼어내고 단순화시킬 수 있었기 때문에 이만큼 발전해온것 아니겠습니까? (너무 단순화해서 써먹을 수 없을 때도 많지만.. ^^;) 쾨니히베르크 다리 문제를 오일러가 한붓그리기로 단순화시킨 것을 예로 들 수 있을것 같군요..
이 abstraction은 아주 현실적이고 concrete한 상황으로도 설명할 수 있는데, 예를 들어, Java에서 interface와 implementation의 관계도 이 abstraction이 적용된 예입니다. Interface에는 타자가 알아야할 정보만 표시되어 있죠. Implementation을 abstract한 예입니다.

흠.. 담에 또 쓰죠.. 숙제해야 됩니다. --;

익명 사용자의 이미지

쓰고 읽어보니 글이 엉망이군요. 말도 이상하고.. ^^;
중요한 걸 빠뜨렸습니다. Abstract하는 거야 누구야 할 수 있지만, 잘! 하는게 쉽질 않습니다. 이걸 잘하는 자가 좋은 프로그래머가 아닐까 하는 생각입니다. 물론 abstraction 말고도 프로그래머가 가져야할 다른 수학적 미덕들이 많긴 하지만요.

익명 사용자의 이미지

수학이 필요한 이유는 프로그래밍에서 간결하고 정확한 함수의 구현때문입니다.

통상적으로 프로그래밍을 할 때, 수치계산이나 좌표계산을 위한 프로그램들은 수학적 계산과 함께, 이진화된 숫자를 빨리 계산하기 위한 알고리즘도 필요합니다.

하지만 그런 전문적인 프로그래밍을 하시지 않으시겠다면, 수학적 사고만을 요할뿐 수학 문제를 잘 푼다고 해서 많이 도움이 되지는 않습니다.

기죽지 마시고 프로그래밍 열심히 노력하세요. 연습이 많은 도움을 준답니다.

익명 사용자의 이미지

쭉 훝어봤습니다.
재미있고 저도 생각나는 것이 있어서요
고등학교때 어느 선생님 말씀이
필요할때 가져다 써라
어느 정보가 어디있다는 것만 알면
그때 하면된다
하시더군요
이미지 프로세싱에서도 넷 최적화에도 수학은
필요하죠 그러면 거기에 대한 수학을 배워서
기초 다지면서 하면 됩니다.
꽁지에 불이 붙으면 대부분 무섭게 파게됩니다

익명 사용자의 이미지

우리회사에도 그렇죠

수학잘하는 사람과 못하는 사람 구분 팍팍 됩니다.

수학을 잘하는 사람은 논리적이고 대신 추상적으로

가는 경향이 있읍니다.

이런 사람들은 자료구조나 , 프로그램의 전체적인

설계, 디자인에서 탁월하죠..

반면 수학에 둔감한 사람들은 그런게 너무 떨어집니다.

말을 해도 잘 알아듣지 못할때도 많고요.

대신 수학에 둔감한 사람들중에서는

하드웨어쪽에 탁월한 사람들이 또 있읍니다.

기계적인 감이라고 할까요.

이런 사람들은 전체적인 프로그램설계나 디자인보다는

시스템이나 서버관리 이런쪽에 능력을

발휘합니다.

이 둘중에 하나라도 잘하면 되겠죠

둘다 못하는 사람들도 많더군요.

익명 사용자의 이미지

수학은 프로그램을 하는데에 있어서,,,

전체적인 흐름을 파악하는데에 요긴하게 쓰입니다..

전체적인 설계를 하는데에 있어서 그 논리구조를 잘 익히신다면 프로그램을 하는데에 있어서 유용하리라 봅니다...저만 그런지도 모르겠습니다만, 수학을 전공하고 현재 프로그래머로 있다보니 잘 배웠다는 생각이 팍팍 듭니다..^^

하여간 열심히 하시길,,^^

익명 사용자의 이미지

전 SE 라..

수학은 별로 ㅡ_ㅡ;;;

쩝 그래두 수학은 필요한거 같아여..

코딩하다가 보면...

쩝..

익명 사용자의 이미지

솔직히 ..저 수학 절라 못하거덩요

근데 스트리터 파이터 ..VC++ 만들정도면

...어떤건가요

익명 사용자의 이미지

수학은 절대적으로 필요하다고 생각합니다. 물론 수학적인 사고도 포함해서요...

제가 지금까지 공부해본 수학(그냥 겉핥기 식으로 지난 것까지...)

통계,확률,Random Process,선형대수... (공업수학이나 미적분학 같은 것은 빼겠습니다..)

전자과 대학원에서 네떡 통계에 대한 논문쓰고 졸업했고, 지금은 Embedded Linux 쪽에서 일하고 있는데요... 요즘은 퇴근하고 이산수학 공부하고 있답니다... 이산수학 책 다 보고나면, 전산과 관련 수학책들도 볼 계획이구요...

논문쓸 때나, 요즘 일할 때나 느끼는 것이 수학적인 문제 해결 능력의 중요성입니다... 수학공부 열심히 하세요...

어느 정도까지라고는 말씀드리기 힘들겠구요... 일단 학부 과정에서 배우는 과목들은 모두 다 들으셔야할 것같습니다... 제가 요즘와서 후회하는게... 고등학교때처럼 수학공부를 하지 않은건데요... 고3때는 실력정석 똑같은 책을 두권을 본적도 있습니다... 먼저 보던 책이 완전히 너덜너덜해져서 낱장이 뜯어나갈 정도였지요... 물론 대학교재에 비할 바는 아니지만, 그때만큼 대학교때 열심히 공부했더라면 지금보다는 조금이라도 낫지 않았을까.. 생각됩니다...

수학공부 열심히 하세요...

익명 사용자의 이미지

한국처럼 실패를 두려워하고 완벽주의가 만연한
사회가 또 어떤 나라에 존재할까요..

수동적 교육에 길들여진 우리 현실을 그대로
반영하는거 같습니다.

답을 찾으려 하지 말고 스스로 만들어 나가십시요.
불가능 한듯 보였던 것들이 구현 된것은
어딘가에 그 답이 있어서가 아니라..
도전하는 사람들의 끝없는 노력 때문입니다.

천재성, 우수한 수학적 두뇌, 고도의 창의력..
이런것들을 모두 갖춘 사람은 극소수 입니다.
그런 사람이 과연 프로그래밍 하려고나 할까요.

에디슨은 천재는 99% 의 땀과 1 % 의 영감으로
이루어진다 했습니다.

실패를 두려워 하지 말고 도전하십시요.
결과는 노력한 만큼 돌아옵니다.

당신의 앞날에 행운이 가득하길!!

익명 사용자의 이미지

수학&전산전공입니다.

우리나라 고등학교 수학은 실제로 대학쪽에서는

물리에서 많이 쓰입니다. 고등학교 수학의 대부분이

미적분쪽을 깊이 배웁니다. 실제로 미적분은 물리에

많이 쓰입니다. 실제로 진짜 수학은 고등학교때

수학과 거의 별개라고 볼 수 있습니다. 님들이 말하

는 수학은 대학에선 거의 물리학쪽에 가깝죠..

그런데 두 학문다 프로그래밍에 도움이 된다는 것입니

다. 진정한 수학은 논리 그자체에 가깝고, 물리학은

수를 논리로 풀어가는 거에 가깝습니다.

전 물리가 훨 재밌더라구여 -_-;;

프로그래밍할라고 수학하실려는 분들 물리를 하세요

수학보다 재밌고 잘 와닿습니다..

익명 사용자의 이미지

전 아직 허접인데요.. 경력자 분들 말씀 들으니깐
겁이 나네요.. 사실 저도 직접 구현하는 것 보다는
붙여넣기를 많이 하는데요..
근데 제대로 프로그래밍을 할려면 수학하랴 컴퓨터
구조 알랴 머리털 다 빠질것 같네요...
저두 3D 프로그래밍에 관한 책을 읽으려고 했는데
수학이 나오더군요.. OpenGl 프로그래밍인가 하는
책인데 그 중에 행렬에 관한 부분을 중점적으로 다루
는 부분에서 작자가 말하길 고등학교때 한번이라도
수학책을 본적(완독이 되겠져..)이 있다면 겁먹지 말
고 읽으라고 하더군요.. ^^;
그래서 나중에 한번 읽자라고 내 팽겨쳐 뒀는데..
이러면 뒤떨어지겠죠.. 아구 난 그냥 코더만 해야 하
나..
여기와서 글 읽어보기 전까지 수학과 컴퓨터에관한
저의 생각은 이랬습니다.
컴퓨터를 빠삭하게 이해하고 프로그래밍 할 수 있다
믄 알고리즘이나 기타 수학적인 것은 스스로 개척해
낼 수도 있지 않을까 하는 생각이..
그러니깐 직접 구현되어 있는 소스를 보는게 아니라
남이 어떤 알고리즘을 이미 발표했을 것이고(대부분
알고리즘이 많이 존재하던데요..) 그걸 보구서 스스
로 만들어 보고 혹은 더 낫게 개선시키는 능력이 생
기지 않을까라는 생각이었는데 이게 위에서 다들 말씀
하신 수학적 사고라는 것인가요..?
전 허접이라 아직 잘 모르거든요.. 여러 경력있는 선
배님들이 말씀하시는거라 귀담아 들었는데 솔직히 지
금 다시 수학책 뒤적거리는 것도 좀 그렇구...
수학이 중요하긴 중요한 것 같이 느껴지긴 하는데요
그렇다고 꼭 수학을 알아야만 어떤 알고리즘을 이해
하고 운영체제같은 것을 개선시키는 것인가에는 의문
이 좀 있긴 있떠요.. 흔히 위에서 말씀 들 하신 삽질
이라는 것인데요.. 저같은 경우도 파일내의 어떤 특
정 부분을 계속 탐지하게 하는 프로그램에서 삽질만
했거든요.. 어떤 알고리즘이 없나... 혹은 테크닉이
나. 했는데 못 찾겠더라구요.. 그래서 그냥 삽질끝에
완성이 되긴 햇는데 다른 사람은 못읽을 것 같궁..
진짜 수학이 필요하긴 한가봐여.. 그렇다믄 프로그래
머는 수학이 필수? 궁금해여...
근데 수학적 사고와 수학실력이 좋은 사람이 꼭 프로
그래머가 되야 하는지.. 제가 아는 사람중의 한명도
프로그래먼데 수학 대따 못하는데 겜회사에서 게임
프로그래밍 하던데..
(위의 어떤 분의 말씀대로라면 3D 프로그래밍 같은 게
임엥서 쓰이는 부분은 수학없인 불가능 하다공...
그럼 제가 아는 살마도 그냥 코더였나부넹.. 속았당..)

익명 사용자의 이미지

요기 진짜루 좋다 ^^;
근데 글이 너무 많아서 다 읽으려면 정말
힘들겠드-_-;
아 골때료-_-;
ㅋㄷㅋㄷ 암튼 나넌 수학 시로-_-;
미분 도 시로-_-;
수1도 몬하는데-_-;
공통이 짱이여~ ㅋㄷㅋㄷ
참고로-_-;; 내 수1은--; 수3으로 고쳤다느-_-;
머 할일없는 애들이 하는짓이지-_-; ㅋㄷㅋㄷ

선장의 이미지

수학이 내공이라면
각종 프로그래밍 기술(?)은
초식입니다.

최소한 전 그렇게 생각합니다. :)

익명 사용자의 이미지

컴퓨터와 언어가 특정 부류의 소유였던
시대는 지났습니다.

수학을 이용하여..
좋은 공식들과 합리적인 계산으로
우수한 알고리즘을 만들 수 있습니다만,,
그건 어디까지나 교과서적인 생각이고..

불행히도 대부분의 프로그래밍에는 정답이 없습니다.
MS-DOS 가 알고리즘적으로 우수한 OS 가 아니었어도
전세계 PC를 장악했고.. Intel 의 아키텍쳐가
후졌어도 역시 전세계 PC CPU 를 장악했죠

만약 정답이 있는 거라면, 지금 처럼 같은 일을 하는
프로그램이지만 여러가지, 다른 이름의 프로그램이 있을 필요는 없겠죠..

다시 말하자면, jpeg 이나 mpeg 같은 동영상 압축
알고리즘 연구는 수학적인 알고리즘 연구의 분야고
그것을 가지고 다른 모듈과 레고 블럭처럼
조합하여 응용을 하는것 혹은 변경하거나 하는
것은 또다른 프로그래밍이라고 볼 수 있습니다.

전자와 후자는 요구하는 능력이 틀리지요.
전자측은 좀 더 연산루틴과 검증에 투자하는 시간이 많을테고 후자측은 폭넓은 경험과 창의성이 필요한
부분이지요.

프로그래밍 자체는 아주 커다란 부분이며
누구나 프로그래밍을 하는 현재에서는 뚝 잘라서
어느 한 부분만 가지고 이렇게 저렇게 말할수는
없는 노릇입니다.

코딩에 수학이 꼭 필요하냐고 묻는다면..
필요치 않다 라는 것입니다.

그러나 어떤 분야에서는 필수가 되죠..
분야에 따라 전혀 도움이 안될수도 있습니다.
(사칙연산도 수학이라고 한다면 할말없구요)

그러나 저라면, 수학을 공부할 시간에..
코딩을 한줄 더 하고 신기술과 그 동향을
파악하는데 쓰겠습니다.

익명 사용자의 이미지

네...맞는말입니다...
단 정적인 면에서 보면...

누구나 변해가죠...

다시말해,

동적인 면을 볼 필요가 있다고 봅니다...

왜냐면, 쉽게 실증을 내죠..아님 만족이던가.
그것도 아님, 뭔가가 더 필요로하던가..

익명 사용자의 이미지

수학없이 집지을 수 있지요.
그런데 공식 하나 안쓰고 120층 짜리 빌딩을 만들 수 있나요?

뭐, 우리나라는 그렇게 백화점도 만들고 다리도 만드는것 같던데....

익명 사용자의 이미지

물론... 수학을 요구하는 분야. 그렇지 않은 분야. 다르죠.
밑에서 제가 글을 썼듯이. 수학적인 사고는 직접적인 응용이 아니라는 겁니다. ABSTRACTION이라고 또 강조하고 싶은데요.

수학적인 abstraction 능력이 없는 사람이 뛰어난 성능의 플그램을 만들수 있을까요? 엄청나게 크기가 큰 플밍 설계를 하기위해서도 구조적이고 체계적인, 또한 횡적, 종적, 방사적 사고를 필요로 한다고 생각합니다. 그런 사고를 도와주는 것이 수학이 아닐까요.

그리고... 지금 전산을 한다는 것이 플밍하는 것만은 아닙니다.
30대,40대가 가서도 플밍하는 건 문제가 있죠. 그때는 상당히 높은 레벨의 디자인을 해야한다는 생각이 드는데... 그때가 되면 수학적인 사고력이 많이 필요하지 않을까요?

음... inode entry 개수 정하는 거... 그리고 page replacement algorithm 선택하고 발전시키는 거... 이런 것도 수학적인 생각이 필요한 거 아닌가요?
현재 존재하는 효과적인 알고리즘이 자신이 하는 작업에 적합하지 않는데도,
아무 생각없이 그 방법으로 코딩하는 거. 바보 아닌가요?

좋은 engineer는 이러한 상황에서 좋은 디자인을 내는 사람이라고 생각합니다. 돈으로 기계 더 사서 때울 일을 머리로 해결하잖아요.
전 이러한 사고가 플밍에 미쳤을때 수학적인 사고가 필요해진다고 생각하는 것입니다.

익명 사용자의 이미지

거의 대부분에..
필요한 계산식이나 알고리즘은 이미 모두 나와 있지요....

우수한 프로그래머가 되기 위해 그정도 알고리즘은 스스로 만들어야
한다면....
왜 아직도 Index 에 남들이 만들어놓은 B-트리나 해쉬를 쓰고 있을까요..

그런 알고리즘을 프로그램화 시키고 일반인이 쓸 수 있게
만드는건 수학자가 아니고 프로그래머 입니다.

어떤 시스템에서 어떻게 구현하고 응용하는가..
얼마나 읽기 쉽게 만들고 재사용 가능한 코드를 만드는가..
프로그래머의 몫입니다.

운영체제를 만들면서 파일시스템을 설계할때 inode 갯수를
어떻게 계산하던 저는 별 문제가 아니라고 봅니다.
큰 부분을 차지하는게 아니고 언제라도 어렵지 않게 손볼 수 있습니다.

그보다 CPU 의 특성을 파악하고 전체적인 하드웨어의 특성을
파악하여 조율하고 디버깅하는데 훨씬 많은 시간이 걸릴테니까요.

사람들은 inode 때문에 좀 느린 시스템보다 여러 하드웨어에서
잘 돌아가는 프로그램을 선택할겁니다.

그 과정에서 한가지 깨닭게 되는것은 교과서에서 배운게 전부가
아니라는 것이지요.

M$ 가 성공했습니다.. 왜요.. 우수한 알고리즘 때문에?
수십~백만 가입자가 넘는 게임이 있습니다.
우수하고 효율적인 알고리즘 때문일까요..

때로는 우수한 알고리즘 개발보다 편리한 인터페이스와 화려한 화면이
더 중요할수도 있고..
프로그램 최적화보다 배포 시기를 앞당기는게 더 관건이 될수가 있고..
한 하드웨어에 최적화된 알고리즘보다
효율이 꽝이라도 광범위한 하드웨어에 이식성 좋은것이
더 중요할 수가 있습니다.

예전에도 수학전공인 프로그래머와 일한적이 있고..
지금은 3D게임 엔지니어와 일하고 있습니다..
물론 3D 카드 가지고 하는건 아무나 하겠죠..
소프트웨어 3D 그래픽 엔진을 개발한 사람입니다.
전 클러스터링서버 및 DB 를 설계하고 코딩을 합니다.
각각 상호 보완적인 관계에 있습니다.
저는 그 사람 일을 하지 못합니다.
역으로 그사람은 제가 하는 일을 하지 못합니다.

프로그래밍을 잘한다, 우수한 수학적 두뇌도 중요하지만
대부분의 사람들에게는 경력이 가장 큰 요소입니다.
얼마나 일찍 시작했고, 다양한 분야를 얼마나 많이
알고 있느냐죠..

사람이 천재가 아닌이상, 어느 한쪽에 몰두하면
어느 한쪽은 놓치기 마련이니까요..

사실 만들어 놓은 라이브러리 혹은 운영체제 API 나 쓰면서
코딩이네 한다는게 좀 우습죠..

그런 프로그래밍을 하면서 알고리즘이 몇개나 필요할까요..
루프나 몇개 최적화 시키려나?? ..
오히려 요즘 CPU 의 아키텍쳐 때문에 역효과가 날수도 있죠.
ODBC 쓰거나 SQL 서버 쓰면 그대로 편리한 DB 가 되고..
빠른속도의 화면 입출력은 비디오 카드와 드라이버가 다 해주고..

지금이 어떤 세상인지 한번 생각해 보시기 바랍니다.

wooix의 이미지

좋은 글이 많이 올라왔네용. ^^
수학/플밍 다 체계적인 내용입니다.
서로관의 상관관계라는 그자체 보다는
수학/플밍을 하는 사람의 체계적인 생각이
더 깊이 작용하는듯하군요.

저는 수학과에서 컴공으로 전과를 했지만
아직 수학이 재밌다는 생각이 많이 듭니다.
컴공의 많은 과목을 배우며 느끼는건 모든 학문의
시초는 역시 수학이란 생각이져..

수학 열심히 해서 손해 볼껀 없겠죠 ^^
열심히들 하시길..

평온하다~

익명 사용자의 이미지

한 때 수학에 미쳐 봤었고, 지금 플밍을 매일 해야하는...
전산과 생입니다.

Computer science나 engineering이나...
중요한 것은 abstraction입니다.

OOP만 보더라도 느껴지지 않습니까?
수학은 사고 하는데 있어서 체계적이고 구조적인 접근이
가능하게 하며, 똑 같은 사물을 어떻게 abstraction하느냐에
따라 상당한 성능의 차이와 개발 기간의 차이를 냅니다.

수학적인 접근 방식은 플밍하는데 있어서 평범한 타 프로그래머와의 차이를 내는데 아주 큰 역할을 한다고 생각합니다.

익명 사용자의 이미지

수학적인 지식의 전적으로 의존해야 되는 프로그램은 몇 안될지 모르지만 모든 프로그램을 작성하는데 있어 수학적 사고방식은 가장 큰 도움이 됩니다.
프로그램을 작성할때 가장 중요한게 논리적인 사고방식과 문제 해결 능력이라고 했을때 이를 훈련할 수 있는 과목은 수학 밖에 더 있겠습니다.
하지만 고등학교 졸업한 이후에 다시 수학 정석 붙잡고 수학 공부를 할 수는 없겠죠. 사실 미련한 방법이기도 하고요. 중요한건 수학 공식을 많이 아는게 아니라 공식을 문제에 어떻게 대입하는 가를 알아내는 것이거든요.

저는 퍼즐을 풀어보라고 권하고 싶네요. 퍼즐하면 직소퍼즐이나 십자말 풀이만 생각하는 사람들이 많던데 수학 퍼즐과 논리 퍼즐을 풀다보면 자연스럽게 논리적 사고방식과 문제 해결능력이 생깁니다.
저는 고등학교 다닐때까지만 해도 수학에는 별로 관심이 없었는데 대학다닐때 수학퍼즐에 빠져 각종 퍼즐 책은 다 사서 풀어봤었는데 이게 프로그래밍에 많은 도움이 되는것 같네요.
논리퍼즐과 수학퍼즐은 기껏 해야 중학교 수준의 수학 지식으로 정말 어렵고 첨보는 사람은 어떻게 접근해야 될지도 감도 안오는 문제들을 해결하는 방법을 스스로 얻게 해줍니다.

추천할만한 책으로는 밑에 어떤분이 언급하신 레이먼드 스멀리언의 "이 책의 제목은 무엇인가" 이거 정말 좋은 책입니다. 꼭 한번 읽어 보세요.
수학퍼즐중에는 마틴 가드너가 쓴 책이 국내에 번역된게 많이 있습니다. 그리고 최근에 국내에서 박부성님이 쓰신 "재미있는 영재들의 수학퍼즐"이란 책이 나왔습니다.

익명 사용자의 이미지

그냥 프로그래밍 짜면 되는거 아니겠습니까..
고등학교 수학에서는 집합과명제 부분
함수 부분 수열 부분 만 이해하고 있어도 프로그래밍 하는데 지장 없습니다.
물론 함수 부분을 알려면 지수 로그 그전에 나오는 부분은 다 알아야 합니다 --;
근데 제말은 문제를 잘풀기 보다는 전체적으로 이해하고 있으면 언제든지 필요하면 공부할수 있다고 생각 합니다.

물론 고등수학 암것도 몰라도 프로그래밍 짤수 있습니다.
중학교 수학으로도 짤수 있다는 얘기..

조금 돌아갈 뿐이겠죠...
세상 만물의 이치는 다 똑같은것 같습니다.
--;

참고로 저의 경우는 프로그래밍을 통해 수학적 사고를 넓힌 경우 입니다..
프로그래밍 하기전까진 수학 무지하게 싫어 했었죠..
성적도 안좋았습니다.. 잘 이해도 안갔고...
그런데 어느날부터 프로그래밍을 혼자 공부 했지요...

그리고 나서 재수를 했었더랩니다..
컴퓨터 없는 곳에서...

재수를 하면서 수학을 공부했는데... 내가 프로그래밍도 짜는데 이런거 못하겠냐 라는 마음가짐으로 공부를 했지요..

그랬더니 수학도 별거 아니였슴다..
한번 이해하니 문제푸는 요령을 터득하더군요..
물론 우리나라의 수학문제는 요령입니다..
근데 그요령을 얻으려면 전체적인 이해가 필요하더군요..
뭐 제 성격상 암기는 때려죽여도 못하기 때문에... 그렇기야 하겠지만

어쨋든 수학이먼저든 프로그래밍이 먼저든 자신이 하고 싶은것 부터 무작정 하는것이 현명할듯 생각 됩니다.
물론 때가 있긴 합니다만.. 자신이 그때를 감당 할수만 있다면 언제든지 바꾸고 암거나 다 하십시요...

익명 사용자의 이미지

저는 아무것도 모릅니다. 초등학교때 베이직 배운거랑 대학교때 포트란 배운거 그게 전부죠. 하지만 수학도 필요할때가 있고 전혀 반대로 생각해야 될때도 있죠, 여러분들이 잘 아시는 엔비디아의 무식하디 빠른 연산능력을 가진 지포스 3 와 허접하기(남들이 보기에 연산능력하나 만은 그렇죠) 그지 없는 kyro2 둘이 어느정도 상대가 되는 것은 수학적으로 무지 빠른 연산능력 알고리즘이 아니구요 . 필요없는 것을 뺄줄 아는 논리적인 사고죠.필요없는 부분을 랜더링하는 바보같고 무식하지만 너무나 빠른 지포스 3 가 이길지(너무 비싸죠) 느리지만 필요없는 부분은 애초에 연산에도 넣지 않는 kyro2(너무나도 쌉니다. 아마 같은 돈이면 다섯개는 살거같네요)가 이길지 ,,,
저는 효율성아니 독창성 아니 열린 생각 - 그러니까 남들과 전혀 다르게 생각해보는 것이 필요하다는 생각이 듭니다. 윈도 좋죠. 하지만 너무 많은 것을 요구를 하죠.256 램 1기가 씨퓨,.,,, 같은 기능을 리눅스에서 구현하면?? 두대 동히 쓰고 있는데 리눅스 쪽은 셀러런 333 이죠. 효율성 또 다른 생각이란거ㅡ,,, 참 중요한거 같습니다.횡설 수설이지만 저는 수학 잘 못합니다.
하지만 프로그래밍 학점은 A 였습니다. 저는 레퍼런스를 아예 보지 않고 프로그래밍을 했는데 상당히 도움이 되더군요. 1년 즈음 지나니 남들은 어떤 생각을 가지고 프로그래밍 하는지 알고 싶어 지더군요. 그래서 요즈음은 책을 많이 읽습니다.(나름대로는 한계가 온거 겠죠) 하지만 후회가 없군요. 처음부터 다시 공부해야 제대로 (? 처음 부터 남의 소스나 훔치고 소스 대출의 대가가 되는 것?) 프로그래밍을 하는 길이라해도 말이죠.좌충우돌은 인생살아가는데도 상당한 도움이 되는거 같습니다. 저는 제대로된 프로그래밍이란 독창성 90 % 수학적사고 9% 수학 실력 1% 라고 생각이 듭니다. 논리적이고 가벼운 생물들이 진화를 잘견뎌내듯이 덩치커지는 프로그램들은 각각의 효율을 너무나도 잘 표현해내는 리눅스 따라올수 없다고 봅니다.
(윈도 2000 좋지만 소스가 상당수 리눅스죠?)

익명 사용자의 이미지

> 윈도 2000 좋지만 소스가 상당수 리눅스죠?

이건또 뭡니까? 당신이 말하는 독창적 사고인지. 푸. 또는 열린(OPEN?? :)생각?
억지는쓰지 맙시다. 지나가던 리누스가 웃겠습니다.

white23의 이미지

요즘 최근에 등장하는 OS들은 상당부분이 BSD와 LINUX의 영향을 받고...
이의 기술을 이용하고 있습니다.
그리고 M$는 LINUX를 인류의 적(???)인거 처럼 매도하면서...
LINUX의 OS기술들을 가져다 사용한다고합니다(아마도 이것도 GNU 정신에 입각한게 아닐지? 오픈 하는거는 거의 없지만 그래도 요즘은 코딱지 만한거 오픈할끼라고 날립니다).
그리고 M$ hotmail의 주 메일 서버도 FreeBSD(요즘은 다시 NT로 바꾸는 중이라더라는 소문도 들리지만)를 사용하였습니다...

정말 이거 보면은 역시 M$는 속다르고 것 다른 장사꾼이 아닌지???

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

어떠한 역경에도 굴하지 않는 '하양 지훈' - It's Now or Never!!!

익명 사용자의 이미지

아마도 linux에서 가져다 쓰는게 아니구, unix에서 사용하던걸 윈도에서 구현하는 거겠죠.

익명 사용자의 이미지

> 그리고 M$는 LINUX를 인류의 적(???)인거 처럼 매도하면서...
> LINUX의 OS기술들을 가져다 사용한다고합니다

근거 있는 말이라면 출처를 알려주시길. 재미있네요, 좀더 알고싶습니다.

음, 그런데, Linux 가 채용한 기술을 쓴다고 해서, 리눅스에서 가져다 사용한다는 표현은 오인할만한 소지가 있다고 생각합니다.

Hotmail은 MS가 만든게 아닙니다. 이미 FreeBSD로 작성된 시스템을 1997년에 MS가 사버린거지요, 이런 시스템 OS를 마이그레이션하는게 쉬운일은 아니죠.

그리고 NT로 바꾼다는 얘기는 MS에서 발표한 내용입니다.

http://www.microsoft.com/windows2000/server/evaluation/casestudies/hotmail.asp

익명 사용자의 이미지

옳은 말...^^;

항상 말은 정확하게 해야되고...

근거가 없는 말은 하지 않는 편이 좋다고 생각하져...:)

익명 사용자의 이미지

수학과 프로그래밍의 관계는 성능비로 말할 수 있습니다.
즉 구현이 아니라 성능이 중요한 것들에 한해서 특히 필요하다는 거죠.
성능이 별 문제가 되지 않느다면은 수학은 별 필요 없습니다.
즉 성능이 중시되는 OS, DBMS 그리고 많은 프로그램들에 수학은 필요합니다.
그리고 두 번째로는 루틴의 검증에 필요합니다.
루틴이 검증 될 필요가 없는 정도로 간단하다면 별 문제가 되지 않습니다.
루틴 자체가 검증되어야 한다면 꼭 수학이 필요합니다.
복잡한 암호화 알고리즘의 경우 일반적으로 엔진같은데 많이 사용됩니다.

즉 성능의 문제와 루틴의 정확도 문제를 해결하는데 있어서 필요하죠.

익명 사용자의 이미지

이책의 제목은 무엇인가?

라는 책...고등학교때 보았었는데

상당히 재미있습니다

프로그래밍에 이책이 이산수학보다 도움이 될지 안될지는 모르겠습니다만

하지만 논리적 사고에는 이 책이 굉장한 효과를 발휘할겁니다

저는 거의 절반 정도 보다가 그 뒤부터는 머리가 꼬이고 그래서...-_-;

p.s 결국 수학을 잘해야 한다기보다 수학적 사고...결국 논리적 사고인데...제가볼땐 결국 머리똑똑해야 잘 짠다는 결론이 아닐런지...

익명 사용자의 이미지

머 이런거 가지거~ 따져여~ 걍 해여...-_-;

익명 사용자의 이미지

저는 현재 수학과 전산을 둘 다 전공하고 있습니다..

제가 내린 결론은..

수학을 하면 반드시 프로그래밍에 도움이 됩니다.
하지만, 프로그래밍을 할때 꼭 수학을 해야 하는 것은
아닙니다.

그리고, 수학을 공부했을때 도움이 되는 것은
수학적 창의력입니다. (빠른 계산 능력은 수학으로
간주하지 않았습니다.)

익명 사용자의 이미지

수학적 창의력이요..??

그러면 프로그래밍적 창의력 같은 것은 없나요?

수학을 하면 창의력이 좋아진다는 것은 인정합니다.

하지만 수학을 제외한 다른 학문을 통해서도 창의력이란 게 길러진다는 걸 말하고 싶네요..

물론 프로그래밍도 그 중 하나라고 생각합니다...

궂이 창의력 때문에 수학이라는 학문을 해야 한다고는 생각하지 않습니다.

왜냐면 수학는 가볍게 배울수 있는 그런게 아니기 때문이죠..(졸업하는게 가장 큰 걸림돌이죠..ㅜㅜ)

프로그래밍에 도움이 되는 창의력을 기르기 위해서 수학을 배운다는 것은

할일 많은 회사원이 단지 건강을 위해서 매일 특전사 훈련을 받는 것과 같다고 생각합니다..

익명 사용자의 이미지

제 글의 취지를 잘못파악하신 것 같군요..
저는 '수학을 해야한다'고 말한적 없습니다..

익명 사용자의 이미지

알고보면 수학은 생활입니다.

익명 사용자의 이미지

진정으로 효율적이고 구조적으로 경제적인 코드를 만들어내는데 있어 수학적 창의력은 분명 도움이 됩니다. 일단 컴퓨터 프로그램이라는 것 자체가 이산 수학에 뿌리를 두고 있는 걸요..

물론 프로그래밍 실력에 수학적 창의력만 필요한 건 아니죠. 일반적인 애플리케이션 등을 개발하는 데는, 굳이 수학으로 훈련된 두뇌보단 많은 경험을 통해 삽질을 줄이는 법을 터득한 두뇌가 더 능력을 발휘할 거라고 생각.

하지만 프로그래밍의 본질에 가까운 영역에 다가갈수록 수학적 창의력이 점점 더 필요해지는 것은 사실이죠..성능 좋은 os 커널. db 시스템. 네트워크 장비. 우리나라가 이런 걸 못만드는 이유 중 하나로 수학 능력이 딸린다는 점을 들 수 있죠..

익명 사용자의 이미지

즐기시길. 아무도 강요하지 않습니다.

익명 사용자의 이미지

밑에 어느분이 쓰신것과 비슷한 예입니다만,

수학에서 A와 B란 명제를 이용하여 C란 공식을유도해내고,
프로그래밍에서 D와 E란 논리를 이용하여 F란 알고리즘을 생성해냈는데,
잘 생각해 보니 A와 D, B와 E가 주어진 조건에서 논리적으로 똑같은 놈들이라면 C란 공식을 알고있는 사람은 F란 알고리즘을 손쉽게 유추할수 있을 것입니다.

이것이 바로 응용수학의 원리라고 할수 있는데요,
응용할 곳을 추상화시켜, 수학의 증명되어 있는 정리를 이용하는 방법입니다.

아마 C란 놈이 증명하기 힘든 놈이라면 F란 알고리즘도 쉽게 나오기 힘든 놈이고(물론 수학적으로 봐서 어려운데 전산쪽으로 돌려놓고 보니 쉬울수도 있습니다만)따라서 A + B -> C 가 D + E -> F와 같은 것을 아는 것과 모르는 것의 차이가 엄청날수도 있습니다.

익명 사용자의 이미지

크크....

수학이야기 하니깐 슬프네용~

수학을 못하는 저로서는 꼭 가능성 없는 프로그래머로 들려서 ^^;

근디 상관이 있기야 있겠죠?

토발즈책을 보면 노력하지 않았는데도 그는

수학 천재였다고 하는걸 보면....

크크...

뭐 수학 공식이 프로그램에 필요하다기 보다는

수학적이 사고가 필요한거 겠죠..^^

우리 수학도 열심히 하죠.... 시간을 물론 만들어야겠죠...

크... 그거 말고도 배울게 산더미 같은데 말입니다.

배울게 많다는 것은 행복한 이야기지만 한편으로 갈길이 멀다는 이야기겠군요

정규현의 이미지

구체적으로 수학이 필요한 분야를 들겠습니다.

1. 이미지 프로세싱
히스토그램이나 이미지 압축, 알파 채널이나
각종 이펙터따위를 구현하려면 확률과 수열, 미/적분에
대한 지식이 필요합니다. 아무리 논리적인 사고를
가지고 있다하더라도 이런 수학에 대한 지식이 없으면
개발진행이 어렵습니다.

2. 서버 비경유 P2P
그누텔라같은 중앙서버를 필요로 하지 않는
P2P의 경우 퍼포먼스 문제의 해결을 위해 그래프
알고리즘에 기반한 네트웍 시스템일 가지고 있습니다.
그래프 알고리즘에 대한 이해가 없으면 역시
마찬가지로 개발이 어렵습니다.

고3정도의 수학실력이면 웬만한 경우 문제가 없다고 봅니다.
사실 우리나라 대부분의 성인을이 수학실력이 가장 좋을때는
고3때랍니다.

그때 정도만 유지하시면 문제없다고 봅니다.

익명 사용자의 이미지

이문제 모 대학 수시모집 1학기 질문이던데요.. ㅎㅎ

이국현의 이미지

수학은 논리적인 학문의 하나입니다..
꼭 어떤 수학 공식을 무슨 프로그램을 만들 때 필요하다..
라기 보다는 수학을 배움으로써 자기도 모르는 사이에
터득하게 되는 논리적으로 생각하는 방법과
정확하게 문제를 해결 하는 방법.. 그런 것들을 프로그래밍
할때 도입함으로써 좀 더 좋은 프로그램을 만들 수
있게 되는게 아닐까요..

물론 공식도 필요합니다만.. 더 중요한것은 수학적으로
생각하는 사고겠죠..

무조건 문제 패턴을 외우게 하고 그대로 풀라고 하는
우리나라 교육이 문제겠지만.. 투덜..

익명 사용자의 이미지

아이디어는 인간, 연산은 컴퓨터

수학은 수학자에게, 로직은 프로그래머에게

익명 사용자의 이미지

>> 정답이네요...^^
>> 아래의 어떤분도 이야기하셨듯이 대단한 수학이 필요한건 아닙니다.
>> 실제필요한건 일부특정분야의 프로그래밍만 빼고는 고등학교정도의 수학으로 충분하죠...
>> 괜히 주눅들지 마시기를...
>> 오히려 프로그래머는 수학자쪽보다는 건축가나 이야기의 구조를 짜임새있게 엮어가는 작가쪽의 역략이 좀더 필요하지 않을까 생각합니다...

골빈해커의 이미지

음 저는 전문 프로그래머는 아니지만..
수학을 잘하면 많은 도움이 되는 것을 봤습니다..(그것두 여러번)
언젠가 어떤 프로그램을 만드는데
제가 노가다로 쓴 소스를 어떤분이 수학식을 이용해서 쓰니..
반도 채 안되는 걸 봤습니다..;;;
놀랠 노자죠..;;
소스가 짧아진다는 것은..효율성, 가독성, 재활용성이 많아진다고 하던가요?

뭐..대개는 수학식보다는 수학적 사고가 더 필요하지만
수학식도 의외로 자주 필요한 것 같더군여..

뭐..그냥 그렇다는 얘깁니다..긁적..

(저는 통계학과긴 하지만 그다지....( _ _);;)

골빈해커의 이미지

아..어느정도까지 공부해야하는 건..뭐 저도 잘은 모르겠지만..
고등학교 수학정도만 알면 될겁니다..뭐..
고등학교 수학정도만 알면 나머지는 필요할 때 공부하면 되거든요..
대학교 전공정도의 수학은 그래픽쪽이 아니면 거의 필요하지 않은 것 같습니다..

익명 사용자의 이미지

고등학교 수준의 수학이 어디 쉬워야 말이죠...

익명 사용자의 이미지

고등학교 수준 수학책 추천 하나.
고교 수학이란 무었인가 - 진리세계사
이 책 아주 좋습니다. 고교 수학의 핵이라고 할 수 있는 미적분을 중심으로
고교 수학을 상세하게 설명했습니다.
읽기는 좀 어렵지만 (but, 수학서들이 다 그렇죠 뭐.) 한 번 읽어보면
고교수학은 완전히 이해했다고 할 수 있을겁니다.

익명 사용자의 이미지

어떤 수학에도 완..전.. 히.. 라는건 없습니다.

고교 수학이 응용되서 미분적분학 발전되고

그것이 응용되어서 공업수학이 되는거구 그러는거니까.

고교 수학의 완전이라 하면.. 거의 모든수학을 마스터하는겁니다.;;

익명 사용자의 이미지

책을 읽어보고 말씀하세요

익명 사용자의 이미지

프로그래밍을 하는데는 수학적인 사고가 많이 필요합니다.
그리고 실제로 수학적인 지식을 반드시 필요로 하는 경우가
많이 있습니다.
저도 가끔 인터넷에서 수학공식을 뒤지느라 시간 보낼때가
많죠

exman_의 이미지

저두 수학과출신입니다만....

수학을 못합니다....

저는 수학공부 하기 싫어서 컴을 잡았었습니다...

(아픔...크헉..TT)

그런데 수학을 잘 못하지만 가지고 있는게 있어 이렇게 프로그래밍을 하는거 같습니다.

바로 수학적 사고 입니다.

누구나 다 수학적 사고를 가지고 있지 않습니까?

수학문제를 푸는것과 프로그래밍과는 큰 영향이 없는듯 합니다.(증명은 도움이 되겠죠?)

수학적 사고를 한다는 것이 프로그래밍에 도움을 주는 것 같습니다.(저의 잔머리는 이곳에서 나오는거 같습니다. ^^)

그러니 자신감을 가지고 공부하세요!

익명 사용자의 이미지

저도 동감입니다.
수학문제 풀이 능력보다는...

수학적 사고력이 더 중요합니다.

익명 사용자의 이미지

수학을 잘하게 되면..
문제 해결에 있어서 '직관력'이라는것이 생깁니다.
수학을 직, 간접적으로 이용하는 분야이든 아니든, 프로그래밍에 있어서는 이 직관력이란 것이 상당히 크게 작용한다고 봅니다.

익명 사용자의 이미지

많은 분들이 벌써 좋은 조언들을 해 주셨군요.
결국 수학이란 학문이 프로그래밍과 매우 밀접하다는 것을 알 수 있었습니다. 그래서 저도 좋은 책 한 권 권해드리고 싶은데요. 책 이름은 "Concrete Mathematics" 라는 책입니다. 3명의 저자중 한 명은 Stanford의 Donald E. Knuth 교수인데요, 이 책의 처음 몇 페이지만 보시더라도 수학이 얼마나 컴퓨터 프로그래밍에 영향을 미치는지 알 수 있으실 겁니다. 그리고 이 책에는 많은 예제 문제들도 있는데 이에 대한 해답들도 모두 책의 뒷부분에 실려 있어서 혼자 공부하시기에도 매우 좋은 책입니다. 단지 안타까운 것은 이 책이 한글로 번역된 것이 없는 듯 한데...(혹시 있다면 저한테도 알려주세요 :-) ) 컴퓨터 책을 출판하는 많은 회사들이 이런 좋은 책들에 대한 번역을 게을리하는 것을 보면 정말 안타깝습니다. 그냥 돈이 되는 최신 기술 책만 많이 출판하면서 이런 기본을 탄탄히 해 줄수 있는 책이 번역이 되지 않는 것을 보면 참 안타깝네요. 수학 책을 보시면서 프로그래밍이 수학과 무슨 연관성이 있을까하면서 그래도 수학을 해야된다는 주변 사람들의 말에 어쩔 수 없이 수학 책을 보시고 계신다면 이 "Concrete Mathematics"라는 책의 앞부분만이라도 읽어 보세요. 매우 도움이 될 겁니다. 이 책에서 처음에 예로 드는 것은 Tower of Hanoi 인데요(막대기가 3개가 있고 한 막대기에는 8개의 황금 원반이 꽂혀있는데 이 원반들을 다른 막대기로 옮기는 것으로 큰 원반이 작은 원반 위로는 옮길 수 없는... 다 아시나... ㅡ.ㅡ;; 이거 중고등학교 때 교과서 어드메서 본 듯 합니다 :-) ) 이 문제를 풀기 위한 방법으로 이 책은 reccurence 를 사용한 예를 보여 줍니다. 그 다음 이를 바탕으로 단순한 사칙 연산을 사용한 해결책을 보여 주는데, 여러분들도 아시다시피 컴퓨터는 기본적으로 사칙연산이 빠르잖아요~ ^^ 뭐 대충 이런 식으로 나가는데... ㅡ.ㅡ; 쩝... 제가 이렇게 허접하게 설명하는 것보다는 한 번 책을 보시는 것이 어떠신지... 헉... 넘 길어 졌당.. ㅡ.ㅡ
그럼 안녕~~

lightwind_의 이미지

전 10년 이상 프로그래밍과 IT 산업에 근무했습니다.
허송세월이었지만 그래도 하고 싶은 말은 있습니다.

"프로그램 공부를 열심히 하시기 바랍니다."
"그리고 틈틈이 수학책을 보시기 바랍니다."
"아마 도움이 될 겁니다."

가 전부입니다. 이만 총총...

익명 사용자의 이미지

학교를 졸업한지 6년이 지났지만,
저는 뒤 늦게 알고리즘, 데이터 구조 등 부터
다시 공부하고 있습니다.

그런데 공부를 다시 하면서 느끼는 것이
수학적인 사고의 필요성입니다.
알고리즘에 관한 국내 책들은 어떻게 보면 쉽게 느껴집니다.
관련 소스가 다 있고, 자세히 설명이 되어 있으니까요.

그런데 외국 책들(저는 원서가 아닌 번역서를 보고 있지만)
은 그냥 보면 어렵게 느껴집니다. 그러나 하나씩 원리를 깨우쳐 가면 정말 쉽다고 느낄 수 있을 것입니다.
그들이 중요하게 설명하는 것은 구현보다는 대부분,
왜 그런 구조를 사용해야 하는 가입니다.
같은 문제를 푸는 데 있어 여러가지 방법론이 존재할 수 있지만,
왜 하필 그런 구조가 적합한지에 대해서 설명을 할 수 있어야 하는데,
그 방법론을 수학적으로 설명하고 입증하는 거죠.

즉 같은 조건의 입력이 있을 때,
한 알고리즘이
얼마정도의 시간복잡도와 공간복잡도를 이용하는지,
그리고 입력이 선형적으로 늘어날때도 그런 특성들이
그렇게 반영되는지 이런 것들을 입증을 하죠..

흠.. 그리고 끝으로
데이터와 연산을 하나의 객체로 볼때,
객체의 추상화의 능력을 키울 수가 있는 거죠.
프로그램이란 것이 어떤 언어로, 어떤 방법으로 구현할 수 있지만,
추상화를 하면 언어에 종속적이지 않게 되는 방법론을 만들 수 있는 거죠..

그래서 수학을 공부하시는데,
풀이나 해법보다는 방법론을 공부하시면 좋을 듯 하네요.
특히 집합론이나 정수론, 수열등을..

---- 미숙하지만 읽어주셔서 감사합니다. ---

익명 사용자의 이미지

삽질하는데 수학이 뭔 필요 있습니까. -_-;

itsup2u의 이미지

삽질할때.. 삽을 어느 각도로 찌르느냐에 따라 삽질하기 수월할수도.. 힘들수도 있죠.
삽질할때 사인,코사인따지자는게 아니구..
삽질할때도 어느정도는 수학적 사고가 필요하단 얘긴데..
삽질할때 수학이 반영되면 유용할수도 있고 또 전혀 필요없는 삽질도 있죠..

웹프로그램에서 이용자 가입처리나 CS기반 프로그램에서 DB에 데이타 때려넣는 프로그램은 삽질만 열심히 하면 될 것이고.. 3D게임프로그램같은데서는 삽질만 해갖고는 아무것도 못할것이고.. 머 그런거 아닐까요?

삽질도 삽질 나름일거 같습니다..
무른땅에서 삽질이냐.. 단단한 땅에서 삽질이냐..
암생각 없이 삽질이냐.. 순서와 각도를 따진 삽질이냐..
혼자하는 삽질이냐.. 여럿이 같이하는 삽질이냐..
..

삽질하다 머리식히러 와서.. 헐..

예~~

익명 사용자의 이미지

초등학교도 졸업하지 못한 공사장 인부(잡부아님)가 삽질을 할 때,

sin,cos 따지진 않죠...

세상은 모든게 공식대로만 흘러가진 않습니다...

익명 사용자의 이미지

삽질에서 크나큰 즐거움과 인생의 희열을 느꼈으며,
앞으로도 계속 삽질 할 생각이시라면,
수학이 필요 없을지도 모르겠다는 생각이 언듯 드는군요..^^

익명 사용자의 이미지

삽질해도..
필요한데가 있던데요.. -_-;;

익명 사용자의 이미지

삽질 순서를 정하는데...
그때 필요할 지도...
가끔 순서를 잘못해서... 다시 한다는... ㅡ.ㅡ;

익명 사용자의 이미지

어떤 분야의 프로그래밍을 하고싶으시냐에 달린 문제입니다.

익명 사용자의 이미지

간단한 예를 들자면..

퀵쇼트 함수 만드는 프로그래머가 될것인가??
아니면..
퀵쇼트 함수를 가져다 쓰는 코더( 또는 오퍼레이터 )가 될 것인가??

울나라에는 프로그래머의 탈을 쓴 코더( 또는 오퍼레이터 )가 너무 많은 것 같다는 생각이..ㅡㅡ;;

나는 언제쯤 당당하게 프로그래머 명함을 내어놓을 수 있을런지..

white23의 이미지

윗분이 말씀 하신것에 아주 공감을 합니다.
그러나... 퀵소트 함수를 가져다 사용하는 것도 기술입니다.
전 그냥 이글만 읽고 남의 함수를 가져다가 사용하는게 자신이 실력이 없어서 그런다는 자책감을 가지지 않길 바라는 마음에서 이런 글을...
그냥 퀵소트는 알고리즘 정도만 알고 되고 이걸 직접 구현해서 사용하는 것은 아주 비효율적입니다(시간 + 노력 + 디버깅).
참고 하시길...^^

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

어떠한 역경에도 굴하지 않는 '하양 지훈' - It's Now or Never!!!

익명 사용자의 이미지

가져다 쓸땐 가져다 쓰고,
한번쯤은, 최소한 한번쯤은
자기가 한달이고 두달이고 고민해서
만들어 봐야 하지 않을까요....
그렇게 해보지 않고서
자신이 퀵소트를 사용하는 프로그램을
작성할 수 있다고 할수야 없지요 ^^
모든 것을 자기 손으로 만들 수 있는 역량을 키운 후에야
가져다 써야 한다고 생각합니다.

익명 사용자의 이미지

컴파일러도 함 구현하시고...

어셈블러도 함 구현하시고...

OS 도 함 구현해 보시면 좋겠네요...

님은...

itsup2u의 이미지

'퀵소트정도는 함 해봐야한다..' 라는 대답에 그럼 컴파일러에 어셈블러에 오에스까지..라는 식의 대답은 좀.. 보기 안좋군요..

퀵소트.. 아나 프로그래밍을 정규 과목으로 배우거나 설령 독학하더라도 누구나 봤음직한 프로그래밍 입문서정도에는 퀵소트같은건 아주 빠지지 않고 나오는 기초 알고리즘인데요..

난 첨부터 웹프로그램만 배웠고 앞으로도 이것만 할거다.. 책 몇권과 삽질 몇달하니까 프로그램 짜지더라.. 하시면 프로그래밍입문서 하나정도 보시면 좋을듯.. 실력이 훨 나아지실겁니다.

비꼬는 말이 아니라면 제 말대로 해보시고. 만약 비꼬는거라면.. 님 맘대로 사시구요..

요즘 아무나 프로그램 한다고 설쳐서.. 소위 경력자(선배)들이 이러하다..라는 말에 귀 기울이기는 커녕.. 자신의 관점으로만 생각하는 경향이 강하고 잘 안받아들이려는거 같아 매우 불쾌합니다.

예~~

익명 사용자의 이미지

아 뭐..
자기 능력을 어디까지 개발하느냐 하는 건 자기가 결정할 일
귀찮은데 뭐 가져다 쓸 줄만 알면 됐지라고 만족하는 사람이 있는가 하면
완전히 자기 실력으로 흡수하려는 사람도 있죠
어느 쪽을 선택하던.. 자기 맘이죠 뭐

익명 사용자의 이미지

:-)
네.
물론이지요 :-)

익명 사용자의 이미지

참,
'당신이 만든거 한번 보자'
는 식으로 딴지 거시는 분들이 계실 것 같아서 사족을 붙입니다.

그정도....
전산학과 나온 분들이면 학교 프로젝트 수준에서 다 만들어 보시는 거 아닌가요?

물론, 제가 만들어 보았던 것도 그정도 수준일 뿐입니다.
-_-a
언제쯤 제대로 된 걸 만들수 있을런지........

익명 사용자의 이미지

자신이 만들 수 있는 것만 가져다 써야 한다는 말에는 동감할 수 없군요.
퀵소트같은거야 한번 만들어 보면 좋은 경험이 되겠지만..
일반화 시켜서 모든 것에 그래야만 한다는 건 불가능하지 않을까요..

항상 밑바닥 부터 시작할 수는 없는 일이겠지요.
남이 훌륭하게 이룩해 놓은 바탕이 있으면
그것을 잘 이해하고 잘 활용하는 것이 더 바람직한 일이라 생각합니다.

님의 말씀대로 모든 것을 만들수 있는 역량을 가진 사람만이 그것을 이용할 수 있다면
지금껏 인류는 원시시대에서 벗어나지 못했겠지요..

요리사가 요리를 하기 위해선 자신이 직접 기른 재료로만 요리해야만
한다는 소리와 비슷한것 같네요.

익명 사용자의 이미지

:-)
제가 하고자 했던 말은,
'모든것을 밑바닥부터 만들어야 한다. 그러지 못하는 사람은 남이 만들어 둔 것으로부터 혜택(?)을 입어서도 안된다'
는 것이 아니라,
'밑바닥의 것까지 동작하는 원리를 알고 써야한다. 직접 만들지는 못하더라도 최소한 원리는 알고 써야하지 않겠는가'
는 것에 좀 더 가까운 말이었습니다 :-(
(역시, 저는 국어공부가 모자란 것 같습니다 -_-)

물론, 그 많은 것을 다 알 수는 없지만,
더 많이 알고, 이해하기 위해서 노력해야죠 :-)

익명 사용자의 이미지

퀵소트를 쓸 때 왜 퀵소트를 써야 하는지 알고 쓰는 거하고 퀵소트 밖에 모르니까 쓰는 거는 큰 차이겠죠.
때로는 퀵소트 보다 그 상황에 더 맞는 소트 방법이 있을 거고 그런 선택을 하려면 각 소팅 방법에 대해 알아야 하는 겁니다.
어떤 알고리즘에 대해 이해하는 것은 그것을 직접 구현해보는 것이 제일 좋은 방법일 것이구요.

컴파일러, 어셈블러, OS 정도야 워낙 규모가 큰 것이니까 직접 구현해 볼 수는 없겠죠. 하지만, 내부 구조가 대충 어떻고 어떤 원리로 동작되는지 알고 프로그래밍 하는 사람이 짠 프로그램하고 모르는 사람이 짠 프로그램은 차이가 날 수 밖에 없습니다. 이런 차이는 더 복잡하고 큰 규모의 프로그램을 짤 수록 더 잘 들어날 것이구요.

남이 훌륭하게 이룩해 놓은 바탕위에서 잘 활용하자는 것 좋은 얘기입니다. (위글 쓴 분한테 반박을 하기 위해서 쓴 것은 아님을 밝힙니다.)
하지만 남이 이룩해 놓은 것이니까 몰라도 상관 없다고 생각하는 분들도 있는 가끔씩 있는 것 같더라구요.

미국이나 소프트웨어 강국으로 불리는 인도 프로그래머에 비해 우리나라 프로그래머들이 부족한 점 중에 하나가, 밑바닥에 대한 이해가 없는 프로그래머의 비율이 크다는 점 같습니다.
이건 우리나라 컴퓨터 교육 시스템에 문제가 있는 것이고 여러 기초적인 좋은 책들을 많이 읽음으로써 해결해야 할 것 같습니다. (수학에 관한 책들도 여기 포함이 되겠죠. 이미지 프로세싱이나 그래픽 뿐만 아니라, 프로그래밍의 많은 분야에서 수학이 사용되고 있습니다. 네트웍 트래픽 조정, 운영체제에서 프로세스 스케쥴링, 컴파일러에서의 최적화, 암호화 등등.. )

익명 사용자의 이미지

맞는 말씀입니다.. 잘 가져다 쓰는 것도 실력이죠..
당연한 얘기지만, 프로그래밍에도 여러가지 분야가 있고, 분야마다
필요로 하는 능력은 조금씩 다를것입니다..
윗님의 말씀처럼, 퀵소트의 알고리즘과 다른 알고리즘과의
차이 같은 것을 알고만 있으면,
가져다 쓰는 것이 정답이 아닌가 생각합니다.

익명 사용자의 이미지

가져다 쓰는데에 물든면 나중에 똥배나온 대머리 됩니다. ~(:-)

익명 사용자의 이미지

퀵 소트건 뭐건

일단 컴파일러와 OS 하드웨어 시스템 부터

모두 다 남들이 만들어놓은거

가져다 쓰는거 아닙니까?

저는 어셈블러로 하드웨어 밑바닥 제어하는 코드 만들기도 하고

c 로 여러 함수 가져다 쓰기도 하고

간단한 알고리즘 같은거 만들기도 하지만

모두다 가져다 쓰는거라 생각합니다..

익명 사용자의 이미지

가져다 쓰는것도 그냥 되는게 아닙니다.
노력을 해야합니다.
가져다 써도 되는 수많은 도구들을 알아야 하고..
그 수많은 도구들중에 무얼 써야 가장 효율적인지에 대해서도
고민해야 합니다.
정말로 지금 하는 작업에 적용할수 있을런지도 테스트 해봐야 합니다.
copy & paste 가 아닙니다.
그냥 가져다 쓴다고요 ?
절대 결코 말처럼 쉽지 않습니다...
솔직히 말하자면 그냥 있는 것도 제대로 가져다 쓰는 사람도 별로
없습니다.

익명 사용자의 이미지

맞습니다. 흔히 저수준 프로그램 하는 사람들이 고수준 프로그램 하는 사람을 자꾸 허접하게 보면서 그저 가져다 쓴다라느니 하는데 생각해 보세요. SQL기능 한번쓸려고 ORACLE구현한다면 바보입니다. 어떤식으로 돌아간다는 이해만 있으면 됩니다. 가져다 쓰면 되죠.

오라클 구현하는 건 그것 하는 사람들에게 맞기는 겁니다. 하지만 오라클 같은 RDBMS구현하는 사람들도 다 만드는 것 아니져.. 이님들도 최소한 시스템의 OS레벨까지는 만들지 않습니다. 가져다쓰죠. SUN이 만든것 그리고 MS가 구현해 놓은 기능 등등을 ^^. 하지만 생각해보면 또 MS도 다 만드는 것 아니죠. CPU 기능은 INTEL이 만든 기능을 사용하고 각 보조장치 기능은 BIOS 만드는 회사가 만들어노은 함수기능을 호출합니다. 이렇게 보면 모든 기능들은 다른 기능에 의존적입니다. 사람사회처럼요..

그러니 서로 사서쓰고 사회화를 이루죠.. 분야에 따른 허접은 없습니다. 그 분야안에서 허접은 있을 수 있어도..

김성회의 이미지

질문을 하신분은 단순히 "수학" 이라고 하셨지만 많은 뜻을 내포하고 있는것 같습니다.

체계적인 전산학 공부를 하다 보면 항상 많은 수학 관련 기호들이 사용되곤 합니다. 고등학교때 배우던 수학의 대부분은 수치 해석과 관련된쪽 (행렬,극한,미,적분...^^;) 이지만 전산학 분야 중에 이러한 수치해석과 관련된 지식을 요구하는 부분은 computer graphics 를 비롯하여 몇몇 분야가 있는것으로 알고 있습니다.

하지만 프로그래밍과 관련된 기본적인 "수학"은 집합이론과 명제와 같은 이론이지요 아마 computer science의 교과 과정중에는 discrete mathematics같은 과목으로 되어 있는것 같습니다.

이 부분을 이해하고 실제로 활용하기 까지 매우 많은 시간이 소요되었던것 같습니다(저의 경우 ^^;)

어떤 알고리즘을 설명하고자 할때 자연어(한글 ^^)를 이용해서 알고리즘을설명하면 상당히 길게 나타나지만 이를 수학적인 기호들을( ex, n(n-1)/2) 을 이용해서 나타내면 상당히 단순해지지만 많은 뜻을 함축하게 할 수 있습니다.

대부분의 고급 알고리즘들은 항상 수학적인 기호들로 표현이 되어지기 때문에 이를 해독하는 능력또한 필요하리라 생각됩니다. (자꾸 이상해지네요... ㅡㅡ)

마지막으로...

C언어의 함수라고 하시면 아실것 같은데요
영어로 하면 function 입니다 (^^;)
procedure, sub-routine과 약간씩 차이가 있는 단어인데

고등학교때 교과 과정중에 "함수" 에 대한 많은 것을 배우게 됩니다. 수학에서 사용하는 "함수"를 C 언어로 옮겨 놓은 것이고 서로 definition이 맞다는것을 이해하시면 전산학의 기초를 이루고 있는 "기본수학"을 한걸음 이해하신것이라고 생각할 수 있을것 같습니다~ 즐~

익명 사용자의 이미지

영화 메트릭스에서 명언이 나오죠.

길을 아는것과 가는것과는 큰 차이라고.

음 -_- 근데 이게 수학과 무슨관계일까요.. 죄송 -_-

페이지

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.