2008년 3월 27일 목요일

"내비게이션 3D 지도 업데이트 유료화"에 대한 딴지걸기

네이버에 "내비게이션 3D지도 업데이트 유료화"라는 기사가 올라왔더군요.

글의 본문 중에 업체측의 다음과 같은 주장이 실렸습니다.

한 내비업계 관계자는 “지도 업데이트를 무료로 해주는 것은 우리나라가 유일하다”고 입을 뗐다. 미국은 차량에 장착된 내비게이션 지도를 업데이트 하려면 1회에 150불 안팎의 비용을 내야한다. 우리나라보다 물가수준이 낮은 중국도 5만원 가량 비용을 청구하는데 그동안 우리나라 내비게이션 업계의 무료 정책이 오히려 기형적이었다는 것이다.

내비게이션 업데이트 비용이 청구되어야 하는 것은 맞다고 생각합니다만...

  • 중국이 대한민국보다 약 90배 정도 더 크다는 것을 감안한다면,
  • 미국이 중국보다 약간 작다는 것을 감안한다면..

5만원 나누기 90은 555원 정도 나오네요. 무료 정책이 기형이었다기 보다는 이 정도 비용을 포기하고서라도 내비게이션 장비를 팔아서 수익을 내겠다는 업체측의 정책이었지 않나요?
 
과연, 어느 정도의 비용을 책정할 지는 모르겠지만... 지켜봐야 할 것 같습니다.

기사출처: 네이버의 내비게이션 3D지도 업데이트 유료화, 원 출처는 전자신문

P.S. 차도 없는 사람이 괜한 딴지를 거는지도 ^^;;;;;


2008년 3월 24일 월요일

김광민 님의 아름다운 사람(Beautiful Luv) 이라는 곡을 아시나요?

피아니스트 김광민 님의 음악을 처음 접했던게 군대 고참(누구인지는 기억도 안나네요.. -_-;;)의 추천으로 들었었는데요. 그 당시에는 CD가 귀했던 시절이라서 테이프 사서 워크맨으로 몇 번이나 반복해서 듣곤 했었는데...

오랜만에 그 음악을 다시 듣게 되었습니다.
이미 기억 속에서는 희미해졌던 그 음악이 가슴속의 떨림으로 전해지는 것 같네요.

사용자 삽입 이미지
2집 - Shadow Of The Moon에 수록되어 있는 Beautiful Luv(아름다운 사람) 한 번 들어보세요.
오늘같이 추운 밤에 조용히 들으면 특히 좋와요~

앨범 이미지 출처: 싸이월드 뮤직

P.S> 도토리가 남은게 있어서 싸이월드에 올려놨습니다.

2008년 3월 21일 금요일

Lotte.com 쇼핑몰 -_-;;

Lotte.com 쇼핑몰에서 오랜만에(?) 지를려고 했는데 ActiveX 설치 무한 반복되네요.
PSMKorea라는 곳의 ActiveX 설치하라고 나오면서 팝업이 뜨는데 확인을 누르면 다시 반복 반복 반복..


사용자 삽입 이미지
만든 사람(PSMKorea 소속이겠죠?)은 아마도.. PSMKorea 라는 곳을 인증된 사이트로 인식하고 만들었겠죠?
역시 테스트는 100% 독립된 깨끗한 환경을 갖춰야 합니다. ;;;;


2008년 3월 20일 목요일

물 산업?

LGERI 리포트, 유호현 선임연구원의 '물 비즈니스 성공의 핵심 포인트'라는 글을 재미있게 읽고 요약한  글입니다. 다 읽는데 한 20분 정도 밖에 안걸리네요. 추천합니다 ^^
사용자 삽입 이미지

이미지는 두산 중공업 담수화 산업 소개 이미지를 가져왔습니다.


 1. 물 산업이란?
물을 이용한 산업으로 해수담수화 산업, 상하수도와 같은 수자원 인프라를 제공하는 산업을 의미합니다.

 2. 물 산업이 필요한 이유는?
