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모 친구에게~

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

라고 되어있더군.

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