'머리아픈 이야기'에 해당되는 글 35건

  1. 2007/06/22 Garbage code 2
  2. 2007/06/22 지적 사춘기 10
  3. 2007/06/07 비표준화 작업 8
  4. 2007/06/07 혼란 / 태터툴즈 프로젝트를 회고하며 6
  5. 2007/06/06 텍스트큐브 접근제어 (ACL) 3
  6. 2007/05/31 호환성 유지하기 2
  7. 2007/05/30 시간 감각 4
  8. 2007/05/23 사람의 차원 3
  9. 2007/05/23 능률적인 작업관리 2
  10. 2007/05/21 작업의 연속성 4

Garbage code

머리아픈 이야기 2007/06/22 10:27 by J.Parker

얼마 전부터 기존 작업해 놓은 프로그램 코드 정리를 하고 있습니다.

새로 작업해야 하는 항목도 있지만 기존 작업 물에서 변형을 해야 하는 부분도 있기에 대대적인 정리를 해야만 하는 사정입니다.

이리저리 정리를 하다보니 왜이리 꼬인 부분이 많던지 도대체 누가 이렇게 처리했는지 갑갑하더군요.
뺄건 빼고 다시 넣을 건 넣고, 이렇게 작업한지 며칠에서야 전체 프로그램 코드 중 정리처리 되어야 할 부분이 약70군데 정도 이었습니다. 처리 대상 부분을 모두 정리하고 나니 기존에 버벅거리던 프로그램도 처리속도가 향상된 것 같아 보입니다.(어디까지 제 느린 눈으로 봤을 때..^^) 아직도 찾지 못한 부분이 있을 수도 있겠지만, 한층 가벼워진 프로그램이 감사해 할 것입니다.

뭐든지 동일한 여러 개의 모듈과 사용되지 않는 모듈들은 자원 낭비인 듯 합니다.
예전 초기시절엔 프로그램 작업을 마구마구 넣기 방식으로 했던 기억이 납니다. 이렇게 하면 잘 돌아 가겠지 요렇게 하면 멋있겠지.. 등등..  그렇다고 사용자가 프로그램 내부를 보고 와 코드가 많다고 좋아하지는 않습니다. 요즘은 뭐든 가볍게 하기 위해 코드 체계화를 설계하고 있습니다. 그래야 추후 관리도 용이해지고, 프로그램 차체도 가벼워진다는 것을 체험하였기에 그리하고 있습니다.

조금 차가운 말이겠지만, 일상 살아가는 과정에서도 이와 같은 정리는 필요하다고 봅니다. 개개인마다 생활 패턴이 다르겠지만, 정리되어야 할 것은 과감히 정리해야만 뒷끝없이 깔끔할 것입니다. 생각해보면 그리하지 못해 아직까지 찜찜한 것들도 간혹 있네요.~~

한마디로 정리 잘하고 살자는 이야기 이었습니다.~~

ps.요즘 Textcube내에서도 이러한 정리 작업을 강행하고 있습니다. 사용자에게 보다 가볍고, 빠른 그리고 안정적으로 제공하기 위함입니다.

필자
author image
안녕하세요. J.Parker입니다. Needlworks의 Creator이며, 블로그 200% 활용을 위한 플러그인을 주로 제작하고 있습니다. 블로그와 함께 숨쉬는 그날까지 언제나 화이팅입니다.^^;
# 블로그 : http://create74.com

2007/06/22 10:27 2007/06/22 10:27

지적 사춘기

머리아픈 이야기 2007/06/22 04:32 by daybreaker

비가 추적추적 내리는 밤은 글이 잘 써지는 시간입니다. 때이른 초여름 더위가 지나고 습한 공기와 함께 장맛비가 찾아왔습니다. (생활리듬 shift된 걸 얼른 되돌려야 할 텐데 말이죠. orz)

요즘, 저는 제가 지적 사춘기에 빠진 것이 아닌가 하는 생각을 자주 합니다. 신체적으로야 뭐 징그러울 만큼-_- 자랐으나, 내적으로는 어쩌면 방황의 시기인지도 모르겠습니다.

어렸을 때 무심코 믿었던 종교, 또 무심코 흥미삼아 반신반의하며 봤던 각종 UFO 관련 책들, 과학고와 KAIST에 진학하면서 배운 많다면 방대하고 적다면 쥐뿔만큼 적은 과학 지식들, 초중고를 거치며 들었던 선생님들의 여러 말씀들, 부모님과의 심도 있는 대화, 친구들과의 대화. 피아노를 치면서 느끼는 희열, 내가 작곡한 곡과 내가 그린 그림들, 그것을 본 사람들의 다양한 반응들. 수많은 책과 블로그에서 흘러나온 문자들. 그리고 종교와 철학.

내가 일상에서 경험하는 모든 순간과 경험이 갑자기 새롭게 느껴지고 있습니다. 한편으로는 소프트웨어공학개론 때문에 지나치게 빡센 학기를 보내면서 심신이 피폐(?)해진 탓도 있을 것 같네요.

저는, 제 또래의 친구들이 대충 저와 같은 지식 수준을 갖추면 자신의 가치관에 대한 심도 있는 고민을 할 거라고 생각했습니다. 뭐 주변의 친구들은 대부분 저와 비슷한 경로의 삶을 살아온 사람들이기에 지식 수준이라는 것도 비슷할 거라고 생각했죠. 그런데 생각 외로 종교와 철학, 그리고 세상사를 바라보는 자신의 가치관에 대해 깊이있는 고민을 하지 않더라는 겁니다. 단지 하지 않는 것에 지나지 않고, 왜 하는지 관심도 없어보였습니다.

당장 응용미분방정식 기말고사 망해서 재수강이 사실상 확정이고 알고리즘 교수님이 꿈에 나올 정도로 시험 성적이 불안하지만, 저는 제가 현실에서 처한 모든 상황을 떠나 거시적으로, 혹은 미시적으로 사람이 사는 세상 그 자체에 대해 바라봅니다. 전에 올렸던 글에서 길가다가 꽃이 핀 걸 보고 왜 아름다움을 느끼지 못할까에 대해 썼던 것도 비슷한 맥락입니다. 제게 제가 감각으로 받아들이는 모든 정보는 그 하나하나가 가치있는 것이고 또한 아름답기 때문이죠. (그래서인지 뇌가 쉬 피로해지는 것 같기도 합니다.)

