달력

09

« 2010/09 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
얼마전 옥션에서 그란투스리모5를 구매를 했다.
나는 가난하기 때문에 신품보다 고작 5천원 싼 가격에 중고를 구입했다. (다음날 새벽 7시에 문자가 왔다.. 재고없어 주문취소했다고.. 덕분에 직접 TM가서 옥션보다 싼 가격에 구입했다.)
난 절대 플스3, 로지텍 드라이빙 포스 GT를 장만했다는걸 자랑하기 위해 이 글을 쓰는 건 아니다.

타이틀(플스에서 게임CD를 타이틀이라고 함)을 구매하기까지 옥션에 머무른 시간은 고작해서 3~5분..
근데 그동안 난 2번 황당한 경험을 했다.

우선 첫번째.
중요한 정보로 둔갑한 광고.
우측에 파랑색으로 테두리 친 영역을 보면 쪽지쿠폰소식이 왔다고 말한다.
쪽지 도착을 알리고, 쿠폰 도착을 알리는 것은.. Notification라고 할 수 있다.
그리고 이것을 우리나라말로 대충 의역하면 "알림" 혹은 "공지"라고도 할 수 있다.
문제는 이것이 공지사항이 아닌 광고라는 것이다.
왜이래? 한두번 당해봤어? 아마추어같이
라고  얘기할 지 모르겠지만, 잘못된것은 지적해야 한다.
도대체 광고가 왜 공지사항(중요정보)로 둔갑을 해야 하나?
나같이 젊고 웹 계열에 종사하는 사람이라면 저런 광고따위는 단번에 눈치를 채겠지만
그렇지 않으신 분들은 정말로 순수하게 "쪽지가 도착했다는 의미"로 받아들이시고 저 썩을 광고를 클릭하실 것이다.

여기서 엄청난 손실이 일어나게 된다.
자.. 그럼 한번 얼마나 많은 손실이 있는지 알아보자.

1. 시간의 손실
옥션 하루 방문자수를 5분 동안 검색해 봤는데.. 안타깝게도 그런 정보를 찾을 수 없다.
그래서 과거 해킹으로 노출된 회원수가 1,100만명이라는 것을 참고로 가정을 해보겠다.
옥션의 모든 회원이 노출된게 아니라고 알고 있는데 그렇다면 1,100만명보다 많았다는 것이다.
하지만 해킹사건도 있고... 해서 현재 회원을 대략 1,000만명이라고 가정하고..

하루동안 업자가 아닌 나 같은 순수 구매자들이 방문하는 것을 약 10%라고 가정하면 100만명
그 중에서 저런 낚시광고에 속으시는 분을 30%정도로 가정하면 30만명
사용자수를 뽑아냈으니, 이제 시간을 추정해보자.

시선이 광고로 이동하는 시간 + 뇌가 판단하는 시간 = 넉넉하게 0.5초라고 하자.
그리고 마우스가 이동 + 클릭하는 시간 = 1초라고 하자 (일반적으로 0.5초정도 걸리겠지만.. 저런 광고에 속으시는 분들은 대부분 컴퓨터(인터넷)에 익숙치 않으실거라는 판단)
클릭하면 새창이 열리는데 = 3초
새창에서 사이트가 열리는데 4초
다 합하면 = 0.5 + 1 + 3 + 4 = 8.5초라는 값이 나왔다.
생각보다 많이 나왔다고 판단하실 지 모르겠지만.. 안좋은 컴퓨터에서 한다면.. 10초 이상 걸릴 수도 있다.

자, 이제 사용자수와 시간이 나왔다.
옥션의 악의 뿌리 낚시 광고로 인해 300,000명의 유저가 하루에 8.5초씩 쓰잘대기 없는데에 억울하게 시간을 약탈당하는 것이다.
이 시간을 모두 합치면 2,550,000초라는 어마어마한 수가 나온다.
이걸 분으로 변환하면 42,500분이고
이것을 시간으로 변환하면 708.333 시간이다.
이것을 다시 일로 변환하면 29.51일이다.
약 한달 정도의 시간인 것이다.
물런 이것은 1000만이라는 회원수를 바탕으로 내 임의대로 추정해서 도출해낸 결과이므로 신빙성은 없다.

하지만, 소중한 내 시간이 약탈당하는것은 분명한 사실이다.

2. 비용의 손실
광고를 클릭하는 순간일어나는 일은
  1. 내 컴퓨터에서 서버로 "광고"페이지를 요청
  2. 서버에서 내 컴퓨터로 "광고"페이지를 전송
