Flying Mate

'개발'에 해당되는 글 3건

  1. 2008/09/04 하루 4시간 근무 (6)
  2. 2008/02/24 짓궂은 이야기 (4)
  3. 2008/02/14 자바 개발자를 위한 레일스 (4)

하루 4시간 근무

소소하지 않은 일상 2008/09/04 22:17 by FlyingMate

투잡 생활을 두 달째 하고 있다. 하루 4시간은 레일스 개발자로, 하루 6시간은 레일스 창업자로. 이건 정말 흥미로운 체험이다. 4시간과 6시간의 경험을 간단하게 적어볼까. 일단 오늘은 4시간.

10시에 출근해 기획팀 개개인과 개발팀 개개인이 돌아가면서 자신들이 어제 한 일과 오늘 할 일을 브리핑한다. 자신이 할 일은 자신이 정하고 우선순위도 자신이 정한다. 개개인의 역할이 커지고 책임도 커진다.

다 함께 수정할 문서는 위키를 활용하고 기획문서 교환과 피드백은 지메일을 포럼 쓰레드처럼 활용한다. 개발팀은 신중한 작업에는 언제든 페어 프로그래밍을 하고 작업량이 많을 땐 인덱스카드에 테스크를 시간 단위로 분할해서 분담해 작업하고 SVN으로 통합한다.

레일스의 MVC는 커뮤니케이션에 유리하다. 커뮤니케이션에 유리하다는 말은 사고하는 것에도 유리하고 결국 개발하는 데도 유리해지니 다 같은 말이긴 한데, 대화를 하다보면 MVC이기 때문에 소통에 이익을 얻는다는 느낌을 받는다.

'그 코드는 컨트롤러에서 자주 쓰이니 모델로 빼는 것이 좋겠다', '그건 뷰에서 일단 테스트한 다음에 컨트롤러로 옮기자' 등 모델에서 할 작업인지 컨트롤러에서 할 작업인지 뷰에서 할 작업인지를 언급하는 것만으로도 내가 말하는 의도가 전달이 된다.

커밋을 할 때면 내가 수정한 파일이 무엇이고 어떤 내용의 작업이었는지 다른 개발자에게 간단하게 브리핑하고, 업데이트할 때 머지된 부분이 있으면 설명을 요청한다. Trac 등을 사용하면 더 정확한 파악이 가능하겠지만 커밋과 업데이트가 워낙 빈번해서 상대방의 코드를 봐야 할 정도로 큰 수정은 없어서 안 쓰고 있다.

페어는 상황에 따라 이 PC에서 할 때도 있고 저 PC에서 할 때도 있는데 두 PC의 개발 도구가 완전히 달라서(압타나 vs. VI) 극과극의 체험을 빈번하게 할 수 있다. 냉탕과 온탕을 왔다갔다 하는 기분? 페어의 가장 큰 장점은 타인의 습관을 관찰하고 학습할 수 있다는 것이다.

상대방의 코딩을 눈으로 따라가면서 의도를 파악하고 잘 파악되지 않는 부분은 질문을 하거나 다른 방식을 제안하기도 한다. 내가 코드를 작성할 때는 '이렇게 하려고 한다'는 의도를 설명하면서 상대방의 제안을 귀담아 듣고 해결책을 잘 모를 때는 힌트를 요청하기도 한다.

문제를 해결할 수 있는 방법이야 수없이 많지만 가장 좋은 방법을 찾기 보다는 합리적이고 괜찮은 꽤 많은 방법 중에 먼저 떠오른 방법을 택한다. 약간의 타협인데 최고의 코드 보다는 합리적인 수준의 코드와 빠른 속도를 따르자는 암묵적인 합의.

