페이지

2005년 12월 27일 화요일

올해의 사진

사건 사고가 끊이없었던 2005년이였습니다.

각종 테러와 자연재해로 많은 사람들이 죽었으며 고통을 당하고 있습니다.

사진을 통해 그 날의 일들을 다시 떠올려 봅니다.

로이터에서 뽑은 올해의 사진..

타임에서 뽑은 올해의 사진

2005년 12월 19일 월요일

[Professional 소프트웨어 개발] 변하지 않는 핵심 잡기

소프트웨어 개발자는 공부를 많이 해야 한다. 새로운 기술이 늘 쏟아지다 보니 지금 유행하는 기술도 어느새 최신 기술에 밀려 찬밥 신세가 되고 만다.

모뎀으로 겨우 통신이 가능하던 시절에는 대부분의 개발자가 단독으로 실행되는 프로그램을 개발했지만 인터넷이 등장하고 웹이 일반화되면서 웹개발이라는 새로운 영역이 생겨나기 했다.

C, C++이 보편적으로 쓰이던 때에 갑자가 Java, C#이 이라는 언어가 나타나서 개발자들에게 배울거리는 던져주기도 했다.

그러고 보면 그 옛날 열심히 공부했던 VB, Win32API, MFC는 최근 2년간 거의 사용하지 않고 C, C++ 기본 라이브러리로만 개발을 해왔었다.

툴과 언어는 계속 진화하고 또 사라진다. 특히 10여년전에 만들어진 언어는 지금도 버전업하면서 더 복잡해지고 있다. 특히 툴이나 특정 프레임웍 또는 API에 의존적으로 개발을 하다 보면 변화에 둔감해 질 수 있다. 당장 MFC는 앞으로 거의 사용되지 않을 전망이고 Win32 API 미래도 그리 밝아보이지 않는다. 새롭게 출시될 롱혼에서는 이 들을 가지고는 롱혼 전용 애플리케이션 개발은 불가능할 것이다.

그래도 우리가 배우고 익힌 소프트웨어 기술 가운데 변하지 않는 핵심은 분명 존재한다. 하지만 바쁘게 개발을 하다보면 이런 것들을 잘 못느끼고 엉뚱한 것들에 가치를 두는 경우가 많다. 대표적인 것이 툴과 언어에 대한 집착이다.

그렇다면 변하지 않는 것은 무엇이 있을까?

"Professional 소프트웨어 개발"이란 책에서는 SWEBOK에서 식별한 전문 소프트웨어 엔지니어가 갖추어야 할 능력을 구성하는 지식 영역을 다음과 같이 소개하였다.

* 소프트웨어 요구사항(Software Requiremenet)
* 소프트웨어 설계(Software Design)
* 소프트웨어 구축(Software Construction)
(상세설계, 코딩, 디버깅, 단위시험, 코드리뷰, 최적화)
* 소프트웨어 시험(Software Testing)
* 소프트웨어 유지보수(Software Maintenance)
* 소프트웨어 형상관리(Software Configuration Management)
* 소프트웨어 품질(Software Quality)
* 소프트웨어공학 관리(Software Engineering Management)
* 소프트웨어공학 툴과 방법론(Software Engineering Tools and Method)
(CASE 도구, 재사용 코드 라이브러리, 정형 방법론 같은 도구와 방법론의 지원, 조직 내에서 도구와 방법론 채택, 전파하는 기법)
* 소프트웨어공학 프로세스(Software Engineering Process)
(소프트웨어 개발 품질, 일정, 생산성 및 프로젝트와 제품의 특성을 향상시키기 위한 활동)

사실 여기서 많은 개발자들이 앞부분의 2-3개 분야가 모든 것인양 알고 공부해왔을 것이다. 오직 코딩이라는 측면만 보면 그 말도 맞긴 하다. 하지만 우리가 생각하는 것외에 더 많은 지식 영역이 존재하고 이는 더 좋은 소프트웨어를 개발하는데 필수적인 지식이다. 그럼에도 불구하고 많은 개발자들이 품질이나 프로세스와 같은 SE측면을 간과하고 있는 것은 안타까운 부분이다.

나만 좋은 소프트웨어를 개발하는데는 많은 지식이 필요하지 않지만 남이 좋아하는 소프트웨어를 개발하기 위해서는 몇배의 지식이 필요하다.

오늘도 나만을 위한 개발을 위해 엷은 지식에 만족하고 있는지 되묻고 싶다.

