« Previous : 1 : ... 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : ... 45 : Next »

우리나라 고대사 토막 상식

* 난 우리나라 역사라 하면 알다시피 철도 또는 안보· 이념과 관계가 있는 근현대사 얘기만 많이 하는 편이었는데 오늘은 오랜만에 고대사 얘기를 좀 꺼내고자 한다. 아, 그렇다고 근현대사도 전혀 안 나오는 건 아니다.

1. 멸망 방식

한반도와 그 주변 나라들을 보면, 단순히 전쟁에서 지거나 내부 혁명과 쿠데타가 발생하는 평범한 시나리오와는 사뭇 다른 방식으로 망한 나라들이 역사적으로 좀 있다.

  • 신라: 왕이 백성들 이끌고 스스로 제 발로 고려로 항복· 귀순함
  • 후백제: 태조가 아들에게 밀려서 피난 간 뒤, 고려로 귀순하여 자기가 세운 나라를 스스로 침공... 꽤 독특하다.
  • 조선 또는 대한제국: 전쟁 하나 없이 야금야금 일제에게 조금씩 단계별로 각종 권리를 뺏기며 열불나는 방식으로 굴욕적으로 멸망
  • 그리고 저 훗날 일제의 괴뢰국이던 만주국: 마치 선장이 비상사태에서 배를 포기한다고 공식 선언하듯이, 황제가 피난길에 국가 셧다운 선언하고 자진 해산함

신라의 경우, 저런 이유로 인해 마지막 경순왕의 무덤은 다른 신라 왕릉들과는 달리 유일하게 경주가 아니라 연천군 저 북쪽 끝의 민통선 안에 있다. 38도 위도에 정말 근접했지만 그래도 다행히 남한이 수복한 지역이며, DMZ 신세도 면했다. 신라의 수도 근처가 아니라 고려의 수도 근처에 묻힌 것이다.

난 경주 출신이기도 한지라 신라 왕릉이 웬 생뚱맞은 저런 곳에 있다는 게 개인적으로 굉장히 독특하고 흥미롭게 느껴진다.
훗날 고려는 이 성계의 위화도 회군 쿠데타에 의해 비교적 평범한(?) 방법으로 멸망했다. 그리고 고려의 마지막 왕인 공양왕은 무덤이 아예 고양시와 삼척시에 2개로 나뉘어 있으니 신라의 마지막 왕의 경우보다 더 특이하다. (둘 중 하나는 허묘)

우리나라의 경우 6·25 전쟁 당시에 판문점과 송악산, 배수진 지형 등 여러 이유로 인해 개성시 일대를 더 점령하지 못하고 빼앗겼다. 이것 때문에 고려의 존재감이 남조선 땅에서 더욱 없어지고, 반대급부로 '조선'스러운(?) 정서가 더 강해지지 않았나 하는 생각이 든다. 당장 오늘날의 서울도 지리적으로 조선의 한양을 계승했으니 말이다.

그 대신 그 '고려'라는 이미지는 북한이 더 적극적으로 쓰고 있다. 고려항공, 고려연방제처럼.
물론, 그래도 남조선의 경우 수도를 조선의 도읍을 그대로 활용하고 있고, 북조선의 경우 나라 공식 명칭에 여전히 '조선'이 들어가 있긴 하다.

2. 도읍의 위치

말이 나왔으니 수도 얘기도 해 보자.
일단 신라는 경주(금성), 조선은 서울(한성)로 확고한 붙박이이다. 이들은 안 그래도 당대에 역사가 매우 길었던 왕조로 여겨지는데 천도의 내력 역시 전무하다. 신라의 경우 멸망 직전에는 세력이 경주 시내로 극도로 쪼그라들긴 했지만 그래도 왕궁이 딴 데로 옮겨진 적은 없었다.

덕분에 여기는 각종 문화재 유물도 꽤 많이 남아 있다. 서울이야 시기적으로 제일 가까운 왕조의 수도여서 그렇다 치지만 신라는 서기 1000년도 채 되지 않아 멸망한 엄청 옛날 왕조이다. 그럼에도 불구하고 경주는 과장 좀 보태면 온통 땅만 좀 파면 유물이 나올 지경이어서 도시형 국립공원까지 조성될 정도인 것은 보통일이 아니다.

한편, 고려는 전반적으로 개성(개경)이긴 했지만 중간에 몽골로부터 침략을 받았을 때 강화도로 딱 한 번 천도를 한 적이 있다. 강화도는 내륙에서 그렇게 멀리 떨어진 곳도 아닌데 몽골은 골수 내륙국이다 보니 해군이나 해병대가 없어서 저기로는 못 쳐들어갔던 모양이다.

후대의 조선은 임진왜란 때 왕이 피난을 갔고, 또 병자호란 때는 남한산성 행궁으로 도읍을 옮겼다. 스타로 치면 본진이 옮겨진 격이다.
대한민국 역시 잘 알다시피 6· 25 전쟁 중에는 부산으로 수도를 잠시 옮긴 적이 있었다.

고구려의 수도는 지금의 평양이었다. 그러나 처음부터 그랬던 건 아니고 건국 직후 한동안은 더 북쪽으로 지금의 중국 땅(졸본, 국내성)에 도읍이 있었다. 하긴, 광개토왕릉비도 괜히 중국에 있는 게 아니다.
리즈 시절 이후와 멸망 때까지 고구려의 마지막 수도가 평양이었다. 남북이 통일이 되고 나면, 정확히 말해서 북괴 정권이 사라지고 나면 도읍이 이북 땅에 있었던 옛날 한반도 왕조들의 흔적을 찾는 데도 큰 도움이 될 것으로 여겨진다.

마지막으로 백제는 한국사에 등장하는 메이저 왕조들 중에 수도에 대한 존재감이 제일 없는 것 같다. 일단 지금으로 치면 서울· 하남 일대였던 시즌 1과, 우리에게 상대적으로 더 친근한 충남 공주· 부여 일대의 시즌 2로 나뉜다. 이렇게 초점이 분산된 데다 시즌 1 도읍은 흔적이 전해지는 게 별로 없으니 존재감이 더욱 감소한다.

그래도 삼국 시대에 오늘날의 서울과 가장 가까운 곳에 도읍을 뒀던 적이 있는 왕조는 백제이다. 그렇다고 조선 같은 북악산 기슭의 사대문 안이 아니라 한강 이남의 몽촌토성· 풍납토성 뭐 이런 지대이다. 일단 하남, 위례신도시 이런 명칭들이 다 백제의 도읍에서 유래된 것들이라니 신기한 일이다.

가야나 발해 같은 마이너한(?) 나라들의 역사도 갑자기 궁금해지긴 하는데, 고대로 갈수록 사료 자체가 너무 빈약해지는 건 어쩔 수 없다. 태양계 행성도 천왕성과 해왕성은 표면 사진 자체가 보이저 2호가 찍은 것밖에 없어서 빈약한 것처럼 말이다.

Posted by 사무엘

2017/07/22 08:39 2017/07/22 08:39
, , , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1384

KBS 텔레비전이 1983년에 정전(휴전) 30주년 기념으로 <이산가족을 찾습니다>를 방영해서 우리나라 방송 역사에 길이 남을 기록을 남겼다면, MBC는 창사 30주년 기념으로 1991~92년 사이에 <여명의 눈동자> 드라마를 만든 게 그야말로 불멸의 명작으로 남았지 싶다.

원래 KBS는 예전부터 역사 대하드라마를 쭉 만들어 오고 있었고 1990년을 전후해서는 <역사는 흐른다>, <여명의 그 날>처럼 일제강점기 내지 해방 초기를 다룬 드라마가 나간 적이 있다.
그에 반해 MBC는 전통적으로 역사+정치 장르인 "제N공화국"을 방영했으며, 90년경엔 제2까지 진행된 상태였다.

그랬는데 우리나라 근현대사를 다루는 동명의 소설을 극화한 <여명의 눈동자>는 MBC에서 야심차게 중국과 필리핀 현지 촬영과 더불어 전체 분량의 1/3가까이를 사전제작+후시녹음한 퀄리티로 만들어서 초대박을 쳤다. 그것도 중국과 정식 수교를 하기도 전에 말이다.
비슷한 시기(1990년 즈음)에 비슷한 시기(일제~해방 초)를 다룬 타 KBS 드라마들은 지금 흔적조차 찾기 어렵지만 여명의 눈동자만 아직까지 사람들의 기억에 남아 있으며, 특히 주제가 음악을 너무 잘 만든 것도 작품의 성공에 큰 기여를 했다.

현재도 유튜브에서 "여명의 눈동자" 검색하면 오프닝곡 피아노 연주 동영상이 많이 굴러다닌다.
그리고 2017년 지금 오프닝곡 들어 보면 전율이.. 작곡자분이 무슨 약을 빨고 이런 선율을 만들어 냈나 싶다. 세계 어디에 내놔도 무슨 영상음악 공모전 같은 데서 입상은 당연히 하지 않을까.. 비슷한 시기에 만들어진 "필름 역회전" 음주운전 공익광고도 국제 공모전 입상을 했는데.

휴대폰, 초고속 인터넷, HD 디지털, 유튜브가 없던 시절에 이런 영상물과 이런 음악이 있었다는 게 믿어지지 않고, 그래도 저게 방영되었던 시절이 내가 초딩 수준으로나마 기억과 의식이 있던 시기였다는 것을 다행으로 여긴다.
전체 분량의 1/3을 사전제작하고 시작했다지만 마지막 회는 결국 방영 전날에 촬영을 다 마치고, 방영 10분 전에야 편집까지 간신히 다 끝냈다고 한다. 옛날에 경부 고속도로가 개통식 3시간 전에 차선 도색을 간신히 다 마쳤듯이 말이다.

그런데 이런 천하의 <여명의 눈동자>도 같은 MBC에서 거의 동일한 시기에 같이 방영했던 <사랑이 뭐길래> 드라마에 팀킬 당해서 전체 시청률은 2위였다고 한다. 그때 MBC 드라마가 정말 잘나갔었네..!!
너무 진지하고 슬픈 분위기인 <여명..>과는 달리 <사랑이...>는 완전 반대의 유쾌 컨셉의 가정 드라마였으니 서로 참 강렬하게 비교된다. <사랑이...>는 그 인기에 힘입어 '-기에' 대신, 그 당시 비표준어이던 '-길래'라는 연결어미를 전국에 대대적으로 퍼뜨리는 효과도 냈다. (지금이야 2011년부터 복수 표준어가 돼 있음)

본인 역시 저걸 본 기억이 있으며, 특히 오프닝곡은 멜로디를 다 기억하고 있다. '대발이'가 여기서 유래된 이름이었구나. 오프닝곡 말고 <타타타>라는 가사 있는 OST도 인기를 끌었다고 하는데, 그건 기억이 안 난다.

오프닝은 그 당시로서는 최첨단 기술로 만든 듯하다. 실사 사진에다가 만화 애니메이션 합성은 쉽지 않았을 텐데. (who framed Roger rabbit이 1989년작이던가?)
그 시절에는 저렇게 정교한 손글씨 디지털 서체 같은 건 존재하지 않았기 때문에..(명조 고딕 둥근고딕 일색..) 타이틀과 배우 이름은... 일일이 다 손으로 쓴 캘리그래피이다. 비슷한 시기에 방영된 <한 지붕 세 가족> 같은 다른 TV프로의 오프닝을 봐도 그땐 그게 관행이었다. 1990년대 초였으니 광고 목록은 무려 세로쓰기로 나오고 말이다.

다음으로, 음악 역시 드라마의 성격을 대변할 만한 명랑한 분위기로 참 잘 만들었다. 지금 다시 들어 보니 음색이 정말 대놓고 미디스럽다~~!! 저 때는 저런 미디 기반의 전자음향이 최신 기술이었을 것이다.
톡톡~ 치는 전자드럼이나 '훡~'(쿠이카) 요런 효과음, 호루라기 소리.. 다 미디에 정의돼 있는 타악기들이다. 모스크바 관현악단에서 직접 연주했다는 <여명의 눈동자> OST (오프닝곡 포함)와는 완전 대조적이다.

주선율을 연주한 악기는 무려 '팬 플룻'이다.
물론 저건 미디가 합성해 준 팬 플룻이니, <킬 빌>의 The Lonely Shepherd 같은 곡에서 나오는 레알 팬 플룻의 퀄리티에 비할 수는 없을 것이다. 저건 뭐랄까, 레알 육개장과 라면 스프로 재연한 육개장의 차이와 비슷한 듯하다.

시간만 좀 있으면 저 오프닝곡을 미디로 채보해 보고 싶을 정도다.
그 시절에는 제대로 된 미디 신시사이저 반주를 듣는 방법이 노래방에 가는 것밖에 없었지만 2000년대부터는 PC로도 얼마든지 가능해졌으니 말이다.

원로 여성 배우 중에 김 혜자야 최 불암 시리즈에도 나오고 워낙 유명하니 진작부터 알고 있었는데..
옛날에 농심 라면 CF에서 "허허허허~ 라면의 맛은 스프에 있습니다"라고 맨날 단골로 출연했던 아줌마가 강 부자였구나.. 2017년이 돼서야 처음 알았다.;;

Posted by 사무엘

2017/07/14 08:33 2017/07/14 08:33
, , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1381

이 원등 상사 동상

한강대교는 한강철교와 더불어 한강의 교량들 중 제일 먼저 생긴 축에 드는 다리이다. 중간에 노들섬을 지나며, 북단에서 남단으로 가는 쪽의 도로 길가에는 이 원등 상사(1935-1966)의 동상이 놓여 있다.

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