미래의 재사용성을 고려해 메서드를 많이 만들어내기 보다는 가급적 쉽고 단순하게 구현한 뒤 그 코드를 2번 이상 똑같이 반복해야 할 상황이 왔을 때야 메서드로 뽑는다. 모듈화는 코드 재사용을 쉽게 하고, 잘 설계되었다는 인상과 프로그래머로서의 뿌듯함을 주지만, 타인이 코드를 이해하는 데 시간을 많이 걸리게 한다.

언젠가 또 사용하게 될 것 같다고 생각해서 미리부터 설계에 머리를 싸매기 보다는 가장 중요한 기능을 가장 빨리 구현할 수 있는 방법으로 코드를 작성하고, 같은 코드를 여러 번 반복하고 앉아있다는 자각이 일고 나서야 점차 코드를 리팩토링해 나가는 게 좋다고 생각한다.

4시간은 번개같이 지나가지만, 4시간이 지나놓고 보면 만들어 놓은 결과물이 결코 작지 않다. 6명 정도의 작은 팀이고 고개만 돌리면 기획팀과 개발팀이 소통을 할 수 있다. 꼭 필요한 커뮤니케이션을 30분 이내로 하고 간식을 자주 먹는다(중요). 기획팀이든 개발팀이든 하루 동안 많은 일을 한다.

하루동안 내가 작업할 수 있는 시간이 8시간이라면 일단 마음이 느긋해진다. 음악을 듣고 웹툰을 본다. 누군가 강제하지 않는다면 30분 단위로 테스크를 분할하게 되지는 않을 것이다. 아마도 오전에 할 것, 오후에 할 것, 퇴근 전까지 할 것 정도로 나누겠지.

오전 2시간 오후 2시간 사이에 식사 시간이 한 시간 있기 때문에 체감되는 시간은 더 빠듯하다. 화장실 가거나 물 마시는 시간 이외엔 따로 쉬는 시간도 안 챙긴다. 바빠서가 아니라 쉬고 싶다는 생각을 할 틈이 없을 정도로 높은 집중력을 유지할 수 있는 짧은 시간이다.

오늘은 처음으로 초과근무를 해서 총 8시간을 앉아있었는데 5시간 째 이후로는 확실히 집중력이나 작업속도가 절반 이하로 떨어졌다. 일한다는 느낌 보다는 버틴다는 느낌이 들었다. 알찼던 하루가 도로 풀려버리는 듯한. 보통의 개발자들이 이런 느낌으로 일하겠지 싶었다. 다음 글엔 '6시간' 이야기.

TRACKBACK :: http://flyingmate.net/trackback/52 관련글 쓰기

  1. Subject: 성훈의 생각

    Tracked from quezina's me2DAY  삭제

    말할 수 없는 비밀. 보충제 끊고나서 운동 잘 안 되네. 은하수를 여행하는 히치하이커를 위한 안내서 2권. 스포어 육지로. 아샬님의 군더더기 없는 레일스 코드 보고 감탄. 두 개의 서비스. 월R 킹왕짱. 오랜만에 UI만 개발. 보라매공원으로 조깅하러. 리만 안습.

    2008/09/16 18:44

댓글을 달아 주세요

  1. niceThink  댓글주소  수정/삭제  댓글쓰기

    오! 4시간 근무라,.
    12시간씩 일하면 역시 업무 능률이 현저하게 떨어지는 게 맞네요..

    힘듭니다.

    2008/09/04 23:36
  2. 정의의소  댓글주소  수정/삭제  댓글쓰기

    바쁘고 열심히 생활하시는군요.. .잘 지내시죠? ^^

    2008/09/05 17:05
  3. 일렉트릭아이즈  댓글주소  수정/삭제  댓글쓰기

    좋은 글을 맛있게 잘 쓰시는 군요. 부러워요.
    또 저보다 젊으신데 저보다 더 바쁘고 알차게 지내시는 모습을 보면
    저 자신에 대한 위기감을 느끼기도 하네요.

    저의 팀도 오전에 한일과 할일을 회의하고 SVN으로 통합하고 , Trac도 활용해요.

    근무시간은 오전 9시 부터 저녁 6시까지 점심시간 빼고 8시간...

    4시 이후에는 정말 집중력이 떨어지는 건 사실이에요 ㅎ

    2008/10/17 17:35
    • FlyingMate  댓글주소  수정/삭제

      맛있다는 표현 감사드립니다.
      저 역시 제가 쓴 포장된 글들을 보고
      위기감을 느끼곤 합니다 ㅎ

      짧은 근무 시간은 분명 집중도를 유지해주지만
      팀과 소통하고 함께 호흡할 시간은
      분명 줄어들기 때문에 장단이 있는 것 같습니다.

      개발자들 입장에서는 기획자들 얼굴 덜 보는게
      마음이 더 편할 수 있지만
      전체 프로젝트의 관점에서 보자면
      소통할 타이밍이나 소통 채널(도구, 방식)에 대해
      더 많은 고민이 필요한 것 같아요.

      2008/10/19 15:22