이번학기에 들었던 전산학 세미나 수업에서 레이 커즈와일이 쓴 '특이점이 온다'라는 책을 추천해서 읽어보았습니다. 패턴주의자인 그는 기계가 초지능을 갖게 되고 인간을 능가하는 바로 그 순간을 특이점이라 부르면서, 인간만이 특별한 존재다라는 인식을 거부합니다. 중요한 것은 인간을 구성하는 물리적 신체, 혹은 생명 그 자체가 아니라, 자연계 속에서 정밀한 패턴을 이루고 있는 존재라는 점을 강조하였습니다.

그 책을 읽으면서, 모태신앙으로서 갖고 있던 기독교(가톨릭)에 대해 품고 있던 회의와 의문이 더욱 많아졌습니다. 동물과 식물에게도 영혼이 있을까부터 시작해서, 과연 인간을 인간답다고 정의하는 요소가 무엇인지, 신이 있다면 왜 신은 우리가 이런 고민을 할 수 있게 했고, '신의 영역'이라 불리는 것들을 과학기술을 이용해 할 수 있게 만들었는지 의문이 들기 시작한 것이죠. (지난 제2차 태터캠프 때 제 발표를 들으셨던 분들은 무슨 얘긴지 아실 겁니다. :)

저는 주변 사람들에게 물었습니다. 독실한 신자이신 부모님과도 얘기해보고, 또 독실한 기독교 신앙을 가진 친구와도 얘기해봤습니다. 따로 종교를 믿지 않는 친구하고도 얘기해보구요.
대체로 신앙을 가진 사람들은 특이점이 올 수 없다고 말합니다. 신이 막으실 거라고 얘기합니다. 환경 재앙이든 전세계적인 전쟁이든 뭐든 간에요. 종교나 신을 믿지 않는 사람들은 그런 고민을 할 필요가 없다고 말합니다. 그냥 자기 자신을 믿으면 되는 것이고, 때가 되면 알아서 살게 되겠지-라는 것 같습니다.
어떤 사람은 특이점이 올 가능성이 있다면, 그런 일이 생기지 않았으면 좋겠다라고 말하기도 했습니다. 그냥 지금처럼 인간은 인간 고유의 영역에 남아있는 것이 좋다는 것이죠.

나라는 존재가 다른 존재와 다르게 인식되는 그 근원은 어디에 있을까요? 의식이란 건 기본적으로 주관적 체험에 기초하기 때문에, 그 어떤 논리와 과학으로도 100% 객관화시킬 수 없습니다. 오로지 종교적 믿음이나 개인의 신념에 의해서만 가능하지요. 그렇다면 우리는 단지 정교하게 엮어진 분자 덩어리에 불과한 것일까요? 사람들이 말하는 사후세계, 정신세계라는 것은 특이점의 시대에 어떤 의미를 가질까요.

궁극적으로 저는 제가 알고 경험해본 다양한 신념체계를 통합하고 싶습니다. ('합리적'이라는 과학조차도 넓게 보면 하나의 신념체계라고 볼 수 있습니다.) 그러나 그들 사이에 모순되는 점이 너무나 많아서, 지금은 이중생활을 하고 있죠. 심정적으로는 신을 믿지만, 이성적으로는 신을 믿지 않습니다. (혹은 거꾸로일지도 모릅니다. 자연의 정교함은 과학만으로 납득이 안 되는 부분이 있거든요. 이건 사람마다 다릅니다만.) 사실 그 신이라는 것도, 인격적 존재로서의 신인지, 범신론적 관점의 신인지에 따라 또 다르지요.

마치, 제가 가진 모순점들을 해결하지 않는다면, 그래도 제 삶은 계속되겠지만, 끝없는 좁은 터널을 지나는 기분일 겁니다. 전혀 다른 분야에서 얻은 경험과 지식들이 하나의 공통된 원리를 제게 보여줄 때 느끼는 그 희열을 느껴봤기에, 인류가 저에게 물려준 다양한 신념체계들을 어떤 식으로든 저 자신의 자아 내부에서 통합하는 일은 그만큼 가치가 있고, 또 제가 앞으로 크고 작은 다양한 선택과 판단을 하는 데 있어서 가장 근본적이고 중요한 밑바탕이 될 것이기 때문입니다.

저는 TNF 활동을 해오면서 inureyes님이 쏟아내시는 paper work과 각종 발표 등을 보면서, 또 개인적으로 나눈 여러 대화를 통해, 어떻게 해서 저런 넓은 시야와 직감을 가지고 계실까 사뭇 궁금했었습니다. 얼마 전에 메신저로 길게 이야기한 적이 있는데, 제 나이 무렵에 비슷한 고민을 안고 철학과 종교학, 예술학 쪽에 굉장히 심취하셨던 기간이 있으시더군요. 계절학기를 통해 서울 쪽의 대학 도서관들을 다니며 많은 책을 읽었다고 합니다.

그 얘기를 듣고, 그 놀라운 통찰력이 어디서 나오는지 알 것 같았습니다. 직접적으로 저나 다른 사람들에게 말로 설명해주시기는 어렵겠지만, 무엇이 중요한 것인지 판단하는 가치 기준을 만든 것이죠. 저는 바로 그 과정을 시작하려고 합니다.

인터넷의 발달은 인류가 과거 그 어느 때보다도 많은 정보를 생산하고 접할 수 있도록 해주었지만, 그 중에서 자신에게 의미 있는 것을 골라내는 것은 그만큼 더 어려워졌습니다. 그러나 그만큼 가치 있는 정보가 지닌 잠재력은 더욱 올라갑니다. 저는 전산학을 배우면서 그러한 정보를 다룰 수 있는 기술적 능력을 갖추고 있습니다. 그러나 저 자신을 더 높이 승화시키려면 그 이상의 무언가가 필요하지요. 그것을 위해 일종의 지적 사춘기를 시작했습니다. 어쩌면 죽을 때까지 결론이 나지 않을 기나긴 여정일 수도 있겠습니다.

필자
author image
Daybreaker(아침놀)입니다. 현재 KAIST 전산학과에 재학 중이며 전산 외에도 물리, 음악, 건축 등에 관심이 많습니다. Needlworks 내에서는 각종 홈페이지 제작 및 서버 관리 등과 함께 Textcube 개발에 참여하고 있습니다.

홈페이지 : http://daybreaker.info

2007/06/22 04:32 2007/06/22 04:32

비표준화 작업

머리아픈 이야기 2007/06/07 16:44 by J.Parker

W3C의 웹 표준화에 대해 알게 된 것은 불과 1년하고도 몇 달 정도이다. 실제 몸소 체험하게 된 계기는 태터툴즈 블로그를 만나면서 이고, 그 이후로 웹 표준화에 신경을 써야 한다는 쉽지 않은 압박감을 가지고 있다. 태터툴즈 스킨을 몇 개 만들어 봤지만 어찌 그리 표준화 작업이 어려운지 애 먹은 적이 한두 번이 아니다. 여러 스킨들을 만들어 내시는 스킨메이커분들이 존경스러울 다름이다.