이분은 우리나라에서 그 옛날 1960년대에 미국까지 다녀오면서 양성된 특전사 소속 스카이다이버였고 낙하산의 전문가였다.
그런데 서울 한강 상공에서 공수 훈련 중에, 한 동료? 후임? 부하?가 낙하산이 제대로 펴지지 않아 추락하고 있는 걸 발견했다. 그래서 신속하게 그에게 접근해서 낙하산을 전개시켜 주기까지는 했는데...

일단 갑작스럽게 펴지는 동료의 그 커다란 낙하산에 맞아서 자기가 팔을 크게 다쳤다. 자동차에서 펼쳐지는 에어백에 맞아서 다치는 것보다 더 큰 충격을 받고 더 큰 부상을 입었다고 생각하면 된다.
그리고 저분은 자기 낙하산을 펼치고 감속할 타이밍을 놓치는 바람에 한강 얼음판에 추락사로 순직했다. 1966년 2월, 엄청 옛날 일이다.

공수 훈련 중에 남의 낙하산을 펴 주는 건 물에 빠져서 허우적대는 사람을 지상에 고정된 로프 없이 수영만으로 구해 오는 것 이상으로 매우 어렵고 위험한 일이다. 자유 낙하하는 사람에게 접근해야 하니 무엇보다 자기도 낙하산을 펴지 않고 일정 구간 자유 낙하하는 엄청난 위험을 감수해야 하기 때문이다. 무슨 우주선 도킹도 아니고.. 게다가 주어진 시간도 초 단위에 불과하기 때문에 자칫 잘못하면 그냥 둘 다 죽기 십상인데 저분은 그래도 동료를 구하고 장렬히 산화했다.

이분은 강 재구 소령과 비슷한 연배의 군인이고 순직 타이밍도(1965) 별로 차이가 안 나지만, 육사 출신 장교가 아니어서 그런지, 동상이 비록 다리 위나마 엄연히 서울 중심부에 있음에도 불구하고 강 소령에 비해서는 훨씬 알려져 있지 않다.

동상이 하늘을 향해 엄지를 척 세우고 있는 포즈인 게 굉장히 인상적이다. 저것도 말소리로 소통이 안 되는 그쪽 업계에서 통용되는 제스처 은어라고 한다.
그리고 밑에는 고인이 다른 전우의 낙하산을 펴 주는 상황을 상상해서 그린 양각 부조 동판도 만들어져 있다.

연휴가 아니면 낮에 한강대교 건널 일이 좀체 없었을 테니, 본인은 잠시 차를 세우고 내려서 사진을 남겼다.

Posted by 사무엘

2017/07/01 08:34 2017/07/01 08:34
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1376

1. 트리플

  • 저그 해처리 레어 하이브 : 학사 석사 박사
  • 워드 엑셀 파워포인트 : 서울 지하철 1호선 2호선 3호선 (힌트: 색깔의 유사성)
  • 크레용-크레파스-파스텔 : 짜장면-짜파게티-스파게티
  • 레코드 SP EP LP : 그래픽 카드 CGA EGA VGA =_=;;

세상에는 3개로 이뤄진 진영이 속성이 서로 다 동일하거나 제각기 다 다른 경우가 있다.
스타크래프트의 플토, 테란, 저그가 좋은 예이다. 미네랄과 가스, 서플라이를 사용하며 기본적인 공방 업그레이드가 3단계씩 있는 건 공통이지만, 건물을 짓는 방식이나 각종 스킬 같은 건 전부 제각기 다르다. 두 종족은 완전 공통인데 한 종족만 다른 경우는... 일단 없다.

요런 체계를 모델링한 세트(Set)라는 아주 재미있는 머리 싸움 보드 게임도 있다. 4가지 속성(색깔, 도형 개수, 채움 패턴, 도형 모양)이 전부 같거나 전부 다른 카드 트리플을 빨리 찾는 게 목적이다. n개의 카드가 있을 때 세트가 하나라도 존재할 확률 내지 전혀 존재하지 않을 확률도 구할 수 있을 텐데 내 수학 지식으로는 모르겠다.

필기 내지 그리기 도구로서 색연필-크레용-크레파스-파스텔-콩테로 갈수록 특성이 어떻게 달라지나 모르겠다. 파스텔은 그냥 딱딱한 분필 같고, 크레파스는 왁스가 들어가서 그런지 좀 끈적거렸던 것 같다.
콩테나 목탄 같은 건 본 적 없다. 목탄화는 <플란다스의 개>의 주인공이 화가 지망생이라 쓰던 물건이라는 것 정도만 알고 있다.

2. 트윈

  • 지하철역 중에서 종로3가와 종로5가는 영락없이 삼겹살과 오겹살을 떠올리게 한다. -_-
  • 농사에 비닐하우스가 있다면, 야구에는 돔구장이 있는 듯..
  • 서울 강북에 청와대 뒷산인 북악산이 있다면 강남에는 국정원 뒷산인 대모산이 있다. 그리고 강북에 거대한 군사 시설인 용산 미군 기지가 있다면, 강남에는 국군정보사가 있어서 서초대로에 길이 끊겨 있고 gap이 존재한다. 서로 비슷한 심상이 느껴지는데, 얘들은 가까운 미래에 서울 밖으로 이전할 계획이 잡혀 있다.
  • 스타크래프트에나 있어야 할 옵티컬 플레어의 실사판: 공중으로 쏘는 레이저 포인터(특히 녹색), 육지 자동차에는 HID 불법 개조.

크리스천들이 하나님에 대해서는 그분이 우리가 원하는 것을 주시는 게 아니라 우리에게 "필요한" 것, 우리에게 유익한 것을 주신다고 믿는다.
허나, 사람에 대해서는 능력껏 벌어서 "필요한" 만큼 가져가는 세상은 필연적으로 다같이 망하고 거지 되는 세상을 부른다.
이것이 신과 인간에 대해서 '필요'라는 개념이 작용하는 방식의 차이점이다. 이건 성악설이 성립하는 한 반박 불가능할 것이다.

그리고 한편, 컴퓨터와 관련해서는..

  • 옛날에 컴퓨터를 다루던 사람들은 디스크의 배드 섹터를 걱정했지만 요즘 사람들은 모니터의 불량 화소를 신경 쓰는 듯하다.
  • 옛날 사람들은 컴퓨터를 오래 쓰면 Windows 3.x 내지 9x의 리소스 퍼센티지가 줄어드는 걸 보고 바싹 긴장했지만, 요즘 사람들은 스마트폰의 배터리 퍼센티지가 줄어드는 걸 보고 바싹 긴장한다.

3. 부정적인 예

  • C++ 템플릿의 문제(소스 코드가 노출된 채 모든 번역 단위에 매번 인클루드 돼야 함)를 해결하려고 고민했는데 기껏 나온 게 export
  • 남북이 통일하랬더니 기껏 나온 게 고려연방제 (1국가 2체제.. 그냥 전쟁만 없는 반쯤 적화통일)
  • ActiveX를 없애라고 하자 나온 게 EXE 프로그램

이들이 무슨 공통점이 있는지는 설명이 필요하지 않을 것이다. 본질적인 문제는 전혀 해결하지 않은 채 그냥 눈 가리고 아웅일 뿐이다.

4. 긍정적인 예

  • 건축업계· 학계에서는 '철근 + 콘크리트'가 신이 건축· 재료공학계에 내린 천혜의 재료 궁합이라고 그런다. 열팽창 계수가 거의 같아서 혼합 가능하면서도 서로 장점을 부각시키고 단점은 보완하면서 최고의 건축 자재 역할을 하기 때문이다.
  • 항공업계에서는 하필 여객기의 최적 순항 고도에 제트 기류라는 게 존재하는 게 기적적인 행운이라고 한다.
  • 1970년대에 인류가 우주 개발을 하고 있을 때 마침 태양계 행성들이 가까이 일렬로 배열돼 있어서 보이저 2호는 단독으로 천왕성과 해왕성을 동시에 탐사하는 대박을 경험할 수 있었다. 이것도 못해도 백수십 년 만에 한 번 찾아오는 기회였다고 그런다.

이런 예가 더 있을지 궁금하다. 혹시 반도체를 만드는 데에도 무슨 천혜의 자연 광물 특성이 활용되는 게 있지 않을까?

5. 예상치 못한 대박

예전에 교통수단 관련 글을 쓰면서 한 번씩 언급한 적이 있는 내용이긴 하지만 복습 차원에서..

  • 서울 지하철 9호선은 잠재적 수요를 인정받은 덕분에 서울 3기 지하철 중 거의 유일하게 얘 혼자만 노선 계획이 온전히 살아남아서 건설되고 개통되었다. 그런데 한편으로는 국가에서는 이거 만들어 봤자 지상의 올림픽대로를 달리는 자동차들의 적수가 못 될 것이고 공기수송 적자이면 어쩌나 지금의 입장에서는 참 쓸데없는 걱정을 했다. 그래서 전동차도 달랑 4량으로 편성하고, 최대한 메리트를 끌어올리려고 급행도 만들었다. 그랬는데, 실제로 뚜껑을 열어 보니 9호선은 초대박을 쳐서 최악의 가축수송 혼잡도를 보이는 노선이 됐다.
  • 지난 1960년대 말, 보잉 사에서는 유럽에서 초음속 여객기 콩코드가 개발되는 걸 예의주시하면서 "이거 초음속 여객기가 대박을 치면 어쩌나" 생각을 했다. 그래서 자기들도 초음속기인 보잉 2707을 개발 준비만 하면서 간을 보는 한편으로, 이미 개발 중이던 보잉 747 아음속 여객기는 주류에서 밀려날 경우 화물기로 언제든지 개조 가능하게 만반의 대비를 해 놓았다. 그러나 뚜껑을 열어 보니 초음속기는 가성비가 심각하게 부족했고 오일 쇼크와도 맞물려 영 재미를 못 봤다. 그 대신 747은 대형 여객기로 수십 년간 엄청난 성공을 거뒀다.

6. 2단계 계층

컴퓨터 프로그램 내지 알고리즘을 보면 작업을 수행하는 양상이 명백하게 독립된 두 phase로 나뉘는 것이 있다.

  • 힙 정렬: 정렬 알고리즘 중에는 얘가 꽤 독특하다. 배열을 기반으로 heap을 생성하는 단계와, 그 heap으로부터 최종적으로 정렬된 리스트를 하나씩 뽑아내는 단계로 나뉜다.
  • 컴파일러: 소스 코드를 구문 분석을 해서 내부 representation으로 변환하는 프런트 엔드, 그리고 이를 토대로 최적화와 기계어 코드 생성을 하는 백 엔드로 단계가 분명하게 나뉜다.
  • 일본어 IME: 일본 문자 자체를 입력하는 방식과, 그 일본어 문자열을 NLP 관점에서 분석해서 어절을 나누고 한자 변환 후보를 제시하는 것은 서로 완전히 별개의 단계이다. 그러니 전자와 후자를 분리해서 일부 파트만 서로 다른 알고리즘 내지 DB 제품으로 교체해서 사용할 수 있지 않나 싶다.

그리고 데이터 압축이 있다. 흔히 간과하기 쉬운데, 압축이라는 절차도 두 단계로 나뉜다. 먼저, 원소나열법을 간단한 조건제시법으로 바꿀 만한 규칙성, 반복 패턴을 찾아서 더 간결한 방식으로 표현 방식을 바꾸는 것이 전자이다. 전자를 수행하는 방법은 그야말로 무궁무진하며, 손실 압축과 비손실 압축도 이걸 수행하는 방식의 차이에 지나지 않는다. 압축된 데이터는 데이터 + 탈출문자 + 약어에 대한 번문 명령(expansion instruction) + 사전 참조 오프셋 같은 게 뒤죽박죽 섞여 있다.

그 다음으로, 이런 인코딩 결과를 정보 이론 관점에서 빈틈 없는 아주 compact한 형태로 물리적인 표현 방식을 바꿔서 최종 출력하는 것이 후자이다. 후자는 이론적인 압축률의 한계도 다 증명돼 있고 전자에 비해 더 발전할 게 별로 없는 상태이다.
압축 알고리즘이라 하면 이 둘을 싸잡아서 한데 일컫는 경향이 있으나, 이 두 단계는 엄연히 용도와 성격이 다르다. 가령, jpg 이미지 포맷의 경우 이산 코싸인 변환은 전자요, 결과를 허프만 코딩으로 출력하는 것은 후자에 대응한다.

요즘은 보기 힘든데 1990년대에 Windows Installer가 아직 없던 시절에는 마소에서는 확장자가 cab이던가? 독자적인 압축 파일 포맷을 써서 프로그램을 배포했다. 더 옛날에는 원본 디스크를 보면 설치되는 파일들이 확장자만 다 _xe, _ll 혹은 ex_, dl_ 이런 식으로 바뀌고 안에 내용은 어설프게 압축되어 있곤 했다. Lempel-Ziv 같은 알고리즘으로 압축되긴 했는데, 코딩 방식을 조밀화하는 '후처리'는 하지 않아서 가끔씩 원본 파일에 들어있는 문자열이 드문드문 보이곤 했다.

파일을 압축하면 기본적으로 전자 과정을 거쳐서 크기가 줄어드는데, 후처리까지 거치면서 크기가 좀 더 감소할 뿐만 아니라 이때 진짜 난수표 같은 뒤죽박죽 비트 나열로 바뀐다. 둘은 마치 사이다에서 (1) 단 맛을 내는 향신료와 (2) 탄산, 에어컨에서 (1) 온도를 낮추는 압축기와 (2) 송풍기하고 얼추 비슷한 관계가 아닌가 싶다.

7. 혈액형과 상속 개념

코딩 하니까 드는 생각인데..
중등학교 때 혈액형과 수혈 가능성에 대해 배울 때 우리는 객체지향 프로그래밍에서 말하는 상속이라는 개념을 어렴풋이 접했다고 볼 수 있을 듯하다. 수혈 가능성은 형변환 가능성이고.