짓궂은 이야기

소소하지 않은 일상 2008/02/24 22:26 by FlyingMate

최근에 개발 관련 글을 많이 적었다. 이 블로그 독자분들 중에서 개발 관련 글을 이해하지 못하는 분도 계실 것이다. 좀 짓궂긴 하지만 의도적인 구석도 있다. 내가 쓰는 글 중 꽤 많은 글들은, 몇 주 전 또는 며칠 전의 나 였다면 쓰지 못했을 글들이다. 즉 2월 첫째주의  FlyingMate였다면 전혀 이해하지 못했을 내용의 글들을 2월 셋째주의 FlyingMate는 마구 아는 채 하며 다루고 있다는 얘기다.

작년 3월부터 css책을 보기 시작했다. 3월 이후에 내가 어느 순서로 어느 분야의 책을 봤는지는 출판사와 주고 받은 메일을 통해 확인할 수 있다. 책을 보면서 발견한 오타를 정리해두었다가 메일로 보내거나 출판사 홈페이지에 오타 등록을 했고, 담당하시는 분이 검토 및 반영 내역을 메일로 답해주시는데 그 메일들을 보관하고 있었다.

발견한 오타를 꼬박꼬박 정리해서, 마치 마감 시한에 쫒기듯 부지런히 전송한 이유는 밝은 세상을 위해서도 아니고 다른 독자들의 편의를 위해서도 아닌 지극히 개인적인 계산 때문이다. 학습 진도를 체크해줄 사람이 필요했기 때문. 내가 얼마만큼 공부하고 있는지 누군가가 알고 있다는 사실만으로도 오늘 이 책을 공부해야 할 이유가 되더라.

물론 스타트업이라는 명확한 목표가 있었고 그것이 가장 큰 이유였지만 그건 매우 거시적이었고, 단계적이고 미시적이면서 심리적인 감시가 필요했었다. 출판사 담당자 분들은 나를 감시할 의도가 전혀 없었지만 감시란 것이 원래 받는 쪽의 느낌.

당시의 나에겐 프로그래밍을 한다는 것이, 성공할지 실패할지 알 수 없는 하나의 도전이였고, html 이외에는 만져본 적이 없는 내가 정말 스스로 웹개발을 해낼 수 있을지  어떻게 될지 나 스스로도 알 수 없으니 주변 사람들에게 같이하자고 권하기도 애매했었다. 좌절하던 시기였다. 물론 일시적인.

4월엔 황대산님의 레일스 입문서로 html 코딩이 아닌, 프로그래밍 언어라는 걸 처음 접하기 시작했고, 7월엔 에이콘 출판사에서 보내준 DOM 스크립트라는 책으로 자바스크립트를 처음 배우기 시작했다. 그 이후로 여러 권의 책을 봤고 꽤 많은 온라인 텍스트와 소스코드를 읽고 작성했다. 개발을 집중적으로 공부한 시기이지만, IT에 발을 담근 후 가장 많은 웹 서비스의 인터페이스와 비즈니스 구조를 벤치마킹한 시기이기도 하다.

