원뿔과 테이프

플라스틱 컵에 커피를 마시기 위해서 뜨거운 물을 부었더니 컵에 금이 갔다. 헐.

가만히 놔두면 물이 샌다. 그래서 이걸 해결하기 위해 여기에 테이프를 붙이려고 한다. 테이프를 가장 효과적으로, 실제 사용에 지장이 없게 하려면 매끈하게 붙이는 것이 좋다. 그래서 문제.

수학적으로 잘 정의된 원뿔이 있다. 여기에 수학적으로 잘 정의된 스카치 테이프를 이용해서 한번도 자르지 않고 접히지도 않게 그 표면을 모두, “잘” 뒤덮을 수 있을까? 스카치 테이프의 너비는 일정하지만 임의로 정할 수 있다. 그리고 스카치 테이프는 늘어나지 않고 쪼그라들지도 않는다. 길이는 무한히 길어질 수 있다고 하자.

이 문제를 풀 수 있다면, 이제, 어떤 임의의 표면을 스카치 테이프로 모두 뒤덮기 위해서는 어떤 조건이 만족되어야 할까? 잘 덮이는 표면과 덮을 수 없는 표면은 어떻게 구별할 수 있을까?

풀이는 미래의 언젠가. -_-;

위의 문제에 대한 풀이를 “잘” 일반화시키면 일반 상대성이론 문제도 풀 수 있다.

풀이

풀이가 너무 빨리 올라온 것 아니냐는, 뭐 그런 질문이 있을 수 있지만 앞에서 얘기했듯이 “미래의 언젠가”가 꼭 “먼 미래”이어야 한다는 보장은 없다.

일단 이 그림을 보자.


http://www.topianet.co.kr/topia/6/6s/6s2060105.htm

(단순 “사실”은 저작권이 없다. 이것은 그냥 단지 원뿔의 전개도일 뿐이다.)

원뿔을 잘 잘라서 펼치면 위와 같은 모양이 된다. 이 전개도에 테이프를 잘 발라 붙인 후, 다시 원뿔로 붙이면 된다. (참 쉽죠?)

생각해보니, 한번도 안자르고 붙이는건 조금 힘드니까, 테이프를 좀 넓다고 가정하자. (문제의 조건은 안 어겼음! ㅋㅋ)

이제 수학 시작. (이하, 어려울 것 같은 단어를 쉽다고 주장하는 저자의 설명에도 불구하고 그게 쉽다는 걸 이해하거나



[각주:

1

]



이해하는 것이 불가능 할 것이라는 선입견을 가진 사람들은 읽지 않아도 아무 상관 없다.)

위와 같이, 전개도를 그릴 수 있는 평면을 “가전면”이라고 한다. 영어로는 “developable surface”이라고 한다. 이 단어를 어떤 사람들은 “지표면 중에서 개발할 수 있는 땅”이라고 해석할 수도 있겠지만 설마 이 글을 읽을 사람들이 그렇게까지 심각하게 영어와 수학을 이해하지 못하는 사람은 아닐 거라고 생각한다.

가전면은 전체적인 곡률이 0인 표면을 얘기한다. 곡률은 “구부러진 정도”를 말해주는 수인데, 아니 원뿔이 어디가 평평해? 밑면? 이렇게 물어볼 사람 분명히 있을 것이다. 맞다. 사실 원뿔의 빗면은 구부러진 표면이다. 하지만 수학적 의미의 곡률은 0이라는 것이다.

수학적 의미의 곡률을 제대로 설명하려면 미분기하학을 처음부터 끝까지 다 다뤄야 하는데, 사실 그건 아직 나도 제대로 이해 못한 부분이기 때문에 그냥 넘어가자. 어쨌든, 평면에 쫙 펼칠수 있으니까 곡률이 0이라는 건 그럭저럭 이해할 수 있다. 만약 곡률이 0이 아니라면, 그 표면은 평면에 찢지 않거나 접히지 않게 펼칠 수 없다. 어떻게 해도 접히고 어떻게 해도 찢어진다. (수학은 이런걸 증명하는 학문이다. 놀랍지 않은가?)

가령, 지구본의 지도를 평면에 어떻게 하더라도 제대로 옮겨서 그릴 수 없다는 것은 유명한 사실이다. 지도 제작자들의 딜레마라고 하는데, 지구본에서 두개의 직선이 있을 때, 이 두 직선이 이루고 있는 각을 유지하면서, 동시에 지구본의 특정 영역의 넓이를 그대로 유지하는, 그런 지도는 존재하지 않는다. (이런것도 증명할 수 있다.)

물론 지구본의 아주 작은 영역에 한해서는 그럭저럭 원하는 만큼 작은 오차를 갖고 그렇게 그릴 수 있지만 지구 전체에 대해서는 불가능하다는 점이다. 이때, “원하는 만큼 작은 오차”라는 개념으로부터 “미분”이 나오고, 지구는 둥글기 때문에 기하학이 나온다. 따라서 이런걸 연구하는 학문 분야가 바로 미분기하학(Differential geometry)이다.

