본문 바로가기
prototype for CxImage library 소개 http://www.codeproject.com/bitmap/cximage.asp 홈페이지 http://www.xdp.it/cximage.htm 교수가 임무를 하나 주었다. 화면을 캡처해서 전송하는 것이다. 간단하지만, 제대로 해보려니 고려할 사항이 많았다. 전송하기 쉽게 연속형 배열로 만들고, 전송 효율을 높이기 위해 압축도 해야 한다. 전송 단계에는 어떤 문제가 발생할 지 모른다. 현재 예상되는 문제는 (1) 전송 완료가 (매우!) 오래 걸리는 경우 (2) 전송 중 연결 실패 등이다. 이 문제를 회피하기 위해 일단 layer를 하나 두고 진행하려고 한다. 캡처는 쉽게 이루어졌으나, 비트맵의 래스터 처리가 문제였다. 게다가 압축도 해야한다. 그런고로 이미지 처리를 단순화시켜야 했다. CxImage.. 2006. 9. 18.
Inno Setup 5 Script 훌륭한 패키징 프로그램인 Inno Setup 5의 스크립트. 제작한 게임의 패키징을 위해 사용했다. 게임은 작지만 -.- 하나의 제품으로 완성해보고자 수고를 좀더 들였다. 작성한 스크립트의 기능은 다음과 같다.사용자의 컴퓨터에 Visual C++ 2005 DLL이 설치되었는지 검사하고, 없으면 설치한다.윈도우 XP 서비스팩 2가 운용되는 컴퓨터인지 확인하고, 그렇지 않으면 경고를 표시한 후 설치를 종료한다.선택한 언어에 따라 프로그램 그룹의 이름이 다르게 정해진다.선택한 언어에 따라 다른 파일을 설치한다.참고로 Inno Setup의 기능은 상용 프로그램 부럽지 않은 기능을 자랑한다. 사용하기 쉬울 뿐더러, 파스칼 형식의 자체 스크립트도 있어 입맛에 맞게 자유로이 바꿀 수 있다. 이만한 걸 한 개인이 만들.. 2006. 9. 9.
Qt로 개발하면서 배운 점 비주얼 스튜디오에서 쉽게 폼을 헤더로 변환하기 Qt Designer에서 생성한 *.ui 파일은 프로그램에서 쓰려면 헤더 파일로 바꾸어야 한다. 이렇게 쓰면 쉽게 사용가능하다. 예로 about.ui를 바꿔보자.ui 파일을 솔루션에 등록한다.ui 파일의 속성창을 열고, General > Tool 값을 Custom Build Tool로 설정한다Custom Build Step으로 가서, Command Line에 이렇게 값을 넣는다. c:\Qt\4.1.3\bin\uic.exe About.ui -o ui_About.h(디렉토리는 uic.exe가 있는 곳으로 바꾸어야 한다)output을 ui_about.h로 설정한다.Additinal Dependency 값은 c:\Qt\4.1.3\bin\uic.exe로 설정(역시 디.. 2006. 8. 1.
CQ 빌더 ※ 이 에디터는 더 이상 CQ를 위해서 사용될 수 없다. 너무 많은 사항이 변경되었기 때문이다. 안타깝지만, 개선할 시간도 없다. 공의 위치를 추출, 빛 조절, 일부 값 수정 등에만 유용하게 사용될 수 있다. Qt 사용에 대한 참고로 사용되길 바란다. [9.1] CQ라는 지능개발 게임의 스테이지를 구성하기 위해 만든 빌더. 에디터를 제작하기 위한 수요는 많고, Qt와 Ogre3D를 연계시키는 시도는 많았다. Ogre3D 포럼을 많이 참조했다. 사용 라이브러리: Qt 4.1.3 Open Source Edition : GUI가 예뻐서 채택한 GUI 라이브러리. 사용하기도 쉽다. 문서화도 좋고, 데모도 핵심을 찌른다.Ogre 1.2.1 Dagon : 그래픽 라이브러리. 개발 기간: 7.25 ~ 8.1 버전 파.. 2006. 8. 1.
당신은 어떤 세계에 살고 있는가? 2 한주동안 내내 코딩을 하느냐 독후감도 안 썼다. 음... 어쨌거나 이 책을 읽다보면 의견을 밝힌 사회과학자들이 공통적으로 밝히는 것이 보인다. 그것은 세계화를 피할 수 없다는 것 / 국가의 영역은 축소된다는 것 / 고도로 지식을 쌓지 않는다면 저임금을 벗어날 수 없다는 것 / 빈부격차는 더욱더 벌어진다는 것 / 기업은 점점 강해진다는 것 등등... 암울한 소식들을 읽을 수 있다. 게다가, 그것이 현실이다. 국가라는 우산은 없어지고, 저기 멀리 그림자를 덧씌우는 다국적 기업의 마수에서 개인은 무엇을 할 수 있는가. 자유인으로 살 수 있을까. 어렵다. 어쨌든, 도전의 시대이다. 2006. 8. 1.
막말의 암살자들 사카모토 료마 덕에 에도 말기에 대한 엄청난 관심이 나를 이끈다. 그 시절을 알면 알수록 서양의 충격에 놀라면서도 그들을 배워 이기려고, 막부를 뒤집고 무사 계급을 폐지하고 다이묘를 없애는 등의 급진적인 개혁을 했던 그들에게 경탄하게 한다. 태평양 전쟁으로 말미는 좋지 않았지만, 어쨌거나 조선도 그 주역이 될 기회가 있었다. 어쨌든, 이 책은 암살이 수시로 일어났던 에도 막부의 존왕양이파 지사 등의 암살자들 이야기를 담고 있다. 암살을 진행하면서 빚어진 에피소드, 후기가 꼭 수필처럼 그려져 있다. 그래서 더 현실적으로 느껴진다. 사카모토 료마를 읽었다면 아는 사람이 꽤 많이 나온다. 2006. 8. 1.
타올라라 검 에도 막부 말기, 쿄토를 지키던 신센구미의 부장 히치타카 도시조의 짧은 인생을 그린 작품. 서른다섯에 죽기까지 일개 무사에서 막부측에서 뛰어난 전술가로까지 활약하는 그의 모습이 글만으로 살아있음을 느낄 수 있다. 정말, 남자의 절의(근성), 비장함이 배어난다. 도시조가 백냥을 들고 구하려던, 그러나 고물상(?)에서 단돈 다섯 냥에 산 이즈노카미 가네사다라는 칼이 보고 싶다. 간간이 그가 남겼다는 시구가 나오는데, 소박한 것이 마음에 절실히 닿는다. 무엇보다... 이 책의 제목이... 정말 멋지다! 그냥 되내기만 해도 뜨거워진다. 2006. 8. 1.
버텍스 회전 이용하기 Ogre3D에서의 버텍스 회전 이동은 간단하게 이루어진다. 참조:http://www.ogre3d.org/wiki/index.php/Line3Dhttp://www.ogre3d.org/wiki/index.php/Quaternion_and_Rotation_Primer 작성한 코드는 MyManualObject라는 클래스를 갖고 있다. 이 클래스는 두 개의 메소드가 있다. 하나는 시작점과 끝점을 주어 3차원 공간 상의 선을 그린다. 또 하나는 3차원 형태의 화살표를 그린다. 화살표는 Z축 방향이 기본으로 그려진다. 회전을 위해 사원수 클래스가 쓰인다. Ogre3D에서는 사원수에 대한 개념 - Q(w,x,y,z)에서 w은 축에 대한 회전 정도, x,y,z은 물체가 이동할 축을 나타낸다는 점만 알면 쉽게 회전을 처리.. 2006. 7. 8.
VisualStudio 2005에서 QT 작업하기 목차 QT를 VS용으로 컴파일하기 VS에서 작업하기 UI 파일이 컴파일되지 않을 경우 QWidget을 상속받는 클래스를 사용할 때 QT를 VS용으로 컴파일하기 이 글은 아래 링크 중의 글에서 중요한 내용만 추리고, 약간의 주석을 단 것이다. http://www.qtnode.net/wiki/Qt4_with_Visual_Studio 먼 저 QT 라이브러리를 받아야 한다. 단 소스 파일을 받아야 한다. 위 링크에도 받을 수 있는 경로가 있다. 아니면 제작사인 TrollTech 홈페이지에서 받아도 된다. 어쨌든 소스가 있어야 다시 컴파일을 할 수 있다. 트롤테크가 제공하는 바이너리 파일에서 lib 파일이 없다. 한편, 컴파일된 파일을 올리기에는 너무 용량이 크다. 컴파일 후 용량이 1.2GB에 달한다는 사실만 .. 2006. 7. 6.
AABB 충돌 검사 방식에서의 정확한 구 검출 내가 구상한 게임은 다수의 구가 인접해있다. 따라서 Axis Aligned Bounding Box 형태의 충돌 검사는 부적절하다. 구를 덮기 위해 상자의 한 변은 최소한 구의 지름이 되어야 하는데, 아래 그림과 같은 문제가 발생한다. 그러나 AABB 방식은 엔진이 기본적으로 제공하는데다가, 검사도 빠르기 때문에 간단히 포기하기에는 아까웠다. 그래서 검출에는 AABB를 쓰고, 타당성 조사는 공식(직선과 점 사이의 최단 거리 구하기)을 사용하여 문제를 해결했다. 공식을 이해하는데 시간이 걸렸지만, 치환으로 유도되므로 간단하다고 할 수 있다. 인용: 좋은 게임을 만드는 핵심원리: 게임 수학과 물리. 거기에 이해하기 쉽게 주석을 곁들였다.(1) 직선 L의 방향 벡터를 구한다. 이 값은 단위 벡터가 되든 안되든 .. 2006. 7. 6.
료마가 간다 일본에서 1억부가 팔렸다는 소설. 메이지 유신의 극적인 과정을 료마라는 극적인 인물을 통해 생생하게 구성했다. 등장 인물이 하도 많아(10권이나 되는 분량을 풀어나가는 것이 쉬운 일은 아니다) 료마 외에는 인물상을 그려보기 어렵지만, 조선보다 더한 봉건국가였던 일본이 어떻게 근대국가로 탈바꿈하는 계기를 만들었는지 생생하게 알 수 있다. 단점이라면 멀고도 가까운 일본의 역사, 특히 근대에 대해서는 너무 생소해서 처음에는 몰입하기가 쉽지 않다. 그러나 흑선(서양 증기선)이 함포를 쏘며 개항을 요구하는 조선 말기의 분위기는 일본에서도 생생하게 느껴진다. 그 위기 의식... 그러나 일본의 변혁을 평화롭게 유도한 료마와 그리고 막부의 권력을 스스로 포기한 쇼군, 이 둘 덕에 지금의 일본이 있는 것이 아닌가 싶다... 2006. 7. 6.
빌보드 및 폰트 표시 테스트 현재 구상 중인 게임에서 구 안에 숫자를 표시해야 한다. 최초에는 배경을 두고 거기에 텍스트를 표시하려 했다. 이를 위해 Ogre3D에 쓸 수 있는 MovableText( http://www.ogre3d.org/wiki/index.php/MovableText)를 시험했다. (Ogre 1.21 필요) ※ 참고: MovableText에는 어떤 문제가 있다. 즉 어떤 특정한 글자 또는 짧은 문장이 표시되지 않는다는 점. Ogre3D 포럼에 어떤 한국사람도 질문했다. 일단 이 문제를 해결하는 건 간단. 표시할 문장 앞에 공백을 하나만 붙여주면 된다. MovableText는 버텍스버퍼를 직접 조작하여 각 문자마다 폴리곤 2개를 만들고, 폰트를 텍스처처럼 u, v 값을 얻어와서 매핑한다(u, v값은 미리 설정되는데.. 2006. 6. 29.
SubEntity의 메쉬에서 버텍스 정보 얻기 서브 메쉬에 각각 빌보드를 표시해야한다. 이번 데모는 다음 기능을 테스트하고자 함이다. - 서브 메쉬의 좌표 값을 읽고, 여기에 시험삼아 어떠한 오브젝트든지 찍어본다. 그 러나... 서브 메쉬의 위치, 크기 정보를 얻는 메소드는 따로 없다. 따라서 인덱스 버퍼를 직접 액세스하고, 이를 통해 최대, 최소값을 얻었다(이는 일전에 이미 시험해보았다). 그리고 이를 통해 서브 메쉬의 위치를 얻었다. 인덱스, 버텍스 버퍼를 힙에 복사한 후 데이터를 처리한다는 점이 걸렸다. 그러나 비디오 메모리를 필요할 때마다 액세스할 수는 없고(도스 시절이 아니다...) 잠근 다음 액세스하고 다시 해제해야한다. 이 때문에 코드 처리를 위해 비디오 메모리를 계속 잠그고 있을 경우 문제가 생길 수 있다. 이걸 개선하려고 해보았지만 .. 2006. 6. 29.
세키가하라 전투 역사에 관심이 많은 나는, 붓으로 싸우는 조선시대(그 이전은 기록도 제대로 없다... 웃기게도 고려에 대해 아는 것도 정말 없다. 그 이전은 진짜 소설이나 다름없다)보다는 칼로 싸우는 옆나라의 전국시대에 더 흥미를 가져왔다. 그 유명한 야마오카 소하치의 대망 시리즈는 그 반복되는 패턴에 손을 놓았다. 세키가하라 전투는 오랜만에 드는 장편이다. 세키가하라라고 하면, 대망에도 중요하게 나오는 전투이다. 그도 그럴 것이 도쿠가와 막부가 에도에서 문벌 정치를 2백년간 펼치게 되는 결정적인 계기가 되기 때문이다. 이 책은 그저 사실과 허구를 섞어서 보여주는데 그치지 않고, 필자가 직접 개입하여 세키가하라의 등장 인물과 관련된 이러저러한 얘기를 들려준다. 여우 - 이시다 미쓰나리의 수많은 결함에도 불구하고, 너구리.. 2006. 6. 29.
성장의 종말 비관주의의 첨단을 볼 수 있는 책. 사물을 새로운 각도로 볼 수 있는 점은 참 좋다. 그러나... 처음부터 끝까지 모든 면을 나쁘게 보는데는 두 손 들었다. 꾹 참고 보았으나, 끝까지도 그렇다. 결론은 엄청난 변화를 해야한다는 것인데, 저자도 지식인인데 그런 극단적인 변화가 가능하다고 믿지는 않으리라 본다. 그럼 무얼 해야하는가. 문제는 예나 지금이나 사회를 변화시킨다는 게 장난이 아니라는 점. 더우기 국제화 시대에는 개인 혼자의 힘은 미디어에서도 한계가 있다. 일단, 미디어를 소비하는 대중이 장기간의 교육(?)을 받아들이지 못한다. 난 생각한다. 그저, 개인이 묵묵히 자기 믿는 바에 따라 길을 걷다 보면, 그 끝이 보일 것이다. 결과야 어떻게 되었든, 자신이 믿는 길을 가지 않았는가. 2006. 6. 29.
QT with Ogre 방학이 되어 간단한 게임을 만들어보고자 공부 중. 같이 할 사람이 없어서 쓸쓸하고 집중도 쉽지 않다... 현재 퍼즐 게임을 만들어보고자 하는데, 스테이지를 구성할 에디터부터 만들려고 하고 있다. 그러려면 아무래도 편리한 GUI 인터페이스가 필요하다. 내가 생각한 GUI 라이브러의 조건은 1. STL 사용 가능 2. 편리한 GUI 코딩이었다. MFC는 유감스럽게도 1번을 만족하지 못한다. 참, 먼저 OgreDotNet을 이용하려 했는데 Ogre 1.2와 연동이 쉽게 되지 않아 포기했다. 그래서 생각한 것이 일전에 테트리스를 만들어본 QT였다. Ogre 엔진은 렌더러를 생성할 때 인자값으로 외부 핸들, 즉 표시할 창의 포인터를 넘겨주면 그곳으로 출력을 한다. 모든 GUI 라이브러리에 동일하게 적용된다. 간단.. 2006. 6. 26.
MFC의 HTMLEdit 클래스를 이용한 응용 프로그램 브라우저에 표시된 HTML 일부를 드래그하여, MFC의 뷰에 붙여 넣을 수 있다. 구글의 노트북(http://www.google.com/notebook/) 웹어플리케이션에 감동받고 만들어보았다. MFC에는 이를 수행하는 클래스(HTMLEdit)가 있기 때문에 개발 난이도는 낮았다. Visual Studio 2005로 제작되었으므로, dll이 포함된 아래 패키지를 설치해야 한다. http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en 프로그램을 종료시키면 파일로 저장한다. 윈도우 프로그래밍의 기말 과제로 급하게 수행되어 다음 문제가 있다.모든 데이터를 메모리 상에 로드.. 2006. 6. 19.
도쿄 기담집 처음에는 웬지 노란 손수건 분위기가 나다가, 점점 아리송한 이야기로 향해간다. 그래서 기담집이겠지. 그러나 이건 뭐 여운이 남는 환상도 아니고, 그냥 이상한 이야기일 뿐이다. 다만, 처음 누나와 동생 이야기는 상당히 마음에 와닿았다. 있을법한 우연, 좋았다. 서점에서 사지 않고 첫 부분만 보았다면 후회는 없으리... 2006. 6. 19.
반도에서 나가라 그럴듯한 근미래, 군비 유지에 지친 미국과 북한이 화해를 하고 일본은 극심한 경제 침체로 어지럽다. 그러던 중, 북한에서는 비밀 임무인 '반도에서 나가라'가 실행되어 일본 후쿠오카를 침공한다. 겨우 9명으로 시작하여 AN-2를 타고 500명이 추가로 도착하고 일주일 뒤에는 무려 12만명이 도하한다. 그들이 오면 후쿠오카를 포함한 큐슈는 일본에서 분리되고, 한반도에 형성된 자본주의-사회주의 전선은 그곳으로 이동된다. 과연 일본을 구할 이들은 누구일까. 상권은 프롤로그를 제외하고는 이전의 무라카미 류 특유의 묘한 분위기가 완전히 배제된다. 거의 스릴러 소설 수준. 실감나게 전해지는 이야기도 일품. 하권부터는 그 특유의 마이너들이 활약한다. 대신 긴장감이 줄어든다. 상당히 많은 분량인데도 잘 읽히는 소설. 다.. 2006. 6. 19.
QTOPIA 테트리스 QT기반의 윈도우 매니저인 QTOPIA에서 실행되는 테트리스. 임베디드 응용 프로젝트로 만들어졌다. 이것저것 손보고, 디버깅 코드도 은근히 넣었더니 5백줄 가까이 된다. QTOPIA SDK PDA Edition 1.7.0 으로 작성되었다. 버튼을 눌러 블럭을 제어한다. 이걸로 테트리스를 두번째 짜봤다. 기타:SDK를 설치하면 /opt/Qtopia 폴더가 생긴다. 여기에 문서, 예제, 라이브러리 등이 위치한다.그림은 /opt/Qtopia/pics 에 위치한다.실행 파일은 /opt/Qtopia/bin 에 위치한다.아이콘 파일은 /opt/Qtopia/pics/inline 에 위치한다.버그가 있다: 다음 블록을 표시할 때, 길쭉한 블록을 표시할 때부터 다음 블록 표시가 깨진다. 메모리를 덮어 쓰는 곳이 있는 것.. 2006. 6. 15.
베지어 곡선 그리기 Visual Studio 2005 Express의 managed C++을 이용하여 제작되었다. 베지어 곡선 함수는 이미 MFC때부터 있었고 당연히 managed C++에서도 지원한다. 그래서 아주 쉽게 제작. 아쉬운 점은 제어 포인트의 추가/삭제를 반영하지 못했다는 점. 교수가 1시간만에 짜라는 바람에... 실행하려면 Visual C++ 2005 Redistriable Package를 설치해야 한다.http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en 2006. 6. 13.
팔레스타인 지극히 중립적, 아니 중립적이란 있을 수 없지. 지극히 현실적, 그래도 추할 정도로 적나라하게 현실을 보여주는 이야기. 팔레스타인들을 인터뷰하고 만화를 그리려는 작가, 지겹게 팔레스타인 이야기를 외부인에게 전하지만 변하지 않는 현실에 좌절하는 팔레스타인들, 우월한 이스라엘인들. 그래서 더 사실적으로 다가선다. 사실상 신문에서 듣는 이야기는 너무나 감상적인, 그냥 소설일 뿐. 만화지만 칼처럼 머리를 찌른다. 내가 느낀 기분이란... 아마 이스라엘인들은 이제 나치들을 이해할지도 모르겠다... 그런 생각이다. 팔레스타인들의 열악한 현실과 그렇게 몰아가는 이스라엘인들... 그러나 변화할 수 없는 현실. 폭력으로 해결되는 사회. 대화는 불가능하다... 기존 이권자들... 현실은 복잡하다. 나 하나도 추릴 수 없다.. 2006. 6. 13.
어둠의 저편 스포일러 주의! 한 소녀가 중국으로 유학을 가기 전에 생긴 일. 환상이 간간히 언급되는데, 명확히 비밀을 파헤쳐주지 않는다. 하기야 이 사람이 스릴러 작가는 아니다. 어쩌면 자매의 우애 회복을 위한 모험담(동생의 일방적인)으로 봐도 되겠다. 그래도 이 필력이라는 것이 실체가 있는 것 같다. 사실상 수수께끼만 늘어놓고 끝나는 이 책을 - 뭐하나 속시원히 해결되지 않는다 - 끝까지 보고도 작가에 대한 원망이 생기지 않았으니 말이다. 2006. 6. 13.
십자군 이야기 십자군 이야기의 서양적 관점을 최대한 동양적으로 이끌어놓고 보는 책. 만화라서 보기도 쉽다. 새로운 관점에서 기존 사실을 보는 재미는 상당하다. 저자의 많은 공부가 엿보인다. 단 1권까지만. 2권부터는 농담도 더욱 썰렁해지고 길어진다. 공부를 많이 해서 그런가. 말하고 싶은게 많아서 그런지 이야기가 계속 새나간다 - 진행이 안된다는 뜻. 게다가 프롤로그가 너무 길고, 그래서 더 지루하다. 역사의 반복을 말하라고 미국을 빗대는데, 이것도 너무 많이 쓴다. 저자는 아무래도 간결의 힘은 잊은 채, 독자에게 자신이 발견한 새로운 관점을 그저 주입해주고 싶은 듯하다... 이쯤되면 자랑? 출판사는 5권까지 발매될 것이라고 했지만, 3권도 발매되지 않은 상태. 그러나... 이제는 그리 기대되지 않는다. 비슷한 성격의.. 2006. 6. 13.
세상의 중심에서 사랑을 외치다 여름의 긴 낮, 겨울의 긴 밤을 당신은 여기에 잠든다. 백년 후에 나도 결국 당신 곁에 잠들겠지. 편안히 그날을 기다려주오. 책에 있는 시. 2천년 전의 시라는데 사실 여부는 확인 불가이지만, 마음에 생생히 와닿는다. 그냥 읖조리기만 해도 마음이 차분해지고 언젠가의 그날을 기다릴 수 있을 것 같다. 그런 당신이 없는 건 아쉬운 일. 현실적인 결말도 상쾌하다. 슬플까? 아니다. 그게 더 괜찮다. 연인이 순애보를 강요한 건 아니지 않은가? 2006. 6. 1.
스피드 이제 이 작가의 책은 그만 봐야겠다. 플라이, 대디, 플라이의 업그레이드 같은 책. 확장판? 주인공의 성별이 바뀌고, 훈련 과정이 여성화되었다. GO의 그 상쾌함은 대체 어디로... 박순신의 터프함도, 야마시타의 굉장한 불운도 잦다 보니, 하품이 나올 뿐... 2006. 6. 1.
강철군화 강철군화로 노동자의 얼굴을 짓이긴다... 자본가와 노동자와의 대결을 전쟁으로 그려낸 소설. 학살과 복수, 그래서 피가 넘친다. 자본주의 국가가 제국주의로 이전하는 과정을 굉장한 문체로 예언했다. 흥분되는 소설. 노조 간의 갈등을 더욱 증폭시키는, 지금도 생생히 존재하는 귀족 노조들의 존재는 나를 뜨겁게 한다. 착취해서 번영하는 이들! 그러나, 소설처럼 군대를 퍼부어 학살을 늘어놓는 자본주의는 없다. 대부분의 자본주의 국가는 사회주의를 가미하고 있으니... 그러나, 신자유주의는 이 모든 것을 헤집으려 한다. 노조 자체를 싫어하는 노동자들. 부유층을 섬기는 빈곤층, 우경화되는 국가들 - 특히 아시아... 과연, 강철군화가 도래할까? 그건 부정적이지만, 최소한 노동자의 운명은 이제 해가 지려한다... 살아남으.. 2006. 6. 1.