대한민국 20대, 재테크에 미쳐라
정철진 지음/한스미디어(한즈미디어)

알찬 내용에 비해 제목이 다소 싸보여서 안타까움을 주는 책. 나 역시 YES24에서 제목에 이끌려 이 책을 클릭하게 되었고 몇몇 분들의 리뷰를 읽어보고 나와 같이 이제 곧 사회에 발을 내딛을 20대 새내기 직장인들을 위해서 꼭 필요한 재테크의 지식과 마인드를 소개하는 책인 것을 알게 되었다.

주식시장에서 잘 알려진 시골의사 박경철님의 추천사로 시작되는 이 책은 돈을 차근차근 알차게 모으는 방법을 일러준다. 한마디로 베스트셀러가 되기 위해 재테크 판타지를 소개하는 책이 아니라 20대 신입사원들에 대한 저자의 애정이 담겨 있는 책이다. 30대에 재테크를 시작한 저자가 20대에 알았더라면 좋았을 것이라고 생각되는 지식과 마인드를 체계적으로 소개하고 있다.

재테크에 있어서 20대의 최대의 무기는 시간이라고 한다. 그렇기에 젊었을 때에는 "저축"이 아닌 "투자"에 집중해야한다고 주장한다. 재테크에서 가장 중요한 개념인 "복리"와 "현가"에 대해서 설명하고, 목돈을 만드는 습관에서 부터 돈을 잘쓰고 잘 빌리는 방법까지 당장 나에게 필요한 정보와 개념을 현실적인 예를 통해 설명하고 있어 너무나 유익했다. 예를 들면 그 동안 정확히 개념을 몰랐던 청약저축, 청약예금, 청약부금의 차이를 알 수 있었다. 책의 말미에서는 단계별로 3000만원, 7000만원, 1억원을 목표로 하는 재테크 방법을 소개한다.

현재 나의 계획은 내년 3월 부터 200만원을 재테크에 매달 투자할 생각이고 최종 목표는 4년안에 1억 모으기. 북핵등의 변수가 있긴 하지만 대한민국 경제를 믿고 있으며 여러가지 배경이 주식시장의 활황을 예고하고 있다. 많은 공부를 해야 현명하게 돈을 모을 수 있는 시대에 살고 있다. 여유가 생기면 취업하기 전에 노트를 하나 만들어 재테크에 관련한 지식과 정보들을 정리하며 공부해보아야겠다.  

지난 수요일 현구형 결혼식으로 잠깐 서울을 들렸지만서도, 제대로 서울의 품에 안긴 것은 이주일만이였다. 학부시절 통학의 고통을 겪으면서 기숙사 있는 대학원에 진학해야겠다는 생각을 했고, 가까운 미래에도 ETRI 같은 대전의 연구소에 취직해서 조용히 여생(?)을 보내는 것을 꿈꾸었다. 하지만 이런 나의 생각을 정은이 누나는 젊은 사람으로서 바람직한 생각은 아닌 것 같다고 일침(?)을 놓으셨는데 요즈음에는 나도 같은 생각을 하고 있다.

서울역을 빠져나올 때 느껴지는 "활기참", 그 속에 어울리고 싶은 충동을 외면할 수가 없다. 대전에 있으면 차분하고 편안한 느낌이 좋긴 하지만, 왠지 모르게 활기를 잃고 늘어지는 기분이 들때가 많다. 역시 아침 저녁 지옥철, 지옥버스를 이용해 통학하는 것을 경험하고 싶지는 않지만 이제는 서울로 돌아가고 싶다. (다행히 내가 갈 회사와 내가 살게 될 사옥은 멀지 않을 것으로 예상되므로 자전거로 출근할 수 있을 것 같다.) 서울-대전을 왕복하는 것만으로도 지쳐서 주중의 피로를 푸느라 이제는 사람을 만나는 것도 부담스러움을 느낀다.

내년 2월이면 분당으로 거처를 옮기게 된다. 워낙 바쁘기로 유명한 회사를 갈 예정이라 시간은 별로 없겠지만 그래도 지금보다는 다양한 사람들을 만날 기회가 있지 않을까 기대해본다. (회사에 가면 축구동아리를 들까? 마라톤 동아리를 들까?)

대한민국사
한홍구 지음/한겨레출판

한겨레 인문전 특가 행사 마지막날 1000원 쿠폰 할인에 넘어가 충동구매하게 된 책. 총 3권으로 이루어져있고 이제 1권을 완독하였다. 책에 대한 정보는 아무것도 알지 못하고 단순히 한겨레출판에서 나온 책이라면 믿을만 하다고 생각하였고 우리나라 역사에 대해서 알아야겠다는 약간의 의무감도 책을 구입하는데 한 몫 했다.

3권이나 되는 분량이라 우리나라의 역사를 시대순서로 나열했을 것이라고 예상했지만 그렇지 않았다. 어떤 주제에 대해서 우리의 역사를 되짚어 보며 그 의미를 논한다. 1권에서의 예를 들면 민간인 학살, 편가르기, 반미감정, 병역문제등을 다루고 있는데, 딱딱한 역사 이야기가 아니라 저자가 역사를 바라보는 시각이 매우 선명하게 드러나있어 재미가 있다.

지금 우리가 겪고 있는 온갖 병폐와 부조리들이 힘들고 어두웠던 우리의 과거사로 부터 비롯된 것임을 알게 된 후 안타까움을 금할 수가 없었다. 동시대의 우리들은 산적해있는 현안에 대해 현명한 선택을 함으로써 다음세대의 후손들에게 정의로운 사회를 물려주어야 할 것이다.
선선한 오전시간, 프로그램을 짜다가 지루해져서 잠깐 이메일을 확인했는데 한달간 무료운세를 봐준다고 하여 무료하던 찰나에 잘됬다 싶어 시도해봤다. 궁금하신분은 안쓰는 이메일 하나 던져 주고 한번 해보시길.

http://dir.saju777.com/event/goodluck.asp

10월 운세 총론
지위가 상승하는 달이니 어떤 일에 종사하든 중요한 책임을 맡게 되는군요. 능력발휘의 기회가 올 것이니 최선을 다하여 자신을 알리는데 주력해야 합니다. 기운이 강하고 흐름이 좋아 매사의 일이 수월할 것입니다. 하나를 노력하면 둘을 얻는 시기입니다. 상하관계가 좋아지고 강한 리더쉽과 책임감으로 칭찬을 듣게 됩니다. 나의 편이 많아지는 시기이니 아랫사람에게는 존경을 받고 윗사람에게는 인정을 받게 되는 시기입니다. 노력한 이상의 결과를 취하게 되니 재정의 흐름이 나쁠 리 없습니다. 재테크를 하시는 분은 분명 좋은 결과가 있을 것입니다. 작은 행운도 따르는 시기이니 활용에 부족함이 없군요. 내기를 해도 이기는 달입니다. 머리에 감투를 쓰게 되는 달이니 책임도 막중해지고 그 만큼 주위의 대우도 틀려집니다. 나의 능력을 알리기에 좋은 달이니 게으름으로 시간낭비가 되지 않도록 잘 관리하시기 바랍니다.

기운이 강하다? 요즘 컨디션 난조로 한동안 정신을 차라지 못하고 방황하고 있다. 한마디로 되는 일이 하나도 없는 요즘. 게으름으로 시간낭비가 되지 않도록 잘 관리하라는 말에 뜨끔하기는 하다. 그냥 흘려보내는 시간이 얼마인지, 이제는 컨디션이 안좋다는 핑계조차 민망할 지경이다.

애정/인연/대인관계 운세
감정이 크게 움직이는 시기이니 가슴을 설레게 하는 상대가 나타납니다. 연인들도 인연이 좋은 시기이지만 혹 더욱 마음을 끌리게 하는 상대가 나타날 수 있으니 조심해야 합니다. 우연한 만남이 인연으로 발전하는 시기이니 솔로들은 마음에 드는 상대가 나타나면 적극적으로 대시를 해야 합니다. 자신의 모습이 또한 매력적인 달이니 상대에게도 충분히 끌리는 시기임을 잊지 마시고 자신감을 가지시기 바랍니다.

