페이지

2006년 12월 31일 일요일

윈도우를 어떻게 찾죠?

How can I find a window?

몇 년전에 그렸던 만화...

제일 처음 알았던 윈도API였죠

지금 보니 무척 썰렁하군요... ^^;

2006년 12월 26일 화요일

어플리케이션 프레임워크의 진화 - Mozilla Application Framework

Firefox를 사용하십니까?

제 아내도 즐겨 사용하는 Firefox를 단순히(?) 웹브라우저라고 보시면 안됩니다. 물론 Firefox 그 자체는 웹브라우저가 맞습니다. 하지만 기반을 이루고 있는 기술을 보면 모질라에서 인터넷 익스플로러에 대항하기 위해 얼마나 많은 준비를 하였고 혁신을 추구했는지 알 수 있습니다.

Firefox는 여러 운영체제에서 실행됩니다. 즉, 크로스 플랫폼(cross-platform) 기반의 어플리케이션이라고 할 수 있습니다. 즉, 같은 소스코드를 기반으로 리눅스, 매킨토시, 윈도 등과 같은 여러 운영체제를 지원한다는 의미입니다. 인터넷 익스플로러도 마찬가지로 매킨토시를 지원해 왔으며, 예전에는 솔라리스용 인터넷 익스플로러 3.0도 있었습니다. 하지만 인터넷 익스플로러가 진정한 크로스 플랫폼을 지원하다고 말하기 힘들었습니다. 운영체제마다 지원하는 기능이 조금씩 달랐으며 특히 HTML렌더링 결과가 달라 사용자로 부터 많은 불평을 들었습니다. 윈도로 개발된 것을 다른 운영체제용 개발팀이 그러저럭 따라 개발하는 수준이였으리라 짐작해 봅니다.

Netscape 브라우저도 별반 다르지 않았습니다. 매킨토시와 리눅스/유닉스를 지원해 왔으며 특히 리눅스/유닉스 쪽에서는 거의 유일한 웹브라우저였기 때문에 크로스 플랫폼에 대한 지원은 Nescape의 막중한 임무였습니다. 하지만 여러 플랫폼을 지원하는 것은 쉽지 않은 일이였고 운영체제에 맞게 최적화가 덜 된 탓에 인터넷 익스플로러의 발전속도를 따라잡기 힘들었습니다.
그 결과, 모질라에서는 Netscape 브라우저가 가진 문제를 개선하고 좀 더 효과적인 크로스 플랫폼 지원을 위해 모질라 어플리케이션 프레임웍(Mozilla Application Framework)을 개발하였습니다.

어플리케이션 프레임웍(Application Framework)

특정 운영체제를 위한 어플리케이션의 표준 구조를 클래스나 라이브러리의 꾸러미로 구현된 형태를 "어플리케이션 프레임워크"라고 합니다.[1] 윈도 어플리케이션 개발에 많이 쓰이고 있는 MFC(Microsoft Foundation classes), Mac OSX을 위한 Cocoa, 리눅스 어플리케이션을 위한 KDE(K Desktop Environment)가 대표적인 예라고 할 수 있겠습니다. 대부분 특정 개발툴이나 운영체제에 의존적입니다.(KDE는 예외)

모질라 어플리케이션 프레임웍(Mozilla Application Framework)[1]

모질라 어플리케이션 프레임워크'(Mozilla Application Framework)모질라 응용 프로그램을 구성하는 크로스 플랫폼 소프트웨어 컴포넌트의 꾸러미입니다. 네트워크를 기반으로 한 응용 프로그램 개발을 쉽게 할 수 있도록 다양한 기술이 포함되었습니다. Gecko라는 레이아웃 엔진과 XUL(XML User Interface Language)을 통해 GUI를 구성할 수 있으며 JavaScript와 XPCOM이라는 컴포넌트 기술을 이용해서 코딩을 할 수 있습니다. 그 밖에 Necko, XBL, XPConnect, XPInstall과 같은 기술을 제공하고 있습니다. 각각의 기술에 관해 짧게 살펴보겠습니다.

Gecko
성능과 이식성을 위헤 설계된 표준기술 기반의 레이아웃(layout) 엔진입니다. 단순히 HTML을 위한 레이아웃 엔진이 아닌 대화상자, 위젯과 같이 브라우저를 구성하는 기본 GUI까지 표시할 수 있습니다. 현재 다음과 같은 표준기술을 지원합니다.

* HTML 4.0
* XML 1.0
* XHTML 1.1
* MathML
* XForms (via an official extension)
* SVG (Partial SVG 1.1 support*)
* CSS Level 1 (partial support for CSS 2 and 3, see Mozilla CSS support chart for details)
* DOM Level 1 and 2 (partial support for DOM 3)
* RDF
* JavaScript 1.7

XPCOM(Cross Platform Component Object Model)
XPCOM은 크로스 플랫폼 컴포넌트 모델입니다. 코바(CORBA)나 마이크로소프트 COM가 유사하다고 보면 됩니다. XPCOM은 다중언어바인딩과 IDL을 제공하여 개발자로 하여금 자신이 만든 기능을 프레임워크에 껴 넣고 다른 컴포넌트와 연결시킬 수 있도록 합니다. 이 기술은 Gecko의 모든 기능을 가상적으로 컴포넌트화하여 브라우저나 다른 모질라 어플리케이션에서 스크립트를 이용해서 접근할 수 있도록 합니다. 다양한 모질라 XPCOM 라이브러리(네트워킹, 보안, DOM, 등)에 접근하려면 XPConnect라는 XPCOM의 레이어를 사용하면 됩니다. XPConnect를 이용하면 자바스크립트로 XPCOM 라이브러리를 이용할 수 있습니다. XPCOM 컴포넌트는 C,C++, Java Script로 개발할 수 있습니다.

XUL(XML User Interface Language)
모질라 어플리케이션 프레임워크에서 사용되는 사용자 인터페이스 기술 언어입니다. XML로 작성되었으며 대화상자, 위젯, 템플릿 등 다양한 사용자 인터페이스 구성 요소를 정의할 수 있습니다. CSS, 자바스크립트, DTD, RDF와 같이 이미 존재하는 표준 기술을 사용하여 웹개발이나 디자인 배경을 가진 사람들이 쉽게 배울 수 있도록 하였습니다.

Necko
Necko는 네트웍 프로토콜과 파일 시스템 접근을 다루기 위한 추상 레이어를 제공하는 역할을 합니다. 이 역시 크로스 플랫폼을 지원하기 위해 개발되었습니다. 개발자는 운영체제에서 제공하는 네이티브 인터페이스를 고려하지 않고 Necko에서 제공하는 API를 이용해서 네트웍이나 파일에 접근할 수 있습니다.

XBL(XML Binding Language)
시용자는 XBL을 이용하여 XUL 위젯의 모습과 동작을 새로 정의할 수 있습니다.

XPInstall
XPInstall는 XPI라고 알려진 설치 아카이브 형식으로 확장기능과 테마와 같은 작은 패키지를 모질라에 설치하기 위한 기술입니다.

웹서비스
모질라 어플리케이션 프레임워크에서는 XML-RPC, SOAP, WSDL와 같은 여러 다양한 웹서비스 표준을 기본 지원할 뿐만 아니라 인터넷 익스플로러와 유사한 XMLHttpRequest 개체도 지원하고 있습니다. 이들 표준기술 지원을 통해 서버와의 XML 데이터 연동 기능을 지원하고 있습니다.

기타
그 밖에 DTD, RDF, XSLT/XPath, MathML, SVG, JavaScript, SQL, LDAP 등과 같은 표준 기술을 지원하고 있습니다.

어플리케이션 프레임워크의 전망

앞서 언급했듯이 운영체제별로 다양한 어플리케이션 프레임워크가 존재하고 있으며 서로 다른 장점을 배경으로 경쟁하고 있습니다. 이들 어플리케이션 프레임워크의 첫번째 목표는 배우기 쉽고 사용하기 쉬어야 한다는 점입니다. 하지만 대부분 C,C++언어를 알아야 하며 객체지향적인 개념에도 익숙해져야 합니다. UI를 만드는 것은 여전히 까다롭고 시간이 많이 걸리는 작업입니다. 게다가 이식성 문제에서는 MFC나 Cocoa처럼 답이 없는 어플리케이션 프레임워크도 있습니다. 자바가 그 대안으로 사용되고 있으나 순수 자바만으로는 UI를 구성하는데 속도 문제 등 부족한 부분이 있습니다.(그 대안으로 이클립스 프레임워크가 있으나 나중에 다시 논의하도록 하겠습니다)

모질라 어플리케이션 프레임워크이 주목받는 이유는 이런 문제를 해결할 수 있다는 점입니다. 우선 Firefox라는 브라우저를 기반으로 자바스크립트와 XUL기술만 익히면 쉽게 크로스 플랫폼을 지원하는 어플리케이션을 개발할 수 있습니다. 기존 웹개발자나 디자이너들도 쉽게 어플리케이션 개발에 참여할 수 있습니다. 스크립트로 어플리케이션을 개발하기 때문에 좀 더 빠르고 유연하게 개발에 임할 수 있습니다.

요즘 C로 웹서용 어플리케이션을 개발하는 경우는 드믑니다. 많은 경우 PHP, ASP와 같은 서버 측 스크립트 언어로 개발되고 있습니다. 클라이언트 측면도 이와 마찬가지로 스크립트 기반으로 발전될 것입니다. 여러 운영체제에서 이미 스크립트 기반의 어플리케이션 개발을 지원하고 있습니다. Mac OSX의 애플 스크립트도 그중 하나입니다. 그리고 UI를 표현하는데 있어서 XML을 사용하는 것도 현재의 추세입니다. 마이크로소프트의 새로운 운영체제인 윈도 비즈타에서 사용되는 WPF(Windows Presentation Fountdation)도 XAML(Extensible Application Markup Language)를 사용하고 있습니다.

Firefox는 성공적이며 대중적인 웹브라우저입니다. 그 성공에는 잘 설계되고 확장성이 뛰어나며 크로스 플랫폼을 지원하는 모질라 어플리케이션 프레임워크가 큰 역할을 하고 있습니다. 이미 수 많은 컴퓨터에 Firefox가 설치되어 있으며 이는 모질라 어플리케이션 프레임워크가 기본적으로 동작하고 있다는 것을 의미합니다. 가장 쉽고 빠르게 크로스 플랫폼을 지원하고 싶다면 과연 어떤 어플리케이션 프레임워크를 선택해야 할까요? 모질라 어플리케이션 프레임워크가 좋은 대안일 수 있습니다.

참고문헌
[1] 위키피디아, http://en.wikipedia.org/wiki/Application_framework (일부내용을 번역하였습니다)
[2] 위키피디아, http://en.wikipedia.org/wiki/XPCOM
[3] 위키피디아, http://en.wikipedia.org/wiki/XUL

2006년 12월 11일 월요일

개발자의 참 즐거움

joone_developer

(KLDP blog에 올렸던 그림입니다) "그림하고는 영 다른 이야기가 됐군요.."