참고문헌
* Professional 소프트웨어 개발, 스티브 맥코넬, 2003
* SWEBOK (http://www.swebok.org)

읽을거리
* 프로그래머가 알아야할 것

2005년 12월 13일 화요일

[Professional 소프트웨어 개발] 소프트웨어의 특성

"Professional 소프트웨어 개발"을 읽고

소프트웨어업계에 몸을 담은지도 거의 10년이 다 되가는 것 같다. 대학 졸업하기전부터 업계에 투신(?)했기 때문에 오랜 경력을 쌓고 있으나 그것이 진정한 경력이라고 말하기는 힘든 것 같다. 적어도 이 책을 읽고 나면 그런 생각이 든다.

Software Engineering의 중요성을 알게 된 것은 그리 오래되지 않았다. 2003년 PDA용 웹브라우저를 개발하면서 마감기간을 지키기 위해 몇날을 밤새웠고 잘못된 아키텍쳐 선정으로 몇주를 그냥 날려버리고 개발보다 테스트에 많은 시간을 들이는 등 총체적인 문제에 직면했었다. 물론 프로젝트는 성공적으로 마무리가 되었다. 하지만 부작용은 심각했다. 크리스마스와 새해를 회사에서 보냈고 결국 무리하게 개발을 진행하다가 핵심 개발자 두 명이 회사를 그만두고 말았다.

무엇이 문제였을까?

* 우선은 너무 짧은 개발기간이 문제였다.
사실 이것이 모든 문제의 원인 같다. 이로 인해 프로젝트에 대한 검토 기간이 적어 잘못된 아키텍쳐를 적용했고 몇가지 요구분석이 제대로 이루어지지 않아(이보다는 요구분석이 공유되지 않아)중요한 기능들을 나중에 적용하느라 많은 부분에서 수정이 이루어졌다.

* 자동화된 테스트를 시도하지 않았다.
브라우저 특성상 여러 웹페이지를 테스트해야 하는데, 이를 모두 사람이 하나하나 테스트를 했다. 기능하나 추가할 때 마다 여러 기종으로 모든 웹페이지를 다 테스트했다.

* 개발초기에 Code Review가 없었다.
각자 모듈을 어느정도 개발하고 통합하려고 보니 심각한 문제가 발생했다. 중요한 통신 모듈 코드가 생각보다 복잡하고 확장하기 힘들게 개발된 것이다. 그 분야에 개발경험이 없는 개발자에게 무턱대고 일을 시킨 결과 원하는 품질의 코드가 나오지 않은 것이다. 미리 미리 코드 리뷰를 거쳤다면 초기에 해결될 문제를 결국 거의 다시 개발할 수 밖에 없었다.

이 책을 보면 위와 같은 문제에 관해 이미 잘 나와있었다. 아마 소규모 개발업체의 많은 개발자가 이런 문제에 직면하고 있을 것이다.

아래와 같이 소프트웨어의 특성을 안다면 위와 같은 실수는 되풀이하지 않을 것이다.

소프트웨어의 특성
1. 프로젝트의 성공은 초기에 얼마나 빨리 코딩하는기에 달려있지 않다.
2. 결함수를 비용과 일정과 맞바꿀 수 없다.
품질에 집중하라. 이를 위해 테스트 & review를 통해초기 버그를 줄여라
3. 은빛 총알은 프로젝트에 유해하다
방법론(CMM, RUP)이나 기술을 너무 믿지 마라. 모든 것을 해결해주지는 않는다.
4. 건성으로 프로세스를 개선하는 것은 유해하다
5. 소프트웨어는 소프트하지 않다. 소프트웨어를 소프트하게 만들기 위해서는 비용이 더 든다.

다음에 계속...

참고문헌
* Professional 소프트웨어 개발, 스티브 맥코넬, 2003

2005년 12월 6일 화요일

집중력을 높이자

집중력은 우리가 일을 하고 공부하는데, 뭔가를 창작하는데 있어서 기본 동력을 제공하는 역할을 한다. 사실 천재는 그렇게 특별한 존재가 아니라고 생각한다. 단지 집중력에서 그들이 더 뛰어나기 때문에 천재라는 소리를 듣게 되는 것이다.

학생들이 집보다 일부러 도서관이나 돈을 내가면서 독서실에서 공부하는 경우가 많은데, 이것도 다 외부의 간섭과 유혹에서 벗어나 집중력을 높이기 위한 시도라고 볼 수 있다.

그렇다면 어떻게 집중력을 높일 수 있을까?

우선 집중력은 어느 정도 타고 난다고 한다. 성격별로 보면 내성적이고 정서가 안정된 사람이 집중력이 대체로 높다고 한다.

필자도 집중력이 약해서 고생을 하고 있다. 뭔가를 코딩하고 만들때는 집중력이 높지만 공부하거나 어떤 일을 꾸준히 하는데는 문제가 좀 있다. 아무래도 생각이 많고 이것저것 관심을 갖다 보니 체계적으로 계획을 세워 일을 진행하는 것이 아니라 이것저것 손에 닿는대로 하다보니 집중을 잘 못했던 것 같다.
이럴 때는 한가지 일에 전념하고 맡았던 일이 끝나기전에 다른 새로운 분야에 손을 대어 대충하기보다 한가지 분야에 목표를 세워 진행하는 것이 도움이 된다.

그렇다면 어떻게 하면 집중력을 향상 시킬 수 있을까? 참고문헌에 소개한 책을 보면 아래와 같이 나와있다. 공감이 가는 부분이다.

* 한가지일에 전념하라
* 방해자극이 눈에 띄지 않게 한다
* 관련자극을 눈에 띄게 한다
* 희망과 목표를 세워라
* 데드라인 효과를 이용한다
* 휴식을 취하라
* 스트레스를 해소하다
* 평삼심 유지하라(요가나 선을 이용 불안공포 제거한다)
* 물리적 환경 구축한다.
1. 소음차단
2. BGM효과
3. 쾌적한 실내 온도
3. 조명연출
4. 식물과 향기 효용

* 평소 건강관리에 힘쓴다.
* 바이오리듬을 고려하거나 수면주기를 깨지 않는다(늦게자도 제시간에 일어나기)

집중력이 없다고 불평하지 말고 평소 생활습관 잘 개선한다면 좀 더 높은 집중력으로 빠르게 일을 처리할 수 있지 않을까?

지금부터라도 방 잘 치우고 동시에 여러가지 일을 하기보다 한가지를 일에 몰두하는 습관을 가져야겠다.

참고문헌
집중력을 기른다, 모리 토시아키 지음, 지식공작소

2005년 11월 5일 토요일

Steve Jobs to 2005 graduates: 'Stay hungry, stay foolish'

Steve Jobs (스티브 잡스)

얼마전 애플 CEO 스티브잡스가 스탠포드 대학 졸업식에서 멋진 연설을 했다. 짧지만 그가 걸어온 인생을 3가지 이야기로 정리하였다.

그가 오늘날까지 성공할 수 있었던 것은 정말 자신이 하고 싶은 것이 무엇인가에 대한 깊은 고뇌가 있었고 이를 위해서는 남들과 똑같은 길을 가지 않고 마음속에서 진정 원하는 길로 갔기 때문에 가능했다.

그리고 자신이 만든 회사에서 쫓겨났지만 신념을 잃지 않고 자신이 믿는 바대로 다시 나아갔다. NeXT라는 회사를 설립하여 밑바닥 부터 다시 시작했고 결국 애플 CEO로 복귀하여 오늘날 애플을 최고의 컴퓨터 회사로 만들었다.

마지막으로 자신의 췌장암 극복을 예로 들면서, 인생의 시간을 낭비하지 말고 남들이 살아온 방식에 너무 귀 기울이지 말며 자신의 열정과 직관에 따를 수 있는 용기를 갖으라고 주문했다.

그리고 마지막에 "Stay hungry, stay foolish"라는 말을 남겼다. 이 말은 아마도 "현실에 안주하지 말고 남들과 똑같이 행동하지 말라"라는 의미로 오늘 연설을 함축한 표현인듯 보인다.

오늘날 애플의 성공이 우연이 이루어진 것이 아님을 그의 삶속에서 발견할 수 있었다.

http://news-service.stanford.edu/news/2005/june15/grad-061505.html

시계 화면보호기 소개

회사에서 어느 분이 사용하는 스크린세이버이다. 왔다갔다하면서 출처가 좀 궁금하긴 했는데, 우연히 인터넷에서 찾게 되었다.

숫자 넘어갈때도 진짜 시계처럼 넘어간다. 지금은 이런 시계가 나오지 않지만 옛날에 봤던, 가끔 영화속에서 볼 수 있는 그 시계를 화면보호기로 만나보자.

[HTML]

[/HTML]

다운로드
http://www.9031.com/downloads/index.html

2005년 11월 4일 금요일

로봇 아키텍쳐

로봇은 다양한 하드웨어와 소프트웨어의 조합으로 만들어진다. 이렇게 로봇을 만들기 위해서는 공통적인 하드웨어, 소프트웨어 컴포넌트가 필요할 것이다. 물론 로봇의 목적에 따라 조금은 다르겠지만 흔히 말하는 가정용 로봇인 경우 어느 정도 짐작할 수 있다. 이런 컴포넌트를 정리하면 바로 로봇 아키텍쳐가 탄생하다.

이렇게 아키텍쳐가 탄생하면 이를 운영할 소프트웨어가 필요하다. 운영체제와 같은 것이 로봇에게도 필요한 것이다. 로봇을 구현하는데 필요한 인터페이스, 로봇이 서로 소통하는 프로토콜 등이 필요할 것이다.

지금부터 로봇에 대한 아키텍쳐, 인터페이스, 프로토콜의 연구 내용을 살펴보도록 하자.

1. 소니 아이봇

소니는 아이봇이라는 강아지 로봇을 통해 Open-R이라는 로봇 인터페이스를 만들었다. 현재 공개되어 있으며 누구나 아이봇에 자신의 프로그램을 심을 수 있다.

http://openr.aibo.com/

2005년 11월 3일 목요일

김치와 자본주의

요즘 김치로 나라가 떠들썩하다. 납이 검출됐네, 기생충 알이 나왔네...
너도 나도 김치를 담가 먹겠다고 하니 배추값이 폭등을 했다.

이맘쯤이면 이집 저집에서 김장을 담그던 풍경이 흔했는데, 이제는 그런 말을 찾아보기 힘들어졌다. 배추, 무우는 1년 내내 쉽게 구할 수 있고 김치외에 먹을 거리가 풍성해서 그 만큼 김치를 덜 먹게 되었다. 게다가 이제는 가까운 식료품점에서 손쉽게 김치를 사다 먹을 수 있게 되었다.

언제부터인가 사람들은 집에서 직접 만들던 것들을 힘 안들이고 밖에서 사먹게 되었다. 더 효율적이고 경제적일 수도 있다. 분명 예전 보다 싼 값에 계란도 먹고 닭도 쉽게 먹을 수 있게 되었다. 대형할인판매점에 가면 부위별로 고기를 구할 수 있고 냉동된 해산물도 쉽게 구한다.

참 좋은 세상이 된 것 처럼 느껴진다.

하지만 이런 편안함과 경제성이 조금씩 우리 건강과 환경을 위협하고 국가간 대륙간 불평등을 초래하고 있다.

경제성을 빌미로 대량생산을 하다 보니 좁은 공간에서 많은 생산성을 확보해야 한다. 결국 가축이나 농산물을 생산하는데 있어 생장 촉진제, 농약, 살균제 등 각종 화학물질을 이용하게 된다.

가축을 키우기 위해 필요한 땅과 사료를 위해 사람이 먹을 식량을 재배하지 못하게 되고 가축에서 발생하는 각종 오염물질로 인해 자연환경이 파괴되고 있다. 결정적으로 후진국 사람들이 기아에 쉽게 노출되고 만다는 점이다. 우리가 육식을 하지 않는다면 이 지구상에 모든 사람들이 굶지 않고 살 수 있다고 한다.

사람들은 싼가격에 먹거리를 구하다 보니 너무 많이 먹게 되고 결국 비만으로 자신의 건강을 위협받게 된다.

이 처럼 먹거리에 대한 자본주의는 우리의 건강과 환경을 위협하고 많은 사람들을 고통스럽게 만든다. 나만 편한 세상이 아닌 우리 모두가 행복해질 수 방법은 없을까?

현대를 살아가는 우리에게 다가올 미래를 보다 행복하게 만들 지혜가 필요하다.

2005년 10월 31일 월요일

Coding Convention에 대한 논쟁

함수 이름을 대문자로 시작할 것인가 소문자로 시작할 것인가?
http://bbs.kldp.org/viewtopic.php?t=56798

헝가리언 표기법을 버려라..
http://bbs.kldp.org/viewtopic.php?t=51271#259592

2005년 10월 25일 화요일

그동안 편하게 살다보니...

부모님을 떠나 새 둥지를 틀고 살아보니, 그 동안 참 편하게 살았다는 생각이 듭니다.
화요일이면 어김없이 찾아오는 분리수거의 날.

안사람이 해주는 밥을 먹고 나면 설거지도 해야 하고 주말이면 집안 청소도 해야 합니다.
시장도 보러 가야 하고 빨래도 널어야 하고 .. 물론 저만 이러는 것은 아닙니다.

집사람도 무척 바쁘답니다. 어머니가 해준 것 보다 자기가 한 음식이 맛 없다고 툴툴거리며 열심히 이것저것 음식을 만들어 봅니다.

주말에 손님이라도 오면 더욱 더 바빠집니다. 결혼준비에 신혼살림에 극장 가본지 꽤 됐습니다.

그래도 재밌게 살고 있습니다.

앞으로 집들이도 해야 하는데, 쉽지만은 않네요~

2005년 9월 16일 금요일

결혼이란?

결혼을 하게 된다니 인생의 50%는 성공한 느낌입니다. 여기에 사회적으로 건강한 아이를 잘 키운다면 80%는 성공했다고 생각합니다. 나머지 20%에 너무 목숨걸지 않았으면 좋겠습니다. :)

