« Previous : 1 : ... 145 : 146 : 147 : 148 : 149 : 150 : 151 : 152 : 153 : ... 221 : Next »

1. 말씀 보존 학회와 한글 킹 제임스 성경

1994년, 말씀 보존 학회(이하 말보회)라는 단체가 그 이름도 유명한 “한글 킹 제임스 성경”이라는 역본을 내놓으면서, 한반도에 한국어라는 언어와 한글이라는 문자를 매개로 명목상 '없음'이 없고 변개되지 않은 하나님의 말씀이 처음으로 출간되었다. 사실 그 전부터도 '새성경'이라는 이름으로 신약이 먼저 나와 있었으나, 방대한 분량의 신구약 성경전서가 최초로 완역된 게 저 때이다.

한킹이 처음 나왔을 때는 한국 교회가 말보회에 대해 그렇게까지 적대적이지 않았다고 한다. KJV라고 하면 그래도 신학깨나 했다는 사람들한테서 충분히 인정받을 만한 인지도가 있는 성경이었고, 어차피 기존 개역 성경도 허접한 구석이 있다는 걸 알 사람들은 다 알고 있었다. 그렇기 때문에 심지어 모 대형 교회에서는 한킹을 정식으로 받아들여 쓸 의향을 밝히기까지 했다고 한다.

그러나 말보회는 이 좋은 기회를 얼마 못 가 스스로 차 버렸다. “개역 성경은 사탄 마귀의 성경이기 때문에 그걸 읽어서는 구원도 못 받는다 / 우리 성경 침례 교회 이전에 대한민국엔 진정한 신약 교회라는 게 존재한 적이 없었다”는 식으로 심한 병크를 저질렀고, 대표의 싸이코 같은 모습이 부각되면서 한국 교회는 마음을 완전히 닫아 버렸다.

배교의 결정판 NIV
스스로 성경이기를 포기한 현대어 성경
오리겐도 울고 갈 변개 실력
현대어 성경으로 한국 교회를 뜨겁게 할 유일한 방법은 땔감으로 쓰는 것밖에 없다 (레알 불쏘시개 인증)


이런 도발적이고 자극적인 표현은 당시 말보회가 광고로 퍼뜨리던 문구였다.
왠지 “이 얼마나 끔찍하고 무시무시한 생각이니” 짤방이 생각난다... “개역성경은 성경의 쓰레기이고 NIV는 성경이라 불릴 수 없는 저질 족속이며 공동번역은 입에 담기조차 부끄러운 저질 성경이다. 그러나 ...” ㅋㅋㅋ

비록 말보회의 주장 중에 일리가 있는 말도 있었고 한국 기성 교계가 각종 비성경적인 관행들을 답습하고 있는 게 한둘이 아닌 건 사실이지만, 말을 저 따위로 해서는 진심이 어떻게 전달되겠나. 말보회는 1998년에는 모 교계 총회로부터 공식적으로 이단 판정까지 받음으로써 확인 사살을 당했다. 말씀 보존 학회가 아니라 “말썽 보존 학회”로 찍혔다.

이로써 한국 교회는 변개되지 않은 올바른 성경을 통한 영적 부흥 따위는 아주 안드로메다로 가 버리고, '킹 제임스'의 '킹' 자만 꺼내도 “거기 이단 아냐?”란 반응이 나오는 영적 무지가 판을 치는 암흑기로 빠지고 말았다. 그리고 변개된 성경이 삭제한 게 아니라 “KJV의 구절이 후대에 근거 없이 추가된 것이다”는 식으로, 변개된 역본 및 본문을 옹호하는 신학자들의 잘못된 궤변이 교계에서 더욱 힘이 실리는 계기가 마련되어 버렸다.

2. 킹 제임스 흠정역

그러던 1990년대 중· 후반엔, 말보회 내부에서도 성경의 편집 방침에 대한 대립이 심해졌고 대표 되시는 분의 막무가내 식 독단과 횡포를 견디지 못해 내부 인원이 일부 이탈했다. 이런 식으로 말보회의 밖에 있는 국내 킹 제임스 맨들이 여럿 이를 악물고 의기투합한 끝에 자기네만의 성경 역본을 2000년 여름에 처음으로 내놓았는데, 그것이 바로 “킹 제임스 흠정역”이다. KJV는 왕이 공인한 성경이라 하여 이를 한자어로 표기하면 '흠정역'이 되는데, 그 단어를 고유명사화한 것이다. 그리고 그 시기가 정보 올림피아드 출품용 <날개셋> 한글 입력기 1.0이 완성된 것과 매우 비슷한 건 우연이다. ㄲㄲ

말보회 측에서는 이런 움직임을 좋아할 리가 없었으니 당연히 크게 반발했다. 흠정역은 한킹을 베껴서 쉽게 만들어진 거라고 엄청 중상모략과 악담을 늘어놓았다.
하지만 둘을 펴서 대조해 보면 이런 모함은 설득력을 잃는다. 한킹은 몇몇 센세이셔널한 구절을 제외하면 흠정역보다 품질이 훨씬 더 열악했으며, KJV가 아니라 실은 공인 본문(TR)을 번역한 이역도 있었기 때문이다. 단순히 한킹을 베끼는 식으로는 흠정역 같은 성경이 결코 나올 수가 없음이 자명하다.

시대를 풍미하면서 좋든 싫든 대한민국 땅에 KJV를 대대적으로 이슈화했던 말보회는 21세기 이래로 어찌 지내고 있는지 난 잘 알지 못한다. 과거의 너무 지나쳤던 병크에 대해서 말보회 내부에서도 “심했다, 그땐 좀 유감이다” 같은 자정의 목소리가 없지는 않다고 난 들었다.

이제 이 글의 초점은 한킹에서 흠정역으로 바뀐다. 흠정역의 주 번역자는 잘 알다시피 정 동수 교수(인하대 기계공학과..;)인데.. 자기 입으로 민망하게 떠벌리지를 않을 뿐이지, 한국에 바른 성경을 보급하고 바른 교회를 세우려는 열망과 부담감을 주체하지 못해 몸서리쳤던 분이다. 그래서 생업을 제외하고 40대를 전후한 인생을 죄다 그 일에 바쳤다.

흠정역 초판이 완성되었을 즈음, 정 교수는 <그리스도 예수안에>라는 기독교 자료 웹사이트를 개설하여 성경 이슈를 알리기 시작했다. 이 사이트는 게시판이 없고 딱히 양방향 의사소통 기능은 없었다. 난 대전에서 대학 생활을 하던 이 시기에 그 사이트를 통해서 킹 제임스 성경에 대해 알게 되었다.

한편, 그분은 안식년을 이용해 미국으로 건너가서 KJV를 쓰는 펜사콜라 크리스천 대학에서 신학 석사를 받고, 목사 안수를 받았다. 그 후 곧장 귀국하여 몸소 교회를 개척하였는데...

그러나 모종의 이유로 인해 이때의 목회는 실패하고 교회가 와해되고 말았다. 2000년대 중반이던 이 시기가 정 목사의 인생에서 가장 괴로운 시기였다고 그분이 스스로 증언하며, 지금의 설교 때에도 스스로 언급한다. 뭐 비윤리적인 일이나 스캔들 때문인 건 절대 아니고, 약한 성도들을 시험에 들지 않게 세세하게 어루만진다거나 하는 심리적인 일에 서툴렀던 게 아닌가 싶다. 그런 건 성경 지식만으로 되는 게 아니며, 누가 목회를 하더라도 몹시 어려운 일이다.

3. 사랑 침례 교회

말보회가 흐려 놓는 바람에 한번 부정적으로 굳어진 KJV 이미지의 여파는 꽤 컸다. 그러나 말보회의 밖에서 바른 성경을 알리려는 분들의 노력은 헛되지 않아서 수 년에 달하는 시간 동안 그 상처는 조금씩 치유되기 시작했다. 흠정역 성경을 기존 기독교 매체에다 광고하고, 또 기성 기독교 출판사를 통해 시판하는 데 성공함으로써 KJV에 대한 오해와 편견을 불식시키고 이것도 신뢰할 수 있는 어엿한 대체 한글 성경 역본임을 알리게 되었다.

2008년경, 정 동수 목사는 개인적으로 다시 인도하던 성경 공부 모임을 기반으로 지금의 사랑 침례 교회를 다시 세웠다. 그리고 Keep Bible이라는 후속 웹사이트를 개설하여 기존 <그리스도 예수안에>를 흡수했다. Keep Bible은 예전 사이트와는 달리 커뮤니티 기능이 크게 발달해 있으며, 각 지역 교회 홈페이지별로 찢어져 있던 커뮤니티 기능을 죄다 흡수하고 명실상부 국내 최고의 KJV 신자들의 교제 공간 겸 자료 창고가 되었다. 현재 Keep Bible에 버금가는 다른 양대 산맥 커뮤니티는 청지기 카페 정도가 고작이다.

이를 통해 흠정역 성경은 입에서 입으로 퍼져 나갔고, 사랑 침례 교회는 서울이 아닌 경기도 소재임에도 불구하고 급속도로 성장했다. 2012년에는 예전보다 꽤 더 큰 건물을 구해서 인천 남부로--서울에서 가기는 더 힘들어짐-- 이사를 갔으나, 거기도 이내 꽉 차서 주일 오전 예배 때 300명에 가까운 인원이 온다고 한다.

첫 개척했던 교회가 실패했던 것과 비교하면 정말 상전벽해의 성공이다. 온라인 상으로 정 동수 목사의 설교를 듣는 사람들도 국내외에 굉장히 많으며 설교에 대한 반응이 굉장히 좋다.

잘 생각해 보면, 지금은 시기적으로도 예전에 비해 KJV 거부 분위기가 가라앉고 있고, 기존 교계 자체도 개역 성경을 개역개정으로 바꾸려는 분위기인데 이 참에 성경 이슈에 눈을 뜬 사람들이 생겨나기 시작했다. 그리고 바른 성경을 기반으로 성경대로 건전하고 바르게 행하는 교회에 대한 영적 갈급함을 느끼는 사람도 늘고 있다. 이런 추세가 얼마나 지속될지는 모르겠지만 확실히 고무적인 현상임이 틀림없다.

그런데 문제는 정 동수 목사는 전임 사역자가 아니라는 것.
대학 교수와 목사를 겸임하고 있는 엄친아라서, 머리는 듀얼코어일 수 있어도 몸이 둘이지는 않다.
주중에 수요 기도회를 할 수 없기 때문에 날짜를 불금 시간대인 금요일 저녁으로 대신 잡고, 가끔은 학회 때문에 미국 출장도 가신다. 그런 상태에서 수백 명에 달하는 많은 성도들을 다 감당할 수는 없다.