코딩만 하고 살수는 없을까요? 하지만 현실은 그렇지 못합니다. 개발자는 단순히 코딩만 하는 사람은 아니며, 경험이 늘어날 수록 년차가 늘수록 더 다른 능력을 갖추어야 합니다.

- 문서화, Communication Skill, 리더쉽

내 자신의 아이디어를 구체화하려면 남을 잘 설득해야 하고 글도 논리적으로 잘 써야 합니다.
주위를 보면 개발자 출신 영업맨, 기획자는 우대를 많이 받습니는다. 기술적 지식과 함께 깔끔한 마스크와 언변을 갖춘다면 영업으로 더 큰 능력을 발휘할 수 있고 글 잘 쓰고 기술을 보는 시각이 넓으면 좋은 기획자가 될 수 있습니다. 아니면 SE, SQA로 업무를 바꿀 수 있습니다.

개발자는 변해야 합니다. 아니 변하기 싫어도 변하게 되는 것 같습니다.  다만, 개발에서는 멀어질지는 몰라도 개발자와 떠나서는 일하고 싶지는 않습니다. 그들과 함께 기술을 논하고 고민하는 시간은 참 즐겁습니다.

개발자라는 연대감. 기술을 선도하고 세상을 바꿀 수 있다는 자신감. 그리고 계속 발전하는 세상. 힘들때 마다 이 길을 걷게 만드는 힘이 됩니다.

2006년 11월 27일 월요일

리차드 스톨만 강연을 듣고나서....

그의 강연을 들어보면 그가 단순히 free software운동만 하는 것은 아닌것 같습니다. 그는 저작물(software, 책, 영화, 음악 등)을 통해서 자본을 축적하는 것을 반대하고 있습니다.저작물을 통해 축적된 자본은 결국 다른 사람의 자유를 침해하기 때문이지요.

거대 자본은 저작물의 권리를 유지하기 위해 우리에게 더 많은 비용을 요구하고 있습니다. 그것은 결국 창작인의 자유를 침해하고 소비자의 선택의 권리도 침해할 수 있으며, 우리 모두를 범죄자로 만들고 있습니다. 대부부의 컴퓨터 사용자는 한번쯤 불법 복제된 컨텐츠나 소프트웨어를 사용한 적이 있을 것입니다.

그렇다고 내가 만든 창작물을 돈을 벌 수 없다면 지금 처럼 소프트웨어 산업과 문화산업이 발전할 수 있을까 의문이 들기도 합니다. 하지만 우리가 가진 재능과 지식은 나누어야 한다는 그의 철학에는 수긍이 갑니다.

일부 계층에 독점되었던 정보와 지식이 과학 발전을 통해 일반 계층에도 전파되면서 역사가 시작되었습니다. 지금은 그렇게 발전된 과학과 자본이 정보와 지식의 발전을 막고 있습니다.
나의 재능이 내 것이 아닌 우리 모두의 것이라고 느낄 때, 세상은 발전할 것입니다.
관련글

Richard Stallman 초청 강연회

2006년 11월 13일 월요일

2006 삼성 소프트웨어 멤버십 전시회

http://www.secmem.org/exhibition/ssm2006ex/index.html

소프트웨어 멤버십 전시회가 열린다고 합니다..

장소는 강남멤버십이며 11/15 ~ 11/17간 열린다고 합니다. 주중이라서 가기는 힘들겠네요.

멤버십 규모가 상당히 늘었습니다. 제가 들락달락할 때(10년전 친구 덕에) 서울에 하나 지방에 하나였던 것으로 기억합니다. 지금은 전국적으로 8개나 있네요. 그 때나 지금이나 운영상에 변화는 없어보입니다. 여전히 자유스럽게 자기 하고 싶은 일을 하면 되고 모든 지원은 삼성전자에서 부담하고 있습니다. 1년에 한번씩 결과물만 보여주면 되지요. 좀 다른 부분은 선발입니다. 예전에는 내부 회원간의 추천만 의존했지만 지금은 공개적으로 뽑고 있습니다.

지금은 좀 다르겠지만, 멤버십 제도 덕분에 학점은 다소 좋지 않지만 컴퓨터 실력이 뛰어난 학생들이 삼성전자에 입사할 수 있었습니다. 지금은 다들 학점관리를 잘하니까(?) 별 문제는 없겠지만, 사실 컴퓨터 실력과 학점이 반드시 비례하지는 않았습니다. 프로그래밍 좋아하는 친구들은 자기가 좋아하는 분야에 매달리다 보니 전날 늦게 자고 수업시간에 졸고 그러는 등 학과 공부에 다소 소홀한 부분이 많았죠.
회사에서 보면 멤버십 출신들은 상당히 돋보입니다. 개발 경험이 많기 때문에 같은 신입사원이라도 멤버십 출신들은 바로 업무에 투입해도 손색없이 일을 합니다.
제가 죽 전시회 내용을 파악하고 있는 것은 아니지만 전시회 규모도 무척 크고, 재미있는 아이디도 많습니다. 물론 다소 영상 처리, 게임에 치중된 부분이 많기 한데, SoC 설계부터 로봇까지 주제는 무척 다양합니다.

홈페이지에 전시 내용이 잘 소개되어 있으니 한번 들러보세요~

2006년 11월 9일 목요일

8Bit 시절...

피플웨어라는 블로그를 운영하는 류한석님의 "8Bit 키드의 현재"라는 글을 읽고...

8Bit시절...

8Bit 시절

애플2, MSX 가 양대산맥으로 있던 그런 시절이 있었습니다. 가끔 금성 패미콤 시리즈나 삼성 SPC시리즈를 갖고 있던 아이들도 있었으나 역시 주류는 애플과 MSX였지요.

제가 처음 컴퓨터를 접한 것은 1984년, 당시 초등학교에 처음 도입된 FC-100이라는 컴퓨터였습니다. 학교에 단 한대의 컴퓨터가 들어왔고 이듬해에 컴퓨터반이 생겼습니다.

아이들 60명에 단 한대의 컴퓨터.

그 컴퓨터가 과학실에 있었고 담임선생님이 관리 담당이라서 방과 후에 혼자 쓸 수 있는 기회를 갖게 되었습니다. 그렇게 컴퓨터와의 인연은 시작되었습니다.

중학교 2학년, 생애 최고의 성적결과로 고무된 부모님은 저에게 MSX2를 사주셨고 그 이후로 그 성적은 역사의 한페이지가 기록되고 말았습니다. ^^; 하여간 저는 중학교 내내 컴퓨터에 푹 빠져서 지냈습니다. 온갖 게임도 다 해보고 Basic으로 게임도 만들고 나중에는 Z80 기계어까지 공부하려고 했으나.. 중학생 수준에서는 무리였던 것 같습니다.

국민PC로 IBM PC가 선정되면서 8Bit는 역사의 뒤안길로 사라지기 시작했습니다. 컴퓨터 잡지 기사는 점점 줄고 친구들 중 하나둘씩 PC를 구입하면서 같이 게임하고 이야기 나누던 친구들도 멀어져갔습니다.
지금 생각해보면 정부에서 참 잘한 일이라는 생각이 듭니다. 계속 8Bit 컴퓨터를 끌고 나갔다면 일본에 컴퓨터 시장이 종속될 것이 뻔했고 빨리 PC를 사용한 덕분에 일본이 PC9801기종으로 삽질하는 동안 우리는 정보통신 강국의 기초를 잘 닦을 수 있었습니다.

고등학교와서 가끔 게임 하는 것 외에는 컴퓨터를 잘 쓰지 않다가 대학에 와서 386 PC와 PC통신으로 새로운 세계에 빠져들게 되었습니다.

중학교 때 MSX Basic을 마스터한 덕분에 Visual Basic으로 처음 윈도 프로그래밍을 하게 되었고 그 인연으로 지금까지 개발자의 길을 걷고 있습니다. 아마도 그 당시 MSX Basic을 공부하지 않았다면 현재의 저의 모습은 찾기 힘들 것입니다. 그 당시에는 잘 몰랐으나 MSX의 'M'이 오늘날의 Microsoft를 의미하는 것이였고 MSX-DOS를 비롯하여 8Bit시절에 많은 것을 선행 학습할 수 있었습니다.

다행스럽게도 8Bit 시절의 추억을 갖고 여전히 이쪽에서 일하는 분들이 많네요. 요즘 아이들은 온라인 게임에 푹 빠져있지만 그 때 우리는 나름대로 게임을 하기 위해 코드를 입력했고 지금도 그렇지만 그 때도 버그와 싸웠었지요. ^^; 지금 우리들의 모습에서 그 때 기억을 떠올리니 재미있습니다.

2006년 10월 27일 금요일

Richard Stallman 초청 강연회



GNU를 만들고 Free Software운동을 하고 있는 리차드 스톨만이 한국에 옵니다.

11월 18일 연세대에서 "GPLv3의 최근 동향과 자유 소프트웨어, 그리고 GNU/리눅스 운영체제"라는 주제로 강연을 합니다. 관심 있는 분은 KLDP홈페이지에서 참가신청을 하세요..

행사에 대한 좀 더 자세한 내용은 GNU Korea에 있습니다.

리차드 스톨만은 누구인가?

그는 최초의 해커입니다. MIT에서 인공지능을 연구하던 그는, 그가 개발한 SW를 MIT에서 상업화하면서 자유롭게 이용할 수 없게 되자 상업용 SW의 위험성을 널리알리기 위해 1984년 자유 소프트웨어 운동을 시작합니다. 여기서 오픈소스 소프트웨어와 자유(Free) 소프트웨어는 다른 의미를 가집니다. 많은 기업들이 자신의 SW제품을 오픈소스화 하고 있지만 그것은 단지 소스 공개일 뿐, 누구나 그 소스를 고치거나 재배포할 권리를 가지지는 못합니다. 자유 소프트웨어는 누구나 수정할 수 있고 재배포할 수 있으며 무료로 사용할 수 있습니다. 그렇다고 자유 소프트웨어가 공짜라는 개념은 아닙니다. 자유소프트웨어도 최소한 비용(CD제작비용)으로 판매될 수 있습니다. 중요한 것은 독점을 막는 것입니다.

그렇다면 우리가 SW독점으로 겪고 있는 문제는 무엇일까요?

그 예로 한글 윈도98을 들 수 있습니다. 얼마전 마이크로소프트는 한글 윈도98에 대한 지원을 중단했습니다. 국내에는 아직도 수 많은 한글 윈도98이 설치되어 있습니다. 특히 공공기관에서는 여전히 도스용 프로그램을 사용하기 있기 때문에 윈도98은 필수적입니다. 이 때문에 정부 관계자가 마이크로소프트를 방문해서 지원 연장을 요청했지만 거절당했습니다. 기업의 입장에서 이미 판매된 SW에 대해 일정 기간 서비스를 제공하면 그만입니다. 그 이후 문제는 새로운 SW를 쓰라는 것이 그들의 입장입니다.

앞으로 한글 윈도98에 치명적인 보안 오류가 발생하면 그 누구도 그 문제를 해결할 수 없습니다. 소스가 공개되어 있지도 않고 공개되어 있더라고 재배포할 권리가 없기 때문입니다.

