Archive for December, 2007


‘다르다’와 ‘틀리다’

Monday, December 31st, 2007

‘다르다’와 ‘틀리다’는 다른 뜻이지만, 두 단어를 구별하지 않고 쓰시는 분들이 있습니다. 물론 두 단어의 뜻을 정확히 알지 못해 틀리게 사용하시는 분들도 있지만요.

곰곰이 생각해보니. 우리와 ‘다른’ 생각을 하는 사람들과 이야기를 하다보면, 어느새 ‘다른’ 생각을 하는 사람들을 ‘틀렸다’고 몰아부치곤 합니다.

옹졸한 자아에 갇혀 있기에, ’다른’ 생각은 ‘틀린’ 생각이 되버리죠.

IT 인프라가 발전한 덕분에, 언제 어디서나 마음만 먹으면 다른 사람과 의견을 나눌 수 있지만. ‘다른’ 생각을 ‘다른’ 생각으로 받아들이기 위해, 통신의 속도에 반비례하는 인내심과 포용력이 필요한 듯합니다.

개인적으로, 얻은 것만큼 잃은 것도 많은 한 해가 저물어갑니다. ‘다른’ 생각을 ‘다른’ 생각으로 받아들였다면, 깨달음이 더 많은 한 해가 되었을 아쉬움에 몇 자 적어봅니다.

이 글을 읽으시는 분들 모두 나쁜 기억이 있으셨다면 잊으시고, 털어버린 무게만큼 가벼워진 마음으로 새해를 맞이하시길 바랍니다.

새해 복 많이 받으세요. :D

sunrise

image from www.neilsnodes.blogspot.com

문장 리팩터링1*

Thursday, December 27th, 2007

시스템은 현재 상황(condtions)이나 이전의 이력(history)을 반영하는 상태(states) 및 그 변화(transition)에 따라 다르게 동작할 수 있다.

위 문장을 이해하려면, 단기 기억력과 집중력이 좋아야 한다. 위 문장을 쉽게 이해했다면, 이 포스트를 더 이상 읽지 않아도 된다.

*** 

이십 년 가깝게 정규교육을 받고, 지식노동으로 9년 동안 돈을 벌고 있으며 번역도 해봤지만. 아직도 우리나라 말에는 배울 게 무척이나 많다. 비관적으로 보자면, 우리나라 말에 대해 모르는 게 너무 많다는 뜻이지만. 긍정적으로 보면, 배움의 기쁨을 앞으로도 누릴 수 있다는 것.

번역을 하면서 여러가지를 배웠지만. 최근에 느끼는 것은, 영어가 명사 중심의 문장이라면 우리나라 말은 동사 중심의** 문장이라는 점이다. 즉, 문장을 맛깔나게 쓰기 위해서, 동사가 활어처럼 팔딱팔딱 튀어야 한다

영어에서는, 명사가 문장의 주인공이기 때문에 명사를 꾸미는 방법이 다양하다.

… beautiful young lady with laptop computer and mp3…

beautiful, young이라는 형용사 두 개, with로 시작하는 부사구가 모두 lady를 꾸며주고 있다. 힘 약한 아가씨도 무거운 형용사와 부사구를 가뿐히 들어올릴 정도로, 영어의 명사는 힘이 쎄다. 물론 우리나라 말도 영어 예문처럼 명사를 꾸미는 형식으로 쓸 수 있지만. 성질 급한 사람이 이런 문장을 읽는다면, 아가씨가 나오기 전에 숨이 넘어갈지도 모른다.

…컴퓨터와 mp3를 들고 있는 아름답고 젊은 아가씨…

물론 영문장에 많이 익숙해져서, 위의 문장이 이상하게 느껴지지 않을지도 모르지만. 명사를 꾸미는 말이 많은 문장은, 왠지 번역투의 문장이라는 느낌을 받는다. 다른 예를 하나 들어보자.

모든 어머니는 자식을 사랑한다.

위의 문장도 그렇게 이상한 문장은 아니지만. 동사 중심의 문장으로 고쳐쓴다면, 조금 더 쫄깃쫄깃할 것 같다. 바로 이렇게 말이다.

