월요일, 12월 31, 2012

[독서광] 부분과 전체

(이 귀한 사진은 Silphion System: 최강보스 한자리에 모여라에서 가져왔습니다.)

'부분과 전체'를 오래 전에 구입해놓고서 책장만 차지하고 있었던 터라 중고 시장에 팔 심산으로 페이지를 이리저리 넘겨보았다. 뭐 역시 어려운 이야기만 잔뜩 나오는 느낌이라 그냥 팔려고 하는 순간, 아주 우연히 '혁명과 대학생활 II'에 눈이 가게 되었고 다음과 같은 문장이 돋보기로 확대한 듯이 엄청나게 크게 망막에 맺혔다.

"노인들이 항상 그렇듯이 선생님(하이젠베르크) 또한 청년들의 활동을 반대하는 그러한 경험만을 인용하고 게십니다. 거기에 대하여 우리들은 더 이상 할 말이 없습니다. 우리는 역시 고독할 뿐입니다.

위 내용을 읽고 나면 '청년들의 활동'이 무척 궁금해지지 않는가? 후후후. 이미 눈치채신 독자분들도 계시겠지만... 여기서 이 청년들의 지도자는... 다름 아닌 '아돌프 히틀러'라는 점이 문제다. 계속해서 하이젠베르크는 전쟁의 위험한 상황을 피해 안전한 다른 나라(특히 미국)로 피난하라는 주변의 충고를 받고서도(미국으로 망명하려 했으면 0 순위로 가능했을테지만...) 전후 독일의 재건을 돕고 히틀러의 핵무장 속도를 늦추고자는 일념하에 끝까지 독일에 남는 용기를 발휘하는데, 이는 절대로 쉽지 않은 결정으로 보인다. 바로 이 부분을 읽고 나서 처음으로 돌아와서 다시 한번 정독을 했는데, 감동 물결을 넘어서(번역 상태가 눈물이 앞을 가릴 수준이지만, 원문이 워낙 좋으니 그냥 읽을만하다) 2012년 올해의 책으로 선정해 보았다.

이 책은 처음에 등장하는 1920년대의 흔한 물리학자 모임 사진에도 나오듯 기라성 같은 인물 현대 물리학을 개척한 선구자들이 한치의 양보 없이 팽팽한 토론을 벌이는 모습을 생성하게 전달한다. 어느 정도냐 하면, 보어, 시뢰딩거, 아인슈타인 급이 되지 않으면 조연에도 끼지 못한다. 실제로 아인슈타인까지 참여한 물리학 이론의 토론 장면에서 사고 실험에서 아인슈타인이 며칠 연속으로 혼쭐 나는 내용이 나오는데 무협지를 능가하는 이렇게 통쾌한 내용을 혼자 읽기가 아까울 지경이다. 다음은 아인슈타인의 친구인 파울 에렌페스트가 보다 못해 아인슈타인에게 권고한 내용이다.

"아인슈타인! 나는 자네에 대하여 부끄러운 생각이 드네. 자네는 마치 자네의 상대성 이론에 반대했던 사람들처럼 이 새로운 양자이론에 반대하고 있지 않은가?"

지난번 소개한 현대 수학의 아버지 힐베르트를 읽으면서도 느낀 바지만, 역시 (심지어 아인슈타인 급 천재를 포함해) 사람들은 사고의 근거가 되어왔고 과학 연구의 기반이 되어왔던 '표상'들을 포기하기가 얼마나 어려운지(이 쯤에서 우리는 힐베르트의 위대함을 다시 한번 깨닫게 된다) 하이젠베르크도 책 곳곳에서 한숨을 내쉬고 있다. 그럼에도 불구하고 볼 수도 없고 만질 수도 없고 적절한 언어로 표현하기조차 힘든 양자역학을 하이젠베르크는 주변 학자들의 무지막지한 반론과 공격 속에서도 놀랄 정도로 정교하게 다듬어가는 우직한 물리학자의 뱃심을 보여준다다. 본문 중에 물리학, 철학, 논리학, 기타 다른 자연 과학을 총망라해 토론이 유달리 많이 나오는데, 다들 정교한 논리와 이론으로 무장하고 자기 생각을 차근차근 풀어내는 모습을 보고 있으면 정말 이 세상에 대단한 사람이 참 많구나 하는 생각이 들지 않을 수 없을 테다.