SW는 우리가 늘 마시는 공기와 같다고 합니다. 즉, 자유롭게 즐길 수 있어야 한다는 의미입니다. 이런 부분은 여전히 논쟁거리입니다. 기업에서는 좋아할리가 없지요. 하지만 독점 소프트웨어는 분명히 문제가 있습니다. 이런 부분들을 슬기롭게 해결하는 것이 우리의 남겨진 숙제라고 할 수 있겠습니다.

직접 강연회에 참석한다면 이런 궁금증을 해결할 수 있을 것입니다.

ps. 위 그림은 제가 그렸습니다. 잘생긴 스톨만을 너무 희화적으로 그린게 아닌가 싶네요.. 본인은 좋아할지... ^^;

바깥고리

한겨레신문 기사

2006년 10월 23일 월요일

BarCamp Seoul 참석 후기

BarCamp Seoul 2006

BarCamp란?

자발적인 참여를 기반으로 특별한 형식과 주제없이 서로 준비한 내용을 발표하여 토론하고 배우는 형식없는 컨퍼런스입니다.

우연히 지인의 블로그에 갔다가 BarCamp Seoul행사가 열린다는 소식을 접했고 선착순 50명에서 등록이 마감된다고 하기에 바로 참가 신청을 하게 되었습니다. 한국 모질라 운영자인이 channy님이 개최한 행사라 웹과 관련한 많은 회사 사람들이 참가 신청을 해서 손꼽아 행사 날을 기다렸습니다. 하지만 막상 날짜가 다가오니 회사일로 생각했던 발표 자료를 준비할 겨를이 거의 없었습니다. 참가를 취소할까 고민도 했지만 언제 다시 이 행사가 열릴지 불분명하기도 하고 간만에 지인들도 만날겸해서 다소 바쁜 일들을 뒤로 하고 참석을 했습니다.

IT업계 종사자들이 서로의 관심사와 정보를 공유하는 이런 모임을 참 좋아합니다. 게다가 업계를 대표하고 열정을 가진 분들을 만날 수 있으니 이 보다 좋은 모임이 어디있겠습니까?

주제와 상관없이 네개의 세션으로 나누어 행사가 진행되었습니다. 참석한 분들 모두에게 20분에 해당하는 발표시간이 주어졌습니다. 처음에는 벽을 치고 각 세션을 진행했으나 세션간이 이동이 힘들다는 이유로 완전히 벽을 걷어내고 진행했습니다. 이 역시 여러 사람이 한 공간에서 발표를 진행하다 보니 다시 소란스럽고 발표내용에 집중하기 힘들어 벽을 반만 지키로 했습니다. 이렇게 하니가 중간 중간 세션에 이동이 쉬워져서 듣고 싶은 발표를 놓치지 않고 들을 수 있어서 좋았습니다.

주제는 기술적인 부분에서 기획에 관련된 부분까지 다양했으며 현재 인터넷 활용 추세와 기술의 발전 방향을 미리 확인해 볼 수 있는 소중한 시간들였습니다. 저는 "프로그래머 야이기"라는 주제로 제 블로그와 KLDP블로그에 올렸던 삽화를 가지고 프로그래머와 연관한 이야기를 소개하였습니다. 개인적인 부분 부터 개발자면 누구나 공감할 만한 내용으로 꾸며보았습니다. 좀 더 기술적이고 도움이 될만한 주제로 발표하고 싶었으나 제가 회사에서 하는 업무를 소개하기에는 참석한 분들의 배경과 잘 어울지 않았고 그렇다고 웹을 주제로 하기에는 부족한 부분이 많기에 일반적인 내용으로 진행하였습니다. 다음에 기회가 되면 준비를 좀 더 많이해서 유익한 내용을 발표를 하고 싶네요.

든든한 스폰서 덕분에 최고의 점심 도시락을 즐길 수 있있고 이쁜 기념품도 받았습니다. 어디 돈내고 듣고만 오는 다른 컨러펀스 비하여 큰 부담없이 제가 직접 참여도 할 수 있어서 훨씬 좋았습니다.

앞으로 다양한 분야에서 좀 더 전문적인 BarCamp 행사가 열리기를 기대하며 제가 몸담고 있는 조직내에서도 이런 행사를 진행해도 좋을 것 같다는 생각이 들었습니다.

이번 행사를 준비하는 수고하신 자원봉사자 여러분과 바쁜 시간에도 불구하고 멋진 발표를 해주신 열정적인 참석자들 모두에게 감사를 드립니다.

제 발표자료는 여기 블로그 만화를 소개하였기 때문에 풀그리미 태그를 클릭하시면 내용을 실제 발표 보다 더 자세하게 볼 수 있습니다.

2006년 10월 16일 월요일

축! KLDP 10주년

KLDP_10th

KLDP 10주년 기념으로 그린 그림입니다. 붉은돼지를 모티브로 그려봤습니다. 간만에 색연필로 그려봤는데, 배경까지 그리기에는 다소 역부족이였습니다.

관련글

2006년 10월 9일 월요일

저작권 사용 범위 명시하기

얼마전 제가 그린 그림이 마이크로소프트웨어 9월호에 무단(?) 게재되는 사건이 일어났습니다.

이 그림입니다.
지금까지 제 블로그에는 저작권이 표시되어 있지 않았지만 저에게 어떠한 알림도 없이 그림을 사용한 부분은 잘못된 것입니다. 아직까지 제가 업으로 만화를 그리는 것이 아니므로 큰 문제는 아니지만 제가 직업으로 그림을 그렸다면 그냥 넘어가지는 않았겠죠.(사실 제 그림이 마이크로소프트웨어에 나와서 기분은 좋았습니다 ^^;)

그래서 이번 기회를 통해 Creative Commons를 통해 제 블로그의 저작권과 사용범위를 명확하게 하였습니다.

Creative Commons에서는 주로 온라인상에 게재되는 각종 컨텐츠에 대한 저작권 사용범위를 잘 정리해 놓았습니다. 저 같이 개인적인 창작물을 자신의 블로그나 홈페이지에 올려놓았을 때, 저작권 사용범위를 명시하여 다른 사람이 그 범위내에서 활용할 수 있도록 하고 있습니다.

요즘 아무 웹페이지에서 컨텐츠를 가져다가 자신의 블로그나 홈페이지에 올리다가 고소를 당하는 경우가 종종 벌어집니다. 주로 전문 작가들의 사진이나 음악 및 영화를 사용하다가 그런 일을 겪게 되는데, 상당히 조심해야 합니다. 그리고 개인이 만든 저작물이 역으로 제대로 보호를 받지 못하고 큰 매체에 무단으로 이용되는 경우가 종종 있습니다.

이런 문제를 해결하기 위해 Creative Commons는 합리적으로 인터넷상의 컨텐츠를 서로 공유하는 라이센스를 만들었습니다.

요즘은 누구나 컨텐츠를 만들 수 있습니다. 포토샵과 같은 그래픽툴도 일반화됐고 캠코더, 디지털 카메라도 많이 보급되어 저를 비롯한 많은 사람들이 자신이 만든 컨텐츠를 인터넷을 통해 공유하고 있고 심지어 다른 사람들이 가져다 쓰기를 원하기도 합니다. 자신이 만든 컨텐츠가 "펌질"의 대상이 되는 것도 기분 좋은 일이겠죠. 단, 세부적으로 저작권을 표시해 주거나 상업적으로 이용하면 안된다던지 하는 조건을 원하는 경우가 많습니다.

Creative Coomons는 법률적으로 아쉬운 그런 부분에서 저작권자를 보호하기 위한 많은 장치를 마련하였습니다. 현재 "저작권 표시", "비영리", "변경금지", "동일조건변경허락" 요소로 구성되어 있습니다.(좀 더 자세한 정보는 여기를 클릭)
금일 부터 제 블로그 내 모든 컨텐츠는 Creative Commons를 따릅니다. 세부적으로 저작권은 표시되어야 하며 비영리 목적에 이용되어야 하고 변경도 금지됩니다. 이외의 목적이 있다면 제 허락이 필요합니다. 인터넷상에서 일반 사용자에게는 제약이 없으리라고 봅니다. 블로그에 있는 제 그림과 제 글은 원저작자를 표시해주면 마음껏 사용할 수 있는 것입니다. 단, 상업용 출판에서 이용하려면 제 허락이 필요합니다.

제 블로그와 홈페이지에 별 대단한 내용이 있는 것은 아니지만 저의 노력으로 이루어진 것이므로 이러한 저작권의 범위는 명시할 필요가 있습니다.

2006년 9월 22일 금요일

KLDP Conference 참관기



열정의 KLDP Conference !!

많은 사람들의 참여로 KLDP Conference가 성공적으로 끝났다. Open Source와 Free Software를 주제로 국내에서 열린 Conference가운데 가장 성황리에 열린 것이 아닌가 추측해본다. 물론 모든 행사에 다 참여해 본 것은 아니지만. :-)

중요한 것은 이 행사가 어떤 회사가 아닌 순수 커뮤니티 차원에서 치루어진 행사라는 점이다. KLDP를 만들고 10년간 꾸려온 권순선님을 비롯한 자원 봉사자들이 업으로 이 모임을 운영하는 것이 아니다. 또한 행사에 참여한 강사진이나 기타 도움을 준 분들이 돈을 받고 참여한 것도 아니다. 단지 소프트웨어를 좋아하고 리눅스에 관심이 많고 Open Source에 사랑하는 많은 사람들이 참여로 이러한 큰 행사가 이루어진 것이다. 그래서 더 기쁘고 고무적인 것 같다.
사실 요즘 전산학을 전공하려는 친구들이 줄어들고 Open Source로 소프트웨어를 개발하는 사회적 분위기 성숙되지 못해 이런 행사가 잘 치루어질까 고민도 많았었다. 하지만 이번 행사를 치루면서 희망을 갖게 되었다.

강사로 참여한 Google의 Greg Stein이 지적했듯이 한국의 Open Source에 대한 관심과 참여도는 상당히 낮다. Open Source에 대한 활용에는 눈에 불을 켰는지는 모르지만 기여에는 참담한 수준이다. 특히 기업의 참여는 다음과 같은 일부 포털을 제외하고는 전무한 실정이다.

아마 국내 많은 소프트웨어 개발자가 자신만의 Open Source 프로젝트를 진행하고 싶고 참여도 하고 싶을 것이다. 하지만 한국의 소프트웨어 개발 환경이 후진적이기 때문에 야근, 휴일 근무가 빈번한 상황에서 이런 활동을 기대하기는 힘들다. 그래도 KLDP.net을 근간으로 국내 Open Source에 대한 활동이 활성화되기 시작해서 기대하는 바가 크다.

한 때, 나도 Open Source 프로젝트를 하겠다가 잠시 기웃거린 적이 있었다. 그러다가 그만 두었는데, 무책임한 코드는 여전히 KLDP.net에 존재하고 있다. Open Source 프로젝트도 전략이 없으면 실패하고 만다. 아무도 쓰지 않는 소프트웨어를 무슨 보람을 갖고 참여하겠는가?