얼마 전부터 몸담고 있는 회사에서 생각지도 않은 웹사이트 개발 업무를 시작했고, 얼떨결에 참여까지 하게 된 케이스이고, 정말 하기도 싫은 jsp로 구현을 해야 한다. 참한 디자이너도 없는 그렇다고, 컬러 감각이 뛰어난 개발자도 없는 팀으로, 정말 난감한 상황이다. 현재 60%의 공정이 진행되고 있지만, 말 그대로 90년대 말 홈페이지처럼 단순하게 컬러링 했고, 나름대로 웹 표준에 맞추려고 무단히 노력하고 있는 상황이다.

개발에 참여하고 있는 이들이 대부분 웹 쪽과는 담을 쌓고 있는 실정이고, 웹 표준에 대해서는 더욱 그러하다. 이런 상황에서 나름 웹 표준에 맞춘다고 하는 것이 정말 맨땅에 헤딩하는 기분이 듭니다. 그래도 블로그라도 운영하는 내게 "조금 맞춰보지 그러나.."라며 말을 하는 팀선배의 말에 표준에 맞춰보고는 있지만...  역시나 웹 표준은 가까이 있음에도 멀리 있음을 깨닫게 합니다. 웹 표준에 대한 중요성을 인지하도록 한다는 것도 쉬운 일이 아닌 듯 합니다.

몇 달 전인가? 회사에서 운영하고 있는 현재의 홈페이지에 대한 웹 표준성에 대해 팀장에게 말한 적이 있습니다. IE전용에 그 외의브라우저에서는 전혀 말을 듣지 않는 홈페이지 입니다. 왜 이 상태로 내버려두냐고 하니 "대부분 IE만 쓰잖어"라고 말합니다."그렇지만... 기타 등등에도 사용성이 용이해야 하지 않을까요?"라고 말한후 여태까지 처리가 안 되고 있는 상황입니다. 이런 시점에서 앞으로 남은 40%의 공정을 어찌 맞춰가야 할지 걱정입니다.

이 기회를 통해 웹 표준이라는 어려운 일을 매번 해결해주시고 계시는 graphittie님께 정말 감사드립니다.

필자
author image
안녕하세요. J.Parker입니다. Needlworks의 Creator이며, 블로그 200% 활용을 위한 플러그인을 주로 제작하고 있습니다. 블로그와 함께 숨쉬는 그날까지 언제나 화이팅입니다.^^;
# 블로그 : http://create74.com

2007/06/07 16:44 2007/06/07 16:44

혼란 / 태터툴즈 프로젝트를 회고하며

머리아픈 이야기 2007/06/07 00:34 by inureyes

지나가는 이야기.

어떤 일이든 시간이 지나면 역사가 생긴다. 태터툴즈도 돌아보면 3년이 넘은 프로그램이고 프로젝트이다. (위키백과에 정리되어 있는지 모르겠지만) 정재훈님이 시작한 프로그램이 '태터앤 컴퍼니'라는 회사를 탄생시키고, 이후에 다시 GPL로 공개되면서 '태터앤 프렌즈'라는 사용자 커뮤니티가 개발에 참여하게 되고, 얼마 지나지 않아  데이터 형태의 개인 창조물이 창조자가 아닌 기업에 일방적으로 종속되는 것을 반대하는 '태터 네트워크 재단'이라는 개념이 이야기 되며 개발의 대부분을 담당하게 되고, '태터 네트워크 재단'의 주장을 펼치기 위한 구심점이 약한 점을 개선하고자 니들웍스가 구성될 때 까지 거의 쉬지 않고 달리고 있는 중이다.


태터툴즈가 한 단계에서 다음 단계로 넘어가는 과정을 들여다보면 재미있는 현상들을 발견할 수 있다. 그 중 한가지는 단지 3년간의 변화가 '오픈소스 소프트웨어 업계'의 기나긴 역사를 굉장히 압축해서 보여주고 있는 점이다. 개인의 "필요"가 소프트웨어가 되고, 그러한 "필요성"을 공유하는 사람들이 많아지고, 사용자가 늘어나게 되면 회사가 생기게 된다. 이후 사용자 참여와 우군을 확보하기 위하여 GPL을 선택하게 되고, 자발적으로 사용자 중 개발에 참여하는 사람들이 생기게 된다. 이후 기업은 엔터프라이즈 사업, 서비스 사업 또는 기존의 기술에 기반한 새로운 사업에 진출하며, 오픈 소스 프로젝트는 커뮤니티에 맡겨지고 기업과 공생관계를 맺게 된다.

저 과정의 중간 단계에서 사라지거나 지지부진해지는 오픈소스 프로젝트들이 많다. 필요성을 공유하는 사람들이 많지만 개발을 전담하는 기업 또는 조직이 생기지 않을 경우, 사용자의 필요성을 계획성있게 적당한 시기에 반영하지 못하게 된다. GPL을 선택하지 않고 소스 단계에서 공개될 수 밖에 없는 스크립트 언어 기반의 프로그램을 공개할 경우 사용자 참여 대신 소스를 다른 기업등에 넘겨주기만 하는 자선단체가 된다. 프로그램이 공개된다는 특징 때문에 적당한 시기에 이를 기반으로 할 새로운 사업을 찾지 못할 경우 기업의 존폐가 영향을 받게 된다. 오픈 소스 진행 주체가 명확해지지 않으면 새로운 사업에 집중하는 기업의 리소스 부족과, 사용자가 늘어날수록 그에 비례하여 늘어나는 요구사항을 컨트롤하기가 힘들어지게 되고, 적어지는 사용자 참여로 인하여 프로젝트가 죽게 된다.

그 과정을 태터툴즈는 훌륭하게 넘어왔고, TNF/니들웍스, TNC는 그 다음을 향해 달려가고 있다.

*

초창기부터 태터툴즈를 사용해왔고, GPL과정을 흥미롭게 바라보고 처음 불만을 터뜨렸었고, 지금은 태터툴즈/텍스트큐브가 삶의 한 부분이 된 사람으로서 지난 3년 (그리고 그 중 15개월) 은 여러 의미가 있다. 태터툴즈의 개발 과정과 주체, 변화가 저렇게 속도감을 가지고 달려온 저변을 생각해본다.

'타산지석'이라는 말이 있다. 많은 오픈 소스 프로젝트들의 명멸이 태터툴즈의 방향을 정해 나가는 것에 도움이 되었다. 많은 프로젝트들이 있지만 로드맵을 세워 나가며 많이 고려했던 프로젝트는 '페도라', '모질라' 와 '베릴'  프로젝트였다. 그 셋은 각기 다른 굉장한 개성을 가지고 있다. 구태여 설명하는 것이 사족일 정도이다.