그런데 사실 지구가 둥글다는 것은 인공위성을 보면 알 수 있는 것이긴 한데, 도대체 지구에서는 그걸 어떻게 알아낼 수 있을까? 뭐, 가장 쉽게 알아낼 수 있는 방법은 에라토스테네스의 방법이긴 하다. 동네마다 태양의 남중고도가 다르거나, 동네마다 북극성의 고도가 다르다거나 등등. 아니면, 반지름이 1000km인 원의 면적을 재 봐도 된다. 지구가 평평하다면 1000000$\pi$km${}^2$이 나오겠지만, 지구가 평평하지 않다면 이 값보다 크거나 작은 값이 나올 수도 있다.

뭐…짧게 요약하자면, 이런 얘기를 대충 한 다음에, 질량이 공간을 구부러트린다는 가정 하나만 넣으면 이제 미분기하학이 일반 상대성이론으로 탈바꿈한다. (물론 장 방정식을 유도하기 위해서는 최소 작용의 원리도 필요하지만 이 글은 아무튼 수학 관련 글이므로 더이상의 자세한 설명은 생략한다.)

자. 아무튼, 테이프 붙이기에서도 수학적인 무언가를 찾아볼 수 있지 않은가.

어떤 모양의 컵이 테이프로 잘 발라줄 수 없을지 고민해 보자.

  1. 그 단어의 개념을 이해하는 것 말고, 그 단어의 개념이 쉽다는 것을 이해하는 것 말이다.

    [본문으로]

MS의 방식

MS 윈도우즈가 그럭저럭 굴러가도록 만들어진 운영체제라는 것은 잘 알려진 것이지만, 그렇다고 결코 완벽한 운영체제는 아니다. 오늘의 패치를 보자.

글꼴에 걸려 있는 파일 보호를 제거한다는 업데이트다. 뭔지는 모르겠지만, “중요”하다고 되어 있고 “권장 업데이트”에 해당한다. 그런데, 이 업데이트는 오피스2010 설치 관리자가 글꼴을 업데이트 할 때 필요하다고 한다. 난 오피스 2010을 이 컴퓨터에서는 앞으로 쓸 생각이 없다. 즉, 나한테 아무 쓸모없는 업데이트라는 뜻이다. 게다가 그런 주제에 이 업데이트를 설치한 후 컴퓨터를 다시 시작해야 한다.

운영체제에 버그가 있지만 오피스2010에서만 발생하는 문제라면, 이 패치는 오피스2010의 배포판 또는 오피스2010의 업데이트에 포함되어야 한다. 만약 그렇지 않다면 이 패치의 설명이 부족한 것이다. 더군다나 MS오피스는 MS윈도우즈가 아니면 사용할 수 없는 프로그램이다. 따라서 오피스2010에 이 패치가 포함된다고 해서 전혀 문제될 것이 없다. (설령 MS오피스가 리눅스, 맥OS등의 다른 운영체제에서 작동하는 것을 지원한다고 하더라도 이 문제는 윈도우즈 비스타와 오피스2010을 썼을 때만 나타나는 문제이므로 오피스2010의 윈도우즈 버전 패치에 포함되어야 한다.)


http://support.microsoft.com/kb/980248

그래서 추가정보를 찾아봤다.

When you install Microsoft Office 2010 on a computer that is running
Windows Vista or Windows Server 2008, certain fonts must be replaced
with a newer version. However, some font files are not updated and you
receive the following error message:

Error 1907. Could not register font. Verify that you have sufficient
permissions to install fonts, and that the system supports this font

뭘 해야 하는데 권한이 없어서 못한다는 문제가 있다. 그래서

This issue occurs because many font files in Windows Vista and in
Windows Server 2008 are marked as system-protected files. Therefore,
these font files cannot be changed or deleted by any users or by any
applications.

글꼴 파일의 “속성”을 바꾸는 업데이트다. 뭔가 내용을 바꾸는 것도 아닌데

Restart requirement

You must restart the computer after you apply this update.

나는 반드시 컴퓨터를 다시 시작해야 한다. 한글판이랑 내용이 다르잖아-_-; 한글판은 컴퓨터를 다시 시작해야 할 수도 있다고 했다(You may restart the computer). 이것은 다시 시작하지 않아도 괜찮을 수 있다는 뜻이다.

그리고 겨우 파일 속성 바꾸는데 컴퓨터를 다시 켜야 한다는 것은, 파일 속성이 굉장히 중요한 시스템 속성에 해당한다는 뜻이다. 운영체제를 어떻게 만들면 내용이 바뀌는 것도 아닌 속성 변경 때문에 시스템을 다시 로딩해야 하는지 잘 이해가 안된다.

리눅스는, 그냥 루트 권한 갖고 덮어쓰면 된다. 맥OS도 비슷할 것이다.