꼭 SW개발 일이 아니더라도 Open Source에 기여하는 방식은 생각보다 다양하다. SW대한 입소문을 퍼뜨리는 일종의 마켓팅 역할도 할 수 있고 버그를 잡거나 문서화 프로젝트에도 참여할 수 있다. 그리고 단순히 이러한 참여가 사회에 대한 기여 뿐만 아니라 나 자신의 실력 향상과 경력을 쌓는데도 도움이 될 수 있다는 점을 기억해야 한다.
끝으로 KLDP가 더욱 발전하고 국내 Open Source 활동이 더욱 활발해지기를 기원하고 내년에도 더 좋은 행사로 많은 사람의 관심과 사랑을 받았으면 좋겠다.

2006년 9월 13일 수요일

BarCampSeoul

바캠프라는 행사가 열리는군요.

무척 흥미로운 행사 같아서 참가 신청을 했습니다.

일종의 컨퍼런스인데, 누구나 어떤 주제를 가지고 발표를 할 수 있습니다.

발표 주제를 무엇으로 할까 고민 좀 해봐야겠습니다.

아래 내용은 행사 소개에서 가져왔습니다.

BarCamp의 취지 및 진행


BarCamp는 여러 관심사의 사람들이 만나 서로 의견을 교환하는 강력한 교류의 장입니다. 모두가 참여자가 되며 구경꾼이 있을 수 없습니다. FooCamp 보다 더 자유로운 형식을 지향해서 실리콘밸리에서 시작된 이 행사는 전 세계적으로 주로 인터넷 서비스나 기술에 대한 주제를 기반으로 열리고 있으나, 영화 만들기나 취미 생활 같은 주제를 나누어도 무방합니다. BarCamp는 캠핑장에서 숙박을 같이 하면서 열리기도 하고, 하루 행사로 열리기도 합니다. 국내에서 처음 열리는 BarCampSeoul은 아래와 같은 모임을 제안합니다.



일시 및 장소





    • 일시: 2006년 10월 21일(토) 오전 11:00 ~ 17:00

    • 장소: 다음커뮤니케이션 3F (열린방) 찾아 오시는 길

      • 전체 60석 좌석에 4개의 분할 세션이 가능합니다.






참가 신청은 아래 URL에서 가능합니다..

http://barcamp.org/BarCampSeoul

2006년 9월 9일 토요일

KLDP 컨퍼런스를 도우면서...

무엇인가 열심히 하려면 열정이 필요하다. 남들이 보기에는 별 이익이 안되는 일에도 우리는 열정 하나로 뛰어든다. 사실 나이를 먹어가면서 여러가지 현실적인 문제와 신경쓸 문제로 인해 어떤 일에 열정을 갖기는 참 힘든 것 같다.

학교 다닐때, 직장 초년생일 때는 열정만으로도 재미있고 흥미있는 일에 열심히 참여했었는데, 지금은 그렇지 못한 것이 무척 아쉽다.

KLDP에서 지인들을 동원하고 개인시간을 아껴가면서 몇 가지 일에 도우미 역할을 있는데, 옛날 하이텔 윈도우 동호회 일을 하던 때가 생각이 났다. 그 때는 IT관련 사람들을 만나는 것이 무척 즐겁게 재밌는 시간이였다. 컴퓨터 잡지에 글도 많이 썼었고 프로그램도 개발할 기회도 가질 수 있었다. 공부는 다소 게을리했지만 지금의 나를 만든 소중한 시간이였다.

마음속에는 뭔가 하고 싶은 일이 많은데, 과거와 같은 열정이 모잘라 잘 실천을 못하고 있다. 책도 사고 공부하고 조금씩 시간을 내고 있지만 눈에 보이는 결과는 많지 않다. 간간히 그리는 만화가 가끔 다른 곳에 인용될 때, 조금 즐겁기도 하지만 아직 준비가 더 필요하다. 오픈 소스 프로젝트 참여는 아직 요원하다.

이번 KLDP컨퍼런스를 도우면서 그 옛날의 열정을 되살려 보기를 희망한다.

2006년 8월 28일 월요일

KLDP 10주년 기념 Free/Open Source Software 컨퍼런스!!



많은 관심과 참석 바랍니다~~

소프트웨어 테스팅



Ron Patton저, 소프트웨어테스팅 2판, 정보문화사(SAMS)

이 책은 이론적인 부분 보다는 저자의 실제적인 경험, 특히 Microsoft에서 경험한 국제화, 호환성, 사용성 테스팅에 관해서 잘 소개해 놓았습니다.

몇 가지를 기억나는 내용을 추려보면 다음과 같습니다.

우선, 저자가 경험한 소프트웨어 테스팅의 몇가지 특성이 눈에 띄었습니다.

  • 살충제 내성 : 같은 테스터가 여러번 테스트를 진행하다 보면 관성에 빠져 일부 결함은 찾지 못한다는 이야기입니다. 여러 사람이 다양한 방법으로 테스트하면 테스트 범위를 넓혀 살충제 내성 문제를 해결할 수 있습니다.



  • 버그가 많을 수록 잠재 버그도 많다.



  • 소프트웨어 테스터는 아무나 하는 것이 아니다.


소프트웨어 개발 단계 가운데, 테스트가 가장 어렵다고 합니다. 얼마나 어느 정도 해야할지 가늠하기 힘들며 누구도 결함이 없다고 보장할 수 없기 때문입니다. 그래서 결함에 대한 통계적 자료를 축적하는 것이 중요합니다. 동일 프로세스로 여러 소프트웨어를 개발하다 보면 어느 정도 테스트하고 결함이 어느 정도 일때, 제품을 출시할 수 있을 지 지표를 통해 판단할 수 있기 때문입니다.
그리고 책 앞부분에 소프트웨어 테스팅 때문에 발생한 오류 사례를 소개하는데, 생각보다 심각한 오류가 많았습니다. 1999년에 있었던 화상 탐사선의 추락사건 부터 패트리엇미사일(patriot missile)의 발사 실패로 인한 인명손실 등 작고 많은 사건들이 있었습니다. 펜티엄 부동소수 문제도 빠뜨릴 수 없군요.

저도 그 옛날 설치 프로그램이 잘못만들어서 많은 윈도3.1 시스템을 망가뜨린적이 있습니다. 사실 이 문제는 Visual Basic 4.0에 포함된 인스톨러 버그로 인한 문제였지만, 하필 최종 설치본을 테스트 안해보고 넘긴 저의 책임이기도 합니다. 당시 저는 학생이였고 아르바이트한 것이라서 단지 돈을 못받았을 뿐 큰 책임을 지지는 않았지만 의뢰한 회사는 적지 않은 피해를 입었을 것입니다.

소프트웨어 테스팅, 때로는 사람의 목숨도 좌우할 수 있을 만큼 중요한 것이니 소홀히 하지 맙시다.

2006년 8월 3일 목요일

오픈 서비스, 오픈 데이터

KLDP 권순선님 글을 읽고

특정 회사에 사용자의 컨텐츠가 소속되는 것이 아니라 순전히 사용자 중심으로 컨텐츠가 관리되고 이용되는 것을 말하는 것 같습니다.

여전히 많은 회사들이 사용자가 만든 컨텐츠에 대해 독점적인 입장을 취하고 있으나 언젠가 사용자에 의해 그런 컨텐츠가 쉽게 공유되는 때가 올 것 같네요.

컨텐츠는 그대로 있고 서비스를 넘나들 수 있수 있겠죠.

그리고 사용자 뿐만 아니라 업체들도 자신들이 고유하게 구축해 놓은 컨텐츠를 어떤 표준하에 서로 공유하는 때가 올 것이라 예상합니다.

기술적으로 모든게 갖춰져있지만 아직 문화나 개념들이 생소하긴 합니다.

뭔가 오픈하기 싫어하는 우리나라에서는 참 힘들겠죠..

2006년 8월 2일 수요일

KLDP 10주년 기념 F/OSS 컨퍼런스 참가 신청 받습니다!

원본 글

많은 참여와 관심 바랍니다~~
--------------

2006년은 KLDP가 시작된지 정확하게 10년째 되는 해입니다. 그래서 10주년을 기념하는 오프라인 행사를 다음과 같이 가지고자 준비 중이며, 이번 10주년 기념 컨퍼런스에서는 F/OSS 개발자와 사용자들이 한자리에 모여 즐길 수 있는 축제의 장이 될 수 있도록 하는 것이 목적입니다.

행사 장소는 크게 4개의 홀과 로비로 구성되어 있습니다. 각 홀은 300명 정도를 수용할 수 있으며 4개 중 3개를 강연에 사용하고 1개는 상시 전시 공간으로 활용할 예정입니다. 전체 참석 정원은 총 1000명입니다.

행사는 다음 3가지의 세부 행사로 구성될 예정이며 강연/전시를 제외한 부분은 아직 어떻게 할지 정확히 확정되지 않았습니다.

  • 강연: F/OSS 개발자와 사용자를 위한 내용으로 총 3개의 트랙으로 진행될 예정입니다.

  • 전시: 본 행사에 참여하는 커뮤니티와 개발자들, 그리고 행사를 후원해 주시는 스폰서를 위한 공간입니다.

  • BoF: Birds of a Feather의 약자로서 특정 내용에 관심이 있는 사람들의 모임을 의미합니다.


행사 정보는 다음과 같습니다.

  • 날짜: 2006년 9월 17일 일요일

  • 장소: 서울 지하철 3/7호선 고속터미널역 센트럴시티(신세계 백화점 5층으로 올라오시면 됩니다.)


현재 논의중인 강의 세션은 다음과 같습니다.

  • 박재호: 고급 디버깅 기법

  • 장혜식(perky): 오픈소스 프로젝트에 참여하기

  • 권순선: 제품개발시 고려해야 할 오픈소스 이슈

  • 최호진(pynoos): 오픈소스와 회사 개발 프로세스 연관시키기

  • 윤석찬(channy): 모질라 프로젝트의 현재와 미래

  • 이창신(이아스): 오픈소스의 PMC와 커미터, Google Summer of Code 멘토링 경험

  • Greg Stein: Google의 오픈소스 활용 사례

  • 조성재(jachin): KDE 프로젝트 소개


행사에 참여하시고자 하는 분은 왼쪽 네비게이션 바의 내 계정-편집-KLDP 탭에서 체크박스를 클릭해 주시면 됩니다. 이곳 KLDP에 아이디가 없는 분들은 kldpwikiKLDP10YearAnniversary/registration에서 참가신청을 하시면 됩니다.

자세한 내용은 kldpwikiKLDP10YearAnniversary를 참고하시기 바랍니다. 아직 세부 내용은 논의 중입니다. 행사 참여뿐만 아니라 행사 진행시에도 많은 분들의 도움이 필요한 관계로 자원봉사자 모집 등 진행 관련해서 많은 공지가 나갈 예정입니다. :-)

그 정도 보안으로 어디 인터넷 뱅킹을?



원본글 KLDP Blog
간만에 만화를 그려봤습니다. 초심으로 돌아가 펜선으로만 그림을 그려봤습니다. 윤곽선만 그려서 포토샵에서 색을 입히는 것도 즐겁긴 하지만 그림 그리는 실력은 느는 것 같지는 않습니다. 물론 색에 대한 감각은 좋아지지만 너무 툴에 의존하다보니 좀 지치기도 합니다. 게다가 시간도 더 많이 걸리기도 하지요..