수많은 프로젝트들이 도움이 되지만 특히 그 세 프로젝트들의 생성과 진행, 역사는 '거대한 목표를 가진 프로젝트' 가 어떠한 시점에 어떠한 결단이 필요한지에 대한 통찰의 재료가 된다. 프로젝트들의 실패나 느려짐이 어떠한 상황에서 발생했었는지, 어떨 때 프로젝트가 '바람직한 방향'으로 흘렀는지에 대한 예는 찾아보면 끝이 없다. (역시 이야기하는 것이 사족이 될 것이다.) 적당한 타이밍에 다음 단계로 나가야 한다고 생각했고 태터툴즈를 '도구를 넘어선 어떤 것'으로 사랑하는 분들과 함께 계속 앞으로 나아가고 있다.

이제 얼마 후면 공식적으로 태터툴즈는 텍스트큐브의 모태가 되며 텍스트큐브 1.5가 태터툴즈를 대체하게 될 것이다. 그 결단을 내리기 위해서 고려해야 했던 수많은 시나리오와 가능성이 있다. 수많은 이름 상의 혼란, 기존에 만들어진 브랜드의 포기, 개발 주체들의 관계에 대한 수많은 억측의 가능성등, 어떤 시나리오도 부작용이 없는 경우가 없었다. 하지만 수많은 다른 프로젝트의 예들에서 얻은 결론이 그래야 할 순간이라고 말하고 있기 때문에 그렇게 결정했다.

텍스트큐브로 이름을 바꾸는 것은 단순히 이름의 변경을 의미하는 것은 아니다. 혼란을 충분히 감내해야 할 이유가 뒤에 자리잡고 있다. 간단하게는 외국인들에게 '태터툴즈'가 가지는 영어 어감이 좋지 않음에 대한 지적이 여러번 있어왔다거나 하는 실질적인 이유가 있다. 그렇지만 네이밍의 변경이 의도하는 것은 개발 주체와 상표의 재정의, 그리고 그로 인한 의미가 정확히 전달되는 것이다.

태터툴즈는 TNC의 상표이다. 로고는 상표권이 있고, 엄밀하게 로고와 트레이드 마크는 GPL은 아니다. 설사 TNC가 해당 상표를 자유롭게 사용하도록 하더라도 전체 소스 코드의 얼굴이 되는 상표는 소속이 있는 상태이다. 텍스트큐브로 전환하며 그 부분에 대한 메세지를 내부에 담으려고 하고 있다.

텍스트큐브 로고는 GFDL로 배포될 것이다. (국내 상표의 경우 자유로운 상표 사용을 위하여 TNC를 통해 등록 할 수 밖에 없었다. 이 나라는 개인이 '리눅스'를 상표등록해서 소송 걸기도 하는 나라 아닌가.) 공개되는 소스는 이제 상표까지 온전히 GPL을 따르게 될 것이다. 지금까지 데비안 패키징을 시도해보지 못했던 이유[footnote]GPL 하에서 데비안 패키징을 하기 위해서는 GPL의 결격 사항이 없어야 한다.[/footnote]가 사라지게 될 것이다.

그 과정을 통해서, 그 다음 단계로 나아가기 위한 시작을 밟아 나가려고 한다. 당장은 복잡해 보이는 과정이겠지만 실은 더 간단해 지기 위한 시작이며, 태터툴즈-이젠 텍스트큐브-라는 프로그램을 사용하는 것만이 아니라 프로그램에 대한 소유감과 함께 애정과 책임을 느끼는 사람들이 많아지는 세상을 꿈꾸고 있다.



지나가는 이야기라 하고서 너무 오래 머물렀다. 이제 그만 저장하고 안녕~

필자
author image
inureyes 입니다. 하고 싶은 일과 해야 할 일의 균형 맞추기를 하며 즐겁게 살고 있습니다. N/W에서는 구성을, TC에서는 교리 전파? 및 사회자?를 맡고 있습니다. 오전과 오후에는 물리학을, 저녁 시간에는 코딩을 하며 삽니다.
http://forest.nubimaru.com

2007/06/07 00:34 2007/06/07 00:34

텍스트큐브 접근제어 (ACL)

머리아픈 이야기 2007/06/06 00:10 by hojin.choi

머리아픈 얘기입니다만, 텍스트큐브(구 태터툴즈)는 다음과 같은 종류의 접근하는 세력이 있습니다. 자격이라 말할 수 있겠지요.

  • 블로그 관리자
  • 글 쓸 수 있는 사람
  • 손님
또한, 이들의 접근을 당하는 개체는 다음과 같은 종류들이 있습니다.
  • 댓글
  • 블로그 설정
접근하는 세력(Access Request Object)과 접근당하는 개체(Access Control Object)간의 관계를 모아 놓은 것을 접근제어목록(Access Control List; ACL)이라고 말할 수 있습니다.

태터툴즈의 공식적인 코드에는 다중 사용자에 대한 지원이 있습니다. 이것은 팀블로깅과는 다릅니다. 하나의 데이터베이스를 둘 이상이 각자의 블로그를 운영하는 것입니다. 티스토리도 어찌보면, 다중 사용자 모델로 운영되는 태터툴즈라고 생각할 수 있습니다.

이제 새로이 나올 1.5에서는 팀블로깅이 지원되는데, 따로 운영되는 블로그 여럿이 아닌, 하나의 블로그에 대한 글쓰기, 자기글에 대한 수정/삭제 기능이 지원됩니다. 게다가 오픈아이디를 통해서 접근하는 세력도 비슷한 범주에 넣어 구별할 수 있게 됩니다.

예상되는 시나리오는 다음과 같군요.
철수는 "멋진 블로그"에 글쓰기 권한을 가진 블로거입니다. 자신의 ID로 로그인을 하여 글을 쓰고 공개하였습니다. 그리고, 영희가 그 글에 댓글을 남겼습니다. 아차 싶어 댓글을 수정합니다.
이런 기본적인 동작에 대해서 다음과 같은 접근권한이 동작합니다.
  1. 철수는 멋진 블로그에 접근하여 "손님"이란 자격을 얻습니다.
  2. 철수는 로그인하면서 "글을 쓸 수 있는 사람" 이란 자격을 얻게 됩니다.
  3. 철수는 글 쓰기 메뉴를 선택합니다.
  4. 철수는 글을 쓰고 저장후 공개하기를 선택합니다.
  5. 영희는 멋진 블로그에 접근하여 기본적인 "손님"이란 자격을 얻게 됩니다.
  6. 영희는 글을 읽고 댓글을 씁니다.
  7. 영희는 자신이 쓴 글을 수정합니다.