하하하. 이부분은 그럭저럭 맞아 떨어진다. 아니 그보다는 참 맘에 드는 운세 풀이라고 하는게 솔직한 것 같다. 어제 우연히 왕멀님의 블로그를 방문해서 연애에 대한 이런저런 재밌는 글을 읽었는데 내 경험에 비추어 보아도 상당히 공감가는 내용들이 가득했다. 특히 용기있는 자가 미인을 얻는다는 글을 읽어보면 작업의 타이밍에 대하여 논하고 있는데 공감 100%! 운세풀이에 내 모습이 또한 매력적인 달이라고 하였으나 오래 정리하지 않아 지저분한 머리에 오늘은 면도도 하지 않았으니 참으로 난감하다. 

오랜만에 대전에서 보내는 일요일 아침 괴물이후로 오랜만에 영화를 보았다. 기숙사에서 뒹굴기 쉬운 시간을 잘 활용했다고나 할까? 그리고 남자친구(?)와 영화보는 것은 고등학교 이래로 처음. 별상관없겠지라는 생각과 다르게 뭔가 어색하고 알싸한 기분이 드는건 왜인지 모르겠으나 분명 영화에 집중하는데에는 도움이 되었다.

영화는 재밌었다. 한 분야에서 최고가 되려면 손에 물집이 잡히는 노력을 해야한다는 것과 노름하면 패가망신한다는 통렬한 진실(?)까지 알려주었으니 유익함의 측면에서도 훌륭했다! 영화를 본 대부분의 사람들이 김혜수가 너무 예쁘게 나온다며 감탄하던데 글래머는 내 스타일이 아니므로 패스! 다만 캐릭터에 너무 잘 어울리는 이미지를 보여주었다는데에는 전적으로 공감!

영화속의 캐릭터 고니를 보면서 무모하기도 하지만 정말 남자답다(?)라는 생각을 하게 되었다. 어떻게 보면 마초의 부정적인 느낌으로 바라볼 수도 있겠지만 남자라면 어느정도의 배짱과 자신감이 있어야 할텐데 그런면에서 나는 너무 약한게 아닌가 하는 생각이 드는건 어쩔 수 없었다. 그냥 재밌고(?) 자상한(?) 컨셉을 유지하는 수 밖에.    

저녁먹으면서 보았던 "무한도전"에서 기습적으로 정형돈 집을 방문하여 매우 지저분한(?) 모습을 보여주었는데 정말 리얼(?)했다. 재밌게 보면서도 왠지 남일 같지 않았던 건 한편으로 기숙사가 생각났기 때문.

주중에 잘 쓰지도 못하는 영어로 거북이 처럼 논문을 쓰다가 지쳤는지 주말인 오늘은 눈까지 아프고 무기력했다. 논문쓰는건 손도 대지 않고 종일 영화보고 책읽는데 시간을 써버렸다. 물론 책을 읽는 것이 시간을 허트루 쓴 것이라 할수는 없지만 해야할 일이 있었기에 스스로가 너무 한심하게 느껴지고 변화가 필요하다고 생각했다.

그리하여 기숙사를 청소하며 마음을 다잡아야겠다고 생각하고 실천에 옮기기 위해 9시에 퇴근하였다. 점점 그들(?)의 귀차니즘을 닮아가며 빨래를 건조대에 걸어두었다가 옷장에 정리할 틈도 없이 바로 주워 입곤 했다. 그리고 새로운 빨래를 널어야 할 때면 건조대에 있던 옷들을 꺼내 옷장에 마구 집어 던져 놓았더니 옷장은 늘 난장판이고 입던 옷만 계속입게 되는 악순환(?)이 반복되고 있었다. 물론 셔츠나 웃옷들은 옷걸이에 잘 걸려있지만.

일단 빨래를 돌려놓고 이불을 정리하는 것으로 시작. 책상위와 옷장에 나뒹구는 옷들을 몽땅 침대위에 펼쳐놓고 정리를 시작하였다. 일단 당분간 안입을 반팔옷들을 정리하여 침대 밑 수납장에 정리하고 겨울옷들은 옷장 제일 위에 차곡차곡 쌓아두었다. 수건과 안에 받쳐입을 흰옷은 옷장 아래 서랍에 정리하고 긴팔옷과 반팔옷은 따로 층을 나누어 정리하는 것으로 마무리!

정리를 마치고 책상에 앉아 있으니 마음이 참 좋다. 정리된 기숙사 만큼이나 몸과 마음도 차분히 정리되어 남은 석사생활을 알차게 보내고 싶은데 워낙 나약한 인간인지라 쉽지가 않다. 환절기라 그런지 컨디션이 형편없는 요즈음. 철저한 자기관리가 필요한 시점이다.

금난새와 떠나는 클래식 여행
금난새 지음/생각의나무

몇주 전 대전내려오는 길에 잠깐 들렀던 서점에서 우연히 발견했던 책. 역시 구입은 단골서점인 YES24에서 했지만. 우연히 학교에서 있었던 클래식 공연으로 부터 클래식은 따분하고 재미없다는 편견을 깨버리게 되었고, 그 후로 종종 대전문화예술의전당에서 공연을 관람하면서 작은 관심을 키워오고 있었다.

하지만 가요를 들어도 익숙한 노래가 귀에 잘 들어오는 법인데, 아무런 사전지식과 경험없이 듣는 클래식 공연은 가끔 따분하게 느껴졌고 내가 느낄 수 있는 감동의 총량은 매우 한정적일 수 밖에 없다는 생각이 들었다. 책의 이야기를 옮겨놓자면, 야구경기의 룰을 모르는 사람은 야구경기를 즐길 수가 없듯이 클래식을 제대로 즐기기 위해서는 공부가 필요하다.

첫장에서는 클래식의 의미와 클래식을 권하는 이유등 우리가 가지고 있는 클래식에 대한 편견을 깨고 클래식을 올바르게 이해할 수 있도록 도와준다. 그 뒤로는 시대순서대로 한시대를 풍미했던 작곡가를 두명씩 짝지어 비교하면서 그당시의 사회, 문화 배경과 작곡가의 성격이 작품에 어떤 영향을 주었는지에 대해서 설명한다. 중간중간에는 심포니, 콘체르토, 소나타등 음악상식에 대한 소개와 금난새의 추천음악이 소개되어 있어서 유익했다.

10월 25일 대전문화예술의전당에서 대전시향의 공연이있다. 미리 연주예정인 곡들을 들어보았는데 벌써부터 기다려진다!

시간 여행자의 아내 1
오드리 니페네거 지음, 변용란 옮김/미토스북스
시간 여행자의 아내 2
오드리 니페네거 지음, 변용란 옮김/미토스북스

이 책을 구입한지는 상당히 오래되었는데 읽는 것을 마무리 한 것은 어제밤. 그 것도 끝까지 다 읽지도 않고 맨 뒤에서 부터 거꾸로 돌아오며 소설의 끝을 살펴보았다. 딱딱한 책만 읽다보면 독서의 즐거움을 잃을 것 같아서 쉬어가는 의미로 선택한 소설인데, 하마터면 이 책 읽다가 독서에 흥미를 잃을뻔했다. 다행히 읽다가 중간에 다른책으로 넘어갔기에 망정이지. 그 후로는 기숙사에 두고 잠이 안올때마다 조금씩 읽곤 했다.

이 소설의 주인공은 시간이동 유전자를 가지고 있는 헨리라는 남자와 언제 어디로 사라질지도 알 수 없는 헨리를 평생 기다려야 했던 클레어의 사랑이야기를 다루고 있다. 어떤 상황마다 이야기의 시간대가 몇년이고 그때의 등장인물의 나이가 몇 살인지 표기되어있다. 심지어 어린 헨리와 중년의 헨리가 시간여행으로 인해 같은 시간대에 나타나기도 한다.

분명 많은 사람들에게 감동을 주었겠지만 나에게는 결코 그렇지 않았다. 현실적인 이야기를 좋아해서 그런지 이런 판타지가 억지스럽게 느껴졌고 몇몇 부분에서는 문화적인 차이에서 오는 거부감을 감수해야했다. 당분간 소설은 한국소설만 읽게 될 것 같다.