뭐 OSI 7Layers를 말하지 않더라도, 위 2가지 정도면 모두가 알고있는것이다.
자 그럼 실질적으로 소모되는 비용을 따져보자.
  1. 내 컴퓨터에서 서버로 "광고" 페이지를 요청
    1. 요청하면서 전기가 소모
      1. 내 컴퓨터
      2. 케이블 모뎀
      3. ISP 업체
    2. 요청하면서 인터넷망에 트래픽 발생
      1. 트래픽 == 돈이라고 할 수 있음. 즉 비용 발생
  2. 서버에서 내 컴퓨터로 "광고" 페이지를 전송
    1. 여기서 발생하는 비용을 포함시키기는것은 조금 애매해서 제외

물런, 발생하는 비용이 아주 적을 수 도 있다.
하지만 30만명치를 모으면 어떻게 될까?
역시나 엄청난 금액이 나올것이다.

이 금액 합쳐 매년 영양실조로 죽는 1억6천8백만 어린이에게 후원해주면?
(아프리카에서 모친으로부터 에이즈가 유전되는 태아 한명을 치료하는데 40원이 든다.)

그리고 이렇게 전기를 쓸모없는데 사용하는게 정말 싫다.
에너지 절약이 지구를 살리는 길중 하나이기 때문이다.

아.. 흥분해서 얘기가 삼천포로 빠졌네..
다시 맘을 가다듬고


마지막으로 두번째

과거의 경험을 가지고 소비자를 우롱하는 광고

예전에 옥션에서 물건을 구매하니, 할인 쿠폰을 발급해줬던 적이 있다.
이번에도 구매 완료 페이지에서 할인 쿠폰을 준다고 되어 있는데.. 광고였다.

내가 속게 되는 과정을 담은 Eye Tracking이다.





"쿠폰 받기"를 클릭하고 나서 보니.. 왠 광고페이지가 떴다.
황당했다. 더 생각할 것 도 없이 창을 닫고..
다시 옥션페이지로 돌아와보니..
할인쿠폰 위에 "AD 이벤트"라는 이미지를 볼 수 있었다.

이런 User Experience를 악용하여 광고하는것은.. 상도에 어긋나는것 아닌가?
이런건 해선 안되는 일이다.
광고 기획자가 이런걸 기획했다 하더라도, 서비스 기획자(디자이너 및 개발자 포함)가 적극 반대하고 막아야 하는거 아닌가?
옥션정도의 사이트라면 저딴 저질광고를 하지 않더라도 충분히 수입이 나는 회사 아닌가?
저딴 광고올릴려고 ebay가 인수해간건가?

이런 광고를 기획하는 사람들에게 한소리 하고싶다.
두세 시간 들여서 광고 페이지 하나 만드셔서 살림살이 나아지셨습니까?
광고를 볼 의사도 없는 사람들의 시간 8.5초씩 빼앗아 가셔서 생명연장의 꿈을 이루셨습니까?
도대체 왜 다른 사람의 소중한 시간을 빼앗아 가는 겁니까?
도대체 왜 다른 사람의 소중한 돈을 빼앗아 가는 겁니까?


난 "광고는 무조건 나쁘다"라고 말하는게 아니다.
저런 "상도에 어긋나는 썩은 UX를 가진 광고"따위가 맘에 안드는 것이다.
바로 사용자를 우롱하는 UX 말이다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim 기다림
2009/08/26 00:06

YDN 2회 간략한 후기 웹/프로그래밍2009/08/26 00:06

오늘(09년 8얼 25일) Yahoo! Korea에서 2번째 YDN이 있었습니다.

이번 YDN에서는 YUI 3YQL을 소개 하였는데, 이에 대해 간략한 후기를 적어보도록 하겠습니다.

참고로, 이 후기는
지극히 개인적인 경험을 기반으로
지극히 개인적인 의견을 덧붙이는 것입니다.



YUI 어려워요
과거 YUI를 가지고 개발을 하는것은 사실 어려웠었습니다. 
prototype.jsjQuery처럼 Core로 사용하기에는 복잡한 Relationships와 도움이 될만한 Reference가 적었기 때문이었죠.(제공하는 Reference는 Interface(Visual적인)에 대한 것들이 대부분이 었죠)
적어도 제가 YUI를 사용해볼려고 시도를 했을때는 그랬었습니다. 어쩌면 제가 못찾은걸 수 도 있겠죠 ;p