처음엔 입문서에 의존했고, 중간과정으로 직접 만든 애플리케이션으로 서비스를 해봤으며 다시 활용서와 해외 블로그의 튜토리얼들에 잠시 기대었다가 지금은 오픈소스와 레일스 프레임워크의 코드를 직접 보면서 필요한 것만 검색하는 방식으로 학습하고 있다.

소스코드를 통해 학습하는 이야기를 좀더 해보면, 처음부터 너무 무거운 애플리케이션의 소스코드를 보다가 이해도 안 되고 지치기도 해서 다른 경량의 애플리케이션을 보면서 고개를 끄덕이고 그 지식을 바탕으로 다시 그 무거운 애플리케이션을 보면서 깨달음을 얻기도 했다. 소스코드를 똑같이 따라 타이핑하면서, 그것에 대한 이해나 의문점을 주석으로 정리하는 방식으로 자바스크립트와 레일스를 공부하고 있다.

처음 보는 코드는 30% 밖에 이해가 되지 않고, 같은 코드를 두 번째 받아 칠 때는 거의 이해하게 되며, 세 번째 따라 치면 외우겠다 싶을 정도가 된다(물론 과장해서).
이 과정은 내가 책을 읽는 방식과 완전히 동일하다고 볼 수 있다. 이제는 처음 보는 코드를 눈으로만 훑어도 어느 정도 이해할 수 있다. 물론 아직 배우는 단계이기 때문에 이런 과정을 지속해야겠지만 지금은 내가 정말 할 수 있을까에 대한 불안감도 없고 앞으로 어떻게 할 것이고 내가 어디까지 해낼 수 있을지 점점 명확해짐을 느낀다.

프로그래밍의 시작을 루비온레일스와 함께한 경우, 즉 유일하게 루비온레일스로만 프로그래밍을 해본 경우는 독특한 경험으로 분류된다. 레일스는 원래 개발자이던 사람들이 대안으로 선택하거나 쉼터로 여기는 분위기이지 컴퓨터 사이언스 전공자나 개발자 지망생이 첫 경험으로 선택하는 기술은 아니다. 미국에서는 대학에서 레일스를 가르치기도 하지만 우리나라는 레일스 프로젝트를 다루는 기업이 희귀하기 때문에 대학교육까지 바라는 것은 욕심이다.

그런데 내가 경험해서 증명한 바로는 레일스는 좋은 프로그래밍 입문 과정이다. (사실  '가장 좋은' 이라는 수식어를 붙였다가, 내가 경험해 본 것이 레일스밖에 없다는 것을 깨닫고 지웠다) 레일스를 만져본 다음에 디자인 패턴 책 보고 데이터 구조 책 보면 훨씬 이해하기 쉽다. 웹 애플리케이션을 만들어 배포해보는 데까지 이르는 거리도 짧다. 난 컴퓨터 과학부를 나름 자부심으로 내세우는 Y대에서 컴퓨터 과학을 2학년까지 배웠지만 레일스와 자바스크립트 가지고 몇 개월 공부한 것이 학습 효과가 훨씬 컸다.

작년 봄, 나에게 레일스를 너무 쉽게 가르쳐주신 황대산님을 직접 만나뵈어 이야기를 나누고 저자 싸인도 받았다. 황대산님의 책을 보면서, 레일스는 진정 개발의 대중화를 가져다 줄 것 같다고 생각했고 그 이야기를 대산님께 했더니 맞장구를 쳐 주셨다. 개발의 대중화라는 말은 기존에 디자이너였건 기획자였건 아무 것도 아니었건 개발을 배우려는 의지, 내 서비스를 만들어보고자 하는 의지만 있으면 누구나 쉽게 개발 능력을 갖게 해준다는 의미였다.

