Talk with Hani

로망은, 실현되리라!

Archive for June, 2010


최고에요! 아이폰과 블루투스 키보드

Tuesday, June 22nd, 2010

제가 아이폰의 OS 업그레이드를 손꼽아 기다린 이유는… 멀티 태스킹도, 바탕 화면 설정도, 사진 기능 개선도, 메일 본문 깨짐 해결도 아닙니다. 블루투스 키보드 지원 때문에, 전 아이폰의 OS 업그레이드를 기다렸죠.

가끔 커피 전문점이나 패스트푸드 가게에서 생각난 아이디어를 아이폰으로 글로 풀 때가 있는데요. 아무리 아이폰 터치 키보드에 익숙해져도, 속도가 키보드로 입력하는 것과 비교가 되지 않더군요. 그리고 결정적으로 손목과 손가락이 아파서 오랫동안 아이폰만으로 글을 쓸 수 없었습니다. 하지만 실망스럽게도 아이폰3GS에서는 블루투스 키보드를 지원하지 않았습니다.

아이폰과 블루투스 키보드

아이폰 환경에 그럭저럭 만족하고 살아야 했던 제게, 블루투스 키보드를 지원하는 OS 업그레이드 소식은 단비와도 같았습니다. 그래서 OS 업그레이드 일자에 맞춰서, 애플에서 블루투스 키보드를 구매해 두었죠. 택배로 받은 애플의 멋진 블루투스 키보드는 간단한 설정으로  아이폰과 연결할 수 있었습니다. 우와~ 키보드로 어썸 노트나 메모장에 글을 쓰니까 감동의 스나미가 밀려 옵니다. 데스크탑으로 글을 쓰는 것보다 감성 측면에서 더 잘 써지는 듯합니다. :) 정말로 좋습니다!!

키보드 사이즈도 가방 크기와 맞기 때문에, 앞으로 집 밖에서도 글을 쓰기가 더 편해졌습니다.

* 역시 애플 키보드여서 아이폰의 음악 기능, 화면 밝기 기능 등이 완벽하게 연동되는군요.

A-특공대

Wednesday, June 16th, 2010

어릴 적 무척 재미있게 본 외화 A-특공대가 영화로 만들어졌다는 이야기에 기쁜 마음으로 영화관을 찾았습니다. 중간에 조금 지루한 부분이 있었지만, 정말 황당하지만 재미있는 액션을 즐겁게 봤습니다. 영화 속 A-특공대 멤버들은 원작보다 더 캐릭터를 잘 살린 듯합니다.

추억의 OST가 나오는 순간, TV에서 눈을 떼지 못하고 드라마를 본 기억이 나더군요. 추억의 미드 A-특공대를 직접 보신 분들이라면, 강추합니다.

a-team

머리로 아는 것과 몸으로 아는 것

Wednesday, June 9th, 2010

얼마 전에 테스트 관련 책을 읽었습니다. 책 내용은 전체적으로 괜찮았는데, 아쉬운 부분이 하나 있더군요. 책에서 TDD(Test Driven Development) 개념을 소개하면서, 저자는 TDD에 대해서 이렇게 첨언하였습니다.

TDD는 지금의 개발 방식에 테스트와 리팩토링을 추가하는 것이다.

TDD를 한다고 무조건 테스트를 먼저 만들어야 하는 것은 아니다.

만일 코드를 먼저 만들고 테스트를 하고, 리팩터링을 하면 TDD를 적용하지 않는 것인가?

닭과 달걀의 문제다. 개발하면서 테스트를  만들었고 리팩토링을 수행했다면, TDD를 적용한 것이다.

TDD에서 테스트를 먼저 하냐, 코드를 먼저 작성하냐는 것이 닭과 달걀의 문제처럼 보일 수 있지만. 실제로 TDD를 해보면, 테스트를 먼저 작성하지 않으면 TDD를 하는 의미가 거의 없습니다. 테스트를 먼저 작성하는 게, 단순히 테스트 작업을 선행한다는 의미가 아니죠. 테스트를 작성하면서 인터페이스와 설계에 대해서 동시에 고민하기 때문에, 테스트를 먼저 작성하는 게 의미가 있죠. 그런데 코드를 먼저 작성하고 나면, 테스트를 먼저 작성할 때 얻는 이점을 거의 없지 못합니다.*