간단히 텍스트큐브에서 사용될 ACL에 대해서 끄적여봤습니다. 여기에 OpenID가 살짝 올라탑니다.

필자
author image
텍스트큐브 외부에서 글을 써서 올릴 수 있는 BlogAPI,
텍스트큐브에 OpenID로 로그인이 가능하게 해주는 OpenID 플러그인과,
번역자들이 쉽게 번역할 수 있도록하는 다국어 지원 구조를 담당합니다.
회사에서는 오픈아이디 서비스(idtail.com)를 개발하고 있으며,
그 외의 관심사는 PHP 프레임웍인 CakePHP, 테스트주도 개발,
자동 빌드 시스템, 형상관리 소프트웨어 및 실무적용,
안티스팸, 리눅스 커널, 암호화 라이브러리 등에 있습니다.
<a href="http://coolengineer.com/">블로그</a>

2007/06/06 00:10 2007/06/06 00:10

호환성 유지하기

머리아픈 이야기 2007/05/31 13:54 by daybreaker

좀 규모가 되는 프로그램들을 짜보신 분들은 알겠지만 하위 호환성을 잘 지원한다는 건 정말 어려운 일입니다. 이 일은 프로그램 자체 기능들의 하위 호환성을 유지하는 것과, 프로그램이 돌아가는 환경과 프로그램의 하위 호환성을 유지하는 것으로 나눠볼 수 있는데, 전자는 사실 그렇게 어려운 건 아닙니다. (물론 그 프로그램이 Windows 정도 되는 OS라면 또 얘기가 달라집니다만..)

문제는 후자의 경우입니다. 사실 태터툴즈가 굉장히 많은 버그를 떠안게 된 것도 그런 연유이죠. 사실 이 문제는 모든 '배포형 웹프로그램'에서 나타나는 현상입니다. 서버 환경 자체가 워낙 다양하기 때문에, 또 같은 환경(같은 php 버전, 같은 mysql 버전, ...)이더라도 설정을 어떻게 했느냐에 따라 동작이 달라지기도 하죠. (특히 php의 경우 그것이 두드러집니다)

PHP 5와 MySQL 4.1 이상 환경이 사실 처음 태터툴즈 소스를 만지게 된 우리가 가장 이상적으로 봤던 환경입니다. OOP도 좀더 제대로 사용할 수 있고, UTF-8 문자열도 문제없이 처리할 수 있고 등등요. (참고로 말하자면 MySQL 4.0과 4.1에서 꽤 많은 변화가 있었습니다. utf-8 지원도 그렇고, password 함수의 알고리즘 변경 등이 있었는데, 특히 password 함수가 바뀐 덕분에 제로보드와 호환성 문제가 발생하게 되어 많은 호스팅업체가 4.1 이상으로 넘어가지 않는 결과를 초래하고 말았죠. 사실 mysql 데몬을 띄울 때 옵션을 줄 수 있긴 합니다만..)

한때 내부에서는 태터툴즈를 Python으로 만드는 게 어떻겠냐는 의견도 나왔었습니다. PHP 언어의 한계나 인터프리터 구현의 버그 등으로 인해 우리 입맛에 맞게 쓰는 게 매우 힘들었죠. (특히나 OOP 방향으로 개발하면서 더욱 php에 실망을 많이 했습니다.) 제가 Python을 본격적으로 접하게 된 건 그보다 뒤의 일입니다만, 현재 만드는 사이트는 웬만하면 Python + Django 프레임웍 조합을 사용할 정도로 그 편리함과 깔끔함에 빠져 있습니다. (needlworks.org도 Django 기반입니다. 물론 아직 기능은 별 것 없지만...-_- 참고로 구글도 Python으로 많은 수의 웹페이지를 구성하고 있습니다. Django를 쓴다거나 그런 건 아니고 자체적으로 Python 및 웹서버 구조를 커스터마이징했을 거라고 추측됩니다.)
언어의 깔끔함이나 그런 걸 제쳐두고라도, Python의 경우 상당히 오랫동안 안정화가 되었기 때문에, 더 이용하려고 했던 점도 있습니다. (근본적인 언어 설계의 차이에서 오는 것도 크지요.)

그러나 Python의 Django, PHP의 CakePHP, Ruby의 Rails 등을 쓸 경우 가장 큰 문제는 배포입니다. 사이트 하나를 구축하기 위해서 사용할 때는 매우 편리한 환경을 제공하지만, 그 환경을 설정할 때 root 권한이 필요한 경우도 있고 웹서버의 설정을 건드려야 하는 경우도 있어서 배포용 프로그램에는 적합하지 않죠. 그 점에서만큼은 아직 PHP를 따라올 만한 것이 없습니다. (가장 많은 웹호스팅에서 지원하고 있기도 하구요.)

요즘 학교에서 Key 인증서버 구축을 완료한 덕분에 Windows Vista Enterprise 64bit용을 써보고 있는데, Microsoft가 독점이니 뭐니 해도 하위호환성만큼은 정말 잘 지켜내고 있다는 생각을 금할 수 없습니다. (물론 일반사용자 입장에서 보면 아니라고 할 수 있겠지만, 개발자의 입장에서 보면 정말 대단합니다.) 64비트 환경에서 32비트 프로그램을 실행할 수 있도록 모든 시스템 dll들을 32/64비트 버전을 따로 제공하고 있는 점, 기본으로 접근할 수 있는 Internet Explorer 7을 일부러 32비트용으로 해놨다는 점(Flash player 등은 아직 64비트에서 동작하지 않습니다) 등은 정말 Microsoft 급의 규모가 아니면 하기 힘든 일입니다. Windows 3.1에서 95로 넘어올 때 심시티 2000이 제대로 실행되게 하기 위해서 메모리 해제 함수를 특수 모드로 동작하게 했다는 이야기도 있죠.

Windows의 그 막강한 하드웨어 호환성도 Linux를 여러 번 설치해본 사람이라면 매우 부러워할 만한 부분입니다. 역설적으로 거의 독점하다시피 하는 Microsoft이기에 가능한 부분이기도 하죠. 얼마 전 동아리 서버가 뻑나서 새 CPU와 메인보드를 구입해 Linux를 설치하다가 호환성 문제로 3일 내내 삽질하고 쥐쥐쳤던 걸 생각하면 정말...ㅠ_ㅠ;