이젠 쉬워요
YUI 3에서는 Core로 사용하여도 어려움 없이 사용할 수 있도록 Name Space가 구성되었습니다. (어쩌면 YUI 2에서 지원되었던 것일 수도 있죠.) 우리가 흔히 사용하는 prototype.js, jQuery의 그것 처럼요.
이제는 YUI로 쉽게 Event Bind할 수 있고, 쉽게 DOM을 Select할 수 있으며, 쉽게 Animation Effect를 구현할 수 있어요.

가볍고, 빨라요
발표 내용중에 "가볍고, 빠르다" 라는 내용도 있었는데
사실 다른 Libraries와 비교해서 그렇게 딸리지 않는다
내부적으로 테스트했을땐 타 Libraries와 충분히 경쟁력이 있다
라고 하셨어요.(이 부분은 제가 못들었고 같이 있던 분이 이런 말을 했다고 제게 말씀해주셨습니다.)

Rails에서 쓰고 싶은데
제가 봤을땐 이제는 나름 쓸만해졌다라고 판단이 되어, Rails에서도 사용할 수 있는 Convertor가 있냐고 질문을 했었는데 "잘 모르겠다"고 하시더군요.(이 질문이 Jenny에게 전달 되기까지 힘들었습니다 ㅠ,.ㅠ)

진입장벽
우리가 익히 사용해왔던 Prototype.js, jQuery와는 틀린 Method Names를 가지고 있기 때문에 이것을 익히는데 시간이 소모될 듯 합니다. 하지만 과거처럼 어렵게 구성이 되어 있지 않아 쉽게 넘을 수 있을것 같습니다.
사실 이러한 진입장벽은 새로운것을 배울때 소모되는 지극히 당연한 기회비용이죠.

YUI에서는 축약식 Naming을 사용합니다.
예를들면 Drog&Drop기능을 "dd"로 선언하더군요.
이런류의 축약식 Naming은 양날의 검이죠. 코드를 짜는 사람의 입장에서는 쉽게 타이핑 할 수 있지만.. YUI를 잘 모르는 사람이 code를 보면 이게 무슨말인지 알 수 없으니 말입니다.
그리고 개인적으로 이런식의 Naming을 좋아하지 않습니다.

선입견을 버릴 수 있다면
"무겁다", "느리다", "어렵다" 이러한 YUI의 선입견만 버린다면
한번 사용해보는것도 나쁘지 않을 듯 합니다. (물런 실험정신 및 확인정신(사실인지)가 조금은 필요합니다. ;p)



YQL


오해
사실 저는 Pipes가 생긴게 ERD같아서 설계할때 사용하는 UML같은 것인줄 알았었습니다. 그런데 그런것이 전혀 아니더군요. Data Collector(?)이고(자세한 설명이 필요하신분은 @phphloveme님께 질문을!)
YQL은 Pipes의 개발자용 업그레이드 버전이라고 축약할 수 있겠습니다.

Query날려서 Web상에 있는 Data를!
SQL과 비슷한 문법으로 Query를 날려 Data를 Collect해오는 것이 YQL입니다.
Crawler를 만들거나 API를 통해서 Data를 Collect해오는것을 만드는것은 사실 귀찮은 일인데, Query만 날리면 바로 값을 Return해주죠.

오! 귀찮은 일을 줄여주었군!
저는 "와.. 이제 Crawler랑 API랑 통신하는 코드 안짜도 되겠다! 만세!!"라고 생각하며 기쁜마음으로 어느정도의 트래픽이나 규모를 감당할 수 있느냐고 질문을 했었는데
이건 Data가 어떻게 모이나?(혹은 보이나?) 정도로 사용할 수 있는 Prototype용으로 사용할 수 있는 서비스

라고 하시더군요. 어떤 질문자분께서 
사용해봤더니 하루에 4000K 트래픽밖에 허용이 안된다
라며 불만을 표하시기도 했었습니다.

재미는 있을 것 같은데, Prototype을 위한 서비스여서..
Prototype을 위한 서비스라 트래픽, 규모, 안정성 부분에 한계가 있어, YQL을 이용해서 서비스를 개발하기엔 무리가 있는것 같습니다.

결국은 내가 다 만들어야해
결국엔 Crawler나 API랑 통신하는 코드 다 짜야한다는 결론이 나옵니다.
이러한 결론을 도출하고 보니 YQL의 매력과 흥미가 사라지더군요.