그뿐만이 아니다. 지금도 그러는지 모르겠지만, 정 목사는 자기는 애초에 전임도 아니니 아예 사례비를 받지 않고 목회를 했다. 그 대신 부목사를 아예 자기 사비로 사례비를 주면서 초빙하기까지 했다. 다시 말해 사랑 침례 교회는 덩치에 비해 사역자의 부족을 호소하고 있었다.

4. 김 문수 형제님

그런 와중에.. 혜성처럼 나타난 분이 바로 김 문수 형제님이었다.
2009년, Keep Bible 사이트가 개설된 지 얼마 되지 않았을 때부터 이분은 정 목사를 빼닮은 말투로 성경의 어려운 내용들을 풀이하고 흠정역을 적극 옹호하는 글들을 시리즈로 올려서 주변 사람들을 놀라게 했다. 그야말로 최고의 원군이 등장한 셈이었다. 이 사람이 누군지 궁금해서 사랑 침례 교회에서는 그분을 초청도 한번 했다.

그랬는데 알고 보니, 이분은 나하고도 더 옛날에 PC 통신 하이텔에서 종종 마주친 적이 있는 분이었다.
그때는 난 겨우 중학생-고등학생이었고 저분은 아마 서울대 박사 과정이 꺾였거나 이제 막 박사를 마치신 상황. 베이직 동호회 같은 프로그래밍 동호회에서 마주쳤었기 때문에 난 그분을 컴공 전공자 정도로 생각했다. 물론 컴퓨터 선교회(kcm) 같은 기독교 동호회에서도 본 적이 있었기 때문에 그분이 독실한 크리스천인 것까지도 알고 있었다.

PC 통신 시절부터도 그분은 쓰는 글의 스타일이 굉장히 자상하고 포근하고 뭔가 권위가 있어 보였고, 박학다식함이 느껴졌었다. 질문이나 잡담을 거의 안 올리고, 올리는 글은 정보나 답변밖에 없었다. 아, 그분은 1999년에 본인이 Intel ISEF에 국내 최초로 출전하게 됐을 때, 하이텔 베이직 동호회에다 해당 신문 기사 본문을 올리면서 내 축하를 해 주시기도 했다. 우와..!

그 뒤 PC 통신이 몰락하면서 그분과의 연락은 자연스럽게 끊어졌고 그분에 대한 기억은 내 머리 한쪽 구석에만 남아 있게 되었는데...
그로부터 10여 년 뒤에 그분을 킹 제임스 교회에서 정 동수 목사와 얽혀서 다시 상봉하게 될 줄이야. 세상에!

직접 만나고 보니 이분은 1960년대생으로, 정 목사하고 나이 차이도 별로 안 나는 분이었다. 연세가 생각보다 많으신 셈. 그리고 컴공 전공이 아니라 언론정보학 쪽의 문과 출신이었다. 헐, 그런데도 프로그래밍에도 그 정도로 관심을 보이셨나? 전공의 특성상 연설(스피치), 정보 커뮤니케이션 쪽의 전문가였으니 이건 뭐 설교자에게 이보더 더 적절할 수 없는 전공인 듯하다.
이것저것 엉뚱한 짓을 하는 걸 좋아하는 나와는 달리, 그분은 첫인상만 봐도 책을 무섭게 파는 걸 즐기는 학구파, 학자 기질이 얼굴에 딱 써져 있었다.

만남이 있은 후, 이분은 정 동수 목사로부터 신학 공부 제안을 받으신 듯했고, 처자식까지 있는 처지임에도 불구하고 이를 수락하여 유학길에 올랐다. 정 동수 목사가 10여 년 전에 거쳤던 동일한 학교에 입학하여 2년간 공부를 하고, 각종 장학금을 받으면서 학교를 “최우수 성적”으로 졸업했다고 한다. 그 동안 10대 초반 나이인 두 아들에게 영어를 마스터시킨 건 덤. 2010년 가을부터 2012년 가을까지, 내가 대학원 석사 과정에 재학했던 기간과 동일한 기간 동안 말이다.

5. 사랑 침례 교회 부목사로 부임

이런 과정을 거친 후, 김 문수 형제님은 귀국해서는 딴 데 갈 필요도 없이 사랑 침례 교회의 부목사로 정식 부임했다. 이미 Keep Bible에 올리는 글들을 통해 사랑 교회 성도들과도 친숙한 상태였으니, 일꾼을 절실히 필요로 하는 그 교회를 위해 완전히 준비된 최적의 인물이었다. 그래서 현재 그분은 대학 강사와 목사 직분을 겸임하고 계신다.
다음은 사랑 침례 교회 홈페이지에 올라 있는 김 목사의 가족 사진이다.

사실 내가 김 문수 목사님하고 과거 친분이 있었다는 사실은 내가 정 동수 목사님하고 개인적으로 가까워지는 데에도 꽤-_- 기여를 했다. 친구의 친구 같은 명목으로? =_=;;; 난 사랑 침례 교회에 다니지 않으며, 그 교회가 생기기 전부터 있었던 서울 소재의 다른 KJV 교회를 다니고 있기 때문이다(서울 진리 침례 교회).

김 문수 목사님이 유학 가 계시던 딱 그 기간 동안 마침 흠정역 제 5판(400주년 기념판)의 교열과 간행 작업이 진행되었는데, 나도 여차여차 하던 끝에 이것 저것 작업을 돕는 일에 연루되곤 했다. 김 목사님과의 이런 특별한 만남이나 계기가 없었으면, 다른 목사님들과 친분도 없고 나이도 한참 어린 본인이 그런 일에 개입될 가능성은 한없이 낮아졌을 것이다. 당사자 자신의 역량뿐만 아니라 이런 식으로 사람을 이어 준 것만으로도 김 문수 목사는 정 동수 목사의 사역에 매우 큰 유익을 끼쳤다고 볼 수 있다.

이런 식으로 킹 제임스 성경과 성경대로 행하는 교회들이 대한민국 땅에서 부흥하면 좋겠다. 그리고 비록 각자 섬기는 교회는 다르지만 믿음이 같은 지체들끼리 언제 또 만나서 교제할 날도 오길..

Posted by 사무엘

2013/05/16 08:21 2013/05/16 08:21
, , , , , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/831

우리 사회에서 '보수, 우파'라고 하면 대체로 이런 성향을 싸잡아 일컫는 게 아닐까 싶다.

  • 역사· 이념적으로는 이 승만· 박 정희 전대통령에 대해 매우 옹호적이다. 이런 진영이 우리나라를 열악한 여건 속에서 비록 일부 과오도 저질렀지만 그건 위태롭던 시대 정황상 불가피한 것들도 많았고 전반적으로는 잘한 게 훨씬 더 많다. 폐허 속에서 경제 부흥과 자유 민주주의를 일군 대한민국 역사와 정체성을 아주 자랑스럽게 생각한다.
  • 정치· 군사 방면으로는 북한에 대해 적대적이고 그들의 안보 위협을 좌시하지 않는다. 오늘날 우리나라는 종북 좌익들의 선동 때문에 매우 위태로운 지경에 있다고 생각한다. 그리고 그 반사 심리로 북한 주민 인권에도 관심이 많다.
  • 도덕· 윤리 측면으로는 동성애 반대, 사형제 찬성, 체벌 옹호 등 말 그대로 과거의 보수적인 가치관을 그대로 존중한다.
  • 경제 쪽에서는 사유 재산과 시장에서의 자유 경쟁(정부의 규제나 개입이 최소화된), 작은 정부, 선별적 복지를 최대한 민다. 공격이 최선의 방어이듯, 성장이 최선의 복지이다. 그리고 친기업 정책이 최선의 일자리 창출 방법이다.
  • 종교 쪽은 꼭 일치하라는 법은 없지만 어쨌든 대체로 친기독교 성향이고, 최소한 기독 안티는 아니다.

이런 것들을 보수라고 부른다면 나는 꼴보수이다. 그리고 이걸 우파라고 부른다면 난 극우라 불려도 할 말이 없을 것이다. 사회 통념적으로 지극히 건전하고 바람직하며, 성경과 하나님 앞에서 한 치 부끄러울 게 없는 이념을 수꼴이라고 부른다면 난 기꺼이 수꼴이 돼 주겠다.

이런 방면엔 여러 유명 논객들이 있다. 저마다 프로필이 화려하며, 과거에 열심히 공부하고 일해서 자기 분야에 기여하고 국가를 발전시킨 이력들이 있는 분들이다.
그런 분들 중, 본인은 최근에 정 창인 박사의 블로그를 알게 되었는데..

1. 북한으로 자유를 확산시켜 북한 동포를 억압적 독재 체제로부터 해방하는 것이 바로 자유 통일입니다.
2. 우리가 대한민국을 사랑한다면 건국 대통령 이 승만을 사랑하지 않을 수 없습니다.
3. 우리가 바른 의사 소통을 원한다면 한글만 쓰기를 생활화하여야 합니다.


우와! 블로그 소개글에 기재된 문장 하나하나가 지극히 공감되고 너무 마음에 들어서 박사님께 페이스북 친구 신청을 안 할 수가 없었다. 그리고 그건 곧장 성사됐다. 내가 먼저, 그것도 오프라인에서 본 적이 없는 사람에게 페친 신청을 하는 경우는 매우 극히 드물다.

사실, 1940년대생에 육사 출신의 유학파 박사 군사 평론가라는 점에서 이분은 지 만원 박사와도 프로필이 비슷하다. 대북 강경론, 이 승만· 박 정희 빠, 한글 전용이라는 지론도 동일하다. 지 박사 역시 필요 이상의 한자 교육은 필요하지 않으며 한글 전용을 지지한다는 것을 글로 표명한 바 있다. (왜냐 하면 보수 진영에 잘 알다시피 유명한 한자 혼용론자 논객도 있어서..)

그럼에도 불구하고 정 박사는 '보수'가 지니는 여러 속성들 중 저 세가지 세부 분야를 더욱 특화하여 미시는 듯하다. 박 정희의 경제 성장보다 이 승만의 반공 이념 건국을 더 밀고, 특별히 한글 전용도 더 강하게 주장한다는 뜻이다. 본인과는 그런 세부적인 취향까지 일치한다. 그러고 보니 정치· 철학 박사이면 이 승만하고 전공 분야도 아주 비슷하다?