아직 펜 터치가 좀 부족하지만 당분간은 마커없이 펜으로만 그림을 그려보려고 합니다..

밤샘 근무의 슬픔



http://kldp.org/node/71269

KLDP blog에 올렸던 만화입니다...

2006년 7월 18일 화요일

해커와 화가







해커와 화가
폴 그레이엄 지음, 임백준 옮김/한빛미디어

야후 스토어를 만든 폴 그레이엄이라는 사람이 쓴 책이다. 창업한 회사를 야후에 팔고 그림 공부를 하면서 느낀 점을 책으로 엮은 것이다. 전체 내용이 해커와 화가에 대한 것은 아니고 여러 essay가운데 하나가 바로 "해커와 화가"에 대한 이야기이다.

프로그래머지만 인문학적 지식이 많이 담겨있고 SW개발에 대하여 남다른 관점을 제시하여 색다른 느낌으로 책을 읽을 수 있었다. 특히 그림 그리기를 좋아하는 나로서는 프로그래밍과 그림 그리기는 작업 방식이 같다는 저자의 주장이 참 신선했고 충분히 동감이 갔다.

사실 SW개발과 그림 그리기는 그 결과가 어떻게 나올지 대충 예상은 가능하지만 정확하게 미리 보기는 힘들다. 초기 스켓치는 그냥 버려지고 (SW에서는 프로토타입) 점진적으로 작품이 완성되어 간다. 그리고 가장 좋은 디자인일 때 완성이라고 말할 수 있으며, 단순한 디자인일수록 아름답다는 저자의 말에도 공감이 간다.

해커란?

해커에 대한 저자의 정의 또한 뭔가 내게 숙제꺼리를 남겨주었다.

"해킹을 정말로 좋아한다면 뭔가 자기 자신만의 프로젝트를 수행하지 않고는 견딜 수가 없는 것이다"

여기서 해킹은 우리가 흔히 아는 그런 의미(남의 시스템을 몰래 망가뜨리는)는 아니다. 저자는 해킹에 대한 구체적으로 정의하지 않았으나 내 생각에, 해킹이라는 지적 호기심의 탐구이며 그런 호기심을 구체적 실행에 옮기는 행위를 뜻하는 듯 보였다. 여기서 실행이란 Open Source Project의 참여라고 저자는 말하고 있다.
나도 전에 Open Source Project를 수행한 적이 있으나 지금은 개점휴업 상태이다. 물론 지금도 새로운 일거리에 관해 계획을 세워보기도 하지만 실천에 옮기지 못하고 있다.

"우리는 좋은 생각이 떠오르면, 계획을 세우는 것이 아니라 그것을 구현했다"
나도 대학원 시절에는 그랬던 것 같다. 뭔가 좋은 생각이 떠오르면 내가 원하는 것을 뚝딱뚝딱 만들어냈다. 홈페이지 게시판도 그냥 만들었고 공부하면서 필요한 프로그램도 직접 개발했었다.

좋은 소프트웨에 대한 그의 생각

해커가 되려면 다른 사람이 개발한 좋은 프로그램을 살펴봐야 한다고 했다. 이는 마치 옛 예술가들이 다른 작품을 분석하면서 좋은 화가가 된 것 처럼 말이다. 그리고 Oil Paint의 발명이 그림을 좀 더 고치기 쉽게 만들었던 것 처럼 우리도 가능하면 변경이 쉽도록 코딩을 해야된다고 했다.
"좋은 소프트웨어 안을 들여다 본다면, 누구도 볼 수 있을 것이라 생각지도 못했던 부분들 역시
아름답다는 것을 알게 된다"


이 말은 정말 잘 설계되고 잘 짜여진 코드를 볼 때, 예술작품 처럼 그 안에서 아름다움을 느낄수 있다는 것을 의미하는데, 과연 내가 이런 아름다움을 느껴본 적이 있는지.. 이런 아름다움이 뭔지는 알고 있었는지 기억만 희미할 뿐이다. 그래도 예전에 코딩을 끝낸 후, "완벽해! 더 이상 수정할 곳이 없고 아주 직관적으로 잘 짜여져 있어"라고 외쳤던 적은 있다.

사용자 입장에서 SW를 바라보기

"SW는 그 자체로 설명이 가능해야 하며, 좋은 SW를 개발하기 위해 소수의 사용자가 어떻게 이해하는지 헤아리고 있어야 한다"

SW를 개발할 때, 많은 개발자가 착각하는 것은 자신들의 입장에서 SW를 개발하는 부분이다. 설명서 없이는 사용하기 힘들고, 개발자가 알고 있는 용어를 무심코 사용자에게 강요하기도 한다. 이런 부분은 모든 엔지니어가 꼭 고쳐야할 분 부분이다.

"소스코드는 그 차제로 설명되어야 한다"

"프로그램은 오직 사람이 읽기 위해서 작성되야 한다. 컴퓨터가 그것을 실행하는 것은 부차적인 일이다"

SW개발 프로세스에서 산출물은 참 중요하다. 어떠한 산출물을 포기하더라고 기본 설계서, 상세 설계서는 빠뜨리기 힘들다. 이렇게 산출물을 작성하는 이유는 코드만 봐서는 SW를 이해할 수 없기 때문이다. 이것은 개발자 수준의 문제인 것 같다. 정말 훌륭한 아키텍트가 설계하고 좋은 개발자가 개발을 진행했다면 코드만으로도 SW를 이해할 수 있어야 한다.

마이크로소프트는 공식적으로 설계서를 작성하지 않는다고 한다. 워낙 SW가 자주 변경되다 보니 그 내용을 설계서에 반영할 만큼 여유가 있지 않으며 설계서를 통해 SW를 이해하기 보다 코드를 통해 선임자가 설명해주는 방식으로 후임자들은 SW를 이해하게 된다고 한다. 그 만큼 SW가 일관성있게 잘 짜여져 있다는 것을 보여주는 대목이다.

우리가 지금 짜고 있는 코드가 예술 수준은 아니더라 일정 수준의 개발자라면 누구나 이해하기 쉽도록 짜여져 있는지는 고민해 볼 문제다.

레오나르도 다빈치도 해커다

우리는 레오나르도 다빈치의 작품에서 아름다움과 예술성을 느낀다. 하지만 과거에도 지금 우리가 느끼는 만큼 평가를 받았을까? 아마도 오늘날의 SW개발자 처럼 그들도 당시의 개발자(?) 중 하나였을 것이다. 단지 SW가 아닌 초상화와 벽화를 그리며 자신만의 세계에서 해킹에 열중했을 것이다. 사실 SW가 어찌 개발되던간에 일반 사용자는 코드 내부를 볼 수 없으므로 SW설계나 코딩이 정말 예술의 경지처럼 잘 되어 있는지 확인할 방법이 없다. 다빈치의 그림이나 벽화도 그 당시 대중이 인식할 수 없는 부분에서 작가만의 미를 추구했는지 모른다. 저자는 그림 배경에 있는 나무 덤불의 세밀한 묘사를 그 예로 들고 있다.

예술성은 당대에 평가받지 못한다

저자는 많은 개발자에게 우리의 작업이 현재는 제대로 평가받고 있지 못하지만 그 옛날 예술가가 그래왔듯이 우리만의 미학을 추구하다보면 일반 사람들도 해킹에 열광하는 그런 시대가 올 것이라고 희망을 주고 있다.

뭐, 이정도는 바라고 있지 않지만, 우리 마음속에 잠자고 있는 해커적 기질을 깨워서 예술에 못미칠지라도 편리하고 좋은 소프트웨어 개발에 힘을 쓰고, 우리의 작업에 좀 더 많은 의미를 부여해야하지 않을까 생각해본다.

참고문헌

Paul Graham, Hackers & Painters (Big Ideas From The Comptuer Ages), O'REILLY, 2004

ps. 한글판으로 보다가 대여기간이 끝나 다시 영문판으로 봤습니다. 영문판은 좀 어렵습니다. 한글 번역도 훌륭하므로 한글판으로 보세요.

2006년 6월 27일 화요일

월드컵 이야기

2002 Worldcup

안타깝게도 우리나라는 16강에 오르지 못했다. 하지만 우리는 원정 첫승을 거두었고 프랑스와 대등한 경기를 펼쳤다. 무엇보다 지칠줄 모르는 우리의 투지를  확인할 수 있어서 좋았다.

월드컵은 분명 상업적이다. 많은 사람들의 이해 관계가 얽혀있고 때론 그것이 승부에 영향을 미치기도 한다. 좀 더 민주적인 시스템이 도입되어 진정한 스포츠 정신을 느끼고 싶다.
하지만 그런 모든 것을 떠나 잠시나마 많은 사람들이 하나가 된 것, 지구에 사는 많은 사람들이 함께 평화롭게 웃고 즐기고 때론 안타까워하는 모습을 통해 월드컵에서 좋은면을 찾고 싶다.

누군가는 월드컵이 국가주의, 민족주의를 불러일으킨다고 하지만 그래도 우리가 토고, 세네갈 이런 나라를 기억하게 되는 것은 순전히 월드컵을 통해서 가능한 것이다.

그렇다 월드컵은 지구촌 최대의 축제다. 그리고 모두에게 희망은 있다. 우리도 강팀이 될 수 있다는...

2006년 6월 19일 월요일

201가지 소프트웨어 개발 원칙



이 가운데 쓸만한 몇가지 원칙을 뽑아 본다면..

일반원칙

  • 품질이 제일이다.

  • 사후에 품질을 만들어 넣으려하지 마라.

  • 성능보다 신뢰성이 더 중요하다.

  • 시제품을 고객에게 빨리 보여준다.

  • 처음 시도하는 것은 폐기할 작정으로 개발한다.

  • 보면 볼수록 더 많은 것을 원한다. (변경에 대비하자)

  • 개발중의 변경은 피할 수 없다.

  • 가능하면 개발하기 보다는 구매한다.

  • 사용자 메뉴얼이 간단하게 되도록 소프트웨어를 개발한다.

  • 아무리 복잡한 문제라도 해결책은 있다.

  • 소프트웨어 도구는 우수한 개발자에게 제공한다.

  • 대세를 따를 때는 주의해야 한다. (신기술대한 맹목적 수용은 위험)

  • 문서표준을 사용한다

  • 모든 문서에 용어정의를 한다.


요구사항 원칙

  • 요구사항이 불명확할수록 비용예측이 어렵다.

  • 시제품으로 사용자 인터페이스 선정의 위험을 줄인다.

  • 요구사항의 우선순위를 정한다.


설계원칙

  • 설계산출물에서 요구사항을 추척한다.

  • 문서가 없는 설계는 설계가 아니다.

  • 캡슐화한다.

  • 가능하면 재사용한다.

  • 단순하게 개발한다.

  • 특수한 경우를 많이 만들지 않는다.

  • 변경이 쉽게 설계한다.

  • 효율적인 알고리즘을 사용한다.

  • 뛰어난 설계는 뛰어난 설계자가 한다.

  • 무모한 값을 입력하면 적절한 오류 메시지를 출력하도록 한다.