나름 정성스럽게 써서 엽서를 보내면서 왠지 당첨 될 것만 같은 예감에 휩쌓였는데, 가뭄에 단비를 만나듯 도착한 마소 10월호에서 당첨 소식을 확인할 수 있었다. 그런데 내가 풀었던 퀴즈의 상품은 바로 위에 있는 "디비코 퓨전HDTV5 RT 실버"였다. 전산처리과정에 착오가 있었거나 원래 떨어졌는데 다른 상품에 붙여준 걸 지도 모르겠다. 상품은 연구실에서 쉽게 구할 수 있는 DVD-R 미디어이긴 하지만, 한가지 소득은 동측기숙사 우체통의 우편물들이 수거된다는 사실을 확인할 수 있었던 것. 내가 엽서를 넣었을 때 분명 손이 거미줄에 걸렸기에 이 엽서가 도착할지 심히 의심스러웠다. 퀴즈 당첨말고 언젠가 기사를 기고하는 날이 와야 할텐데 아직은 요원하다.

부끄럽지만 올해초의 다짐과는 조금 다르게 되어버렸다. 그 당시의 마음가짐은 10km 대회 3~4회 참가와 하프마라톤 도전하는 것이였으나 봄에 참가한 제4회 코리아오픈 마라톤에 이어 올해는 이번대회가 마지막이 될 것 같다. 작년에 참가한 제3회 스포츠서울 마라톤에서는 홀홀단신으로 대회장소에 가서 혼자 뛰고 돌아왔으나 올해는 어머니께서 5km 부문에 출전하실 예정이라 외롭지 않을 것 같다. 작년의 대회가 KAIST 총장배 사이언스 단축 마라톤 이후로 나의 첫 공식대회였는데, 잘 모르고 출발시간에 도착하여 준비운동없이 출발해서는 사람들에 밀려서 초반에 걷다가 기록이 좋지 않았는데 이번대회는 그러한 실수가 없어야겠다. 비록 하프마라톤을 완주하겠다던 나와의 약속은 지키지 못하게 되었지만, 지금 다시 뛰어야 할 이유를 찾았기에 그 것에 만족한다. 아무튼 지금 나는 달리고 있으니까.
1리터의 눈물
키토 아야 지음, 한성례 옮김/이덴슬리벨

드라마를 먼저 보고 책을 읽게 되었다. 드라마 한편이 끝날 때 마다 들려주는 일기의 한 구절 구절들을 기억하고 싶어서 책을 찾았다. 이미 드라마를 보면서 다 슬퍼해서 책을 읽으면서 큰 감동이 다시 찾아온 것은 아니였지만, 그녀의 일기를 통해 아야가 느꼈을 절망과 고통 그리고 끊임없이 강해지려고 하는 노력들을 더 자세히 들여다볼 수 있었다. 이 책은 아야가 척수소뇌변성증이라는 병을 알게 되기 전인 14세 부터 글을 쓸 수 있었던 마지막 순간인 20세까지의 일기를 수록하고 있다. 항상 남을 돕는 삶을 살고자 했으나 병이 깊어지며 다른 사람에게 피해만 주는 존재가 되어버린 것을 아파했던 따뜻한 마음을 지닌 소녀의 이야기. 건강한 몸으로 살아갈 수 있다는 것이 얼마나 소중하고 감사한 것인지를 깨닫게 해준다. 그리고 우리는 서로 돕고 살아야 한다는 것을.

언제까지나 괴로워하고 버티면 내 인생을 찾을 수 있을까? 끝을 모르고 내 몸을 해치는 병마는 죽을 때까지 나를 고통으로 부터 해방시켜 주지 않을까? 12년간의 학교생활에서 배운 지식, 선생님이나 친구들한테 받은 가르침을 활용하여 사회에 도움이 되고 싶었다. 설령 아무리 작고 약한 힘이라도 기꺼이 남을 위해 나누고 싶었다. 적어도 신세를 진 은혜만은 갚고 싶었다. 내가 세상에 공헌할 수 있는 것은 내가 죽고 난 다음 의학의 발전을 위해 간장, 각막 등 쓸 수 있는 장기를 제각각 떼어내어 병든 사람들에게 제공하는 것 정도밖에는 없는 것일까 ...

나는 서브쓰리를 꿈꾼다
원희룡 지음/꽃삽
나는 달린다
요쉬카 피셔 지음, 선주성 옮김/궁리

보수성향을 지닌 정치인 중에 내가 유일하게 호감을 가지고 있는 원희룡의원의 책이다. 사실 이 책은 꽤 오래전에 읽었는데 그 당시에 블로그에 독후감을 쓰지 않았던 관계로 두번째 읽은 지금에서야 글을 남긴다. 많은 것을 느끼고 얻을 수 있었던 책이라서 독서의 기록을 남기고 싶었다.

나와 마찬가지로 원희룡의원도 마라톤 인문서로 유명한 요쉬카 피셔의 '나는 달린다'를 읽고 나서 달려야겠다고 결심하게 된다. 그리고 실천에 옮겼다. 내가 서울에 있을 때 어떤 국회의원이 국회의사당까지 뛰어서 출근한다는 소문을 들었는데 그가 바로 원희룡이였다.

책은 마라톤의 경험으로 부터 그가 느낀 것들을 중심으로 그의 과거와 그의 생각이 잘 어우러져 있다. 그가 더욱 대단한 것은 어렸을 때 사고로 발가락에 장애를 가지고 있으면서도 마라톤을 완주했다는 사실이다. 나는 어떤 사람이 마라톤 42.195km를 완주했다고 하면 무조건(?) 그 사람을 존경한다. 철저한 자기관리와 인내가 없이는 절대 성취할 수 없는 일이기 때문이다. 대회에 나가서 고작(?) 10km를 뛸 때면 나는 항상 풀코스 완주자들을 존경하게 된다. 마라톤은 항상 어김없이 힘들고 고통스럽다.

이 책을 읽은 후에 '원희룡의 속마음'이라는 블로그를 자주 찾게 되었다. 마라톤에 관한 글을 읽다가 다음과 같은 말이 가슴을 울렸다.

마라톤이 제게 주는 보상은 바로 "포기하지 않음"에 대한 것 입니다.

그리고 책장을 넘기면 신발끈을 묶는 그림과 함께 실려있는 다음과 같은 한 문장이 달려야 하는 이유를 말해준다.

내가 마라톤을 하는 이유는 육체와 정신을 병들지 않게 하려는 본능적인 의지이며 달리는 것이 나를 단련시킬 수 있는 가장 정직한 운동이기 때문이다.

국어실력이 밥 먹여준다
김경원.김철호 지음, 최진혁 그림/신유토피아(구 유토피아)

아름다운 국어가 많이 망가지고 있는 요즘이다. 초성체가 판을 치고 어른들은 이해하기도 어려운 신조어들이 젊은이들 사이에서 유행하고 있다. 이러한 현상을 단순히 언어가 사회, 문화의 흐름에 따라 변해가는 과정으로 바라보아야 하는걸까? 나 역시도 메신저나 핸드폰 문자를 쓸때는 각종 이모티콘이나 초성체를 남발하고 있으나 가능하면 블로그에 글을 쓸때면 내가 아는 한 올바른 국어를 사용하기 위해 노력하고 있다. 덕분에 글이 좀 딱딱한 느낌을 주기도 하지만 말이다.

블로그에 글을 쓸때마다 '지금 내가 사용하는 어휘가 적당한 것일까?' '띄어쓰기는 어떤게 맞는 것일까?' 하는 질문과 끊임없이 만나게 되는데 띄어쓰기 하나만 고려해 보아도 사람마다 그 위치가 달라 무엇이 올바른 용례인지 알기 어렵다. 부끄럽게도 나처럼 한국어의 올바른 용례도 잘 알지 못하는 사람이 많은데, 지금의 어린아이들은 우리의 글을 제대로 익히기도 전에 영어공부에 열을 올리고 있으니 안타까운 일이다.

다음과 같은 문제를 풀어보자. 정답을 찾기 쉽지 않을 것이다.

1. 대체 그날 버스 (속에서 | 안에서) 무슨 일이 있었기에?
2. 벌판을 지닌 열차가 긴 터널 (속으로 | 안으로) 들어갔다.
3. 방이 너무 어두워서 마치 동굴 (속에 | 안에) 들어온 느낌이었다.

이 책은 낱말편으로 두가지 유사한 뜻을 가지는 낱말을 제시하고 우리글에서 이 두가지 낱말이 어떠한 미묘한 차이가 있으며 어떠한 상황에서 사용되어야 하는지 쉽게 설명해준다. 한국어를 아름답게 좀 더 자연스럽게 사용하고 싶다면 읽어볼만한 가치가 있는 책이라고 생각한다.
이승철 8집 - Reflection Of Sound
이승철 노래/티 엔터테인먼트