난 사실 거의 15년 가까이 전의 고등학교 시절에 한글 학회 소식지 <한글 새소식>을 통해서 이분에 대해 사실 먼저 알고 있었다. 1999~2000년 사이에 한글 전용을 강한 호소력으로 지지하는 글을 투고한 적이 있기 때문이다. 그것도 글 하나가 아니라 <한글 사랑은 곧 나의 사랑>이라고 아예 시리즈로 아주 길게 글을 연재하셨다. 물론 저 블로그에서도 글을 다시 볼 수 있다. 이제는 문자관뿐만 아니라 다른 이념까지 일치하는 분이 되었으니 더욱 존경스럽게 보일 뿐이다.

지금 정 박사의 블로그는 첫 화면부터 <백년 전쟁>이 거의 성경 변개나 황 우석 논문 조작 급의 저질 퀄리티라는 걸 낱낱이 까발리는 반박 자료들로 가득하다.
여기서 백년 전쟁이란 중세에 영국과 프랑스가 싸우고 잔 다르크가 활약한 그 전쟁이 아니라, 이 승만에 대해 완전히 있지도 않은 사실 왜곡과 날조로 인격 살인과 난도질을 해 놓은 쓰레기 영상물의 이름을 일컫는다. 유튜브를 통해 이미 굉장히 많은 사람들이 보고 퍼 날랐다고 한다. 내가 이 승만을 좋아한다는 걸 아니 몇몇 좌파 성향(?)의 지인들이 나보고도 그걸 좀 보라고 권하기도 했었다.

앞부분 조금만 봐도 어이가 없어서 말도 안 나오던데, 저분은 실제 미국 유학 생활을 토대로 더욱 조직적으로 <백년 전쟁>을 어디서 내밀지도 못할 정도로 철저하게 반박해 놓았다. 이 사람들이 정말로 켕기는 게 있으니 이런 조잡한 방법으로 우리나라 초대 대통령을 능멸하고 대한민국 정체성을 부정하려고 한다는 게 느껴진다.

여러분들에게도 일독을 권한다. 이유야 어쨌든 우리나라가 친일 청산 문제로부터 완전히 자유롭지 못하다는 건 사실이다. 그러기에 본인 역시 어린 시절엔 민문연 같은 단체가 존재의 의미가 있고 뜻 깊은 일을 한다고 인정을 했었으나.. 이런 걸 보면 정이 완전히 확 떨어지고 만다. 군사 정권 시절 같았으면 모조리 빨갱이로 몰려서 대표가 사형 당했어도 할 말이 없고 자업자득이었을 것이다..

이런 엉터리들이 이 승만 박사를 음해하기 위해 이런 엉터리 영상물을 만들었다. 이 승만 박사가 지하에서 통곡할 것이다. 이 승만 박사의 신발끈을 맬 자격도 없는 놈들이 감히 이 승만 박사에게 막말을 하고, 그것도 있을 수 없는 인격 모독과 인격 살인을 저지르고 있다. 이런 저질들이 바로 민족 문제 연구소--그 소장은 임 헌영이며 이사장은 함 세웅이다. 그리고 4.9 평화 재단, 그 이사장은 문 정현이다--의 실체다. (본문 중에서)


(* 본인 주: 사실, 이 승만 박사는 지하가 아니라 지금 하늘에 있을 것이다)

Posted by 사무엘

2013/05/14 08:27 2013/05/14 08:27
, ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/830

  • 하나님은 누구는 애초부터 지옥 가라고 창조하셨고 누구는 천당 가라고 창조하셨다.
  • 빛이 없으면 자동으로 어둠이고 어둠이 먼저 있어야 빛이 필요하듯이, 선과 악도 서로 양 날개와 같은 존재이고 상대방을 드러내기 위해서 필요하다.

이런 부류의 모든 거짓 교리들은 성경에 대한 무지의 소치이다(저런 말을 들은 적이 없다면 당신은 복 받은 사람이다). 사랑과 공의를 동시에 충족하는 성경의 하나님을 완전 잔인무도하고 무지막지한 신으로 왜곡함으로써 불신자에게는 회개하고 구원으로 이를 통로를 원천 차단하고, 안티들로 하여금 기독교를 더욱 모함하고 조롱할 빌미를 제공한다. 그렇기 때문에 크리스천이라면 무슨 수를 써서라도 이런 교리들이 잘못되었음을 널리 알려야 한다.

내가 예정론에 대해서 무엇보다 분노를 느끼는 건, 죄에 대한 관념을 완전히 왜곡한다는 점 때문이다.

생각을 해 보라. 왜 하나님이 죄인을 지옥으로 보낼 수밖에 없나? 도대체 무엇 때문에, 하나님이 인류를 구원하기 위해 자신의 아들을 십자가에서 피흘려 죽게 할 수밖에 없었나? 주위를 둘러보면 어지간히 평균적인 '교인'들보다 인격적으로 도덕적으로 훌륭한 불신자들도 얼마든지 있는데도 우리가 어째서 감히 길거리에서 "예수 천당 불신 지옥"을 외치는가?

죄라는 것이 얼마나 참혹하고 예수님의 보혈을 대가로 요구한 무시무시하고 끔찍한 존재인데, 지옥에 가야 마땅한 죄인을 무슨 죄인 역할극 악역 배우쯤으로 미화하는 이 무시무시한 교리는.. 마귀로부터 유래된 게 아니면 도대체 무엇이겠는가! 파라오와 헤롯의 유아 학살, 히틀러의 유대인 대학살, 일본군 731 부대 생체 실험, 지존파, 북한 정치범 수용소가 전부 연기였다는 말인가?

파라오는 페르시아의 고레스 왕처럼 이스라엘 백성을 곱게 내보내 줘도 어차피 하나님께 영광 돌릴 수 있으며 그게 피차 더 나은 선택이었다. 하지만 열 가지 재앙에 나라 경제를 완전히 말아먹고 험한 꼴을 다 당한 뒤에야 풀어 주게 됐다. 하나님은 파라오의 완악한 마음을 이용해서 그의 마음을 더욱 완악하게 '보호 장치'를 해제해 버리셨으며 재앙을 통해 영광을 받긴 했다.

그렇다고 해서 “내가 영광 좀 받아야겠으니 너는 좀 이스라엘 백성 풀어 주지 말고 완강하게 버티고 있어 봐라. 나는 그 짓을 시키려고 너를 창조했다”는 절대 아니다!

하나님은 역사적으로 악역을 활용하였으며, 좀 대놓고 말하자면 그들을 조롱하며 갖고 노신 적은 있다. 허나 당사자는 악역을 자처할 필요가 전혀 없었으며 하나님을 믿는 우리는 사실 어떤 경우에도 악역을 맡아서는 안 된다. (그 중 제일 해서는 안 되는 악역은 유대인을 심판하는 도구이다.) 악역은 죄이며 죄에는 심판과 형벌이 따를 뿐이기 때문이다. 악역을 자처해 봤자 삽질 잔뜩 하고, 시간· 돈 날리고 손해 보는 건 우리뿐이다.

하나님은 그 파라오인들 구원하고 싶지 않으셨겠는가? 그가 나중에라도 회개하고 하나님을 믿었다면, 유대인들을 악하게 다룬 것과는 별개로 구원을 받았을 것이다. 한 인간으로서 개인의 구원에 관한 한은, 이는 히틀러, 도조 히데키, 스탈린, 심지어 오늘날의 이북의 인간 악마 인간 백정 김씨 같은 사람에게도 동일하게 적용되는 원칙이다.

성경은 인간의 자유 의지를 부정하는 운명 예정론을 결코 지지하지 않는다. 하나님이 아무리 전지전능하다고 해서 자기가 무슨 아무 감정도 없는 로봇 컴퓨터이거나, 세상을 그런 기계처럼 만들어 놓은 것은 절대 아니다. 그렇기 때문에 그 하나님이 죄악으로 인해 인간을 지은 것을 슬퍼(repent)했다는 구절마저 성경에 들어있는 것이다. 로봇, 컴퓨터는 '정지 문제' 하나도 풀 수 없는 튜링 기계일 뿐이다. 0과 1만 분간할 수 있을 뿐, 선과 악을 분간할 수는 없으며 죄에 대한 책임도 질 수 없는 물건이다.

인간은 불가항적으로 죄인으로 태어난다. 하지만 하나님 역시 불가항적인 이유만으로 사람을 결코 지옥에 보내지도 않는다. 지옥은 언제까지나 사람이 선악을 스스로 분간할 수 있음에도 불구하고 고의로 지은 자기 죄로 인해서 가는 것이며, 인간이 하나님의 구원 계획을 자발적으로 거부하여 제 발로 간다. 즉 전적으로 100% 후천적인 요인만 작용한다.

요컨대..하나님에게 미리 아심은 있다. 그리고 구원받은 사람에게 이런 운명의 데스티니가 보장되었다는 예정 정도는 성경적으로 물론 있다. 허나, 인간 개개인의 구원 여부를 미리 정해 놓은 예정 따위는 없다. 미리 아심은 read-only operation일 뿐이다. 혼동하지 말자.

기독교의 구원 교리는 딱 체계가 잡혀 있고 논리가 있다. 인간의 이성으로 다 이해할 수 없는 교리를 믿지만, 그렇다고 해서 말도 안 되는 황당무계한 낭설을 맹목적으로 떠받드는 게 아님을 알아야 한다.

Posted by 사무엘

2013/05/12 08:36 2013/05/12 08:36
, ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/829

Windows 8 사용기

나보다 훨씬 더 전부터 8을 사용해 오신 분들께는 전혀 새로울 게 없는 정보이겠지만 어쨌든.
Windows 8은 잘 알다시피 데스크톱 PC용 소프트웨어에다 모바일 컨셉을 최대한 융합시킨 형태로 만들어졌다. UI 상으로는 Ctrl+클릭이 아닌 일반 클릭(=일반 터치)만으로 아이템 개별 복수 선택이 가능하게 바탕화면 아이콘들에 체크 박스가 뜨는 변화가 눈에 띈다.
그런데 문제는 Windows는 모바일 컨셉을 아무 단절감 없이 갖다붙이기에는 20여 년의 짬밥을 자랑하는 legacy가 너무 많다는 것. 이를 잘 절충하는 것도 숙제라면 숙제였을 것이다.