결론: 이 책은 하이젠베르크가 보고 듣고 느낀 점 중에 중요하다고 생각한 내용을 총정리하고 있으므로 상당히 깊이가 있는 내용임에도 불구하고 그 어렵고 복잡한 개념이 머리 속에 쏙쏙 들어온다는 장점을 제공한다. 물리학, 철학, 논리학, 정치(응?), 형이상학과 종교에 관심이 많은 분들께 강력하게 추천하고 또 추천한다.

금요일, 12월 28, 2012

[영화광] 호빗과 HFR

영화 자체만으로도 무척 재미있었지만, 상업 영화 역사상 최초로 HFR(High Frame Rate)이라는 기술을 적용했다는 이유만으로도 호빗을 _두 번_ 볼 수 밖에 없었다. 시간과 돈을 투자해 먼저 IMAX 3D HFR로 다음으로 IMAX 3D로 봤는데... 개인적인 생각이지만 HFR의 압승이다. 아날로그 TV를 보다가 HDTV를 본 느낌이라고 해야 하나? 지금까지는 크고 밝은 화면 때문에 가능한 IMAX를 택했는데, 이제 선택이 가능하다면 IMAX+HFR을 택해야겠다.

잠시 기술적인 설명을 해보자. HFR은 초당 48프레임으로 영화를 상영하는 기법이다. 지금까지 업계 표준이 초당 24프레임인 이유는, 35mm 필름 릴에서 들을만한 오디오를 재생할 수 있는 최소 비율이기 때문이다. 하지만 아날로그 필름 세상에서나 합당한(24프레임이라는 기술 제약으로 인해 지금까지 우리는 상영 시간 절반 이상을 어둠 속에서 보내고 있었다. ㅋㅋ) 이런 프레임 제약이 디지털 카메라가 일반화된 지금까지도 계속 유지되는 상황이니... 역시 기술 전파는 느리다는 생각이다. 그렇다면 HFR을 적용하면 어떤 장점이 있을까?

  1. 자연스러운 움직임: 특히 격렬한 전투씬이나 운동 경기에서 자연스런 움직임을 재현해준다. --> 호빗 중반 이후의 역동적인 전투 장면을 보면 확실하다.
  2. 밝기: 광원은 그대로라도 더욱 밝은 화면을 보여준다. --> 호빗 분위기가 밝아졌다고 말하는 분들이 많은데, HFR이 한 몫했다는 생각이다.
  3. 3D에서 어두움 보정: 3D용 편광 안경을 낄 경우 아무래도 전반적인 빛의 투과율이 조금 낮아지는 데다(편광의 의미를 생각해보라) 무작정 밝게 만들 경우 화면이 떨리기 때문에(영화관에서 2D 예고편 상영 중에 3D 안경을 쓰면 흰색 계통의 밝은 부분이 떨린다. 직접 실험해보시라) 3D에서는 화면을 조금 어둡게 표현하는 경향이 있는데, HFR을 사용할 경우 화면이 밝은 데다 화면 떨림을 최소화할 수 있으므로 3D에 아주 유리하다.
  4. 선명함: 떨림과 번짐이 없으므로 디테일을 살리는 화면 연출이 가능하다. --> 옷, 무기, 방, 성, 동굴 등 디테일한 소품들이 즐비한 호빗에서 엄청난 장점을 제공한다.

물론 HFR에 대해 거부감이 드는 분들도 많으리라는 생각이다(부작용: i) 영화가 미드처럼 보인다(ATSC 규약에 정의된 프레임 비율은 이미 30Hz다), ii) 눈에 들어오는 정보량이 많아지므로 머리 속에서 예전 버릇을 못 버리고 다시 보간법을 적용하려다 보니 어지럽다. iii) 윤곽이 너무 날카로워서 눈이 시린다). LP에서 CD로 넘어갈 때도 그랬고, 아날로그 필름에서 디지털 필름으로 넘어갈 때도 그랬었다. 하지만 HRF을 적용했기 때문에 작품성이 떨어진다는 주장은 근거가 희박하고... 호빗 2, 3부작까지 보고 나면 아마도 다음부터는 HFR을 적용하지 않은 판타지 영화는 비교 당할 표준이 새롭게 생겼기에 무척 힘든 시절을 겪지 않을까 싶다.

아직도 HFR이 주는 장점이 잘 와닿지 않는다면... HIGH FRAME RATE VIDEO PLAYBACK에 가서 샘플 비디오를 감상하며 직접 눈으로 확인해보시기 바란다. 컴퓨터가 아니라 영화 스크린일 경우 더욱 더 큰 차이를 보인다는 사실도 기억하면 좋겠다.