O형이 베이스 클래스이고 A, B형은 O형으로부터 상속이며 AB는 A와 B 다중 상속이다.
A형과 B형이 O형을 가상 상속을 한 건지는 잘 모르겠다.
하지만 현실은 그렇게 매끄럽지가 않기 때문에 어지간해서는 반드시 같은 유형끼리만 수혈을 하지, A/B계열형에다가 O형 피를 수혈하고 AB형에다가 A나 B형 피를 수혈한다거나 하지는 않는다고 한다. 이런 얘기는 어렸을 때 과학 책이나 교과서에서 접하지 못했다.

아무쪼록 다중 상속은 포인터의 형변환이 이뤄질 때 오프셋 보정이 필요하게 하며, pointer-to-member도 포인터 하나 형태로 간단하게 구현할 수 없게 만드는 주범이다.
다중상속 받은 한 클래스의 포인터를 다른 상속 파생 클래스의 포인터로 바꾸는 건 굉장히 조심해서 해야 한다. 이럴 때 C-style cast는 reinterpret_cast와 개념적으로 다를 바 없어지기 때문에 반드시 static_cast를 써야 실수를 예방할 수 있다.
그러니 혈액형간 typecast도 가능한 한 안 하는 게 좋아 보인다. 아무래도 위험해 보인다.

Posted by 사무엘

2017/05/22 08:27 2017/05/22 08:27
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1362

일본 생각

1. 첫인상

우리나라의 바다 건너 이웃에 있는 일본이라는 나라는 예로부터 가깝고도 먼 이웃이라고 불리고 있다. 무작정 좋아할 수도 미워할 수도 없고, 존재감을 무시할 수도 없는 그런 복잡한 나라이다. 정치적으로 하도 민감한 주제이다 보니 "일본은 없다" "일본은 있다" 이런 책이 나온 것도 벌써 20년 가까이 전의 일이다. 본인이 블로그에서 이 나라 자체에 대해서 심층 취재를 하는 건 이번이 처음인 것 같다.

그럼 비정치적인 얘기부터 가볍고 부담 없게 먼저 시작하겠다. 본인은 일본이라 하면 떠오르는 건 다음과 같은 것들이다. (무순)

  • 벚꽃이 만발한 오사카 성
  • 후지 산 아래로 달리는 신칸센
  • 지멘스 옥타브를 울리면서 달리는 게이큐 쾌특 전철
  • 앞발 들고 있는 복고양이
  • 게다짝, 기모노, 일본도, 정수리를 민 그 특이한 헤어스타일의 사무라이 (조선 선비들은 머리를 기르는 편이었는데 여기는 정반대)
  • 어두운 복장에 표창 던지는 닌자 (뭐, 후대에 만들어진 컨셉에 가까우며, 정작 옛날에 일본엔 저런 차림의 자객이 없었다고 하던데)
  • 스시, 일본 돈까스와 라멘, 심야식당
  • 학교 수영복 (저기에는 공립 학교에 수영장도 있으니)
  • 도라에몽, 슈퍼마리오, 짱구는 못 말려, 드래곤볼 캐릭터와 그와 비슷한 화풍의 일본 애니들
  • 개그만화 보기 좋은 날, 킬 빌, 자토이치 같은 평범하거나 병맛· 개그스러운 영상물. 토스트 소녀-_- 게임
  • 파이널 판타지 같은 너무 심오하고 도무지 배경이고 스토리고 설정을 이해할 수 없는 안드로메다 영상물
  • 감각의 제국, 쇼군의 사디즘 같은 개막장 영상물

사용자 삽입 이미지

사용자 삽입 이미지

참고로 난 일본에 한 번도 가 본 적 없고, 일본어는 열차 안내방송 외운 것밖에 모른다. 글자만이라도 작정하고 읽는 법을 틈틈이 외워 놓고 싶지만, 잘 안 된다.

하긴, 작년에 브라질 올림픽 폐막식 때 그 유명한 2020 도쿄 올림픽 홍보 영상이 상영되었는데 그거 정말 강렬했다. 반도에서 병맛스러운 김치 전사 내지 허접한 평창 동계 올림픽 홍보 영상이나 만들던 동안, 재패니메이션의 원조인 저 동네에서는 제한된 시간 동안 자기 나라의 발전된 면모를 저렇게 쭉 소개하면서 아베 총리까지 슈퍼마리오로 변장시켜서 찬조 출연시켰다니.. 쟤네들의 저력이 놀랍다는 생각이 들었다.

2. 교통

일본은 근대화 산업화가 아시아에서 가장 앞섰으며 경제, 산업, 과학· 기술, 예능 등 거의 모든 분야가 우리나라보다 훨씬 앞서 있고, 현대 사회의 각종 시행착오들도 먼저 겪은 선진국이다. 그 중 교통 분야만 살펴보더라도, 일본은 세계구급 자동차 제조사를 보유한 자동차 왕국인 동시에 신칸센 고속철까지 개발한 철도 왕국이다.

그런데 얘들은 자동차와 철도뿐만 아니라 '자전거 왕국'이기도 하다. 우리나라에서 이륜차는 보행자와 자동차 사이에 껴서 만년 콩나물 신세를 면치 못하는 중인 반면, 일본은 이륜차를 더 많이 볼 수 있으며 도로나 주차 시설이 자전거를 더욱 배려하는 형태로 갖춰져 있다.

이건 일면 수긍이 가는 얘기이다. 일본은 우리나라보다 훨씬 더 소득 높고 잘 사는 국력· 경제력에 '비해서' 서민이 자동차 굴리기는 훨씬 더 힘들게 돼 있다. 고배기량에 덩치 큰 차는 더욱 제약이 심하다. 우리나라는 법적으로 배려와 혜택을 받는 경차의 배기량이 1000cc 이하로 정해져 있지만 저기는 800도 아니고 겨우 660cc이다. 그것도 21세기에..;; 일본도 한국 만만찮게 산과 험지가 많은 동네인데 저건 세계 자동차들 평균 덩치를 생각해도 너무 가혹한 제약이 아닌가 싶다.

또한 저기는 불법주차 단속이 이곳 반도보다 넘사벽급으로 더 자비심이 없으며, 애초에 1960년대에 마이카 시대가 시작되던 시절부터 차고지 증명제가 딱 시행되어 잘 정착된 걸로 유명하다. 차고든 유료 공영 주차장이든 주차 공간이 법적으로 확보돼 있지 않으면 자가용 구입을 아예 못 한다.
마치 컴퓨터에서 하드웨어뿐만 아니라 소프트웨어도 돈 주고 사야 하며, 눈에 보이는 원자재뿐만 아니라 무형의 기술 지원과 서비스에도 비용을 지불해야 하듯.. 차를 샀으면 굴리는 것뿐만 아니라 세워 놓는 공간을 확보하는 것에도 주거비만큼이나 돈이 든다는 관념이 박힌 것이다.

우리나라야 지금처럼 건물과 주차장들이 완공돼 버린 와중에 차고지 증명제를 도입하기에는 대략 곤란한 지경이 됐다. 자동차의 판매 실적에 부정적인 영향을 주는 정책이니 자동차 회사 영업 사원들이 절대 가만히 있지 않을 것이다. 미국으로 치면 총기 규제 정책 vs 총기 제작사들의 로비와도 얼추 비슷한 구도처럼 됐다.
할 거면 1980년대에부터 했어야지. 옛날 석유 파동 때 외화 아끼려고 차량의 배기량과 엔진 기통수에다는 온갖 규제를 걸었으면서, 정작 차고지 확보 관련 규제는 시행을 왜 안 했나 모르겠다.

우리나라가 전기는 1970년대부터 승압을 잘 끝낸 반면에 자동차 쪽으로는 정치인들이 상대적으로 선견지명 안목이 없었던 셈이다. 반대로 일본은 철도 궤간과 전기 규격은 낭패 봤지만 자동차 주차 문화는 잘 정착시킨 경우에 속한다.

아무튼 일본은 경제력 대비 한국이나 미국보다 차 굴리기가 더 비싸고 빡센 나라이다.
그럼 자가용 말고 대중교통은? 대도시엔 물론 잘 구축돼 있고 속도 빠르고 정시성도 높다.

일본은 철도 왕국이라고 해서 우리나라처럼 지하철 역마다 온통 스크린도어들이 갖춰져 있지는 않다. 허나, 누군가가 선로에 투신 자살이라도 하면 고인이 불특정 다수에게 심한 민폐를 끼쳤다고 국가에서 유족에게 도리어 벌금을 매긴다. "자살을 하게 만든 사회 탓 국가 탓? 힐링힐링?" 그런 거 없다.
과거에 중국에서는 총살형을 집행하고 나서 총알값을 사형수 유족에게서 받아 챙기기까지 했는데, 마치 그와 비슷한 급으로 잔인하다면 잔인한 조치 같기도 하다.

허나 일본은 국민성이 민폐 끼치는 걸 극도로 싫어하는 성향이며, 거기는 철도 업계가 분초 단위로 열차 정시성에 목숨을 걸고 기관사까지 죽도록 갈구고 압박하는 곳이다. 평범한 전철도 몇 분 지연되면 역 직원들이 지연 증명서를 알아서 뿌리면서 승객들에게 너무 죄송하다고 굽신거린다. 그런 와중에 누가 자살해서 열차가 줄줄이 지연을 먹었다면 이거 얼마나 큰 민폐이고 피해인지 수긍할 수 있을 것이다.

지난 2005년 4월에 JR서일본 관할의 후쿠치야마 선에서 전철이 과속 탈선 사고가 나서 기관사 포함 107명이나 되는 사람이 죽었는데, JR서일본에서는 그로부터 무려 12년이 지난 오늘날까지도 홈페이지 첫 화면에 그 날 사고에 대한 사과문을 게재해 놓고 있다. 그걸 두고두고 곱씹으면서 다시는 그런 사고를 내지 않겠다고 다짐한다.
이런 게 정상적인 추모이고 이성적인 재발 방지 다짐이다. 그에 반해 우리나라의 세월호 노란 리본 타령은 가해자 당사자의 사죄도 아니고 시스템적인 안전 개선과도 상관 없이 그저 감성팔이 반정부 광기 폭동일 뿐이었다.

아무튼.. 이렇게 일본의 대중교통은 서비스 좋고 시간 관념도 투철하고 다 좋은데.. 비싸다.
우리나라 식 운임과 임률을 생각했다가는 놀라서 턱 빠질 거다. 정말 왕창 비싸며, 사철 간에 통합 환승 할인 같은 것도 없다. 하물며 장거리 간선인 신칸센 운임은 국내선 비행기보다도 더 비쌀 정도이다.

그러니 일본이 비록 중국이나 베트남 같은 나라는 아니겠지만 미국 같은 나라도 아니니, 가까운 거리는 그냥 걷거나 자전거 타는 문화가 형성될 수밖에 없다.
북한만 그런 줄 알았는데 일본도 자전거는 등록하고 번호를 받아야 될 정도라고 한다. 굉장히 뜻밖이다. 물론 북한처럼 주민들을 억압하고 통제하기 위해서가 아니라 적극적인 질서 유지가 필요할 정도로 자전거가 많이 돌아다니기 때문이다.

저기서는 학생들, 특히 여자애들도 등하교나 알바 하러 출퇴근 할 때 자전거 많이 타는 거 같다.
어쩐지 일본의 사건사고 같은 이야기들을 봐도 가해자나 피해자들이 그 당시나 직전에 자전거 탔다는 얘기가 많이 나온다. 극단적인 예로는 콘크리트 살인 사건(1989)에서도 그렇다.
또한 철권 시리즈에 나오는 '카자마 아스카'자전거 끌고 다니는 여고생 컨셉이다.
이제야 그 바닥 문화가 좀 이해가 되고 퍼즐 조각이 짜맞춰지는 것 같다.

사용자 삽입 이미지

3. 권위주의

그럼 이제 민감한 주제들에 대한 본인의 생각을 조금씩 논해 보겠다.
일본에는 덴노라는 국가 상징 겸 정치· 종교 복합체 중심 구심점이 있으며, 여기 한국보다 뭔가 전체주의스러운 분위기가 더 강하다. 일제의 패망 후에야 덴노가 인간 선언을 하고 젊은 세대들이 많이 자유분방 개인주의스러워졌지만, 과거에는 그렇지 않았다.

이런 영향 때문인지 일본의 다른 분야는 몰라도 정치계나 법조계는 오늘날까지도 우리나라보다 권위주의가 훨씬 더 심하고 경직돼 있다. 실수나 잘못· 착오가 생겨도, 누굴 억울하게 누명 씌워서 몇십 년 옥살이 시키고 나서도 그걸 시인해서 직접적인 표현으로 사죄 따위는 거의 안 하다시피한다. 잘못을 순순히 인정하면 자기 권위와 위신이 깎인다고 생각한다. '엔자이'(원죄) 사건이라고 검색해 보면 이런 예가 여럿 나온다.

사고방식이 원래부터 저렇고 '자국민'한테조차 저러는데, 하물며 쟤들이 자기보다 (엄밀히 말해) 국력이 딸리는 외국을 상대로 위안부 피해 문제 같은 거는 절대로 대놓고 사죄할 일은 없다고 봐야 한다. 오히려 지금까지 이만치 간접적으로나마 유감 표현했고 돈 이만치 줬고, 이 주제 얘기 더 안 꺼내기로 지도자들끼리 서로 퉁쳤으면 나름 "걔네 입장"에서는 많이 양보하고 챙겨 준 것에 가깝다. -_-;;