그래서일까?
Windows와 마소 제품들은 XP 이래로 모든 GUI가 “각진 직선이건 것이 둥근 곡선으로, 무미건조하던 단색이던 것이 그러데이션으로”라는 트렌드를 따르고 있었는데..
8에서는 이 추세를 정면으로 뒤집은 단순한 복고풍 디자인으로 돌아갔다.
이건 전력 소비를 조금이라도 줄여야 하는 모바일 환경과의 조화를 염두에 둔 설계라고 그런다. 흠..
아이콘도 마찬가지로, Office, Visual Studio도 2012 버전은 아이콘 디자인이 다 초단순 형태로 바뀌었다.

IME들은 아이콘이 아예 흑백 컨셉 배색으로 파격적으로 바뀌었다. 모든 프로그램들이 IME와 한/영 상태를 공유하는 파격적인 기능이 추가되었으며, IME 아이콘과 상태 아이콘 딱 둘만 갖고 있게 단순화된 것은 TSF의 도입 이전 internat.exe 시절의 추억을 떠올리게 한다.

아울러, 프로그램 제목이 Windows 95/NT4 이래로 왼쪽 정렬이던 것이 가운데 정렬로 바뀐 것은 3.x 시절을 떠올리게 하기에 충분하다. 사실, 그 전의 1.x부터 3.x까지는 죄다 가운데 정렬이었기 때문이다.

또한 8은 메트로인지 뭔지 Modern UI 엔진을 얹느라 어쨌든 더 무거워졌을 텐데 그래도 비스타/7에 비해 체감상 딱히 무겁다는 느낌은 안 든다. 덩치에 비해 최적화를 잘 한 것 같다.
Modern UI 기반 앱은 전체 화면으로 동작하는 게 마치 예전의 도스용 프로그램들이 화면 해상도와 색상이 훨씬 더 향상된 채로 동작하는 것 같다.

단, 한 가지 이해가 안 되는 건, 과거 비스타/7의 Aero 컨셉이 완전히 폐기되었느냐는 것이다.
프로그램 창의 굵은 border에 비스타/7처럼 금속/유리 느낌이 드는 반투명 효과를 내는 기능이 없어지고 굵직한 입체 효과 그림자도 없어졌으며, 그저 투박한 solid color만 표시해 주는 걸로 일부러 바꿨는지? 비주얼에 관한 한 이건 좀 진보가 아니라 퇴보인 것 같다. 정발된 제품 말고 preview 버전에서는 반투명 효과가 여전히 있었던 것 같던데.
사실은 예제로 제공되던 테마와 배경 사진들의 수도 Windows 7 시절에 비해 오히려 줄었다.

또한 Windows 95/NT4부터 이어져 온 전통인 시작 메뉴가 없어지고, PC에 설치돼 있는 프로그램들을 리스트 형태로 한눈에 조회할 수가 없고, 심지어 컴퓨터를 끄는 방법도 직관적으로 찾을 수 없는 것은 아무리 새로운 디자인을 시도했다 해도 너무 이질적이고 과격한 것 같다. 실제로 Windows 8을 구했지만 이런 것 때문에 너무 불편해서 다시 7로 복귀한 사람도 주변에 심심찮게 보인다. 과거에 비스타 쓰다가 XP로 도로 복귀하던 사람들처럼 말이다.

나도 컴퓨터 끄는 명령을 못 찾아서 한동안 그냥 데스크톱 바탕 화면에서 Alt+F4를 누르곤 했다.
마우스로 화면 우측 하단을 가리킨 뒤, Settings를 고르고, Power, Shut down을 순차적으로 고르면 되긴 한데 예전 버전보다 접근하기 불편하긴 하다. 컴퓨터 사용을 끝내려고 하는데 왜 시작(Start) 버튼을 눌러야 하느냐는 전통적인 딴지를 의식한 디자인인 건지?

그리고 내가 쓰던 어떤 Windows 8은 팝업 메뉴가 전통적인 왼쪽 기준이 아니라 오른쪽 기준으로 완전 듣도 보도 못한 생뚱맞은 엉뚱한 방식으로 표시되곤 했다. 이건 R2L이 일상인 아랍 문화권에 대한 배려인지는 모르겠지만, 한국어나 영어밖에 볼 일이 없는 나 같은 사람한테는 전혀 필요하지 않은 쓸데없는 기능임. 구글링을 통해 문제를 해결해야만 했다. 다음 레지스트리 값을 1이 아닌 0으로 고친 후 계정 로그인을 다시 하면 된다.

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows → MenuDropAlignment

전반적으로는..
8은 분명 나쁘지는 않다. 허나 멀티터치가 지원되는 화면에서 Modern UI 앱을 즐겨 쓸 게 아니면, 굳이 7 잘 쓰던 걸 8로 바꿀 필요가 있나 하는 생각이 들기도 한다.

끝으로, 바야흐로 201x년대에 등장한 Windows 8에서도 여전히 버프를 못 받고 시간이 완전히 정지해 버린 듯이 보이는 legacy GUI 요소를 둘 보이고 글을 맺겠다.

1. MDI 창

사용자 삽입 이미지

안구에 습기가 찬다. 응용 프로그램의 border가 다 딱딱한 사각형으로 바뀐 마당에 MDI 프레임은 여전히 둥근 모서리 그대로이다. Windows Vista 이래로 코드가 하나도 고쳐진 게 없다는 뜻이다.

2. HTML 도움말

사용자 삽입 이미지

10~15년 전에 HTML 도움말이 처음 등장했을 때나 지금이나, 일단 프로그램 아이콘이 16색 그대로이다. 레지스트리 편집기와 더불어 아이콘이 고정불변인 극히 드문 프로그램에 손꼽힌다. -_-;;

그리고 HTML 도움말의 About 화면을 보면 연도가 2002년에서 멈춰 있음을 알 수 있다. 캐안습.
그래도 마소가 HLP와는 달리 CHM의 지원은 그렇게 섣불리 중단하지 못할 것이다. 운영체제 차원에서 이 정도로 완성도 높은 도움말 엔진을 제공해 줄 다른 대안이 없기 때문이다.

마소 역시 다른 모든 프로그램에서는 구닥다리 HTML 도움말을 버리고 다른 방식으로 도움말을 표시하지만, 레지스트리 편집기에서 F1을 누르면, 여전히 CHM 도움말이 HTML 도움말로 표시된다.
일반 사용자들이 즐겨 쓸 걸로 예상하지 않는 프로그램에 대해서는 UI를 대강 만들고 legacy 기술만으로 대충 때운다는 걸 알 수 있다.

Posted by 사무엘

2013/05/10 08:30 2013/05/10 08:30
Response
No Trackback , 3 Comments
RSS :
http://moogi.new21.org/tc/rss/response/828

반월 저수지 답사를 마친 뒤 다음으로 본인이 간 곳은 또 다른 철도 성지였다.

2. 철도 박물관

사용자 삽입 이미지
살다 보니 이제 내가 여기를 대중교통이 아닌 자가용으로 방문하는 날도 찾아오는구나! 그렇잖아도 의왕 역에서 철도 박물관까지 가려면 수백 m 이상 걸어야 했을 텐데 말이다.
주차는 공간이 아주 넉넉하고 요금 걱정도 없고 아무 문제 없었다.

예전에 철도 박물관은 겨우 몇백원 대의 비현실적이기까지 한 저렴한 입장료를 징수했으며 그나마도 철도 회원은 동반 1인까지 아예 무료 입장이 가능했다. 그러나 지금 가 보니 그런 대인배스러운 제도는 언제부턴가 없어져 있었다. 일반인은 입장료 2천원을 내야 하며, 철도 회원 혜택 같은 거 없다.

물론 난 철덕으로서 예전에도 여길 몇 번 방문한 적이 있다. 그럼에도 불구하고 내가 여기를 또 찾아간 이유는, 여기가 반월 저수지로부터 10km가 채 안 되는 가까운 거리이기 때문에 겸사겸사 또 찾아갈 만한 명분이 성립하고, 개인적인 볼일이 좀 있기도 했기 때문이다.

사용자 삽입 이미지
인근 경부선 선로에 대한 좋은 전망을 제공하는 것도 철도 박물관으로서 장점일 수 있다.
재미있는 것은, 아까의 KTX 촬영지와 마찬가지로, 이 박물관의 근처에도 저수지가 있다는 점이다.

철도 박물관에서 본인은 부족했던 박물관 관련 사진을 찍고 자료를 수집했으며, 방문 기념으로 구내 서점에서 다음 아이템들을 질렀다. (정 용태 님, 보고 계신지? 레일러 14호 등단을 축하드립니다. ㅋㅋㅋㅋ)

사용자 삽입 이미지
예전에 판매하던 철도 박물관 도록은 이제 절판되고 없었다. 있을 때 사 놓길 잘했다. 그 대신 동인지 <레일러>를 박물관에서 정기적으로 구입할 수 있다.

그리고 박물관 직원을 불러서 새마을호의 역사와 관련된 날짜가 두 군데 잘못 소개되어 있는 걸 고쳐 달라고 건의를 했다.
차량실에 새마을호 PP 디젤 동차가 1987년 7월 1일부터 운행을 시작했다고 소개되어 있는 걸 7월 6일로 바로잡아야 한다고 말했고,
반대로 새마을호 PP가 최초로 서울-부산 4시간 10분 운행을 시작한 것도 아니라고 얘기해 줬다. 그건 PP가 등장하기 전에 1985년 11월 16일부터 달성된 것이니까 말이다.

3. 오봉 역

철도 박물관 다음으로 승용차로 가 보지 않을 수 없는 철도 명소로는 오봉 역을 빼놓을 수 없다.
얘는 경부선에서 분기하는 지선인 남부 화물기지선의 끝에 있는 역으로, 이름에서 알 수 있듯 여객 영업 없이 화물만 취급하는 역이다.
먼 옛날에는 경부선 전철 의왕 역의 이름은 '부곡'이고 오봉 역이 '의왕'이었다.

사용자 삽입 이미지
철도 박물관과 오봉 역의 거리는 4km도 채 되지 않는다.
입구에 경비실이나 차량 진입 차단기 같은 건 없는지라, 별 부담 없이 차를 끌고 들어가 볼 수 있었다. 단, “직원 차량 외 주차 금지”라는 압박을 주는 표지판이 있긴 했음.
사용자 삽입 이미지
역 건물은 이렇게 생겼다.
철덕들 중에는 아예 승강장 내부로 들어가서 사진 촬영을 한 사람도 있는 듯하던데 난 차마 그렇게는 안 하고 잠시 있다가 다시 나갔다. 그 대신 이런 근처의 선로 사진을 좀 남겼다. 흥미롭다.
사용자 삽입 이미지
울산과 부산 일대도 면적이 무척 넓고 철도 배선이 의외로 복잡하며, 항구나 공업 단지로 빠지는 지선 철도가 많기 때문에 승용차를 끌고 답사할 만한 곳이 무척 많을 것이다.