오늘의 결론: HFR(그리고 용감한 피터 잭슨 감독 만세!)

EOB

토요일, 12월 22, 2012

[독서광] 마르크스와 함께 A 학점을

'시험 잘 보며 세상 바꾸기'라는 상당히 이상한(?) 제목이 붙은 이 책은 시험 요령을 알려주는 척 하면서 자본주의(즉, 부를 생상하고 분배하는 체제에 대한 비밀)의 법칙을 설명하고 있다. 지은이는 오랫 동안 대학 교수로서 경험한 내용을 바탕으로 학교에서 점수를 잘 받는 방법과 자신의 주전공인 마르크스에 대한 이야기를 절묘하게 짬뽕하는 방법으로 학점도 잘 받고 자본주의에 대한 이해도 높인다는 목표를 삼은 듯이 보인다. 물론 한 때 공부 기계(응???)였던 B급 프로그래머에게 '점수를 잘 받는 방법' 따위는 그리 신선하지 않았지만 말이다. 대통령 선거 전에 이 책을 읽었을 때는 '점수를 잘 받는 방법'과 '자본주의 체제에 대한 비밀'에 대한 내용이 (다들 이미 충분히 다 아는 내용이라고 생각했기에) 따분하고 지루하고 재미가 없다고 서평을 쓰려 했으나... 선거가 끝나고 나서 태도가 조금 바뀌었다고 고백하겠다. 이 책을 집필한 저자의 의도를 어렴풋이 알게 된지라 재미있다는 서평을 올리기로 결심했다. 저자의 의도라... 사람들은 시험보는 요령도 잘 모르고(정말 요령을 부릴 줄 안다면 모두 좋은 대학갔을 테니...), 자본주의 체제에 대한 비밀도 모른다(정말 자본주의 체제에 대한 비밀을 안다면 <중간 생략>)는 현실을 타파하기 위한 저자의 몸부림이 아닐까 싶다.

이 책은 사회 비판적인 내용을 직설적으로 담고 있기 때문에 어떤 분들은 속이 다 시원해지는 느낌이 오겠지만... 어떤 분들은 분서갱유하고 싶은 욕구가 들지도 모르겠다. T_T 본문에 나오는 강도가 쎈 돌직구 몇 개를 한번 볼까?

여러분은 평등한 기회는 고사하고 웬만큼 해볼만한 기회조차 받은 적이 없고, 앞으로도 그럴 것이다. '기회의 평등'이란 임금님의 새 옷에 붙은 디자이너의 상표에 불과하다. 바로 이것이 자본주의가 감추고 싶어하는 비밀이다.
다른 사람에게 닥친 불행이 나에게 금전적 이익을 안겨주는 체제에서, 실제로 많은 사람들이 남의 불행을 바란다. 그 대가로 어쩔 수 없이 죄의식을 느끼기도 하면서 말이다.
우리 사회는 부자에겐 항상 돈이 부족하고, 가난한 사람에겐 항상 돈이 너무 많다고 가정하는것 같다. 대공황이 한창일 때 헨리 코드가 한 말이 그 좋은 예다. "지금이야말로 좋은 때인데 그걸 아는 사람이 드뭅니다."
우리의 자본주의 사회는 한 손으로 법적 권리를 나눠주고는 다른 손으로 그걸 빼았는 일에서 타의 추종을 불허한다.
물론 언론은 자유롭다. 언론을 소유할 능력이 있는 사람에게는...
자본가들은 여러분이 소비자로서 현명한 선택을 하기 위해 알아야 할 사실들을 어떻게든 감추고 싶어 한다. 자본이 미디어를 장악한 현실에서, 우리가 유권자이자 시민으로서 뭔가 근거를 지닌 선택을 하고자 할 때 알아야할 정보를 얻기도 쉽지가 않다. 주류를 이루는 이야기는 온통 '선택의 자유'이지만, 우리가 현실에서 보는 것은 광고와 홍보, 뉴스 프로, 연예, 그리고 (감히 말하건데) '교육'이 핵심적 역할을 하는 철저한 조작극이다.
보수주의자들은 세 부류로 나뉜다. 물질적으로 아주 풍족하고, 그래서 자신의 안락함이 가난한 사람들의 외침 때문에 깨지지 않기를 바라는 사람들, 물질적으로 매우 불안정해서 사회적 사다리의 바로 밑 칸에 있는 자들과의 경쟁이 두려운 사람들, 그리고 그냥 자기와 같지 않은 모든 사람과 새로운 모든 것을 증오와 편견의 눈으로 보는 사람들이다.
대부분의 미국 보수주의자들은 현 상태의 유지를 바라기보다, 고통 받는 서민들이 불만이 있더라도 내놓고 말을 못하던 '좋았던 옛 시절'로 돌아가길 원하는데, 사실 이렇게 이상화된 시절은 그들의 상상속에서만 존재한다.