공급 - 담수는 전체 물의 2.5%에 불구하며 빙하를 제외하면 0.8% 밖에 안됩니다. 여기에 지구 온난화로 인한 가뭄현상으로 지하수 고갈, 사막화 현상으로 물이 부족해지고 있으며 도시화, 산업화 하수 재처리 시설의 미비로 수질 오염 문제가 심각해지고 있습니다.

수요 - 인구가 매년 8,000만씩 증가하고 경제발전에 따른 육식(고기를 생산하기 위해서는 더 많은 물의 소비가 필요)의 증가 산업용 용수의 증가

 3. 물 산업의 모델은?
시설물 일체를 제공(시설 설치)하고 장기간 운영하면서 투자금을 회수하는 모델입니다. 이를 위해서는 장기 부채 조달 능력과 프로젝트 파이낸싱 능력이 필요합니다. 또한 국민의 건강과 직결되는 문제이므로 안정적으로 가공하는 역량과 발주 주체가 국가 단위이므로 현지화된 접근이 필요합니다.

 4. 물 산업의 기술은?
물 산업의 기술 패러다임은 세 가지로 나눌 수 있습니다.
  1. 생화학 처리방식 - 고농도 폐수가 쉽게 정화안됨
  2. 분리막 방식 - 막을 통해 정제하는 방식으로 역삼투압(RO -Reverse Osmotic), 마이크로필터(MF), 울트라 필터(UF), 나노필터(NF) 딩이 존재
  3. 자외선 살균 방식(UV) - 생화학 방식보다 살균효과가 높고 유지 관리 비용이 낮은 장점
분야별 기술을 적용을 살펴보면
  1. 담수 - 끓이는 방식(Thermal) + 역삼투압 방식(RO필터)
  2. 상수 - 생화학 기술 + 자외선 살균처리(UV)
  3. 도시지역 - 마이크로필터(MF)
  4. 중동지역 - 나노필터(NF) + 역삼투압(RO)
  5. 하수 - 생화학 기술 + 필터
  6. 산업 - 울트라필터(UF) + 나노필터(NF)
 5. 관련 기업은?
프랑스의 Veolia, Suez, 미국의 GE, Nalco, Dow Chemical, Danaher, 독일의 Siemens, 일본의 Nitto Denko, Kurita Water, 싱가포르의 Hyflux

이러한 기업들은 수처리 제조, 설치, 시스템 운영을 모두 제공하거나 제조 및 설치를 엮는 등의 사업 영역 확대를 통해 통합 솔루션을 제공하고 있습니다.

출처: LGERI 리포트 - 물 비즈니스 성공의 핵심 포인트
이미지 출처: 두산 중공업

P.S> 이제 두산중공업 주식만 사면 되겠군요 ㅎㅎ;;;

2008년 3월 19일 수요일

'조언을 한다'에 포함된 말

가르친다는 말에는 배운다의 의미도 포함되어 있습니다.
조언을 한다에도 조언을 받는다라는 의미가 포함되어 있습니다.
 
사용자 삽입 이미지

친구와 퇴근하면서 여러가지 조언을 해줬는데 반대로 자신의 모습을 반성하게 되네요. ㅠㅠ

P.S> 조언을 한다 == 반성을 한다 일수도;;;;


prototype.js, HTMLElement에 method를 추가하기

Firefox에서 prototype.js를 사용하게 되면 prototype의 Element.Methods와 Element.Methods.Simultated 정의되어 있는 method와 property가 HTMLElement.property에 추가되게 됩니다.
  if (F.ElementExtensions) {
    // copy(source, destination)
    copy(Element.Methods, HTMLElement.prototype);
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);
  }
이렇게 추가되게 되면, 다음의 효과를 얻습니다. HTMLElement를 생성할 때, Element.Methods에 정의되어 있는 메소드를 그대로 상속받게 되는거죠. 예를 들면 element를 생성만 했슴에도 Element.Methods에 정의되어 있는 getDimension()에 접근이 가능하게 되는거죠.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="prototype_v1511.js"></script>
    <title>Insert title here</title>