4. 김포 공항 근처

수도권 남부의 “반월 저수지-철도 박물관-오봉 역” 3대 명소를 아우르는 테마 여행을 이렇게 잘 마쳤다.
임무를 다 마쳤으니 이제 집에 갈까 생각했는데 아직 시간이 좀 더 남아 있었고, 철도를 출사한 날 비행기도 같이 출사하여 둘을 비교해 보면 좋겠다는 생각이 불현듯 들었다.
그래서 점심을 먹을 생각도 포기하고, 국도 1호선을 타고 서울 서부로 간 뒤 곧장 다시 김포 공항으로 향했다. 해가 지기 전에 가야 하니 말이다.

반월 저수지가 KTX 촬영의 명당이라면, 오쇠 삼거리는 비행기 출사의 명당으로 잘 알려져 있다.
정말 공교롭게도 여기도 전철 김포공항 역으로부터는 3.2km 정도 떨어져 있다. 다만, 여기는 버스가 수시로 많이 지나다니는 편이기 때문에 대중교통으로 찾아가기는 비교적 수월하다.

사용자 삽입 이미지
공항 주변의 흔한 보안 경고문.
여기는 시끄러운 비행기 소리 때문에 사람이 살 수 없는 황무지이지만, 엄연히 국유지이기 때문에 민간인이 무단으로 이곳 땅을 이용하려는 어떤 시도도 해서는 안 된다는 뜻이다.

그래도 처음 와 봤을 때에 비해서는 주변에 이것저것 공사도 많이 진행 중인 것 같았다.
덕분에 주차는 샛길 인근에 아무데나 얼마든지 해도 되니 걱정할 것 없다.
여담이지만 이 공항 주변의 황무지 일대에는 군부대인지 예비군 훈련장인지 어쨌든 군사 시설도 있다.

사용자 삽입 이미지
우와, 여기 온 보람이 있었다.
지금 비행기가 놓인 저 활주로 말고, 왼쪽에도 활주로가 하나 더 있었으며 공항 내부의 비행기는 그 왼쪽 활주로에서 이륙을 하는 편이었다.
김포 공항에서는 아까 KTX보다도 더욱 자주, 수 분 간격으로 정말 시도 때도 없이 비행기가 이착륙했다.

이륙은 본인이 서 있는 공항 남쪽으로 하는 게 아니라 북쪽으로 한 관계로 근접 사진을 찍을 수 없었다. 하지만 착륙은 다행히 근접 사진을 찍을 수 있었다.
처음에는 마치 UFO처럼 아주 멀리서 불빛만 어렴풋이 보이던 비행기들이, 형체와 비행 소음이 갈수록 커지더니 공항 담장 너머로 사뿐이 착륙을 했다.

사용자 삽입 이미지
항덕들은 비행기 한 대만 보면 보잉 7xx 같은 기종은 물론이고 소속 항공사 같은 것도 곧바로 입에서 튀어나올 것이다.
의외로 여객기 말고도 소속이 어딘지 모를 터보프롭 경비행기 같은 것도 착륙하는 게 종종 목격되곤 했다.
그런 작은 비행기라면 모를까 중형 여객기 이상 되면, 랜딩기어가 활주로에 닿을 때 마찰로 인한 연기가 튀는 게 이 멀리서까지 보였다.

이곳에 공개하지 않은 다른 사진과 동영상도 많이 찍었다. 소기의 방문 목적을 달성했다.
내가 선 지점은 여전히 공항 담장으로부터 500m에 가깝게 멀리 떨어진 곳이지만, 그래도 비행기의 착륙 경로와 일직선상에 있고, 지대가 살짝 높은 덕분에 보다시피 공항 활주로까지 어렴풋이 보인다는 점이 좋았다. 다음에 또 촬영할 기회가 있을 때는 다른 장소도 탐색해 봐야겠다.

동영상들을 보니, 보잉 737급의 여객기가 내 머리를 지난 뒤, 활주로에 착지하기까지 걸린 시간은 대략 23~25초였다. 그리고 내가 서 있는 곳에서 활주로의 착륙 지점까지의 거리는 정황상 거의 1km는 된다. 담장에서 활주로 사이에도 수백 m에 달하는 공간이 있기 때문이다.
이를 토대로 착륙 직전 상태인 비행기의 주행 속도는 대략 시속 140~150km대는 된다는 추정을 할 수 있다.

시간이 조금만 더 늦었으면 퇴근 시간대가 되어 귀가하는 길이 도로 정체로 애로사항이 꽃폈을 것이다.
만약 그랬으면 난 정체 시간대를 피해서 그냥 밖에서 저녁을 먹고, 차에서 한두 시간 좀 자면서 아예 밤 9시 이후까지 기다렸다가 귀가하려 했다. 난 어차피 차에서 야영을 하는 걸 아주 좋아하니 말이다.
하지만 다행히 서울 외곽에서 서울로 진입하는 길목만 좀 막혔을 뿐, 서울 시내에서의 자동차 전용 도로 주행은 그다지 최악의 상태는 아니었다. 그리고 무사히 잘 돌아왔다.

Posted by 사무엘

2013/05/07 08:31 2013/05/07 08:31
, , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/827

승용차가 있으니까 좋긴 참 좋다. 차는 회사나 교회를 왕래하는 것 같은 일상적인 이동뿐만 아니라 레저/취미 활동의 영역에서도 예전에 불가능하던 것을 가능하게 만들어 줬다.

나한테 차가 생기면 철도에 대한 관심이 상대적으로 줄어들 거라고 도대체 누가 말했던가. 전혀 그렇지 않다.
오히려 차가 생기기 전에는 신규 개통 철도 노선의 첫 차를 시승하기 위해서 전날 노숙을 해야 했지만, 지금은 새벽에 차를 끌고 가서 차에서 자다가 첫 차를 타는 선택의 여지가 생겼다.
예전에는 차를 이용해서 잠깐이나마 서울교외선 답사를 가 본 적도 있다. 자동차는 철도 덕질을 위한 훌륭한 도구 역할을 하고 있다.

지난 3월 말의 어느 날, 본인은 짬을 내서 과감하게 차를 몰고 서울을 빠져나갔다. 그리고 당일치기 철도 테마 여행을 즐겼다.
나름 출근 시간을 넘긴 오전 10~11시 시간대를 선택했지만, 이때도 자동차 전용 도로들은 넘쳐나는 차들 때문에 대단히 혼잡했다. 그래도 서울을 벗어나고 한적한 교외로 들어서니 자동차의 탁월한 이동성은 빛을 발하기 시작했다.

내가 가장 먼저 간 곳은 바로..

1. 주행 중인 KTX 촬영의 명당, 반월 저수지 인근 야산

사용자 삽입 이미지
대략 이런 곳이다.
호수 옆에 비교적 높지 않은 고가 위로 KTX가 달린다. 경부 고속선을 통틀어 보기 드문 낭만적인 풍경이 아닐 수 없다.
여기는 광명 역을 지난 KTX가 무려 10km가 넘는 긴 거리를 지하로 달린 뒤에 처음으로 등장하는 지상 구간이기도 하다. 서울 외곽 순환 고속도로와 서해안 고속도로가 교차하는 조남 분기점의 바로 아래 지하로 KTX가 달린다는 걸 생각해 보라. 그 KTX가 여기로 나온다.

이곳에서 가장 가까운 전철역은 4호선(안산선) 대야미 역이다. 북쪽 방면인 2번 출구로 나간 뒤, 왼쪽으로 꺾어서 나오는 한적한 도로를 쭉 가면 된다. 역에서 3.2km 남짓 떨어져 있기 때문에 걸어서 가기는 좀 힘들다. 그리고 저기는 인적이 드물어서 버스로 쉽게 찾아갈 수 있는 곳도 아니다. 그러니 자가용 콜.

사용자 삽입 이미지
선로로 진입하는 야산 코앞에서 차를 세웠다. 선로 근처는 역시나 외부인의 접근을 금지하는 철조망이 쳐져 있다.

“철도 선로에 무단으로 침입해 시설물과 전선류를 손괴하거나 절취하면 감전사고의 위험이 있으며, 철도 안전운행을 저해하게 되어 철도 안전법에 따라 3년 이하의 징역 또는 5천만원 이하의 벌금에 처해집니다.” - CCTV 실시간 감시 중 -


우리는 당연히 철조망을 월담하지는 않는다. 그저 철조망을 따라 언덕을 쭉 오르면 된다.
이로써 본인 역시 수많은 철덕들이 나보다 앞서 개척한 천혜의 철도 출사 성지에 도달하는 데 성공했다.

사용자 삽입 이미지
우와!
일명 하늘다리라고 불리며, 경부 고속선을 위에서 내려다보며 사진 촬영을 할 수 있는 극히 드문 구간!
선로는 한 치의 커브도 없는 직선이고, 앞에 저쪽 끝에도 산 속으로 들어가는 터널이 있다.
우리 앞에 펼쳐진 이 지상 선로는 인터넷 지도로 길이를 측정해 보면 길이가 거의 6km에 달한다.
사용자 삽입 이미지
본인이 서 있는 곳의 앞은 응당 철조망이 가로막고 있으며, 삼엄한 접근 금지 경고문도 붙어 있다.
이곳에서 촬영된 KTX 사진들은 다 철망 안으로 카메라를 집어넣고 zoom도 굉장히 많이 당겨서 촬영된 것들이다.

누구의 소행인지는 모르겠지만 카메라 집어넣기 좋으라고, 선로 중앙의 철망의 일부가 동그랗게 훼손되어 있다.
하지만 철망 너머로 웬 잡초가 무성하게 자라서 시야를 가리는 관계로, 이것을 피하느라 좋은 구도의 사진을 만들기가 상당히 어려워져 있었다.
그리고 여름에 수풀이 온통 초록색일 때 왔으면 주변 경치가 더 좋았을 것 같긴 하다.

사용자 삽입 이미지
KTX 산천이 하나 카메라에 잡혔다. 저 열차의 진행 방향이 어디인지 모르는 분은 없을 거라 생각한다.
멀리서 오는 놈은 쉽게 감지가 되지만, 우리 밑을 지나가는 놈은 출현하기 몇 초쯤 전에 갑자기 주행 소음을 일으키더니 쌩 지나간다. 그래도 디젤 기관차처럼 천지를 진동하는 소음과 진동 수준은 아니다.