***

이슈가 발생해서 인터넷에서 해당 이슈에 관한 정보를 읽다 보면, 의견이라는 게 생깁니다. 이런 의견은 대개 인터넷을 통해서 얻은 정보를 기반으로 수립되기 때문에, 형식상 보면 상당히 논리정연한 것처럼 보일 때가 흔합니다. 하지만 의견을 이루는 정보는 확인되지 않은 것일 때도 많고 추측을 단정적으로 적는 경우도 있어서, 비판적 텍스트 읽기를 하지 않으면 줏대가 없는 사람이 될 수도 있습니다.

이런 문제는 꼭 인터넷만이 아닙니다. 유행하는 어떤 개념이나 방법론에 대해서 반복적으로 듣다 보면, 어느 순간에는 개념이나 방법론에 대해서 상당히 정통한 듯이 착각하는 경우가 있죠. 그래서 사람들과 이야기할 때, 아는 체를 서슴 없이 할 때도 있습니다. 저는 이런 경우를, 머리로만 아는 것이라고 생각합니다. 하지만 그런 개념이나 방법론을 현업에 적용하는 경우에, 머리로 아는 경우에는 얼마 지나지 않아서, 참 내가 아는 게 없다는 생각이 듭니다.

하지만 이런 자괴감에서 벗어나 열심히 적용하다 보면 머리로만 아는 게 아니라, 몸으로 아는 순간이 오죠. 물론 몸으로 아는 것은 경험을 기반으로 한 것이기 때문에, 일반화하지 못한다는 단점이 있을 수도 있지만. 책에서만 서울을 가 본 사람과 두 다리로 서울 이곳 저곳을 돌아다녀 본 사람을 두고 봤을 때, 어느 쪽의 지식이 더 디테일할지 묻는 건 낭비겠죠.

그래서 전 관념적인 이야기를 많이 담은 책도 좋아하지만, 저자의 경험이 잘 녹아있는 책을 선호하는 편입니다. 그런 책을 읽으면 왠지 저도 몸으로 아는 것 같은 기분이 들기 때문이죠.

* 켄트 벡의 테스트 주도 개발에서 테스트 우선에 대한 상세한 설명을 읽으실 수 있습니다.

실용주의적 몸관리

Friday, June 4th, 2010

실용주의라는 말이 이 정부가 들어서고 나서, 상당히 광범위하게 사용된 탓에 그 의미가 상당히 퇴색한 듯합니다. 실용주의 정부라는 말이 있기 전에, 프로그래밍 세상에서는 실용주의 프로그래머라는 말이 있었죠. 앤드류 헌트, 데이비드 토머스가 쓴 실용주의 프로그래머라는 책에서, 실용주의라는 개념과 개념을 실천하는 방법들이 널리 퍼졌습니다.

동양 정치사상에서 나타나는 실용주의는 ‘있는 그대로의 사실(實事)에서 문제를 착안하고 그 바른 해결책을 찾는(求是) 것’을 의미한다. 서양, 특히 영미의 정치사상에서는 ‘문제에 대한 실험주의적 태도’(듀이)나 ‘최대 다수의 최대 행복을 추구하는 공리주의’(벤담)를 포괄하고 있다.

from 한계레21

전 실용주의라는 말을 참 좋아합니다. 지나치게 현실에만 집착한 나머지 이상을 도외시한다는 비판이 있을 수 있지만, 생활하는 데 실용주의만큼 좋은 건 없습니다. 앞의 인용문에 있듯이, 실용주의란 문제를 파악하고, 그 문제를 올바르게 해결할 수 있는 솔루션을 찾는 것이죠.