뭐, 일본이 저 따구로 나오는 건 이스라엘 앞에서 가히 '도게자' 급으로 굽신굽신 사죄하는 독일과는 참 비교되는 모습이며 본인이라고 해서 보기 좋을 리 없다. 그럼 쟤네들은 원래 저런 놈들인가 보다 하고 우리로서는 과학 기술과 경제와 힘으로 극일을 이루는 것밖에 현실적인 답이 없다. 그 신사적인 독일조차도 이스라엘 급의 국력과 국제 위상이 있는 나라 앞에서나 굽신굽신이지, 다른 듣보잡 소수 민족이 나치에게 피해를 입은 건 상대적으로 모르쇠인 걸로 비판받는 건 변함없다.

이런 넓은 맥락에서의 이해 없이 그저 소녀상에다 반일 반일거리고, 일본하고는 뭘 하고 오든지간에 무조건 굴욕 매국 협상이라고 헛소리 하는 애들.. 정말 지겹다. 백 날 그렇게 설쳐 봐라, 일본의 태도가 바뀌는 게 있겠나?
그리고 또 내가 늘 하는 말이지만 북괴와 중국한테 그만치 부당하게 당해 온 걸 반의 반만치라도 따지고서 일본에 집착하는 거라면 또 내가 말도 안 한다. 북괴 김 정은이 6· 25 전쟁이나 연평도 포격에 대해서 남조선을 향해 사죄를 할 것 같아 보이냐? 그와 똑같은 맥락이다.

4. 그나마 중국· 북한보다는 더 가까이해야 할 대상

동북아시아 한중일 CJK 국가들을 생각해 보면..
우리로서는 일본은 비교적 가까운 과거사의 앙금 트라우마 때문에, 중국은 지금 당장 국가 프레임과 이념 차이 때문에 현실에서는 서로 마냥 손잡고 친하게 뭉치기가 불가능에 가까운 게 사실이다.

북괴? 걔들은 국가 프레임· 이념 차이를 넘어서 그냥 묻지 마 남조선을 체제 전복+적화시키려고 눈에 시뻘겋게 불 켠 쌩 양아치에 광신도+노예 집단일 뿐이고. 통상적인 경제력 군사력으로는 그걸 이룰 수 없으니 역사왜곡, 간첩질, 사이버전 선동질 등 방법도 갈수록 교묘하고 추잡해지고 있다.

통일 후에도 김돼지 동상이랑 주체사상 같이 껴안고 살 게 아니라면, 화해네 경제 협력이네 하는 개수작에 절대 응하지 말고 그냥 왕따 고립만이 답이고 진리이다. 굳이 먼저 북폭 하고 쳐들어갈 필요도 없으니, 굶겨 죽이기만 하면 된다.
일부 미사일 발사체 기술이나 소프트웨어 기술이 우리보다 앞서 있을지는 모르겠지만, 그런 예외를 빼면 배울 것 선한 것이라곤 아무것도 없다.

이런 현실 속에서 동북아 이웃 나라들 중에 남조선이 제일 가깝고 친하게 지내야 하는 상대는.. 나도 인정하고 싶지 않지만 일본이다.
그리고 제일 본받고 배워야 할 상대를 꼽자면 그건 친하게 지낼 대상보다도 더욱 단호하게 일본이다.

물론 구 일본군의 흉악한 전쟁 범죄라든가 그 스타일의 병신 같은 조직 문화와 똥군기 따위를 본받자는 얘기는 아니다. 하지만 걔네들은 그런 지랄맞은 시스템 하에서도, 우리의 입장에서는 척결해야 할 소위 '일제 잔재'라는 것들의 본거지임에도 불구하고, 그리고 내 관심 분야도 보태자면 한자 같은 불편한 문자를 쓰고도 어쨌든 근대화를 이루고 과학 기술 강국 선진국이 됐다는 점이 중요하다. 우리가 그렇게도 컴플랙스를 갖고 있는 과학 분야 노벨 상도 도대체 몇 개를 탔냐 말이다.

일본이 겉으로는 화해 유감 사죄 운운하면서 한편으로는 윗선에서는 모르는 척 망언 씨부리고 독도는 일본땅이다 교육을 해?
괘씸하긴 하지만 그렇게까지 걱정은 안 해도 된다. 그래 봤자 군사적으로 같은 친미 동맹이고 동일한 자유 진영 이념 프레임을 공유하는 국가끼리 대놓고 군사 충돌이 일어날 확률은 중국· 북한보다야 훨씬 낮다.

저 정도 앙금과 마찰이 있으면 우리도 겉으로는 웃으면서 얻어낼 거 얻어내면서 한편으로는 "일부" 극렬 민간단체를 모르는 척 묵인하면서 소녀상 한두 개쯤 놓고 시위든 하면서 맞불 놓으면 된다.
딱 그 정도까지만. 그건 나도 전략상 인정한다. 뭐 아무 티 안 내고 묵묵히 실력만으로.. 현대차· 삼성 전자가 일본 기업들 쳐발랐던 것 같은 방식으로 일본 이기는 게 제일 좋고 이상적이겠지만, 그럴 수만은 없고 현실에서는 감정상의 카타르시스도 약간은 필요하지.

필요 이상으로 반일 반일 거리는 애들이 진짜로 애국심? 민족 정기? 그런 순진한 이유로 일본 비판하는 경우는 생각보다 매우 드물다. 오로지 자국 비하와 북괴의 범죄 물타기라는 매우 불순한 목적인 경우가 훨씬 더 많다. 이런 비굴한 사고방식으로 일제의 식민사관 내지 조센징 엽전 비하는 어째 비판하고, 무장 항일 독립투사는 어째 칭송할 수 있는지 내 판단력으로는 이해가 안 된다.

전국 방방곡곡에 무슨 몇백 개씩 소녀상 세우자고 유세를 떨거나, 특히 아직까지도 우리나라가 친일 청산을 못 했네 웃기는 소리 하는 애들은 우리나라에 발을 못 붙이게 해야 된다. 누구 때문에 왜 친일 부역자 군경을 활용해야 했는지만이라도 정확하게 가르치면 아무 문제될 거 없고 거짓을 팩트로 격퇴할 수 있다.

지금으로부터 15~20년 전부터 본인을 봐 온 분들은 잘 알 거다. 난 예나 지금이나 주된 연구 개발 분야가 한글 입력이고, 전통적으로 얼마나 열혈 반일 민족주의자였는지를 말이다.
그랬는데 내가 이렇게 돌아섰을 정도면, 저쪽에 있는 애들이 정말 일관성 없고 주적 구분을 못 하고 필요악과 절대악을 분간 못 하는 거다. 나이가 들수록 "어 저건 아닌데..;; 왜 중국 북한에다가는 단 한 마디도 말이 없지?" 하는 거부감이 들면서 갈라서게 됐다. 요즘 같은 시대에 누구든 일본에 대한 바른 인식이 필요해 보인다.

Posted by 사무엘

2017/05/13 08:34 2017/05/13 08:34
, , , , ,
Response
No Trackback , 7 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1359

박 정희 대통령의 자녀들

1. 박 근혜(1952)

* 주의: 오늘은 시기가 시기이다 보니 오랜만에 정치 얘기 좀 꺼낼 것이고 글 중간에 필터링하지 않은 진지한 욕설도 늘어놓을 것이다. 독자들에게 미리 양해 구함.
나하고 정치 성향이 맞지 않고 북괴는 같은 '우리민족'이니 남조선의 존립에 전혀 위협이나 해가 되지 않는다고 태평스럽게 생각하는 분, 내 글을 팩트와 논리로 반박· 저격할 의향이 없는 분은 박 근혜 얘기는 그냥 건너뛰기 바란다. 난 분명히 미리 주의를 줬다.

서강대 전자공학과를 나온 나름 이공계 출신이고, 잘 알다시피 그냥 독신이다.
이 사람은 바로 얼마 전까지 제18대 대통령을 역임하여 우리나라 최초의 여성 대통령, 과반 당선 등의 기록을 달성했다. 그러나 헌법을 고치면서 18년씩이나 대통령을 한 부친과는 달리, 딸은 예정되었던 임기도 못 마치고 탄핵 인용 파면으로 대통령 생활을 마감했다. 하긴, 만기 퇴임을 못 한 건 부녀가 동일하네..;;

글쎄, 내 소신을 말하자면 본인은 박통이 재임했던 4년 동안 약간이나마 행복했다. 지금은 그 행복이 중대한 위협을 받게 되어 마음이 착잡할 따름이다.
박통을 개인적으로 좋아하거나 싫어한다는 의견에 대해서야 개인 자유이며 내가 더 시비를 걸 여지가 없다. 그러나 이 사람이 무능했다거나, 한 게 아무것도 없다는 주장에는 본인이 결코 동의할 수 없다. 한 게 없긴 왜 없냐? 두 눈 똑바로 뜨고 봐라.

  • 통합진보당 해산
  • 전교조 법외노조화
  • 한미 연합사 전시작전권 전환 무기연기, 전쟁 위협 시 선제 타격 가능
  • UN 북한 인권 결의안 채택
  • 개성공단 폐쇄 및 대북지원 (명목상) 0원

야당 후보가 죽었다 깨어도 절대로 안 하거나 못 할 일을 얼마나 많이 해냈냐? 박 근혜는 애초부터 DO보다 BE의 업적이 더 뛰어난 대통령이었다. 우리나라 적화통일을 한 4년쯤 늦춰서 최소한 시간은 벌어 줬다.

이 정도로 퍼 주고 시행착오를 겪었으면, 이제는 북괴에 대해서 "시키는 대로 할 테니 주민들 해치지 마라"가 아니라
네일건 쏘면서 "두 번 협상은 없어. 한 시간 내로 핵무기 포기해" 이래도 모자랄 판 아닌가?
전쟁? 얼어죽을 북폭 선제공격 같은 건 할 필요도 없다. 그냥 모든 돈줄을 차단하고 가만히 내버려두기만 해도 된다. 급한 건 북괴이지 우리가 아니다. 모든 정황이 우리에게 유리하다.

그런데도 아직까지 대화나 협력으로 북핵을 해결하자 나불대는 인간말종 개새끼들은 정말 대놓고 종북 개빨갱이들 아닌가? (너무 화가 치밀어서 욕설을 가리지도 않았다) 그야말로 Let's make North Korea great again이다.
꼭 저러는 놈들이 일제에게 비굴하게 평화를 구걸했던 구한말 매국노 친일파는 같은 입으로 어째 저렇게 욕을 해 대나 모르겠다.

다시 말하지만 박통 레카는 행적이 분명히 있다. 단지 종북좌빨들이 좋아하는 행적이 아니었을 뿐이다. 레카가 훌륭한 대통령이었던 이유는.. 적들의 평가가 말해 준다. 이 이상 더 말이 필요하지 않다.

사용자 삽입 이미지

로동신문 2016년 3월 16일자라고 함. 그로부터 딱 1년 뒤에 북괴의 "꿈은 이루어졌다."

바보 멍청이들이 꼭 "위수김동 장군님 만세"만 외쳐야 종북인 줄 알어.. 사탄 마귀가 빛의 천사로 나타나지 그럼 반공 포스터에 그려진 것처럼 뿔 달리고 꼬리 달린 흉측한 괴물로 나타날 줄 아냐?

박 근혜가 아들이 비리 저지른 전직 대통령, 부인이 뇌물 받은 전직 대통령 등 온갖 친인척 비리가 얽히고 설켜 있는 다른 사람들보다는 훨씬 더 청렴했다는 건 주지의 사실이다. 저런 거 다 지켜봐 온 사람으로서 지금의 뇌물 수사네 구속이네 하는 거.. 정말 정의를 위해서 하는 건 1도 아니라는 것쯤은 진영논리로 양심과 지능이 마비되지 않은 한 삼척동자라도 알지 싶다. 개돼지가 아니라 과거에 대한 기억이 시퍼렇게 살아있고 학습효과가 있는 사람을 속이고 선동할 순 없지!

레카가 탄핵돼야 하는 이유는 내가 보기에 거의 전부가 탄핵까지 당할 잘못도 아니고 그냥 지가 닭그네가 싫은 이유들(= 좀 심하게 말하면 적화통일에 걸림돌이 되니까) 그 이상도 그 이하도 아니더라.

  • "북괴한테 물어 보는 건 괜찮고 최 순실한테 물어 보는 것만 그렇게까지 죽을 죄냐?" (다른 비정치적인 주제도 아니고 인권 결의안 같은 아주 크리티컬한 것을)
  • "지금이 어느 시댄데 빨갱이 타령이냐고? 그럼 더 오래된 친일파· 위안부 타령은 뭐냐?"
  • "그 무개념녀는 그래도 허접하게나마 승마 단체전 메달이라도 땄지, 수많은 고시낭인 취준생들을 농락하고 아무 스펙 없이 특혜만으로 공기업 합격부터 한 뒤에, 대충 쓴 이력서 달랑 제출한 누구 아들은 그럼 뭐냐? 게다가 뭐 저런 놈이 서민 타령이냐?"

등, 저격할 아이템들은 한도 끝도 없다.

판결문 어딘가에 있던 문장인데.. 헌법 수호 의지가 없다고? 나 참 기도 안 차서.. 외국까지 나가서 북핵 열심히 옹호하고 실드 치던 모 대통령의 짓거리는 씨발 그럼 자국 헌법 수호 의지가 있는 행동이더냐? 사람들이 진짜 큰 위험한 죄가 뭔지 우선순위 분간을 못 한다.
자 그럼.. 흥분은 가라앉히고, 다음 얘기로..

2. 박 근령(1954)

이분은 박 근영, 박 서영을 거쳐서 지금의 이름으로 개명을 어찌 된 일인지 두 번이나 했다. 서울대 음대 나왔으며, 그 이름도 유명한 "새벽종이 울렸네 새 아침이 밝았네" '새마을 노래'의 실질적인 작곡자로 알려져 있다.