코딩원칙

  • 글로벌 변수를 사용하지 않는다.

  • 의미있는 명칭을 사용한다.

  • 사람을 위한 프로그램을 작성한다.

  • 최적의 자료구조를 사용한다.

  • 코드를 완성하기 전에 주석을 작성한다.

  • 코딩을 시작하기 전에 문서화한다.

  • code 검토를 실시한다.

  • 너무 깊이 중첩시키지 않는다.


시험원칙

  • 시험에서 요구사항을 추척한다.

  • 시험하기 훨씬 이전에 시험을 계획한다.

  • 자신이 개발한 소프트웨어는 자신이 시험하지 않는다.

  • 블랙박스 시험과 화이트박스 시험을 실시한다.

  • 항상 스트레스 시험을 한다.

  • 단위시험이 끝나기 전에 통합하지 않는다.

  • 소프트웨어에 특정한 시험용 코드를 내장시킨다.


관리원칙

  • 뛰어난 관리는 뛰어난 기술보다 중요하다.

  • 고객의 우선순위를 알아야한다.

  • 많은 사람보다는 소수정예요원이 낫다.

  • 항상 기대치를 높이 가진다.

  • 능숙한 의사소통 기술은 필수적이다.

  • 인력과 시간은 대체할 수 없다.

  • 소프트웨어 개발자의 능력차이는 크다.

  • 불가능한 것은 피한다.

  • 적절한 프로세스 모델을 사용한다.

  • 직면한 위험을 이해한다.

  • 방법론이 당신을 구제해 주지는 못한다.


제품보증 원칙

  • 형상관리 절차를 조기에 확립한다.

  • 모든 중간산출물에 명칭과 버전 번호를 부여한다.

  • 기준선을 통제한다.

  • 모든 것을 보존한다.

  • 변경관리를 해야 한다.


진화원칙

  • 소프트웨어는 계속 변화한다.

  • 증상이 아닌 근본적인 문제를 수정한다.

  • 최악의 구성요소는 처음부터 다시 개발한다.

  • 변경한 후에는 반드시 회귀시험을 실시한다.

  • 비구조적인 코드는 구조화해도 개선되지 않는다.


이상입니다~

2006년 6월 11일 일요일

Flickr Pro

flickr_pro

지난 5월 31일 Flickr Pro 유료 계정을 구입했습니다.

놀라운 거금 24.95$을 썼습니다. ^^;
웹서비스를 돈을 주고 사용하게 된 것은 이번이 두번째입니다. 지금은 사라졌지만 스트리밍 뮤직 서비스를 유료로 사용했던 적이 있습니다. 이 회사(neoviz)는 너무 빨리 서비스를 시작했고 서비스가 궤도에 오르기 전에 성급히 유료화를 시도하는 바람에 문을 닫은 듯 보입니다.

하여간 결국 돈을 쓰게 만드는 Flickr의 사진 앨범 서비스는 정말 강력합니다. 그 동안 많은 온라인 사진 앨범 서비스가 있었지만 용량의 제한, 웹에서만의 업로드 방식, 폐쇄적인 구조 등으로 그다지 큰 환영을 받지 못해습니다.

Flickr는 Open API를 제공하여 자신의 블로그에 앨범을 추가할 수 있고 사진 앨범 관리 소프트웨어인 iPhotoPicasa에서도 손 쉽게 사진을 업로드할 수 있습니다.

무엇보다도 Flickr는 열린 Community를 지향하여 가능하여 회원 뿐만 아니라 누구와도 사진을 공유할 수 있도록 하고 있습니다. 게다가 원본 크기 이외에도 여러 크기로 사진을 제공하고 있어서 자신의 홈페이지나 블로그에 연결하기 좋습니다.

안타까운 것은 아직 한글 서비스가 안된다는 부분과 인화나 DVD로 구워주는 서비스는 국내에서 안되는 부분입니다. 야후에서 flickr을 인수하였으니 언젠가 국내에서 지역화된 flickr서비스를 맛볼 수 있을 것 입니다.
하여간 인터넷이 발전한 우리나라에 이런 사진 앨범 서비스가 없다는 것이 아쉽습니다. 특정 서비스 보다 포털을 지향하다 보니 이런 서비스가 발전하기 힘들고 자기들만의 닫힌 공간을 지향하다 보니 다른 웹서비스나 애플리케이션과 연동하는 부분이 약하기 때문에 발전의 폭도 적었던 것 같습니다.

이외에도 zooomr와 같은 사진 앨범 서비스도 있습니다. flickr와 비슷한데, Google Maps과 연동하여 사진 찍은 위치를 표시할 수 있습니다.

2006년 6월 9일 금요일

단순함의 미학

Google의 검색 페이지와 Apple의 iPod의 공통점과 성공요인은 무엇일까요?

그것은 단순함에 있습니다.

google.png

처음 구글 검색 페이지를 봤을 때, "도대체 이 회사는 광고도 없이 무엇을 먹고 사나" 이런 생각이 들었습니다. 하지만 그들은 모두가 포털을 추구할 때, 검색 엔진의 성능에만 집중함으로써 많은 사용자를 끌어들일 수 있었습니다. 그리고 검색 입력창만 있는 단순한 구성을 통해 사용자게는 편리함과 기술력에 대한 신뢰를 줄 수 있었습니다.

ipod-prod1.jpg

Apple의 iPod는 HW적 측면을 볼 때, 저장공간이 큰 것 빼고는 다소 부족해보입니다. 국내 MP3 Player에서 기본적으로 제공하는 녹음과 FM라디오 기능이 없습니다. 하지만 꼭 필요한 음악을 듣고 MP3 파일을 관리하는 기능은 아주 뛰어납니다. 특히 컨텐츠 관리 측면에서 보면 iTunes Music Store와 연동 기능과 넓은 화면 그리고 특유의 브라우징 휠의 편리함은 다른 MP3 플레이어가 넘어서기 힘든 부분입니다.

HW적으로 부족한 부분을 SW적으로 해결했다고 볼 수 있고 FM라디오, 녹음 기능은 악세서리를 이용하면 가능하기 때문에 꼭 그 기능이 필요한 사용자에게는 별 문제가 안됩니다. 게다가 Apple은 이와 같은 악세서리 판매로도 많은 수익을 창출하고 있습니다.

꼭 필요한 기능만으로 사용자가 원하는 핵심에 다가서는 단순함과 집중성!
Apple과 Google의 성공 비결인 듯 싶습니다.

2006년 5월 31일 수요일

진대제 구하기



(지지 서명)
삼성전자의 반도체 산업을 이끌고 정통부 장관으로 우리나라 IT발전에 큰 공헌을 하신 분입니다.

보다 참신하고 덜 정치적인 이 분이야 말로 경기도를 이끌어 나갈 참 지도자라고 생각합니다.

투표 꼭 하세요~

2006년 5월 21일 일요일

브라우저 호환성

IE를 이용해서 내 블로그에 등록된 글을 보다가 갑자기 좌측 메뉴가 밑으로 밀리는 현상을 발견하게 되었다. 문제의 원인을 찾느라 HTML소스 코드를 한참 뒤져봤는데, 문제는 이미지 폭이였다.

Firefox나 Apple의 Safari같은 경우 이미지 폭이 블로그 본문 폭을 넘어서면 자동으로 그림을 줄여준다. 그 품질은 브라우저 마다 플랫폼 마다 다른 것 같다. 맥에서는 이미지가 깨지지 않고 자연스럽게 줄어든다. 맥에서 이미지를 렌더링하는 API가 렌더링 크기에 맞게 이미지를 scaling해주는 것 같다. 문제는 IE인데, 원래 크기로 이미지가 나타나는데, 그 크기가 블로그 본문을 넘어서면 메뉴가 이미지를 피해 본문 뒤로 밀리는 것이다. 기존처럼 Table 태그를 이용해서 전체적인 윤곽을 잡았다면 이런 현상은 없겠지만, 워드프레스는 CSS를 이용해서 전체 윤곽을 잡기 때문에, 이미지와 메뉴를 같은 영역에서 표시할 경우, 브라우저 마다 다르게 렌더링 되고 있는 듯 보인다.
사실 XHTML, CSS 스펙을 아무리 잘 정의해도 이를 화면에 그려낼 때는 사소한 부분에 구멍이 생기게 마련이다. 이 경우 가장 대중적인 브라우저를 렌더링 방식을 모방하게 되는데, 지금은 사정이 그렇지 못한 것 같다. 대부분의 공개 소프트웨어가 Firefox를 기반으로 개발되다 보니 오히려 미묘한 부분에 있어서 IE에서 문제를 일으키고 있다. 물론 IE가 CSS 풀스펙을 지원하지 못해 생기는 문제일 수도 있다.
미묘하지만 이러한 브라우저 호환성은 실제 컨텐츠를 개발할 때 늘 문제거리가 되고 만다.

TV 제품 마다 다르게 방송신호를 보내거나 영상을 만들어한다고 생각해보자. 가정마다 TV를 채널별로 갖고 있을 수도 있다. 무척 우스운 일 처럼 보이지만 실제 웹을 두고 이런 일이 벌어지고 있다. 표준화가 어렵기는 하지만 조금만 욕심을 버리고 기술의 표준화를 통해 웹의 접근성을 높였으면 좋겠다. 특정 컨텐츠를 이용하기 위해 또 다른 컴퓨터를 켜는 일은 더 이상 없어야 할 것이다.

2006년 5월 7일 일요일

노무현 대통령의 연설

여기를 클릭~

2006년 5월 4일 민주평통 미주지역 자문회의 위원들을 상대로 한 연설이라고 합니다.

노 대통령의 현 역사적인 인식을 이해할 수 있습니다. 저도 공감하는 부분이라 링크를 소개합니다.

진보하는 역사의 흐름을 멈출 수는 없습니다. 우리가 얼마나 현명하게 대처하느냐에 따라 우리 민족과 넓게 동아시아의 평화가 유지될 수 있습니다. 우리는 지금 잘하고 있고 좀 더 노력하면 된다고 합니다. ^^;

2006년 4월 28일 금요일

세계적 혁신 회사로 애플과 구글 1,2위 선정

애플과 구글이 뉴스위크지가 발표한 세계 혁신기업 1,2위로 올해 선정되었습니다. 애플은 iPod, iTunes Music Store의 성공으로 2년연속 혁신 기업으로 선정되는 영광을 안았습니다. 참고로 삼성전자가 작년에 이어 12위를 차지했습니다.

애플은 iPod 뿐만 아니라 매킨토시의 플랫폼을 Intel CPU기반으로 변경하고 홈 애플리케이션(iPhoto, iWeb)의 웹 연동 등 여러가지 이슈가 있었습니다. 특히 플랫폼의 변경은 Mac OSX을 처음 릴리스 할 때 부터 Intel CPU버전을 따로 준비힐 정도로 오래전 부터 치밀하게 준비해 왔으며, 플랫폼 변경에 따른 사용자 혼란을 최소화하기 위해 PowerPC코드가 Intel 플랫폼에서 실행될 수 있는 기술도 함께 개발했습니다.