추가
정진호님께서 제가 했던 YQL의 질문에 대한 답변을 정정해주셨습니다.
Pipes 와 YQL이 트래픽의 제한이 있지만
반드시 프로토타입 제작에만 사용되는 것은 아닙니다.

즉, YQL을 이용해 가져오는 데이터는
그 특성상 실시간 업데이트될 확률이 적습니다.
따라서 자체적으로 데이터를 일정 부분 캐싱하는 알고리즘을
이용하면 도움이 됩니다.

참고로 야후 본사쪽에서는 외부 파트너의 컨텐츠를
YQL로 가져와서 캐싱을 한 후에 실제 서비스에 이용하고 있습니다.

따라서 실시간 데이터 업데이트가 아닌
데이터의 수집/가공 영역에서 YQL을 사용해 보시기를 권해 드립니다.

오.. 그렇다면 저의 바람되로 귀찮은 일이 줄어드는 것이네요
물런 fallbacks를 마련해야겠죠?

효율과 한계는?
자 여기서 원래 할려고 했던 질문을 다시 정진호님께 해야 할 것 같네요.

1. 직접 Crawler나 API랑 통신하는 코드를 짜는데 시간을 들이고 안정적으로 Data를 Collect하는것 Vs YQL을 이용해서 빠르게 Collector를 만들지만, 속도와 안정성 측면에서는 모험을 해야 하는것
이 둘을 비교했을때 어떤것이 더 효율이 있을까요? (혹은 어느 수준까지는 YQL이 좋다)

2. YQL의 안정성이나 속도에 대한 통계수치가 나와 있는지 궁금합니다.

3. Query가 날라갔을때 그때 직접 Data를 Collect해오는것인지? 아니면 Cached Data를 가져오는 것인지도 궁금하구요



자.. 한줄요약

YUI 3는 쓸만해졌고, YQL은 재미있는 물건이지만 이걸가지고 뭔가 하기엔 무리가 있다. 재미있는 물건으로 잘만 활용한다면 기획자와 개발자에게 엄청 큰 도움(?)을 줄 것이지만, 안정성과 속도에서는 검증이 되었는지 잘 모르겠다.(이 부분은 정진호님께서 답변을 해주세요~ ㅎㅎ)


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim 기다림
2009/02/11 10:29

SUBVERSION CLIENT FOR THE MAC 웹/프로그래밍2009/02/11 10:29

쓸만한 맥(Mac)용 서브버전(SUBVERSION) 어플리케이션이 나왔네요.
VERSIONS

윈도우용 서브버전 어플리케이션인 Tortoise같이 GUI에 익숙해지신 분이 맥에서 서브버전을 사용하시고 싶으실때 사용하시면 좋을것 같네요.

커밋(Commit)과 업데이트(Update)만 할 경우에는 특별히GUI툴이 필요 없겠지만
로그를 보거나, 과거 리비전(REVISION)의 파일내용을 확인하거나, 복구하는 등 간단하지 않은 작업을 할때는 아주 편하게 사용할 수 있다는 장점이 있습니다.

제가 자주 애용하는 웹SVN(SUBVERSION)인 Beanstalk(제 모든 개인프로젝트는 Beanstalk 사용)을 만든 wildbit의 작품입니다.
VERSIONS 로고를 본 순간부터 Beanstalk 짝퉁인가? 라고 생각했었답니다. 근데 같은 회사였네요. 멋진 디자인센스(Design Sense) 인것 같습니다. ;)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim 기다림

배틀나이트 들어갔더니 이런......-_-

근데 이거 너무 개떡같이 만든거 아냐?
무엇때문에 그런건지 정보가 전혀 없자나..-_-
꼭 내가 전화걸어서 물어봐야 하니?
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim 기다림
어제 구글 크롬 때문에 온 블로그가 떠들썩했고,
저뿐만이 아닌 많은 개발자 및 관심자들이 V8에 상당한 매력과 흥미를 느꼇습니다.
이에 모질라에서 질투(?)를 느꼇는지 바로 TraceMonkey(이하 TM)과 V8을 비교를 해서 올렸네요.

어제까지만 해도 "세계 2차 브라우저 대전이 일어나겠구나" 라고 생각했는데..
저 포스팅을 보니 브라우저 전쟁도 전쟁이지만 "엔진의 전쟁(Engine War)"이라고 생각이 드네요.

엔진들만 조합하면 새로운 브라우저가 탄생하는 시대가 도래했으니 말이죠.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim 기다림