소프트웨어를 개발할 때, 개발자들이 대개 문서 작업을 싫어하는 데에서 설계문서나 요구사항 문서들이 제대로 만들어지지 않기도 하지만, 상세한 문서 작업이 제대로 된 소프트웨어를 만드는 데 그다지 도움을 주지 않기 때문에 문서 작업에 소홀해지기도 합니다. 이런 상태에서 문서 작업이란 실용주의 관점에서 볼 때,부질 없는 짓이죠.

하지만 소프트웨어를 만드는 조직에서 소프트웨어 개발 프로세스상에 있는 문제를 분석해 보니, 문서 작업이 부실한 데에서 그 원인을 찾게 되었습니다. 그렇다면 이 문제를 해결하는 가장 좋은 방법은, 아마도 문서 작업을 제대로 하는 것이겠죠. 즉 어떤 경우에는 별 도움이 안 되는 문서 작업이, 이 경우에는 실용주의 관점에서 의미 있는 해결책입니다.

약 1년 전부터 무거운 것을 들면 오른쪽 팔목이 아팠습니다. 처음에는 며칠 가다가 말겠지 하는 생각에 별다른 조치를 취하지 않고 지냈습니다. 하지만 팔목이 낫고 나서 무거운 것을 들면, 다시 아프기 시작했습니다. 그렇게 아프다 낫다를 반복하고 나면서, 아픈 기간과 통증의 세기가 점점 커졌습니다. 뒤늦게 한의원에 가서 침을 맞고 정형외과에 가서 물리 치료를 받아도 그때 뿐이더군요. 결국 의사 선생님은 낫고 나서 천천히 시간을 두고 오른쪽 팔목의 근력을 키우라는 해법을 제시하였습니다.

인터넷에서 재활 치료라는 키워드로 검색을 하다가 재미있는 책을 발견했는데요. 코어 퍼포먼스라는 책입니다. 이 책에서 말하는 것은 이렇습니다. 코어 퍼포먼스란 근육의 크기를 늘리는 데 목적이 있는 게 아니라, 어깨, 허리, 골반, 엉덩이로 이어지는 몸통을 X자형으로 단단하게 묶어주려고, 척추를 둘러싼 작은 근육을 옹골차게 단련하는 데 그 목적이 있다고 합니다. 즉 작은 근육을 키우고 유연성과 탄력성을 전체적으로 향상시켜서 부상이나 노화를 막아준다고 하는군요.

보통 초보자들이 헬스 클럽에서 하는 것은, 기구를 활용한 운동이죠. 그렇기에 이두근, 삼두근처럼 눈에 잘 보이고 큰 근육을 키우게 됩니다. 하지만 우리가 남에게 보이기 위해서 그런 근육을 키우는 게, 사실 건강하고 에너지 넘치는 삶을 사는 데 큰 도움이 되지 않죠. 반대로 몸의 한 부분만을 과도하게 키우면 몸의 균형을 깨트려서 차라리 운동을 하지 않는 게 더 나을 수 있습니다.

게으른 탓도 있지만, 제가 헬스 클럽을 오래 다니지 못한 것은, 먹고 사는 관점에서 보자면 별 도움이 되지 않기 때문입니다. 즉 제 삶의 철학 가운데 하나인, 실용주의 관점에서 헬스 클럽은 적절한 솔루션이 아니었습니다. 물론 헬스 클럽에 가서 벤치 프레스도 하고 스쿼트도 하고 데드리프트도 할 수 있다면(그리고 이것들을 즐길 수 있다면), 헬스 클럽도 괜찮은 솔루션입니다. 하지만 저처럼 몸짱 만들기란 그냥 관념일뿐이고, 다른 사람에게 지나가는 말로 하는 ‘하고 싶은 것’이라면, 헬스 클럽은 괜찮은 솔루션이 아니죠.

그에 비하면 코어 포머먼스에서 말하는 운동법들은 조금만 무거운 것을 들면 쑤시는 오른쪽 팔목을 낫게 하는 실용주의적인 솔루션이 될 수 있겠죠. 이제 해법을 찾았으니 실천만이 남은 듯합니다.