아무튼, 웹 환경에서 배포용 프로그램을 개발할 때의 가장 난점이 호환성입니다. 상위호환성은 거의 불가능하다 치더라도 하위호환성을 맞추는 것도 쉽지 않습니다. 태터툴즈의 경우는 PHP와 MySQL 버전이 낮은 환경에서도 잘 실행될 수 있도록 하기 위해 성능을 희생한 부분이 꽤 많습니다. (티스토리의 경우는 서비스이기 때문에 서버 환경을 마음대로 정할 수 있으므로 이런 부분에서 꽤 많은 성능을 끌어올린 것으로 알고 있습니다.) 개인적으로는 제로보드가 그 막강한 시장 영향력(?)을 잘 행사해서 웹호스팅 환경의 꾸준한 업그레이드를 유도해왔다면 훨씬 개발이 편했을 거라는 생각도 해봤지요.

개인사용자용 TextCube에서는 크게 고려할 만한 부분은 아니지만, 요즘 겐도님의 글최재훈님의 글을 보면서, 또 Vista를 쓰기 시작하면서 아키텍처와 호환성에 관해 이런저런 생각이 많이 듭니다. (Flickr가 PHP 4와 MySQL 4를 이용하고 있다는 점이 특히 놀라웠습니다. ^^;)

필자
author image
Daybreaker(아침놀)입니다. 현재 KAIST 전산학과에 재학 중이며 전산 외에도 물리, 음악, 건축 등에 관심이 많습니다. Needlworks 내에서는 각종 홈페이지 제작 및 서버 관리 등과 함께 Textcube 개발에 참여하고 있습니다.

홈페이지 : http://daybreaker.info

2007/05/31 13:54 2007/05/31 13:54

시간 감각

머리아픈 이야기 2007/05/30 21:57 by inureyes

시간이 없는 경우가 많아서 주로 빨래를 새벽에 합니다. 기숙사 세탁소가 지하에 있기 때문에 새벽에 빨래를 해도 별 문제는 없지요. 세탁기로 빨래를 하고 나서 건조기로 옮겨 담은 후에 천 원을 넣고 45분을 기다리면 보송보송 잘 마른 빨래가 나옵니다.

세 시 경에 빨래를 건조기에 넣고 방으로 돌아와서 이것저것 하루 일과를 정리한 후에, 빨래 다 돌아갈 때 까지 10분이 남았길래 잠시 웹 서핑을 했습니다. 그러다 '아차!' 하고 다 말랐을 빨래를 가지러 내려갔지요. 그런데 건조기가 아직 다 돌아가지 않은 상태였습니다. 3분 정도가 남아 있더군요. 그냥 끄고 빨래를 꺼내갈까? 하다가 3분을 기다리기로 했습니다.


가만히 있다가 시계를 보니 10초도 안 지났길래 시간 흐르라고 생각을 했습니다. 정리하다 온 연구 진행 관련해서 생각을 좀 하다가, 이번주에는 여기까지 하면 되겠구나 하는 생각을 했습니다. 그리고 내일 있을 프로젝트 관련 면담때 교수님과 어떤 식의 이야기를 하면 될 지 생각을 해 보았습니다. (굉장히 재미있는 주제니 다음을 위해서 아껴 놓겠습니다. 아니면 걍 논문으로 써서 여기 붙이든지 하지요.) 그러고보니 텍스트큐브 1.5의 마지막 알파 버전이 나갈 때가 되어서 그것 패키징 관련해서 생각을 하다가, 베타 페이즈까지 완료해야 할 티켓들을 세 보았습니다. (좀 되더군요. 흑) 언어팩과 언어 리소스 관련해서 내일 다시 부탁을 해 보아야 겠다는 생각까지 했습니다.

그리고 타이머를 보니 아직 10초가 남아 있었습니다. 느긋하게 기다렸다가 빨래를 끄집어 냈지요.

신기했습니다. 텔레비전을 보거나 의미 없는 웹서핑에서의 3분은 정말 아무것도 아닙니다. 순식간에 지나가는 시간이지요. 조용한 지하에서 돌아가는 건조기 앞에 서 있는 3분도 본질적으로는 완전히 동일합니다. 분명히 같은 시간인데도 그 시간의 길이가 다르지요.

흔히들 시간 감각이 달라진다는 표현을 씁니다. 하나 잊지 말아야 할 사실은 다른 환경에서 다른 길이로 느껴지는 시간이 실제로는 같은 길이의 시간이라는 것이 아니라, 사람은 환경과 집중도에 따라 시간을 줄이거나 늘일 수 있다는 것이겠습니다.


덧) 절대 니들웍스 분들께 생각하시라고 쓴 글이 아닌 것이 아니지 않으면서 아닙니다.


필자
author image
inureyes 입니다. 하고 싶은 일과 해야 할 일의 균형 맞추기를 하며 즐겁게 살고 있습니다. N/W에서는 구성을, TC에서는 교리 전파? 및 사회자?를 맡고 있습니다. 오전과 오후에는 물리학을, 저녁 시간에는 코딩을 하며 삽니다.
http://forest.nubimaru.com

2007/05/30 21:57 2007/05/30 21:57

사람의 차원

머리아픈 이야기 2007/05/23 20:08 by daybreaker

요즘 제가 다니는 학교는 한창 축제 기간입니다. 아는 사람들을 통해 주점 초대(라 쓰고 강매라 읽는...)를 받고 있으나 이놈의 학교가 축제 기간에도 놀도록 놔두질 않아서 숙제하거나 자거나 혹은 기타 삽질(!)을 하느라 못 가고 있습니다.

그저께, 그러니까 월요일 밤 늦게 동아리 사람들과 함께 술을 마시러 나갔는데요, 거기서 한 후배가 그날따라 좀 달리더니 평상시 쌓였던 속내를 털어놓기 시작했습니다. 뭐 다들 즐거운 분위기에서 왁자지껄 떠드는데, 그 녀석이 하기 시작하는 말이 왈, "형하고 나는 dimension이 달라서 span할 수 있는 subspace가... (생략)" ...

갑자기 그 얘기를 듣고 나서 생각이 나서 써봅니다.

수학이나 과학, 공학 분야를 전공하지 않는 분들은 차원이라고 하면 보통 점이 1차원, 평면이 2차원, 입체가 3차원, 아인슈타인이 말하는 시공간 뭐시기 하는 게 4차원... 정도라고 알고 있을 겁니다. 그러나 실제로 차원의 개념은 매우 넓습니다. (아, 갑자기 물리학 전공하시는 교주님을 두고 이런 얘기를 하려니 쑥스럽군요.. orz)