그런데, 본문 중에 나오는 이런 돌직구와는 달리 후반부로 접어들면서 등장하는 (사회주의 세상을 건설해 모든 사람에게 행복을 주자는... 응?????) 대안 제시 부문에서는... 역시 시원스런 답을 해주지 못한다는 생각이다. 비판은 쉽지만 대안은 어렵다는 명제는 변치 않을 듯이 보인다.

EOB

금요일, 12월 14, 2012

[일상다반사] MongoDB NoSQL로 구축하는 PHP 웹 애플리케이션 번역서 출간

지난번에 소개드린 '악성코드와 멀웨어 포렌식' 번역서 출간 소식에 이어 이번에는 'MongoDB NoSQL로 구축하는 PHP 웹 애플리케이션'이라는 다소 긴 제목이 붙은 번역서 출간 소식을 독자 여러분들께 전해드린다. 최근 NoSQL이 사람들의 주목을 많이 받고 있긴 하지만, 관계형 데이터터베이스 기술과 비교해 노하우를 전달하는 자료나 책이 상당히 부족하므로, 비록 번역서긴 하지만 조금이라도 개발자 여러분의 목마름을 해소할 수 있으면 더할 나위 없겠다.

이 책은 NoSQL 계열 중에서도 문서 중심 아키텍처로 유명한 몽고DB를 설명하고 있다. 몽고DB 자체에 대한 설명은 물론이고 웹 개발자들에게 가장 널리 알려진 PHP를 사용해 몽고DB용 애플리케이션을 제작하는 방법을 자세히 설명하므로 NoSQL(특히 몽고DB)에 입문하는 개발자들이 읽어봐도 부담이 없다는 생각이다. 이 책은 몽고DB 버전 1.8.x 계열을 다루고 있기 때문에 가장 최신 버전인 2.2 계열과 비교해 조금 오래되었다는 생각이 들지 모르겠지만, 몽고DB에서 지축을 뒤흔들만큼 급격한 변경은 일어나지는 않았기에 기초 지식을 습득하는 과정에서 별다른 어려움은 없으리라 예상한다. 2.2.0 backward breaking을 살펴보면 알겠지만, 몽고DB 개발 공동체는 상당히 보수적이다(이럴 때는 천만다행 :)).

현재 Yes24교보문고등에서 절찬리에 예약판매 중이니 많은 성원 부탁드리겠다. 독자 여러분을 위해 역자 서문을 정리해드린다.

최근 클라우드 시대가 도래하면서 업계에 NoSQL 열풍이 불고 있다. 일부에서는 좋았던 관계형 데이터베이스의 시절은 저물고 NoSQL 시절이 도래하고 있다는 다소 과격한 주장까지 나오고 있으니, 개발자라면 누구나 한 번쯤 NoSQL에 대해 관심을 보여도 전혀 이상하지 않다. 하지만 컴퓨터 분야의 신기술이 나올 때마다 늘 반복되듯 중요한 것은 용어가 아니라 실체다. 하지만 실체는 직접 만져보고 써보기 전에는 관념에 불과하므로 어떻게든 시간을 투자해 신기술과 친해져야 할 필요가 있다. 그렇다면 어떻게 새로운 기술을 실전에 적용해볼까? 데이터베이스에 “Hello, World!”를 넣고 검색하는 테스트 프로그램만 작성해서는 감조차 오지 않을 것이고 그렇다고 실제 프로젝트에 적용하기에는 짊어져야 할 위험이 너무 크다. 방법은? 다행스럽게도 몽고DB 분야에서는 이 책이 신기술 탐험에 나선 여러분들을 도와줄 것이다.