어머니는 모두 자식을 사랑한다.

고치기 전에는 ‘모든’이 ‘어머니’를 꾸며주었지만, 고친 후에는 ‘어머니’에게 짐이 되던 관형사형용사가** 뒤로 가 ‘어머니’에게 힘을 보태주는 형태로 바뀌었기 때문에, 문장이 시원해졌다.

***

오늘의 포스트를 열었던 문장으로 돌아가보자.

시스템은 현재 상황(condtions)이나 이전의 이력(history)을 반영하는 상태(states) 및 그 변화(transition)에 따라 다르게 동작할 수 있다.

이런 문장이 전형적인 번역투의 문장이다. 문장의 주체인 ‘시스템’과 움직임을 나타내는 ‘동작하다’ 사이에 돌덩어리 같은 명사들이 자리잡고 있다. ‘시스템’이 열심히 달리고 싶어도, 문장 중간에 있는 돌부리에 걸려 넘어진다.

위 문장에서 말하고 싶은 것은, 시스템이 다양한 인자에 영향을 받는다는 점이다. 즉, ‘영향을 받는다’는 말도 하고 싶고, ‘영향을 주는 인자’들이 무엇인지 한 문장에서 이야기하려다 보니, 문장이 체하고 말았다. 우리나라 말은 동사가 살아야 한다. 그렇기 위해서 주체나 명사들이 문장에 많으면 동사가 힘을 발휘할 수 없다. 따라서 쓸데없는 돌덩어리는 치우는 게 좋다.

이런 논리로 문장을 고치면

시스템은 여러가지 요소 때문에 다르게 동작할 수 있다. 즉, 이런 요소로는, 현재 상황, 이력을 반영한 상태, 변화가 있다.

돌덩어리를 한 쪽으로 치웠기 때문에, ‘시스템이 다르게 동작한다’는 의미도 명확하게 전달하면서, 이런 인자로 무엇이 있는지도 눈에 금방 들어온다. 두 번째 문장 앞에 ‘즉’이라는 부사도 넣어 부연설명을 하는 문장이라는 사실을 독자에게 알려주기 때문에, 필요에 따라서 이 문장을 건너뛰는 선택권도 독자에게 준다.

내 눈에 들보가 있다는 것을 알기에 이런 포스트를 쓰는 게 두렵기는 하지만. 문장을 잘 쓰겠다는 공약이라 생각하고 용기내어 적어본다.

* :D

** 동사보다는 서술어가 더 적합합니다. 명사와 대구를 짓다보니 ‘동사’라는 표현을 사용했습니다. mycogito님이 의견주셨습니다. 감사합니다.

Release it! 이벤트 당첨자 발표

Thursday, December 6th, 2007

Release it! 이벤트 당첨자를 발표 드립니다. 총 19분이 참여해 주신 가운데, 5분이 당첨되셨습니다. 당첨되신 분들의 블로그에 비밀 댓글로 당첨결과와 책 받는 방법을 알려드렸습니다. 참여해주신 모든 분들께 감사드립니다.

이벤트 당첨자

‘iBATIS 인 앤셕’의 역자 손권남님께서 추첨해 주셨습니다. 감사드립니다.

세븐 데이즈와 AJAX

Monday, December 3rd, 2007

세븐데이즈

세븐데이즈를 봤습니다. 올해 본 한국영화 가운데 최고였지만, 비싼 옥에도 티가 있듯이. 세븐데이즈에도 몇가지 아쉬운 점이 있었습니다.

스릴러라는 장르의 효과를 높이기 위해서 긴박한 장면(?)마다 사용된 과도한 화면 흔들기와 초단위로 이어붙인 편집은 멀미를 유발하더군요. 물론 보는 사람에 따라서 이런 편집기술과 촬영기법이 미드를 능가한다는 평가를 내릴 수도 있지만. ’긴박한 장면=화면 흔들기’라는 공식은 진짜 번역을 하려면 모든 단어를 우리말로 옮겨야 한다는 고집처럼 지나치게 보였습니다.

***