어렸을 때 초등학교 초입에 위치한 문방구 벽에 붙어 있던 포스터가 기억에 선명하게 남아있다. 포스터에는 '마지막 콘서트'라고 적혀있었다. 상당히 노래를 잘하는 가수임에도 불구하고 코흘리던 어린시절부터 보컬(?)에 심취했던 고등학교시절까지 그다지 관심을 가지고 있지 않았던 가수 이승철.

어디서 주워들은 그에 대한 한가지 일화는 다음과 같다. 그는 어렸을 때 부터 가수들이 바이브레이션을 어떻게  궁금해했고 혼자 연구하고 연습했다고 한다. 재밌는건 나도 그랬다는 사실. 안타까운건 나는 몇번 시도해보다가 포기했다는 사실. 나중에 고등학교에서 친구들한테 배우긴 했지만.

아무튼 결론은 그는 노래를 매우 잘한다. 감동적일정도로. 그런 그의 음반을 처음 구입했고 크게 만족하는 중이다. 우울한 딱 한곡을 빼고는 모든 곡이 처음부터 귀에 착착 붙는다. 개인적으로는 "나를 믿어줘"라는 곡을 베스트로 꼽고 싶다.
입문
이창호 지음/삼호미디어

'역시 기본을 다지려면 책이 제일이야' 하는 생각에 고르게 된 책이다. 이미 인터넷의 VOD강좌를 통해 습득한 어지럽게 흩어져있던 지식들이 책을 읽으면서 차분히 정리되는 느낌이다. 바둑을 제대로 즐기기 위해서는 다양한 바둑 관련 어휘에 익숙해야한다. 행마를 일컷는 어휘만도 여러가지가 있다. (날일자 행마, 마늘모 행마, 한칸뜀 등등) 책을 읽으면서 이러한 어휘들에 익숙해지는 것만으로도 상당한 소득인 것 같다.

머리말에서밝히듯 "쉽고 재미있게" 이 두가지 명제를 최대한 반영하기 위한 이창호님의 노력덕분에 정말 지루하지 않고 쉽게 읽힌다. 바둑의 룰에서 부터 사활, 행마, 수상전, 포석등 큰 그림을 그릴 수 있도록 도와주는 책이다. 여전히 상대방의 공격을 받을때면 어떻게 대처해야할지 당황하긴 하지만. 지금은 두번째 읽는 중이다. 추석연휴로 서점이 닫기 전에 활용편을 구입해두어야겠다.

읽은 책에 대한 포스팅이 뜸한 요즘이다. 한동안 한달에 10만원정도의 책을 구입해서 읽다가 최근에 와서는 드문드문 책을 구입하면서 읽었던 책 중에 다시 읽고 싶은 책들을 선택해 독서노트를 작성하며 읽고 있다. 정신없이 1년에 100권을 읽겠다는 목표를 바꿔 책에서 최대한 많은 것을 느끼고 배우고자 노력하고 있다. 즉, 실행활에 책에서 배운 것들을 적용하려고 한다.

그동안 책을 읽으면서 어떠한 삶이 바람직한 삶이고 내가 추구해야 할 삶인지 힌트를 얻을 수 있었다고 생각한다. 하지만 머리속에서 잠깐의 생각에 그쳤을 뿐이라 나의 생활을 바꾸기에는 그 영향력이 미미했던 것이 사실. 기록되지 않은 생각은 쉽게 잊혀진다. 그리하여 책에서 만난 좋은 글귀와 나의 생각을 담은 독서노트를 기록하고 있고 소중하게 간직하고 있다. 마치 그 것을 잃어버리면 그동안 책으로 부터 얻은 것들을 잃게될 것 처럼 ...

요즘 다시 읽고 있는 책은 "카네기 인간관계론""나는 서브 쓰리를 꿈꾼다" 등등. 새로 읽고 있는 책은 "이창호 정통바둑 입문", "도덕경". 특히 "도덕경"은 어렵지만 조금씩 읽어나가다 보면 고전인 만큼 많은 생각을 하게 한다. 앞으로 읽을 책은 "1리터의 눈물", "국밥". 책읽기 좋은 긴 연휴다. 틈틈히 책을 읽으며 생각의 끈을 놓지 말자!
    
카네기 인간관계론
데일 카네기 지음, 최염순 옮김/씨앗을뿌리는사람
나는 서브쓰리를 꿈꾼다
원희룡 지음/꽃삽
도덕경
노자 지음, 오강남 풀어 엮음/현암사
이클립스 워크벤치에서 perspective라고 하는 것은 툴바와 메뉴에 위치하게될 action들의 사용여부와 view의 초기 레이아웃을 정의하는 역할을 담당한다. 아래의 그림의 우측상단에 VICODE라고 선택되어 있는 부분이 바로 perspective를 의미한다.


이클립스에 기본적으로 제공되는 perspective가 몇가지 있다. Java를 선택하면 자바 어플리케이션을 개발하는데 필요한 action이 메뉴와 툴바에 나타날 것이고, Debug를 선택하면 디버깅을 위한 view들이 화면에 배치되는 것을 확인할 수 있다.

따라서 특정 목적(VICODE의 경우 임베디드 시스템 개발)을 가지는 개발환경을 이클립스에서 구현한다면, 이에 해당하는 action들만을 메뉴나 툴바에 나타내고 특정 정보를 화면에 보여주기 위한 view를 원하는 레이아웃에 따라 배치하고 싶을 것이다.

VICODE perspective를 선택했을 때를 살펴보면, Project 메뉴 아래에 필자가 여기저기서 주워와서 갔다 붙인 조악한 툴바 아이콘을 볼 수 있고 화면의 하단에는 따로 만들어서 추가한 Log, Result view가 존재하는 것을 알 수 있다. 이와 같이 perspective는 플러그인이 제공하는 특정 개발 환경을 정의하는 역할을 한다.

개념의 대한 설명은 여기서 마치고 구현방법을 소개하자면,
다음과 같이 org.eclipse.ui.perspectives 확장점을 이용한다.  

  <!-- VICODE Perspective -->
  <extension
        point="org.eclipse.ui.perspectives">
     <perspective
           class="edu.kaist.vicode.perspective.PerspectiveFactory"
           fixed="true"
           icon="icons/jdg2eProd.gif"
           id="edu.kaist.vicode.perspective"
           name="VICODE"/>
  </extension>

PerspectiveFactory.java의 내용은 다음과 같다.

package edu.kaist.vicode.perspective;import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
public class PerspectiveFactory implements IPerspectiveFactory {
public static final String ID_VICODE_ACTIONS = "edu.kaist.vicode.actionset";
public static final String ID_VICODE_PROJECT_WIZARD =
  "edu.kaist.vicode.projectwizard";
public static final String ID_VICODE_MODULE_WIZARD =
  "edu.kaist.vicode.modulewizard";
public static final String ID_VICODE_LOG_VIEW = "edu.kaist.vicode.logview";
public static final String ID_VICODE_RESULT_VIEW = "edu.kaist.vicode.resultview";

public void createInitialLayout(IPageLayout layout) {
// Navigator
layout.addView(IPageLayout.ID_RES_NAV, IPageLayout.LEFT, 0.20f,
  IPageLayout.ID_EDITOR_AREA);
// Bottom : Another folder area, to stack additional views
IFolderLayout bottom = layout.createFolder("bottom",
  IPageLayout.BOTTOM, 0.8f, IPageLayout.ID_EDITOR_AREA);
bottom.addView(ID_VICODE_LOG_VIEW);
bottom.addView(ID_VICODE_RESULT_VIEW);
bottom.addView(IPageLayout.ID_PROBLEM_VIEW);

// Add Outline View
layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.RIGHT, 0.80f,
IPageLayout.ID_EDITOR_AREA);
   
// Add new wizard shortcut
layout.addNewWizardShortcut(ID_VICODE_PROJECT_WIZARD);
layout.addNewWizardShortcut(ID_VICODE_MODULE_WIZARD);

// Add our actions
layout.addActionSet(ID_VICODE_ACTIONS);
}
}