이것은 그러므로 어처구니없는 업데이트라 하겠다. 물론 자기들이 만든 프로그램에 문제가 생겼고 그 문제에 대한 해법을 찾아내서 사용자들에게 제공한다는 것에 대해서는 MS개발자들의 고생을 생각해 줄 수 있지만, 사용자 입장에서 이런 말도 안되는 버그를 운영체제 수준에서 고쳐야 한다는 것은 참 답답한 노릇이다.

늘어놓기

A4 대칭성이 뭔지 알려면 일단 순열 대칭군부터 배워봐야 한다.

“순열”이라는 건 영어로는 Permutation인데, 고등학교때 다들 배웠다. 순열, 조합, 확률, 그런데서 나오는 바로 그 순열이다. 말은 거창하고 문제는 어려워 보이지만 사실 그냥 물건 여러개 갖다 놓고 늘어놓는 방법의 수를 세는 방법에 관한 이야기이다.

서로 다른 물건이 1개 있다. 1개 있는 주제에 “서로 다르다”라고 말하는 것 자체가 사치이고 낭비인 것은 알지만, 앞으로 1 대신에 임의의 자연수 n을 쓸 수도 있기 때문에 일단 이렇게 말해 보자. 그럼 1개의 물건을 늘어놓는 방법의 수는? 고민하지 말자. 답은 1가지이다.

서로 다른 물건이 0개 있다. 그럼 0개의 물건을 늘어놓는 방법의 수는?

뭐 어쩌라고. 이렇게 말하는 사람이 있겠지만, 물건이 0개 있다면 늘어놓지 않는 수밖에 없으므로 답은 1가지이다.

사실 이런거 계산하는건 굉장히 쉽다. 그냥 물건이 n개 있다고 하면, n개 다 늘어놓는 방법은 n-1개 늘어놓은 상태에서, 그 사이사이에 나머지 하나 끼워넣는 것과 마찬가지이다. n-1개를 늘어놓는 방법도 마찬가지다. 따라서 n개의 물건을 늘어놓는 방법의 수는 n부터 1까지 정수를 모두 곱한 값이다. 이렇게 계산하는 건 굉장히 흥미롭고, 특별하기 때문에 수학자들은 여기에 계승(factorial)이라는 말을 붙여주었다. 함수 기호도 있는데, !(느낌표)을 쓴다. 가령 6!이라고 썼다면 이것을 읽을 때 “육!!!!!!”이라고 읽으면 부끄러운줄 알아야지.



[각주:

1

]


아무튼, 만약 물건들이 구별이 안가면? 가령 100원짜리 동전 100개를 늘어놓는데, 그 동전들이 다 같은 해에 만들어진 동전이라고 하자. 손때도 안묻었다. 이걸 늘어놓는 방법의 수는? 1가지뿐이다. 수학자들은 구별이 가지 않는건 굳이 구별하지 않기로 했는데, 100원짜리들을 서로 구별할 수 없기 때문에 어떤 놈을 먼저 꺼내다가 늘어놓더라도 뭘 먼저 꺼낸 건지 알 수가 없으므로 1가지라고 한다.

구별 가능하다면 100!이라는 엄청나게 많은 방법으로 늘어놓을 수 있는데



[각주:

2

]



구별이 안되면 왜 한가지 뿐인가. 그것은 구별 가능하지 않은 경우의 수도 엄청나게 많기 때문이다. 100!가지 방법으로 늘어놓아봐야 100!가지 경우의 수를 모두 구별할 수 없기 때문에, 100!/100! = 1가지 방법만 남는다. 내가 방금 설명하면서 아무 생각 없이 나눗셈을 사용하였는데, 그래도 되는지 궁금할 것이다.

생각해 보자. 1000원짜리 우유를 사는데, 100원짜리 5개와 500원짜리 1개로 산다. 동전을 한개씩 가게 아줌마한테 주는데 그럼 과연 어떤 방법으로 줄 수 있을까? 물론 겨우 동전 6개를 하나씩 세면서 준다면 아줌마가 당신을 혼내주겠지만, 이제 그런것에 연연할 나이는 지났지 않은가. 물론 그렇다고 실험해 보라는 뜻은 아니므로 실험하다가 수퍼마켓 아줌마가 당신을 때리더라도 내 책임은 없다. 여기까지 읽는 사이에 계산 끝났는가? 100원짜리를 어떻게든 늘어놓고나서, 그 사이사이중에서 1칸에 500원짜리를 끼워넣는 방법의 수를 생각해 보면 된다. 그럼, 100원짜리 5개를 늘어놓는건, 역시 구별이 안되니까 한가지 방법밖에는 없다. 500원짜리 1개는 아무데나 끼워넣어도 되는데, 가장 앞에서 가장 뒤까지, 모두 6개의 칸이 있다. 따라서 100원짜리 5개와 500원짜리 1개를 이용해서 물건을 사는 방법의 수는 모두 6가지이다.

자. 이제 돈을 많이 모아서 100만원짜리 우유를 산다고 하자. 그걸 100원짜리 n개와 500원짜리 m개로 낸다고 하자. 그럼 도대체 몇가지나 있을까?