구글은 설명이 필요없을 정도로 최근 검색을 기반으로 다양한 서비스를 내 놓고 있습니다.
(Maps, Calendar, Earth, Finance, Desktop 등) 사용자의 컴퓨팅 환경을 데스크탑에서 웹으로 이동시키고 있으며 Web2.0의 중심 회사로서 현 웹기술 을 선도하고 있습니다.

향후 두 회사의 움직임을 통해 앞으로 다가올 새로운 컴퓨팅 환경의 미래를 엿볼 수 있지 않을까 생각해봅니다.

참고 기사
http://inews.mk.co.kr/CMS/global/all/real/mk/7317129_3352.php

2006년 4월 24일 월요일

도움이 안되는 개발자

low_programmers.png
보통 여러 사람이 팀을 이루어 S/W개발을 진행합니다. 각자의 개발 능력도 중요하지만 팀웍도 중요합니다. 그런데 몇몇 구성원은 팀의 생산성에 도움이 안되는 경우가 있습니다. 개발 능력이나 기본 지식이 약할 수도 있겠지만 주먹구구식으로 S/W개발을 진행했던 습관이 문제입니다.

이들은 보통 개발자의 10%정도의 비율을 차지하는데[1], 초급 개발자 뿐만 아니라 오랜 경험을 가진 프로 개발자도 이런 타입에 속할 수 있습니다.

그들의 문제는 다음과 같습니다.

1. 코딩 스탠다드나 디자인 표준을 지키지 않습니다.
2. 다른 사람이 작업한 결과와 통합하기전에 버그를 다 수정하지 않습니다.
3. 자신의 일에 관해 예측을 잘 못합니다. 왜냐하면 사실 언제 끝날지 잘 모르기 때문이죠.[1]

S/W는 여러 연관성 있는 부분들이 모여서 하나의 시스템을 이루고 누구에게 자신의 기능을 제공하게 됩니다. 그 중 일부분에 문제가 생긴다면 S/W는 총체적인 문제를 일으킬 수도 있습니다. 그렇기 때문에 작은 문제로 프로젝트는 지연될 수 있으면, 완료되었다고 할지라도 품질에 문제가 있기도 합니다. 하지만 무엇보다도 팀웍을 깨뜨리고 향후 프로젝트에도 나쁜 영향을 끼칩니다.

초급 개발자이고 똑똑하다면 우리는 이것을 시행착오라고 생각할 수 있겠지만 어느 정도 경험을 쌓은 프로 개발자라면 그 문제는 심각합니다. 그래서 개발자를 뽑을 때 신중해야 무척 합니다. 관리자는 같이 일하는 개발자에게도 의견을 구하고 이력서만 평가하는 것이 아니라 기술면접으로 기본 기술 역량을 파악해야 합니다.

그래서 어떤 업체에서 개발자를 뽑을 때 간단한 시험을 본다고 합니다. 전산학의 일반적인 내용들인데, 자료구조나 데이터베이스, 운영체제와 같은 과목에서 기본적인 것들을 시험 문제로 낸다고 합니다.

다음 문제는 Joel on Software[2]라는 책에 발췌한 시험 문제입니다.

1. Reverse a sting in place
2. Reverse a linked list
3. Count all the bits that are on in a byte
4. Binary Search
5. Find the longest run in a string
6. atoi
7. itoa(great, because they have to use a stack or strrev)

종이에 바로 코딩을 해야하며 10줄 이내로 간단하게 구현될 수 있어야 합니다.

Joel on Software를 보면 이러한 시험은 단순히 코딩 능력 뿐만 아니라 코딩전에 얼마나 계획을 세우는지 확인도 가능하며 변수 이름은 어떻게 짓는지 등 많은 부분을 평가할 수 있다고 합니다.

여러분은 어떤 개발자인가요?

참고문헌
[1] Steve McConnell, Professional Software Development, 2004, p137-138
[2] Joel Spolsky, Joel on Software, 2004, p162

2006년 4월 7일 금요일

Digg

사용자에 의한 뉴스 사이트 Digg!
Digg는 IT와 관련된 일종의 뉴스 사이트이다. slashdot과도 비교되는데, 사용자의 선호도에 의해 뉴스가 대문에 나갈지 결정된다. 기존의 사용자 참여 형식의 뉴스 사이트의 경우, 대부분 관리자에 의해 뉴스가 결정되는데, Digg는 제3자의 힘에 의해 기사가 선택되지 않는다. 오로지 사용자의 참여에 의해서 기사가 선택된다.

직접 뉴스를 올리지는 않는다
Digg는 특이하게 직접 뉴스를 사이트에 올리는 것이 아니라 자기 블로그에 올리거나 다른 사이트에 있는 소식에 대한 링크를 등록하고 이를 Digg라는 단위로 평가를 받게 된다. 사람들은 마음에 맞는 기사에 Digg를 올려줌으로써 인기있는 기사가 대문에 나가도록 할 수 있고 많은 사람들이 관심을 갖게 된다.

기존 매체도 Digg를 활용한다
재미있는 것은 기존 뉴스 사이트에서도 Digg를 지원한다는 것이다. zdnet blog기사는 Digg사이트에 쉽게 등록할 수 있도록 링크가 제공되고 있다. 사용자에 의해 기사가 digg에 등록되고 Digg이용자에게 평가받을 수 있도록 한 것이다. 포털 사이트에 기사를 제공하는 것과 사뭇 다른 방식의 뉴스 제공 방식이다. 포털 사이트는 에디터가 뉴스의 노출방식을 조정할 수 있지만 Digg는 철저하게 이용자에게 선택되고 평가를 받게 된다.

내 블로그 글도 Digg로
개인의 블로그 글도 Digg에 등록시킬 수 있다. 이렇게 하면 자신의 블로그의 글을 다른 사용자에게 평가받을 수 있다. 내가 힘들게 쓴 글을 Digg에 등록하여 대문으로 진출해 보는 것도 흥미진진할 것이다.

아쉬운 것은 영문 뉴스 위주라는 것
한글 뉴스만을 다루지 않기 때문에 한국 사용자에게는 그다지 매력적인 서비스는 아닌 것 같다. 전세계 네티즌들이 한글 뉴스에 Digg를 주기는 힘들 것 같다.. ^^;

Web 2.0 바람이 무섭다. 사용자의 참여로 이루어진 Digg가 뉴스 사이트로 더욱 발전하기를 기대해 본다.

2006년 4월 3일 월요일

애플 창립 30주년

4월 1일로서 애플이 설립된지 30주년이 되었습니다.

1976 - 2006

생각보다 정말 오래됐고 마이크로소프트와 비교되기도 합니다.
두 회사는 다른 성격의 회사입니다. 애플은 HW회사이고 MS는 S/W 회사이지만, 두 회사는 서로 경쟁해왔고 협력해왔습니다. MS는 S/W회사로서 여전히 매킨토시용 S/W를 개발하고 있습니다.

재밌는 사실은 엑셀의 첫 버전이 매킨토시용이였다는 것 입니다. 아시다시피 Mac OSX의 Opera가 나오기전까지 Internet Explorer는 Mac OS의 웹브라우저였습니다.

하지만 지금은 서로 경쟁하고 있습니다. 애플도 오피스를 개발하고 있고 웹브라우저도 따로 개발하고 있습니다.
지난 10년간 애플은 큰 위기를 겪었고 스티브 잡스의 복귀와 Next와의 합병, 그리고 새로운 Mac OSX과 iMac 시리즈로 다시 도약할 수 있었습니다. 그리고 iPod와 iTunes Music Store의 성공으로 일대 전환기를 맞고 있습니다. 단순한 컴퓨터 제조회사가 아닌 CE 및 컨텐츠 회사가 된 것이지요.

1997년에는 애플 20주년 기념 매킨토시가 나왔었는데, 올해는 아직 조용합니다. 그래도 뭔가 생각이 다른 애플이니 깜짝 선물이 있으리라 기대해 봅니다.

앞으로도 애플이 기술을 선도하는 회사로서 새로운 아이디어로 정말 편하고 쉬운 컴퓨팅 환경을 만드는데 큰 역할을 하기 기대합니다.
애플의 역사가 궁금하다면 아래 사이트를 방문해보세요.

http://www.apple-history.com

http://apple.computerhistory.org

2006년 3월 20일 월요일

홈페이지 새단장

1997년 부터 지금까지 홈페이지를 운영하면서 많은 변화가 있었습니다.

1. HTML 기반
2. 게시판 기반
3. 위키
4. 위키+블로그
5. 블로그 + 위키(?)

웹이 변하면서 개인 홈페이지도 블로그로 진화하고 있습니다. 블로그가 단순히 간편한 설치형 홈페이지였다면 사이월드 미니홈피와 별 다르지 않다고 취급할 수 있었게지만 블로그는 좀 다릅니다.

트랙백을 이용해서 서로 다른 블로그끼리 연동이 가능합니다. 나의 글을 상대 홈페이지에 덧글 처럼 등록할 수 있는 있으며, RSS를 이용해서 나의 블로그의 변경 사항을 실시간으로 알릴 수 있으며 개방형 블로그 디렉토리(예: 올블로그)에 등록시킬 수 있습니다. 게다가 이글루스와 같이 광고 없이 무료 블로그를 운영하는 업체가 늘어나면서 신변잡기 수준의 미니홈피에서 정보로서 가치를 가지는 일인 미디어의 역할을 가능하게 하였습니다.
이런 대세에 동참하고자 메인 페이지를 블로그로 대체할 계획입니다. 지금까지 이글루스와 설치형 블로그인 태터툴스를 이용했지만 두 블로그를 통합하면서 워드프레스를 이용하기로 했습니다.

앞으로의 변화에 관심가져주세요~

2006년 3월 10일 금요일

웃기지만 씁쓸한..

아내는 교사입니다.
중학교에서 사회를 가르칩니다.

오늘 아내가 학생들에게 이런 이야기를 꺼냈다고 합니다.

샘: 요즘 총리가 무척 곤경을 겪고 있지..
학생: 아 성추행 사건이요.
샘: 그건 국회의원 최연희지.
학생: 어 여자였어요.. 이런.. ?!
학생들: 여자가 성추행했데.. 수근 수근
샘: 아니 그 분은 남자고 한나랑당 사무총장이시지...
학생들: 아~~
학생: 총리가 이회창이죠?
샘: 이회창?? 아니 이해찬 ^^;

사회시간에 중학교 님자 아이들과 한 이야기랍니다..

헐~ 정치인들이 일을 많이 저지르다보니 아이들도 헷갈리나 봅니다.

2006년 3월 5일 일요일

토론의 기술

토론의 기술

요즘 회사에서 토론을 주도할 경험을 하게 되었는데, 쉽지 않은 일이라는 생각이 들었습니다.

어떤 주제에 대하여 자유로운 토론을 해야 하는데, 어떤 사람이 참여 하느냐에 따라 토론 분위기가 완전히 바뀝니다.