이 글을 쓰는 본인은 1980년대생으로 박통은커녕 전대갈 시절을 경험한 기억조차 없다. 서울 올림픽 이전 시기는 직접체험의 기억이 없는 선사시대의 영역이다. 민주화 운동 같은 것도 모름.
허나, 새마을 노래를 동요 테이프에서 들은 적이 있고 엄청 옛날 음악 교과서에서 악보를 보기도 했다.

새마을 노래는 가사 내용대로 "일하면서 싸우고 싸우면서 일하기 좋게", 노동요처럼 참 흥겨운 곡이라는 생각이 들었다. 물론 여기서 싸우는 건 같은 편끼리 치고 받고 싸우는 게 아니라 적군(=북괴)과 싸운다는 얘기다. 성경에서 느헤미야서에 완벽한 예시가 있다. (느 4:15-18)

이 새마을 노래는 공식적으로 박 정희 대통령의 작사 작곡으로 등재되어 있다.
일단 작사는 아랫사람을 시킨 뒤 대통령 이름만 올린 게 아니라 정말로 박통 당사자가 한 것으로 보인다. 저 사람은 젊은 시절부터 교사와 장교를 모두 역임했고 그림과 글씨, 음악 등 예체능에도 두루 조예가 깊은 똑똑한 사람이었다.

작곡에 대해서는 사실은 세월 간격을 두고 조금 상이한 증언이 존재한다. 2004년경 굿데이 인터뷰에서는 작곡을 딸이 다 했다고 나오지만 더 최근 인터뷰에서는 작곡까지 아버지가 했는데 딸은 그걸 악보로 받아 적고 편곡만 한 것으로 나온다(2008년 11월자 인터뷰, 그 뒤 2015년에도). 어떤 형태로든 그 당시 대통령의 영애가 개입을 했다.

박 근령은 훗날 1982년에 대기업 회장 가문 아들과 결혼했으나 6개월 만에 이혼하고 오랫동안 언니처럼 솔로로 지냈다. 그러다 그로부터 30년이 넘은 2007년에 50이 넘은 나이로 무려 13살 연하의 전문대 교수와 재혼했다. 자녀는 없음.

3. 박 지만(1958)

육사까지 나오긴 했지만 잘 알다시피 젊은 시절에 방황 많이 했고, 40대 중반 나이가 된 2004년에야 16살 연하의 변호사와 결혼했다. 그 이듬해에 득남했다가 2014년에 9살 터울의 둘째 아들을 얻었고, 그 다음 2015년에는 쌍둥이 아들을 얻어서 자식은 아들만 넷이다. 부인이 젊다지만, 그래도 58세의 나이에 얻은 아들이니 정말 엄청난 늦둥이이다. 박 정희가 1917년생인데 증손자도 아닌 막내 손자가 2015년생이라니...

박 지만이 학교에 들어가던 1970년대 초중반엔 이제 막 고등학교 평준화가 시행되었으며, 학교 배당에 컴퓨터 추첨이 동원되었다.
KIST가 정부로부터 이거 뺑뺑이를 의뢰받아서 실시했는데, "추첨을 살짝 조작해서 대통령의 아들인 박 지만 군을 그래도 명문 K고에다가 배정하라"라는 외압이 있었다고 한다.

그러나 그 당시 KIST 전산실 실장이던 성 기수 박사가 이에 소신껏 응하지 않고 아무 조작 없이 추첨을 돌려서 그는 J고에 진학하게 됐다... 고 성 박사의 회고록이 전해진다. K와 J가 어디인지는 알 만한 사람들은 다 알 것이다.

이렇듯, 이쪽 가문은 결혼 여부와 시기, 자녀 유무나 시기 같은 가정사가 다들 평범하지 않아 보인다.
사실은 박 정희는 어렸을 때 억지로 떠밀려서 결혼한 전 부인 김 호남에게서 얻은 딸도 하나 있다. 박 재옥(1937)이라고 박 근혜 전대통령의 입장에서는 15살이나 더 많은 이복 언니이다. 이분은 그나마 평범하게 산 듯하며, 친부에게서 그렇게 아주 버림받지는 않고 특혜도 종종 받으며 지냈다.

Posted by 사무엘

2017/05/04 08:30 2017/05/04 08:30
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1356

1. 외부 모듈 핵심부의 EXE 분리

오래 전부터 조금씩 풀었던 썰이긴 한데, 마침 최근에 회사에서 유사 개발 업무를 한 적도 있고 해서 다시 얘기를 꺼내 보겠다.
Windows는 타 OS들과는 달리 IME가 EXE가 아닌 DLL 형태이다. 한 프로세스의 주소 공간에 완전히 속해 있는 덕분에 성능이 좋다는 장점이 있겠지만, 한영 상태가 스레드들마다 제각각 따로 놀고 거기에다 memory-mapped 방식으로 로딩된다는 특성까지 겹쳐서 IME의 on-the-fly 업데이트가 몹시 난감하다.

EXE라면 업데이터 하나 띄워서 자신을 종료한 뒤 업데이트 된 놈으로 재시작만 하면 간단하게 끝났을 일인데 Windows용 IME는 업데이트 하려면 자신을 사용하는 프로그램들을 몽땅 종료해야 하고, 그게 여의치 않으면 그냥 운영체제를 재시작/로그오프 해야 한다. 거기에다 32/64비트까지 모두 신경 써야 한다.

그래서 <날개셋> 한글 입력기 외부 모듈도 인제 와서 처음부터 다시 만드는 건 무리이겠지만, 앞으로 덩치 큰 IME를 만들 일이 있으면 DLL은 거의 업데이트 할 일 없는 껍데기만 남겨 놓고 실질적인 문자 조합은 EXE 기반의 '서버'에 담당시키면 어떨까 생각을 해 왔다. 업데이트도 IME가 통신하는 EXE만 하고 말이다.

이렇게 하면 모든 IME들의 설정과 상태 동기화는 자동으로 이뤄진다. 서버와는 함수 호출이 아니라 메시지와 memory-mapped file 같은 간접적인 방법으로 통신을 하니 서버는 굳이 바이너리 구분을 할 필요 없다. 64비트 OS에서는 64비트 서버 하나만 띄워 놓으면 32비트와 64비트 IME가 모두 통신이 가능하니 더욱 좋다.

실제로 실험용 IME를 만들어 본 결과는 흥미로웠다. 서로 다른 프로세스끼리 메시지를 주고받을 때는 단일 스레드끼리 메시지를 주고받을 때에 비해 고려해야 할 점이 더 많았다. 받는 쪽에서 자체적으로 대화상자 같은 걸 출력하고 그 상태로도 자체 메시지를 처리하지 못하는 block 상태가 되지 않으려면 대화상자는 modal이 아니라 반드시 modeless 형태로 만들어야 했다.

SendMessage와 PostMessage를 조심해서 가려 써야 하며, 리턴값을 꼭 받기 위해 Send를 하면서도 신속한 반응성을 보장하기 위해서는 지금까지 머리로만 알고 있던 ReplyMessage 같은 함수를 난생 처음으로 써 보기도 했다. 특히 호스트가 클라이언트로부터 Send된 메시지를 받은 뒤에 대화상자 같은 modal UI를 띄운다면 말이다.

여기까지 생각을 하긴 했으나.. IPC 기법들은 근본적으로 IME들이 쓰라고 만들어진 메커니즘이 아니다 보니 한계도 많다.
가장 먼저 권한 문제가 걸리니, IME 서버는 번거롭게 관리자 권한으로 실행하거나 아니면 애초에 운영체제의 서비스 같은 급으로 만들어야 한다. 메트로와 데스크톱 앱 사이의 소통도 문제이고..
IME가 글쇠 입력을 받은 것을 서버로 요청을 보내는 건 그럭저럭 할 만하나, 반대로 서버가 IME로 문자 입력 요청을 하는 것은.. IME가 제각각 스레드 동기화 오브젝트나 윈도우를 만들어야 가능할 것이다.

서버는 자신과 접속하거나 종료하는 클라이언트들을 파악하고 있어야 하는데 자고로 프로세스라는 건 강제 내지 비정상 종료될 때도 있다. 그렇기 때문에 모든 프로그램들의 근황을 언제나 정확하게 파악하고 있는 것도 훅킹이라도 동원하지 않으면 의외로 쉽지 않더라.

이것저것 가성비를 생각해 보니 서로 장단점이 있고 근본적으로 한 방식이 다른 방식을 완전히 대체 가능해 보이지는 않았다. 안 그래도 날개셋의 경우 EXE 기반의 입력기 개발 실험은 입력 패드를 만들면서 이미 그럭저럭 하기도 했다. Windows에서 어떤 DLL이 타 프로세스에 합법적으로 침투할 수 있는 양대 통로는 미우나 고우나 훅킹 아니면 IME이다.

다만, 지금 MS 일본어 IME가 이미 그런 것처럼 제어판 대화상자만은 EXE로 분리하는 게 나은 점도 있다.
실행되는 응용 프로그램에 따라서는 공용 컨트롤.. 특히 6.0 이상에서만 지원되는 syslink나 split button, 에디트 컨트롤의 풍선 도움말(cue banner) 같은 게 초기화되지 않은 경우가 종종 있어서 내 날개셋 제어판도 그거 영향을 받아 제약을 받기도 하기 때문이다.

뭐 그건 그렇고..
기존 데스크톱 앱인 '제어판' 말고 메트로 앱인 '설정'에서 돌아가는 환경설정은 어떻게 만드는지 모르겠다. MS 한글 IME에는 그런 게 있던데..;;

2. 설치 시스템 개편

예전에도 여러 번 언급한 바와 같이, <날개셋> 한글 입력기는 Visual Studio가 기본 제공하는 Windows Installer 기반 msi 패키지 형태로 배포되고 있다. 이 솔루션은 MS 본가에서 만든 만큼, 프로그램을 설치하거나 제거하는 본연의 성능은 일정 수준 이상의 퀄리티가 보장된다. 프로그램 디렉터리 어딘가에 uninstall stub 프로그램 같은 게 덕지덕지 붙어 있을 필요도 없고 아주 seamless + 깔끔하다. 하지만 개발툴이 제공하는 GUI 템플릿은 customize가 매우 제한적이고 불만족스러운 점이 많기 때문에 다른 솔루션을 써 볼까 생각도 자주 해 왔다.

이상적인 설치/배포 솔루션은 다음과 같은 조건을 만족해야 한다. 다른 프로그램이라면 몰라도 <날개셋> 한글 입력기에 대해서는 내가 보다시피 욕심이 좀 많다.

  1. CPU 통합: 한 exe 파일 단독으로 32비트와 64비트 OS에서 잘 동작하고, 32비트에서는 당연히 64비트 바이너리를 설치하지 않아야 한다. EXE처럼 32/64비트 중 사용 가능한 상위 바이너리 하나만 설치하면 되는 파일은 선별이 옳게 돼야 한다. 필요한 디스크 공간 계산도 이 모든 변수를 감안해서 돼야 한다.
  2. 언어 통합: 한 exe 단독으로 운영체제의 기본 언어가 한국어이면 한국어, 그렇지 않으면 자동으로 영어로 설치 프로그램의 UI가 출력되어야 한다.
  3. 유니코드 통합: 평상시에 유니코드 API를 사용하는 건 너무 당연한 얘기이고, 그럼에도 불구하고 구닥다리 Windows 9x에서도 유니코드만 포기하고 기본적인 실행이 돼야 한다. 이것도 물론 단일 파일로 말이다. <날개셋> 한글 입력기 본제품이 Windows 95/NT4부터 꼬박꼬박 다 지원하는 프로그램이기 때문이다.
  4. known 폴더: 또한 아무 액세서리 없는 깡통 Windows 95 RTM에서 실행되더라도 IE 4~5 이상에서 첫 도입된 ProgramData (Application Data)같은 known 디렉터리를 인식해서 파일을 제 위치에 설치해야 한다.
  5. 원활한 제거: Windows용 IME는 그 특성상 on-the-fly로 업데이트나 제거가 꽤 난감한 물건인데, 당일 제거를 못 했으면 재부팅 요청 같은 후처리를 적절히 수행해야 한다.
  6. 그 밖에: 관리자 권한 드립 치는 UAC 화면은 setup을 실행하자마자 뜨는 게 아니라, 실제로 설치가 시작되어 관리자 권한이 정말로 필요해졌을 때 직전에 뜨는 게 바람직함.

진짜 유명한 세계구급 소프트웨어인 경우, 설치 프로그램이 언어를 선택받는 대화상자부터 띄우는 경우가 있다. 하지만 날개셋의 경우 그렇게 유명한 물건은 아니니 그냥 운영체제의 기본 GUI 언어가 한국어가 아닐 때에만 영어로 동작하는 걸로도 충분할 듯하다. 날개셋은 GetSystemDefaultLangID() 함수를 써서 판별하는데, 이게 GetUserDefaultLangID와 차이가 무엇이 있는지는 개인적으로 궁금하다.

msi는 (1)과 (2)는 전혀 만족하지 않는 것으로 보여서 문제다.
그러나 (3)과 (4)는 Windows installer runtime (non-Unicode 9x용 에디션)자체만 미리 설치하면 그럭저럭 어렵지 않게 충족된다. 2.0 런타임은 의외로 깡통 Windows 95에서도 깔끔하게 설치 가능하다. 이것 때문에 <날개셋> 한글 입력기가 MSI 외에 다른 배포 솔루션으로 갈아타기가 어렵다.