</head>
<body
  onload="var divElm = document.createElement('div');
    alert(divElm.getDimensions);">
</body>
</html>
그러나, IE에서는 HTMLElement 인터페이스(정확히는 HTMLElement 인터페이스를 구현한 Object)에 어떠한 메소드나 프로퍼티 추가를 허락하지 않습니다. 그렇기 때문에 IE에서 위의 코드를 실행하게 되면 동작을 하지 않습니다.
사용자 삽입 이미지

그렇기 때문에, IE에서는 element를 생성할 때, $()로 한 번 감싸주거나 Element.extend를 한 번 더 호출해서 prototype.js의 Element 기능을 추가합니다.

출처: How Prototype extends the DOM

P.S >
다른 분과 IE에서 HTMLElement.prototype 에 접근이 안된다는 얘기를 했더니 그럴리가 없다는 얘기를 하시면서 new로 생성이 안되어서 그렇다는 의견을 얘기한 적이 있었습니다. 그 당시에 실험을 해보고 글로는 안 썼었는데 정리하는 차원에서 추가합니다.

IE에서 몇 가지 실험을 해보면,
alert(HTMLElement);
// HTMLElement 가 정의되어 있지 않다고 에러가 발생합니다. (Element 동일)
즉, HTMLElement에 접근할 수 조차 없게 되겠죠. 그러나, new로 생성하지 못하기 때문에 new가 원인이 된다는 확인해보지 못했었는데요. 곰곰히 생각하다보니 IE에서 img 태그의 경우 new Image()로 생성할 수 있다는 게 생각이 나더군요. 그러나, 역시 Image의 경우에도 prototype에 접근할 수 없었습니다.
alert(Image);  // Object가 뜹니다.
alert(Image.prototype);  // undefined가 나오네요.
결론은 IE에서는 HTMLElement나 Tag에 직접접근할 수 없다고 보는게 맞다고 생각이 됩니다.

2008년 3월 18일 화요일

수원 화성..

친구하고 수원 화성에 관해서 얘기를 하다 '세계 최초로 지어진 계획도시'라는 얘기가 나왔습니다.
TV 프로그램에서 나왔다고 하는데요. 수원 화성이 뛰어나긴 하지만 훨씬 이전에 로마에서 도시를 건축하는 방법이나 당나라 때의 장안 등등등 많은 도시들이 계획 도시로 만들어졌는데.. 하는 생각이 들더군요.

네이버에서 검색해보니 다음의 내용이 나오네요.
(그냥 생각해보기에는 정조가 과연 신도시 개념으로 수원을 지었는 지는 모르겠네요.  건축실명제의 경우에도.. 다른 건축물에도 실명이 남겨져 있는 경우도 있지 않은가요?  뭐.. 반박할 근거는 없습니다.  -_-;;;)
사용자 삽입 이미지

다만, 유네스코에서는 수원 화성을 세계 문화 유산 목록에 추가했을 때 세계 최초의 신도시, 건축실명제 때문에 추가하지는 않았군요.

Justification for Inscription

The Committee decided to inscribe this property on the basis of criteria (ii) and (iii), considering that the Hwasong Fortress is an outstanding example of early modern military architecture, incorporating the most highly developed features of that science from both east and west.

등록기준 : 세계문화유산기준 (Ⅱ), (Ⅲ)

(Ⅱ) 일정한 시간에 걸쳐 혹은 세계의 한 문화권내에서 건축, 기념물조각, 정원 및 조경디자인, 관련예술 또는 인간정주 등의 결과로서 일어난 발전사항들에 상당한 영향력을 행사한유산
(Ⅲ) 독특하거나 지극히 희귀하거나 혹은 아주 오래된 유산

주저리주저리 썼지만.. 하고 싶은 말 == 세계 최초 너무 좋와하지 말자!!

