일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
개봉을 앞 둔 영화 "벤저민 버튼의 시간은 거꾸로 간다"의 원작인 피츠 제럴드의 단편, "벤저민 버튼의 기이한 사건"이 인기다. 관련 단어로 인터넷 서점에서 검색을 해보면 그야말로 책들이 쏟아지고 있음을 알 수 있다. 조금 안타까운 사실은 영화 제목을 의역을 하면서 소설 제목까지 같이 훼손되고 있다는 점이다. 원제의 제목이 "The Curious Case of Benjamin Button"임에도 불구하고, 대부분의 책이 영화 제목을 따라서 "벤저민 버튼의 시간은 거꾸로 간다"라고 출판되고 있다. "벤저민 버튼의 기이한 사건"만을 읽고 싶은 분이라면 아래 주소에서 원문을 다운로드 받아서 읽어 볼 수 있다. 단편이라 그리 길지 않기 때문에 쉽게 읽겠지 하고는 다운 받았는데 보기 보다는 쉽지 않다. ㅋㅋㅋ~ http://feedbooks.com/book/3431 책에는 총 6편의 단편이 포함되어 있었는데, 다들 마음에 들었다. 거의 모든 작품에서 뛰어난 작가적 상상력을 볼 수 있었다. '어떻게 이 따위 생각을 했을까?'하는 느낌. 그 중에 특히 《해변의 해적》이라는 작품이 맘에 들었다. 작가적인 상상력이 번뜩이지는 않는 통속적인 내용이었지만, 그것을 풀어가는 문장이 너무나 아름다웠기 때문이다. 읽는 내내 눈과 머리가 즐거웠다고나 할까? 이 황당한 이야기는 푸른 꿈과도 같고 파란 실크스타킹처럼 다채로운 바다에서, 어린아이의 동공처럼 푸르른 하늘 아래에서 시작된다.이쯤되면 원문도 보고싶은 충동이 느껴진다. 역시나 인터넷엔 없는게 없는 요즘 세상. 아래는 발췌한 부분의 원문이다. 근데 번역을 너무 잘해서 사실 원문이나 번역문이나 느낌은 고놈이 고놈인듯. 역시나 민음사 세계문학전집 시리즈 답다. This unlikely story begins on a sea that was a blue dream, as colorful as blue-silk stockings, and beneath a sky as blue as the irises of children's eyes.《해변의 해적》은 주인공인 도도한 아가씨가 한 남자에게 마음을 여는 과정을 그리고 있는 작품이다. 남자가 조금 어처구니 없는 수법을 쓰긴 하지만, 어쨌든 그들의 이야기에 잠시나마 낭만적인 환상에 빠질 수 있었다. 도도한 주인공 아디터의 캐릭터도 맘에 들고 말이징. 물론 현실 세계에서 만난다면 ㅂㅁ일지도 ㅎㅎ... 아래 그림은 피츠제럴드가 처음 쓴 《해변의 해적》의 엔딩 부분이다. 처음에는 아디터의 꿈으로 결말을 지었다가, 극적 재미를 위해 지금처럼 결말 부분을 고쳐 썼다고 한다. 이런걸 보면 '창조란 참 고달픈 작업인것 같다'는 느낌이 든다. ![]() |
[GGG] 컴퓨터 프로그래밍과 관련된 내용의 글입니다. 아래 내용의 저작권은 저작자에게 있습니다. 다른 사이트로 옮길 때에는 출처를 밝혀 주세요.
아래 내용은 프로그래밍과 관련된 문서를 번역한 것 입니다. 출처는 각 문서의 내용에 포함되어 있습니다. |
재미있는 기술 문서들을 모아놓는 코너입니다. 심심하신 분들은 한번씩 읽어보세요. 읽는 만큼 쭉쭉 늘어나는 내공을 느끼실 수 있을 겁니다. Best Practices for Creating DLLs DLL의 초기화, 종료 코드를 안전하게 작성하는 방법에 대해서 알려줍니다. DllMain에는 생각보다 엄청 복잡한 비밀이 많이 숨겨져 있다죠. 이상하게 되는 경우에 대한 시나리오가 같이 있었으면 금상첨화일뻔 했겠단 생각이 듭니당. http://www.microsoft.com/whdc/driver/kernel/DLL_bestprac.mspx What's new in Visual C++ 2008 Visual Studio 2008이 정식 출시되었습니다. 아래는 Visual C++ 2008의 새로운 기능들을 소개하는 페이지 입니다. http://msdn2.microsoft.com/en-us/library/bb384632(VS.90).aspx Visual C++ 2008 Express Edition은 아래 페이지에서 무료로 다운로드 받으실 수 있습니다. http://www.microsoft.com/express/download/default.aspx C++ explicit 키워드 http://yesarang.tistory.com/58 Linux Kernel Source 리눅스 커널 소스 사이트 입니다. 크로스 레퍼런스로 만들어놔서 보기 좋네요. *^^* http://lxr.linux.no/source/ 절제의 미학 The Old New Thing 블로그에 재미난 글이 올라왔네요. 글을 쓸 때 무엇을 추가할지 보다는 무엇을 뺄지를 생각하라는 내용입니다. 그런 예를 설명하는 부분이 정말 압권입니다. 기술 문서를 쓸 때 항상 저러한 오류를 범하곤 하죠. 그런데 댓글에서도 나왔듯이 무조건 빼는 것 보다는 대상 독자층에 맞는 내용만을 서술하는 것이 더 좋을 것 같습니다. http://blogs.msdn.com/oldnewthing/archive/2007/10/03/5249866.aspx 코드 생성해서 실행시키기 원래 이 분야가 개척된 이유는 조금 다른데, 요즘은 보안쪽에서 더 관심을 가지고 있는것처럼 보입니다. 동적으로 코드를 생성하고 실행시키거나 실행 중에 코드 자체가 변형되는 것들이죠. 이런 식으로 런타임에 생성되거나 변형되는 코드는 고전적인 방법으로 리버싱하기가 무척 힘들기 때문에 보안쪽에서 많은 관심을 가지는 듯 합니다. http://www.codeproject.com/useritems/Self-generating-code.asp 예외 처리 C++에서 새로 생겼고 가장 이해하기 힘들고, 가장 의견이 분분한 내용 중 하나가 예외 입니다. 특히나 어떤 상황을 예외로 규정할지에 대해서는 정말 다양한 의견이 있습니다. 이것 또한 종교적인 논쟁의 한 부분이기도 합니다. 하지만 그 논쟁 사이에서 많은 새로운 관점들을 배울 수 있을 것 같아서 모아봤습니다. c++ 그룹에서 진행된 예외와 관련된 글타래들 입니다. 예외처리 매커니즘은 좋다. 하지만 무엇을 예외로 처리할 것인가? 무엇이 예외적인 상황인가? 왜 예외를 사용하는가? 생성자에서 예외를 던질까? 말까? 어떤 예외들이 있을까? 스레드 스위칭 http://www.codeproject.com/useritems/threadswitch.asp Vim Tip 저는 소스 코드 편집을 주로 vim으로 합니다. 웹에 올리거나 기사를 쓸 때 주로 편집하는 편인데 이 때 새로 줄이 길어서 종종 문제가 되곤 합니다. 아래 명령어를 사용하면 80 글자 이상되는 부분은 색깔을 표시해 줍니다. 편집할 때 도움이되죠. 80을 다른 숫자로 변경해 주면 길이를 바꿀 수 있습니다. :match Error /\%>80v./ C++ 멤버 함수 포인터 크기 http://blog.naver.com/drvoss/20041594354 C/C++에서 전역 변수가 초기화 되는 과정 http://blogs.msdn.com/vcblog/archive/2006/10/20/crt-initialization.aspx __purecall에 관해서 http://blogs.msdn.com/oldnewthing/archive/2004/04/28/122037.aspx 투명 PNG 디스플레이 하기 http://www.codeproject.com/useritems/transparent__png.asp 메모리 릭 탐지하기 http://minjang.egloos.com/1414494 DllMain에서 스레드 생성하면 데드락 걸릴까?? http://blogs.msdn.com/oldnewthing/archive/2007/09/04/4731478.aspx 다른 프로세스 TEB, PEB 구하기 http://readdie.woweb.net/entry/... 윈도우 사용 시간 제한 방법 http://www.codeproject.com/useritems/ProjectFromHell.asp 네이티브 애플리케이션 http://www.microsoft.com/technet/sysinternals/information/NativeApplications.mspx Windows 2000/XP에서 동작하는 리얼 타임 모듈 http://www.codeproject.com/system/RealTimeModule.asp Standard Annotation Language(SAL)을 이용한 버퍼오버런 방지 기술 http://blog.naver.com/drvoss/20041282591 http://blog.naver.com/drvoss/20042737417 MFC MDI 프레임워크에서 핸재 생성된 MDI 자식들 순회하는 방법 http://support.microsoft.com/default.aspx?scid=kb;en-us;131994 PE 포맷 체크섬 알고리즘 http://www.codeproject.com/useritems/PEChecksum.asp 유사 랜덤 제너레이터 http://www.codeproject.com/useritems/PRNG.asp 모질라 브라우저 임베딩 시키기 http://www.codeproject.com/useritems/iemozilla.asp Vectored Exception Handling (VEH) http://msdn.microsoft.com/msdnmag/issues/01/09/hood/ http://www.codeproject.com/useritems/VEH.asp C++ CLI Micro Chess http://www.codeproject.com/cpp/cpp_microchess.asp |
어젠가 그젠가 MSDN 보다가 재미난 문서를 발견했습니다. 안전한 DllMain을 작성하는 방법에 관한 글인데, 이 곳에서 다운로드 받아서 보실 수 있습니다. DLL의 로딩 과정과 로더 락에 관한 설명을 곁들여서 왜 그런 일들이 문제를 일으키는지 자세히 설명해 준답니다. 심심하지 않으신 분들도 꼭 챙겨보세요. ㅋ~ 아래는 문서 내용 중에 괜찮은 부분 같아서 퍼온 겁니다. 의외로 저런 작업들을 하는 코드를 만나는 경우가 많습니다. 대부분 문제가 발생하지 않더라도 어디선간 문제가 발생하고 있다는 것을 의미하는 거겠죠. 좀 더 자세한 시나리오와 함께 문제를 설명해줬으면 했는데 그런 부분이 없는 것이 약간 아쉽더군요. 경고!!! DllMain에서 다음 작업들은 절대로 하지 말 것.
** 그래도 먼가 하고 싶다면 kernel32.dll에 포함된 함수 중에 위에서 언급되지 않은 것들만 쓰도록 한다. kernel32.dll이 초기화는 운영체제가 보장해 준다. *** 글로벌 오브젝트에 대한 초기화 코드 또한 DllMain 과정에 포함된다. 따라서 글로벌 오브젝트의 생성자 내지는 초기화 함수 부분에 위에서 언급한 내용이 있어서는 안된다. **** 초기화를 하지 말란 소린가? 아니다. 지연시키라는 말이다. 요 근래엔 정말 컴터 책은 한 권도 안 읽은 것 같네요. 참신한 책 있으면 추천 좀 해주세용. 《실용주의 프로그래머》나 《The Art Of Unix Programming》을 보면서 흘렸던 눈물이 그립군요. 그나마 제프리 아저씨의 신간이 있었지만, 그마저도 사실 전 전판에 비해서 큰 차이를 보기는 힘들었던 것 같습니당. |
지하철을 타고 오는데 앞에 네 명이 책을 보고 있다. 그런데 세 명이 똑같은 책을 본다. 회사에 왔다. 회사 사람이 책을 보고 있는데 그 책 이다. 베스트 셀러가 무섭긴 무섭구나 하는 생각이 드는 순간... ㅋㅋㅋ~ 그러면서 나도 사봐야겠다는 생각이 드는 ... ... 이 책은 처음부터 나를 당황시켰다. 한 3페이지 정도를 보는데 문단 부호는 단 두 개 마침표와 쉼표만 있었다. 끊임없이 이어지는 문장들의 연속이었다. 대화체에 대한 행갈이도 없다. 빼곡히 채워진 문장들은 나의 눈을 피로하게 했다. 소설의 1/3 정도를 읽으면서 이상하게 소설이 안 읽힌다는 생각이 들었다. 물론 행갈이와 문장 부호가 없어서도 그렇겠지만 그걸 감안하더라도 진짜 진도가 않나갔다. 나머지를 읽으면서 그 이유가 무엇인지를 알게 되었다. 소설속 등장 인물의 이름이 하나도 나오지 않았다는 점이다. 어쩌면 눈이 멀었다는 설정때문에 그렇게 썼을 수도 있다. 단 한 차례도 소설 속에는 이름이 등장하지 않는다. 항상 의사, 의사의 아내, 검은색 안경을 쓴 여자 따위로 등장인물은 거론된다. 소설의 내용은 '모두가 눈이 멀고 단 한사람만 볼 수 있다면 어떻게 될까?'라는 아주 단순한 상상에서 출발한다. 하지만 모두가 당연시 여기고 있는 그 한 가지가 없어졌을 뿐인데 그 후의 세상은 그 이전의 세상과는 판이하게 다른 구도로 펼쳐진다. 단지 눈이 멀었을 뿐인데, 우리가 철저하게 믿는 이성은 붕괴되고, 짐승보다 못한 세상이 펼쳐지는 것이다. 단지 눈이 멀었을 뿐인데... 약간은 황당하고, 약간은 그럴것 같기도 하고, 약간은 더럽고, 약간은 거북하고, 약간은 주인공의 행동이 이해가 되지 않았다. 아마 내가 의사의 아내였다면 내 눈을 파거나 도망가거나 했을것 같다는 느낌이었다. 그 속에서 눈뜨고 그걸 다보고 있는 그녀는 소설 속에나 등장 할 수 있는 아내가 아닐까? ㅎ~ 왜 우리가 눈이 멀게 된 거죠. 모르겠어. 언젠가는 알게 되겠지. 내가 무슨 생각을 하는지 알고 싶어요. 응. 알고 싶어. 나는 우리가 눈이 멀었다가 다시 보게 된 것이라고 생각하지 않아요. 나는 우리가 처음부터 눈이 멀었고, 지금도 눈이 멀었다고 생각해요. 눈은 멀었지만 본다는 건가. 볼 수는 있지만 보지 않는 눈먼 사람들이라는 거죠.'볼 수는 있지만 보지 않는 눈먼 사람들'이란 표현이 참 맘에 들었다. 특히나 요즘같이 껍데기에 열광하는 세상 속에서는 그런 느낌이 더 많이 든다. 물론 그렇다고 내가 그렇지 않다는 건 아니지만. 여튼 끝을 보고 나면 우리가 철통같이 믿고 있는 사람다움, 이성이라는 것들이 얼마나 보잘것없이 없어지는지를 쉬이 알 수 있다. 뭐 사실 이런 거창한 소설을 볼 필요도 없잖은가. 오피스텔에서 개 키우지 말라고 말라고 난리를 쳐도 키우는 사람들. 음식물 쓰레기 따로 버리라고 버리라고 해도 꼭 같이 버리는 사람들. 화장실에서 담배피지 말라고 말라고 난리를 쳐도 담뱃불 붙이는 사람들. 남들의 눈이 오프되는 순간 우리의 이성도 같이 오프되는지도 모르겠다. |
이웃을 도우며 사는 일을 더 이상 미루지 마십시오. 사랑하며 사는 일을 더 이상 미루지 마십시오. 우리는 언제나 시간이 있다고 믿지만, 사실은 그렇지 않습니다. 어느 날 우리는 돌이킬 수 없는 지점을 넘고 말았다는 사실을 깨닫게 됩니다. 하지만 그 때가 되면 이미 늦습니다. "타로에는 특별한 카드가 한 장 있지요. '이름 없는 비밀'이라는 열 세 번째 카드로 모두들 '죽음'이라고 부르지요. 그 카드는 한 단계의 끝을, 근원으로의 회귀를 의미합니다. 그런데 그 회귀는 끝이 아니라 새로운 시작입니다."우리는 항상 시간이 충분하다고 믿는다. 끝을 생각하지 않는다. 그래서 매 순간 지엽적인 문제에 묶여 하루하루 살아간다. 사실 지금 당장 죽는다면 우리가 하는 일의 90% 정도는 전부 의미 없는 일일 것이다. 소설 속 주인공 에단 휘태커씨는 같은 날을 세 번씩이나 반복해서 살게 된다. 그리곤 우리에게 삶에 있어서 진정 중요한 것은 성공도, 돈도, 명예도 아니란 것을 알려준다. 마지막 장을 덮으면서 드는 생각, 내 삶에 있어서 진정 중요한 것은 무엇일까? 오늘 죽는다면 나는 무엇을 하고 싶을까? 그리곤 생각나는 문장, Dreams as if you'll live forever, live as if you'll die today.시간은 항상 충분하지 않다. 그 일을 하기에 최선의 시기는 바로 지금이다. 하지만 우리는 항상 착각 속에 산다. 평균이 우리에게 주는 환상인지도 모른다. |
익스플로러에서 폴더를 통째로 지우려고 하면(shift + delete) 다른 프로그램이 사용하고 있다면서 지우지 못하는 경우가 있습니다. 폴더 내부의 모든 파일을 다 지웠는데, 폴더를 못지우고 있는 것이죠. 물론 어떤 프로그램도 폴더를 잡고 있지는 않습니다. 언젠가 아는 분들과 술마실 때에도 이 이야기를 잠시 한 적이 있는데, 의외로 이런 현상을 저만 겪는 것 같더군요. 여러분은 겪은 적 없으신가요? 아래와 같은 대화상자가 출력되죠.![]() 문제를 조사하면 참 기가 막힙니다. 익스플로러가 폴더 핸들을 잡고 있거든요. 아래 화면은 그 당시의 익스플로러가 열어놓고 있는 핸들입니다. Bin 폴더를 엄청나게 열어놓고 있죠. 그렇다고 제가 특별한 쉘 익스텐션을 쓰느냐? 그것도 아닙니다. 제 컴터에 익스텐션이란 미명하게 깔린 것들은 TSVN, 빵집, 7-Zip 밖에는 없거든요. TSVN이 설치되지 않은 다른 컴퓨터에서도 이런 증상을 겪어 본 바로는 익스텐션 문제는 아닌 것 같더군요. 어쨌든 저 핸들을 다 닫아주면 폴더는 지워집니다. 물론 익스플로러를 강제로 죽이고 새로 시작해도 지워집니다. 여튼 왜케 폴더 핸들을 잡고 있는지는 도무지 알 수 없는 익스플로러 아저씨죠... ![]() 덧) 익스플로러를 강제 종료한 다음 다시 실행하고 싶다면, 작업 관리자를 띄운 다음(ctrl + shift + esc), 파일 메뉴에서 새 작업을 선택하고, 그 곳에 explorer를 입력하고 확인 버튼을 누르면 됩니다. 의외로 모르시는 분들이 많더라고요. *^^* |
도플갱어란 자신과 똑 같은 사람을 만나는 것을 말한다. 주제 사라마구 할아버지의 책, 도플갱어 또한 그러한 모티브를 가지고 만들어진 소설이다. 평범한 역사 교사인 주인공, 테르툴리아노 막시모 아폰소는 어느날 영화 속에서 자신과 똑같이 생긴 사람을 보게 된다. 그 사람은 다름 아닌 단역 배우, 안토니오 클라로다. 《도플갱어》는 이 둘이 만나서 겪게 되는 정체성의 혼란과 그것들이 해소되는 과정을 그리고 있다. 작가는 소설 속에서 끊임없이 우리에게 질문을 던진다. 무엇이 우리를 자기 자신으로 만들어 주는 것일까? 무엇이 우리의 정체성을 증명해주는 것일까? 우습게도 소설 속 테르툴리아노 막시모 아폰소에게는 어머니가 키우는 개 이름이 그러한 역할을 한다. 그는 짤막한 메시지를 남겼다, 잊지 마세요, 지금 제 이름은 안토니오 클라로예요. 그러고 나서 그는 마치 현재 논의 중인 불안하고 변덕스러운 정체성을 확실하게 밝혀줄 중대한 증거를 방금 발견한 사람처럼 다음과 같이 덧붙였다. 엄마가 기르는 개 이름은 토마르크투스예요. 어머니가 여기에 나타나더라도 그가 어머니에게 아버지와 조부모와 이모, 고모, 삼촌들의 이름을 줄줄이 열거할 필요는 없을 것이다. 그가 무화과나무에서 떨어져 팔이 부러진 일이나 처음으로 사귄 여자친구, 또는 그가 열 살 때 집의 굴뚝이 번개에 맞아 부서졌던 일을 이야기할 필요도 없을 것이다. 카롤리나 막시모 아폰소가 자기 아이가 바로 눈앞에 서 있음을 확신하는 데는 놀라운 모성 본능이나 과학적이고 확실한 DNA 검사가 필요하지는 않을 것이다. 개의 이름만으로 충분할 것이다.작가는 정체성 문제의 심각성을 주인공을 통해서 간접 표현한다. 테르툴리아노 막시모 아폰소와 안토니오 클라로가 처음 만났을때 테르툴리아노 막시모 아폰소는 총을 들고 가지 않았다. 그는 단지 서로 똑같이 생겼다는 것만 확인하고는 떨어져 살면 된다고 생각했다. 문제를 간단하게 생각한 것이다. 하지만 일련의 사건을 겪은 후 마지막 장면에서 테르툴리아노 막시모 아폰소는 자신과 똑 같은 사람이 한 명 더 있다는 전화를 받고는 권총을 챙긴다. 그게 얼마나 비극적인 일이라는 것을 깨닳은 것이다. 나늘 나로 만들어 주는 것은 무엇일까? 내가 가진 껍데기일까? 내 속에 든 알맹이일까? 아니면 그런 모든 것도 아닌 단지 다른 이들의 기억일까? 아마 그 모든 것 중에 하나라도 잘못된다면 나는 나란 존재가 아닌지도 모른다. 기억에 남는 문장, 혼돈은 해석되기를 기다리는 질서일 뿐이다. |