글이 길어져서 다음 글에서 계속…

  1. 내가 그랬었다.

    [본문으로]
  2. 100!은 엄청나게 큰 수이다. 직접 계산해 볼 수 있으면 도전해 보시라. 이걸 계산하기 위해서는 1부터 100까지 곱해야 하는데, 보통 2자리수 곱셈은 한번 할 때마다 자리수가 1개씩 늘어나고, n자리 수에 2자리 수를 곱할 때는 덧셈을 n번 해야 하니까, 대략 곱셈 5000번에 덧셈 5천번 정도 해야 할 것이다.

    [본문으로]

A4 대칭성과 중성미자 질량

요즘 교수님이 공부해보자고 하고 있는 A4 대칭성과 중성미자의 질량…

논문 찾아보는데, 논문 내용이 다 “A4대칭성에서 시작하면 중성미자 질량도 나오고 섞임각도 나옴. 이거 멋지지 않냐?” 라는 내용들이다. E. Ma랑 X. G. He랑 A. Zee랑 그런 사람들이 열심히 연구하고 있었더라. 2006년에. 내가 대학원에서 중성미자 배울 때. 그때 이런 논문들을 좀 접했어야 연구도 좀 재밌었었을텐데…

뭐, 그때도 그럭저럭 재미는 있었고, 지금도 재밌다. 아무튼.

A4대칭성은, S4의 순열 대칭 중에서 짝수인 것들만 골라온 것이다. 쉽게 말해서, 1,2,3,4를 늘어놓는 방법의 가짓수는 모두 4!=24개인데, 그중 1234를 짝수번 바꿔서 만들 수 있는 것들을 모아온 것이다. 가령 1243은 A4의 원소가 아니고, 2143은 A4의 원소이다. 물론 1423도 A4의 원소이다. 모두 12개의 원소가 있다. A4대칭성은 정사면체(Tetrahedral) 대칭성이라고도 부른다. 이것은, 정사면체의 각 꼭지점에 1,2,3,4의 번호를 붙여놓고 이리저리 돌리는 것에 해당하는 대칭성이기 때문이다.

문제는 중성미자를 비롯한 쿼크와 렙톤들이 A4대칭성을 갖고 있다고 가정하는 것에서 출발한다. 왜…-_-;

이것과 관련해서 공부한 내용들을 좀 올려볼 예정이다. 이따가.

조선일보가 광고해주는 소라넷


http://news.chosun.com/site/data/html_dir/2010/04/21/2010042102496.html

소라넷에서 광고료라도 받은건가…-_-;

이 기사를 보고 성인물에 관심있는 남성(애, 어른 할것 없이)은 모두 트위터에 계정 하나 만들고 소라넷 트위터를 팔로우 하겠다는 생각이 든다.

트위터에 떠 있는 소라넷 정보가 거짓이 아니라는걸 언론에서 확인해준 셈이니까.

하루에 1000명씩 늘고 있으면 100일 후면 김연아와 이외수를 제치고 1위에 올라갈 것 같다. 조선일보 덕분에 그 시간은 더 짧아질 것이다.

차라리 내 블로그를 광고해주지. 그게 세상에 좀 더 좋지 않을까. 물론 조선일보에 광고료를 줄 생각은 없지만.

추가 : 실제로 소라넷이 인기검색어다. 쩝. 내 블로그 유입 키워드를 보면 드러난다.



추가 : 소라넷으로 검색해서 이 블로그에 접속하는 사람들이 점점 늘어나고 있다. 정신 차리삼.

추가 : 생각해보니까, 소라넷 트위터를 팔로잉해서, 거기서 알려주는 소라넷 주소를 파싱해서 알아낸 후 자동차단시켜버리면 된다. 바보 아닌가. 자동차단시스템이 없다니.

추가 : 최근 방문자수가 급격히 늘고 있어서 내가 훈련소 간다는 것에 대한 열성 독자님들의 아쉬움에 따른 것이었나 착각했었다.



2주만에 접속 키워드에서 이제 소라넷이 절반을 넘어섰다. 훈련소 갔다 오면 소라넷이 내 블로그 유입 키워드를 점령할 듯.

아니, 성인사이트가 소라넷밖에 없나 -_-;

국가

케네디가 “국가가 너한테 뭘 해줬는지보다, 너가 국가에게 뭘 해줄건지 생각해보렴” 이렇게 말했다더라.

이번 천안함 사건을 쭉 지켜보면서 든 생각이다. 원인이야 어떻든, 천안함에서 희생된 장병들은 나라를 지키다가 생명을 잃었다. 북한에서 어뢰를 쐈든, 정비 불량으로 좌초되었든 그들은 나라를 위해 생명을 바쳤다.

그렇게 목숨걸고 지킬만큼, 그들에게 대한민국은 가치있는 나라였을까?

답은 듣지 못하겠다.

결국 가치를 만들어 내는건 산 사람들의 몫이니까.

시험기간의 추억

갑자기 시험기간의 에피소드들이 떠오른다.

1.