위의 VICODE perspective가 선택된 화면과 소스코드를 비교해보면 이해하기가 수월 할 것이다. createInitialLayout() 메서드에서 넘어온 IPageLayout 인스턴스를 이용하여 레이아웃을 지정할 수 있다. 차례로 왼쪽의 Navigator를 추가하고 하단에 3개의 view를 추가한다. 그리고 우측의 Outline view를 정의한 후 추후에 다루게 될 마법사를 추가한다. 마지막으로 action에서 다루었던 action set을 추가한다. action set의 visible 속성이 false로 지정되었다면 이렇게 perspective에서 추가해주어야만 화면에 나타나게된다. 모든 것의 참조는 plugin.xml에서 정의한 ID로 이루어진다.

물론 이미 존재하는 perspective에 자신의 view나 action을 추가할 수 있는데 (JDT를 확장하는 경우) 이럴 때는 org.eclipse.ui.perspectiveExtensions 확장점을 이용해야 한다.
대부분의 남자들은 여자들에 비해서 평소에 돈을 쓸일이 많지 않다. 그러나 짧지 않은 시간동안 쓴 돈을 모아보면 결코 적지 않은 것은 주기적으로 지름신이 강림하시기 때문일 것이다. 나 역시 대학생일 때 과외를 해서 쏠쏠히 벌었던 돈이 다 어디로 갔는가에 대해서 생각해보면 컴퓨터를 비롯해 온갖 전자기기를 사는데 쏟아부었던 것 같다.

이번달은 랩비지급도 추석이후로 늦춰지고, 쌍춘년의 여파로 적잖은 축의금과 그 밖에 졸업앨범비와 같은 예상치 못한 지출이 발생하며 CMA계좌 잔고가 20만원대를 기록하고 있다. 그런데도 불구하고 지름신이 강림하시려고 한다. 요즘 사고 싶다는 생각이 드는 물건은 바로 이녀석!

아이팟 나노 2세대


오늘 쥬크온에서 MP3 한곡에 10원 상품권을 구입했고, 이미 CD로 주문해놓은 이승철 8집을 다운받았다. 320 kbps로 다운받을 수 있어서 역시 음질이 좋았고, 이승철 8집의 노래는 더욱 좋았다. 실제 CD는 다음주에나 도착할 것이기에 구입한 mp3를 쥬크온 플레이어에서 음악 CD로 구워서 듣게 되었는데, 컴퓨터로 들을 때와는 전혀 다른 느낌. 똑같은 헤드폰을 쓰고 듣고 있는데도 풍부한 음량과 타격감은 감동을 선사하기에 충분. 어차피 320 kbps 정도의 샘플링 레이트라면 사람이 듣기에 음질의 손상은 없을테고 기기가 들려주는 음색의 차이가 아닐까? 따라서 나의 CDP를 아끼고 사랑하는 것으로 지름신을 외면해보아야겠다.


 

다른 사람의 블로그를 구경하다가 깜짝 놀랐다. 구글 노트북?  차분히 글을 읽어보니 구글랩에서 새롭게 개발한 웹페이지 스크랩을 위한 서비스의 이름이였다. 구글의 직원들에게는 자신이 맡고 있는 일 이외에 새로운 아이디어로 하고 싶은 일을 도전해볼 수 있는 시간이 주어진다고 하는데, 이렇게 시도되는 여러가지 서비스가 우리를 즐겁게 하고 있다.


웹서핑을 하다보면 두고두고 다시 읽고 싶은 좋은 글들을 만날 때가 많은데 막상 이를 어떻게 보관해야할지 막막하다. 지금까지는 네이버 블로그에 저장해두었는데 이제는 해당내용을 긁고 오른버튼 눌러서 나오는 Note this 버튼을 누르는 것으로 간단히 보관할 수 있게 되었다.

익스플로어나 불여우에 플러그인 형태로 설치되며 사용법은 매우 간단하다. 처음 플러그인을 설치하면 스크랩 방법과 열람하는 방법을 간단히 설명해준다. 구글 UI의 매력은 무엇보다도 단순함과 실용성에 있다는 것을 다시 한번 느끼끼게 해주었다. 웹서핑 중 만나는 간간히 보관하고 싶은 문서가 있는 분들은 도전해보시길.

http://www.google.com/notebook/

나의 생활 패턴은 점차 과거로 회귀하고 있다. CD로 음악을 듣고, TV를 보기 보다는 책을 읽고, 컴퓨터 보다는 손으로 글을 쓰는 것에 만족을 느낀다. 이에 흐름을 같이하여 놀이문화(?)에도 변화를 시도하기로했다. 그래서 선택한 것은 바둑! 선택의 이유는 바둑이 여러가지로 도움이 많이 된다는 생각이 들었기 때문이다. 특히나 산만한 나에게는 집중력의 측면에서!

즐길 줄 알려면 배워야 한다. 바둑의 룰은 어렸을 때 동네 친구들과 땅바닥에 앉아서 장기, 오목 둘 때 어렴풋이 배워두었다. 하지만 룰만 알고 바둑을 두면 '바둑돌따먹기' 게임이 되기 쉽다는 것은 바둑을 처음 두어본 사람은 누구나 경험했을 것이다.

시간나는대로 틈틈히 온라인 강좌를 보며 감을 잡고 있다. 돌을 움직이는 방법인 '행마'와 초반의 세력을 구축하는 '포석', 생사를 가늠하는 '사활' 등등. 어설프게 스스로 배워나가며 온라인에서 대국을 즐기고 있는데 아직 이긴적이 없다. 공부한 것들을 실전에 적용하기란 쉽지 않으나 조금씩 바둑판을 넓게 바라보는 안목이 생기는 것 같다.

이번 추석 연휴에는 바둑의 기본을 닦을 수 있는 시간을 갖으려고 한다. 셀 수 없이 많은 전략이 존재하는 바둑이라는 게임이야 말로 제대로 즐기는 법만 터득한다면 그 어떤 컴퓨터 게임보다 재밌지 않을까?


옆방의 재호형 컴퓨터를 보고 깜짝놀랬다. 바탕화면을 바로 이 그림이 차지하고 있었던 것. 섬뜩하지 않은가? 각성효과 100%. 웹서핑, 게임은 그만두고 연구에 매진하자!
학교에서 무료로 제공하는 건강검진을 어제 받았다. 물론 건강검진을 받아야 기숙사에 들어갈 수 있긴 하지만, 내년에 기숙사에 들어가는 일은 없어야 하겠지. 어제는 졸업사진을 찍는 날이기도 했는데 워낙 프로필 사진과 그룹사진을 찍는데 시간이 오래 걸려 기다리는 시간에 정장차림으로 건강검진을 다녀왔다.

대부분의 검사항목이야 이미 많이 받아봐서 별로 흥미가 없지만 모두들 체지방측정에는 관심이 많다.  체지방 측정과 스트레스 검사는 원하는 사람에 한해서 이루어지고 검사결과를 프린트해서 주기 때문에 검사 후에 이를 살펴보고 주변사람과 비교해보는 재미가 있다.

한창 달리기를 해서 살이 빠지고 있던 작년과  간간히 운동을 하는 올해의 결과는 조금(?) 달랐다. 외형적인 변화는 일단 신기하게도 키가 컸다! 177.6cm에서 178.1cm가 되었고 몸무게도 늘어서 75kg에서 78.6kg이 되었다. 체지방률은 17.9%에서 19.3%로 증가했으며 적정체중은 74.6kg이라고 한다. (작년 72.8kg) 한마디로 정리하자면 벌크의 향상!

지방량을 4kg만 줄이면 바람직한 몸매! 요즘 운동을 꾸준히 안하고 양껏 먹었더니 살이 많이 쪘는데, 새벽에 학원갈 생각하면 밤에 뛰기가 부담스럽다. 쌀쌀한 날씨에 뛰는 기분도 그다지 반갑지 않고. 꾸준히 달리던 작년에는 감기와 소원하게 지냈었는데 최근에는 환절기를 맞아 감기를 달고 산다. 뭔가 대책이 필요하다!
카이스트에 잔디구장이 생겼다! 지난 여름방학중 시작된 동측 원운동장 공사는 한동안 우리의 궁금증을 자아냈다. '설마 잔디를 깔기야 하겠어?  그냥 우레탄 트렉을 만드는거겠지.' 정도로 예상하고 있었는데 언젠가 부터 운동장이 초록색으로 물들기 시작했고 밤마다 커다란 조명탑에서 불 빛이 쏟아졌다. 카포전 직전(?)에 완성된 잔디구장은 매일 밤 12시까지 밝은 조명이 쏟아지고 있다.