누군가 이 일에 대해 지시를 내리고 감독하는 역할의 관리자가 참여하면 토론 분위기는 엄숙해지죠.
관리자가 많은 말을 하게 되고 사람들은 자신의 의견을 적극적으로 이야기하지 못하게 됩니다.

토론이 어려번 계속될 때, 갑자기 새로운 참여자가 생기면 그 사람의 질문에 대응하느라 토론이 제대로 안되는 경우도 있습니다.

무엇보다 중요한 것은 토론 진행자의 능력이겠죠.
진행자는 토론 내용을 처음부터 잘 파악하고 있어야 하고 토론이 생산적인 방향이 되도록 토론 주제가 관계없는 내용은 차단하고 계속 주제를 이끌어줘야 합니다. 간간히 재밌는 말로서 분위기도 좋게 해야겠죠.

토론을 하다 보면 사람들의 성격을 쉽게 파악할 수 있습니다. 잘 흥분하는 사람도 있고 공격적인 사람들도 있죠. 자신의 생각을 늘어놓고 강요하는 사람들도 있고 늘 분위기 파악 못하는 사람도 있습니다. 그래도 무서운 사람들은 가만히 듣고만 있다가 핵심을 짧게 이야기 하는 사람들입니다.

잘 듣고 잘 말하기 영어도 어렵지만 우리말이라고 쉽지는 않습니다.

2006년 3월 2일 목요일

[진정한 개발자] 간만에 글쓰기


뭐 그리 바쁜 일이 많다고 글을 안썼는지 모르겠군요.

그동안 영화도 보고 책도 봤고 분명 쓸거리도 많이 생각했었는데, 막상 PC앞에서는 글쓰기 보다는 남의 글을 읽기에 바뻤던 모양입니다.

년초에 하고자 계획했던 일이 있었는데, 두달이 지나도록 시도도 안한일이 많네요.
간만에 블로그에 글도 쓸겸 그림도 그려봅니다. 그냥 자판을 두드리는 그림인데, 그리고나니 기분이 좋군요.
스캐너도 오랜만에 부웅~ 소리를 내는군요.

올해는 블로그에 그림을 많이 올려볼까 생각 중입니다. 글은 잘 못쓰지만 그림이 좀 낫기에... :)   글로 못다한 이야기를 그림으로 표현해보자 하는데, 잘 될지 모르겠습니다.

평소에 많이 끄적거려보겠습니다.

2006년 2월 21일 화요일

MS Visual Studio Team Song~

MS VS Team System을 쓰면 정말 모든 문제가 해결될까?
문제는 사람이지 툴이 아닌듯 싶다.
그래도 툴에서 뭔가 해준다니 희망을 가져보자.

출처:
http://www.microsoft.com/korea/events/ready2005/vs_song.asp

2006년 2월 4일 토요일

내가 좋아하는 소프트웨어 20선

그동안 수 많은 소프트웨어를 사용해왔다. 운영체제가 바뀌고 여러가지 사용환경이 바뀌면서 늘 필수로 생각했던 S/W는 역사속에 묻히고 새로운 S/W가 그 자리를 대신하게 되었다.

잠깐 역사속으로 들어가보자.

1. 이야기 5.3
전설적의 통신 프로그램. PC통신 시대를 이끈 주인공이다. 깔끔한 UI와 버그 없이 생생 동작하는 프로그램이였다. 아직도 파란화면에 흰글씨가 좋은 것은 이야기 때문이 아닐까 싶다.

2. 아래아 한글 1.52

3. NCD

4. LS

5. 한메한글 3.0

6. clySmic Icon Bar

2006년 2월 1일 수요일

Web2.0에 대한 생각

2년여 가까이 웹을 떠나 살다보니 Web2.0이라는 말에 다소 어리둥절했다.

"새로운 http 규격이라도 나온 것인가?"

"Web1.0이 원래 있었나?"

Channy 블로그에서 기사를 접한 후, 관련 글을 읽게 되었다.

Web2.0에 관해서는 여전히 놀란 거리가 있고 확실하게 규정된 것은 없어 보이지만 Web2.0이라는 말에는 수긍이 갔다.

1994년 처음 인터넷을 접한 후, 10년이 넘었다. 그동안 정말 많은 것이 바뀌고 발전했다. 새로운 서비스도 많이 등장했고 우리의 삶은 인터넷에 많은 것을 의존하게 되었다.

현재 인터넷에서 유행하는 여려 현상과 기술을

http://channy.creation.net/blog/wp-trackback.php?p=253

2006년 1월 17일 화요일

Macworld 2006 애플의 새로운 도전



올해 Macworld 2006는 인텔 CPU기반의 맥킨토시 출시로 그 어느해 보다 볼거리가 풍성했다. 뿐만 아니라 iWeb이라는 새로운 애플리케이션이 출시되었으며 iWorks, iLife도 업그레이드 되었다. 게다가 iPod의 종횡질주도 확인할 수 있는 자리였다.

역시 올해의 화두는 Intel Core Duo Processor기반의 매킨토시 출시이다. 인텔칩이 달린 맥을 과연 상상이나 할 수 있었을까? 하지만 애플은 과감히 인텔칩을 선택했다. 사실 이러한 발표가 있기전부터 인텔칩기반의 맥이 나온다는 소문은 오래전부터 끊이지 않았다. 몇 가지 이유를 찾아볼 수 있는데, Mac OSX의 전신인 NextStep이 x86 아키텍쳐를 지원했다는 것과 G5 CPU가 장착된 파워북 출시가 계속 미루어진 부분이다. 분명 애플 캠퍼스 어디선가 Mac OSX 인텔버전이 함께 개발되고 있다는 추측이 무성했었다.

결국 모든 것은 사실로 판명됐다.

애플이 인텔칩으로 스위칭을 오랜 기간동안 준비해온 것은 사실이지만 iPod의 성공 없이는 지금같이 과감하게 플랫폼을 변경하기는 힘들었을 것이다. iPod를 통해 벌어들인 엄청난 이익으로 당분한 인텔칩 스위칭으로 인한 매킨토시의 판매 감소는 큰 문제가 안될 것이다.

그렇다면 애플은 왜 플랫폼을 변경하게 되었을까? 표면상으로는 소비전력을 따지고 있으나 그 보다 미덥지 못한 IBM의 행보가 큰 원인일 것이다. IBM은 소니와 Cell CPU를 개발하느라 노트북용 PowerPC 개발에 소홀했던 것 같다. 게다가 지금까지 애플은 CPU의 clock속도는 성능을 대변하지 않는다고 이야기했지만 Intel CPU의 Clock 속도는 하루가 다르게 증가하는데, Power PC는 그 절반도 못 미치고 있다. 게다가 가격도 x86보다 비싸다.

애플의 플랫폼 변경은 당분간 사용자에게 혼란을 줄지는 모르지만 장기적으로는 더 싸고 성능 좋은 맥을 사용할 수 있게 되어 더 큰 이득이 될 것이다.

그렇다면 과연 윈도우가 Intel CPU달린 맥에 설치될까?

애플은 공식적으로 지원하지 않을 것이지만 그렇다고 막을 생각도 없다고 했다. 기술적으로 윈도XP는 설치가 안되지만 윈도 비즈타는 설치가 된다는 이야기도 있다.

향후 모든 매킨토시의 라인업에 인텔 CPU가 장착되면 지금까지 생각지도 못했던 재밌는 일들이 많이 벌어질 것이다.

애플이 기대하는 것은 무엇일까? 그 속내가 궁금하다

2006년 1월 15일 일요일

효과적으로 책 읽는 방법

책을 읽었다면 남에게 줄거리(내용)를 설명할 수 있을 정도로 보고서(요약본)을 작성하자. 그리고 그 내용을 말로 설명해 보자.

책을 읽을 때, 글자를 읽는 것이 아니라 내용을 이해하라. 소설이 아닌 이상 모든 글을 다 읽는 것은 중요하지 않다.

2006년 1월 11일 수요일

단순하게 살기

단순하게 살아라
로타 J. 자이베르트 외 지음, 유혜자 옮김 / 김영사
나의 점수 : ★★★
오 늘도 많은 사람들이 백화점과 인터넷 쇼핑몰에서 물건을 사기위해 많은 시간과 돈을 쓰고 있다. "소비한다 고로 나는 존재한다"라는 말이 있을 정도로 사람들은 소비하고 소유하므로서 자신의 존재감을 느끼게 되고 그것이 사회적 위치를 말해주기도 한다. 이렇게 구입한 물건을 채우기 위해 더 넓은 공간이 필요하다. 집이 살기위한 공간보다 뭔가를 채우기 위한 공간으로 변질되가고 있는 것이다. 물론 이런 것들이 보다 나은 삶을 위한 것이라고 자위하지만 사실 우리의 삶을 더욱더 복잡하게 만들고 정말 중요하고 가치있는 것을 소홀하게 만든다.단순하게 살기 위한 나의 제안은 바로 "쓸데없이 물건을 사지 말라"이다.개인적으로 디지털 기기에 관심이 많은데, 그 기기를 하나 사려면 정말 많은 시간을 소비하게 된다. 돈을 쓰는 것 자체보다 그 기기에 투자하는 시간이 급격이 늘어나는 것이 더 큰 문제이다. 우선 복잡한 기능을 익혀야하고 인터넷에서 최신 정보도 수집해야 한다. S/W기능이 업데이트 되었는지 확인도 해야하고 또 다른 새 제품이 나왔는지도 관심사다.만약 꼭 필요한 기기가 있다면 기능이 단순하고 쓰기 편하고 품질이 좋은 것을 구입하기를 권한다. 그래야 우리의 소중한 시간을 기기로 부터 해방시키고 쓰는데만 집중할 수 있다.책을 소개한다는 것이 너무 거창하게 이야기가 흐른 것 같다. ^^;

이 책은 복잡한 우리의 삶을 다소나마 단순하게 만들어주는 여러가지 정보를 준다. 오래된 습관을 바로 바꾸기는 힘들겠지만 조금씩 개선해 나간다면 내 주의를 감싸고 있는 쓸모없는 모든 것들을 과감하게 정리할 수 있지 않을까 생각해 본다.

책 내용 중 몇가지 기억에 남길만한 문구를 정리해보았다. 이런 자기개발류 서적은 사실 아래와 같은 문구가 바로 핵심이고 실천해야할 지침이기도 하다.

이런것은 모두 버려라
- 오래된 여행 팜플릿

- 안보는 책

- 오래된 보고서

- 이전 회사 관련 문서

- 오래된 자료

- 절대 보지 않을 소설

- 다쓴 건전지, 학용품

1:3 폐기원칙과 3/4원칙으로 대비

- 바인더에서 낡은 정보를 없애라

- 바인더 75% 차면 덜어낼 준비를 해라

사무실에 서류에 쌓이지 않도록

발생하는 즉시 해결하라.

버려라..

가치없이 수집하지 말아라.

다 비워라..

섬광처러 떠오르는 생각에 매달리지 말자

목적없는 인터넷 사용을 자제하자

첫문장이 떠오르지 않으면 두번째 문장부터 시작해라

낙서하라

오전에 할일을 다 하라!

쉬고 놀 시간을 마련해두라..