경부 고속선에 KTX는 상· 하행을 모두 감안했을 때 평균 대략 10분당 한 번꼴로는 드나드는 것 같다. 하지만 실제 빈도는 몹시 불규칙하여 편차가 큰 편이다.
그리고 아침 11시에서 12시 사이는 전차선 점검을 명목으로 서울과 부산 양 시발역에서 모두 KTX가 출발하지 않는다. 즉, 이 시간대에는 평소보다 열차의 운행이 몹시 뜸해지므로, KTX 출사를 하려면 시간대를 잘못 선택해서 낭패를 보는 일이 없어야 할 것이다.

사용자 삽입 이미지
다음으로 산천 말고 떼제베 기반 재래식 KTX가 지나가는 모습이다. 재래식 KTX는 한 편성의 길이가 거의 380m에 달한다는 걸 생각하자.
광명 역을 출발한 KTX는 지하 터널을 한참 달린 뒤 이 구간으로 나올 무렵쯤이면, 이미 충분히 가속이 되어 주행 속도가 250km/h을 넘고, 속도가 객실내 모니터에 표시되곤 했다.

그런데 이런 언덕 위에서 KTX가 달려오는 걸 보면 생각만치 빨라 보이지가 않는다. 그냥 새마을호가 시속 140대로 슬금슬금(?) 지나가는 것 같다. 과연 그럴까?

하지만 동영상 분석을 해 보니 그렇지 않았다.
길이 380m짜리 열차의 맨 앞이 한 전신주 지점을 통과하고, 다음으로 열차의 맨 끝이 그 전신주를 통과할 때까지 걸린 시간이 5.5초가 좀 안 됐다.
이로부터 열차의 속도를 구해 보면 딱 정확하게 시속 250km에 근접하는 걸 알 수 있었다.

산을 내려온 뒤, 장소를 떠나기 전에 호수 주변의 경치를 좀 더 카메라에 담았다. 가히 철도 성지답다.

사용자 삽입 이미지
사용자 삽입 이미지
이미 아시는 분도 있겠지만 경부 고속선은 안산선 반월-상록수 구간의 중간을 위로 통과한다. 반월-상록수 사이는 역간거리가 3km가 넘고, 중간에 영동 고속도로도 지나는 일종의 교통 요지이다. 한적한 도로를 따라 달리면서 안산선과 경부 고속선의 궤적을 계속 추적해 보는 것도 의미 있는 일이겠으나, 본인은 이 먼 거리를 차를 몰고 온 김에 다른 의미 있는 일을 발견했기 때문에 동쪽으로 이동을 시작했다.
사용자 삽입 이미지
저 앞에 있는 열차 승강장은 반월 역이다. 이 역은 전철역이라기보다는 완전 시골 간이역 분위기가 물씬 풍긴다. 선로와 역무실은 평지이고 지하도를 이용하여 승강장으로 가는 형태도 그렇거니와, 출입구도 남쪽으로 1번만 있지, 논밭을 향하고 있는 북쪽(본인이 서 있는 방향)으로는 없다.

Posted by 사무엘

2013/05/04 08:33 2013/05/04 08:33
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/826

Windows 운영체제가 인식하는 실행 파일은 구조적으로 편의성의 상징인 GUI 프로그램과, 강력한 자동화의 상징인 콘솔(명령 프롬프트) 프로그램이라는 두 갈래로 나뉘어 있다. 이것은 SUBSYSTEM이라는 링커 옵션으로 지정 가능하다.

이 옵션이 콘솔로 되어 있으면 빌드 과정에서 링커는 C 라이브러리에서 main 함수를 찾아 호출하는 startup 코드를 연결하며, GUI로 지정되어 있으면 잘 알다시피 WinMain 을 호출하는 startup 코드를 연결한다. 해당 함수들은 물론 프로그래머가 따로 구현해 놓아야 한다.

어차피 GUI든 콘솔이든 EXE 파일이 제일 먼저 실행되는 지점은 실행 파일의 entry point에 지정된 주소이며 원래는 운영체제로부터 아무 인자도 전달되지 않는다. 그 대신, C 라이브러리가 GetModuleHandle, GetStartupInfo, GetCommandLine 등의 여러 기초적인 함수들을 먼저 호출하여 리턴값들을 WinMain에다가 전달해 줄 뿐이다.
콘솔 버전인 main도 마찬가지이다. 명령 옵션을 API 함수로 얻어 온 뒤, 그걸 C 라이브러리가 파싱하여 main에다가 argc와 argv의 형태로 전해 준다.

빌드 관점이 아닌 실제 실행의 관점에서 봐도, Windows는 콘솔 프로그램과 GUI 프로그램을 서로 약간 다른 방식으로 실행해 준다. 콘솔 프로그램의 경우 이미 명령창 같은 콘솔에서 실행되었다면 기존 콘솔을 자동으로 연결시키고, 프로그램이 탐색기 같은 GUI 환경에서 실행되어 콘솔이 없는 경우 “콘솔을 언제나 자동으로 생성”한다. 그 반면, GUI 프로그램에는 그런 조치를 취하지 않는다.

다만, 콘솔 프로그램이라고 해서 GUI 윈도우를 만들거나 메시지 loop을 돌지 말라는 법은 전혀 없으며, 반대로 GUI 프로그램도 추후에 자기만의 콘솔을 얼마든지 따로 생성해서 쓸 수 있다. 콘솔과 GUI를 적절한 혼용하면 유용한 경우가 의외로 매우 많다.

GUI 프로그램의 경우 디버깅 메시지를 찍기 위해 별도의 콘솔을 이용하는 것은 매우 흔한 테크닉이다. DOSBox가 대표적인 경우이다. 그리고 반대로 평소에는 명령창으로 문자열만을 취급하더라도, 가끔 그래프 같은 시각화된 결과물을 보여 줄 필요가 있을 때 제한적으로 GUI 윈도우를 생성하는 프로그램도 생각할 수 있다.

결국 GUI와 콘솔이 완벽하게 혼합된 프로그램이라면 이런 것도 가능해야 할 것이다.
프로그램을 아무 인자 없이 실행하거나, 또는 콘솔이 아닌 GUI 환경에서 실행하면 GUI가 나타난다. 반대로 콘솔에서 실행하거나 /? 같은 명령 옵션을 줘서 실행하면 콘솔로 메시지가 나타나고, 이미 콘솔이 있는 경우 그 콘솔을 사용한다. 압축 유틸리티 같은 게 이런 식으로 개발되어 있으면 아주 편리하지 않겠는가?

그런데 문제는 이 정도로 유연한 GUI/콘솔 하이브리드 프로그램을 만들기는 대단히 어려우며, 운영체제가 구조적으로 그런 것까지 고려하여 만들어지지는 않았다는 점이다. GUI와 콘솔 모두 2% 부족한 면모가 있다.

(1) 프로그램을 콘솔 방식으로 빌드하면, GUI 형태로 실행되어야 할 때에도 언제나 빈 콘솔창이 생겨 버린다. 프로그램이 실행되자마자 곧바로 API 함수를 호출하여 이 콘솔을 죽일 수는 있지만, 콘솔 창 같은 게 깜빡인 것이 사용자에게 그대로 드러나 보이기 때문에 이런 방식은 용납될 수 없다.

(2) 반대로 프로그램을 GUI 방식으로 빌드하면, 콘솔 환경에서 콘솔 형태로 실행되었을 때 기존 콘솔을 연결하는 방법이 없다. 콘솔 프로그램과는 달리 GUI 프로그램에서는 운영체제가 이것을 자동으로 해 주지 않는다. 콘솔에다 메시지를 찍는 것은 새로운 콘솔에다가만 가능하다. 기존 콘솔을 연결하는 AttachConsole이라는 함수가 차후에 추가되기는 했지만 방법이 완전하지 않다.

결국, 어느 방식을 선택하더라도 문제가 완전히 없을 수가 없다. 콘솔창을 필요할 때만 생성하면서 콘솔이 이미 존재하는 경우 기존 콘솔과 자동으로 연결이 되는 프로그램을 만들 수는 없는 것일까?

Visual Studio IDE인 devenv 프로그램은 이 문제를 해결한 듯해 보인다.
아무 인자를 안 주고 실행하면 잘 알다시피 커다란 IDE 창이 생긴다.
그러나 /? 를 주고 실행하면 각종 명령 옵션 사용법이 기존의 콘솔에다가 깔끔하게 찍힌다. 그냥 대충 도움말 창 하나 띄우고 끝인 게 아니다.
마소에서는 이것을 어떻게 구현하였을까?

그 비결은 너무 허무할 지경이다.
IDE 실행 파일이 있는 디렉터리를 가 보면, devenv 프로그램은 .exe도 있고 .com도 있어서 두 종류가 있다.

Windows는 도스 시절의 전통을 물려받았기 때문에 명령 프롬프트에서 사용자가 확장자 없이 실행 파일을 지정하면 EXE보다 COM을 먼저 실행한다. 그래서 COM은 /?  옵션 같은 걸 받아들이는 콘솔 프로그램으로 만들고, EXE를 GUI 프로그램으로 드는 꼼수를 쓴 것이다! devenv /?가 아니라 devenv.exe /? 라고 확장자를 강제 지정하면 명령 옵션 리스트가 역시나 대화상자 GUI 형태로 출력되는 걸 볼 수 있다. ^^

사용자 삽입 이미지사용자 삽입 이미지
도스 시절에 COM은 잘 알다시피 EXE보다 더 작고 단순한 실행 파일이다. 실행 파일 자체의 헤더나 파일 포맷 같은 게 존재하지 않으며, 메모리 재배치도 없이 최대 64KB의 크기 안에 x86 기계어 코드와 데이터가 모두 들어가고 컴퓨터의 고정된 메모리 주소에 그대로 주입되어 실행되었다.

요즘이야 COM이나 EXE나 모두 동일한 실행 파일이다. 오히려 COM 확장자를 사칭하여, 사용자가 의도한 프로그램 대신 악성 코드를 먼저 실행시키는 보안 위험이 문제되고 있는 지경이다. 마치 autorun 기능을 막듯이 COM의 실행을 막아 버리면 속 시원할지 모르나, 과거 프로그램과의 호환성 차원에서 그게 속 시원하게 가능할지는 모르겠다. 그래도 64비트 Windows는 아예 16비트 프로그램을 실행하는 기능 자체가 없어진 지 오래인데..

어쨌든, 실행 파일의 확장자로 콘솔용과 GUI용 프로그램을 구분시킨 건 Windows에서 배치 파일을 이용하여 자기 자신을 제거하는 프로그램을 만드는 것만큼이나 참 기발한 꼼수인 것 같다. 세상에 그런 방법을 쓸 줄은 몰랐다.