주위에 보면 독신으로 사신분들이 많습니다. 결혼하는 것과 혼자사는 것. 둘다 장단점이 있습니다. 누군가 그렇게 말했죠. "결혼은 해도 후회 안해도 후회" 기왕 후회할 것 결혼은 꼭 하라. 이런 이유 때문에 결혼하는 것은 아닙니다.

사회적 관점에서 볼 때, 결혼은 세대를 연결하고 공통 구성원의 문화, 관습, 언어, 가치관를 유지하는데 큰 역할을 합니다. 이런 사실로 볼 때, 국가적으로 결혼은 참 중요합니다. 하지만 국가에서는 너무 무심한 편이죠.

결혼을 통해 사회 구성원간의 통합작용이 일어난다고 봅니다. 지역, 계층, 국가간의 통합이 이루어지는 것이죠. 그렇기 때문에 결혼을 통해 만들어지는 가정이라는 한 단위가 세상을 변화시키는데 큰 역할을 합니다. 우리가 낳는 아이들은 부모가 바라는데로 크겠죠? 부모가 어떻게 바라느냐에 따라 그 아이는 이 사회를 건강하게 만드는 싹이 될 수도 있고 사회를 썩게 만드는 독이 될 수도 있습니다. 그래서 결혼은 참 중요합니다.

결혼이 단순히 두 사람 또는 두 가족간의 결합이라는 단순한 의미 보다는 가정을 이루고 그 가정을 통해 사회가 건강하고 올바른 가치관이 세대를 거쳐 전달되도록 하는 과정이라고 보면 더 뜻이 깊다고 생각합니다.

그래서 공부가 참 많이 필요한 것 같습니다. 좋은 가정을 만들기 위해 이제 부터 열심히 공부해야겠습니다.

2005년 9월 13일 화요일

일 잘하는 법, 마이크로소프트에서 배운다

일 잘하는 법, 마이크로소프트에서 배운다
줄리 빅 지음, 김동헌 옮김 / 한언출판사
나의 점수 : ★★★

원제: All I really need to know in business I Learned at Microsoft

마이크로소프트는 세계 최고의 소프트웨어 회사입니다. 한창 오피스 전쟁이 일어나고 있을 때, 이곳에서 일한 저자가 쓴 글인데, 재밌고 유익합니다. 요즘 우리나라에는 삼성관련 책이 많이 나와있는데, 사실 그다지 체험적이지 않고 삼성이라는 이름을 빌린 듯한 책이 많은데, 이 책은 MS에서 일어나는 사소한 일들도 많이 소개되어 있습니다. 아쉬운 것은 출판된지 거의 10년이 다되서 이미 마이크로소프트도 많이 변해 있기 때문에 책에 있는 내용대로 지금의 현실을 이해한다는 것은 다소 무리가 있습니다. 하여간 어떤 회사에서 일하던지 도움이 될만한 이야기들을 제목만 뽑아 봤습니다.

=전문가만이 살길이다=
예상 답변을 미리 준비하자
업무에 관한 한 모든 것을 속속들이 알아두자
경쟁사를 치밀하게 분석하자

= 효과적으로 일하자=
현명하게 일하라 오래 앉아 있는 것이 능사는 아니다
잘 모르겠습니만 곧 알아보겠습니다.
우기지 말고 웃겨라! 그리고 웃어라
휴식으로 뇌를 재부팅하라
새로운 아이디어는 예상치 못한 곳에서 나오기도 한다
약속을 지킬 수 없다면 다른 사람의 도움을 요청하라

칭찬의 마력, 한 마디의 칭찬이 인생을 바꾼다
집요하게 파고들면 신뢰를 얻는다
메모를 잘 활용하자

여러 책이나 기사를 보다보면 MS 직원들도 야근을 많이 하는 것을 확인할 수 있습니다. 이 책에서도 "일주일에 이틀은 칼퇴근 하자"라고 지은이가 제안할 정도이니까요. 세상을 앞서 나간다는 것은 때론 피곤한 것이도 합니다. 물론 성취감이 있으니까 야근을 밥먹는듯이 하겠죠. 하여간 이것이 효율적이지 못하다면 개인의 금같은 시간을 낭비하는 것이니 가능한 야근하지 않도록 근무시간에 좀더 집중해야겠습니다.

2005년 9월 11일 일요일

경쟁과 사람

자본주의는 경쟁을 통해 사회 발전을 도모한다. 경쟁에는 사회를 건강하게 긴장감 있도록 유지하는데 도움이 되지만 몇가지 문제를 수반한다.

첫째, 경쟁은 같은 출발선에서 시작하지는 않는다.

작은 회사에서 좋은 물건을 만들어 내더라도 큰회사에서 손해보면서 가격을 낮추어 팔면 작은회사는 망할 수 밖에 없다. 즉, 자본이 많다면 처음 부터 경쟁은 공평하지 않게 시작하기 때문에 사회적으로 이를 제어할 필요가 생긴다.

두번째, 부정한 경쟁이 존재한다. 경쟁에 승리하기 위해, 경쟁에서 이익을 얻기 위해 사람을 속이게 된다.

경쟁에서 승리하면 부를 가져다 준다. 진정한 경쟁이라면 자긍심을 줄 수 도 있으나 부만 추구한다면 결국 사람을 속이게 된다. 자본주의가 급작스럽게 도입된 우리나라나 중국을 보면 그 부작용은 심각하다. 오래전 부터 자본주의가 시작된 서구 사회보다 더욱더 물질 중심의 사회가 된다.

세번째, 이기주의가 만연한다.

남을 배려하지 않으며 부를 통해 더 큰 부를 얻고자 수단과 방법을 가리지 않는다. 나만 잘사면 된다고 부동산 투기를 일삼거나 부정한 방법으로 주식을 거래하고 나라의 민족을 위한다면 뒷돈을 챙기는 사람들이 있다.

결국 모든 것은 남을 생각하지 않는데서 문제가 발생한다.

우리가 무엇을 하건간에 사람이 그 중심에 있어야 한다. 경쟁을 할 때도 함께 경쟁하는 사람과 그 경쟁에 영향을 받을 수 있는 수 많은 사람들을 생각해야 한다. 이를 위해 경쟁을 통해 우리가 얻는 것은 경제적인 이익과 함께 그것을 나누는 것과 공유하는 것을 다시 한번 생각해봐야 할 때이다.

2005년 8월 28일 일요일

이순신의 전쟁은 끝나지 않았다

1년에 가까운 시간 동안 주말에는 언제나 이순신과 함께 했던 것 같다.
모든 부분을 다 시청하지는 못했고 주로 임진왜란 발발 시기 부터 봤던 것 같다.

이전에 이미 소설 "칼의 도"를 봤기 때문에 이 드라마에 대한 관심은 컸다.
비록 고증에 있어서 부족한 부분은 많았지만 여러 갈등 요소는 잘 보여줬다고 생각한다.
특히 국가간의 모습은 지금의 모습과 별반 다르지 않다는 것을 느꼈다.

선조와 간신배들의 모습은 이 나라의 어두분은 부분들과 앞으로 역사를 그대로 말해주는 듯 했다.
지금 모습도 크게 다르지 않다.

진정 나라와 백성을 위한 정치는 어디로 갔는지 그 때나 지금이나 늘 묻고 싶다.

지금 또 다시 이순신이 나타나도 그 결말은 같을 수 밖에 없다.

더 나은 세상을 만들고 영웅이 진정 대접받는 세상을 만들어 나가기 위해 더 싸워야 한다.
이순신의 전쟁은 아직도 계속되고 있는 것이다.

2005년 8월 21일 일요일

모든 문제의 해결 방안

지금 우리나라는 여러가지 문제에 직면하고 있다.

1. 남북 분단
2. 교육문제
3. 경제문제 (부동산 투기)
4. 소득의 양극화문제

이 정도 문제를 뽑아 볼 수 있겠다.

많은 사람들이 직면한 문제는 아마도 경제일 것이다. 우리나라 경제의 문제점이라고 하면 여러가지 복잡한 면들을 갖고 있다.