"HKCU 또는 HKLM"\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders라는 레지스트리를 참조하면 known 폴더 위치를 얻을 수 있다. MSI가 이런 것까지도 생성해 준다. 이렇게 레지스트리를 수동으로 뒤지는 방법은 오늘날에는 마소에서 권장하지 않는 방법이지만, The old new thing 블로그의 설명에 따르면 아직도 여기를 참조하는 고집쟁이 옛날 어플 때문에 어쩔 수 없이 호환성 차원에서 레지스트리를 계속 지원해 주는 거라고 한다. 사실, IE 4~5가 없고 SHGetSpecialFolderPath 함수가 존재하지 않는 골동품 Windows 95 환경에서는 여기를 뒤지는 것밖에 선택의 여지가 없기도 하다.

다음으로 (5)의 경우 msi는 딱 기본만 수행한다. "다음 프로그램들이 요 DLL을 사용하고 있습니다" 대화상자도 찍어 주고, 뭔가 못 건드린 파일이 있으면 "재부팅 하시겠습니까?"라는 여운을 남기기도 하는데, 가끔은 안 그럴 때도 있는 듯하다.

msi 말고 3rd party installer 중에서는 오픈소스이기도 한 NSIS가 세계적으로 제일 유명하다. WinAmp는 역사 속으로 사라졌고 개발사인 Nullsoft도 없어졌지만, 그래도 NSIS만은 유용성 덕분에 오픈소스 진영에서 살아남아 있다. Nullsoft의 개발자들이 왕년에 불멸의 작품 하나로 이름을 남겼다.

얘는 어떤가 하면..
(1)과 (2)는 기술적으로 일단 가능하다. msi보다 분명 우월한 점이다. 그러나 그냥 '가능하다'에서 끝일 뿐, 막~ 적극적으로 지원되고 깔끔하고 편한 형태로 가능하지는 않아 보인다.

단적인 예로, 생성되는 installer에 붙는 런타임 바이너리가 기본적으로 32비트 기반이다 보니, 거기 스크립트 언어에서 기본 제공하는 등록 명령만 이용해서는 64비트 DLL에 대해서 DllRegisterServer(시스템 등록) 호출을 할 수 없다. 뭐, 운영체제가 제공하는 regsvr32 /s를 이용하면 되긴 하지만, 사용자가 직접 저렇게 외부 유틸리티나 플러그 인을 끌어들일 필요 없이 NSIS가 내장 명령어 차원에서 저걸 지원하면 더 좋을 것이다.
홈그라운드 운영체제의 지원빨이 있는 msi에서는 반대로 DLL의 등록쯤은 전혀 걱정할 것 없는 사항이다. 64비트용 msi라면 64비트 DLL이건 32비트 DLL이건 불문하고 등록이 깔끔하게 잘 처리되기 때문이다.

(3)은 NSIS가 한동안 정식으로 지원하지 않아서 Unicode NSIS라는 별도의 프로젝트 브랜치가 나돌 정도이다가 비교적 최근에 NSIS가 3.x 버전에 진입하고 나서야 유니코드를 정식으로 수용하게 됐다.
그러나 NSIS는 기술 수준이 그냥 이미 있는 Windows API를 감싸는 정도를 벗어나지 않기 때문에 유니코드와 Windows 9x를 동시에 지원한다거나, 구버전 OS에서 신버전의 known 디렉터리를 만들어 주는 정도의 과잉 친절을 베풀지는 않는다.
(5)의 경우는 NSIS가 어디까지 자비롭게 대처하는지 아직 제대로 확인을 못 해 봤다.

요약하면, 완전한 스크립트 기반인 NSIS가 당장 자유도가 뛰어나 보이기는 하지만, 그래도 레거시 운영체제 지원이나 시스템 차원에서의 융통성은 그래도 msi가 나은 게 있어서 한 솔루션이 다른 솔루션을 완벽하게 대체하지는 못하는 실정이다.
NSIS의 스크립트는 무슨 파이썬이나 Lua 급으로 복잡한 연산식이나 복합 자료구조를 지원하는 본격적인 고급 언어가 아니다. 스크립트의 문법은 반쯤 어셈블리어에다가 C언어의 전처리기를 얹은 것 같은 구조이며 생각보다 제약이 많다.

어셈블리어 같은 문법인데 CPU 인스트럭션이 들어가는 게 아니라 Windows API의 함수와 각종 속성 명칭이나 상수들이 들어간다는 점만 다르다. if-then-else, switch 같은 조건 판단과 분기조차도 언어의 키워드가 아니라 그냥 분기문을 표현하는 매크로 형태로 구현되었을 정도이다.
그나저나, 파일 경로를 많이 다루고 역슬래시를 필연적으로 많이 쓴다는 특성상 \ 자체는 탈출문자로 쓰지 않고 $를 붙여서 $\n으로 개행문자를 표현하는 건 인상적이었다.

설치 스크립트도 당장 필요한 기능만 주먹구구식으로 구현하는 게 아니라 치밀하게 잘 만들려면 끝이 없겠다.

  • 한 스크립트로 몇몇 스위치만 달리하여 동일 제품의 여러 파생형이나 변형 에디션(가령, 셰어웨어 데모/정식 같은)을 조건부 컴파일로 간단히 감당 가능
  • 한 제품에서는 아까 말한 언어와 아키텍처를 단일 출력 바이너리만으로 모두 커버 가능
  • 모든 문자열 값들은 언어 중립적인 값과 언어 종속적인 값으로 나눠서 관리 가능하고, 제품 이름 같은 건 한 곳에서 값을 바꾸면 등장하는 모든 곳에서 값이 알아서 바뀌어야 함
  • 컴퓨터의 상태 파악을 알아서 해야 함. 처음 실행됐을 때 지금이 첫 실행인지, 동일 버전, 구 버전, 또는 동일 버전의 바리에이션이 이미 설치돼 있는지, 이전에 설치를 하다가 만 상태인지, 심지어 자신이 중복 실행됐는지 같은 걸 사용자가 수동으로 파일이나 레지스트리 삽질 안 해도 알아서 감지해야 함
  • 설치할 파일과 삭제할 파일을 NSIS는 수동으로 일일이 써야 하는 것 같던데, 마치 C++ 개체 선언하듯이(생성자, 소멸자) 설치하는 파일, 추가하는 레지스트리 같은 걸 한 곳에다만 명시하면 역순의 제거 작업 역시 자동으로 파악돼야 하며, 작업을 실제로 수행하기 전에 예상 디스크 공간 계산 같은 것도 알아서 돼야 함.
  • 서로 다른 소프트웨어 제품이 동일한 파일을 설치하고 사용하는 경우, 그런 공용 파일은 reference counting을 해서 그 제품들이 모두 제거되었을 때에만 최종적으로 삭제되게 해야 함.
  • 그리고 uninstall 시엔 사용자가 생성한 데이터처럼 이 프로그램이 초기에 설치하지 않은 파일이나 레지스트리도 필요하다면 싹 제거하는 메커니즘이 제공돼야 함. (조건 범위 지정)
  • 최종 생성된 msi 내지 exe 파일에 대한 디지털 서명 후처리도 언어 내지 툴 차원에서 명시해서 자동 처리하기.

오픈소스 프로젝트에 기여한 것도 없는 주제에 불평만 길게 늘어놓은 것 같다만.. 이게 NSIS를 좀 써 보고 개인적으로 느꼈던 아쉬운 점이다. 오죽했으면 반디소프트에서 개발하고 있는 유명 파일 압축 유틸리티인 반디집도 6.0부터는 NSIS 대신 자체 개발한 인스톨러로 갈아탔다. 다만, NSIS는 저 정도 꽤 적지 않은 기능을 제공하고도 exe에 붙는 자기 런타임 stub 크기가 겨우 몇만 바이트에 불과할 정도로 작은 건 굉장히 인상적이었다.

그냥 간단한 파일 몇 개만 복사하고 끝나는 게 아니라 컴퓨터를 좀 깊게 제어하는 설치/제거 패키지를 만든다면 이걸 만드는 툴도 GUI 위주의 가벼운 툴이 아니라 그냥 핵심 기능만 SDK 형태로 만들고, 자주 쓰는 프로그램 패턴은 Visual C++의 프로젝트 마법사 형태로 구축하는 것도 나쁘지 않을 것 같다. 배포 패키지 자체를 그냥 C/C++로 만들라고 말이다. 그러면서 파일 압축 풀어서 복사하거나 지우는 등의 정말 핵심적인 공통 기능만 라이브러리를 쓰라고..

근데 생각해 보니 애시당초 그러라고 만들어진 라이브러리가 Windows Installer이긴 하다. 쟤도 사실은 단순 GUI 껍데기가 아니라 라이브러리가 본질이니까. 하지만 저 라이브러리도 구조가 워낙 복잡하고 설치, 제거, 롤백이 어떻고 알아야 할 사전 배경지식이 많다 보니 그 저수준 함수를 직통으로 쓰면서 배포 패키지를 만들 일이라곤 없을 듯하다.

Posted by 사무엘

2017/05/01 08:30 2017/05/01 08:30
, ,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1355

* 과거 내지 현재의 컴퓨터와 관련하여 개인적으로 궁금한 것들 컬렉션이다.

1.
요즘 길거리나 건물 근처에서 쏘는 와이파이를 보면 처음에 접속하는 건 암호가 없는 public 형태이지만, 접속한 뒤에는 무슨 주소를 입력하더라도 로그인/요금 결제 페이지로만 포워딩되는 형태인 것들이 많다. 사실은 학교 와이파이도 보안 ActiveX 등등을 안 깔면 설치 요구 페이지로만 연결된다.

그런데 이 상태에서도 페이스북이나 유튜브에 접속하는 건 바로 되는 경우가 종종 있다. 얘들만 교신을 하는 방법이나 프로토콜이 달라서 그런지(https라든가.. 서버가 외국에 있어서?) 무슨 이유 때문인지는 모르겠다.

사실, 웹서버가 뭔데 내 컴퓨터의 운영체제와 브라우저라면 몰라도(http 헤더에 에이전트 정보가 들어가므로), 보안 솔루션의 설치 여부는 뭘 보고 판단하는지 모르겠다. 프록시인지 뭔지를 써서 warning.or.kr를 우회해서 각종 금지 사이트에 접속하는 것도 어떻게 하는지? 난 웹 쪽은 아는 게 거의 없음. 그 바닥은 너무 골치 아프다.

2.
디카나 폰을 PC에다 연결했을 때 보통은 여느 USB 메모리를 꽂은 것처럼 드라이브 문자가 하나 더 추가되고 해당 기기의 메모리 내부 파일 시스템에 접근이 가능해진다.
그런데 어떤 건 꽂으면 뭔가 파일 시스템이 생기기는 하는데 드라이브 문자가 추가되는 형태가 아니다. 여기는 탐색기로만 접근 가능하지, 어지간한 다른 프로그램에서 파일을 바로 열고 내용을 볼 수 없다. 하드디스크에 복사한 뒤에야 내용을 확인할 수 있다.

그러니 사용자의 입장에서는 불편한데, 오히려 더 나중에 등장한 디카나 폰이 PC와 연결됐을 때 더 이러는 경향이 있다.
이건 기술적으로 무슨 규격이나 프로토콜을 써서 동작하는 건지 모르겠다. 그리고 드라이브 문자가 추가되는 것보다 무슨 장점이 있어서 저렇게 동작하는지도 모르겠다. 혹시 보안?

3.
컴퓨터의 USB 포트에 어떤 기기를 연결하면 인식이 곧장 될 때가 있지만 "인식 실패" 에러가 뜨면서 잘 안 될 때도 있다. 폰이나 USB 메모리 부류 말고 외장 하드 같은 묵직한 물건은 전력이 부족해서 안 될 때도 있다. 이런 건 (1) 컴퓨터, (2) 케이블, (3) 해당 기기 중 어느 게 문제인 걸까..?
컴퓨터라는 건 절대적으로 확실하고 예측 가능한 결과만 나오는 물건일 텐데, USB 포트만은 뭔가 상황에 따라 복불복인 결과가 나오는 면모가 있다.

4.
이제 슬슬 레거시 얘기를 꺼내겠다.
요즘 아직도 빅 엔디언을 쓰는 컴퓨터가 현역으로 돌아가는 게 있는지(코볼 프로그램도 돌아가는 마당에 빅 엔디언이 하루아침에 전멸할 리는 없겠지만.. 엔드 유저가 실감 가능한 영역에 있는가?),
그리고 IA64 아이테니엄 컴퓨터가 아직 살아서 운용 중인 게 있는지 궁금하다.

1990년대 말과 2000년대 초에 인텔이 IA64, 그리고 펜티엄 4의 넷버스트 아키텍처 때문에. 그야말로 세기말과 새천년기에 컴퓨터계의 판도를 바꿀 정도로 큰 삽질을 하긴 했다. 물론 덕분에 경쟁사인 AMD는 큰 이득을 볼 수 있었다.
공교롭게도 이 시기가 무어의 법칙이 슬슬 약발이 다해 가는 시기이기도 했다. (싱글 코어 기반 클럭 속도 향상) 그러니 CPU 제조사의 입장에서는 미래를 내다보고 모험을 감수하고라도 판도를 근본적으로 바꾸는 큰 결정을 내려야 했을 것이다.

다음으로 엔디언 얘기를 하자면, 스마트폰용 최신 CPU는 아예 어느 엔디언으로도 네이티브 구동이 가능한 bi-endian 구조라고 하지만, 굳이 big 모드에서 실행될 일은 별로 없을 것 같다.
오늘날 빅 엔디언의 잔재는 예전에도 언급했듯이 트루타입 글꼴 파일, 그리고 네트워크 표준 스펙 정도에나 남아 있는 듯하다. 유니코드 텍스트도 UTF-16LE 아니면 차라리 UTF-8이지 UTF-16BE가 쓰일 일이 있나 싶다. 난 지금까지 한 번도 못 봤음.