레일스는 정말 그럴 수 있다. 그런데 대산님의 책이 나온지 1년 가까이 지나가는데 여전히 레일스는, 원래 개발자라는 직업을 갖고 있던 사람들의 대안 기술로 남아 있다. 난 주변의 디자이너, 기획자, 또는 그냥 경영학 전공하는 친구에게도 레일스 책을 추천한다. 더불어 css책도. (이통사에 기획직으로 입사한 친구에겐 자바책을 추천했다)

내가 느끼기에, 새로운 서비스에 대한 열망은 개발자들이나 공학도들 보다는 기획자들 또는 경영학도들 사이에서 더 뜨겁다. 그들에게 총을 쥐어주는 것이다. 말로 떠들지 말고 직접 만들어보라는 것이다. 좋은 책 좋은 튜토리얼이 얼마나 많은데. 우리나라 스타트업의 부재는 개발능력을 갖춘 기획자의 부재가 원인일지 모른다.

이 블로그에 방문하시는 분들 가운데 프로그래밍을 전혀 모르는 분들은 이 책 한 권 장만하시기 바란다. 물론 이 책은 아주 기본적인 시작점이고 후속 전략을 지속적으로 세워야 한다. 프로그래밍이라는 것은 이전에 배워왔던 심리학이나 마케팅, 경영학, 수학, 인터페이스 기획, 프로젝트 관리 같은 것들과는 완전히 다른 사고방식, 다른 어휘체계를 갖기 때문에 깊이 들어갈수록 일시적으로 좌절할 수 있다. 하지만 이런 생소한 분야를 조금씩 이해하게 되면서, 학습에 대한 자신감이 생길 것이다.

그래서 나와 같은 호흡을 느끼며 개발 능력을 키워 나가고, 내가 요 며칠 써왔던 알 수 없는 글들이 점점 읽혀지면서, 참 별 것 아닌 내용이었다는 것을 깨닫게 되셨으면 좋겠다. 평생 기획자로 먹고 살 생각이었는데 이 블로그를 보고 개발
시작했다가 결국 사업에 손을 댔다는 이야기를 농담처럼 나눌 수 있게 되기를 바란다.

TRACKBACK :: http://flyingmate.net/trackback/42 관련글 쓰기

댓글을 달아 주세요

  1. Elegant Universe  댓글주소  수정/삭제  댓글쓰기

    좋은 글. 항상 잘 읽고 있습니다. 저 역시 같은 생각으로 프로그래밍 쪽에 본격적으로 손을 댄지 대략 3달 가까이 되었습니다. 처음 어느 애플리케이션의 코드를 보며, '언제쯤 나도 이런 것을 자유자재로 구현할 수 있는 실력을 갖추게 될까?' 라는 조급한 마음을 가지고 정신없이 달려와서 지금에 이르렀는데, 많은 능력과 자신감을 갖추게 되었습니다. 물론, 앞으로 알아야 할 것들이 매우 많지만,,, 저와 같은 길을 가고 있는 것 같아 자주 들려서 좋은 글 읽고 있습니다. 앞으로도 좋은 교훈 들려주시길 바랍니다.^^

    2008/02/25 03:43
    • FlyingMate  댓글주소  수정/삭제

      예전에 덧글을 남겨주셨을 때, Elegant Universe에 대해 검색해 봤더니, 초끈이론 등을 다룬 물리학 서적이더군요. 물리학과 천문학도 공부해보고 싶은 분야인데, 깊이 들어갈수록 철학적인 향기가 나서 매력적인 것 같습니다.

      비슷한 비전을 보고 나아가고 있다면 언젠간 분명 만나뵙게 될 날이 올 거라 생각합니다. 공감의 덧글 남겨주셔서 감사드리고, 제 스스로가 성공하기를 바라는 만큼, Elegant Universe님의 성공도 기원해드리겠습니다.

      2008/02/25 19:46
  2. HJazz  댓글주소  수정/삭제  댓글쓰기

    컥...대단하시군요...
    근데 옛날에 언젠가 Prototype.js 소스코드를 직접 분석하신다는 얘기도 들었던 것 같은데 ^^;

    2008/05/19 01:18
    • FlyingMate  댓글주소  수정/삭제

      분석이라고 하면 너무 거창하고
      prototype.js의 코드를 읽고 모방해보면서
      자바스크립트 자체에 대해 이해하기도 하고
      객체 지향 자바스크립트에 익숙해지기도 하고 그랬죠^^;;
      그 때 한창 자바스크립트 공부하던 때였네요.
      지금은 다행히 많이 익숙해졋습니다~

      2008/05/19 20:11