* 장사가 안된다. => 고급 백화점은 잘 된다고 한다.
* 취직이 안된다? => 외국인 인력이 없으면 공장운영이 안된다는데..
* 40세가 넘어서도 일을 할 수 있을까? => 대기업 박사도 자신할 수 없을 것이다.

도대체 무엇이 문제일까?

이것은 IMF이후 중산층이 무너지면서 많은 사람들이 경제 위기를 겪은 후 미래에 대해 누구도 안심할 수 없게 되었다. 결국 못버는 사람은 돈이 없어서 소비를 못하고, 잘 버는 사람들은 미래에 대한 두려움으로 정상적인 지출 보다는 과외, 해외 유학 등 사교육에 많은 비용을 들이고 있다. 결국 써야 할 돈이 흐르지 않아 경제가 제대로 돌지 않고 일반 서민들의 삶은 고달퍼지고 있다.

개인 소매의 경우 대기업이 모든 분야에 진출함에 따라 자본과 마겟팅 없이는 구멍가게도 운영하기 힘들어졌다. 좋은 장소에서 상점를 운영한다고해서 장사가 잘 된다는 보장이 없게 된 것이다. 언제 옆동네에 대형 마트가 들어설지 알 수가 없고 인터넷의 등장으로 영세 상인의 주름은 깊어만 가고 있다.

우리나라는 당장 돈을 벌지 못하면 아무것도 보장받을 수 없는 나라이다. 직업이 없으면 그냥 굶어죽을 수도 있는 그런 나라이다. 불과 얼마전까지 전기세를 내지 않으면 촛불로 살아야만 했다. 큰 병에 걸리면 집도 팔아야 하고 하루 아침에 영세민이 될 수 있다. 사고가 크게 나도 집안 망하는 것 역시 금방이다. 게다가 사기 사건은 좀 많은가? 주의에 조금만 눈을 돌려도 이런 사례는 많이 찾을 수 있다.

이를 극복하기 위해서는 지위에 상관없이 돈을 많이 벌어야 하고 그 길을 보장받기 위해 학력을 높이고 특정 지역에 살아야 하고 높고 잘난 분들도 부동산 투기를 해야만 했다. 게다가 그 수 많은 암보험은 또 무엇인가?

이 모든 문제가 결국 돈 없이는 단 하루도 살수 없는 열악한 복지문제가 원인이 아닌가 싶다.

노무현 정부 들어서 부의 분배를 내세우면 많이 부분을 개선하고 있지만 그 저항 또한 만만치 않다. 분배를 왜치면 좌파라고 덮어씌우고 의료보험 비율을 높이려면 병원과 보험사가 반발한다.

하지만 결국 복지 수준을 좀 더 높여야 한다. 적어도 교육과 의료에 있어서 살림이 거덜나지 않도록 국민 모두에게 질 좋은 교육과 의료 서비스가 병행되어야 한다. 이를 위해서는 많은 세금이 필요하지만 우리나라 정서에 그것이 또 가능한 일인가? 국회의원 스스로가 원하지 않는 일일 것이다. 그렇다면 국방비라도 줄여야 하는데 현 남북 대치 상황에서 이를 추진하기가 만만치 않은 일이다.

과연 어떻게 해야 할까? 답은 간단하다. 남북이 군사비를 줄이고 통일을 앞당기는 것이다. 이에 관해서는 현정부는 이 문제에 관해 분명하게 이해하고 있고 해결을 위해 노력하고 있다. 하지만 이 역시 반대하는 세력이 있기 마련이다. 한 줌 쓰레기도 안되는 그런 넘들은 역사에 언제나 한줄을 장식하기 마련이다. (역사 드라마를 봐라~ 쓰레기는 늘 존재한다)

답을 찾기 위해 부연 설명이 참 길었다.

우선 남북간의 긴장완화와 국방비 지출을 줄인다면 교육과 의료에 대한 서비스는 분명 향상되고 많은 국민들이 불안에서 벗어날 수 있을 것이다. 교육의 질이 향상되고 사회보장을 높이고 학력에 따른 소득차를 줄인다면 교육 문제가 많이 해결될 것이다. 이를 위해서는 대기업과 중소기업간의 공생 관계도 필수이다. 대기업 근로자를 위해 중소기업 근로자가 희생되는 일은 없어야 하며 착취가 아닌 공생의 길을 모색해야 한다.

좋더 좋은 세상을 만드는 것은 바로 우리의 몫이다. 우리가 역사의 진실을 향할 때, 우리안의 많은 문제는 자연스럽게 해결된다고 본다. 그리고 나만 잘살 수 없는 것이다. 우리 모두가 더불어 잘 살 수 있는 방안에 대해 좀 더 고민해야 한다.

2005년 8월 10일 수요일

나의 조엘 테스트

조엘 on 소프트웨어라는 책을 보면 조엘 테스트가 나옵니다. 예전에 한번 보기도 했는데, 괜찮은 테스트이므로 한번 여러분의 소프트웨어 개발 환경에 대해 점검해 보기 바랍니다.

1. 소스코드 관리 시스템을 사용합니까?
cvs, MS visual source safe, rational clear case와 같은 형상관리 툴이 있습니다.

저는 위 3가지 툴을 모두 써봤습니다.
source safe -> cvs -> clear case

source safe는 5년전에 쓰던거라 현재 버전에 대해 뭐라 평가하기는 힘들고 한사람이 소스 파일을 check-out하면 다른 사람은 코들를 수정할 수가 없었습니다. 퇴근하기전 check-in은 필수였습니다. VC++이나 VB에서 기본 제공하므로 가장 쓰기 편했습니다.

cvs는 오픈소스프로젝트에서 사용하고 있는 형상관리툴입니다. 모든 플랫폼에서 안정적으로 동작하면 특히 merge기능은 상용툴인 clear case보다 좋은 것 같습니다. 한번도 실망시킨적이 없습니다.

전반적으로는 상용 제품인 clear case가 좋긴 좋더군요. 물론 서버를 관리해주는 사람이 따로 있다고 가정할 때 말이죠. 특히 소스코드를 서로 다른 프로젝트로 이동하거나 다양한 버전을 유지할 때 그리고 폴더, 파일 이름 변경이 쉬워서 좋았습니다. cvs에서도 서버 접근만 되면 가능하면 쉽게 할 수 있긴하죠.

2. 한방에 빌드를 만들어낼 수 있습니까?
한번 빌드에 다양한 버전에 소프트웨어를 컴파일까지 하고 설치버전까지는 만드는 것입니다. 사실 이 부분은 아직까지 시도해보지 못했습니다. 여러 라이브러리를 쓰면, 라이브러리 따로 컴파일하고 실행파일도 따로 컴파일하고 dll도 따로 빌드하고 이 결과를 가지고 설치 프로그램을 만드는 것은 다소 복잡한 일이기도 하지요. 게다가 버전이 여러가지 유지한다면 분명 실수할 수도 있습니다.

3. 일일 빌드를 하고 있습니까?
일일 빌드라고 말할 수 없지만 수시로 전체 프로젝트를 업데이트해서 각자 빌드는 하고 있습니다. 문제는 실제 타겟용으로 자주 빌드를 해야 하는데, 그렇지 못해서 컴파일이 안되곤 합니다. 임베디드 환경에서는 PC에서 작업을 하고 타겟용으로 다시 컴파일을 하는데, 이때 문제가 자주 발생합니다. PC에서 잘 동작한다고 너무 자신만만해서는 안됩니다. 이것은 꼭 임베디드에 해당하는 것은 아니고 여러 플랫폼을 지원하면 자주 접할 수 있는 문제입니다.

4. 버그 추적 시스템을 운영하고 있습니까?
지금 회사에서도 훌륭하게 운영하고 있었지만 전에는 wiki를 이용하기도 했고 zero board에서 운영한적도 있습니다. 잘만 쓰면 모두 훌륭합니다. 못쓰면 아무리 좋은 툴도 소용이 없습니다.

중요한 것은 다음의 항목이 있어야 한다는 군요.

* 버그를 재현하기 위한 완벽한 단계
* 예상 수행 결과
* 실제 수행 결과
* 수정을 맡을 개발자
* 수정했는지 여부

5. 코드를 새로 작성하기전에 버그를 수정합니다.
이건 정말 중요합니다. 그렇지 못하면 소프트웨어의 위기에 빠지고 맙니다.
하지만 내 마음속에만 숨어있는 버그도 있긴합니다. 거의 발생한 일이 없으므로 아무도 못찾으면 그냥 넘어가기도 하지요.

6. 일정을 업데이트하고 있습니까?
조엘이라는 사람은 MS프로젝트에 대해 좋지 않은 평가를 내리고 있습니다. 저도 MS프로젝트를 이용하고 있지만 처음 작성할 때만 보고 그 후에는 거의 쳐다보지 않게 됩니다.