졸업하기 전에 꼭 잔디구장에서 축구를 해보고 싶어서 룸메이트인 순일군의 연구실과의 경기를 추진하여 어제밤 게임이 이루어졌다.  각 팀당 몇명의 용병(DB랩, TC랩)을 포함한 PL랩 vs NC랩의 경기였다. 밤 9시에 운동장에 가보니 이미 십수명의 사람들이 경기를 하고 있었기에 1시간 넘게 기다려야했다. 그 동안 골대 뒷 쪽 공터(?)에서 미니게임을 하면서 시간을 보냈는데 사실 이 미니 게임이 더 힘들었다.

시간이 흘러 NC랩도 모두 도착하고 10시 20분쯤에서야 비로소 게임이 시작되었다. 우리랩 사람들은 이미 미니 게임으로 지쳐있었고 NC랩은 전력이 고르고 탄탄하다고 생각했기에 우리가 이길꺼라는 예상은 할 수가 없었다. 쉽게 가능한 예상대로 전반전은 우리가 내내 밀렸다. 난 오른쪽 공격수였는데 공이 수비지역에서만 머물었기에 공을 몇 번 못잡았다. 워낙 수세에 몰리다 보니 공격할 기회가 와도 공격지역에 사람이 없어서 결정적으로 드리블을 못하는 나는 어찌할 바를 모르다가 한번의 힘없는 유효슈팅을 날린 것에 만족해야했다. 하지만 우리의 수비는 건철형을 필두로 상대방의 파상공세를 훌륭하게 막아주었기에 전반전은 득점없이 비길 수 있었다.

후반전이 시작되어 용병인 DB랩의 경모형과 우리랩의 재호형이 공격으로 치고 올라 오면서 공격의 실마리가 풀리기 시작. 상대편의 최종수비수가 재호형을 제끼려고 하는 것을 본 순간 생각하기를 만약에 수비수의 약간 오른쪽에 있는 재호형을 제끼기 위해 수비수가 왼쪽으로 치고 나올 때 공이 길다면 분명 나에게 찬스가 올 것 같았다.  내 예상은 적중했고 공이 나에게로 굴러와 본능적으로 슛을 날렸는데 거짓말 처럼 골키퍼의 키를 넘기고 들어가버렸다. 나의 어설픈 볼 처리 능력에 방심하던 상대편은 아마도 적잖이 당황했을 것이다. 나에게 킬러본능이???

그 순간부터 우리가 이길 수 있다는 분위기가 느껴졌다. 상대의 코너킥 이후 혼전상황에서 날라온 골이나 다름없는 슛팅을 골키퍼 창범이가 펀칭으로 걷어냈는데 이는 한골을 넣은 것이나 다름 없었다. 아니 그 이상일지도 모르겠다. 우리는 계속 대등한 경기를 펼칠 수 있었고 경모형의 추가골로 2:0으로 깔끔하게 승리를 챙길 수 있었다. 잔디구장에서의 야간게임은 정말 즐거웠다. 졸업이 얼마남지 않은 것이 아쉬울 정도로. 다음주에는 리턴매치?


지난 8월 14일 동양종금에 CMA 계좌를 개설하면서 수수료 면제 혜택을 받기 위해 적립식 펀드에 가입했다. 모든 금융자산을 우리은행에서 동양종금으로 이동하면서 두개의 펀드에 가입하고 나머지 금액은 CMA계좌에 넣어두었다. 두 펀드 모두 한달이 조금 넘은 지금 시점에서 4%를 상회하는 좋은 수익률을 올리고 있다.

돈이 돈을 만든다. 현재 원금 50만원으로 대략 2만원의 수익을 올리고 있는데, 만약 원금이 5천만원이였다면 한달사이에 2백만원의 수익을 올렸을 것이다. 주식에 대해서 무지했던 어린시절에는 주식으로 수익을 올리는 것을 불노소득이라 단정지어 버리고는 부정적으로만 바라보았는데, 단타매매가 아닌 장기적인 관점에서의 투자로써 기업에 자금을 빌려주고 경제활동으로 생산된 파이를 공평하게 나눈다고 생각한다면 경제에 기여하는 일일지도 모르겠다.

한동안 경제관련 책을 읽으면서 알게된 사실(?)은 우리나라도 곧 미국의 다우지수가 10년사이에 10배로 상승한 것과 같은 시기가 올 거라는 것이다. 부동산 시장의 가치하락과 베이비붐 세대들이 경제의 중심에 서면서 투자의 방향이 주식시장으로 쏠리게 되는 등의 근거는 그럴듯해 보인다. 내년부터 돈을 벌어 투자할 수 있다는 사실이 다행스럽게 느껴지는 요즘이다. 나는 우리의 경제를 믿는다. 어차피 우리는 대한민국이라는 배를 함께 타고 있다.

Plug-in Development Environment(이하 PDE)는 그 자신이 플러그인이면서 플러그인을 개발하는 환경을 제공한다. 우리가 일반적으로 다운받는 Eclipse SDK에 기본적으로 포함되어 있다. 이는 플러그인 개발의 편의를 도모하기 위해 플러그인의 정보를 담고 있는 plugin.xml을 효과적으로 편집할 수 있는 플러그인 설명서 편집기와 개발 중인 플러그인를 실행하고 디버깅할 수 있는 환경을 제공한다.


위의 그림은 여러 페이지로 구성되어 있는 플러그인 설명서 편집기이며 plugin.xml 파일을 쉽게 편집할 수 있도록 도와주는 역할을 한다. 이클립스 3.0에서 개발을 시작하였고 현재는 3.2 버전을 사용하고 있는데 플러그인의 구조가 적잖이 변경되었다. 이전에는 대부분의 정보가 plugin.xml에 저장되었던 것에 반하여 3.2 버전에서는 일부정보가 MANIFEST.MF 파일에 저장된다. 따라서 3.2 버전에서의 plugin.xml은 확장점과 확장에 관한 내용만 담고 있다.

각각의 페이지에 대해서 간략히 설명하자면,

Overview - 플러그인의 ID, 이름, 버전, 제작자등의 정보
Dependencies - 플러그인이 의존하고 있는 다른 플러그인의 집합
Runtime - 런타임에 client에게 export할 package의 집합
Extenstion - 확장정의
Extension Points - 확장점정의
Build - 빌드할때 포함해야할 파일등 플러그인 빌드 관련 설정
MANIFEST.MF - MANIFEST.MF 파일 텍스트 편집기
plugin.xml - plugin.xml 파일 텍스트 편집기
build.properties - build.properties 파일 텍스트 편집기  

정리하자면,

Overview, Dependencies, Runtime 페이지를 수정하면 MANIFEST.MF 파일이, Extenstion, Extenstion Points 페이지를 수정하면 plugin.xml 파일이, Build 페이지를 수정하면 build.properties 파일이 수정된다. 텍스트 편집기에서 파일을 직접 수정한 내용도 각 페이지의 폼에 바로 적용되어 상호보완적으로 편집할 수 있다.

플러그인의 실행을 이해하기 위해서는 host 워크벤치와 runtime 워크벤치의 개념을 이해해야한다. 먼저 host 워크벤치는 현재 PDE를 이용해 플러그인을 개발하고 있는 워크벤치를 의미한다. host 워크벤치에서 개발 중인 플러그인의 Run을 구성해 실행시키면 쉽게 말해서 이클립스가 하나 더 뜬다! 이 것이 바로 runtime 워크벤치다.


위의 그림에서는 PDE에서 vicode 플러그인의 Run을 구성하고 있다. 여기서 Plug-ins 탭으로 들어가보면 host 워크벤치와 runtime 워크벤치의 개념을 이해할 수 있다. 여기서 선택된 것은 runtime 워크벤치를 실행할 때 포함하는 플러그인을 의미한다. 다시 말하면 runtime 워크벤치는 host 워크벤치에 포함된 플러그인에 더하여 현재 개발 중인 플러그인을 추가한 워크벤치를 의미한다. (물론 개발하는 플러그인과 의존관계가 없는 플러그인은 제외하고 수행해도 무방하다)  