예약 주문한 자바 개발자를 위한 레일스가 오늘 오전에 도착했다. 험블 프로그래머님의 번역 신공의 결과물로써 발렌타인 데이인 오늘, 초콜릿을 대신하여 많은 남성 개발자들의 가슴을 달콤하게 녹여줄 것으로 기대한다.

난 저자 소개, 저자 서문, 역자 서문, 그리고 추천사까지, 책의 차례보다 먼저 오는 부분을 항상 빠짐없이 읽는다. 대게는 이 책을 왜 읽어야 하는지에 대한 당위성과 이 책이 다루는 기술의 장점 등을 가볍게 요약하고 있어서 가볍게 읽어보면 좋다. 그런데 험블님의 역자 서문은 한 편의 칼럼이라고 생각될 정도로 깊이가 느껴진다.

'읽기 전과 읽은 후의 자신이 다르지 않으면 책을 헛읽은 것과 다름이 없다' 라는 말이 있더군요

이런 인용으로 시작하는 서문은, 지식근로자로서 개발자의 위상과 그들의 지적 능력 향상이 어떤 의미가 있는지를 언급하고, 마지막엔 번역과 반역 사이의 타협점을 어느 지점으로 잡았는지 그래서 이 책이 왜 이런 독특한(?) 형태로 나오게 되었는지에 대한 고백이 담겨있다.

내가 느끼는 지식근로자라는 단어는 정말 무거운 어휘이다. 컴퓨터 앞에서 일하는 사무직 근로자를 통째로 지식근로자라고 부르기엔 많이 아깝다. 타계한 피터드러커는 지식근로자의 정의와 그로 인한 경영 및 경쟁 환경의 변화에 대해 자신의 저서에서 지속적으로 강조하였다. 지식근로자라는 말의 이런 무게감이 험블님의 서문에는 충분히 담겨있는 것 같다.

사용자 삽입 이미지

자바 개발자를 위한 레일스


이 책의 제목은 '자바 개발자를 위한 레일스'이지만, 난 이 책을 '레일스 개발자를 위한 자바'로 읽어야겠다는 생각으로 구매했다. 물론 이 책의 타겟은 자바 개발자이고 그들이 보는 것이 훨씬 유익하리라 생각하지만, 자바를 구경만 해봤고 집중해서 배운 언어는 루비와 레일스밖에 없는 나 같은 경우도 자바와 레일스의 차이점을 보면서 자바를 그리고 레일스를 더 잘 이해할 수 있을 거라 기대했다.

메서드와 객체 정의, 제어문, 그리고 프레임워크의 구석구석에 대해 자바와 루비/레일스가 어떤 차이를 보이는지 코드를 비교해가면서 보여준다. 이 책의 타겟(자바 개발자)들은 루비 쪽을 자세히 볼 것이고, 난 초반에는 자바쪽을 자세히 보았지만 점점 루비/레일스 부분을 자세히 보게되고 자바 쪽은 궁금증을 채우는 정도로 활용하게 되었다. 이런! 루비와 레일스를 이해하기 위해 자바 코드를 같이 보는 것이 정말 도움이 된다. 이 책은 아마도 모든 개발자를 위한 책이다.