차원(dimension)이라는 개념을 설명하는 데 있어서 가장 중요한 성질이 바로 직교(orthogonality)입니다. 대수적으로 말하면 서로 다른 차원의 값은 상대방에게 상수를 곱해서 얻어질 수 없어야 한다고 볼 수 있죠. (여기서는 엄밀하게 말하지 않겠습니다. -_-) 하나의 차원에 속한 원소들은 다른 차원에 속한 원소들과 orthogonal하다고 표현합니다. 이런 개념을 vector부터 시작해서 여러 종류의 function들에 이르기까지 광범위하게 정의할 수 있습니다. (간단한 예로 sin과 cos은 orthogonal합니다)

선형대수학에서는 어떤 임의의 n차원 공간(subspace)을 만들어낼 수 있는 최소한의 선형 독립(linearly independent)인 vector 집합을 basis라고 부르고, 이들이 그 subspace를 span한다고 표현합니다. 선형 독립이라는 것도 결국 orthogonal이라는 성질로부터 나오는 것이죠.

이렇게 넓은 의미로 차원을 정의하면, 우리가 3차원에서 세 축이 항상 90도를 이룬다고 생각하는 것과는 달리 적절한 변환(transform) 하에서는 그렇지 않을 수도 있게 되는 등 뭐 상당히 일반적인 개념으로 정의할 수 있습니다.

아무튼 이런 차원 개념은 공학 분야에서도 많이 사용됩니다. 로봇 제어를 모델링할 때 6자유도(degree of freedom), 즉 6차원 배열을 이용하기도 하죠. (보통 이것을 그대로 쓰기에는 복잡해서 적절한 constraint를 추가해 차원 수를 줄입니다.)

서론이 길었는데, 하고자 했던 얘기는 이제부터입니다.
아까 술자리에서 한 후배가 했다는 얘기 말입니다. 사람에게 있어서 차원은 어떤 의미를 가질까요? 수학적이거나 물리적인 의미의 차원은 아닐 것입니다.
그러면 이제 사람의 차원에 대해 말해볼까 합니다.

제게는 오래 전부터 아버지가 말씀하시는 "주머니 이론"이 있습니다. 모름지기 사람은 자신의 가능성을 항상 열어두고 많은 것을 포용할 수 있어야 한다는 것입니다. 모든 것을 잘 할 수는 없어도, 가능한 많은 것을 받아들일 준비는 되어 있어야 한다는 뜻이죠. 이것은 부모님의 교육 철학에서도 잘 나타나, 제게 항상 주문하시는 것이 "스스로 자신의 가능성을 닫지 말라"는 것입니다. 그래서 인격적으로, 재능 측면에서 많은 주머니를 달고 다닐 수 있도록 하라는 비유를 하십니다.

이 말을 바꿔보면, 많은 차원을 가진 사람이 되라는 뜻으로 볼 수 있겠죠. 음, 제가 생각하기에, 둘이 붙여놓았을 때 완전 쌩뚱맞다고 생각되는 분야들을 잘 다룰 수 있다든가, 혹은 다른 분야에 대해서 적어도 개론 수준은 이해를 하고 있다든가 하면 그만큼 차원을 더 가지고 있다고 볼 수 있을 것입니다. 교주님의 경우는 물리학과 전산학을 복수전공하셨기 때문에 2개의 차원, 혹은 주머니를 가지고 있다고 말할 수 있겠죠. (물론 다른 측면의 것들도 많이 갖고 계시겠지만요.) 저 같은 경우는 전산학, 건축과 디자인, 피아노 연주 등이 각각 하나의 차원을 구성하고 있습니다.

아직은 햇병아리(?) 학부생이지만, 점점 학문 융합의 시기가 오고 있다는 것은 분명히 느껴집니다. 비단 학문 뿐만이 아니라, 대중 문화와 예술, 일상 생활의 많은 것들이 융합을 향해 나아가고 있고, 어쩌면 많은 기능들을 흡수하고 있는 컨버전스 기기인 휴대전화가 대표적인 예라고 할 수 있겠지요. 바야흐로 T자형 인간상이 요구되는 시대가 온 것입니다.

그런 면에서, 저는 자신이 가진 것들 중 어떤 것들이 서로 orthogonal한 것인지 판단할 수 있는 것, 그리고 새로운 것을 받아들일 때 그것이 자신의 차원을 확장할 수 있는지 판단할 수 있는지 알 수 있는 능력이 점점 중요해질 거라고 생각합니다. 또, 기존에 자신이 가진 것들을 잘 조합해서 새로운 공간을 만들어내고, 그것으로부터 자신의 가치를 창출하는 것도 필요할 것입니다.

후배 녀석의 한 마디 덕분에 간만에 여러가지 생각을 해볼 수 있었습니다. 이래서 사람에게 술이 필요한 걸까요? 아직 거기까지는 답하지 못하겠군요.;

필자
author image
Daybreaker(아침놀)입니다. 현재 KAIST 전산학과에 재학 중이며 전산 외에도 물리, 음악, 건축 등에 관심이 많습니다. Needlworks 내에서는 각종 홈페이지 제작 및 서버 관리 등과 함께 Textcube 개발에 참여하고 있습니다.

홈페이지 : http://daybreaker.info

2007/05/23 20:08 2007/05/23 20:08

능률적인 작업관리

머리아픈 이야기 2007/05/23 00:31 by J.Parker

몇 년 전 한 중소기업의 CEO이시며 모 대학 교수님이신 지인께서 내게 이렇게 물으신 적이 있습니다.

"자네는 작업 관리를 어떻게 하고 있나?" 라고...
"아, 네 저는 그때그때 마다 처리를 합니다." 라고, 대답 후, 헤어질 때까지 그분께 많은 질책을 받았던 적이 있습니다.

업 무처리에 대한 패턴은 각자의 스타일에 따라 다르겠지만, 어느 정도는 일률적인 체계가 잡혀 있어야 한다고 봅니다. 앞으로 해야 할 일, 하고 있는 일, 했던 일, 앞으로의 계획 등이 세워져 있어야 하고, 그 어떤 콜이 들어오더라도 대응할 수 있도록 만반의 준비를 해놔야 합니다. 물론 이와 같은 처리 방식은 거의 갖추고 있으리라 것이라 생각하지만 그렇지 못한, 그렇게 하지 않는 사람도 있을 수도 있습니다.

주로 일을 하던 분야가 대부분 개발 분야였고, 영업, 서비스 등의 일도 중간 중간 했었지만, 모든 분야에 대해서는 그 스타일에 맞는 작업 관리가 꼭 필요로 했던 것 같습니다. 영업과 서비스에서는 고객관리에 대한 전반적인 관리체계가 있어야 했고, 개발에서는 개발하는 각 단계에 따른 관리체계가 필요 했습니다. 특히 개발 관련에서는 각 파트별 개발단계에 대해서 각자의 단계에 대해 상호 소통이 잘 이뤄져야 한다고 봅니다. 한쪽에서는 열 가지 처리하는 동안 다른 쪽에서는 다섯만 처리하고, 공통 관리를 하고자 하는 부분에서도 마무리가 잘 안되었다고 한다면, 개발하고자 하는 프로젝트에 착오가 생길 것입니다.