5.
옛날 도스 시절에 상당수 프로그램들의 종료 단축키는 Alt+X였다. 아래아한글, 이야기, 그리고 Q-edit 계열이 이런 관행을 유지해 왔다.
지금 Windows에서는 Alt+F4가 단순히 대화상자 창을 닫는 ESC의 상위 호환이다. 대화상자만 닫는 게 아니라 응용 프로그램의 main window도 닫고 궁극적으로 시스템 종료까지도 가능하다. 하지만 도스 시절에 Alt+F4로 종료하는 프로그램은 본인은 정말로 MS DOS Shell밖에 못 봤다.

게임들은 대부분 ESC만 눌러도 원큐에 종료 가능했지만 페르시아의 왕자는 혼자 Ctrl+Q라는 독특한 단축글쇠로 종료했다(2편에서는 Alt+Q도 추가). 페르시아의 왕자 원판이 처음에 애플 기종용으로 개발되었고, 그쪽은 Cmd+Q가 종료이니 그거 영향을 받은 게 아닌가 싶다. 맥의 Cmd+Q는 창을 닫는 기능이 없이 그냥 원큐에 프로그램을 종료하는 용도로만 쓰인다. 그리고 내 기억이 맞다면 포토샵처럼 맥에서 이식된 프로그램은 Windows에서도 Ctrl+Q 종료 단축글쇠를 갖고 있었다.

그 외에 마소에서 만든 옛날 도스용 프로그램 중에는 웬 F3이 종료인 물건도 드물게 있었다. 주로 Windows 3.1 내지 9x 계열의 설치/setup 프로그램이 그랬던 것 같다. 이 관행은 오래 이어지지 못했다.

6.
옛날 자동차만큼이나 개인용 컴퓨터계에서도.. IBM 호환 PC라는 게 세상을 평정하기 전에 있었던 특히 1980년대의 8비트 구닥다리 컴퓨터들에 대해서 요즘 갑자기 좀 관심이 생겼다. 기계들 계보를 분류해 보고 싶다. 어떤 건 기계 자체의 명칭이지만 어떤 건 규격의 명칭이기도 하다. 이 당시 CPU의 제조사도 여럿 있었을 텐데.. 시간 나는 대로 인터넷 찾아 가며 차근차근 공부할 생각이다.

먼저 애플 II~III부터가 8비트였고 국산 컴퓨터로는 삼성 SPC-1000, 금성 패미콤이 있다. MSX는 특정 기종 이름이 아니라 규격명일 테고. Commodore 64에서 64는 메모리가 64KB라는 뜻이다 CPU는 64비트가 전혀 아니며 8비트임.
요런 컴퓨터들은 그냥 켜면 롬에 내장돼 있던 베이직 인터프리터가 떴고, 카트리지를 꽂으면 게임을 할 수 있었다. 테이프는 개인적으로 구경 못 해 봤다.

삼성의 경우 살인적인 공밀레에 공밀레를 거듭한 끝에 1983년 말에 최초의 국산 메모리 반도체인 64K D램을 개발하는 데 성공했다.
팀원: "저 다음 주에 결혼할 예정이어서 휴가 좀.." / 팀장: "야 왜 하필 이렇게 바쁜 와중에 결혼을 (쳐)하는 거야! 버럭"
거의 이런 분위기에서 개발한 것이었다. -_-;; 과장이나 주작이 아님. 저렇게 팀원을 실제로 갈궜던 당시 팀장이 신화창조던가 다큐에서 출연해서 증언을 했으며, 지금 생각하니 그 팀원에게 너무 미안하다고 회고했다.

더 부가가치가 높은 비메모리 반도체를 선점하지 못한 건 아쉬운 점이지만 일단은 그 열악한 환경에서 메모리 반도체 하나라도 저렇게 잡은 걸 다행으로 여겨야 할 듯하다. 그런데 삼성 전자에서 같은 1983년에 컴퓨터까지 만들었다는 게 대단하게 느껴진다. 그 옛날부터 이미 미래에 나라를 먹여 살릴 산업을 예견하고 리스크를 감수한 투자를 아낌없이 한 것이다.

나도 "IBM 호환 PC"에 속하는 컴퓨터를 접하기 전에 아주 잠깐 소위 8비트 컴퓨터라는 걸 집에서 접한 적이 있었다. 그건 정확하게 무슨 기종에 속한 물건이었을지 궁금하다.
프롬프트가 Ok 대신 READY라고 나오고, 입력한 문장에 문법 에러가 있으면 비프음과 함께 SYNTAX ERROR이라고 나왔는데.. 롬 베이직 인터프리터가 뜬 모습은 지금 생각해 보면 커모도어 64의 그것과 제일 비슷해 보인다. 하지만 실제로 그게 맞는지는 알 길이 없다.

사용자 삽입 이미지

넥슨 컴퓨터 박물관에서 이런 물건을 발견했다. 모니터는 내가 옛날에 집에서 써 봤던 그 기계와 정확하게 일치한다. 확실하다. 검은 테두리에다 오른쪽에 저렇게 작은 다이얼이 3개 있었고..  하긴, 옛날 아날로그 모니터들은 밝기 같은 걸 조절하는 게 저렇게 물리적인 다이얼 형태로 존재했었다. 검색을 해 보니 "금성 패미콤".. 아하, 메이커가 금성사였구나.

아무튼, 이런 원시적인 물건을 통해서 나는 프로그래밍이라는 행위의 짜릿함을 경험했고 무한한 신기함과 흥미를 느꼈다. 그래서 지금의 내가 있게 됐다. 어렸을 때 접한 컴퓨터가 처음부터 지금의 컴퓨터처럼 성능이 너무 좋고 시스템이 복잡하고 사용자가 개입할 여지가 없다시피한 형태였다면, 난 컴퓨터 말고 다른 진로를 갔을 가능성이 높다.

Posted by 사무엘

2017/03/22 08:34 2017/03/22 08:34
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1340

macOS 프로그래밍

1.
근래에는 회사 업무 때문에 드디어 맥OS에다가 xcode까지 좀 건드릴 일이 있었다. 작년에 애플에서는 자기네 PC용 운영체제의 공식 명칭을 macOS라고 붙이면서 mac이라는 단어를 다시 복귀시켰던데, 이건 잘한 조치라고 생각된다. mac을 빼고 OS X라고 하는 건 영 아니었다. 무슨 OS/2도 아니고. 물론 걔네들 입장에서는 iOS 같은 타 기기용 운영체제와 명칭 표기를 통일하느라 mac을 소문자 형태로 살린 것이었다.