※ 추가 설명

1. Windows용 qt 라이브러리를 사용한 프로그램은 GUI 프로그램임에도 불구하고 main 함수에서 실행이 시작된다. 이것은 물론 qt 라이브러리의 내부에 WinMain 함수가 있어서 그게 사용자의 main 함수를 또 호출하기 때문일 것이다. MFC 라이브러리도 자체적인 WinMain 함수가 내부에 존재한다는 점을 감안하면 이는 충분히 수긍이 가는 디자인이다.

더구나 Windows를 제외한 다른 운영체제들은 실행 파일의 성격을 Windows처럼 GUI 아니면 콘솔 형태로 이분화하지 않으며 똑같이 main 함수를 쓴다. 그렇기 때문에, 크로스 플랫폼을 지향하는 qt는 응당 Windows에서의 프로그래밍 방식도 main을 기준으로 맞췄다고 볼 수 있다.

2. 과거의 16비트 Windows 시절에는 말 그대로 도스 프롬프트만이 있었을 뿐 콘솔이라는 게 없었다. 이것만으로도 그때 Windows는 구조적으로 기능이 굉장히 빈약했음을 알 수 있다.

Posted by 사무엘

2013/05/01 19:24 2013/05/01 19:24
, ,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/825

컴퓨터 소프트웨어의 GUI 요소 중에는 잘 알다시피 체크 박스와 라디오 박스가 있다.
전자는 n개의 항목을 제각각 복수 선택할 수 있기 때문에 선택의 가짓수가 2^n개가 가능하다.
그 반면 후자는 n개의 항목 중 하나만 선택할 수 있기 때문에 선택의 가짓수가 딱 n이 된다.

그리고 이런 개념은 사실 메뉴에도 존재한다.
메뉴 항목은 사용 가능 여부(enabled)와 더불어 체크 여부(checked)라는 상태가 존재하여, 자신이 체크된 것처럼 보이는 시각적 피드백을 줄 수 있다.

Windows는 초창기엔(=16비트 시절) 말 그대로 √ 1종류만이 존재했다. 이를 제어하는 함수는 CheckMenuItem이다.
그러다가 Windows 95/NT4에서부터는 ● 모양의 체크를 표시해 주는 CheckMenuRadioItem 함수도 추가되었다. 이로써 각각의 항목들을 따로 체크할 수 있는 메뉴와, 여러 개 중 한 모드만 선택할 수 있는 메뉴의 구분이 가능해졌다.
CheckMenuRadioItem는 특정 메뉴 항목 하나의 속성을 바꾸는 여타 함수들과는 달리, 메뉴 항목들을 여러 개 한꺼번에 지정한 뒤 하나만 체크를 하고 나머지는 체크를 모두 자동으로 해제하는 형태로 동작한다.

그런데 재미있는 것은, MFC는 95/NT4 이전의 16비트 시절에서부터 메뉴에다 custom 비트맵을 지정하는 독자적인 방식으로 라디오 박스를 자체 지원해 왔다는 점이다.
운영체제에 CheckMenuRadioItem가 추가된 뒤에도 내부적으로 그 함수를 쓰지 않는다. 이것은 비주얼 C++ 2012의 최신 MFC도 변함이 없다.

MFC는 동일한 명령 ID에 대해서 메뉴, 도구모음줄 등 여러 GUI 요소에 대해 일관되게 checkd/enabled 상태를 관리할 수 있게 이 계층만을 CCmdUI라는 클래스로 따로 뽑아 냈다. 그리고 윈도우 메시지의 처리가 끝난 idle 시점 때 모든 GUI 상태들을 업데이트한다.
MFC 소스를 보면, CCmdUI::SetCheck는 CheckMenuItem 함수를 호출하는 형태이다. 그러나 CCmdUI::SetRadio는 운영체제의 API를 쓰는 게 아니라 자체 생성한 bullet 모양 비트맵을 SetMenuItemBitmaps로 지정하는 좀 더 힘든 방법을 쓴다.

고전 테마를 포함해 심지어 Windows XP의 Luna에서도 운영체제가 그려 주는 radio 그림과 MFC가 그려 주는 radio 그림은 차이가 거의 없었다. 둘 다 그냥 글자와 동일한 모양으로 동그란 bullet을 그리는 게 전부였다. 그렇기 때문에 두 구현이 따로 노는 건 그리 문제될 게 없었다.

그러나 문제는 Vista 이후에서부터이다. 운영체제가 그리는 radio 그림은 더 알록달록해지고 배경까지 가미되어 화려해진 반면, MFC가 그리는 radio 그림은 아직까지 단색의 단조로운 bullet이 전부이다. 그래서 시각적으로 이질감이 커졌다. 그것도 일반 체크(√) 항목은 괜찮은데 라디오(●) 그림만 차이가 생긴 것이다.

사용자 삽입 이미지사용자 삽입 이미지

이해를 돕기 위해 그림을 첨부한다. Windows Vista 이후에 운영체제가 메뉴에다 그려 주는 라디오 체크는 배경에 은은한 무늬가 생겨 있다(왼쪽). 그러나 MFC가 그리는 라디오 체크는 여전히 옛날 스타일대로 단색 동그라미밖에 없으며, 일반 체크와도 형태가 다르다(오른쪽). 오른쪽의 프로그램은 본인이 예전에 MFC 기반으로 개발했던 오목 게임이다. ㅋㅋ

MFC는 운영체제의 새로운 함수를 왜 쓰지 않는 걸까?
그냥 이런 사소한 데에까지 신경을 안 써서 그런 것일 수도 있고, 또 CCmdUI는 각각의 메뉴 항목에 대해 개별적으로 호출되는 반면 CheckMenuRadioItem는 그 자체가 여러 메뉴 항목의 상태를 한꺼번에 바꾸는 함수이기 때문에 기능의 구현 형태가 서로 맞지 않아서 도입하지 않은 것일 수도 있다.

물론, SetMenuItemInfo라는 만능 함수를 쓰면, 개별적으로 라디오 체크 상태를 바꾸는 것도 불가능하지는 않다. 다만, 구조체를 준비해야 하는 데다, 상태(state)만 옵션으로 간단히 바꾸면 되는 게 아니라 메뉴의 유형(type)까지 바꿔야 하니 일이 좀 번거로운 건 사실이다.

다만, 요즘은 MFC에도 잘 알다시피 MS Office나 Visual Studio의 모양대로 GUI 외형을 싹 바꿔 주는 툴킷이 도입되었고, 이런 상태에서는 어차피 메뉴의 요소들이 무조건 모조리 자체적으로 그려진다. 그러니 저런 SetRadio와 SetCheck의 동작 방식의 차이 같은 것도 존재하지 않으며, 그런 걸 논하는 게 아무 의미가 없다. 저건 오로지 운영체제 표준 GUI를 쓸 때만 발생하는 이슈이기 때문이다. ^^

* 글을 맺으며..

WinMain 함수를 포함해 윈도우 클래스 등록, 프로시저 구현을 전부 직접 하면서 Windows용 응용 프로그램을 밑바닥부터 만들어 본 사람이라면, MFC가 내부적으로 프로그래머에게 몰래 해 주는 일이 얼마나 많은지를 어렴풋이 짐작할 수 있다.

  • 대화상자를 창의 가운데에다 배치해 주는 것,
  • 프레임 윈도우와 뷰 윈도우 사이의 경계에 깔끔한 입체 모양 테두리 넣는 것,
  • 고대비 모드일 때 도구 아이콘의 검은색을 흰색으로 바꾸는 것,
  • 심지어 콤보 박스 내부에 디폴트 데이터(리소스 에디터에서 만들어 넣었던)들을 집어넣는 것,
  • 프레임 윈도우가 키보드 포커스를 얻었을 때 그 아래의 view 윈도우로 포커스를 옮기는 것,
  • 프로퍼티 시트의 내부에 들어가는 프로퍼티 페이지들의 글꼴을 운영체제 시스템 글꼴로 바꾸는 것 등..

이런 사소한 것들도 공짜가 아니라 죄다 MFC가 내부에서 해 주는 일들이다.
Windows API만 써서 프로그램을 만드는 방식은 최고의 작고 가볍고 성능 좋은 프로그램을 만들 수 있지만 생산성도 미칠 듯한 저질이기 때문에, 인제 와서 이런 불편한 방식으로 프로그램을 만들 프로그래머는 거의 없을 것이다. 요즘 세상에 C++도 아닌 C는 사실상 어셈블리나 마찬가지다.

Posted by 사무엘

2013/04/29 08:34 2013/04/29 08:34
, ,
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/824

1980년대생이라면 페스카마 호 선상 반란 사건을 기억하시는가?
강릉 무장공비 침투 사건의 딱 한 달쯤 전인 1996년 8월경에 벌어진 참극이다.

페스카마 호는 원양어선이었다. 어업, 아니 선원 생활이라는 건 정말 고되고 힘든 일이다. 그리고 저기서 하는 일은 대규모 육체 노동이 그렇듯이 정교한 팀웍이 요구되며, 누구 한 명이 실수하면 큰 영업 손해와 인명 피해가 발생할 수 있다. 그렇기 때문에 선원들 조직 내부엔 군대만큼이나 엄한 군기와 규율이 존재해 왔다.

그랬는데, 업무에 미숙하여 폭언과 인격모독--당한 사람의 입장에서 쓴 표현--을 자주 당하던 조선족 선원들과, 한국인 선장 및 선원 사이에 마찰이 생겼다. 그들은 나중에는, 옛날에 공산주의자들에게 현혹되어 기업 무너뜨리려 위장 취업한 붉은 노동자들처럼, 업주가 정황상 도저히 들어 줄 수 없는 임금과 복지를 요구하면서 태업과 꾀병을 일삼고, 정상적인 조업을 지속적으로 방해했다.

아무리 구슬리고 타일러도 말이 안 통하니, 선장은 참다못해 조업을 중단하는 손해까지 감수하면서 인근의 항구에다 그들을 하선시켜 버리기로 결정했다. 그들이 그렇게도 원하던 대로 말이다. 단, 이로 인해 발생하는 모든 손해들을 걔네들에게 청구하고, 그들을 앞으로 다시는 배를 못 타게 만드는 블랙리스트 낙인까지 업계 전체에다 찍으면서 말이다.