현재 전 작업관리를 별도 소프트웨어를 사용하여 관리합니다. 전엔 프랭클린 플래너 다이어리로 관리를 하다가 들고 다니기 무거워서? 요즘은 Win Organizer 이라는 PIM프로그램을 사용합니다. 각 작업 처리 건에 대해 확인하기도 쉽고, 진행사항이나 여러 가지 체크할 수 있는 부분이 있어 좋고, 기타 등등 PIM프로그램 답게 유용합니다. 반드시 항상 체크해야 할 것들은 Miranda-IM의 알람 플러그인으로 대체하여 시시각각 체크합니다. 구글의 개인화 페이지에 있는  TODO LIST항목도 유용하게 사용됩니다.

어떤 직종의 작업이든 관리한다는 것이 어쩌면 귀찮니즘이 발동 할 때가 많습니다. 허나, 자신의 과거와 현재, 그리고 미래에 대한 투자라 생각하고, 게을리하지 않는다면, 보다 효율적인 삶을 느리지 않을까 합니다.

필자
author image
안녕하세요. J.Parker입니다. Needlworks의 Creator이며, 블로그 200% 활용을 위한 플러그인을 주로 제작하고 있습니다. 블로그와 함께 숨쉬는 그날까지 언제나 화이팅입니다.^^;
# 블로그 : http://create74.com

2007/05/23 00:31 2007/05/23 00:31

작업의 연속성

머리아픈 이야기 2007/05/21 10:18 by lifthrasiir

오늘도 머리아픈 이야기로 아침을 여는(응?) lifthrasiir입니다. 졸리네요.

최근 세 달동안 다양한 일들 때문에 정신없는 나날을 보내고 있습니다. 아시는 분은 아시겠지만 한달에 보름을 밤을 샌다고 생각하면 맞을 정도로 바쁩니다. 제가 하고 있는 일은 다양한 것들이 있습니다만 이 세 달동안 저를 계속 괴롭혔던 건 역시 학교 숙제와 프로젝트...였습니다. (강의를 너무 잘못 골라서 모든 과목이 빡쎄답니다.)

그런데 제 부모님께서 제가 이렇게 사는 걸 아시면 항상 하시는 말씀이 있습니다.

"새벽 한 시부터 세 시까지는 꼭 자라!"
부모님의 주장(?)에 따르면 이 시간대에 잠을 안 자면 아무리 잠을 많이 자도 피곤하다고 하던데, 그게 실제로 과학적으로 근거가 있는 건진 모르겠습니다. 뭐 좋은 얘기죠.

그런데 제가 잠을 일찍 못 자는 이유는 사실 학교 일이 많아서 그런 게 아닙니다. 정 시간이 부족하면 밥 먹을 때도 하고 수업 할 때도 하고 하면 되죠. 그런데도 잠을 늦게 잘 수 밖에 없는 건 작업의 연속성때문에 그렇습니다. 한 번 시작한 일은 어느 특정한 수준(milestone)에 도달할 때까지는 손에서 떼어 놓을 수 없다는 게 작업의 연속성의 결과이지요.

프로그래밍 같은 쪽에 인연이 없으신 분을 위해 간단한 예를 하나 들어 보겠습니다. 제가 블로그에 올릴 글을 막 쓰고 있는데 내용이 좀 깁니다. 그래서 중간까지 쓰다가 졸려서 내일 이어서 쓰자라고 생각하고 잠에 듭니다. 잠에서 깼을 때 제가 어디까지 썼는지, 어떤 내용을 앞으로 쓸 것인지, 내가 무슨 문체로 글을 쓰고 있으며 어떤 의도를 가지고 글을 쓰고 있는 건지 기억할 수 있을까요?

좀 많이 힘들 겁니다. 글 쓰기 뿐만 아니라 프로그래밍 같은 다른 일들도 마찬가지입니다. 내가 이 일을 중단하고 다시 시작했을 때 이 일을 하는 데 필요한 내용들이 내 머릿속에 남아있을 지 보장할 수 없습니다. 혹시나 내가 꿈에서 로또 번호를 봐서 앗싸 좋구나 하고 로또를 사고 돌아 오면 글에 대한 생각은 싹 사라졌을 지도 모릅니다. (물론 로또 1등 하면 글 같은 거 쓸 이유도 없긴 하지만)

불연속성은 종종 사람들의 생활을 바꾸고 사회를 바꾸기도 합니다. 예를 들어서 사람과 사람 사이의 소통 수단은 원래 말이었습니다. 하지만 음성은 그 순간에만 유효한 수단이고, 그 순간이 지나면 음성을 다시 들을 방법이 없습니다. 이것이 바로 불연속성이고, 결국 이를 해결하기 위해서 계속 보존할 수 있는 매체인 종이가 등장하고 내용을 적기 위한 프로토콜인 문자가 생겼지요. 마찬가지로 유선 전화는 돌아다니면서 쓸 수 없기에 무선 통신이 고안되었고 휴대폰이 쓰이게 되었습니다.

그러나 일반적으로 일의 연속성은 순전히 인간의 사고에 상당히 의존하기 때문에, 인간의 사고를 정확하게 보존하고 다시 되살리는 방법이 만들어지지 않는 한 최선의 방법은 "끝날 때까지 계속 한다"입니다. 안 그러면 중단했을 때의 상태로 돌아 가는데 걸리는 부하가 늘어날테니까요. 그나마 조금 더 좋은 방법은 하나의 작업 단위를 작게 만들어서 빨리 끝나게 만드는 것입니다만 이건 이거 나름대로 힘든 일입니다.

제가 정말로 고민하는 건, 제가 하는 일과 약 200만광년 정도 동떨어진 일을 하시는 부모님께 이런 작업의 불연속성을 이해시키고 제가 늦게 잘 수 밖에 없음을 어떻게 설득시키느냐입니다. 아는 거랑 설명하는 건 서로 다르다고들 하죠. 아무래도 이 문제를 해결하려면, 제가 애초에 일을 잘게 잘 쪼개는 능력을 키우거나 아니면 이 얘기를 잘 설명할 수 있는 말빨(과 인내심)을 키우거나 둘 중 하나는 해야 할 겁니다. 둘 다 하면 좋겠지만요. ;)
필자
author image
먹고 자고 놀고 하면서 종종 코딩도 하는 이상한 사람.
http://tokigun.net/

2007/05/21 10:18 2007/05/21 10:18