맥OS에서 메뉴를 꺼내는 단축키는 웬 뜬금없는 Ctrl+F2이구나(Win은 F10 또는 Alt). 그리고 한 프로그램 안에서 문서 창을 전환하는 단축키는 Cmd+` 이다(Win은 Ctrl+Tab 또는 Ctrl+F6). 이런 왕초보 기초부터 다시 시작했다.

Visual Studio와 C++과는 너무 다른 프로그래밍 방법론이 여전히 적응이 안 됐지만.. 나름 맥OS에 대한 이해가 예전보다는 더 깊어질 수 있었다. NextStep에서 딴 NS... 이런 명칭은 게임브리오 소스에 있는 NI... (넷이멀전) 접두사와 비슷한 느낌이 들었다. N으로 시작하고, 지금은 대외적으로 쓰이지 않는 이름. 마치 MFC의 Afx처럼 말이다.

한번은 각종 설정들을 이것저것 건드린 뒤부터 멀쩡한 프로젝트에서 정체를 알 수 없는 링크 에러가 나서 한참 고생한 적이 있었다.
링크 에러라면 당연히 extern "C"처럼 함수 호출 규약이나 심벌 decoration 방식의 충돌이 1순위로 의심되겠지만, 알고 보니 프로젝트 파일 리스트와는 별개로 관리되는 빌드 대상 목록에서 몇몇 소스 파일이 실수로 누락되어 벌어진 일이었다. 둘이 동일한 개념이 아니었 것이다.

하긴 Visual Studio도 각각의 파일들에 대해서 속성을 줘서 exclude from build를 지정하는 게 있긴 했다. 그걸 몰라서 딴 데서 한참을 헤맸다.
IDE에서 각종 경고를 출력하는 인텔리센스와 문맥 감지 색깔 처리가 정상적으로 되고 있어서 이 파일이 애초에 컴파일이 되지 않고 있다는 건 상상을 못 했었다.

2.
맥OS는 자기네 그래픽 비주얼은 그렇게도 뛰어나면서 정작 그래픽 툴을 제공하는 건 왜 그리 인색한지 모르겠다. 맥OS에는 Windows의 '그림판'에 해당하는 기본 프로그램이 내가 알기로 여전히 없다.
개발툴 중에서도 Visual Studio는 간단한 아이콘이나 비트맵 정도 편집할 수 있는 그래픽 에디터를 내장하고 있는 반면, xcode는 그런 거 없고 viewer만 있다. 비트맵 그래픽 편집을 어떻게 해야 할지 모르겠다.

그리고 또 인상적인 점으로는 맥 진영은 Windows에서는 거의 듣보잡이나 마찬가지이던 tif/tiff를 좋아하는 듯하다. 화면 캡처 기본 앱이 그림 파일을 tif로 저장할 때부터 뭔가 심상찮았는데.. 타 xcode 프로젝트들을 보니까 비트맵/아이콘에 역시 tif가 들어가 있구나.

그런데 tif도 다 같은 tif가 아닌지, Windows에서 돌아가는 타 그래픽 에디터에서 저장한 tif는 맥에서 못 읽는 것 같다.

3.
명령 프롬프트로 가 보면, 공백이 포함돼 있는 파일명을 명령 프롬프트에서 표현할 때 Windows는 파일명을 따옴표로 싸서 공백을 표현하는 반면, 맥은 그렇지 않은 듯하다. 역슬래시+공백이라는 탈출문자 기법을 사용한다. 그러니 "a b"냐 a\ b냐의 차이가 발생한다. 디렉터리 구분자부터가 슬래시이니 역슬래시를 저렇게 C스럽게 탈출문자 용도로 활용한다는 게 아주 흥미롭다.

명령 프롬프트가 현재 가 있는 디렉터리(폴더)를 기준으로 탐색기 또는 그에 준하는 파일 관리 셸을 여는 것도 자주 행해지는 작업이다. 숨김 속성 때문에 셸을 통해 접근할 수 없거나 접근 방법이 까다로운 폴더를 다루고 싶을 때 말이다. Windows에서는 start .이던데 맥은 open .이다. 리눅스는 어찌 되려나 궁금하다.

4.
그리고... 결정적으로 맥용 IME 예제도 다뤄 봤다. 골치 아픈 DLL이 아니라 쿨하게 EXE 형태이고, regsvr32 따위 할 필요 없이 그냥 프로그램을 특정 디렉터리에다 얹어 놓기만 하면 바로 IME가 동작하는 게 참 깔끔해 보였다. 여기에다가 날개셋 엔진만 얹으면 내 프로그램이 맥용으로 나오는 것도 불가능하지는 않겠다는 생각이 들었다. 물론 글자만 달랑 찍히는 수준을 넘어서 완성도 있는 제품을 만드는 건 지금 시간과 내 실력만으로는 아직 어림도 없는 요원한 일이다.

오래 전부터 인지했던 것이긴 하지만, Windows와 맥은 문자 입력 시스템을 설계한 형태가 서로 크게 다르다.
Windows는 IME가 또 내부적으로 한영 상태를 갖고 있고 자기 상태를 아이콘을 통해 출력하는 형태이다. 즉, Windows 8식 용어로 표현하자면 brand icon과 state icon이 따로 있다.
그러나 맥은 그렇지 않고 한글 입력 상태가 영문 상태만큼이나.. Windows식으로 표현하자면 별도의 input locale이다. 일단 한글 IME 상태에서 한영 키로 한영 전환을 하는 게 아니라, 입력 로케일 전환인 Ctrl+Shift가 한영 전환인 셈이다. state icon이 없고 brand 자체가 state 역할을 한다.

그러나 <날개셋> 한글 입력기는 자기 brand 하에서 2개 이상 열몇 개까지 입력 항목을 추가할 수 있는 형태이다. 이것부터 맥OS에서는 어떻게 표현을 해야 할지 모르겠다. 맥에서 <날개셋> 한글 입력기는 편집기 계층은 제대로 구현하지 못하고 그냥 입력기 계층 하나 수준에 머물러야 할 수도 있다.

맥에서는 IME가 독립된 프로그램이고 시스템 전체에서 동일한 한영 상태가 유지된다는 것도 매우 흥미로운 점이다. Windows도 IME가 애초에 이런 형태였으면 지금처럼 32비트와 64비트가 공존까지 하는 시대에 IME를 개발하기가 훨씬 더 깔끔해지지 않았을까 싶은 생각이 든다.
언제든지 자기 자신을 죽이고 재시작만 하면 업데이트도 아주 간편하게 할 수 있다. Windows는 DLL에다 memory-mapped file크리까지 겹쳐서 프로그램 강제 종료나 재시작 같은 지저분한 짓 없이는 IME의 업데이트라든가 전체 상태 동기화가 몹시 어렵다.

다만, 그 구조의 특성상 IME를 디버깅 하는 도중에 잠시 딴 프로그램에서 타 IME를 구동해서 문자를 입력하기가 좀 난감한 점은 있다. IME는 그 특성상 타 입력기로 대체만 될 뿐 '스스로 종료'라는 개념이 없는 프로그램인데, Windows에서는 자기 DLL을 사용하는 프로그램이 하나만 존재하면 그것만 끝내면 디버깅도 원활하게 종료되는 반면, 맥에서는 그런 것도 없어서 그냥 IME 프로그램을 강제 종료해야 한다.

그리고 IME 프로그램은 내 자신이 실행하는 게 아니라 운영체제가 on-demand로 구동해 주는 형태이다. 그러니 개발툴이 처음부터 IME를 디버깅 할 수 있는 게 아니라 이미 구동돼 있는 IME 프로세스에다 디버거가 붙는(attach) 식으로 디버깅을 해야 한다.
이렇게 붙으면 NSLog를 찍는 게 xcode의 output 창에 나타나질 않는 문제가 있더라. 그 이유는 모르겠다. 운영체제의 문자 입력 프로그램이라는 건 어떤 형태로 만들더라도 디버깅이 어려운 구석이 있는 듯하다. 동력분산식과 동력집중식만큼이나 서로 일장일단이 있는 셈이다.

5.
코딩을 하면 할수록 Objective C의 고유 문법과 일명 NSFramework 라이브러리는 독립된 언어라기보다는..
Windows로 치면 COM처럼, 그냥 API/라이브러리의 컴포넌트화, 그리고 운영체제-내 프로그램 간의 통신을 위한 바이너리 수준의 프로토콜에 가까운 물건이라는 생각이 든다.

쉽게 말해 NSObject는 IUnknown에, YES/NO는 S_OK, S_FALSE에, @문자열은 BSTR, SysAlloc/FreeString 등에, xib/nib는 리소스 겸 type library에 대응하는 식이다. 뭐 가상 머신이 따로 돌아가는 급은 아니지만 그래도 가벼운 garbage collector도 있다.

물론 기능 호출 방식은 서로 큰 차이가 있다. COM은 함수 포인터 기반인 C++과 더 비슷하지만 옵씨는 진짜 SendMessage 같은 방식이다.
그러니, NSObject에 뭐가 이렇게 오버라이드 가능한 메소드들이 많이 정의돼 있는지, 리스트를 보고 깜짝 놀라곤 했다. v-table 기반의 가상함수라면 상상도 못 할 일이다. MFC도 v-table 크기 부담 없이 운영체제 메시지 처리를 C++로 하기 위해 message map이라는 별도의 메커니즘을 도입한 것이다.

옵씨라고 해서 말 그대로 C만 쓸 수 있는 건 아니며 C++ 코드도 작성 가능하다. 그러니 [ ] 어쩌구로 시작하는 그쪽 ‘오브젝트’와 해당 문법은 운영체제로부터 호출을 받는 것에 대처할 일이 있을 때만 사용하게 되더라.
아무튼 지구를 떠나서 달이나 화성에서 사는 건 어렵고, Windows 홈그라운드를 떠나 타 OS에서 사는 건 여전히 몹시 어렵다!

Posted by 사무엘

2017/03/11 08:31 2017/03/11 08:31
,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1336

* 2014년에 썼던 글을 리메이크 한 것이다.

1. legal mind에 대해

정치라는 게 흔히 입법, 사법, 행정이라는 세 분야로 나뉜다고 그런다.
입법, 즉 앞으로 시행될 법(미래)을 만드는 건 국회의원들이 한다. 이들이 모이는 국회의사당은 우리나라의 경우 여의도에 있다.
다음으로 이미 있는 법을 이미 벌어진 사건에다 해석하고 적용· 집행하는 건 사법부에서 담당한다(과거). 대법원· 검찰청은 우리나라의 경우 서울 강남에 있다.

끝으로, 행정부는 법을 어기지 않는 한도 내에서 다른 모든 새로운 일을 벌리고 각종 권한을 행사하며 나라를 다스린다. (현재) 행정부의 수장이 바로 대통령이며, 우리나라 대통령의 관저인 청와대는 경복궁 근처 산기슭에 있다. 다른 기관과는 달리 민간인 지도에 표시되어 있지 않다.

“짐이 곧 법이니라” 같은 사고방식을 탈피하여, 한 사람이나 조직에게 삼권을 모두 부여하지 않고 각각 자기가 맡은 축의 일만 담당하게 하는 것은 뭔가 보통일이 아니라는 생각이 든다. 참고로 성경은 아무래도 왕국이 주제인 책이긴 하지만, 삼권이라는 개념 자체도 분명히 언급을 하고 있다.

{주}께서는 우리의 심판자시요(사법부), {주}께서는 우리에게 법을 주시는 이시요(입법부), {주}께서는 우리의 왕(행정부)이시니 그분께서 우리를 구원하시리로다. (사 33:22)

본인은 법 같은 것과는 전혀 어울리지 않으며 애초에 공무원· 관료 적성도 아니다. 하지만 나 같은 문외한이 생각해 봐도 법조· 법무 쪽으로 종사하는 사람들은 왕창 똑똑하긴 해야 할 것 같다. 국회의원이나 대통령은 선거로 선출되지만 법조인은 머리 피터지게 공부해서 시험을 통과해야 될 수 있다. 그에 반해 과거지향이다 보니, 무슨 경영 수완이나 리더십 같은 게 필요하지는 않아 보인다. (개업한 변호사야 자영업자이니 논외로 하지만, 월급 받는 변호사 내지 판사· 검사 기준으로..)

이들은 문학· 어학을 전공하는 사람은 아니지만 누구보다도 많은 분량의 글을 읽고 써야 하며, 무슨 미적분 문제를 풀거나 수학 공식·알고리즘과 씨름하지는 않지만, 어지간한 수리과학 이상으로 논리· 법칙을 따지고 지능 싸움을 해야 하는 것 같다.
온갖 복잡한 개념과 제도들을 계층별로 구분해야 하고 일상생활에서 있을 수 있는 가능성을 꼼꼼히 따져야 하기 때문이다. 회사 내규나 보험 약관 같은 걸 처음 만드는 건 어찌 보면 프로그래밍과 굉장히 비슷한 절차일 수도 있겠다는 생각이 든다. 괜히 문과 분야의 최고 전문직이라 불리는 게 아니다.

물론 법은 적용 대상이 기계가 아니라 사람이다 보니, 만들거나 적용하는 데 시간/공간 복잡도나 재귀호출 같은 개념이 쓰이지는 않을 것이다. 프로그래밍 언어로 치자면 절차형 언어는 아니고 선언형 언어에 속할 것이다.
그러나.. 주어진 상황에서 “일어날 수 있는 모든 가능성”을 논리적으로 감안하고 따져야 한다는 점에서는 프로그램을 작성하는 것과 굉장히 비슷하다!

보안 결함이 없고 패닉 상태로 뻗지 않는 프로그램을 만들려면 결국 수많은 상황에 대한 if문과 예외 처리들이 덕지덕지 추가된다.
법도 모호성이 없어야 하며, 엄밀하고 탄탄해야 한다. 이런 상황에서는 이렇게, 저런 상황에서는 저렇게 등등.. 일반인이라면 상상도 못 할 정도로 기상천외한 상황에서도 모든 사람을 만족시켜 줄 정책을 제시할 수 있어야 한다.

보험 약관 하나만 해도 얼마나 복잡하나..? 그래서 약관을 따로 간단히 요약해 놓은 팜플렛이 있을 정도이지만.. 한편으로는 그 머리 터질 것 같은 약관을 “만든” 사람도 있다. 그런 숨은 똘똘이들이 결국은 세상을 움직이는 셈이다.

국어학자 언어학자는 이미 있는 맞춤법 표준어만 달달 외우는 문법 나치 같은 사람이 아니라, 언어들에 보편적으로 발견되는 원리를 알고 그런 문법 체계 자체를 새로 만들거나 비판할 수 있는 사람이다. 전산학자는 단순히 이미 있는 특정 프로그래밍 언어나 API, 라이브러리만 달달 외우고 다룰 줄 아는 사람이 아니라.. 역시나 컴퓨터의 근본 구조와 이론을 알고 언어나 프레임워크를 새로 설계할 줄 아는 사람이다.

그런 것처럼 법조인 내지 법학자는 이미 있는 법 규범만 달달 외우고 있는 사람이 아니라 법을 만드는 사람들의 심정을 알고 '법리'를 총체적으로 꿰뚫고 있는 사람이다. 마치 컴터 코딩쟁이들이 2진법 사고방식에 익숙하듯이, 법리를 염두에 둔 직업병 마인드를 영어로 legal mind라고 한다.

사과가 나무에서 툭 떨어졌는데 뉴턴은 중력의 법칙을 발견한 반면, 어느 뼛속까지 골수 민법학자는.. "아, 부동산이 동산으로 바뀌었구나"를 떠올렸댄다.
성경에서 자연인(natural man)이라고 하면 아직 거듭나지 못하고 죄성을 지닌 평범한 아담의 후손을 일컫겠지만, 법률에서 자연인이란 그냥 법인의 반의어일 뿐이다.
혹은, "김 재규의 죄는 내란목적 살인죄인가 아니면 그냥 자연인 박정희를 살해한 살인죄인가" 이럴 때에나 '자연인'이라는 말을 쓴다. 이런 예들은 단순히 염소(동물? 원소?)나 정의(definition? justice?) 같은 개그 소재보다 더 고차원적인 개념이다.

법학도 제대로 공부하면 재미있는 게 많긴 해 보이나.. 난 그거보다는 날개셋 한글 입력기 코딩이 더 재미있다..;;
내가 애초에 텔레비전보다 컴퓨터를 더 좋아했던 것도 컴퓨터는 TV와는 달리 화면에다 내가 원하는 대로 글자와 그림을 찍을 수 있기 때문이고 모든 정보를 아날로그가 아니라 정확하게 딱 떨어지는 디지털 형태로 다룰 수 있기 때문이었다.

2. 법리· 법 감정의 문화별 차이

우리나라는 형사 소송에서 피의자와 피해자가 합의를 하는 관행이 있다. (공식적인 제도는 아니고) 흉악범죄 내지 음주운전 교통사고로 한 가정의 평화를 완전히 박살낸 피의자가 초범이고 진심으로 뉘우치고(?) 있고, 무엇보다 피해자와 원만히 합의를 했다는 이유로 인해 기껏 구속시켰다가도 집행유예 같은 말도 안 되는 솜방망이 처벌을 받곤 한다.

이건 진짜로 피해자가 대인배여서 가해자를 용서했을 리는... 없고.;; 합의 거부하고 쟤들한테 기껏 콩밥 1년 몇 달 먹여 봤자 죽은 사람이 살아나는 것도 아니니, 합의금 단돈 몇천만 원이라도 확실하게 떡고물로 챙기는 게 낫다고 변호사가 종용을 해서 합의하는 것이다.
우리나라가 헬조선 딱지를 떼려면 뭐 빈부격차 양극화, 대기업 갑질 이런 것뿐만 아니라 저런 사법 정의부터 좀 되살아나야 하리라 여겨진다. 이건 유전무죄 무전유죄 때문에 벌어지는 일도 아니지 않은가?.

게다가 영미권 법조계의 생각은 우리와는 사뭇 다르다. 거기서는 저런 짓을 가해자가 피해자를 불의하게 매수하려는 짓으로 간주하여 엄격하게 금지하고 있다. 어설픈 합의를 시도한 게 걸렸다간 괘씸죄가 추가되어 형량이 더 늘어난다. 그 대신 피의자와 "검사"가 합의를 하는 '사법거래'(plea bargaining)라는 게 있을 뿐이다.

또한 영미권은 정당방위의 범위가 한국보다 더 넓다. 밤에 정체불명의 도둑이 밤에 자기 집 담장을 넘어오고 있고 당장 나가라는 집 주인의 경고까지 무시한다? 그러면 집 주인은 그 사람을 엽총으로 사살해도 100% 무죄다. 성경의 출 22:2에 근접해 있다. 반대로 우리나라는 그건 정말 답답할 정도로 보수적이고 제한적으로 적용한다.

이런 관념이 하도 무뎌져 있다 보니 우리나라에서는 몇 년 전엔 집이 아니라 강 건너서 아예 북한으로 잠입을 시도하는 사람을.. 민간인도, 경찰도 아닌 군인이 소총으로 쏴 죽였는데도 그 군인이 잘못했네 과잉대응이네 하는 한심한 논의가 오갈 정도였다.
누구든지 수하에 불응하면 이등병 초병이 육군 참모총장이라도 체포할 수 있거늘 저건 군인이 지극히 정당한 임무를 잘 수행한 것이지 않은가?

이런 간단한 예만 봐도 알 수 있듯.. 인간은 컴퓨터 같은 튜링 기계가 아니며, 법 감정 내지 법리라는 건 수학 공식처럼 절대적인 게 아니다.
이런 이유로 인해 변호사 면허는 국가와 문화권간에 서로 호환되지 않는다. 한국 의사 면허가 있다고 해서 미국에서 곧장 개원하거나 페닥 취업을 할 수 있지 않은 것과 같은 이치. 미국에 가면 의대 졸업장 하나만 인정되며, 나머지 면허 취득은 처음부터 다시 시작해야 한다.

이미 알 만한 사람들은 다 아는 사실이겠지만, 공식적으로 '국제 변호사'라는 직업은 없다.
변호사가 간판이나 명함 같은 데에 자기 대외 타이틀로 저런 명칭을 쓰는 건 불법이며 처벌 대상이기까지 하다. 의뢰인에게 심각한 혼동과 오해의 여지를 주기 때문이다.
단지, 외국 변호사 면허만 갖고 있어서 자국에서 소송대리권은 없는 '외국법 자문사'가 있거나, 아니면 한국 변호사 면허와 미국 같은 외국 변호사 면허를 동시에 소지한 괴수 변호사만이 소수 존재할 뿐이다.

근데 난 개인적으로 영미권의 법리가 '기독교적 세계관'에 더 부합하고 더 합리적인 것 같다. 뭐, 시대 배경상 당연한 귀결인 건가?

Posted by 사무엘

2017/03/08 19:36 2017/03/08 19:36
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1335

« Previous : 1 : ... 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : ... 45 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/11   »
          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

Site Stats

Total hits:
2994014
Today:
751
Yesterday:
2274