해석학 시간이었다. 해석학은 미분적분학을 좀 더 제대로 배우는 과목인데, 고등학교때 배운 미분과 적분은 그냥 공식 외워서 기계적으로 푸는 산수에 해당하고, 대학교 1학년때 배우는 미분과 적분은 해석학을 조금 친절하게 가르쳐 주는 과목이다. 그 난이도는, 음, 문과를 선택한 완전 평범한 고등학교 신입생이 수학2의 적분 문제를 풀기 위해서 수학의 정석 실력편을 처음 펼쳐들었을 때의 느낌이라고 하면 조금 이해가 가려나. 100점 만점에 평균 5점 정도 나오는 과목이다. 해석학 시간에는 교수님이 들어와서 문제지를 나눠주고 5개 정도의 문제를 하나씩 친절하게 설명해 주신다. 거의 30분정도는 강의를 듣는 느낌이다. 정말 친절하게, 문제를 푸는 방법을 거의 다 설명해 준다. 문제를 설명해주신 후에, “질문 있어요?”라고 물어보시는데, 아무도 질문이 없다. 아무도 문제 또는 그 설명을 이해하지 못했기 때문이거나, 또는 이해한 사람들은 질문이 필요없을 정도로 잘 이해했기 때문이다. 이 과목의 특징은, 수학 교사가 되기 위해서 문과 또는 다른 학과에서 교직이수하러 듣는 학생들이 바글바글 하기 때문에 강의실이 가득 찬다는 점인데, 시험때에도 반을 나누지 않고 한 강의실에서 모두 시험을 본다는 점이다. 하지만 그래도 부정행위가 존재할 수 없는데, 일단 앞, 뒤, 좌, 우, 어디를 봐도 백지이기 때문이다. 훤히 보이지만 베낄 수 없다.(0글자를 베껴 적어봐야 0글자다.) 간혹, 운이 좋은 경우 옆자리에 엄청난 속도로 답을 작성하고 있는 친구가 있을 수 있지만, 베껴봐야 0점이다. 일단 그 답이 정답인지 알 수 없고 (정답이 아니면 0점) 정답이라 해도 두 답이 똑같으면 부정행위이므로 0점이고, 그 답을 읽고 이해한 후 자신만의 언어로 새로 풀어 쓸 수 있을 실력이면 베낄 필요 없이 그냥 아는대로 쓰면 풀 수 있는 문제들이기 때문이다. 교수님이 나갈 때 가끔 친절한 교수님들은 책을 봐도 된다고 하신다. “책에 답이 있는 것 같으면 참고해도 돼요~” 이 말의 끝부분에는 하트모양도 하나 붙어있을 것 같다. 하지만 아무도 책을 펼치지 않는다. 책을 펼쳐서 답을 알아낼 수 있을 실력이면, 역시 쉽게 풀 수 있는 “쉬운” 문제들이기 때문이다.

가끔 관악산이나 신촌 또는 안암동 쪽으로 가야 할 친구들이 수능날 컨디션이 안좋아서 나랑 같이 수업을 듣게 되는 경우가 있는데, 그런 친구들이랑 수업을 들으면 본의아니게 피해를 보게 된다. 평균 5점짜리 시험을 평균 10점으로 올리는 엽기적인 짓을 자행하는데, 100명정도 되는 수강생의 평균을 두배 올리기 위해서 이친구 개인의 점수가 몇점이 되어야 하는지는 직접 계산해 보자.

2.

사실 해석학은 쉬웠다. 수학과의 해석학 테크트리는 미분적분학-해석학-복소해석학-실해석학-함수해석학으로 올라간다. 배우는 내용은 어차피 하나인데, 미분과 적분을 잘 정의하는 것이다. 별거 없다. 한번은, 복소해석학 시험을 다 보고나서 교수님이 100점 만점인 시험을 채점하신 후 50점 만점으로 고쳐준 적이 있었다. 중간고사였다. 그 점수 그대로 성적을 줬다간 그 다음해에 2배 늘어난 수강생을 맞이하게 되기 때문에 교수님도 조금은 미래를 걱정하는 마음에 (교수님의 미래다. 내년에 채점을 2배 더 많이 해야 한다는 것. 또는 수업을 2배 더 하게 되거나.) 성적을 조금 높여주는 것이다. 그때 40점 받은 선배는 포항공대 수학과 대학원에 진학했다. 난 당시 30점으로 2등 먹었었다.

3.

난 2학년때 3학년꺼 듣고, 3학년때 4학년 과목을 듣고, 4학년때 2학년 과목을 듣는 미친짓을 자주 했다. 물리학과+수학과 복수전공하면서 4년만에 졸업하려면 미쳐야 했다. 3학년때 들은 4학년 과목인 푸리에 해석학 시간에, 갑자기 선배 하나가 “교수님 야외수업해요!” 라고 외쳤다. 그 수업은 그 다음날 새벽 4시까지 진행되었다. 1차부터 6차까지 교수님이 다 계산했던, 그런 하루였다. 그 뒤로 아무도 야외수업하자는 얘기 안꺼냈음.