7. 명세서를 작성하고 있습니까?
정말 중요하다는 사실은 알고 있지만 코딩하는 것 보다 더 어렵습니다. 파워포인트로 아이디어를 정리하고 코딩한 후에 정식으로 문서화를 하고 있습니다.

8. 조용한 작업 환경에서 일하고 있습니까?
한 사무실에 몇십명씩 앉아서 일하는 환경이라면 조용하기가 참 힘들죠. 그 때는 해드폰으로 귀를 막고 모니터에 폭 빠져 일하는 것이 좋습니다. 2-3곡을 무한 반복으로 들으면서 일하면 집중이 잘~ 됩니다.

9. 경제적인 범위 내에서 최고 성능의 도구를 사용하고 있습니까?
만약 관리부서 사람들이 제일 먼저 업그레이드 한다면? 그 회사는 머지 않아 망합니다.
다지이너가 제일 먼저 업그레이드를 한다면? 프로그램이 화면발은 죽이지만 버그는 엄청날 수도 있습니다...
개발자에게 LCD 모니터를 사주세요. 정말 일 잘할겁니다.

회사에서 집보다 좋은 환경을 쓰면 그만이겠죠?

10. 테스터를 별도로 두고 있습니까?
출시일이 다가오면 사장님빼고 모두 테스터가 된적도 있습니다. 지금 회사와서 놀란 것은 테스트를 전담해주는 팀이 있다는 사실입니다. 역시 큰회사라 다르군요. 전에 웹브라우저 만들 때, 정말 테스트는 힘든 작업이였습니다. 자동화하기도 힘든 부분이라 일일히 주요 웹페이지를 돌아다니면서 테스트를 했습니다. 개발자가 테스트하면 웬진 비용이 덜 드는 것 같지만 사실 엄청난 비용을 들이는 것입니다.

11. 프로그래머 채용 인터뷰 때 코딩 테스트를 합니까?
저도 이런 테스트를 받아본 적도 해본적도 없습니다. 프로그램 결과물과 소스코드를 제출한 적은 있습니다. 사실 이런 테스트를 받으면 잘 할 수 있을지 고민이 되기 합니다.

12. 무작위 사용 편의성 테스트(hallway usabiliy test)를 수행하고 있습니까?
해당 소프트웨어에 대해 문외한인 사람에게 테스트를 맡기는 것이라고 하네요. 영업부나 관리부 직원이면 적당할 것 같습니다.

2005년 8월 1일 월요일

Open Source World



kldp.net에 걸려있는 그림입니다. 공개소프트웨어 개발자간의 열린 모습을 표현하였습니다

지리산에 다녀와서

2003년6월 종주를 다녀온 후 2년만에 다시 지리산을 찾았다.

비가 많이 와서 종주는 못했지만 그새 지리산이 많이 달라졌다.

꾸준히 생태복원을 하여 화개재나 선비샘은 예전에 모습을 찾아볼 수 없을 정도로 아름답게 변했고, 특히 화개재는 예전에 황패한 모습을 찾아볼 수가 없었다. 종주 경로에는 나무 계단도 더 많이 생겼고 계단 중간에 의자도 있어서 쉬어가기 편해졌다. 세석산장 가는 길도 나무들이 많이 우거져서 이제 숲이 되어가고 있었다.

참 기분이 좋았다. 사람들에 의해 파괴된 자연이 서서히 다시 살아다고 있음을 확인했다.

http://www.blackstar.pe.kr/doc/hwagaejae.htm (참고: 복원공사중인 화개재)

이번 산행에는 비가 참 많이 왔다. 그래도 비온 뒤 보람이라고 다음날 아침에는 잠깐 햇볕이 나와 그나마 위안이 되었다.

휴가 기간을 통해 잠시 지리산에 갔다오면 올 한해 마치 큰일을 하나 한 듯 기분이 좋다. 종주 내내 여러 장소에서 예전에 가졌던 즐거운 시간들이 생각나 더 기분좋게 종주를 한 것 같다.

http://joone.net/yeosan

2005년 7월 5일 화요일

지리산 종주 준비하기

드디어 지리산에 가게 되었다. 2년만의 일이다.
2003년 6월(?) 마지막으로 지리산 종주를 한 후 아직 근처도 가보지 못했다.

특히나 기분 좋은 것은 처음 부터 끝까지 일정을 계획할 수 있다는 것이다. 관광차를 타고 가는 것이 아니라 집에서 출발할 때 부터 모든 여정을 결정할 수 있게 된 것이다.
산행 자체도 여유롭고 알차게 하려고 한다. 같이 가는 사람들과 이야기도 많이 나누고 자연의 아름다운도 한껏 즐기려고 한다. 이번에는 산에 있는 쓰레기도 주우면서 등산을 해보려고 한다. 능선 곳곳에 버려진 쓰레기는 청소하기가 쉽지 않기 때문이다.

자연으로 부터 받은 혜택을 이제는 돌려줘야하지 않을까?

2005년 6월 26일 일요일

문화 블로그라...


오늘은 문득 개인적인 이야기를 해 볼까 한다.
근래들어 홈페이지나 블로그에 개인적인 이야기는 해 본적이 없다.

외부 어떤 것에 대한 감상이나 느낌을 써왔을 뿐 내 안에 있는 감정이나 생각을 제대로 표현해본 적은 없다.
글쓰기에 대한 두려움도 있겠고 시간이 없었다는 핑계도 있겠지만 그 만큼 나 자신을 되돌아 보는 시간을 갖지 못했다. 바쁘게 사는 것도 좋지만 일주일에 1-2시간이라도 상념(想念)에 빠져보는 것도 좋겠다.

문화 블로그는 운영한지도 1년이 다 되간다. 처음에는 열심히 글을 썼던 모양이다. 글도 많고 그림, 사진도 많다. 물론 예전에 만들어 놓았던 것을 다시 올린 것에 불과히지만 그래도 블로깅에 애정을 갖고 있었다. 하지만 2005년에 오면서 등록된 글의 양은 점점 줄어들더니만 어느새 한달에 겨우 한건만 작성을 했다.

아자!
다시 힘을 내고 창작에 힘써야겠다. 책을 보고 영화를 보고 올리는 감상문 위주가 아닌 사진, 그림, 글로서 다시 창작을 해보자.

2005년 6월 18일 토요일

2005년 6월 13일 월요일

오피스 독주의 시대는 끝났다