이 책은 현재 나와 있는 여러 NoSQL 계열 데이터베이스 중에서 문서 중심(document-centric) 데이터베이스인 몽고DB를 설명하는 책이다. 하지만 단순히 NoSQL 이론을 늘어놓은 다음 몽고DB 관리법과 사용법만 설명하는 선에서 끝내는 대신, 웹 개발자라면 누구나 손쉽게 사용할 수 있는 PHP 스크립트와 자바스크립트를 사용해 가상적인 웹 서비스를 실제 몽고DB로 구축하는 방법을 단계별로 차근차근 소개한다. 따라서 이런 전개 방식은 실질적인 구현을 토대로 추상적인 개념을 이해하는 과정에 큰 도움을 주리라는 생각이다. 이렇게 컴퓨터에서 실제로 다양한 실험 과정을 거치고 나면 비로소 몽고DB의 실체에 한 걸음 다가간 자신을 발견할 수 있을 테다.

이 책에서는 몽고DB의 훌륭한 특성(특히 맵리듀스와 지리공간 색인)을 실제 현장에서 어떻게 적용할지를 놓고 충분히 고민한 내용을 담고 있다. 간단한 블로그를 만들어 로그 분석기를 추가하는 방법으로 몽고DB의 맵리듀스 기능을 실시간으로 활용하는 예제나 방문객의 위치에 인접한 음식점을 찾아주는 위치 인식 애플리케이션을 만들어 W3C API와 지리공간 색인 기능을 활용하는 예제는 (비록 상용에서 직접 사용하기는 어려울지라도) 몽고DB의 특성이 잘 녹아난 사례라 볼 수 있겠다. 몽고DB에 처음 입문하는 개발자를 대상 독자로 삼아 지나치게 복잡하지 않으면서도 그렇다고 부족함도 없이 딱 필요한 만큼 예제 중심으로 설명하는 방식을 따르기에 NoSQL에 대한 이론적인 사전 지식이 없더라도 웹과 PHP에 대한 기초 지식만 있으면 부담 없이 이 책이 여러분에게 다가올 것이다.

물론 몽고DB를 처음 접하는 독자를 위해 쉽게 작성하느라 중급 개발자들을 소외시키지도 않았다. 이 책에서는 클라우드에서 흔히 일어나는 다중 노드 배포 과정에서 분명히 직면할 세션 관리를 몽고DB를 사용해 처리하는 방안은 물론이고, 비동기식 특성을 사용해 여러 노드에서 동시에 접근 가능한 로그 시스템을 추축하는 방안도 소개한다. 또한 레거시 시스템을 버리지 못하는 상황에서 관계형 데이터베이스 시스템인 MySQL과 몽고DB를 함께 활용하는 방안을 소개하며, MySQL에서 몽고DB로 완전히 이전할 경우를 대비해 양쪽의 차이점과 주의 사항을 쉽게 설명하는 배려도 잊지 않고 있다. 마지막으로 몽고DB의 특성에 맞춰 보안과 성능 향상을 위해 기본으로 고려해야 하는 내용도 빠짐없이 다루고 있기에 상용 환경에서 고급 기능을 원하는 개발자라면 이를 출발선으로 삼아도 좋겠다.

백문이 불여일견이라고 이 책을 읽고 나서 LAMP(Linux-Apache-MongoDB-PHP) 스택에서 자신만의 개성 만점의 웹 애플리케이션을 직접 개발해보자. 여기서 한걸음 더 나가 몽고DB 위에 만들어진 뛰어난 오픈소스 소프트웨어를 분석해 몽고DB의 고급 기능을 적용하는 방법도 익혀보자. 그러고 나서 다시 한 번 직접 개발한 소프트웨어에 고가용성과 고성능을 달성하기 위한 특질을 추가해보면 몽고DB의 큰 그림이 머리 속에 그려질 것이다. 이제 몽고DB행 티켓을 손에 넣었으니, 애독자 여러분들 앞에 펼쳐질 즐거운 여행을 기원하겠다.

토요일, 12월 08, 2012

[일상다반사] 연금저축 수익률이 진짜로 형편없을까?

연금저축 수익률이 (생각보다) 낮다고 언론들이 이구동성으로 난리를 치다가 연말정산의 시기가 도래하자 연금펀드 수익률이 높다고 말을 바꾸고 있다. 며칠 전 애물단지 연금저축 기자가 직접 갈아타보니라는 기사에서는 친절하게 연금저축을 연금 펀드로 바꾸는 방법까지 설명해주는 상황이다. 그런데 주식으로 갈아타라고 은근슬쩍 넛지하는 내용도 그렇지만, 이론적인 토대(?)를 제공하기 위해 본문에 나오는 수익률 계산법이 정말 눈물난다. 뭐 비단 J일보뿐만 아니라 산수 계산에 대해서는 다른 신문사도 도토리 키를 재고 있으니, 경영/경제 블로그를 운영하는 입장에서 이런 이해가지 않는 계산법에 대해 한 마디 하지 않을 수 없다! 자 일단 본문을 살펴보자.