푸리에 해석학 시험은 5문제였고, 교수님이 시험시간에 시험지를 들고와서 나눠주시면서 문제를 설명하고, 제출은 그 다음주, 즉 기말시험 다 끝난 후의 수요일에 제출하는 것이었다. 무려 1주일이나 줬다는 것이다. 토론하는 건 상관 없지만 양심껏 베끼지는 말라는 주의사항만 주시고는 그냥 집에 가서 풀어보라고 하셨다. 다른 과목들 시험이 목요일날 끝나서, 금, 토, 일, 월, 화, 그렇게 5일동안 풀었는데 3문제 풀고 2문제 정도 부분점수 받았다. 학점은 그냥 학번 순서대로 받아서 난 막내니까 B+. 감사했다. 채점한대로 성적이 나왔으면 D정도 받았을 것이다.

4.

대학원때 함수해석학을 들었었다. 하지만 과목 이름만 함수해석학이지, 교재는 학부생들이나 보라고 쉽게 쓴 “Principles of mathematical analysis” (W. Rudin)의 책을 썼다. 5명의 수강생 중에서, 정말 예쁜 여자 선배 한명 빼고 나머지 4명은 그 책의 연습문제 하나를 푸는데 1주일 내내 토론해야 했다. 그 여자 선배는 교수님이 실력을 인정한 유일한 학생이었는데, 석사 받고서 위스콘신으로 장학금 받고 유학갔다. 참고로 W. Rudin의 그 책은 수학과 학부때 배우는 4년치 과정이 다 들어가 있는 책이다. 한학기 내내 배운게 3장까지였던가.

5.

2학년 1학기때, 중간고사에서 95점을 받아서 2등을 했다. 1등은, 무려 기계공학과의 최씨성을 가진 아저씨. 군대 갔다와서 머리가 녹슬었다고 수업시간에 그렇게 말을 하더니 어떻게 공부를 했는지 1등을 했다. 보통은 공대에서 물리를 좀 제대로 배워보겠다고 물리학과 수업 들으러 왔다가 4주만에 gg치고 그냥 강의 포기를 하거나, 중간고사 불참으로 F를 받는 경우가 대부분인데 그는 대단했다. (이건 공대생을 비하하려는게 아니라, 실제로 많은 사례가 있다.) 아무튼, 그래서 당시 수리물리 조교 선배에게 불려가서 갈굼받고, 어쨌든 기말고사에서는 1등을 했다. 나 참. 이 얘기를 하려던게 아니었지.

어쨌든 기말고사때는, 교수님이 작정을 하셨는지 문제가 어렵게 나왔다. 감독을 하던 조교 선배가 힌트도 많이 주고 그랬는데 어쨌든 애들 점수는 반토막 났다. 한 10명쯤 남자, 감독하던 형이 아이스크림을 쐈다. 포기하고 일찍 나간 애들은 그 맛을 모를 거다.

6.

2학년 1학기때 현대물리 시험은 모두들 기출문제에서 나온다는 것을 알고 있었다. 하지만 하필, 시험 전날 늦게까지 연구에 매진하시던 교수님이, 모여서 스터디를 하고 있던 우리를 발견하셨다. “이건 뭔가?”

그리고 그날 교수님은 밤새 뭔가를 하셨고, 기말시험은 기출문제 목록에 새로운 유형이 추가되었다.

7.

2학년 1학기 때 고전역학 시험을 보고 있었다. 감독을 하던 조교 형이 이렇게 외쳤다. “여름방학까지 앞으로 15분 남았다. 안나가냐?”

마지막 시험이다보니…

아무튼 그 말에 15분을 못버티고 나간 애들 몇 있더라.

8.

3학년때 전산물리 시험은 내가 요점정리를 만들었었는데, 카오스에서 안나올거라고 자신만만하게 외쳤다가 피봤다. 수강생 전원이 내 요점정리를 보고 공부했었기 때문에, 그 카오스 문제는 아무도 못 풀었다. -_-;

9.

3학년때 4학년 핵물리 수업을 들었었다. 역시 미친짓이긴 한데. 이 과목의 담당 교수님은 앞에 얘기한 현대물리와 같은 교수님이었다. 4학년은 취업 준비와 대학원 준비 등이 겹치는 중요한 시기이기 때문에 교수님은 친절하게 예상 문제를 많이 알려주셨고 모든 수강생 (6명)은 예제와 노트 필기 위주로 철저하게 공부했다.

그중, M스킴이라는 것이 있었는데, 시험 감독을 하시던 선배님이 시험을 보던 다른 선배의 답안지를 보더니 “넌 혼자 공부했냐?” 이렇게 물어보신다. 사실이었다. 우린 5명이 같이 공부했고 그 선배는 혼자 공부했었다. M스킴을 전개할 때는 표가 길게 늘어지는데, 우린 모두 세로로 썼고 그 선배 혼자 가로로 썼다더라.

학점은, A+, A, B+이 사이좋게 2명씩, 학번 순으로 나왔다. 난 물론 B+이었다.