[##_1C|037333.jpg|width=480 height=360| _##]

매킨토시를 구입후, 쓸만한 오피스가 없나 알아보았다.

OpenOffice는 X 윈도우 기반인데, 아직 Mac OSX Tiger를 지원하지 않는 것 같다. 그래서 NeoOffice/J를 설치했는데 감동적이였다.

자바로 만들었다는 것이 믿기지 않을 정도로 네이티브 애플리케이션 만큼 충분한 속도를 제공하였고 MS 오피스 파일도 훌륭하게 열 수 있었다.

마이크로스프트가 독점해온 오피스 시장도 조금씩 깨지고 있는 것 같다. 그 동안 윈도우를 기반으로 다른 오피스웨어를 모두 사라지게 만든 MS 오피스가 오픈소스라는 강력한 적을 만나게 된 것이다.

OpenOffice는 이미 리눅스에서 강력한 포스를 발휘하고 있으며 오늘 처음 알게된 NeoOffice도 Mac에서 안정적으로 동작하고 있음을 확인했다.

덩치만 커진 MS오피스의 위기는 이제부터다.

http://www.planamesa.com/neojava/en/index.php

2005년 6월 2일 목요일

스타워즈 에피소드 3



아마 1986년일 것이다. 처음 스타워즈를 극장에서 본 그 감동을 잊지 않을 수 없다.
그 당시에는 스타워즈3라고 불렀지만 지금은 전체 에피소드가 완성되어 에피소드 6라고 부르고 있다.

세월은 지나 어느덧 스타워즈 마지막 편을 보게 되었다. 그동안 기술은 날로 발전하여 인간이 상상할 수 있는 모든 것을 스크린에 펼칠 수 있게 되었다. 에피소드3는 그러한 부분을 유감없이 보여주었다.

스타워즈에서 제다이가 어떻고 포스가 어떻고는 사실 중요한 부분이 아니다. 저 먼 우주공간에 정말 그럴듯하게 비행하는 우주선을 보면 그 순간 만큼은 내가 정말 그 세계에 있는 것 같은 착각에 빠진다. 이것이 내가 스타워즈를 좋아하는 이유다. 게다가 힘쎄고 잘 생기지는 않지만 귀엽고 재밌는 로봇도 늘 우리를 즐겁게 해준다.

이제 영화는 끝났지만 스타워즈는 이미 신화가 되었다.

2005년 5월 21일 토요일

새로운 리눅스 배포판 우분투

오늘 갑자기 kldp 사이트에 가보니 새로운 단어가 눈에 띄었다.

우분투, 효리(?)

이름이 특이해서 관심을 갖지 않을 수 없었다. 토요일 오전 내내 우분투에 대해 이리저리 알아보았다.

우분투는 새로운 리눅스 배포판으로 데비안과 Fedora Core의 장점을 합쳐놓아 설치하기 쉽고 더 많은 패키지를 제공한다고 한다.

젠투에 이어 새로운 리눅스 배포판이 나온 것이다.

참고로 젠투 또한 인기있는 배폰한 중 하나인데, 모든 소스 코드를 다운로드 받아 자기 PC최적화하여 컴파일하여 설치되는 리눅스 배포본이다. 오랜 설치시간이 약점이지만 한번 설치해 놓으면 무지 빠르다고 한다.

하여간, 우분투는 데비안에서 출발한 배포판이다. 데비안이 갖고 있던 고질적인 문제점, 느린 업데이트와 하드웨어 지원 미약 등을 해결했다고 한다.

현재 Fedora Core3를 쓰고 있는데, 이번에 우분투로 갈아타야 할 것 같다.

http://www.ubuntulinux.org 에 가면 무료로 우분투를 신청할 수 있다.

참고 사이트

http://www.ubuntulinux.org 우분투 공식 공식 사이트
http://www.ubuntu.or.kr 한국우분투 사용자모임

2005년 5월 15일 일요일

댄서의 순정


문근영, 문근영, 문근영

그녀를 위한, 그녀만의 영화! 댄스의 순정~

국민 여동생이라 불리우는 그녀의 매력에 흠뻑 빠져들 수 있는 영화다.

하지만 그게 전부라는 것이 다소 아쉽지만, 아무려면 어떤가?

그녀의 미소로 모든 것을 날려버리자.

2005년 4월 27일 수요일

애플의 새 OS OSX 타이거


드디어 타이거가 나왔다.

애플의 새 OS는 언제나 새로운 기능과 아이디어로 우리를 놀라게 한다. 이번에도 예외는 아니다. 특히 Spotlight와 Dashboard는 우리의 컴퓨팅 환경을 한단계 업그레이드해준다.

Spotlight는 비운의 OS인 BeOS로 부터 출발한다. BeOS의 file system은 지금봐도 무척이나 혁신적인 file system이다. 이미 file system내에서 metadata를 관리하기 위한 기능을 추가하였고 query기능과 B+Tree로 indexing하는 기능도 갖추고 있다. 바로 BeOS file system핵심 개발자 Dominic Giampaolo가 애플로 옮겨서 spotlight를 개발하였다.

참고로 그의 홈페이지에 가 보면 "Practical File System Design with the Be File System"라는 책도 얻을 수 있다.

http://www.nobius.org/~dbg/

디렉토리를 일일히 뒤져가면서 파일을 찾기에는 우리가 갖고 있는 데이터의 양이 너무 많다. spotlight를 통해 우리는 OS X에서 관리하는 모든 파일을 쉽게 찾을 수 있게 되었다.

다른 기능들은 애플 홈페이지 가면 잘 설명하고 있다. 기타 Core Image, Core Data등 개발자들이 보면 군침을 삼킬만한 기능들이 많이 추가되었다. 아주 새로운 기술은 아니지만 사용자에 멋진 UI와 편리한 환경을 제공하는데 도움이 된다.

http://www.apple.com/macosx/

2005년 4월 18일 월요일

My Aunt Mary - Just Pop

My Aunt Mary - Just Pop
마이 안트 매리 (My Aunt Mary) 노래 / 드림비트
나의 점수 : ★★★★★

다시 음악을 듣게 만든 앨범

음악을 듣는 취향은 변하나보다. 언젠가 부터 가벼운 Rock에 관심이 많아졌다. 아마 그 영향은 영국 밴드 오아시스로 부터 시작된 듯 보인다. 뭔가 새로운 음악이 듣고 싶어졌고 델리스파이스나 롤러코스터 음악을 즐겨듣게 되었다.
마이앤트메리는 사실 노래 한소절도 들어본적도 없이 산 유일한 앨범 같다. 단지 권위있는 음악상을 수상했다는 이유로 나의 관심을 끌었고 그 선택은 탁월했다.
오랜만에 음악다운 음악을 듣는 것 같다. 너무 무겁지도 너무 끈적꺼리지도 않고 그렇다고 깊게 호소하지도 않는 가벼운 느낌. 그렇다 힘없이 쳐지지도 않는다. 그들의 사운드는 경쾌하고 그러면서 깊이도 있다. 아직 가사까지 귀에 들리지는 않지만 뭔가 일상의 내용들 같다. 누구는 노래의 고점이 없다고 이야기하지만 이것도 이들 앨범의 특징이라고 할 수 있겠다.

요즘 노래는 너무 잘 만들어져있다. 트랙 하나 하나 온갖 정성과 함께 잘 짜여져있고 보컬은 기름져있다. 가사는 또 애절하기만 하다. 하지만 부담스럽다. 웬지 오래듣기에는 부담스럽다. 그냥 그렇게 편한 연주와 노래, Just Pop이 모든것을 나타내고 있다.

2005년 4월 10일 일요일

일본제국 흥망사

우리의 눈으로 본 일본제국흥망사
이창위 지음 / 궁리
나의 점수 : ★★★

요즘 일본의 행동을 단순히 우익 세력의 경거망동이라고 생각하기에는 예전과 느낌이 많이 다르다. 이제 우익세력은 정치 전면에 나서 하나같이 망언을 되풀이하고 있고 그 누구도 그것을 제지하지 않고 있는 상황이다. 지금의 상황이 가능한 것은 우익들이 정치, 경제, 언론 등 전분야에서 이미 국가의 핵심 세력으로 등장했기 때문이다.
지금 그들은 한국, 중국, 러시아와 분쟁을 일삼으면서 뭔가 나름대로 계산을 하고 있는 것 처럼 보인다. 지금의 일본의 행동은 뭔가 그들 나름대로의 계획에 따라 한단계 두 단계씩 계략을 꾸미고 있는 것은 아닐까?

이 책에서는 일본제국의 참략사와 흥망사를 사실을 기초해서 객관적으로 서술하고 있으며 지금과 같은 일본의 알수 없는 행동을 조금이 나마 이해할 수 있는 역사적 근거를 제시하고 있다.

왜 일본이 무모하게 미국을 상대로 태평양 전쟁을 일으켰고 어떤 과정을 통해 패망했는지 소개하고 있으며 그렇게 비이성적인 전쟁이 어떻게 가능했고 종교적 신념이 아닌데도 카미카제와 같은 자살 공격이 왜 가능하였고 왜 일본군은 잔인하고 주변 아시아 나라를 무참히 파괴할 수 있었는지 소개하고 있다. 그리고 전후 왜 전쟁에 대한 책임과 사과과 왜 이루어지지 않았고 그 세력들이 온존할 수 있었는지도 알 수 있었다.

이 책을 보면서 느끼는 것은 일본의 태평양 전쟁은 아직 끝난 것 같지 않다는 것다는 점이다. 그들은 잠시 쉬고 있으면서 기회를 보고 있는 것 같다. 단지 다른 점은 미국과는 대립하지 않고 예전 처럼 동아시아를 자신들의 세력안에 놓고 싶은 것이다.

만약 일본이 그당시 미국과 전쟁을 일으키지 않았다면 그 소원은 이미 실현될 수 있었는지 모르겠다. 일본 국민은 그때나 지금이나 어리석기는 마찬가지이다. 나라 전체가 이런 방향으로 흘러가는 것을 방조하고 있으니...

노무현 대통령의 한마디가 생각이 났다.

"일본과 함께 사는 것은 불행이다"

성숙된 일본 시민들의 적극적인 사회 개혁 운동으로 그들이 빨리 인류 사회 보편적 가치를 지향하여 진정한 동반자로서 세계 평화에 이바지할 날을 기대해본다.

2005년 4월 7일 목요일


2001년 3월 송내역 앞 공원

올해는 봄이 참 늦다.
그러고 보니 몇년새 기후가 많이 바뀌었다.
봄, 가을이 짧아지고 여름, 겨울이 길어졌다. 특히 겨울은 늦게 시작해서 늦게 끝나는 것 같다.

그래서 활짝 핀 개나리를 이제야 볼 수 있었다.
개나리는 그리 이쁘지는 않지만 가장 먼저 봄을 알리는 전령사이기도 하다.

이제 곧 찾아올 벚꽃의 만개를 기대해야겠다.

2005년 4월 3일 일요일

PHP에서 XML파서와 RSS Reader 이용하기

저는 PHP에 관해서는 잘 모릅니다.
구체적인 문법이나 어떤 함수들이 있는지 마음 잡고 공부해 본 적이 없지요. 하지만 Server Side Script로는 PHP가 대세이고 많은 웹용 프로그램들이 PHP로 만들어져 어쩔 수 없이 PHP를 좀 알아야만 했습니다.

지금 홈페이지를 구축하는데 쓰고 있는 Tatter Tools나 moniwiki도 PHP로 구현되어 있습니다.

오늘은 맘 잡고 그동안 첫페이지에서 블로그의 첫 기사를 보여줄 수 있는 스크립트를 구현하였습니다. 인터넷을 뒤져보니 쓸만한 정보를 구할 수가 있었습니다. 특히 웹용 스크립트 답게 정보들이 잘 정리되어 있었습니다.

우선 RSS Reader를 구현하려면 아래 패키지를 이용하면 됩니다.

http://pear.php.net/package/XML_RSS/

그리고 이 패키지를 사용하려면 XML 파서 패키지가 필요합니다. 문서화가 잘 되어있으므로 바로 사용할 수 있습니다..

http://pear.php.net/package/XML_Parser/

공개 소프트웨어의 힘을 느꼈습니다. :)