출처:

2008년 3월 12일 수요일

드디어 집을 구했습니다.

가락시장 -> 문정 -> 장지 -> 복정 을 거쳐서 드디어 서울을 넘어서 '산성'역에 전세를 구했습니다.
복정은 지나쳤지만, 가락시장 부터 장지 역까지는 부동산에 일일이 들려서 집이 있나 확인했습니다만.. 역시 서울은 너무 비싸군요. 그렇다고 성남이 싸지도 않더군요;;;

사용자 삽입 이미지

언덕(산이죠~)이기는 하지만, 3천에 방 두개(같이 살 사람도 없지만) 있는 방을 구해서 한 숨 놓았습니다.
(회사는 어떻게 출근할 지는 전혀 신경 안썼네요. ㅠㅠ 휴~)

이제 남은 것은 대출받고 이사하고 2년 동안 대출 갚고 2년 후에 남쪽으로 더 이사가는 것(?)만 남았네요. 휴~
전월세 이제 그만 오르면 좋겠건만....

2008년 3월 11일 화요일

집 구하러 다니는 중입니다.

이사온 지 2년이 되어 집을 옮기려고 이곳저곳 기웃거리는 중입니다.
몇 주째 돌아다니고 있는데 대부분의 집이 보증금 얼마에 월세 3,40이 넘어가네요. 30이 그나마 양호한 편이고 35~40이 보통이라니... -_-;;

부동산에 들어가서 보증금 1500에 월세 10~15 찾는다고 하니까 대뜸하는 얘기가 보증금 500에 월세 30이 최하라고 하면서 보증금 1000 더 붙여봐야 돈으로 치지도 않는다고 하더군요. 옆자리에서는 7억짜리 집을 사느니마느니 하는데 월세 방이 눈에 들어올리 있을리가 없죠.

주말동안 발품 판 결과 한 부동산에서 자기만 믿으라면서 1500에 10만원짜리 방 구해주겠다고 뻥뻥 큰소리 치더니 어제 한다는 얘기가 주인집에서 500에 20아니면 안된다고 했다는군요. 그런데.. 그걸 왜 전화도 안해주고 있다가 부동산 찾아가니까 그제서야 얘기를 해주는지...

살기 참 힘드네요 휴...
사용자 삽입 이미지


이제는 경기도민이 되어야 할 시간? ~

2008년 3월 10일 월요일

DOM을 구현한다는 표현은 반드시 binding이 되어야 할까요?

DOM 문서에는 OMG IDL로 정의되어 있는 인터페이스를 Java와 JavaScript로 바인딩하는 Appendix가 존재합니다. 그러나, 해당 내용을 소개하는 부분 바로 아래 쪽에 다음과 같은 문구가 존재합니다.

Note: OMG IDL is used only as a language-independent and implementation-neutral way to specify interfaces. Various other IDLs could have been used ([COM], [JavaIDL], [MIDL], ...). In general, IDLs are designed for specific computing environments. The Document Object Model can be implemented in any computing environment, and does not require the object binding runtimes generally associated with such IDLs.

DOM 모델은 IDL을 사용하여 binding으로 구현할 수도 있지만, 어떠한 컴퓨터 환경에서 DOM을 구현할 수 있다고 언급이 되어 있습니다. 그렇다면 DOM 문서를 한 번 들여다 보겠습니다. 모님이 주장하셨던 바에 따르면 DOM의 문서는 모두 implemented가 아니라 binding으로 되어야 하겠죠.

사용자 삽입 이미지

그러나, 위의 문서를 보시면 아시겠지만 implementation이라는 구현이라는 표현을 썼습니다. DOM 문서가 잘못된 걸까요?

출처: What is the Document Object Model?

P.S.1
DOM에서 제공하는 idl은 결국 인터페이스만 주기 때문에 Java로 binding하던 ECMAScript로 bindnig하던 브라우져 입장에서는 idl이 제공하는 인터페이스를 구현(Java로 보면 클래스를 구현해야하고, C/C++등에서 도 header파일을 제외한 body는 작성해야겠죠?)해야 합니다. binding만으로는 아무것도 할 수 없습니다.