2001년 가입, 기자가 11년간 꼬박 부어온 A은행의 연금신탁의 수익률을 확인한 게 한달 전이다. 은행에서는 ‘누적 수익률이 25%’ 라고만 표기했다. 연환산 하면 2%대, 예적금 금리만도 못한 수익률이다.

애독자분들이야 척 보면 잘못된 곳이 바로 눈에 들어올 것이다. 바로 _연환산_이라는 부분이다. 단순하게 11년을 가입했다고 하니 25%를 11으로 나누면 약 2.27%가 나오니 얼핏보면 그럴싸해보인다. 하지만 연금신탁은 거치식 정기예금이 아니라는 함정이 숨어있기 때문에 단순히 연도로 나눈 연환산 수익률을 예적금 금리랑 비교하면 사과랑 의자랑 비교하는 꼴이 된다. 그러면 계산을 쉽게 하기 위해 매년 300만원씩(12개월 동안 매달 꼬박꼬박 25만원씩 납입) 10년 동안 연금신탁을 넣었으며, 10년 후 누적 수익률은 25%라고 가정하자. 자 그러면 10년 후 이자를 포함해 총 평가액은 300 * 10 * 1.25 = 3750만원이다. 그러면 매달 25만원씩 10년동안 단리로 (비과세) 적금을 들어 3750만원을 만들려면 적금 이율이 얼마면 될까? 스프레드시트 등을 사용해 계산이 가능하지만 문명의 이기를 활용하면 좀더 수월하다. 적금 이율이 4.96%인 경우 만기 지급액이 37,502,000이 나온다. 결국 2.27%가 아니라 실제 이율은 4.96%라고 봐야 한다.

수익률을 반토막 내도록 만든 사소한 계산 실수가 있었다고 치자. 하지만 연금저축에 가입한 중요 목적 중인 하나인 '소득 공제'에 대한 이익을 빼먹은 부분은 전혀 이해가 안 간다. 역시 계산 편의를 위해 300만원의 10%인 30만원씩을 10년 동안 돌려받았다고 가정하자(주의: 정확한 환급 금액은 개인별 과표 구간을 고려해야 한다!). 따라서 10년 동안 300만원을 환급받게 되므로 실제 총 평가액은 3750+300인 4050만원으로 늘어난다. 자 그러면 다시 한번 문명의 이기를 활용해 계산을 해보면... 적금 이율이 6.95%인 경우 총 40,511,875이 나온다.

그렇다면 이번에는 은행이 방만하게 운영한 결과 누적 수익률이 낮아져서 15%라고 가정하자. 300 * 10 * 1.15 = 3450만원이고 역시 300만원을 환급받았다면 3750만원이 되어 아까 계산한 이율인 4.96%를 달성할 수 있다.

적금 이율이 5%(누적 15%인 경우)와 7%(누적 25%인 경우)니까 별거 아니라는 생각이 들지도 모르겠다(주변에 워낙 대박 이야기만 많이 들려서...). 하지만 이 정도면 완전히 망한 투자는 아니다. 참고로 이 글을 쓰는 시점에서 은행 정기 적금 금리는 3.3%~3.5% 수준이고 몇 년 째 저금리 기조를 이어가고 있다. 이자 0.1% 더 받으려고 눈에 불을 켜보신 분이라면 1.5% ~ 3.5 금리 차이가 얼마나 대단한지는 여기서 굳이 설명하지 않겠다. 그리고 적금 금리를 자꾸 부동산 투자 수익률이랑 비교하려는 분들이 계신데... 3천만원 정도의 푼돈(?)으로는 강남 아파트 1평(!)도 구입하지 못하므로 완전 에러다. T_T

뱀다리: 계산 과정에서 틀린 부분이 있으면 바로 지적해주시기를 부탁드린다. 그리고... 좀더 정교하게 최종 수익률을 계산하려면 연금 수령 시점에서 소득세로 5.5%를 가져간다는 점도 고려해야 하는데... 이는 숙제로 남겨둔다.

수정: 주의 사항 한 가지가 있다. 최근 정부가 추진하는 세액 공제 제도가 도입될 경우 '소득 공제' 관련해 수익률이 팍팍 꺾일 가능성이 높으므로(물론 반대급부로 일부 언론이 떠들어대듯 1200만원 미만의 근로 소득자들이 연금 저축을 400만원 한도로 꽉꽉 채우면 엄청난(!) 수익이 나겠지만, 세상 물정 전혀 모르는 전형적인 탁상 공론으로 보인다. T_T), 세테크 하시는 분들께서는 향후 바뀔 연말 정산 제도에 따라 시물레이션을 미리 해보는 식으로 수익률에 미치는 여파를 고려하시기 바란다.