예상 외의 강경한 조치로 인해 돈이고 일자리고 다 잃고 인생이 송두리째 꼬이게 된 그들은 결국 극단적인 선택을 했다. 7명의 한국인 선원을 한 명씩 꾀어내어 흉기로 잔인하게 살해하여 바다에 던지고, 자기네 반란에 가담하지 않은 조선족 1명, 그리고 범행을 우연히 목격한 인도네시아 선원 3명까지 추가로 살해했다. 총 11명. 그러나 항해에 필요해서 살려 둔 1등 항해사 한국인 선원이 목숨을 건 기지와 노력을 다한 덕분에 범행은 꼬리가 잡혔다.

선원들을 11명이나 살해하고 배를 탈취한 건, 오늘날의 소말리아 해적들도 차마 못 저지른 매우 극악한 범죄이기에 저 조선족 선원 6명은 전원 사형이 선고되었다. 비슷한 시기에 지존파가 모조리 형장의 이슬로 사라진 것을 생각해 보라.
그러나 그들을 선량하고 불쌍한 동포라고 적극 변호하여 조직적이고 잔인한 살인극을 우발 범행으로 둔갑시키고, 사형에서 무기징역으로 감형시키고, 그나마 수괴 1명만 최종적으로 사형 선고된 것조차 그 미만으로 크게 감형시킨 일등공신은 바로..

'독재자의 딸'(?)을 대신하여 지난 18대 대선에서 대통령이 될 뻔했던 유력 대선 후보였다.
덕분에 이때도 피해자는 싹 묻히고, 오히려 살인범 조선족들에게 국민 성금이 가고, 중국 내부에서까지 “한국에서는 중국인이 한국인을 죽여도 무거운 처벌 안 받는구나” 하는 인식이 퍼졌을 정도였다. 훗날 어민을 빙자한 중국 해적들이 한국 공권력을 아주 우습게 여기게 되는 데에도 이 사건이 어느 정도 기여했다고 해석하는 건 좀 비약일까?

세상에 조선족 포함 외노자들이 사회적 약자이니 인권 보호하자고 외치는 배부른 사람들치고, 자기 바로 옆집에 외노자가 사는 걸 좋아할 사람이 과연 있을지 양심을 걸고 솔직하게 묻고 싶다. (오 원춘이 어디 출신이더라? ㄲㄲㄲ) 세상에 약자에 대한 편견과 차별은 괜히 생긴 게 아니다. 약자를 가장한 악인을 분간할 방법이 없으니 생기는 것이다. 주한 미군이 여성을 성폭행· 살해한 것하고 외노자가 더 끔찍한 범죄를 저지른 것이 언론에서는 절대로 동등한 비중으로 다뤄지지 않는 게 현실이다!

이런 와중에 피해자 인권은 없고 오로지 불쌍한 척 하는 놈, 가해자 인권만 챙기는 세상을 만드는 데만 열심인 사람이 정권을 잡아서 국정을 계속 그런 식으로 운영했다면 이 나라는 얼마나 더 도덕적으로 타락하고 얼마나 사회 기강이 무너지고 막장으로 치달았을지 상상만 해도 끔찍하고 몸서리가 쳐진다. 현 대통령이 발언한 취임사에서 언급되었던 상당수의 건전한 문장을 들을 수 없거나 정반대의 논조로 바뀐 채 듣게 됐을 가능성이 높다.

내 블로그의 옛날 글들을 보면 아시겠지만, 본인은 정작 대선 기간 도중에는 정치 발언을 극도로 자제하고 삼가 왔다. 오히려 그땐 <날개셋> 한글 입력기 6.71 작업하느라 바빴다.
겨우 신변잡기· 흠집내기 식의 신문 기사 한두 개를 근거로 특정 후보의 호불호 같은 내 정치관을 표출하고 싶지 않았기 때문이다.

그러나 이제는 다 지난 일이고 흥분도 좀 가라앉았을 테니, 빼도 박도 못할 검증된 심성, 팩트를 기반으로 좀 더 적극적으로 내 의견을 표출해 보련다. 이번 대선 결과는 정말로 축복이고 다행이며, 우리나라가 국운이 최소한 몇 년은 더 남아 있다는 증거이다. 여당이 예쁜 구석이 있어서가 결코 아니라, 야당이 해도 해도 너무하기 때문이다.

Posted by 사무엘

2013/04/27 08:43 2013/04/27 08:43
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/823

1.

남이 짠 레거시 코드를 업무상 들여다보다가 우연히 발견한 건데,
아래의 코드는 비주얼 C++에서는 컴파일되지만 gcc 계열의 다른 컴파일러에서는 컴파일되지 않는다.

class A {
public:
    class B;
};

class A::B {
public:
    A::B() { }
};

일단, 클래스 내부의 하위 클래스를 저런 식으로 forward 선언했다가 나중에 다시 선언하는 문법 자체를 본인은 직접 구사한 적이 전혀 없었다.
그랬는데, 어찌된 일인지 생성자 함수를 선언할 때 클래스 A까지 다 써 주는 것을 비주얼 C++은 허용하지만 다른 컴파일러들은 그러하지 않았다.
왜 그런지, 이와 관련된 표준 규정은 없는지 궁금하다.

2.

Lyn Tono 님의 블로그를 보다가, 평소에 미처 생각도 못 했던 흥미로운 사실을 발견하여 이곳에다가도 소개하겠다.

void foo() { puts("global function"); }

template<typename T>
class C {
    T m;
public:
    //static이든 아니든 사실 상관은 없음
    static void foo() { puts("Member function"); }
};

template<typename T>
class D: public C<T> {
public:
    void bar() { foo(); }
};

위와 같은 함수와 템플릿 클래스를 선언한 뒤 D<int> q; q.bar(); 라고 실행하면,
비주얼 C++에서는 클래스에 소속된 foo 멤버 함수가 불리지만, 역시 gcc 계열의 다른 컴파일러에서는.. 놀랍게도 global 함수가 불린다!
이건 우선순위 문제도 아닌지라, global 함수를 없앤다고 해서 멤버 함수가 차선으로 지명되지도 않는다. 그 경우에도 클래스 멤버는 존재가 무시되고 그냥 컴파일 에러가 난다. -_-;;

그렇다. 템플릿 클래스는 기반 클래스의 멤버 지명이 비템플릿 클래스처럼 그렇게 쉽게 되질 않는다.
this-> (멤버. 심지어 this 포인터가 존재하지 않는 static 함수이더라도) 혹은 :: (전역)을 명시적으로 써 줘야 한다.

내가 생업을 위한 코딩을 하는데 비주얼 C++을 벗어날 일은 거의 없지만, 저 상황에서 당연히 멤버 함수가 불릴 거라고 예상한 게 다른 컴파일러에서는 그렇지 않을 수도 있다는 걸 염두에 둬야겠다.

3.

예전에 비주얼 C++이 지원하는 for each 문에 대해 소개를 했었고, 친절하게 의견을 남겨 주신 김 진 님으로부터 다른 컴파일러에도 range-based for 문에 대한 비슷한 문법이 존재한다는 보충 설명도 들었다.

그런데 비주얼 C++의 경우, for each() 내부에서 중괄호 없이 if...else문을 썼는데, else부터가 왜 인식이 안 되지? 최신 2012까지도. 아무래도 버그가 아닌지 의심된다. 아래의 예들을 보시라.

for(i=0; i<10; i++) if(a) b(); else c(); //원래 OK

for each(auto i in container) if(a) b(); else c(); //ERROR: 이것만 안 될 이유가 없잖아? 왜? 게다가 인텔리센스 컴파일러는 이를 에러로 지적하지 않음.

for each(auto i in container) { if(a) b(); else c(); } //중괄호를 해 주면 OK

for each(auto i in container) a ? b(): c(); //차라리 이렇게 하는 것도 OK

for(auto i: container) if(a) b(); else c(); //xcode의 이 문법도 당연히 아무 문제 없이 OK. 참고로 비주얼 C++도 2012부터는 for each뿐만 아니라 이 문법도 지원하기 시작했으며, else문에 이상이 없다.

웹 표준만큼이나 C++ 표준도 세밀한 부분에서의 이행 여부가 컴파일러마다 케바케인 것 같다.
옛날엔 IE6이 웹 표준을 안 지킨다고 욕 얻어먹은 것만큼이나 VC6도 C++ 표준 미준수 때문에 많은 비판을 받았었다. for 문 안에서 선언한 변수의 scope 문제가 제일 유명하고 말이다.

하지만 표준 자체가 모호하거나 아예 커버하지 않고 있는 사항이 있다면 그저 묵념..

여담이지만, 2차원 배열을 순회하는 경우 비주얼 C++의 for each는 배열 안의 각 원소를 하나씩 일일이 순회하는 반면, for(:) 문은 각 배열의 포인터를 변수에다 넘겨 주면서 여전히 1차원적으로만 순회한다는 차이도 있다.

4.

C/C++에서 작은따옴표는 문자 상수를 나타낸다. sizeof('a')의 값이 C에서와 C++에서 서로 다르다는 건 이미 잘 알려진 사실. 그런데 작은따옴표 안에 탈출문자가 아닌 일반 문자가 둘 이상 중첩되는 게 문법적으로 가능하며, 에러가 아니다. 그리고 더욱 기괴한 것은, 그렇게 중첩되었을 때 이 문자 상수가 갖는 값은 표준으로 정해져 있지 않고 컴파일러 구현체가 해석하기 마음대로라는 것! 일부러 그렇게 규격을 '미정'으로 남겨 놨다.

대부분의 컴파일러에서는 'ab'를 0x4142라고 합성해서 인식하는 식의 배려는 해 주고 있다. 그러나 이것은 애초에 표준 동작이 아니다 보니, 컴파일러의 기반 아키텍처 또는 코드 생성 대상 아키텍처의 엔디언에 따라 세부적인 동작이 달라진다. 다시 말해 이것은 이식성을 전혀 보장받을 수 없는 지뢰밭 같은 테크닉이며, 그렇기 때문에 IOCCC 같은 대회에서 써먹을 수도 없다.

그럴 거면 둘 이상의 문자는 차라리 깔끔하게 경고나 에러 처리라도 해 주지 하는 아쉬움이 있다.
<날개셋> 한글 입력기의 수식은 문자 상수로 둘 이상의 문자를 집어넣으면 문법 에러로 간주한다.

Posted by 사무엘

2013/04/25 08:38 2013/04/25 08:38
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/822

« Previous : 1 : ... 145 : 146 : 147 : 148 : 149 : 150 : 151 : 152 : 153 : ... 221 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/12   »
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
29 30 31        

Site Stats

Total hits:
3049707
Today:
727
Yesterday:
2142