P.S.2
e님의 댓글에 대한 추가 반론입니다.

 1. 논쟁이 되었던 내용
사용자 삽입 이미지
논쟁이 되었던 내용은 YUI 라이브러리의 get()의 리턴 값에 대해서
  1. 저의 경우 HTMLElement 인터페이스를 구현했다고 얘기를 하자
  2. e님께서 HTMLElement 구현은 틀렸다고 하셨으며, binding이라고 불러야 한다
는 주장을 하셨습니다. 여기에서 얘기한 바와 틀렸다고 하시면 더 이상 할 얘기는 없습니다.

 2. 제 주장에 대한 근거
HTMLElement 인터페이스를 만드는 방법에는 두 가지가 있습니다.
  • 하나는 binding으로 생성하는 방법이고
  • 하나는 해당 인터페이스를 직접 구현하는 방법입니다.
두 번째 사항이 구현이라는 점에는 의심의 여지가 없다고 생각이 됩니다. 그럼 첫 번째 방법으로 어떻게 인터페이스가 만들어지는 지 구체적인 예를 보도록 하겠습니다.

 2-1. Firefox의 예를 보도록 하겠습니다.
Firefox의 소스 코드를 다운 받아서 압축을 풀게 되면 dom이라는 폴더가 나오게 됩니다. dom > public > idl > core 를 들어가게 되면 DOM의 기본 core로 사용되는 idl 파일(정확히는 idl의 확장버전인 xpidl로 쓰여진)들이 정의되어 있습니다. (예를 들자면, nsIDOMElement.idl파일이 여기에 포함되어 있습니다. )

Firefox를 build하게 되면 idl이 정의되어 있는 core 폴더의 Makefile.in을 읽어서 rules.mk에 정의되어 있는 내용대로 파일을 생성하게 됩니다. (SDK_XPIDLSRCS에 정의되어 있음을 주의하시기 바랍니다.)
사용자 삽입 이미지

rules.mk파일을 살펴보게 되면 다음과 같이 XPIDL로 정의된 idl 파일들에서 header 파일을 생성해 내는 것을 보실 수 있습니다. xpt파일도 생성이 될 수 있습니다. idl파일로 부터 header를 생성하는 과정까지를 생성하고 cpp 파일 부분은 실제 브라우져에서 구현하게 됩니다.
사용자 삽입 이미지
이 외에도 xpidl을 이용해서 header, xpt, html, java 파일들을 만들 수 있습니다.
사용자 삽입 이미지

Firefox에서 YUI의 get으로 해서 얻어진 Element의 입장을 생각해 보면 다음과 같이 말할 수 있을 것 같네요.
Element는 DOM의 HTMLElement.idl 파일을 바인딩해서 생성된 헤더파일을 구현한 객체라 보면 되지 않을까 생각됩니다.

 2-2. Webkit의 경우
Webkit의 소스코드를 보게되면 Webkit_WebCore > html 폴더에 여러 DOM idl 파일들이 있는 것을 확인할 수 있습니다. 해당 idl 파일들은 build 시에 DerivedSources.make 파일을 호출하게되고 여기에서 .idl을 header 파일로 변경되는 것을 확인할 수 있습니다.
사용자 삽입 이미지
즉, Webkit도 Firefox와 마찬가지로 IDL 파일로는 header파일만 생성이 되고 구현은 브라우져에서 직접 구현을 해야된다는 얘기입니다. YUI의 get()으로 생성되는 element의 입장에서 본다면 binding이 갖는 의미는 header를 생성해준다 여기까지만 해당되고 구현은 브라우져 자체의 문제가 되는 것이지요.

 3. 결론
