요즘 조금 지쳐있는지- 하루하루 짜여진 일정에 따라서 생활하는게 피곤하게 느껴진다. 물론 내가 원하는 바가 있고 그것을 이루기 위해서 열심히 하려는 거지만. 여유롭게 즐기면서 사는 사람들을 보면 부럽기도 하고 샘도 나고 그렇다.
지금 내가 이렇게 하고 싶은 걸 참고, 힘든걸 견디는게 정말 미래의 행복으로 이어질까. 과연 미래의 행복이 내가 즐기지 못했던 지금의 보상이 될까. 이십대의 즐거움이란 특별한 의미가 있는 것만 같고, 즐기면서 지내는 친구들을 보면 그 시간을 즐기지 못하고 보내는 내가 안타깝기도 하다. 왜 참고 기다려야하는가. 지금 즐거우면 안되나.
그러던 차에 이선임님 책장에서 마시멜로 이야기(Dont Eat the Marchmallow..Yet)라는 책을 봤다. 예전부터 마시멜로 실험은 들어서 알고 있었고 내용도 그저 그런 교훈적인 우화겠거니 생각했지만. 가벼운 마음으로 읽어나 보자 하는 마음에-
마시멜로 실험에 대해서 간단히 설명하면 개인의 만족 유예 정도와 사회적 성공의 연관성을 알아보는 일종의 심리학, 사회학 실험? 으로 내용을 간단히 살펴보면 다음과 같다.
어린 아이들에게 아이들이 좋아하는 과자인 마시멜로를 하나씩 나누어주고 담당자가 자리를 비운 15분동안 마시멜로를 먹지 않고 참을 경우에 하나를 더 주겠다고 한 후, 15분동안 마시멜로를 먹지 않고 참은 아이와 그렇지 못한 아이의 10년 동안의 성장과정을 상호 비교한 실험.
실험 결과 아무런 감시자가 없는 상황에서 15분 동안 자신의 욕구를 참아낸 아이들의 학업 성취도와 성격발달 정도가 더 뛰어났다는 것. 미래의 더 큰 만족과 보상을 위해서 당장의 욕구 충족을 미룰 줄 아는 아이들이 사회적으로 성공할 가능성이 높다는 것을 증명한 실험인 것이다.
이 책은 이 실험의 대상자이면서 15분을 참아냈던 아이 중의 한명인 성공한 사업가가 마시멜로를 바로먹어 치운 타입에 속하는 그의 운전수로 일하고 있는 젊은이에게 깨달음을 주기 위한 동화같은 이야기다. -----------------
책의 내용은 이전부터 짐작하고 있던 것과 크게 다르지 않았고 전하고자 하는바도 역시 그러했지만 읽는 동안 적지 않은 고민을 할 수 있게 해주었던 책.
책을 읽기 전에 했던 생각들을 깔끔하게 정리하진 못했지만 마음을 조금 가볍게 해주었고, 마시멜로를 먹지않고 참을 수 있도록 살짝 도와주는(?) 정도 ㅋ
결국 중요한 것은 무엇이 나에게 마시멜로이고 무엇이 진정한 보상인가하는 가치관과 얼마나 참아야할 것인가하는 정도의 문제. 보상 또한 중요한 요소이므로 무작정 참기만 하라는 것은 옳지 않다고 생각한다.
지금 내가 이렇게 하고 싶은 걸 참고, 힘든걸 견디는게 정말 미래의 행복으로 이어질까. 하는 질문에 대해서는 "그렇다" 라고 말할 수 있는 근거가 되어주지만 과연 미래의 행복이 내가 즐기지 못했던 지금의 보상이 될까... 이건 아직도 잘 모르겠다.
그렇지만 준비하지 않고 무작정 즐기기만 하는 무책임함은 결코 아무것도 해결해주지 못한다. 그리고 현재라는 것이 힘들고 참고 견디기만 해야하는 시련으로만 가득찬 것은 결코 아니지 않나 ^^ 꿈을 향해 가는 길이니까- 혹은 그게 아니라도 수많은 이유들로 충분히 즐거울 수 있다. 이 책에서 문제 삼고자 하는 것은 별 가치가 없는 찰나의 즐거움으로 현재뿐 아니라 가질 수 있었던 미래의 행복까지 갉아먹는 것이라고 생각한다.
마시멜로가 하나뿐인 사람에게는 참고 기다리며 또하나의 마시멜로를 받는다는 것이 현명하고 좋은 방법이지만 이미 많은 마시멜로를 가지고 있는 사람에게는 해당되지 않는다는 것. 모든 사람이 똑같은 마시멜로를 가지고 시작하지 않는 다는 점에 굳이 시비를 걸지 않는다면 좋은 내용이라고 할 수 있겠지.. 못가진 자들이 희망을 가지게 해 불만을 잠재우려는 마시멜로처럼 달콤한 거짓말이 아닐까 하는 삐딱한 음모론은 접어둬야겠다. ---------------- 인생에서 한번 뿐인 청춘을 그 누가 즐기고 싶지 않겠는가. 하지만 인생은 생각보다 훨씬 긴 여정일세. 나는 가장 유혹에 굴복하기 쉽고, 강렬한 매혹에 빠져들 수 있는 시절에 마시멜로를 먹지 않고 꾹 참고 있었네.
오늘 열심히 툴을 만들다가 또 쓰레드 때메 지난 번이랑 똑같은 문제로 고생하는 거도 피곤하고- 하나밖에 못넘겨주는 파라미터로 다이얼로그를 넘겨도 UpdateData도 안되고 여기저기 걸리는게 많아서 고생ㅠ (지난번에 고생해서 알아냈다시피 쓰레드 내에서는 윈도우(UI쪽)를 건드리지 않는 것이 상책이다.) 그래서 이승희 주임님한테 물어봤다 -_- (창환이 말로는 Windows UI 프로그래밍 쪽으로 일가견이 있으시다고)
UI와 내부 연산을 분리할 것 UI 관련 부분 (윈도우로부터 데이터를 받아오거나 출력하거나, 윈도우 상태를 변경하는 부분) 들이 쓰레드 안에 들어가서 파일을 옮기고 프로세스를 실행하는 등의 실제 연산 중간중간에 박혀있다. 작업 쓰레드 내에서 UI 관련 연산을 하는 건 안좋은 습관.
초기화를 비롯한 실행 조건 처리는 첫부분에서 한꺼번에 할 것 파일을 복사할 경로를 확인하고 파일 복사, V3 경로 확인하고 실행. 이런 식으로 그 때 그 때 확인하는 것보다는 실행하는데 필요한 모든 조건을 확인한 후에 작업을 시작하도록.
예외처리 이 코드에서는 안나타나지만 파일 이동에 대해서 예외처리를 제대로 해주지 않았다. 어떤 이유에서든 연산이 실패할 가능성이 있으면 예외처리 루틴으로 가도록-
------------------
사실 저 모든게 쓰레드를 제대로 사용할 줄 몰라서 그런거다 -_- 저 연산들이 순차적으로 실행되어야하는 연산이기 때문에 WaitForSingleObject 를 써서 기다려야되는데 Thread의 경우는 WaitForSingleObject의 파라메터로 CThread 포인터를 바로 넘기는게 아니라 CThread->m_hThread를 넘겨줘야 한단다.
전에 한번 WaitForSingleObject 써봤는데 쓰레드만 생성하고 바로 돌아와서 메인쓰레드랑 동시에 실행되는 바람에 순차적 실행이 안됐던 적이 있었는데 핸들값을 잘못 넘겨줬기 때문이었나보다.
여튼 그래서 순차적으로 실행되도록 하려고 쓰레드에 다 밀어넣고 했는데 이러면 안된다고 하시는군. Cleaner.MoveSample(), V3.Run(), Cleaner.RemoveEmptyFolder() 만 각각 쓰레드를 생성하여 실행하는 것이 좋다고 한다.
void CMoveDlg::OnOK() { // TODO: Add extra validation here GetDlgItem(IDOK)->EnableWindow(false); GetDlgItem(IDC_STATIC_STATUS)->SetWindowText(" 샘플 복사 중");
// V3 검사 수행 GetDlgItem(IDC_STATIC_STATUS)->SetWindowText(" V3 실행 중 - 종료하지마세요"); //sprintf(tgtpath, "%s%04d%02d", tgtpath, m_year, m_month); // 경로 설정 CExcuteProgram *pV3 = new CExcuteProgram("V3", programpath, tgtpath);
// 바이러스 검사 쓰레스 실행 -> 리턴값 확인 pThread = AfxBeginThread(V3RunThread, (LPVOID)pV3); if( pThread != NULL){ // 검사 종료 윈도우를 찾아서 닫아주는 쓰레드 실행 AfxBeginThread(CloseV3WindowThread, pThread); WaitForSingleObject(pThread->m_hThread, INFINITE); } else{ GetDlgItem(IDC_STATIC_STATUS)->SetWindowText("쓰레드를 생성할 수 없습니다"); GetDlgItem(IDOK)->EnableWindow(TRUE); return; }
GetDlgItem(IDC_STATIC_STATUS)->SetWindowText(" 빈 폴더 삭제 중");
Working Thread와 UI Thread를 분리해야한다는 말은 많이 들었지만 어떻게 해야하는지 잘 몰랐는데 대충 이렇게 하는건가;; 조금 깔끔해 진것 같긴 하지만 어설프다. 그래도 그럭저럭 필요한 기능은 전부 구현이 되서 만족 ^^ 한가지 아쉬운거라면 저 쓰레드 함수들.. Dialog 밑에 주렁주렁 달려있어서 좀 이상하다는거. 좀 더 깔끔하게 정리된 코드를 짜고 싶다. 디자인 패턴을 공부해야지!
-------------------- 굉장히 부끄러운 일이지만 회사에서 코딩을 하다보면 정직원분들이 상식이라고 생각하는 부분을 나는 잘 모르고 있는 경우가 많아서 정직원들이 내 코드를 보면 왜 이런식으로 짰을까- 라고 놀람을 떠나 어이없어하는 경우가 있다 -_- (변수명이라거나 예외처리라거나 하는 기본적인 부분부터 프로그램의 구조같은 것까지 여러가지 면에서)
정말이지 코딩같은건 어디서 체계적으로 배우는게 아니라서 (공이라고 해도 뭔가 체계를 가지고 배운 적은 없다. 이상한 일이긴 하지만) 참 힘들다. 지식도 지식이지만 코딩 습관 또한 중요한 부분을 차지하는 듯하다.
Moves an existing file or a directory, including its children. To specify how to move the file, use the MoveFileEx or MoveFileWithProgress function. To perform this operation as a transacted operation, use the MoveFileTransacted function.
Parameters lpExistingFileName [in] The current name of the file or directory on the local computer. In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "//?/" to the path. For more information, see Naming a File. Windows Me/98/95: This string must not exceed MAX_PATH characters.
lpNewFileName [in] The new name for the file or directory. The new name must not already exist. A new file may be on a different file system or drive. A new directory must be on the same drive. In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "file://?/" to the path. For more information, see Naming a File. Windows Me/98/95: This string must not exceed MAX_PATH characters.
Return Value If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks The MoveFile function will move (rename) either a file or a directory (including its children) either in the same directory or across directories. The one caveat is that the MoveFile function will fail on directory moves when the destination is on a different volume.
If a file is moved across volumes, MoveFile does not move the security descriptor with the file. The file will be assigned the default security descriptor in the destination directory.
The MoveFile function coordinates its operation with the link tracking service, so link sources can be tracked as they are moved.
----------- including its children
이것도 모르고 재귀 호출하면서 경로 탐색해서 CopyFile 로 하나하나 폴더 만들고 하위 파일 복사하고 빈 폴더 지워주고 ㅠ-ㅠ
스토리가 없다고 많이 비판을 받던데 보니까 의외로 그런건 못느꼈고 재밌게 봤다. 스토리때문에 비판을 많이 받는다는데 트랜스포머나 그게 그거지 싶은데 ㅋ (우주 괴물이 쳐들어오는거나 한국의 고대 신화나, 큐브나 여의주나 -_-)
오히려 아쉬운 부분은 배우들의 연기력과 실사로 찍은 부분.
연기력은 아무래도 신인들이나 지명도가 떨어지는 배우들이다 보니 어쩔 수 없고- 특히나 한국을 배경으로 찍은 부분은 더 심하게 느껴진다. (사실 영어로 연기하는 부분은 어색한지 아닌지도 잘 모르겠다;;)
실사와 CG가 함께 나오는 부분에서는 촬영 기법이나 카메라 앵글 같은게 약간 어색하달까. 굉장히 스케일이 큰 장면인데도 자연스럽게 녹아들거나 화면에 압도당한다는 느낌이 없이 연출된 상황이라는게 느껴진다.(실사만) CG와도 자연스럽게 어울리지 못하는 듯한 모습.
CG는 예전에 찍은 듯 보이는 초반 30분 정도를 제외하고는 뒤로 갈 수록 점점 좋아진다. 마지막에 이무기가 용으로 변신해서 부라퀴와 싸우는 모습은 와우~ 상상 속의 용을 너무 실감나게 그려냈다.
그리고 곳곳에서 심형래 특유의 유머도 느낄 수 있었고. 무엇보다 심형래 감독의 의지. 한국적인 스토리를 바탕으로 한 영화. 마지막에 배경으로 깔리는 아리랑. (공룡을 얼마나 좋아하는지도 알겠다 ㅋㅋ)
무작정 비판만 받아야할 영화는 아니라고 생각한다. 평론가들이나 독립영화 감독 같은 영화 좀 안다고 생각하는 사람들이 디워를 그렇게 못마땅해한다는데. 그 정도 돈으로 그거밖에 못만드냐고, 애국심에 기대서 잘 만들지도 못한 영화로 돈만 벌려 한다고 하지만..
열정하나만으로 투자를 받아내고 힘든 시기도 거쳐 6년이란 시간동안 만든 영화에서 무엇보다 심형래 감독의 의지와 도전정신이 잘 느껴진다. 앞서 말했던 어설픈 구도와 앵글, 웃긴 연기 지도 또한 싫지 않다.
겨우 1, 2년 들여서 시덥잖은 줄거리의 쓰레기 영화 만드는 것보다야 훨씬 멋지다. 말이야 바른 말이지 최근에 좀 잘만들었다 하는 한국영화들, 스토리는 전부 이미 공인된 다른 것들에서 따온 거 아니었나. 언제부터 스토리 빈약이 그렇게 욕을 먹을 일이었다고 다들 눈에 쌍심지를 켜고 덤벼드는지 (바람직하다는건 아니지만 주제를 알아라는거다. 스크린 쿼터할 때는 애국심 애국심 노래를 부르더니)
자기네는 예술하는 사람이고 심형래 감독은 평생 코미디언인가. 특권의식이야 열등감이야? 대체 뭔지 모르겠다.
생각보다 훨씬 재밌었고- 정말로 감동적이었단 생각은 별로 안들었지만- 눈물은 많이 났다. 정치적인 부분을 건드리지 않으려고 노력하면서 당시 광주의 상황을 사실적으로, 그렇지만 감성적으로 잘 전달하는 듯하다. 평범한 시민이 왜 폭도가 되었나. 하는 것. 복잡한데다 뭐가 진실인지도 알 수 없는 정치적 사실을 배제하고라도 우리가 절대 잊어서는 안될 시민의 희생. 군대가 국민을 향해 총구를 겨누었다는 사실.
영화가 우리에게 전하고자 하는 메세지는 고발도 아니고 비난도 아닌 듯하다. 죽어가던 시민들이 마지막에 서로의 이름을 물으며 자신들이 그 곳에 있었다는 사실을 기억해 달라는 것. 거리로 나와달라는 신애의 목소리가 점점 우리를 잊지 말라달라는 흐느낌으로 바뀌어가는 것. 단지 잊지 말아달라는 것- 그 뿐이 아닐까.
인간은 얼마나 나약하고 잔인하며 한편으론 또 강한가.
전체적으로 짜임새있는 영화인듯. 시민들의 작은 행복을 묘사하는 부분부터 그게 무너져가는 과정. 자신의 행복을 지키기 위해 싸우는 사람들. 형과 동생, 아버지와 아들, 스승과 제자, 의사와 환자, 친구들.. 그들이 거리로 나간건 이념도 정치도, 무엇도 아니었다. 인간이라면 누구나 소중히 여길만한 가치. 그것이 위협받았기 때문이 아닐까.
애국가를 배경으로 계엄군이 시민에게 총을 발사하던 장면. 얼마나 아이러니였던지.
그리고 신애의 손. 폭도와는 아무 상관이 없을 것만 같던 간호사 신애의 손이 피로 물들고, 결국은 총으로 계엄군을 쏘기까지. 붉게 물든 손을 망연히 쳐다보는 신애의 눈.
모든 등장인물이 주인공의 무게를 가지고 있는 듯 느껴지는 영화였기에 정말 인상깊은 장면이 많았다.
전두환은 얼마나 쓰레기인가- 정말 이 영화를 보고 난 후. 맘 속에 짠하던 여운이 사라지고 남은 생각. 실제로 있었던 거에 비하면 굉장히 약하게 묘사한거라는데도 충격적이었는데.. 안타깝다.
바람피기 좋은 날
불륜을 소재로 한 영화였지만 시종일관 유쾌한 분위기가 인상적. 바람 핀다는 건 의외로 굉장히 심각한 일은 아니었던 건가.
그냥 친구를 만나듯이- 일상에서의 답답함을 벗어나는 것. 자기를 이해해주는 사람을 만나는 것. 분명 자신이 사랑하는 배우자와 함께 해야하는 것이지만. 안되니까 다른 대상을 찾는 건지도 모른다.