스무살 무렵, 제가 가장 좋아한 감독은 왕가위였습니다. ‘열혈남아’, ‘아비정전’, ‘중경삼림’, ‘타락천사’ 등… 왕가위 감독은 이런 영화에서 스탭프린팅, 핸드헬드 기법, 광각렌즈를 사용하여 새로운 스타일을 만들어냈습니다.

왕가위 감독의 스타일이 대중의 인기를 얻자, 그 뒤에 나온 수많은 영화, 드라마에서는 스토리가 조금 진부해진다 싶으면 화면을 흔들어 대고, 필름을 무작정 잘라내거나, 주인공에게 광각렌즈를 들이댔습니다. 가뭄에 콩 나듯이, 적절한 타이밍에 이런 왕가위 스타일을 사용하면서 연출의 효과를 극대화하는 영화도 있었지만, 대부분 짝퉁 왕가위에도 못 미쳤습니다.

중경삼림

중경삼림의 장면들

***

AJAX가 업계에 도입되고 나서 오랜 시간(?)이 지났습니다. 왠만한 웹개발자면 AJAX를 사용해서 검색창에 ‘자동완성 기능’이나, 배경색을 노란색에서 흰색으로 사르르 바꾸는 ‘Yellow Fade Technique’정도는 써봤을 것입니다.

… 나는 ‘AJAX 홈 페이지’ 위에 구축된 사이트를 봤는데, 이 사이트에는 HTML만 포함한 마스터 페이지 하나만 있었다.

 이 사이트에서 일어나는 모든 상호작용은 AJAX 요청으로 이루어졌으며 같은 페이지 안에서 표시되었다. 끔찍했다. 이 사이트는 브라우저를 무력화시켰다. 뒤로 가기 버튼을 누르면 한 페이지 뒤로 가는 대신에 사이트를 빠져나갔다. 더 나쁜 것으로, 사용자가 작업한 다음 갱신 되는 데 짧은 지연이 발생했지만 이 지연시간은 요청이 복잡하냐에 따라서 달라졌기 때문에, 브라우저의 일반적인 피드백도 없이 페이지가 무작위로 변경되는 것처럼 보였다.

from Release it! 성공적인 출시를 위한 소프트웨어 설계와 배치

위의 예처럼 AJAX기술에 너무나 심취한 개발자가 모든 것을 AJAX로 개발하려는 시도는 사용자를 기술의 미로 속에 가둬 버립니다.

개발자들은 새로운 기술에 열광하는 경향이 있습니다. 저도 여기서 자유로울 수는 없답니다. :)  기술에 대한 사랑 때문에, 개발자들은 기술논쟁에 휘말리게 됩니다. 가끔 이런식으로 말하는 개발자들을 만납니다. “AJAX를 이번 프로젝트에 도입해야 한다고 봐요. 왜냐하면…” 이런 개발자는 기술이 먼저 나오고 목적이 뒤에 나오는 논리로 기술사용을 정당화하려고 합니다.*

이것은 목적에 의해서 기술사용에 정당성을 부여하는 것이 아니라, 기술을 사용하기 위해서 목적을 이용하는 논리입니다. 이런 논리는 잘못하면 끝없는 정치싸움으로 번질 수 있습니다. 예컨데, .NET이 우월하냐, 자바가 우월하냐의 싸움말이죠.

모든 제품의 시작점은 고객입니다. 따라서 기술사용의 정당성도 사용자에게서 나옵니다. 즉, 사용자의 요구사항과 이런 요구사항을 만족시키려면 어떤 기술을 사용해야 하는지 고민하는 것만이 특정 기술사용에 정당성을 부여할 수 있습니다. 이런 사고에 기반한 개발자는 이렇게 말할 것입니다.

“이번 프로젝트에는 사용자 경험이 매우 중요합니다. 즉, 사용자와 상호작용을 훌륭하게 꾸미기 위해서 … 기술을 사용해야 합니다.”

***

기술은 만능이 아닙니다. 생활의 달인이라는 TV프로그램처럼, 기술 자체만으로 세간의 관심을 끌 수도 있지만. 진짜 잘 만든 영화나 훌륭한 웹서비스는 사용된 기술로 평가받는 것이 아니라 기술이 전달하는 가치에 의해서 평가받습니다.

* 애자일 프랙티스 92페이지