Firefox, Webkit이 아닌 브라우져의 경우에는 소스를 볼 수 있는 방법이 없어서 확인을 하지 못했습니다. 여기 두 브라우져에서 살펴본 결과 구현이라는 표현을 사용못할 이유는 전혀 찾지 못하였습니다.

e님께서 말씀하신 '자신의 카테고리 범주'가 뭔지 e 님께서 말씀하시는 '깊은 의미'가 뭐길래 구현이라 부를 수 없는 지 구체적 근거에 의해서 반론을 해주시기 바랍니다. 진정한 기술자란 말로서 비난하는 자세가 아니라 논리적 근거와 코드로서 답할 수 있어야 한다고 생각합니다.

반론에 대해서는 언제든지 환영합니다.

2008년 3월 6일 목요일

Visible Body

RSS리더를 읽다가 (출처를 잊어먹어서;;;) Visible Body라는 사이트 소개 글을 보았습니다.
인체의 여러 부분을 플래시로 보여주는 사이트인데요. 정확한 비지니스 모델은 모르겠습니다. 지금은 구글 애드센스만 붙어있는 모습이구요.
사용자 삽입 이미지

가입시에 교육용으로 사용할 지 아니면 연구용으로 사용할 지, 재미로 보러왔는 지 등에 대해서 물어보는 것을 봐서는 아직 정확한 방향을 잡지는 못한 것 같습니다. Sign up을 눌러서 가입을하면 가입 시 등록했던 메일로 등록확인 메일이 오는데요. 링크를 익스플로러에서 누르면 가입이 완료가 됩니다.
사용자 삽입 이미지

Firefox는 지원이 되지 않구요. IE에서만 지원이 되고 있습니다.
사용자 삽입 이미지

Launch를 눌러서 프로그램을 구동하면, 다음과 같이 Anark Software를 설치하라는 메시지가 나오면서 길고 긴 다운로드 시간이 걸립니다.
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

사용자 삽입 이미지

여기까지 오면 프로그램 설치는 완료가 되나 이제 세부 정보(?)들을 다운 받는데요. 먼저 뼈 구조를 다운로드 받아서 보여주고 림파구, 근육 등등을 받습니다.
사용자 삽입 이미지

뼈만 받은 모습이구요. 나머지 부분은 다운로드 중인 모습입니다. 뼈하고 옆의 목록 사이에 나와있는 버튼들이 각 모듈을 조작할 수 있는 도구들이구요.
사용자 삽입 이미지

각 모듈(?)을 add 버튼을 눌러서 추가하거나 HIde/Show 버튼을 눌러서 보여주거나 감출 수 있습니다.
사용자 삽입 이미지

사용자 삽입 이미지

회사에서 재미있다고 이것 저것 누르다보니 갑자기 나온.. 야한(?) 사진 --;;


교육용으로 참 좋은 것 같습니다. 강추~

출처: Visible Body

2008년 3월 3일 월요일

IDL(Interface Definition Language)의 상속(Inheritance)

DOM Core에서 DOM interface를 정의하는데 IDL(Interface Definition Language, 정확히는 OMGIDL)를 사용합니다. OMGIDL로 모두 정의되어 있는 내용은 DOM Core의 Appendix C- IDL Definitions에서 보실 수 있습니다.

사용자 삽입 이미지

위와 같은 코드를 영어로 표현하자면, 'Element interface is derived from Node interface'가 되겠지요. 즉, inherited로 표현이 됩니다. OMGIDL 스펙의 Interface Inheritance 항목을 보시면 상세히 보실 수 있습니다.

사용자 삽입 이미지
하고 싶은 얘기를 정리하자면, Element 인터페이스는 Node 인터페이스를 상속받았다는 얘기를 하고 싶을 따름입니다.

출처:

Cy모 친구에게~

오늘 너의 메신저 아이디를 보니
사용자 삽입 이미지

라고 되어있더군.

솔직히 너에게 맞는 아이디는
덕후들은 애니와 피규어와 망가에 빠지게 되어 있는 모양입니다. 어리다고요? 그게 덕후잖아요
아니겠삼?