EOB

수요일, 12월 05, 2012

[B급 프로그래머] 하루 안에 배울 수 있는 몇 가지 유용한 (컴퓨터) 기술이 무엇일까요?

Quora를 읽다가 "하루 안에 배울 수 있는 몇 가지 유용한 (컴퓨터) 기술이 무엇일까요?"라는 질문이 올라와서 들어다 봤는데 재미있는 대답이 올라와서 간단하게 번역해봤다.

  • Git(또는 Hg)와 Github 활용법 배우기
  • SVN 활용법 배우기
  • 간단한 정규 표현식 배우기
  • 프로그래밍 면접 질문이 담긴 사이트 방문하기. 답을 제대로 할 수 있도록 연습하자.
  • 웹 페이즐 방문해 기초 자료를 추출하도록 크라울러(웹 로봇)을 설정하자.
  • 선형 대수 라이브러리를 프로그램하기(행렬, 벡터, 곱셈)
    • 특이값 분해(SVD) 기능 추가하기
    • 역행렬 기능 추가하기
    • 최소 자승법으로 회귀 기능 추가하기
    • 흩어진(sparse) 자료를 효율적으로 다루도록 라이브러리 구축하기
    • 파이썬(또는 루비)으로 리스트 표현법 익이기
  • 좋아하는 프로그래밍 언어의 멋진 매뉴얼을 읽자. 과거에 파이썬 때문에 시간을 날렸는데, Counter 자료 구조가 존재한다는 사실을 몰랐기 때문이다. Counter처럼 Dict를 사용하는 바람에 버그에 시달렸다. 이런 사례가 제법 많을 것이다.
  • 스택 오버플로 계정을 얻어 사이트 활용법을 배우자. 영어를 아는 프로그래머가 스택오버플로를 모르면 뭔가 잘못된 것이다.
  • 직접 단순한 기계 학습 알고리즘을 구현한다. csv로 입력 받아 훈련하도록 분리해 테스트 집합을 구축하고, 쉽게 변경 가능한(또는 탐색 가능한 하이퍼파라메터를 사용한) 단순한 알고리즘을 돌려 적절한 통계를 출력하도록 만든다.
  • Excel로 단순한 선 그래프 작성법 익히기. 결과를 제대로 얻었는지 확인한다(적절한 축, 단위 표기)
  • Excel 이외 다른 방법을 사용한 단순한 선 그래프 작성법 익히기. 결과를 제대로 얻었는지 확인한다
  • 자기가 자주 사용하는 언어에 대해 이클립스를 설치하고 각 언어별로 'Hello world'를 성공적으로 작성할 수 있는지 확인하기 (장래 시간을 크게 절약해줄 것이다)
  • NoSQL 데이터베이스의 기본 기능 익히기(mongoDB는 하루 안에 상당량을 배울 수 있다)
  • SQL의 가장 단순한 기능 익히기(쿼리 전문가가 될 필요는 없다)
  • HTML이나 XML을 제대로 파싱하는 도구 익히기
  • 리스트의 리스트로 그래프 자료 구조를 구현하기
  • 페이지 랭크, 클러스터 상관 계수 탐색, 공통 이웃 개수 찾기를 구현해보자.
  • BFS(너비 우선 탐색), DFS(깊이 우선 탐색), 최단 경로, 최소 신장 트리. 알고리즘 배경 지식이 없다면 며칠을 투자해도 좋다.

경험과 경력이 풍부한 개발자 분들께서 상기 내용 이외에 혹시 후배 개발자분들께 전해주고 싶은 좋은 팁이나 힌트(물론 하루 안에 실천이 가능해야 한다.)가 있으면 댓글 부탁드리겠다. 어느 정도 쌓이면 내용을 정리해 블로그로 올려드릴 계획이다(물론 어느 분이 추천했는지 credit과 함께).

뱀다리: 개인적으로는 자신이 가장 잘 아는 프로그래밍 언어의 기본 라이브러리가 어떻게 구현되어 있는지 코드를 읽는 방법을 적극 추천한다. 특히 평상시에 매뉴얼을 봐도 오락가락하는 클래스나 API에 대해 코드를 직접 보면 실력이 엄청나게 늘어난다. 루비와 같은 스크립트 언어라면 아예 라이브러리 코드가 기본으로 설치되므로 특별히 준비할 내용도 없기에 조금만 신경을 쓴다면 하루 동안 많은 내용을 배울 수 있을 것이다.