잊어먹기 전에 소소한 기억들을 정리해 보았다.

고생을 사서 해야 하나

옛날 어른들로부터 전해져 내려오는 말씀. 젊었을 땐 사서 고생해야 한다.

누구나 힘든거 싫어한다. 누구나 편하게 살고 싶어한다. 이건 애나 어른이나 마찬가지다. 나 역시 굉장히 게으르고 나태가 근본인 인간이다.

온실속의 화초라는 말이 있다. 너무나 좋은 환경인 온실 안에서만 자란 식물은, 온실 밖으로 나왔을 때 적응하지 못하고 금방 시들어 버린다. 그렇기에 온실속의 화초란 말은 세상 물정 모르는 사람에게 하는 말이기도 하다.

왜?

고생을 뭐하러 하지? 가장 근본적인 질문이라고 할 수 있다. 인간의 본성은 편한것을 추구하는 것인데, 어째서 일부러 고생해야 하는가? 나는 편하게 살고 싶고, 그래서 지금 편하게 살겠다는 것인데 왜 그걸 하지 말라고 하는 건가?

스스로 고생을 했다고 생각하고 있다. 어쩌면 그건 자만일 수 있다. 하지만 내가 남의 인생을 살 수 없는데 어떻게 나보다 힘들게 산 사람들을 생각할 수 있을까?

온실에서 안나가면 되는 거잖아. 안나갈 수 없다고? 온실 문을 열어제끼고 가혹한 환경에 내놓은, 그런 타인들이 나쁜거 아닐까? 난 곱게 온실 속에서만 살고 싶었는데, 조용히 살고 싶은 나를 가만히 놔두지 않은 건 남들 잘못이잖아. 그럼 내가 지금 힘든게 내 잘못이 아니잖아? 내가 살고싶은 대로 살지 못하는게 왜 내 잘못이지?

편하게 살고 싶고, 놀면서 먹고 싶다. 약육강식의 세계에서, 약한자는 도태되게 마련이지만 나는 강해지지 않고 나약하게 남아있고 싶다. 순진한 건가?

겁주지 마. 당신도 그렇게 강하지는 않잖아. 남들보다 강한척 하고 있거나, 남들보다 조금 강하거나, 그정도 아닌가? 계획대로 되는 삶도, 계획대로 되지 않는 삶도 온전히 내 것이다. 때로는 누가 나를 도와줘서 편하게 성공할 수도 있고, 죽어라 고생했는데 그냥 고생만 하다 죽을수도 있다. 편차가 너무 커서, 잘못되는 경우가 너무 두려우니까 가장 안정적인 길을 찾는 것이다. 하지만 안정적이라는 거, 사실은 바닥이라는 거 아닌가? 더이상 내려갈 곳이 없는 바닥 상태가 가장 안정적인 상태인 법이다.

오르지 못할 나무는 쳐다보지도 말라는 옛말은 아마 잘못 전해졌던 것이다. 올라갔다가 내려올 자신이 없으면 쳐다보지도 말았어야 한다.

고생하는 것을 두려워하지 말라는 뜻이 아니다. 충분히 두려워 하고, 두려움에 덜덜 떨면서 살아갈 수밖에 없다. 언젠가 빛이 비추리라는 희망도 무작정 가질 필요는 없다. 하지만 길을 찾는 건 멈추지 말아야 한다. 언제까지 힘들게 살아야 하냐면, 음, 그건 내가 고요한 마음을 되찾을 때 까지.

중간고사 끝

중간고사가 끝났다. 아니 근데, 강의실 들어가서 공부하는데 누가 뭐 물어보길래 가르쳐줬더니 고맙다는 말도 없이 그냥 가네…

그런거 따지는 사람도 아니고 굳이 듣고 싶었던 것도 아니지만 그사람 참 대충사는 듯. 더군다나 남자 주제에 -_-

그리고 나 빼고 거의 모든 사람이 책상에 뭔가를 열심히 적었다. 뭔가를 지우는 사람들은 자기가 뭔가를 적기 위해서 지우는 사람들이다. 물론 교수는 그런 그들의 노력을 비웃기라도 하듯 매우 쉬운 단답형 문제를 출제했다. 덕분에 한문제 틀렸다. 쩝.

매번 느끼는 거지만, 왜 답안지 제출할 때가 되면 나 혼자 남아있는걸까.

소프트웨어 개발 방법론

소프트웨어를 개발하는데에는 여러가지 방법이 있다. (그리고 이건 예상 시험문제다.)

그래서, 소개해 보자.

우선, 폭포식 방법이 있다. 이건 밥을 짓는데

1. 몇인분을 지을 것이고, 쌀은 얼마나 넣어야 하고, 물은 얼마나 넣어야 할지 정한다. 쌀과 물의 양을 정확히 알기 위해서는 많은 경험이 필요하지만 실제로 그건 곤란하다.