다운로드
첨부한 파일은 RSS파일을 읽어와서 원하는 부분만을 웹페이지 표시하는 코드입니다. 원래 KLDP에서 구한 코드인데, XML을 이용하도록 수정하였습니다

2005년 4월 2일 토요일

차(茶) 이야기


우리는 매일 매일 차를 마신다. 아침에 출근하면 제일 먼저 차를 마시는 것이 현대인들의 대표적인 습관이다. 비단 현대인 뿐만 아니라 오래전부터 차마시는 습관은 인류가 가진 고귀한 행동 양식이기도 하다.

하지만 사람들은 차를 너무 아무렇게나 마시고 있는 것 같다. 1회용 종이컵에 현미녹차 티백이나 1회용 커피를 즐겨 마신다. 일하면서 차 마시는 많은데 시간을 들일 수 없다고 해도 종이컵에 차를 마시는 것은 좋은 습관이 아니다.

차는 잘 마시면 머리를 맑게 해주고 건강을 이롭다. 하지만 잘못 마시면 오히려 피로를 불러오고 건강에도 좋지 않다.

올바르게 차를 마시지 못한다면 차라리 냉수 한잔이 더 좋을 것이다.

조금만 더 신경써서 바르게 차를 즐긴다면 더욱 건강한 삶을 누리게 될 것이다.

2005년 3월 27일 일요일

독도와 친일의 역사

최근 일어난 독도 문제를 접하면서 우리사회 깊숙히 자리잡고 있는 친일 문제에 관해 다시 한번 생각하게 되었다. 독도 문제가 일본의 끈질기 억지 주장에만 근거하지 않고 우리나라가 그 원인을 제공하였으며 암묵적으로 방조했다는 사실을 알 수 있었다.

박정희 이후 군사정권은 친일 정권이라도 봐도 무방할 정도로 독도나 영유권 문제에 침묵하였다. 한일협정에서 독도 문제를 명확하게 정리하지 않았고 심지어 폭파해버리자는 막말도 했으며 이후에도 일본의 주장에 내내 침묵하였고 전두환 정권에서는 "독도를 우리땅"이라는 노래도 금지시켰다. 또한 독도를 천연기념물로 만들어 일반의 출입을 금지시켜 사실 영유권으로서 권리를 제대로 누리지 못하게하였다. 문민정부 이후에도 한일어협에서도 독도를 공동관리 구역에 포함시켜 여러가지 논란을 남겼다.

그렇다면 왜 우리나라가 독도에 관해 일본에게 제대로 대응하지 못했을까? 그것은 정치권력내부에 뿌리 깊게 자리잡고 있는 친일 세력이 존재했기 때문이다. 특히 일본사관학교 출신 군인들과 그 세력들이 정치권력화되면서도 여전히 일본과의 끈을 놓지 않고 물밑으로 협조를 구했다.

전두환은 쿠데타 음모 이전에 일본대사에게 이 사실을 미리알렸고 역대 군사정권은 국정 전반에 관해 박정희의 한 스승에게 자문을 받았다는 사실을 방송을 통해 접할 수 있었다.

그것은 그들이 만든 정권이 국민의 손에 나온 것이 아니라 떳떳치 못한 방법으로 이루어졌기 때문이다.

그렇다면 왜 노무현정부에 들어와서 강력하게 일본에게 독도에 대한 권리를 주장할 수 있게 되었을까? 그 원인은 세대 교체를 통한 친일세력의 퇴조와 우리나라 민주화 발전에서 찾을 수 있고 일본의 우경화 움직임에 대한 국민들의 분노가 그동안의 친일청산에 대한 반발움직을 충분히 차단할 만큼 컸기 때문이다.

노무현정부 들어서면 친일청산법을 통과시킬수 있는 세력이 전면에 부상하고 이에 대한 국민들의 요구가 커짐에 따라 친일 세력들이 사회 전면에서 반발하시 시작했다. 그런 과정에서 계속된 야당의 헛발질속에 친일 세력들의 커밍아웃이 시작되었다. 그들은 더 이상 현 상황을 이성적으로 판단하지 못하게 된 것이다. 사회에 독버섯처럼 자리 잡으면서 지도층인양 행사해온 이들의 커밍아웃은 그들의 자멸을 의미하기도 했다. 한승조, 지만원 같이 보수를 자처해온 사람들의 주장은 상식적으로 받아들일 수 없는 내용들이였으며 같은 보수층에서도 이해하기 힘들었다.

친일청산 주장이 있을 때 마다 이를 친북활동을 몰아부치고 빨갛게 덧칠하며 자신들의 본질을 숨겨온 이들 친일 세력들의 퇴조를 보면서 상식과 원칙이 통하는 이 사회를 만든 대한민국 국민의 올바른 선택을 다시 한번 생각하게 되었다.

2005년 3월 14일 월요일

million dollar baby

잔잔하면서 깊은 감동을 주는 영화였다.
인생이 무엇이며 그 인생을 만들어가는 열정이 무엇인지 보여준다.

누구나 인생에서 성공할 수는 없지만 노력하여 그 기회를 갖는 사람도 있고 일찍히 포기하여 그러한 기회조차 누리지 못하는 사람도 있다.

영화는 그러한 기회를 주는 사람과 그 기회를 가진 사람의 이야기이다.
비록 참피온은 못됐지만 사람들의 환호속에서 참피온과 싸웠다는 것은 자신과 싸움에서 승리했다는 것을 뜻한다. 그것은 어떤 목적보다는 과정이 중요함을 일깨워준다.

누구에게는 인생을 정리하는 나이일지도 모르지만 마치 영화속 복서처럼 인생을 뛰고 있는 클린트 이스트우드에게 찬사를 보낸다.

http://www.milliondollarbaby.co.kr/

2005년 2월 23일 수요일

Top 100 Gadgets of All Time

지금까지 만들어진 물건 중에 가장 멋진 것 100개를 고른다면 어떤 물건들이 선택되었을까?

그중에는 우리가 흔히 쓰는 스태플러나 하모니까 등도 있지만 지금은 볼 수 없는 구식 전자계산기도 있다. 하지만 한시대를 풍미했던 멋진 제품임에는 틀림없다.

1위에는 애플 파워북이 차지했다. 소니의 워크맨, 팜PDA, 카시오 디지털 카메라, 애플 iPod, IBM ThinkPad 등이 순위에 올라와있다.

하지만 안타깝게도 우리나라은 제품은 하나도 없다. 아마도 선정 기준이 창조적인 것에 중점을 둔 것이라서 그런것 같다. 사실 우리나라에서 잘 만드는 휴대폰이나 TV는 다른나라에서 우리나라에서 처음으로 만든 것은 아니다. 남이 만든 것을 따라해서 나중에 잘 만들게 된 것이다.

기존에 없던 아주 새로운것을 만드는 것!
그것이 세상을 바꾸는 힘이다.

100개를 모두 확인하려면 아래 사이트로~
http://www.mobilepcmag.com/features/2005_03/top100gadgets.html

2005년 2월 22일 화요일

프로그램 테스트

그동안 소프트웨어 개발에 있어서 자동화된 테스트에 대해 무지했던 것 같다.
지난 프로젝트에 자동화된 테스트를 도입했다면 밤샘근무와 야근도 많이 줄였을텐데..

테스트는 코딩이 끝난 후에 하는 것이 아니라 개발하기전에 시작해야한다고 한다.

지금은 특정 모듈 개발이 끝나면 바로 테스트 프로그램을 작성하여 어느정도 테스트를 진행하면 신뢰성이 생기면 다음 단계로 진행하게 된다. 이렇게 하면 각 모듈간의 독립성이 높아지고 버그도 많이 줄어들게 된다.

특히 이 모듈 저 모듈이 통합되면서 생기는 골치 아픈 버그를 상당히 줄일 수 있다.

사실 테스트 프로그램을 만들고 테스트하는데 많은 시간이 필요하다. 때로는 실제 개발한 모듈보다 테스트 프로그램이 더 긴경우도 있다. 하지만 테스트를 자동화하는데서 얻는 잇점은 많다.