EOB

토요일, 12월 01, 2012

[독서광] 현대 수학의 아버지 힐베르트

오늘은 다비드 힐베르트의 일생을 그린 전기인 '현대 수학의 아버지 힐베르트'라는 책을 읽고 느낀 점을 정리해보겠다. 수학 역사에 관심이 있는 분이라면 누구나 힐베르트의 업적에 대해 들어봤을 텐데, 독자 여러분을 위해 요약 정리하자면, 바로 평생에 걸쳐 수학, 물리학 분야에서 완벽한 공리 체계 이론에 대한 토대를 쌓았다는 점이다. 물론 괴델(괴델, 에셔, 바흐의 바로 그 괴델이다)이 혜성처럼 등장해서 공리체계의 무모순성의 증명이 불가능하다는 사실이 밝혀질 때까지 사람들은 완벽한 공리 체계야말로 수학에 있어 가장 중요한 문제라 생각했다. 완벽한 공리체계를 추구하는 힐베르트는 무모순성과 관련해 다음과 같이 말할 정도였다.

"어떤 개념에서 모순적인 속성이 발견되면 나는 수학적으로는 그 개념이 존재하지 않는다고 생각한다."

책은 힐베르트의 어릴적 시절부터 노년기에 이르는 전 생애를 다루고 있는데, 본문 중에서 가장 감명 깊게 다가온 부분은 바로 1900년 파리에서 열린 제2차 국제 수학자 대회에서 연설한 '수학의 미래'라는 제목이 붙은 10장이다. 당대 최고의 수학자들이 모인 자리에서 힐베르트는 20세기에 수학자들이 풀어야 할 22가지 문제를 제시하면서 '모든 문제는 해결할 수 있다'는 세 시대의 희망을 피력한다. 그런데 정말 잘 쓰여진 명문이라 수학과 철학에 대해 특별한 지식이 없는 문외한(뭐 다들 아시겠지만... 'B급 프로그래머'를 지칭한다)조차도 읽으면서 명료하게 문제를 제시하고 군더더기 없이 배경을 설명하는 힐베르트의 능력에 대해 진짜 대단하다는 생각이 들었다. 수학이나 철학에 관심이 많은 분들께서는 다른 부분은 모르겠지만, '수학의 미래' 연설문은 꼭 읽어보면 좋을 것 같다.

불혹을 앞두고 대박을 터트린 힐베르트의 업적을 계속해서 따라가다보니 또 다른 흥미로운 부분이 눈에 들어왔다. 요즘과 같은 발전한 시대에 추상적인 물건(?)인 프로그래밍 언어를 사용하는 사람들에게는 그리 어렵지 않게 느껴질지 모르겠지만(리버싱이 어렵게 난독화된 코드를 보면 딱 이런 느낌이 들지도 모르겠다. 낄낄) 20세기 초반에 다음과 같은 말을 들은 사람이라면 화들짝 놀라는 것이 무척 당연했을테다.

힐베르트는 수학 체계의 대상인 수학적 정리와 증명을 기호 논리의 언어로 논리적 구조는 갖추되 내용이 없는 문장으로 표시한다는 형식화를 제의했다.

힐베르트는 직관주의에 맞서 "수학의 재고품을 하나도 손상함이 없이 오직 그 뜻을 근본적으로 새로 해석함으로써" 고전 수학 전체를 구제하는 작업을 예순(!)에 시작했는데 이는 정말로 대담한 시도라 하지 않을 수 없다. 수학에 있어서 무모순성이라는 세상을 확립하려던 힐베르트는 역으로 이런 무모순성에 대해 의문을 품는 일군의 수학자들을 배출했고, 양쪽 진영은 계속해서 자신들의 주장과 이를 뒷받침하는 이론을 발전시켜가면서 20세기 중반까지 발전에 발전을 거듭하는 상황이 연출되었다. 힐베르트가 없었다면 아마 컴퓨터도 이렇게 빨리 등장하지 못했으리라는 생각도 잠시 해본다(괴델의 불완정성 증명을 자신만의 방식으로 재해석하는 데 성공한 튜링의 업적을 또 다시 생각하게 만드네?). 요약 결론: 수학에 관심이 많은 분들께 추천한다.