2. 밥을 짓기 위한 요구사항을 정확히 분석한다. 밥에 어떤 성분들이 들어가야 하는지 고객의 요구에 맞춰서 분석해야 한다. 보리밥을 원하는지 현미밥을 원하는지 흰밥을 원하는지.

3. 밥을 어떻게 할 것인지를 생각한다. 우선, 전기밥솥으로 할건지 가스밥솥으로 할건지 가마솥으로 할건지 파악한다. 물은 생수를 쓸건지 수돗물을 쓸건지 정하자. 쌀을 얼마나 불릴 것인지도 정해야 하고, 밥솥에 사용할 메소드로 압력솥을 쓸건지 그냥 끓일건지 아니면 쪄낼건지 정해야 한다.

4. 밥을 한다.

5. 밥맛을 본다.

6. 준다.

이 방법은, 한번에 많이 할 때 써먹을만하다. 그리고 일단 해놓은걸 물리기 없이 그냥 내놓을 수 있을때 가능하다. 단점은, 밥맛에 대한 피드백이 불가능하기 때문에 맛 없어도 복불복.

이 방법을 조금 개선해서 V자형 방법이 있다. 이것은 폭포식 방법을 그대로 따라가는데, 여기에 추가적으로 밥맛을 보고 맛없으면 다시 하는 과정을 포함한다. 물의 양이 적절한지 계속해서 검증하고, 불린 시간이 적절한지 계속 검증하고, 밥짓는 방법이 적절했는지 계속 검증한다. 각 단계별로 검증해서 최종적으로는 맛있는 밥이 완성된다. 이것은 다른 조건보다 “맛있는 밥”이라는 절대적인 목표를 달성하기 위한 경우에 적절하다.

일정 중심의 모형도 있다. 이건 폭포식 방법을 따라서 밥을 짓는데 중간에 그냥 내놓는다. 밥을 하기 위해서 필요한 요소들 중에 우선순위가 높은 것들을 일단 만족하다가 밥때 되면 그냥 내놓는 것이다. 가령, 현미에 생수를 쓴 압력밥솥에 한 밥을 하고 싶다고 하자. 그리고 우선순위를 현미, 생수, 압력솥 순서대로 정해져 있다고 하자. 근데 현미랑 생수가 있는데 압력솥이 제작중이다. 당장 밥은 먹어야 하는데 압력솥이 올 때까지 기다리려면 그 전에 굶어죽을수도 있다. 따라서 일단 있는 걸 갖고 밥을 해서 내놓는다. 이것은 “밥때는 절대로 놓치면 안된다”는 목표를 달성할 때 적절하다. 우선순위가 높은것부터 해결하는 방법이다. 다만, 나중에 압력솥이 오더라도 이미 밥을 먹은 상태기 때문에 압력솥을 괜히 주문했다는 아쉬움은 남을 것이다.

프로토타이핑 모형을 쓸 수도 있다. 쌀을 적당히 불려서 하얗게 만들어 놓고 밥그릇에 담은 후 “이정도의 밥이면 됩니까?” 물어보는 것이다. 폭포수 방법과 다른 점은, 밥이 별로 맛이 없어 보이면 이것저것 바꿔볼 수 있다는 것이 장점이다. 다만, 밥먹을 사람이 “오오, 이정도면 이제 밥은 금방 나오는거지?”라고 착각하게 될 수 있다는 점이 문제다. 그리고 때깔만 좋은 밥을 보고 맛도 좋을 거라는 착각에 빠질 수 있다는 점이다. 밥이 맛있을지 없을지 불안할 때 사용한다.

점증적 모형은 밥을 조금씩 하는 방법이다. 일단 밥을 해서 내놓고, 점점 더 많은걸 추가한다. 쌀밥을 내놓고, 현미밥을 내놓고, 잡곡밥을 내놓는 방식이다. 일단은 밥을 먹일수 있다는 점에서 애자일하다고 할 수도 있다. 교재에서 나중에 나온다고 하는 익스트림 밥짓기 방법과 유사하다고 한다. 배고프다.

나선형 모형은 밥짓는 과정에 숨어있는 위험요소를 찾아내서 미연에 방지한다. 가령 압력솥이 밥짓다가 터질 수도 있는데, 그걸 방지하기 위해서 그냥 냄비에 밥을 할 수 있다. 이것은 밥짓기가 실패할 수 있는 위험을 사전에 막는 방법이다. 그리고 일단 밥을 해서 성공한 후, 압력솥을 써서 다시 성공시킨다.

진화적 밥짓기 모형은 일단 밥을 내놓은 후 밥먹는 사람의 반응에 따라 빠르게 밥을 새로 지어서 바꿔주는 것이다. 프로토타이핑이랑 비슷할 수 있는데, 프로토타이핑은 먹기 전에 일단 대충 겉보기에만 좋게 만들어 놓고 나중에 밥을 해주는 것이고, 진화적 밥짓기는 일단 먹여보고 반응을 살펴서 그 다음의 밥짓기에 반영한다는 점이 다르다.

자, 이제 당신도 맛있게 밥짓기를 할 수 있다.