- 새로운 기능이 추가될 때, 테스트를 빨리 완료할 수 있다.
- 일일히 사람이 테스트하지 않고 자동화 하므로 퇴근후에도 테스트가 가능하다.

아직은 테스트툴을 직접 만들어서 사용하지만 좋은 툴도 많이 나와있다.

Java, C++용으로 개발된 것이 있는데, 한번 사용해 보면 좋을 것 같다.

관련 URL
http://occam.n4gate.com/tt/index.php?pl=62

http://reiot.com/blog/index.php?pl=126

http://www.gamesfromwithin.com/articles/0412/000061.html

2005년 2월 8일 화요일

콘스탄틴

매트릭스의 네오가 인류를 구하기 위해 다시 돌아왔다.
이번에는 악마와 사투를 벌인다.

담배 때문에 폐암에 걸린 주인공은 일종의 퇴마사이다. 사람 몸속에 숨어들어간 사탄을 지옥으로 쫓아내는 역할을 한다. 그러던 어느날 지옥을 주관하는 사탄 루시퍼의 아들이 이땅에 태어나려고 하는 시도를 한다. 얼마남지 않은 목숨을 겨우 부지하면서 사탄의 아들을 막아내고 구원받으려고 하나 루시퍼가 좀 더 악행을 쌓고 지옥에 오라고 폐암을 치료해 준다.

사탄의 아들이 이사벨의 쌍동이 언니 몸을 빌어 태어나는 설정은 하나님의 아들 예수가 마리아 몸을 통해 이땅에 태어나는과 비슷하다. 다른것이 있다면 사탄의 아들은 배를 뚫고 나오려고 한다.

영화는 다소 공포스러운 분위기를 유지하지만 곳곳에 유머가 배어있다. 루시퍼 자신이 담배회사 대주주라고 이야기하고 구원받아 천국에 올라가면서 루시퍼에게 재밌는 손모양을 보여준다. 그리고 천사 가브리엘의 행동도 너무나 인간적이다. 결국 나중에 인간이 되고 만다.

블레이드와 비슷한 부분이 많긴 하지만 매트릭스 팬이라면 볼만한 영화다. 그리고 미이라에서 봤던 여주인공의 열연도 확인할 수 있다.

평가: 별4개

http://dir.naver.com/Entertainment/Movie/Title/Constantine

2005년 2월 7일 월요일

apple의 새 제품들...

이번 Macworld에서 애플이 새롭게 소개한 제품들을 보면 하나씩 대단하는 느낌이 든다.

* Mac Mini

먼저 MacMini를 보자. 기존에 나온 어떤 Desktop보다 크기가 작으면 가격은 499$이다. 애플에서 만든 가장 싼 맥이라는 말이 나올만 한다. 기능은 iBook 수준이다. PC보다 비싸서 맥을 쓸 수 없었던 수 많은 사용자들, 특히 iPod 사용자들을 겨냥한 듯 보인다.

이렇게 싼 가격에 Mac OSX이라는 걸출한OS가 포함된 컴퓨터라면 PC에 WindowsXP가 포함된 것 보다는 확실히 저렴하다.

* iPod Shuffle
LCD가 없는 mp3 Player를 상상이라도 해봤는가? Shuffle이라는 새로운 개념을 만들어 99$에 512MB라는 메모리를 제공하는 획기적인 mp3 player를 만들어냈다. 어찌보면 고객에게 강요하는 듯 보이지만 원가도 절약하고 새로운 개념도 만들어 내는 효과를 톡톡히 보고 있다.

* Mac OSX Dashboard
이미 MS에서 Active Desktop으로 Dashboard와 비슷한 기능을 구현했지만 Apple에서는 이를 더 유용하게 발전시켰다. 바탕화면 위에 위치하는 것이 아니라 또 하나의 새로운 Layer를 만들어서 작업중이 바탕화면을 복잡하게 만들지 않아도 쉽게 Dashboard에 등록된 아이템들을 이용할 수 있다. 특히 새로운 아이템 나타날 때 마다 나타는 물결 효과나 날씨 아이템을 통해 애플의 상상력을 느낄 수 있다.

관련 URL
http://www.apple.com/quicktime/qtv/mwsf05/

2005년 1월 17일 월요일

한비아의 중국기행문을 읽고

지난 1월 1일날 이모댁에 놀러갔다가 사촌여동생에게 이 책을 빌렸다.
한비아라는 분에 대해서는 예전 부터 오지 여행가라고 들어왔지만 별 다른 관심은 없었다. 그러다가 손석희의 시선집중에서 동남아시아 해일 지역을 긴급구조하기 위해 그 지역을 방문하고 있는 한비아씨와의 인터뷰를 듣고 관심을 갖게 되었다. 오지 여행가라는 분이 왜 갑자기 월드비전이라는 구호단체에서 일을 하고 있는지 궁금했다. 그런더차에 이 책을 발견해서 기분이 좋았다.

제목 처럼 중국에 1년동안 어학연수를 하면서 느낌점과 월드비전 활동 내용이 소개되어있다. 직접 경험한 내용을 재밌게 풀어 쓰다보니 술술 책장이 넘어갔다.

엄청난 넓이의 국토와 다양한 인종 그리고 10억이 넘는 인구로 이루어진 중국에 대한 이야기 그리고 그속에서 살아가는 한국 유학생들 그리고 일본 , 중국 친구에 관한 이야기. 특히 일본 친구와 우정은 참 부러울 정도였다. 늘 느끼는 것이지만 한 나라안에 틀혀 박혀 있는 것이 아쉬울 때가 많다. 가볍게 털고 멀리 날아가고 싶지만 그것이 어디 쉬운 일일까? 아마도 많은 사람들이 그분의 책을 읽으면서 그런 욕구를 참아내고 있는지도 모른다.

사실 오지까지는 원하지는 않지만 그래도 여러나라의 문화와 언어를 경험하고 그 사람들과 친분을 맺어가면 참 좋겠다는 희망을 가져본다. 다행히도 나에게도 비슷한 경험은 갖고 있다. 비록 직접 외국에 가서 사람을 사귄 것은 아니지만 회사에서 외국인 개발자와 1년동안 일하면서 친하게 지낸적이 있다. 인도 출신의 시바라주라는 친구다. 참 착하고 성실한 친구였다. 마음이 여려서 가끔 상사에게 혼이라도 나면 눈물을 글썽이기도 했다. 떠날 때, 내가 가장 좋은 동료였다고 말해줘서 기뻤고 헤어지기가 아쉬웠다. 오래만에 그 친구에게 이메일이라도 보내봐야겠다.

2005년 1월 9일 일요일

2005년 KLDP 대문 그림



2005년을 맞이해서 새로운 대문 그림을 올려봅니다..

KLDP 구성원들이 함께 희망차게 웃는 모습을 표현해 보았습니다.
모두가 늘 웃는 그런 한해가됐으면 좋겠네요.

KLDP 성탄절 축하 대문 그림



KLDP 대문을 장식했던 그림입니다.

2005년 1월 5일 수요일

디버깅 이야기: malloc, free, new[], delete[]

http://bbs.kldp.org/viewtopic.php?t=1244&highlight=delete+pointer

c에서 cpp 클래스 멤버 함수 호출에 관하여

http://bbs.kldp.org/viewtopic.php?t=24593&highlight=delete+pointer

get_ptr 이 마치 생성자의 역할을 해야하는데, 그렇지 않은 코드이군요.

C++ member 함수를 호출할 때는, C++ 에서 (C아닌) wrapper 함수를 제공해주어야 정상적으로 호출할 수 있습니다.

심지어 위의 코드에서 X::ftn1, X::ftn2 함수는 static 이므로 this pointer가 넘어가지 않는 함수이군요.

어셈블 코드를 설명하는 방식이 아니어서 죄송합니다만. 위에 제시하신 class X를 C 코드에서 사용하려면, 다음과 같은 interface를 작성해주시는 것이 좋습니다. ftn1과 ftn2 를 static 으로 하지 않는 코드로 설명드리면..

t2.cc
코드:

class X {
public:
int x;
int y;
void ftn1(void);
int ftn2(int,int);
};

type void XX;

extern "C" XX * X_init()
{
return (XX *) new X;
}

extern "C" void X_ftn1( XX * pthis )
{
((X*)pthis)->ftn1();
}

extern "C" int X_ftn2( XX * pthis, int a, int b )
{
return ((X*)pthis)->ftn2(a,b);
}

extern "C" void X_destroy( XX * pthis )
{
delete pthis;
}

t1.c
코드:

int main(int argc, char* argv[])
{
XX * p = X_init();
X_ftn1(p);
X_ftn2(p,10,11);
X_destroy( p );
}

... 컴파일 안하고 올리는거라 오류가 있다면 답글 주세요. 메모리 할당 오류 등은 생략하였습니다.
_________________
가는 선, 정교한 생명시계.
오늘도 하루를 오차없는 프로그램처럼 살아 있다.