개념을 잡는 것에 도움을 드리기 위해 씌여지고 있는 글이기 때문에 실제 PDE를 사용하는 예제를 수행해보고 싶으신 분은 이클립스 메뉴의 Help > Help Contents를 클릭하시고 나오는 메뉴얼에서 Platform Plug-in Developer Guide > Simple plug-in example을 참조하시기 바랍니다.

지난 주말 이틀동안 한번에 몰아보았던 일본 드라마 "1리터의 눈물". 드라마 내용이 슬퍼서 1리터까지는 아니였지만 11화를 보면서 내내 울었던 것 같다. 이 드라마는 실제 인물을 바탕으로 하고 있어서 더 마음이 아팠다. 시간이 지날 수록 소뇌가 부서지면서 운동능력을 상실하여 점차 걸을 수도 말할 수도 없게 되는 '척수소뇌변성증'이라는 불치병을 앓게되는 15세의 소녀가 이 병을 받아들이고 현실을 인정하면서 끊임없이 삶의 의미를 찾고자 노력하는 과정을 그리고 있다. 주인공인 아야가 25세에 숨을 거두기까지 썼던 일기들이 모여 책으로 출판되었고 일본에서 많은 사랑을 받고 있다고 한다. 지금까지 보았던 어떤 드라마보다도 감동적이였고 많은 생각을 하게 해주었다. 15세의 아야가 의사에게서 자신의 병을 듣고 나서 이런 질문을 한다.

"왜 제가 병에 걸린거죠?"

그 누구도 이 질문에 대답할 수 없었다. 운명으로 받아들이라고 하기에는 너무 가혹하다. 공평하다고 믿고 싶은 이 세상에서 일어나는 이러한 불공평한 일들을 나는 어떻게 설명할 도리가 없다. 하지만 한가지는 분명한 것은 자신의 의지로 장애를 짊어지고 살아가는 사람은 없기에 우리는 서로 돕고 살아야 한다는 것. 건강하게 살아갈 수 있다는 것 만으로도 열심히 살아가야 할 의무가 있지 않을까?
플러그인이란 무엇인가? 이클립스에 어떤 기능을 제공하기 위한 것들의 집합이다. 기능을 제공하기 위해서 필요한 것에는 무엇이 있는가? 예를 들어 선택된 파일을 리눅스 콘솔에서 실행하는 기능을 제공한다고 가정하자. 이 때 필요한 것은 이클립스의 어떤 부분(확장점)을 통해 이 기능을 제공할 것인지에 대한 정보(파일을 선택하고 오른쪽 버튼을 눌렀을 때 나오는 팝업메뉴에서? 혹은 파일을 선택하고 툴바의 버튼을 눌러서?)와 이 기능의 이름이 화면에 어떻게 표시 될 것인지, 툴바에 버튼이 추가 된다면 icon 파일은 무엇을 사용할 것인지 등의 정보가 필요할 것 이다. 가장 중요한 것은 메뉴선택이나 툴바버튼이 눌렸을 때 수행되는 일이 무엇인지를 정의하는 것이다.

정리하자면, 이클립스에 기능을 제공하기 위한 플러그인이 가져야 할 정보는 텍스트 데이터와 자바 코드로 나누어 볼 수 있다. 우리는 이 사실로 부터 플러그인의 구조를 유추할 수 있다. 하나의 플러그인 프로젝트는 텍스트 데이터를 담고 있는 plugin.xml 파일과 자바소스코드들로 구성되어 있다. 다음의 다이어그램을 보고 좀 더 상세히 살펴보자.


왼쪽은 이클립스 워크벤치에 해당하는, 즉 이클립스 플랫폼에 기본적으로 포함되어 동작하는 플러그인이며 오른쪽은 우리가 개발하고 있는 플러그인 이라고 하자. 왼쪽의 플러그인은 다른 플러그인이 자신의 기능을 확장할 것을 고려하여 확장점(extenstion-point)를 plugin.xml에 정의하고 있다. 오른쪽의 플러그인은 이 확장점(popupMenus)을 이용하여 확장(extension)하고 있다. 쉽게 이야기 하면 왼쪽의 플러그인은 다른 플러그를 꽂을 수 있는 콘센트를 제공하고, 오른쪽 플러그인은 그 콘센트에 꽂을 수 있는 플러그가 되는 것이다!

확장을 할 때 필요한 정적인 정보는 오른쪽 플러그인의 plugin.xml 파일의 extenstion태그 아래 기술 될 것이며 팝업메뉴가 클릭되었을 때의 동작은 MyObjectAction 클래스에 정의한다. 확장점을 열어주는 입장(Workbench plug-in)에서는 확장하는 방법을 제공해주어야 한다. 즉 확장하는 플러그인(MyAction plug-in)에서 아무렇게나 MyObjectAction 클래스를 정의한다면 제대로 확장이 이루어질 수 없다. 확장점을  열어주는 플러그인에서는 IOjbectActionDelegate 인터페이스를 제공함으로써 확장하는 클래스가 이를 구현하여 자신에게 필요한 코드를 정의하도록 유도한다.

확장점을 열어준 플러그인은 자신을 확장한 플러그인에 대해서 처리해야할 책임을 갖는다. 현재 자신이 제작하고 있는 플러그인에서도 확장점을 얼마든지 정의할 수 있고 이를 다른 사람 혹은 자신이 제작하는 또 다른 플러그인에서 확장이 가능하다. 필자의 경우에는 다른 플러그인이 VICODE를 확장할 가능성을 염두해 두지 않았기 때문에 이클립스 워크벤치가 제공하는 기본 확장점을 이용하고 따로 확장점을 정의해본 경험이 없다.

     <extension
        point="org.eclipse.ui.popupMenus">
     <objectContribution
           adaptable="false"
           id="edu.kaist.vicode.consoleContribution"
           nameFilter="*.console"
           objectClass="org.eclipse.core.resources.IFile">
        <action
              class="edu.kaist.vicode.actions.RunConsoleProgramAction"
              enablesFor="1"
              icon="icons/exec_obj.gif"
              id="edu.kaist.vicode.actions.esterelSimulation"
              label="Run Console Program"/>
     </objectContribution>

위의 예제는 실제 VICODE에서 확장자가 *.console인 파일을 선택하고 오른쪽 버튼을 눌렀을 때 나타나는 팝업메뉴에서 리눅스 console 프로그램을 수행하는 기능을 제공하기 위한 것이다. 자세한 내용은 나중에 팝업메뉴 확장하기에 대한 글에서 다루도록 하고 여기서는 확장점과 확장의 관점에서 살펴본다.

이 플러그인은 org.eclipse.ui.popupMenus 라는 확장점에 확장하고 있다. 이 확장점이 필요로 하는 정보가 obejctContribution 태그 아래로 정의되어 있는 것을 볼 수 있다. 정적인 정보는 이렇게 plugin.xml에 정의되고 behavior에 해당하는 내용은 확장점이 기대하는 behavior를 정의한 IOjbectActionDelegate 인터페이스를 구현한 RunConsoleProgramAction 클래스에 정의된다.

이클립스 플랫폼이 구동될 때 플러그인의 정적인 정보를 담고 있는 plugin.xml 파일을 읽어 확장점과 확장의 관계를 고려하여 화면의 UI를 구성한다. 그리고 효율성을 위해 자바 클래스는 그 것이 필요한 시점, 즉 action이라면 메뉴가 클릭되었을 때 객체가 생성되어 수행된다.
CEO 안철수, 지금 우리에게 필요한 것은
안철수 지음/김영사

"CEO 안철수, 영혼이 있는 승부"를 다시 읽은 후 바로 이어서 읽게 된 CEO로서의 안철수님의 두번째 책이다. 책의 초입은 개인적으로 혹은 안철수 연구소를 운영하며 있었던 이야기를 배경으로 그의 원칙과 삶의 태도를 소개한다. 그 다음으로는 조직을 이끌어 나가는 리더로서 여러 사람이 모여서 협업해야 하는 기업의 구성원으로서 가져야할 마음가짐과 태도에 대한 그의 생각을 엿볼 수 있다. 책의 중반에는 우리나라 IT산업의 현실과 정부의 바람직한 역할상 그리고 글로벌 시대의 리더에 대해서 이야기하고 있는데 모든 주제에서 그의 한결같은 삶의 원칙과 철학이 묻어나는 것을 느낄 수 있다. 책의 말미에는 젊은이들에게 전하고자 하는 글이 담겨있다.