게다가 자바 부분을 아예 떼어놓고 루비와 레일스 부분만 보더라도 충분히 가치를 하는 책이다. 물론 그러다보니 다루는 내용 자체에서는 기존에 번역된 루비와 레일스 관련 서적과 부분적으로 겹칠 수 있다. 그렇다 하더라도 다루는 관점 자체가 다르고 겹치는 부분보단 그렇지 않은 부분이 훨씬 많으며 번역 과정에서 삽입된 루비 1.9와 레일스 2.0의 변경점들을 책의 흐름 안의 적합한 지점에서 다루어 주었다는 점도 좋다.

나의 경우는 최근에 계속 레일스의 edge(2.0.2버전)을 다루고 있었고, 조만간에 루비 1.9가 레일스의 베이스로 깔릴 것이기 때문에 1.9에서 주요 객체 메서드들의 동작방식이 어떻게 변하고 어떤 메서드가 추가되는지 적절한 문맥 안에서 설명해주는 것이 유용했고 앞으로도 유용할 것 같다. (아직 책의 1/4 밖에 보지 못했다)

레일스를 다루기 전에 루비와 자바의 차이를 중점적으로 다루는 부분을 100페이지 가량 보다가 마음이 급해져서 험블님이 부록에 추가하신 JRuby 설치와 활용에 대한 글과 deepblue님이 작성하신 REST 중심 개발에 대한 글을 먼저 보게 되었는데, deepblue님은 워낙 리소스 중심 개발을 추구하는 분이시고 그와 관련된 이야기도 많이 해오신지라 내용이 반갑고 익숙했다.

deepblue님이 소스코드 일독을 추천하셨던 Beast의 코드를 살펴보면서, 처음에 login과 signup이 어느 컨트롤러에 있는지 조금 헤맸던 기억이 난다. 그리고 sessions_controller가 뭐하는 물건인지 코드를 보기 전까지는 알지 못했었다. 사상의 충격이랄까, login은 sessions_controller의 create 액션을 향해 라우팅되어 있었고, singup은 users_controller의 create로 라우팅되어 있었다. 물론 logout은 sessions_controller의 destroy로.

이런 구조로 사고하는 것은 충분히 가능하고 충분히 즐겁지만 기우가 조금 생겼는데, 제작자의 사고방식과 사용자의 사고방식이 괴리될 수 있다는 우려이다. signup이나 login이라는 것은 오프라인에서 고객이 계약이나 등록을 하고 본인 확인 절차를 거쳤던 관습을 애플리케이션에서 개념적으로 모사한 것인데, 리소스 중심으로 사고할수록 그런 부분들을 사용자의 사고방식과 다르게 생각해야 한다.

이런 계정관리 뿐만 아니라 애플리케이션 인터페이스의 많은 부분은 오프라인의 관습 또는 습관을 추상적이고 개념적으로 차용해왔고, 그것이 또 온라인상의 관습으로 굳어져 사용자들은 그것에 익숙하기 때문에 이런 불일치가 지속되는 한 개발자는 머릿속에 두 개의 자아를 가지고 있어야 한다. 사용자로서의 자아와 설계자로서의 자아.

음악이나 동영상 플레이어에서 정지, 재생 버튼이 화면에 표시되는 것도 디바이스 버튼들의 모사의 결과물이고 이를 리소스로 생각하면 데이터 스트림을 생성하고 소멸하며 다른 기능 역시 사용자가 버튼을 누를 때의 사고방식과 다르게 설계를 하게 될 것이다. 기획자가 그 동안 중도자적 역할을 해왔지만 사실 그것은 근본적인 해결책은 아니라고 생각하는 1인이기 때문에..


로그인을 세션이라는 리소스 중심으로 처리한 Beast도 login이라는 링크 이름을 사용해 sessions/create로 은밀히 라우팅 처리를 해줘야 했다. 물론 그래서 그게 안 좋다는 이야기는 아니고 개발자가 자신의 다중인격적인 사고방식을 좀더 강화해야겠다는 생각이 들었다. '로그인' 버튼 대신 '세션 생성' 버튼을 달 정도만 아니면 되지 않겠는가. 사실 설계와 사용을 같이 고려해주는 게 그렇게 어려운 일도 아니다. 위에서 말한 것은 역시 기우이고 나 역시 REST를 좋아한다.