곧(?) 적지 않은 인원이 공존하는 회사에서 일해야 하는 나로서는 조직 구성원으로서 가져야 할 마음가짐과 커뮤니케이션의 중요성에 대해서 강조한 부분을 유심히 읽게 되었다. 가장 중요한 것은 서로에 대한 존중과 배려의 마음이 아닐까 생각한다. 사회생활을 시작하기 이전에 이부분을 다시 읽고 많이 생각해보아야 할 것 같다.

젊은 세대에게 전하는 글에서는 열심히 사는 것의 의미와 책을 읽는 이유에 대해서 설명한 부분이 인상적이다. 무엇을 했느냐보다 어떻게 살았느냐가 중요하다는 그의 판단에 나는 스스로가 부끄러웠다. 그래도 고무적이였던 것은 책의 가장 마지막에 적혀있는 책읽기에 관한 글이다.

책이 그 사람에게 영향을 미치려면 어느 정도의 시간이 필요하다는 사실을 알아야 한다. 어떤 경우에는 몇 년 후에 그 효과가 나타나기도 한다. 따라서 책을 읽고 난 후 효과가 바로 나타나지 않는다고 해서 조급한 마음을 가져선 안된다. 좋은 책일수록 서서히 확실한 효과가 나타나기 때문이다. 충분히 사색하고, 책을 읽은 후에 갖게 된 새로운 시각을 현실에 적용하고자 노력한다면, 언젠가는 내재화한 지식과 에너지가 빛을 발할 것이라 믿는다.

올해 많은 책을 읽으면서 어떻게 살아가는 것이 바람직한 삶인지에 대해서 정립할 수 있는 기회를 가질 수 있었다. 하지만 그렇게 정립된 삶의 원칙과 가치관이 아직은 내 삶속에 녹아 있지 않은 부분이 너무나 많아서 '과연 나는 나아지고 있는 것일까?' 하는 고민을 낳는다. 단지 머리속에만 있고 가슴으로 느끼지 못하고 있다는 생각이 들곤 하는데 아직은 조급한 것 일지도 모르겠다. 분명 부족했던 것은 책을 읽고 충분히 사색할 시간을 갖지 못했다는 것. 앞으로는 많은 수의 책을 읽기 보다 책에서 많은 것을 얻어내려고 노력해야겠다. 

이클립스(Eclipse)는 많은 사람들에게 흔히 꽤나 훌륭한 자바개발환경으로 널리 알려져있다. 그러나 이클립스를 자바개발환경으로만 생각한다면 이클립스의 잠재력을 무시하는 일! 다음 이클립스 Help에 있는 이클립스의 정의를 읽어보자.

Eclipse is a platform that has been designed from the ground up for building integrated web and application development tooling. By design, the platform does not provide a great deal of end user functionality by itself. The value of the platform is what it encourages: rapid development of integrated features based on a plug-in model.

여기서 중요한 것은 이클립스 그 자체로 사용자에게 기능을 제공하는 것이 아니며 기능적인 요소는 플러그인으로 제공된다는 사실! 애초에 이클립스는 plug-in model을 기반으로 하는 개방성을 목표로 개발되었다. 다음 다이어그램을 참조하면 이 사실은 더욱 명확해진다.


이클립스 플랫폼 자체는 자바 개발환경(JDT)와 플러그인 개발환경(PDE)를 포함하지 않는다. 다시 말하면 자바 개발환경 조차도 이클립스 플랫폼에 확장되는 플러그인 중에 하나 일 뿐이다. 다만 우리가 일반적으로 이클립스를 다운받을 때 Eclipse SDK의 형태로 가져오기 때문에 이클립스가 마치 자바개발환경인 것 처럼 보일 뿐이다. eclipse가 설치된 디렉토리 밑에 plugins 디렉토리를 열어보면 org.eclipse.jdt.* 형태의 이름을 가지는 파일과 디렉토리를 통해 JDT가 플러그인임을 확인할 수 있다. 필자가 개발하고 있는 VICODE는 오른쪽의 New Tool 중에 하나에 해당할 것 이다.

이미 매우 다양한 플러그인들이 개발되어 있다. 여기를 방문하면 다운받아 사용해볼 수 있다. 이클립스에서 데이타베이스 스키마 디자인을 하거나 UML 다이어그램을 그리는 작업등이 이클립스 플랫폼에 플러그인을 추가함으로써 가능해진다.  

Platform Runtime은 이클립스 플랫폼의 핵심으로 앞서 이야기한 plug-in model을 책임지는 역할을 한다. 이클립스가 시작될때 현재 플랫폼에 어떤 플러그인이 기여되어있는지를 확인하고 그 정보를 바탕으로 현재의 이클립스 플랫폼을 구성한다. 플러그인이 어떤 방법으로 이클립스 플랫폼에 확장(Extension)되는지는 "확장점과 확장"이라는 제목의 글에서 다룰 예정이다.

현재 저는 연구실 프로젝트 겸 석사학위를 위하여 Verification Integrated CODesign Environment(이하 VICODE)라고 하는 하드웨어/소프트웨어 동시설계 개발환경을 이클립스 플러그인 형태로 개발하고 있습니다. 블로그에서 제가 쓰고자 하는 글은 이클립스 플랫폼을 기반으로 하는 통합개발환경(IDE)를 구축하는 방법에 관한 것 입니다. 따라서 동시설계에 관련된 내용이나 이 툴이 제공하는 기능의 상세 대해서는 생략하겠습니다만, 간략히 하드웨어와 소프트웨어가 모두 존재하는 시스템을 설계하는 도구정도로 생각할 수 있습니다.

올해 초 swing으로 작성하던 어플리케이션을 갑자기 이클립스 기반으로 다시 개발해야 했을 때, 많이 난감했던 기억이 납니다. 이클립스 플러그인 개발에 대한 국내서적은 거의 없었고 번역서 조차도 찾기 어려웠습니다. 물론 몇몇 분들이 쓰신 이클립스 강좌가 있었지만 IDE를 개발하기에는 부족했습니다. 다행히 "자바 개발자를 위한 이클립스 바이블"이라는 책이 출판되었고 이 책을 차근차근 공부하면서 이클립스와 친해질 수 있었지만 책의 구성 탓인지 번역 탓인지 모르겠지만 잘 읽히지가 않아서 인내를 배워야 했습니다.

다른 일에 집중하다가 오랜만에 다시 제가 개발한 플러그인을 뜯어 보았을 때, 잊은 부분이 적지 않았고 제가 개발한 플러그인을 이어서 개발할 후임자를 위해서도 정리가 필요하다고 생각되었습니다. 또한 제가 정리한 글들이 이클립스 플러그인 개발을 처음으로 접하는 분들의 삽질을 조금이라도 줄여드릴 수 있다면 큰 보람이 될 것 입니다.

다른 사람을 가르치면서 배우는 것이 많다는 이야기가 있듯이 그동안 공부한 지식들을 정리 및 공개하여 많은 분들의 피드백을 받으며 제가 공부한 지식을 더욱 굳건히 하고자 하는 욕심도 있습니다. 틀린 부분이나 보충할 부분이 있으면 가감없이 덧글로 남겨주시면 큰 도움이 될 것 같습니다. 질문도 주저없이 덧글로 남겨주시면 제가 모르는 것은 공부해서라도 답변할 수 있도록 노력할 것 입니다.

블로그에서 제가 다룰 것으로 예상되는 부분은 다음과 같습니다. 개발을 진행하면서 틈틈히 쓰는 글이라 예정된 순서가 없고 중간에 필요하다고 생각되는 부분은 추가될 수도 있습니다. 제가 아는 바를 모두 정리한 후 적었던 글들을 체계적으로 정리할 생각입니다.


제가 쓰는 글들이 강좌라고 할 것 까지는 없지만, 인터넷의 강좌나 마소의 기사를 보면 반말(?)을 사용하는 경우가 많아서 저도 글쓰기의 편의를 위해서 반말로 글을 작성하고자 합니다. 플러그인 개발에 대한 글들은 제가 다음의 책들을 공부한 결과를 기반으로 하고 있기에 참조하시면 도움이 될 것 같습니다.

자바 개발자를 위한 이클립스 바이블
Official eclipse 3.0 FAQs
The Definitive Guide to SWT and JFace

+ Recent posts