험블님을 직접 만나뵌 적은 없지만 블로그에 작성하시는 통찰력 있는 글이나 미투데이에 올리시는 진지한 문체의 문장 하나하나만 봐도, 매일 스스로를 개선해 나가시고 매일 뭔가를 배워나가는 분이라는 느낌이 들었다. 이 책을 읽다가 문득 깨달은 것은 이 책이 경어체로 되어 있다는 사실이었다.

평소에 블로그에도 경어체로 글을 올리시기 때문에 역자 서문의 글이 경어체라는 것도 너무 자연스러워 미처 눈치채지 못했고 그렇게 자연스럽게 책의 끝까지 경어로 되어있었다. 영어는 경어의 구분이 없기 때문에 영문 원서를 경어체로 번역하는 것은 역자의 선택이다. 혹시나 해서 이 출판사다른 책들을 펼쳐봤는데 경어체로 되어 있는 책은 이 책이 유일한 듯 하다.

이 책의 내용 뿐만 아니라 서문과 부록 그리고 책의 곳곳에 드러난 험블 프로그래머님의 생각 하나하나가 더 많은 가르침을 주는 듯 하다. 그리고 아마도 이렇게 친절하고 상세한 역자 주석을 볼 수 있는 책도 흔하지 않을 것이다. 험블하시지만 실력은 절대 험블하지 않은 초고수님의 책 초강추. 

TRACKBACK :: http://flyingmate.net/trackback/39 관련글 쓰기

댓글을 달아 주세요

  1. neos  댓글주소  수정/삭제  댓글쓰기

    저두 주문해서 내일 받아볼 수 있을 거 같은데 FlyingMate님의 글을 보니 읽어보기도 전에 구매 잘 했다는 생각이 듭니다. 벌써 내일이 기다려지네요.

    2008/02/14 21:02
    • FlyingMate  댓글주소  수정/삭제

      구매 후 배송을 기다리며 미리 뿌듯해하는 기분,
      책을 주문할 때마다 저도 자주 그런 기분을 느낍니다.
      neos님도 즐겁게 읽으셨으면 좋겠습니다.

      2008/02/15 18:29
  2. 험블  댓글주소  수정/삭제  댓글쓰기

    부족한 작업물 좋게 보아주셔서 정말 감사합니다. 극찬해주신것에 몸둘바를 모르겠네요^^;
    리소스 중심 사고관에서, 개발자가 여러관점에서 바라볼줄 알아야한다는 말씀에 깊이 공감합니다. 결국 리소스가 유기적으로 구조화되고 연결되는 것이 중요하다지면, 사용자에게 그것을 강제할 필요도 없을뿐더러, 서비스적인 측면에서 잘 녹여낼 줄 아는 능력이 점차 중요해지는것이겠구나라는 생각을 글을 통해 얻을 수 있었습니다.
    비스켓님 블로그의 좋은 글들을 통해 항상 많이 배우고 있습니다. 앞으로도 깊이있는 시야와 가르침들 많이 공유해주시길 부탁드리겠습니다 ^^

    2008/02/15 12:14
    • FlyingMate  댓글주소  수정/삭제

      좋은 책을 더 좋은 책으로 번역해 주셔서
      읽는 저야말로 훨씬 감사드립니다.
      거기다가 저의 글에 칭찬과 공감까지 해주시고^^
      앞으로도 험블님의 블로그에서 많은 지식과 관점들
      얻어 가겠습니다!

      2008/02/15 18:34

1 
Flying Mate

공지사항

카테고리

분류 전체보기 (45)
소소하지 않은 일상 (45)

믹시