« Previous : 1 : 2 : 3 : 4 : 5 : ... 161 : Next »

다음 버전 개발 근황

2020년은 2~40년 전쯤에 만들어졌던 각종 소설과 SF물에서나 다루던 까마득한 미래 시점이다. 그게 현실로 찾아왔다니 감회가 새롭다.
하지만 현실의 2020년은 코로나19라는 웬 신종 바이러스 때문에 교회 예배가 중단되고 학교 개학과 심지어 올림픽까지 연기되는 초유의 사태와 함께 시작되었다. 세상의 그 어떤 소설과 SF물도 이런 걸 예측하지는 못했을 것이다.

2020년은 날개셋 한글 입력기도 개발 20주년에 진입한 시점이다. 그리고 무려 10.0 버전이 현재 개발 중이며, 이게 9.x 시절부터 지금까지 수 년째 미뤄지고 또 미뤄졌던 파이널이다.
원래 9.5를 파이널로 삼으려고 했다. 9.5 이후로도 1년 반 동안 9.6, 9.7, 9.8x 등 새 버전이 도대체 몇 개가 더 나왔던가?? =_=;; 그러던 게 이제야 드디어 제동이 완전히 걸렸다.

이 글에서는 개발 중인 10.0에서 이미 작업이 완료된 것, 더해지고 고쳐지는 것들이 어떤 것이 있는지 잠시 소식을 전하도록 하겠다.

1. '기본 글자판 설정' 빠른설정에 no-shift 두벌식 세팅

10.0 버전에서 본인이 가장 먼저 알리고 싶은 소식은.. 날개셋 한글 입력기의 제어판에서 사용자가 가장 자주 접하게 될 UI인 '기본 글자판 설정' 빠른설정에 no-shift 두벌식을 간편하게 세팅하는 기능이 추가됐다는 것이다. 바로 여기에 말이다.

사용자 삽입 이미지

지금까지 사용자들로부터 받은 피드백을 종합해 보면.. 두벌식에서 shift 없이 쌍자음을 언제나 연타로 입력하는 것에 대한 수요가 제법 많다는 걸 알 수 있었다. 하지만 별 생각 없이 낱자 결합 규칙만 추가해 놓으면 '이끼, 바삐, 앗싸, 홀씨' 같은 단어에서 뒷글자에 등장하는 쌍자음을 연타로 입력할 수 없다. 음절 경계 모호성에 걸려서 '익기, 밥비, 았사, 홄시' 따위와 구분이 안 되기 때문이다.

이런 모호성을 해소하려면 그런 쌍자음은 어쩔 수 없이 shift를 동원해서 입력하거나.. 아니면 capslock 같은 글쇠를 눌러서 앞 글자의 조합을 수동으로 끊는 수밖에 없다. 옛한글 글쇠배열이야 모호성이 훨씬 더 많이 발생하기 때문에 대놓고 조합 중단 글쇠가 배당돼 있기도 하다.

하지만 그런 고전적인 방법 말고 타자 시간 간격을(타이머) 이용해서 음절 경계 구분을 할 수도 있다.
이건 구버전에서도 진작부터 지원돼 왔으니 기술적으로 새로운 기능은 전혀 아니다. 하지만 사용자가 일일이 설정을 하는 게 마냥 간단하고 쉽지 않다. 수요가 많은 상징적인 설정을 곧장 세팅해 주는 기능을 빠른설정에다가 도입한 것은 그 자체만으로도 버전업의 명분이 될 수 있다.

더구나 타이머를 적용하는 방식도 두 가지 중 하나를 선택할 수 있다.

  • 통상적인 방법(가-까 타이머): 뒷글자가 쌍자음이면 앞글자를 다 입력한 뒤 한 박자 쉰다(이-끼 → 이끼). 쉬지 않으면 예전처럼 ‘익기’가 된다.
  • 다른 방법(각-가 타이머): 위와 반대로, 쌍자음을 지연 없이 빠르게 치고, 자음이 앞뒤 글자에 분산돼 있을 때 한 박자 쉰다(익-기 → 익기). Google 단모음이 이런 방식을 사용한다.

각 방식이 어떻게 구현됐는지를 살펴보면.. 전자는 중성까지만 입력됐을 때도 타이머가 발동돼야 하며 오토마타도 상태가 두 개 더 필요하다.
후자는 오토마타 상태가 하나만 있으면 되지만 특수 도깨비불 규칙과 다단계 입력 분리(65531) 낱자 결합이 추가로 필요하다. ‘밝’까지 쳤다가 도로 ‘발ㄲ’을 만드는 것은 명백하게 더 과격한 동작이기 때문이다.

그래도 사용자의 타자 행동 관점에서 두 방식에 절대적인 우열은 없으니 그냥 자기에게 편한 방식을 골라서 쓰면 된다.
기본으로 설정되는 시간 threshold는 0.5초(500밀리초)이다. 타이머 설정에서 이 값을 더 늘리거나 줄일 수 있다.

2. “조합 안에 조합 생성” 입력 도구

얘는 여러 글자로 이뤄진 단어 같은 덩어리를 다른 형태의 문자로 변환하는 핵심 인터페이스이다. 한글 단어나 훈으로 한자 입력하기, 그리고 T9 방식으로 영단어 입력하기 기능이 제공되고 있는데..

  • 변환에 쓰이지 않는 문자는 애초에 조합창에 들어가지 않고 바로 본문으로 삽입되게 인터페이스를 개선했다.
  • Ctrl 내지 Shift 클릭을 좀 다르게 인식하게 했다. T9 영단어 입력의 경우 마침표 and/or 공백을 뒤에 같이 삽입하게 했고, 한글-한자 변환의 경우 지금 외부 모듈이 지원하는 것처럼 "한자(漢字)" 내지 "漢字(한자)" 형태의 삽입이 되게 했다.
  • 여러 독음 후보들이 존재하는데 이들이 길이가 길고 앞부분이 상당수 일치한다면 명령 프롬프트나 개발툴 에디터에서 하는 것처럼 앞부분의 ‘자동 완성’이 되게 했다. 타이핑 수고를 상당 부분 덜 수 있을 것이다. 자동 완성 단축키는 tab 또는 Ctrl+space 중에서 선택 가능하다.

3. 편집기: 자잘한 개선

날개셋 편집기에서 파일을 읽고 쓰는 아주 기본적인 동작과 관련하여 다음과 같은 강화· 개선 작업이 이뤄졌다.

(1) 파일을 제대로 불러오지 못한 상태에서 저장을 시도하거나, 아까 전에 제대로 저장하지 못한 상태에서 창을 닫으려 하면 확인 질문을 하게 했다.
여기서 ‘제대로’ 열기나 저장을 못 한 상황이란.. 인코딩이 잘못 지정되어서 깨진 문자가 발생했고, 현재 메모리에 존재하는 문서와 파일 형태로 존재하는 문서 내용이 서로 일치하지 않는 것을 말한다. 그 상태로 저장을 하면 문서를 변경하지 않았더라도 원래 있던 정보는 소실될 것이고, 창을 닫으면 마찬가지로 깨진 문자가 원래 무엇이었는지 알 수 없게 될 것이다.

(2) 저장 옵션을 통해서 파일의 인코딩을 변경했다면 문서 내용을 대놓고 변경하지 않았더라도 창을 닫을 때 파일을 다시 저장할지 묻게 했다.

(3) 아울러, 문서창의 시스템 메뉴에 ‘파일 이름 변경’이라는 기능을 추가했다. 이걸 실행하면 ‘다른 이름으로 저장’과 비슷한 대화상자가 나타나며, 여기서 파일 이름을 새로 지정하면 문서창을 열어 놓은 상태에서 프로그램 상의 이름과 디스크 상의 이름을 그걸로 간단히 바꿀 수 있다. 탐색기에서 따로 이름을 바꾼 뒤에 다시 불러온다거나 하는 번거로운 수고를 하지 않아도 된다.

4. 외부 모듈: Chrome 브라우저에서 추가적인 보정

크롬 브라우저는 과거에 자신이 데스크톱 앱인데도 돌아가는 IME에다가는 자신이 메트로 앱이라고 잘못 알려주는 문제가 있었다. 그 버그는 얼마 안 가서 수정됐지만, 그 다음으로 또 약간 알쏭달쏭 아리까리하게 동작하는 게 있다(2020년 3월의 80 버전 기준).

마소 Edge와 Firefox는 TSF를 온전히 지원하는 브라우저이다. 그러나 IE와 Chrome은 그렇지 않다.
TSF를 지원하지 않는 프로그램에서는 앞뒤 글자를 요청한다거나 caret 이동 같은 지시를 내리면 어차피 실패한다. 내 프로그램은 실패에 대한 대비는 물론 돼 있다. 그리고 처음부터 앱을 가려가며 동작하는 게 아니라, 이런 실제 기능의 성공 여부를 토대로 동작한다.

그런데 크롬의 경우, 앱의 종류를 식별해 보면 "TSF 미지원"이라고 나오지만, 앞뒤 글자 요청이나 caret 이동 등의 지시를 내리면 마치 TSF 지원 프로그램처럼 수행되고 성공했다는 리턴값이 돌아온다. 하지만 그게 제대로 올바르게 correctly 수행되어 있지는 않다.

크롬에서 '대한민국' 같은 단어를 입력하고 단어 단위 한자 변환을 시도해 보면 마소 한글 IME는 안 되지만 날개셋은 된다. 하지만 변환을 해 봤자 '大韓民國'이 아니라 '대한민국大韓民國' 이런 식으로.. 정확하게 동작하지 않는다.
더구나 낱자 단위로 달라붙기 옵션을 사용하면서 bksp를 눌러 보면 caret이 앞 글자로 제대로 가지 않고 계속 자기 자리에서 머무른다.

여러 정황상 인접 글자의 fetch는 되지만 텍스트 selection을 변경하는 건 안 되는 것 같다.
결정적으로 크롬이 대외적으로 자신을 "TSF 미지원"이라고 보고를 하므로 날개셋 역시 크롬에 대해서 "오동작을 하느니 아예 동작을 안 하도록" 조치를 취하는 게 바람직해 보인다.

요 보정을.. "데스크톱 앱으로 인식"이라는 보정 옵션에다가 추가했다. 이 옵션이 켜져 있고 앱이 자신을 "TSF 미지원"이라고 표시한 경우, 내 프로그램은 텍스트 고급 조작 지시를 시도조차 하지 않고 방어적으로 동작하게 된다. "TSF 지원"이라는 명시적인 정보가 있을 때만 고급 조작을 하게 된다.

5. 도깨비 한글 글꼴

옛날 도스 시절의 한글 바이오스 유틸인 '한글 도깨비'의 최종 버전  5.1에서 제공되었던 고유한 둥글동글한 글꼴, 일명 '둥근도깨비'체가 날개셋 한글 입력기의 다음 버전에서 제공될 예정이다.
"둥근모, 한솔바탕, 도깨비고딕, 한메굵은본문"을 한데 섞은 듯한 인상이지만 어느 것에 딱 떨어지지 않는 변별성과 독창성이 있고, 모양이 상당히 예쁘기도 한 편이다.

사용자 삽입 이미지

내부 구조를 살펴보니 얘는 놀랍게도 일종의 완조형이었다.
'가'부터 '히'까지 받침이 없는 글자는 완성형으로 각각의 글자들이 일일이 그려져 있고, 받침이 붙었을 때의 '가'~'히'도 마찬가지이다. 그 뒤 받침은 ㅗㅛㅜㅠㅡ용 아니면 나머지.. 이렇게 두 벌만 있다. 이런 형태의 글꼴은 난생 처음 봤다.

이 글자들로부터 초성과 중성을 일일이 decompose한 뒤, 뭔가 반복· 규칙과 패턴을 찾아내어 3차원 조합 테이블을 복원하고 날개셋 편집기에서 읽을 수 있는 11172자 조합형 한글 글꼴로 얼추 재구성했다. 어렵지만 흥미진진한 작업이었다.

ㅏㅑㅓㅕ 같은 모음은 거의 판에 박은 듯이 똑같지만, ㅘㅙ 같은 복합 중성 및 이와 결합한 초성들은 자형이 의외로 제각각 임의로 그려져 있었다. 그래서 규칙을 찾기 어려웠다.
요런 모양의 글꼴을 이런 복잡한 완조형 말고 8*4*4벌로 간소화(?)된 형태로도 옛날에 봤던 것 같기도 한데 정확하게 기억은 안 난다.

도깨비 말고도 1990년대까지 도스 시절에 텍스트 모드에서 쓰였던 유명한 한글 바이오스 유틸로는 태백한글, 한메한글이 있다. 태백과 한메는 제품 이름 겸 개발사의 이름이기도 하지만, 도깨비의 경우 개발사가 '한도 컴퓨터'여서 제품명과 일치하지 않는다.

한글 도깨비의 개발자인 최 철룡 씨는 정말 대단한 분이었다. 1980년대에 IBM 호환 PC의 내부 구조를 모두 마스터하여 한글 바이오스를 만들었을 뿐만 아니라.. 사실은 안 철수와 거의 비슷하게 브레인 바이러스 백신까지 자작했었다. 처음에는 마이크로소프트웨어 잡지의 기자로 재직하다가 나중에는 성이 안 차서 자기 회사를 차리게 된다.
날개셋 한글 입력기는 아래아한글과 마소 도스/Windows뿐만 아니라 태백, 한메, 도깨비에서 제공하던 글꼴들도 한 종류 이상씩은 courtesy 차원에서 제공하고 있다.

6. 그 밖에

  • 프로그램 UI를 여러 군데 찔끔찔끔 수정했다. 기억에 남는 것으로는.. 이모지 문자표에다가도 우클릭 메뉴에 '복사'를 추가하고 전용 도움말을 넣었다.
  • 지난 8.8부터 9.0대 기간 동안 심혈을 기울여서 구현했던 '복합 낱자 입력 로직 생성기' 빠른설정이 언제부턴가 제대로 동작하지 않고 적용 후에 프로그램이 뻗던 문제를 뒤늦게 발견하여 고쳤다. 직전인 9.9보다 전부터 존재했던 문제로 보인다. 처음에 구현이 잘못된 건 아니고, 나중에 소스 코드를 리팩터링을 잘못 했기 때문이다.
  • 24픽셀(화면 확대 배율 150% 이상) 환경에서 날개셋 제어판을 꺼내서 ‘낱자 처리’ 탭에서 ‘낱자 코드 번호 병기’ 옵션을 켰는데.. 자그마한 낱자 번호가 초-중-종성별로 세로 위치가 차이가 나지 않고 언제나 같은 위치에 찍히던 문제를 뒤늦게 발견해서 고쳤다.
  • 이 외에도 그 밖에 24픽셀 비트맵 글꼴을 표시하는 목록에서 줄 간격을 1픽셀에서 2픽셀로 늘렸으며, U+200?대에 있는 특수한 공백과 줄표에 대한 글립도 16픽셀일 때와 마찬가지로 추가했다. 또한 외부 모듈에 24픽셀용 아이콘을 추가했다. 고해상도 24픽셀 환경에 대한 지원을 여러 방면에서 강화한 셈이다.
  • 외부 모듈의 ‘프로그램 호환성’ 탭에 현재 화면에 보이지 않는 몇몇 Metro 앱이 불필요하게 목록에 표시되어 있던 것을 감췄다. 그리고 ‘모두 원래대로’ 버튼의 원래 의도는 프로그램의 기본 보정 방식으로 되돌리는 것인데 그러지 않고 설정을 몽땅 삭제만 해 버리던 것을 고쳤다.
  • 정말 사소한 것이지만.. 立의 한자 훈이 '설 립'(stand 서다)이 아니라 '설사 립'(??!!!)으로 잘못 등록돼 있던 것을 고쳤다. 2020년 현재 마소 한글 IME의 한자 데이터에도 동일한 오류가 있으며, 그게 날개셋에도 그대로 전해진 것 같다.

이상이다. 이 정도면 9.9에서 0.1이 더해진 10.0에 딱 어울리는 수준의 변화로 손색이 없다고 여겨진다.

대략 9.x 초기 시절에.. Windows 10의 특정 버전 내지 특정 게임에서 한글 입력이 안 될 때 내 프로그램을 쓰면 된다는 소문이 퍼졌으며, 날개셋 한글 입력기의 다운로드 트래픽이 폭증하여 내 홈페이지가 며칠 연속으로 셧다운 됐던 적이 있었다.
그래서 한동안 다운로드 링크를 내 홈페이지 서버가 아닌 Google Drive 링크로 제공했는데.. 요즘은 그런 시절도 지났는지 구글 드라이브를 안 써도 트래픽 초과가 뜨지는 않는다.

요즘은 프로그램 관련 문의를 메일로만 받고 있지만 그래도 여러 사용자에게서 문의와 버그 의심 신고 연락이 종종 오곤 한다. 정말 꿈에도 상상할 수 없던 곳에서 내 프로그램을 잘 쓰고 있다는 연락을 받은 적도 있었다. 덕분에 이번 버전도 자잘한 개선 중에는 메일을 통해 접수된 사용자 피드백이 반영된 게 무척 많았다.

내 프로그램을 사용하면서 개인 메일까지 보내서 질문이나 건의를 남겨 주는 분들이 계시니 고마운 일이 아닐 수 없다. 어서 새 버전이 완성되어서 새 기능들이 두벌식과 세벌식 사용자에게 모두 큰 도움이 되었으면 좋겠다.

Posted by 사무엘

2020/04/04 08:35 2020/04/04 08:35
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1736

도량형 이야기

오늘날처럼 미터법과 SI 단위가 세계 공통 표준으로 정착하기 전에는 동양에서는 척관법이, 서양에서는 야드파운드법이 오랫동안 쓰였다. 성경에서 마 5:41은 번역 과정에서 서양 단위(1마일, 2마일)가 동양 단위(5리, 10리)로 로컬라이즈도 된 흥미로운 예이다. 마치 "결혼하거나 결혼당하고"가 "시집 가거나 장가 가고"로 로컬라이즈 된 것처럼 말이다.

옛날 단위들은 기준이 서로 제각각일 수밖에 없다. 하지만 그럼에도 불구하고 1자(척)와 1피트는 둘 다 비슷하게 30cm대인 것 같다. 그리고 펄롱과 스타디온은 1/8마일에서 유래되었으며 둘 다 비슷하게 200m가량인 듯하다. 이런 식으로 뭔가 비슷한 쌍도 있다.

피트의 경우 말 그대로 발의 길이에서 유래되었는데, 보통 성인 남자의 신발 사이즈가 270 등 20cm대 후반인 것을 감안하면 그 정도 규모가 공감이 갈 것이다.
이 피트가 오늘날 항공업계에서 비행기의 고도를 나타낼 때도 활발하게 쓰인다. 3만 피트는 10km에 가까우며 여객기 순항 고도의 거의 상한선이다. 물론 비행기를 넘어 우주 발사체의 고도까지 가면 그런 거 없고 다시 km로 돌아간다.

그에 비해 성경에 나오는 큐빗은 발이 아니라 팔꿈치에서 가운뎃손가락 끝까지의 길이에서 유래되었으며, 파운드야드나 척관법과 무관한 히브리 고유의 단위인 것 같다. 그래서 성경의 번역 과정에서 딱히 로컬라이즈 되지도 않는 편이다. (참고로 큐피드 Cupid하고는 마찰음의 위치가 서로 맞바뀌어 있다. ㄲㄲ)

1큐빗은 대략 50cm대로, 자/피트보다 더 크다. 그래서 키가 6큐빗 1뼘이라는 골리앗은 키가 3m를 초월하는 거인이며(삼상 17:4).. 바산의 왕인 '옥'이라는 괴수는 침대의 길이가 소형 승용차의 길이와 비슷한 9큐빗이었음을 알 수 있다(신 3:11). 길이가 300큐빗이라고 기록된 방주(창 6:15) 역시, 길이가 270 '미터'인 타이타닉보다는 훨씬 작은 배이다.

길이 말고 거리로 가면 스케일이 더 커진다.
사실, 길이 length나 거리 distance나 차원은 서로 완전히 동일한 단위이다. 하지만 길이는 자(줄자)로 재어 측정하는 반면, 거리는 굳이 직선 형태가 아닐 수도 있고 측정자가 뭔가 직접 구르고 이동하면서 측정한다는 인상이 강하다. '피트'의 경우, 길이의 단위이니까 발의 길이로 정해졌지, 거리의 단위라면 보폭이 기준이 됐을 것이다.

부피만 해도 유체(기체+액체)의 부피와 고체의 부피는 좀 뭔가 다른 인상이 느껴지며, 고체의 부피에 리터나 갤런 같은 단위는 영 안 어울려 보이지 않은가? 그런 인간적인 심상이(?) 단위에 담기기도 한다.

그리고 반대로 물리적인 차원이 다르더라도 그런 인지적인 심상이 비슷하면 동일 단위가 여러 분야에서 쓰이기도 하게 된다.
가령, 무게의 단위 중에는 그대로 화폐 단위로 통용되는 것이 여럿 있다(탤런트, 파운드). 톤은 원래 담당이던 무게와 동시에 선박 배수량 부피 단위, 그리고 동급의 TNT 양을 기준으로 폭발 에너지의 단위로도 쓰인다. 무게라는 게 물질의 고유 물리량인 ‘질량’을 나타내는 것이니 의미 확장에 가장 유리하니 말이다.

얘기가 옆길로 좀 샜으니 거리의 단위로 돌아오면..
동양에서는 아리랑 가사에도 등장할 정도로 유명한 ‘리’(약 400m), 그리고 서양에서는 마일과 노트(knot 약 1.8km) 정도가 있다. 접두사가 덕지덕지 붙은 킬로미터보다 저런 단어가 더 익숙하고 짤막하고 좋긴 해 보인다.

미국에서 시속 55~60마일 제한이 한국으로 치면 시속 100km 제한과 얼추 비슷하다. 그리고 우리나라는 군사분계선의 길이가 어째 킬로미터 대신 155마일이라고 불분명한 출처를 통해 널리 퍼져 있다.
마일은 그렇다 치고 노트는 해상 업계에서 활발히 쓰이는 중이다. 인류는 미터법이 제정되기 훨씬 전부터 배를 타고 신대륙까지 개척했으니 단위가 다른 건 어쩔 수 없는 노릇이다. 1노트는 1해리, 해상 마일이라고도 부르며, 1마일보다 약간 더 크다.

한국과 미국이 기름값이 얼마나 차이가 나는지 정확하게 알기 위해서는 원/달러 환율뿐만 아니라 리터/갤런 부피 단위도 변환해야 한다(1갤런은 약 3.78리터). 2000년대 초엔 갤런당 1$대이던 게 2000년대 말 불황 때는 4$가 넘게 치솟았었고.. 그러다 지금은 2$를 넘어 3$대인 걸로 알고 있다.

지역과 상황에 따라 케바케이긴 하지만 미국의 기름값은 한국 기름값의 거의 50~70%대라고 생각하면 대체로 맞다. 뭐, 저기는 자동차가 신발이나 마찬가지인 동네여서 모든 가족 구성원이 차를 굴리는, 아니 굴리지 않으면 안 되는 곳인 걸 감안할 필요가 있다. 고등학교가 아니라 중학교를 졸업한 뒤에 면허를 따며, 30대 나이의 직장인이 아니라 10대 알바생도 자가용으로 출근한다. 안 그러면 등교고 통근이고 아예 할 수가 없기 때문이다.;;
한국보다 기름을 훨씬 더 많이 소비하겠지만, 같은 일을 했을 때의 소득도 한국보다는 높을 테고.. 그런 차이가 있다.

또 무슨 단위가 있을까?
면적의 경우, 국내에서는 땅이나 임야에 대해서는 헥타르를 많이 쓰고 집에 대해서는.. 그 유명한 ‘평’을 많이 썼다. 요즘이야 제곱미터로 몽땅 물갈이 됐다. 헥타르는 미터법 단위의 10배수이기 때문에 이해하기 쉽지만 평은 1/3배수에 가까워서 좀 직관적이지 못하다.

리터는 그 정의부터가 세제곱 cm의 1000배이기 때문에 얘 역시 미터법 단위의 10배수 alias(딴이름 별칭)에 가깝다. 옛날에는 이탤릭체/필기체 소문자 l로 많이 썼었지만 요즘은 숫자 1과 혼동된다고 대문자 L로 쓰는 게 대세가 돼 있다.

인치는 한국에서 일상적으로는 거의 쓰이지 않는 듣보잡 단위이지만 디스플레이의 크기를 나타낼 때는 끈질기게 살아남아서 존재감이 각인돼 있다. 12인치 모니터, 30인치 모니터가 대충 어느 정도 크기인지 다들 아실 테니 말이다. 그리고 옛날에는 디스켓의 크기도 5.25인치, 3.5인치 같은 식으로 분류했다. 물론 이것들은 다 미국의 공업 규격으로부터 영향을 받은 흔적이다.

미터법은 철도 궤간이나 국제 표준시(GMT/UTC) 같은 것과 달리, 대영제국이 퍼뜨린 표준이 아니다. 얘는 기원을 굳이 따지자면 프랑스에 가깝다.
미터법은 SI 단위로 체계가 확장되고 현대의 과학계가 정식으로 채택함으로써 (1) 인류 역사상 어떤 도량형도 가져 본 적 없던 엄밀한 정의를 갖게 되었다. “빛이 진공에서 n초만치 진행한 거리, 세슘 원자가 x회 진동하는 데 걸리는 시간, 플랑크 상수가 y가 되게 하는 질량값” 따위 말이다.

(음악으로 치면 도레미파 기준음의 엄밀한 정의를 "어디어디서 나는 특정 소리"가 아니라 소리굽쇠의 440hz 진동수라고 숫자를 동원해 딱 굳힌 것과 비슷하다. 모든 악기의 음높이를 일관되게 조율하려면 그 바닥에서도 절대적인 기준이 필요할 테니... 물론 hz를 엄밀하게 정의하려면 '초'부터 엄밀하게 정의해야 할 것이다.)

길이, 시간, 무게(질량)이야 말 그대로 시공간을 구성하는 기본 축이니까 전근대 시절부터 단위가 존재했지만, 전기(전압, 전류, 전하량)나 밝기 같은 물리량은 애초에 고전 단위계에서는 아웃 오브 안중이었다. 이렇게 (2) 후대에 과학이 발전하면서 추가로 도입된 단위 차원은 오로지 SI 단위에만 존재한다.

다른 단위들의 합성을 통해서 만들 수 없는 새로운 차원이 몇 개가 더 존재하려나 모르겠다. 온도는 그런 새로운 차원의 대표적인 예이다. 서양에는 화씨라고 불리는 단위가 전통적으로 존재해 온 반면, 동양에는 그런 게 없는 것 같다.
길이의 단위가 평균적인 인체의 치수를 근거로 제정되었다면, 온도는 우리 주변에서 쉽게 볼 수 있고 온도별로 다양한 상태로 쉽게 변하기도 하는 물의 끓는점과 어는점을 기준으로 단위가 만들어지는 게 자연스럽다.

그 끓는점과 어는점을 어떤 숫자로 정할지는 엿장수 마음대로이지만 말이다. 단, 과학이 발전하면서 온도는 열역학적 완전 정지를 나타내는 하한이란 게 있다는 게 밝혀졌다. 절대온도는 섭씨 온도와 비례상수는 동일하고(y=ax+b에서 a), 절대영도를 표현하기 위해 상수인 b만 다르다.

사실, 열과 온도는 마치 질량과 무게만큼이나 엄밀· 정확하게 차이를 이해하기 어려운 개념이다. 열은 또 줄이니 칼로리니 하는 에너지로도 연결되니까.. 같은 열을 받아도 다들 알다시피 공기와 물고 금속은 온도의 변화가 전부 다르니 말이다.

SI 단위계는 인간의 심상 인지 유사도와 무관하게 (3) 물리적으로 차원이 동일하다면 반드시 같은 단위를 쓰게 하고, 기존 차원으로부터 유도· 파생되는 단위라는 개념을 명확히 했다. 이 원칙에 따라 칼로리는 차원이 동일한 줄에 밀려 도태하는 중이고, 요즘은 그냥 영양학적 열량 분야에서만 명맥을 유지하고 있다. 한편 와트는 분야가 다르지만 차원이 동일하기 때문에 고전역학의 일률과 전기에서의 전력을 모두 나타내는 데 쓰인다.

끝으로 SI 단위계는 (4) 숫자의 10진법 자릿수 보정을 위해 킬로, 밀리 같은 접두사도 명시하여 체계화했다.
그러니 여러 모로 굉장히 깔끔하고 쓸 만한 단위계가 됐다. 로마 숫자에서 아라비아 숫자로, 그림문자에서 음소문자로 바뀌는 것 같은 변화가 아닌가 싶은데..

그럼에도 불구하고 미국은 세계에서 거의 독보적으로 미터법을 따르지 않는.. 아니 더 정확히는 따르지 못하고 있는 갈라파고스 국가이다. 관습적으로 정착한 단위와 학술적으로 통용되는 단위가 서로 심하게 다르기 때문에, 대중을 상대로 과학 발표나 강연을 하면서도 각종 통계 자료에서 “아, 이 값들은 단위가 미터법인 걸 양해 바랍니다” 이런 말도 안 되는 해명을 해야 한다.

그리고 극단적으로는.. 현업 종사자조차도 단위를 헷갈리는 바람에 정비 불량으로 비행기와 우주선이 추락하는 사고가 난 적도 몇 차례 있다. 기름을 n 갤런만치 넣어야 하는데 실수로 n 리터만 넣는다거나 하는 식으로 말이다. 세계 최강의 과학기술 강국이며 행정 시스템 선진국인 천조국의 위상과 전혀 어울리지 않는 흑역사가 아닐 수 없다.
심지어 종이 크기도 세계 표준인 A4(제곱미터 기반) 대신 레터라는 인치 기반의 독자 규격을 쓰는데.. 이에 대해서는 나중에 별도의 글로 또 다룰 것이다.

일본이 협궤가 골칫거리라면 미국은 단위계가 골칫거리인 셈이다. 뭐, 둘 다 110V 전압도 골칫거리이긴 하다만.. 근대화 산업화를 일찍 한 나라는 이렇게 시대 흐름에 뒤쳐진 레거시도 하나씩 생기는가 보다.

우리나라는 SI 단위가 잘 정착한 축에 들지만 부동산의 면적에서는 평이 다른 단위로 대체되기는 영 쉽지 않아 보인다.
그리고 딱히 도량형은 아니지만.. 나이를 좀 한국식과 만의 구분을 없애고 간단하게 "현재 연도 - 태어난 연도"로, 즉 만 나이로 통일해 버렸으면 좋겠다. "한국식 나이로, 만 나이로" 이게 미국에서 "미터법을 쓰자면..." 이러는 거나 다를 바 없는 삽질이다.

학년을 따질 때 빠른 생일 1, 2월 구분을 없앤 지는 꽤 됐는데.. 저것도 더 간단하고 합리적으로 바꿨으면 좋겠다.

Posted by 사무엘

2020/04/01 19:34 2020/04/01 19:34
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1735

먼저 관련 용어 정리부터 좀 하자.

휴전선 = 군사분계선(MDL) = 6· 25 전쟁 휴전 이후의 남북간 영토 경계선

38선 = 6· 25 전쟁 전의 남북간 영토 경계선


남한 기준으로 육지에 추가적으로 존재하는 경계 계층들을 위도의 "내림차순(북→남)"으로 정리하면

군사분계선 > 비무장지대(DMZ), GP > 북방한계선(NLL) 철책, GOP > 민통선


이다. 그리고 우리나라 군사분계선의 지형 스타일은 다음과 같이 크게 네 가지로 나뉜다.

1. 완전 바다(인천 옹진의 서해5도)

북괴가 제해력이 없던 덕분에 이 섬들은 북한 본토와 상당히 가까움에도 불구하고 남한이 수복할 수 있었다. 위도상으로 38보다 근소하게 이남이고 6· 25 이전부터 남한 땅이었기 때문에, 국군+UN군이 여기는 휴전 이후에도 북한에게 내어주지 않았다.

여기는 육지 형태의 DMZ가 없으며, 북방한계선이 곧 군사분계선이다. 그리고 물만 건너면 바로 앞이 북한이다. 그럼에도 불구하고 의외로 교동도 같은 민통선 안도 아니며, 여기 주민 자녀는 무슨 대성동 주민처럼 납세와 병역 면제 같은 특혜도 없다. (대학 입시 때 실향민이나 오지 특별전형 같은 것만 있는 걸로 앎..)
워낙 멀고 가기 힘든 곳이니 굳이 민통선 지정을 안 해도 일반인들이 가지 않을 거라고 생각했던 듯하다. 저기는 평범한 육군이 아닌 해병대가 주둔한다.

2. 한강 하구 또는 평지(김포, 강화, 파주 일대)

본토의 서부전선은 지형상의 불리함과 판문점 근처라는 이유 때문에 크게 북진하지 못했으며, 오히려 한강 주변까지 후퇴하게 됐다.
이 지역에는 강안경계라는 게 존재하며, 서쪽 끝의 하구에는 여전히 해병대도 있다. 강화군부터는 민통선이 존재하지만 출입 검문이 동부 전선만치 빡세지는 않다.
거기서 더 동쪽으로 가면 군사분계선은 옛 38선 근처의 평지로 옮겨진다. 아직까지는 민통선 다음에 곧장 군사분계선이지, NLL/GOP 같은 분명한 구분은 없다.

3. 첩첩산중(연천, 철원, 화천, 양구, 인제까지 대부분의 본토 전방)

이제 여기가 군사분계선의 대부분을 차지하는 최전방 지형이며, 과거에 땅을 조금이라도 더 수복하려고 처절한 고지전이 치러졌던 곳이다. 길이로나 군인 비율로나 뭐.. 주변의 1, 2, 4를 모두 합해도 이 3 하나보다 모자랄 것이다.
대부분 험한 산지이지만 철원에는 주변에 평야와 호수도 있다. 그리고 양구에는 혼자 땜통처럼 동그랗게 파인 펀치볼 지형이 있다.

4. 산과 해안(강원도 고성)

여기도 기본적으로는 첩첩산중이지만 군사분계선이 -가 아닌 / 모양으로 더욱 가파르게 상승하여 고위도로 간다. 그리고 뒤로는 바다도 있어서 해안경계가 필요하다는 점에서 여느 내륙과는 지형이 차이가 있다. 황해가 아닌 동해의 맑고 청명한 해수욕장 백사장이 남북 분단 때문에 이렇게도 많이 봉인돼 있다는 생각이 들게 된다.

정리하자면, 서쪽에서 동쪽으로 갈수록 군사분계선이 물이던 것이 평지를 거쳐 산으로 바뀌며, 민통선이니 북방한계선이니 DMZ니 하는 더 세밀한 구분이 생긴다.
참고로 민통선 내부에 주민이 상시 거주하는 예외적인 마을이 교동도 말고 내륙에도 파주, 연천, 철원 정도에 걸쳐서 전국적으로 몇 남짓 있다. 단순 논밭이 아니라 주택 말이다. 가령, 연천의 경우 횡산리 마을이라고 임진강과 코앞의 군사분계선으로 둘러싸인 실향민 마을이 있는데.. 분위기는 거의 대성동 마을과 다를 바 없다.

그럼에도 불구하고 대성동의 경우 판문점이 가까이 있기도 하고 근처에 있는 철조망이 북방한계선이 아니라 진짜 군사분계선이기 때문에 DMZ 안에 있는 유니크한 마을이라고 간주된다. 그런데 대성동 말고 타 민통선 마을 출신들도 각종 면제 혜택이 있다고 위키에 적혀 있는데, 정말 그러한지 그 근거가 무엇인지는 잘 모르겠다.

철원보다 더 동쪽으로는 군사분계선 주변의 지형이 워낙 험하니 민통선 마을 같은 건 없다. 가령, 동쪽 끝의 고성군 수동면 같은 곳은 마을이 산과 휴전선으로 완전히 고립되게 생겼으니 주민들이 모두 이주하게 되었다. 그래서 거기는 주민이 전무하여 사문화된 행정구역으로 전락했다.

다음은 우리나라 안보 관광지의 양대 산맥인 파주와 철원의 공통점과 차이점에 대해 굉장히 오래 전에 표로 정리한 것이다.

  파주 철원
철도 교통편 경의선. 역에서 직결 가능 경원선. 추가 이동 필요
관련 철도 임진강, 그리고 민통선 안의 도라산 역 (다 영업 중) 백마고지 역. 민통선 안의 월정리 역, 철원 역 옛 터. 금강산선 교량 흔적
거점 관광 지역 임진각 고석정 인근의 철의 삼각 전적지
남북 철도 연결 여부 아니요. 민통선 안에 들어가기도 전에 철도중단점 있음
녹슨 증기 기관차 옛날 장단 역에 있던 것이 지금은 복원 처리 후에 임진각에 전시돼 있음 월정리 역 구내에 부서진 기관차 잔해가 있으나 상태는 안 좋음
도로 교통 강변북로+자유로+통일로. 자동차 전용 도로 연계가 좋음 동부간선+국도 3 또는 43호선. 서울 바깥부터는 자동차 전용 도로 없음
가는 길목에 강안 경계 초소를 볼 수 있음 38선 돌파 기념비가 있음
땅굴 제3 제2 (제3보다 더 긺)
지역 특징 판문점, 대성동/기정동, 개성 공단 자연 경치가 더 아름다움. 수복 전의 북한 시설이 있음 (노동당사)
인근 전망대 도라 평화, 승리
인근 하천 임진강 한탄강
민통선 안에서 식사 통일촌 또는 해마루촌. 관광 연계 가능 전선 휴게소. 개인적으로 직접 예약하고 자차로 방문해야 함
민통선 경계 대체로 임진강 선형을 따라 있음 (리비 사거리 등) 육로에 민통선 초소가 있음

이런 식으로 고성의 통일 전망대와 파주의 오두산 통일 전망대도 비교 대조 가능하다.
오두산의 경우, 고성과는 비교할 수 없이 낮은 위도에 있지만 강과 강이 합류하는 경치 좋은 곳이면서 군사분계선도 강을 따라 형성되었으니.. 고성과는 다른 방식으로 전망대를 만들기에 굉장히 좋은 입지를 갖추게 됐다. 그쪽으로 자유로 도로를 닦으면서 괜히 전망대를 만든 게 아니었다.

Posted by 사무엘

2020/03/30 08:33 2020/03/30 08:33
, , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1734

1. 구원받은 첫 순간에 대한 기억

구원받은 첫 순간을 기억하는지 여부는 그 사람의 현재 실질적인 구원 여부와 아무 상관 없으며, 전혀 중요하지 않다. 모 교단· 교파에서는 저 날짜를 챙기는 걸 굉장히 강조하는 것 같은데.. 그다지 영양가가 없는 관행이다.  성경엔 "처음 된 자가 나중 되고, 나중 된 자가 처음..."같은 말씀이 적혀 있을 뿐이다.

좀 바보 같은 예이지만.. 본인은 시내버스를 타고 멍하니 있다가 "내가 이 버스를 탈 때 카드를 찍었나? 찍었던 순간이 기억이 안 나네?" 이런 생각이 들 때가 있다.
하지만 이 버스에 계속해서 탑승해 있기 위해서 내가 처음에 카드를 찍었던 순간을 기억하고 있어야 할 필요는 전혀 없다. 내가 만약 카드를 찍지 않고 무단으로 쓰윽 들어갔다면 애초에 기사 아저씨가 가만히 있지 않았을 것이다. 무임승차는 전혀 불가능한 일이다.

그것처럼 한번 받은 구원은 내 기억이나 언행이나 능력이 아니라 하나님 쪽에서 절대적으로 안전하고 든든하게 유지된다.
본인도 철도 안에서 거듭난 날짜야 기억하지만, 내 인생에서 예수님을 영접하고 거듭난 때는 너무 어린 시절이기 때문에 정확하게 알지 못한다. 10대 중반, 중2~중3 사이의 기간에 언제부턴가 선행이 아니라 믿음으로 얻는 구원이라는 개념을 어렴풋이 받아들였고, 죽으면 하늘나라 간다는 확신이 생겼을 뿐이다. 구체적인 날짜는 불명이다.

정확하게 언제 구원 받았는지는 알면 더 좋지만, 몰라도 지금 신앙생활 하는 데 아무 지장 없다. 과거가 아니라 현재가 중요한 법이다. 정 알쏭달쏭하고 모르겠으면 지금 당장이라도 예수님 영접을 정식으로 다시 하면 그만이다.

2. 구원 확인 질문

어떤 사람이 구원받으면 영적 신분이 크게 바뀌지만 당장 외관상으로는 별로 달라지는 게 없다. 그 사람의 기분이나 성품이 하루아침에 달라지지는 않으며, 하루아침에 더 큰 믿음이 생겨서 곧장 성경 말씀을 모두 지키며 살게 되는 것도 아니다.
다만, 내 경험상 정말 구원받은 사람이라면 최소한 구원 확인 질문을 불쾌해하지는 않는 게 상식이고 정상이라고 생각한다. 심각하게 무례한 태도로 질문받은 게 아닌 한 말이다.

우리나라의 문화 정서가 서양 문화권에 비해 "뭐야, 지금 날 의심하는 거예요?" 감정이 더 강한 게 사실이다. 그리고 뭔가를 기초적인 것부터 꼼꼼하게 확인하고 따지거나 가까운 사람에게 일일이 "고맙다, 사랑한다, 미안하다" 같은 말을 하는 걸 남사스러워한다.

하지만 안 그래도 사람의 구원 여부는 행실만으로 섣불리 판단하기 어려운데.. 단순 구원 확인은 무슨 육신을 죽이고 헌신과 섬김을 실천하라는 어려운 명령이 아니다. 예수 믿는 사람을 색출해서 잡아 가두거나 죽이겠다는 상황도 아니다. "네, 저는 예수님의 피로 구원받았고 지금 죽으면 바로 하늘나라 갈 확신이 있습니다"라고 있는 그대로 가볍게 대답하는 게 뭐가 그리 어렵거나 부끄럽거나 자존심 상하는 일인가?

예수쟁이라면 그런 질문을 받았으면 기다렸다는 듯이 "마침 질문 잘 하셨습니다"와 함께 자기 구원을 간증할 수 있어야 할 것이고, 아니.. 이상적인 경우라면 남이 그런 질문을 할 일 자체가 없는 게 제일 좋다. 옆에서 행동을 보기만 해도 쟤는 정말 구원받은 크리스천이구나.. 싶은 것 말이다.

그저 단순히 "니예 니예" 친절하고 인상 좋은 차원이 아니다. 그 정도는 꽃뱀 제비 사기꾼이라도 얼마든지 연기할 수 있는 것들이다. 그런 차원을 넘어서 어렵고 힘들 때도 뭔가 믿는 구석이 있고, 세상에 연연하지 않고 죽음을 두려워하지 않는 그 느낌 말이다.
하지만 현실은 시궁창이다. 구원을 받지도 못한 채로 그냥 인맥 관리와 사교를 위해 습관적으로 교회 다니는 사람.. 그것도 각종 직분까지 받아서 수행하는 사람이 정말 숱하게 많을 것이다.

3. 양자됨, 입양

기독교에서는 성경 말씀에 근거하여 우리가 예수 믿어서 구원받는다고 가르친다. 인간의 입장에서는 하나님에게 죄를 용서받고, 죽어서 내세에 가는 장소가 바뀐다. 믿음에 대해서는 두 달 전에 썼던 글에서도 심도 있게 다룬 바 있다.

이것을 좀 더 신학적인(?) 관점에서 보면 우리의 영적 신분이 바뀐다고 한다. 하나님의 아들들이 되고 예수 그리스도의 신부가 되고 왕 같은 제사장이 되는데(다들 성경에 나와 있는 지위임), 한편으로 신약의 바울 서신들을 찾아보면 하나님의 가문에 입양되어 양자가 된다는 말도 있다. (롬 8:15,23; 갈 4:5; 엡 1:4-5)

구약 경륜 시절의 유대인이 뭔가 혈통적이고 선천적인 요소가 가미된 지위라면, 구원받은 성도들의 집합인 신약 교회는 양자이고 식물로 치면 본줄기에 접붙여진.. 뭔가 후천적이고 영적이고 2차적인 지위이다. (롬 11:17, 24)
컴퓨터에다 비유하자면, 전자가 마치 매킨토시처럼 하드웨어· 소프트웨어 일체형이라면 후자는 소프트웨어 지향이다.

하지만 그렇다고 신약 교회가 유대인보다 뭔가 열등한 게 아니다. 반대로 하나님이 이제 유대인을 완전히 버리고 끝장 내고 교회가 유대인을 대체하게 된 것도 아니다. 이건 그냥 시대에 따라서 하나님께서 다양한 세상 경영 방식을 허락하고 도입하신 것일 뿐이다.

친자식은 너무 마음에 안 들면 부모가 법적으로 그 녀석과 연을 끊고 족보에서 파내고 상속도 안 물려주는 게 가능하다. 하지만 미국인가 거기 민법에 따르면, 양자는 한번 친자로 입양한 이상 파양을 할 수 없으며, 상속을 무조건 줘야 한다고 한다. 그게 성경의 원리가 담긴 법이라고 울 교회 목사님께서 줄곧 말씀하셨는데, 실제로 미국이 법이 그런지는 내가 딱히 확인을 못 해 봤다.

양자의 권리를 진짜 혈통상의 친자녀와 마찬가지로 보호하기 위함이기도 하고, 또 가슴으로 낳아서 일부러 데려온 특별한 아이를 좀 수틀린다고 제멋대로 도로 파양하고 상속을 안 주는 것 역시 도의적으로 말이 안 되기 때문이다.
신약 교회 성도들은 옛날 사람들이 꿈에도 생각할 수 없던 쉬운 방법으로 하나님께 예배 드리며, 옛날보다 훨씬 고차원적인 복을 누리고 있다. 그리고 이와 별개로 유대인들도 회복되고 예수님을 알아보게 될 것이다.

수많은 찬송가들이 구원을 노래하면서 “나 구원 받았네 I am saved”라는 가사를 담고 있는데.. 그와 달리 “I am adopted 양자가 됐네, 입양되었네”라는 이색적인 찬양도 있다. 작사 작곡자는 Ron Hamilton. Rejoice in the Lord (God never moves without purpose or plan)의 작곡자이기도 한데, I am adopted 역시 나름 성경을 묵상하고서 지은 곡인 것 같다.
I'm adopted, hallelujah! I finally belong. I've got a brand new family overflowing with love.”

Notes:

  • 예수님은 죄에 대한 대속 헌물이라는 명목으로는 그분 자신이 어린양이라고 묘사된다(창 22:8, 계 5:6). 그러나 성도들의 인도자 명목으로는 목자(요 10:11) 또는 목자장(벧전 5:4), 이때는 반대로 우리 성도들이 어린양에 비유된다.
  • 영화 <친구>에서는 잘 알다시피 “아부지 뭐 하시노? / 그래 이 빌어먹을 놈아. 너거 아부지는 죽은 사람 염해 가면서 니 공부시키는데 니는 30점을 못 맞나?” 그런 갈굼 대사가 나온다. 그런데 하늘에 계신 아버지도 크리스천들의 잘못된 행실로 인해 비슷한 논리와 방식으로 모독을 받을 수 있겠다는 생각이 문득 들었다. (롬 2:24)
  • 자기가 만들지도 않은 생판 남의 아이를 굳이 입양해서 키우는 건 정말 숭고한 일이다. 우리나라는 전쟁 고아 명목으로, 또 전쟁 이후에도 한동안 미국에 고아를 얼마나 많이 수출했었나 모른다. 이거 하나만으로도 다른 나라는 몰라도 한국은 정말 천하에 반미 할 자격이 없는 나라이다.

4. 믿지 않는 죄와 다른 악행죄의 관계

성경이 말하는 기독교 구원 교리에 따르면 인간이 구원받지 못하고 죽는 것, 자기 죄 가운데 죽는 것, 죽어서 혼이 지옥에 가는 것, 먼 훗날 백보좌 심판 후에 불못에 던져지는 것.. 이건 다들 필요충분조건 동치이고 동일 상황을 말한다.

마치 선형대수학에서 역행렬이 존재하는 n*n 정사각행렬 A에 대해서 “Ax=O에 오로지 영벡터 trivial solution밖에 존재하지 않는다”, “행렬식의 값이 0이 아니다”, “rank가 자신의 크기와 같은 n이다” 등 결국 그 말이 그 말인 동일한 진술이 여럿 존재하는데, 그와 비슷한 개념이다. 아이고, 왜 하필 저런 엄한 분야가 비유 대상으로 떠올랐는지는 모르겠다만..

인간을 지옥으로 보내는 유일한 죄는 하나님의 구원의 선물을 거절한 죄, 믿지 않은 죄뿐이다. 특별히 무슨 악행을 대놓고 하는 것이 아니라 어떤 행동을 안 하는 것(OMIT), 조치를 취하지 않고 가만히 있는 게 죄로 여겨진다.

그렇기 때문에 요 3:36에서 “아들을 믿지 않는 자”가 “아들을 순종하지 않는 자”로 바뀐 것은.. 언뜻 보기에 그 말이 그 말 같아도 교리적으로 굉장히 해롭고 위험하게 변개된 것이다. 요일 5:10을 같이 보면 이런 불신자는 하나님을 거짓말쟁이로 몰아세우는 거나 다름없다고 말한다.

다만, 여기서 주의해야 할 점이 있는데.. 그렇다고 해서 지옥 정죄를 받은 사람들이 불신죄 단 하나만으로 완전 천편일률적으로 다뤄지는 건 아니라는 것이다.
예수님의 피라는 실드가 없는 사람들은 불신 자체 말고 자기의 행위로 지었던(COMMIT) 다른 죄들이 모조리 드러나며 그걸 근거로 심판도 받는다. 계 20:12는 “자기 행위들에 따라 책들에 기록된 그것들에 근거하여 심판”이라고 분명히 말한다.

어차피 구원은 물 건너갔으니까 나머지 세부 내역들은 볼 것도 없느냐 하면 그렇지는 않다. 구원받은 사람들 사이에도 그리스도의 심판석에서 보상의 차별이 있듯이, 그렇지 못하고 영원한 멸망에 빠진 사람들 사이에도 형벌의 등급에 차이가 있을 거라고 생각하는 것은 무리가 아닐 것이다. 그 구체적인 내역은 성경에 자세히 나와 있지 않지만 말이다. 별로 중요하지도 않고..

믿지 않은 죄와 나머지 통상적인 악행죄의 관계는 뭐랄까..
군대에서 탈영죄에 대한 공소시효가 끝난 뒤에도 탈영병 복귀 명령에 대한 항명죄를 빌미로 공소시효를 몇 년 더 연장하는 것과 비슷한 관계 같다.
FPS에서 로켓의 직타 대미지와 스플래시 대미지의 관계와도 비슷해 보인다.

Posted by 사무엘

2020/03/27 08:35 2020/03/27 08:35
, , , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1733

인공위성 이모저모

철도는 빼박 육상 교통수단이지만, 우리말 한정으로 천문 우주와도 일말의 접점이 있다. 바로.. ‘궤도 軌道’가 railway도 되고 orbit도 되기 때문이다.
용어 복습을 하자면, rail 궤조 ⊂ railway 궤도 ⊂ track 선로이다.

  • 모노레일은 궤도가 단 하나의 궤조로만 구성된 교통수단이고, 전차선이 바닥의 양 궤조 사이에 같이 깔려 있으면 그 선을 제3궤조라고 부른다.
  • 궤도가 상하행별로 2개로 구성된 철길은 복선 선로 double track이라고 부른다.
  • 끝으로, 시설에 구애받지 않은 통합 집합적인 명칭이 the railroad 철도이다.

물론 천체의 궤도는 지상 열차의 궤도와는 비교가 불가능할 정도로, 0의 개수가 차이가 날 정도로 길고 방대하다.
우리나라 철도의 커브는 극악의 급커브인 서울 지하철 1호선 시청-종각이 반경 140m짜리이고 최상의 퀄리티인 경부고속선의 급커브가 7000m인 반면..
우주로 가면, 지구의 인공위성만 해도 지구의 평균 반지름 6400km에다가 저궤도 300~500km를 더하면 얼추 7000km가 나온다. 7000m가 아니라 그 1000배인 7000km가 된다~!

하물며 지구가 아닌 태양을 공전하는 궤도는 뭐.. 반경이 수억~수십억 km에 달하니, 이건 그냥 직선이나 마찬가지이다. 철길이 이런 경로대로 깔려 있다면 열차는 그냥 엔진이 과열돼서 터질 때까지 밟아도 될 것이다.;;

이 시점에서 문득 테이큰 영화 대사가 떠오른다. "Do you have any idea what it costs just to change the angle of the lens on a satellite orbiting 200 miles above the Earth?" 테이큰은 악당들 때려잡는 액션만 있는 게 아니라 work out, personal 같은 성경 용어도 나오고, 더 나아가 우주에 대한 통찰까지 제공하는 영화인 셈이다~!

그래서 본인은 인공위성에 대해서 문득 관심이 생겼다. 철도, 항공 다음으로는 우주이구나.. ㅎㅎ
인공위성은 지구가 둥글다는 것을 인류의 역사상 최초로 "실물 사진"으로 입증해 준 존재이다. 더 나아가 지구 반대편에서 벌어지는 사건의 생중계, 유선 전화선이 연결되지 않은 곳에서의 국제 전화(남극이나 망망대해 선박..), 그리고 지구 어디서든지 현재 위치를 파악하는 GPS까지.. 다 인공위성 덕분에 가능해진 것들이다. 우리가 매일 너무 당연하게 얻는 일기예보와 각종 구름 사진, 미세먼지 사진도 인공위성을 통해 얻는 정보이다. 대단하지 않은가?

또한, 인공위성 중에는 지구 관측뿐만 아니라 천문 관측용도 있다. 지구에서도 천문대는 산꼭대기 같은 최대한 높은 곳에 만들려고 애쓰는 편인데, 대기의 영향을 전혀 받지 않고 우주를 우주에서 관측 가능한 것은 치트키 급의 엄청난 혁신을 천문학계에 선사했다. 허블 우주 망원경이 대표적인 예이다.

이런 엄청난 인공위성에 대해서.. 스푸트니크부터 시작해서 미주알고주알 모든 것까지는 다루자면 시간과 지면이 부족할 것이다. 내가 저 분야를 전공한 것도 아니니.. 이 글에서는 (1) 궤도 그리고 (2) 우리나라의 인공위성 개발 내력 정도만 얘기하도록 하겠다.

1. 궤도

일반적인 비행기야 대류권과 성층권 사이 보통 10km대의 고도에서 날며, 전투기 같은 특수한 고성능 비행기도 20km대를 벗어나지 못한다. 걔네들은 주변 공기를 이용해서 엔진을 상시 가동해야 하는 물건이다.

그러나 인공위성은 공기가 없는 곳에서 한번 왕창 빠르게 주어진 속도만으로 지구를 뱅글뱅글 반영구적으로 돌아야 하기 때문에.. 아무리 못해도 160km 이상의 열권~외기권 영역에서 활동한다.
여기부터 2000km 정도까지는 그냥 '저궤도'라고 불린다. 고도가 낮아야 위성이 지표면을 더 자세히 관찰할 수 있겠지만, 고도가 너무 낮으면 그만치 빠르게 돌아야 할 뿐만 아니라 공기와의 마찰도 커져서 고도의 유지가 어렵다.

아폴로 우주선은 약 190km대의 일명 parking orbit에서 지구를 1시간 28분 16초 만에 한 바퀴 도는 속도로 두세 시간 남짓 있다가 3단 엔진을 켜서 달로 갔다. 그 정도로 아주 잠깐만 있다가 자리를 뜬 것이니 그런 낮은 고도만 유지해도 괜찮은 것이었다.

인공위성들 중 유일하게 '유인'인 국제 우주 정거장은 320~345km대의 고도를 유지하는 중이라고 한다. 사람이 수시로 드나들기도 해야 하니 막 한없이 높은 곳에 있지는 않다.
테이큰에서 브라이언이 200마일 고도 드립과 함께 뻥카를 쳤던 첩보 위성도 당연히 이와 비슷한 저궤도인 셈이다.
허블 우주 망원경의 공식 고도는 559km로, 지구 관측용 위성보다야 당연히 더 높다.

지구에서 서울-부산 거리가 채 되지 않는 짧은 거리를 수평이 아니라 정확하게 수직 이동만 해도 우주가 나온다는 게 흥미롭지만.. 그 거리를 수평 이동하는 것과 수직 이동하는 것은 난이도가 말 그대로 하늘과 땅 차이이다.
1500km대의 고도는 저궤도의 끝물 정도에 해당한다. 이쯤 되면 공기와의 마찰 걱정은 덜하지만, 자기장이 강한 밴 앨런 대에 속해 있어서 전자기기들이 교란 받고 제대로 동작하지 못할 수 있다.

그러다가 대략 2000km 이상부터 36000km까지는 중궤도라고 일컬어진다. 여기는 지표면을 세부적으로 관찰하고 촬영하는 것보다는, 넓은 영역으로부터 신호를 주고받는 게 더 중요한 통신 위성이 들어가는 편이다.
대표적으로 그 이름도 유명한 GPS 위성이 약 20000km대 고도에 있다. 마치 지도가 대축척(좁은 영역, 많은 디테일)과 소축척(넓은 영역, 적은 디테일) 버전이 모두 쓰이듯, 인공위성도 용도별로 궤도의 고도가 차이가 나는 셈이다.

중고도의 한계치인 대략 36000km를 정지 궤도라고 한다. 여기는 인공위성이 지구의 자전 속도와 동일한 속도로 도는 게 가능한 지점으로, 지표면에서는 계속해서 동일 지점 상공에 있는 것처럼 보이기 때문에 정지 궤도라고 불린다.
왜 저 지점이냐 하면.. GMm/r = 1/2 * mv^2 이라는 식에서 만유인력 상수 G (6.673*10^-11 …), 지구의 질량 M (5.9*10^24 kg), 적도 지점에서 지구의 자전 속도 v (초속 463m/s)를 집어넣으면 나오는 r 값이기 때문이다.

위성의 질량 m은 서로 약분되기 때문에 계산 결과에 영향을 주지 않는다. 그리고 만유인력 상수의 단위 차원은 길이^3, 질량^-1, 시간^-2. 다시 말해 속력의 제곱에다가 길이/질량을 추가로 곱한 것과 같다. 고등학교 물리를 다시 복습하게 되네..;; 까마득한 그 옛날에 생각보다 심오하고 대단한 걸 배웠었다.

정지궤도 위성의 자전 속도는 지구의 자전 속도보다야 훨씬 빠른 초속 2.6 ~ 3km대이지만, 아무래도 저궤도 위성보다는 대략 1/3에 가까운 느린 속도이다. 그리고 그 특성상 아무 지점이 아니라 적도의 상공에서만 정지해 있을 수 있는지라, 극지방에 가까운 고위도 지방에서는 정지궤도 위성의 서비스를 받기 어렵다.

이건 한없이 추락하면서 정지하는 것처럼 보이는 것이다. 정말 가만히 있기만 해도(= 지표면에서 보기에 정지가 아닌) 지구의 인력, 달의 인력, 태양의 인력 등등이 모두 평형을 이뤄서 추락하지 않을 수 있는 지점은 거기보다 훨씬 더 멀리 나가야 도달할 수 있다. 지구와 달만 생각하면 거의 9:1에 가까운 지점인데, 지구 정지 궤도는 그 반대인 1:9에 가까운 지점이다(라그랑주 점). 이건 애초에 인공위성의 능력을 벗어난 영역일 것이다.

저궤도와 중궤도를 넘어 고궤도는.. 이런 게 있다는 것 정도만 알면 될 것 같다. 그 정도로 멀고 높은 곳에서 돌고 있는 위성이 있긴 한지 모르겠다.

사용자 삽입 이미지

인공위성 중에는 타원 궤도를 도는 놈도 있다. 한 초점인 지구에 근접했을 때는 거의 중-저궤도 급이지만 다른 먼 초점으로 갔을 때는 지구에서 4만 km 가까이 떨어지기도 하니, 이건 저궤도와 고궤도의 특성을 모두 갖춰다고도 볼 수 있겠다.
요런 타원 궤도를 잘 설계하면 인공위성이 집중적으로 탐사해야 하는 지점에서는 천천히 돌다가, 별 필요가 없는 곳에서는 빨리 통과하게 할 수도 있다. 요건 소련-러시아가 연구를 많이 해서 '몰니야 궤도'라고 불린다.

달은 지구의 자연위성이며, 모행성에 비해 이례적으로 비정상적으로 큰 천체임이 주지의 사실이다. 지구로부터의 거리도 38만 km가 넘으니 고궤도의 갑이라 하겠다. 1년에 수 cm 남짓 지구로부터 점점 멀어진다는 것도 관측을 통해 알려져 있다.
하지만 위성은 일반적으로는 속도를 잃고 모행성과 가까워지는 게 자연스러운데, 관성 이상으로 자체적인 운동 에너지라도 있는지 모행성과 점점 멀어지는 건 역학적으로 어떻게 가능한 현상인지 모르겠다.

저에서 고까지 고도의 크기를 살펴봤으니 그럼 저궤도 위성 얘기를 좀 더 하고 이 주제를 맺도록 하겠다.
저궤도 위성은 지표면을 관찰하기 위한 용도가 대부분이기 때문에 가능한 한 지구의 모든 지점을 두루 다닐 수 있는 궤도가 바람직하다. 그래서 적도만 수평으로 도는 게 아니라 남북극 수직으로, 아니면 하다못해 비스듬한 궤도를 선택한다.

아폴로 같은 우주선이야 지구의 자전 원심력과 공전 속도로부터 뽕을 최대한 뽑는 게 목적이다. "내가 parking orbit에서 잠시 머무른 것은 추진력을 얻기 위함이었다"이니 닥치고 적도 수평 궤도만 잠깐 타고 말 것이다. 하지만 인공위성은 지구만 두루 살펴보는 게 목적이기 때문에 운용 방식이 살짝 달라지는 셈이다.

이런 저궤도의 바리에이션으로 '태양 동기 궤도'라는 것도 있다. 지구의 태양 공전면을 위에서 아래로(북극 쪽을) 내려다봤을 때, 인공위성의 공전 궤적이 지구-태양의 직선 경로와 늘 일직선이 되게 하는 궤도를 말한다.
계산이 까다롭겠지만 궤도를 이렇게 잘 동기화 시키면 위성이 매일 같은 지점을 지날 수 있으며, 인공위성이 태양열에 노출되는 빈도도 1년 내내 균형이 잡히기 때문에 기계의 수명 관리에 도움이 된다. 말이 나왔으니 말인데, 인간이 만든 기계들 중에 태양광 발전의 덕을 진작부터 제일 많이 보고 있는 물건이 바로 인공위성이기도 하다.

2. 우리나라의 인공위성 개발 이력

자국 인공위성이 없는 나라에서는 인공위성으로부터 얻는 정보나 서비스를 인공위성 보유국으로부터 매번 구입해서 사용할 수밖에 없다. 중계방송 같은 것뿐만 아니라 일기예보 데이터도 말이다. 물론 당장은 그렇게 구입하는 게 원천기술 개발보다 비용이 저렴하겠지만, 고급 서비스를 기반 기술 없이 무작정 다 수입에만 의존할 수는 없는 노릇이다.

우리나라는 1992년 8월에 발사된 '우리별 1호'가 일단 최초의 자국 국적 인공위성이다. 하지만 발사체는 말할 것도 없고 위성의 실질적인 설계와 제작까지 사실상 외국 업체였다(특히 위성의 제작은 영국). 우리나라는 아직 어깨 너머로 보고 기술을 배워야 하는 처지였다.
그러다가 1993년 9월의 우리별 2호가 국내에서 개발· 제작되어 인공위성계의 포니와 비슷한 물건이 되었다. 아직까지는 뭔가 통신· 방송 기능을 하는 위성이 아니라, 기술 습득 자체가 목적인 프로토타입 수준이었다.

자동차, 컴퓨터, 원자력에 이어 인공위성은 1990년대는 돼서야 국산이 나온 것이다.
우리별 브랜드는 1999년 5월에 발사된 3호를 끝으로 더 쓰이지 않게 되었다. 2003년 9월에 발사된 우리별 4호부터는 '과학기술위성'이라는 평범한 브랜드가 붙었기 때문이다.

인공위성을 맨땅에서 만들어 내기 위해서는 한동안 이윤 없이 기초 연구 투자를 많이 해야 하며, 결과물도 무슨 자동차처럼 엔드 유저가 바로 사용 가능한 형태가 아니다. 이거 연구 개발을 사기업이 몽땅 담당하는 건 곤란하니 국방 과학 연구소 같은 국책 연구소가 따로 만들어졌다. 그게 바로 '인공위성 연구 센터'이다. 요즘은 '항공 우주 연구원'(KARI 항우연)도 인공위성의 개발에 관여하긴 하지만, 발사체 로켓이랑 인공위성은 아무래도 목적과 성격이 다르니 연구소를 분리하는 게 이치에 맞겠다.

인공위성 연구 센터는 무려 카이스트 대전 캠퍼스의 내부에 있다~!
어이쿠, 대강당과 동문 사이의 길목에 자리잡고 있었구나.. 정말 까맣게 몰랐다. 사실, 난 항우연도 카이스트 북서쪽의 학부 기숙사 철조망 너머 바로 근처에 있다는 걸 모르는 채로 학창 시절을 보냈다. 항우연이 거기에 있다는 것도 나로 호 때문에 유명세를 타니까 따로 찾아봐서 알게 된 것이다.

우리별 시리즈 이후로 이 인공위성 센터에서 만든 위성은 과학기술위성 시리즈이다.
얘의 2호가 바로 우리나라 역사상 유일하게 자국 우주 센터의 나로 로켓으로 발사된 덕분에 '나로 과학위성'이라고 따로 명명되었다. 다만, 발사 실패로 멀쩡한 위성을 두 번이나 깨먹었던지라.. 같은 위성을 수차례 다시 만들어야 했다.
그 뒤 과학기술위성 3호는 2013년 11월에 발사됐으며, 현재까지도 관측용으로 운용 중이다.

우리별 말고 '아리랑' 위성 시리즈는 인공위성 센터가 아니라 항우연에서 개발한 저궤도 관측 위성이다. 1호가 1999년 12월에 발사됐다. 이 바닥도 마치 서울 메트로와 도철 같은 양대 산맥 계보가 있는 것 같다.

'무궁화' 위성 시리즈는 국산 기술 개발이 아니라, 그냥 자국 방송과 통신 서비스 목적으로 KT에서 외국 기업에 외주를 줘서 제작하고 발사한 위성이다. 궤도도 정지궤도로 훨씬 더 높다. 1995년 8월에 1호가 첫 발사됐으며, 얘가 우리나라 최초의 자국 국적 통신 위성이다.

한편, 지난 2010년 6월에는 '천리안'이라고 항우연에서 개발한 최초의 국산 정지궤도 위성이 성공적으로 발사되었다. 얘는 우리나라의 일기예보에도 쓰인다. 1호의 수명이 다하는 것에 대비하여 후속 2호도 이미 개발되었으며 발사를 앞두고 있다.

이런 식으로 우리나라의 인공위성 기술이 발전하고, 인공위성 서비스가 국산화돼 왔다.
다만, 우리나라는 인공위성에 비해 그걸 지구 궤도에 얹어 주는 발사체 기술이 취약하고 부실하다. 뭐, 발사체 기술은 핵무기를 쏘는 대륙간 탄도 미사일과 거의 똑같기 때문에..;; 국제적으로 규제를 받아서 개발을 못 한 것도 있다. 나로 호 한번 쏜 지도 벌써 5년이 넘게 훌쩍 지났구나..

이런 남한에 비해, 북괴는 뭐 국제 협약이고 뭐고 다 무시하고 한방 크게 해먹는 비대칭 무기에 목숨 걸면서 발사체에 나름 노하우를 갖춘 것 같다.
남한의 종북 빨갱이 정권에서는 기를 쓰고 정체를 은폐하면서 미상의 바르사체, 불쌍의 발사체라고 둘러 말하는데.. 뭐긴 뭐야 그냥 미사일이지..

솔직히 일본의 어느 또라이 극우가 독도는 일본땅이라고 헛소리 갈긴다고 해서 지금 멀쩡한 독도가 일본땅으로 넘어가는 것도 아니고, 만에 하나 일본이 평화헌법을 개정한다고 해서 무슨 1940년대 같은 태평양 전쟁 시즌 2를 일으키는 것은 불가능에 가까우며 그럴 필요도 없다.
일본이 저 뻘짓을 하는 것보다 바로 윗동네에서 계속해서 군사 훈련을 하고 바르사체를 쏘는 게 훨씬 더 위협인데.. 친중종북을 조장하기 위한 반일 반미 선동을 나는 도저히 그냥 봐 줄 수 없다.

아이고, 정치 얘기가 나와 버렸구나. 아무튼 이런 내력으로 인해 남한은 인공위성, 북괴는 발사체가 발달했다. 두 기술이 사이 좋게 융합이 됐으면 좋겠지만 그건 희망사항이고 현재로서는 가능하지 않다.

3. 우주 쓰레기, 우주 공간에서의 충돌 문제

나로 호의 발사 실패 사례를 통해 알 수 있듯, 로켓을 발사시켜서 인공위성을 띄우는 건 쉬운 일이 아니다.
또한, 고도가 충분히 높지 않은 인공위성은 공기와의 마찰이 누적되면서 속도를 잃기 때문에 아주 조금씩 지구로 도로 끌려와서 떨어지게 된다. 이 때문에 그런 위성들은 기계류의 수명과는 별개로 반영구적으로 운용될 수 없으며, 궤도 유지를 위한 연료가 고갈되면 그걸로 끝이다.

그런데, 궤도 수명보다 기계 기능 수명이 먼저 끝나서 지구와 교신도 안 되고 고철덩어리가 된 인공위성은.. 딱 곱게 곧장 끌어내릴 수도 없고 굉장한 골칫거리이다. 이런 것들을 일명 우주 쓰레기라고 한다.
우주 쓰레기들은 자신을 실은 채 지구에서 발사되었던 그 로켓의 운동 에너지를 저렇게 그대로 간직해 있다. 태평양 한복판에 플라스틱 쓰레기가 쌓여 가듯, 지구 저궤도에는 우주 쓰레기 조각들이 쌓여서 주변의 우주 발사체들의 안전에 큰 위협이 되고 있다.

먼저 우주가 아닌 비행기 얘기를 잠시 꺼내도록 하겠다.
지난 2001년 1월 31일에는 일본 스루가 만 상공에서 같은 일본항공 소속 여객기(907, 958편) 2대가 관제 착오로 인해 고작 10~20미터 남짓한 거리까지 근접한 채로 교차 통과한 '니어미스' 사고가 났었다.

승객을 몇백 명이나 태운 MD-10 및 보잉 747급 대형 여객기가 3만 피트가 넘는 순항 고도에서 시속 900~1000km로 공중충돌을 할 뻔한 것이다.
그렇게 됐으면 일본은 JAL123 추락 사고(1985)와 테네리페 활주로 참사(1979)를 능가하는 초대형 항공 사고 기록을 보유하게 됐을 것이고 일본항공의 파산은 수 년 이상 당겨졌을 것이다.;;

천만다행으로 그렇게 되지는 않았다. 하지만 양 여객기는 엄청난 후폭풍에 휘말려서 들썩이고 요동쳤으며, 특히 음료 서빙 중이던 907편은 회피 급기동을 하느라 기내가 뒤엎어지고 완전히 난장판이 돼서 100여 명에 달하는 부상자가 발생하고 회항하게 됐다. 거의 자유 낙하에 가까운 급강하라도 했는지, 서빙 카트가 붕 떠서 여객기의 위로 천장을 뚫고 내팽개쳐졌을 정도였다.
이건 준사고가 아닌 사고로 기록됐다. 정신없는 격무에 시달리다가 관제를 잘못한 관제사는 유죄 판결을 받고 해고됐다.

그런데 이와 비슷한 해프닝 내지 사고가 인공위성끼리도 있었다.
지난 2008년 9월 25일에는 한국에서 2003년에 발사했던 과학기술위성 1호(구 명칭 우리별 4호)가 거의 650km 상공에서 미국의 모 군사위성과 431m 거리를 두고 간신히 비껴간 적이 있었다. 뭐 10m보다는 넉넉한 거리이고 인공위성이 여객기보다는 훨씬 작고 가볍겠지만.. 문제는 속도다.

순항 중인 아음속 여객기가 초속 300m 정도라면 쟤는 초속 7~8km... 수십 배의 차이가 나며 쨉이 안 된다. 초속 7~8km짜리한테 430m 거리는.. 정말 옷깃이 닿은 거나 마찬가지인 초근접인데 다행히 이때는 충돌 사고까지는 안 났다고 한다. 공기가 없다시피하니 후폭풍도 없었을 테고..

하지만 2009년 2월 10일에는 실제로 외국 국적의 인공위성끼리 충돌한 사고도 있었다(미국 이리듐 통신위성 vs 러시아 퇴물 인공위성). 산산조각난 두 인공위성의 파편이 널부러지면서 우주 쓰레기의 양은 더욱 늘어나고 무질서도가 올라가게 되었다..;;

물론 지구 위의 하늘은 매우 광활하고 넓으며, 저런 극단적인 일이 자주 발생하는 건 아니지만.. 가능성이 확실한 0은 아니라는 것이다. 더구나 인공위성 하나 띄우기 위해 돈이 한두 푼 드는 것도 아닌데, 비행기의 조류 충돌도 아니고 우주 쓰레기 충돌 때문에 애써 만든 인공위성이 박살이 난다면.. 이는 매우 비극적인 일이 될 것이다. 하지만 이에 대한 뾰족한 해결책은 비용 문제 때문에 딱히 없는 걸로 난 알고 있다.

이런 비행체에 비해 고속철은 최고 초속이 겨우 8~90m가량인데.. 상하행 열차가 서로 후폭풍 없이 안전하게 교행하기 위해서 양 선로의 간격을 얼마로 두는지, 그 공기역학적 근거가 무엇인지도 문득 궁금해진다.

Posted by 사무엘

2020/03/24 08:35 2020/03/24 08:35
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1732

고전 찬양 "그 이름"

본인은 교회에서 올해의 첫 청년부 특송으로 송 명희 작사, 최 덕신 작곡 <그 이름>을 골라서 친구들을 지휘하고 다같이 불렀다. 특별히 다 외워서 악보 없이 몽땅 암송으로 말이다.

세대 차이 때문인지 어린 90년대생 친구들 중엔 이 곡을 모르는 사람이 의외로 많았다. 나는 거의 20년 전 고등학교 시절부터 알았는데.. =_= 암송의 취지는 그럭저럭 쉽고 인지도 높은 클래식한(?) 곡을 좀 더 가사 음미 위주로 불러 보자는 것이다. 허나, 곡 자체가 생소하다니..;; 화음은 테너 하나만 넣는 걸로 그쳤다.

작사자인 송 명희 시인은 뇌성마비 장애인이다. 그래서 무슨 스티븐 호킹처럼 고개가 삐딱하고 인상이 일그러진 채 휠체어 탄 모습이 대외적으로 알려져 있다. 호킹은 뇌성마비가 아니라 루게릭 병을 앓은 거라고 하지만...

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

(골수 무신론 과학자와 골수 기독교 시인의 외형상의 유사점을 찾는다는 게 좀 어색하긴 하다;;)

이런 분이 "그 이름"뿐만 아니라 "나, 가진 재물 없으나, 나, 남에게 있는 건강 있지 않으나, 나, 남이 없는 것 있으니 ..." 같은 시도 썼다는 것을 생각해 보자.
사실, 성경적으로는 "나도 남이 갖지 못한 것을 가졌기 때문에 하나님은 공평하다"(상대)보다는.. 그걸 넘어 하나님은 "영원하지 않은 것, 꼭 공평해야 할 필요가 없는 것은 마음대로 놔두고, 정말 공평해야 하는 것은 누구에게나 철저하게 공평하게 주셨다"(절대)라는 게 더 정확한 진술이 아닐까 한다. 인간이 구원받는 방법 같은 것 말이다.

내가 옛날에 글을 읽은 기억이 정확하다면, 송 명희는 1980년대 초에 라디오로 기독교 방송을 듣다가 누군가가 자기의 시에다가 무단으로(?) 곡을 붙여 노래를 만들었다는 것을 알게 되었다. (1962년생이니 이미 청소년~20대 초반 나이로 시집까지 출간했던 듯)
그리고 이를 계기로 저분은 작곡가 최 덕신과 연락이 닿았다. 그때 최초로 곡이 붙은 시는 "너의 쓴 잔을 내가 마시었고..."였다. 송 명희는 자기가 썼던 다른 시들도 몽땅 최 덕신에게 넘겨주고, 곡을 붙이는 것을 허락했다고 한다.

그래서 '주찬양 선교단'이라는 그룹 명목으로 1986년 봄에 "그 이름"이라는 앨범이 발표됐다. 타이틀곡인 "그 이름"뿐만 아니라 "나", "우리의 어두운 눈이 그를", "너의 쓴 잔을" 같은 곡도 소개됐다. 참신한 곡으로 가득했던 이 음반은 국내 기독교계에 큰 반향을 일으키면서 30만 장이 넘게 팔렸다고 한다.

타이틀곡인 "그 이름"은 음반으로 듣기로는 6/8이나 12/8박자 같지만, 악보에 따라서는 셋잇단음표가 가득한 4/4박자로 기재된 곳도 있다.
멜로디에서 특이점을 하나 따지자면, 얘는 불협화음으로 시작한다. 맨 처음 시작 부분의 선율이 I 으뜸화음과 어울리지 않는 매우 드문 곡 중 하나이다.

기독교 음악에 대해서 외형적으로 굉장히 보수적으로 생각하는 분 중에 이걸 문제삼는 분도 있으나.. 본인은 그 정도까지 음악 형식 나치 성향은 아니다. 뭐 그렇다고 해서 본인도 Looking for you 같은 곡이 멜로디나 악기 구성이 교회 예배 찬송용으로 적합하다고 생각하지는 않는다. >_<

다음으로 가사를 살펴보면.. "그 이름"은 성경의 많고 많은 구절들 중에 시 118:22-23 "건축자들이 버린 돌이 모퉁이의 머릿돌이 되었나니.."에서 모티브를 딴 매우 드문 찬송시이다.
성경에는 "만일 이 사람들이 잠잠하면 돌들이 즉시 소리를 지르리라" (눅 19:40), "지혜롭고 분별 있는 자들에게는 숨기시고 아기들에게는 드러내심" (마 11:25) 같은 식으로.. 하나님 스타일의 역설을 언급하는 곳이 있는데, 저 모퉁이의 머릿돌도 마찬가지이다.

성경에는 저 구절이 마 21:42, 막 12:10, 눅 20:17, 행 4:11, 벧전 2:7 이렇게 다섯 번이나 반복해서 인용돼 있다. 그 모퉁이의 머릿돌이 바로 예수님이라고 말이다.
이는 "내가 네 원수들을 네 발받침으로 삼을 때까지 너는 내 오른편에 앉아 있으라"(시 110:1)와 거의 같은 패턴 겸 동일한 인용 횟수이다. (마 22:44, 막 12:36, 눅 20:43, 행 2:35, 히 1:13)

인간이 구원받기 위해서 what you do가 아닌 what you are.. 즉 be 동사가 중요하듯이, 예수님 역시 인간에게는 다른 잡다한 학문 지식 정보를 따지지 않고 "그러면 너희는 나를 누구라고, 무엇이라고 생각하느냐?"를 물으신다. But whom say ye that I am? (마 16:15)
그래서 성경에서는 예수님의 출신· 정체와 관련된 예언을 저리도 중요시하고 신약 성경에서 거듭 인용했던 것이다. 그리고 저런 심오한 구절을 근거로 만들어진 "그 이름"이라는 찬양에 본인 역시 더 애착을 느낀다.

본인은 특송의 끝부분에 후주와 함께 골 4:3 낭독을 집어넣었다. "하나님께서 우리에게 말문을 열어 주사 그리스도의 신비를 말하게 하실 것을 기도하고 구하라." (일부 표현 수정)
이 구절은 "그 이름"의 가사를 교리 관점에서 다음과 같이 매우 훌륭하게 보완해 주기 때문이다.

  1. 성경적으로 더 정확한 용어는 비밀이라기보다는 신비(mystery)이다. 아 물론 개인의 관점에서는 마음 속의 비밀이라고 볼 수도 있다. 가사가 잘못됐다는 얘기는 아니다.
  2. 가사는 "가슴이 너무 벅차서 차마 말할 수 없네"라는 매우 서정적인 분위기이지만.. 우리가 궁극적으로는 예수님에 대해서 주변에 말을 "해야 한다." 이때 door of utterance라는 표현이 들어있는 저 구절로 권면하는 것이 적절하다.

지금까지 "그 이름" 가사에다가 골 4:3을 같이 연계한 특송 동영상이나 자료는 거의 없었지 싶다.
찬양 인도자는 자기가 고르는 곡의 가사에 대해서 이런 식으로 성경 고증을 체크하고 성경과 찬송가를 모두 심도 있게 연구해야 할 것이다.

Posted by 사무엘

2020/03/22 08:35 2020/03/22 08:35
, , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1731

우주를 여행하는 원리

1. 달

우주 발사체를 달에다가 보내는 원리는 개념적으로 이해하기 어렵지 않다. 큰 로켓을 쏴서 발사체를 일단 지구를 도는 상태로 만든 뒤, 살짝 더 가속해서 그 궤도를 원이 아니라 달 근처까지 가는 길쭉한 타원으로 만든다. 그러면 발사체는 달에 근접했을 때 달을 도는 궤도로 끌려가게 된다.

사용자 삽입 이미지

이 경로는 고안자의 이름을 따서 ‘Hohmann transfer orbit (호만 전이 궤도)’이라고 부른다.
그런데 거기까지만 하면 걔는 달을 한 바퀴 뱅 돌면서 8자 궤도만 그렸다가 다시 지구로 돌아와 버린다. 그렇기 때문에 달 근처에서는 또 연료를 분사하여 속도를 줄여서 달의 인력에 끌려가게 해야 한다.

일례로 아폴로 13호 우주선도 아직 달 착륙선을 내리지 않았고 아무 감속을 하지 않은 상태에서 사고가 났으니, 가만히 있기만 하면 지구로 자동 귀환 자체는 가능했다.
단지 그렇게 자연스러운 유턴이 금방 이뤄지는 일이 아니고, 2명분의 보급밖에 없는 달 착륙선 안에서 승무원 3명이 대피한 채로 며칠 동안 무사히 버틸 수 있겠는지가 최대의 문제였던 것이다.

새턴 V 로켓과 그 안의 아폴로 우주선이 발사될 때와 귀환할 때의 크기 차이를 생각해 보면, 지구에서 우주로 나가는 게 우주에서 달로 가는 것보다 더 어렵고 힘들다는 것을 쉽게 유추할 수 있다. 그래도 이게 인간이 지금까지 생각해 낸 가장 ‘경제적인’ 우주 여행 방법이다.

2. 화성

그럼 달보다 더 먼 행성으로 가는 원리는 어떻게 될까?
가령, 달 다음으로 주로 거론되는 곳이 화성인데, 별 차이 없다. 역시 두 행성 사이의 호만 전이 궤도를 이용한다. 지구의 자전 속도와(적도..) 공전 속도를 최대한 얻어서 우주로 날아간 뒤, 지구의 인력을 탈출할 만치만 가속했다가 화성의 공전 속도에 맞추기 위한 최소한의 감속만 한다.

사용자 삽입 이미지

우주 발사체가 이렇게 최적의 기동을 할 수 있게 지구와 화성이 배치되는 때는 대략 780일(2년 2개월)마다 한 번 주기로 찾아온다고 한다.
물론 이때는 달에만 갈 때보다 더 많은 에너지를 분사해서 더 빡세게 가속을 해야 할 것이다. 3~4일이면 가는 달이랑, 최단 거리를 잡아도 7~8개월은 걸리는 화성이 스케일이 같지 않으니 말이다. 구체적으로 필요한 엔진 크기와 연료량은 천체물리학자와 로켓 공학자들이 머리 싸매서 치밀하게 계산해 놓는다.

뭐, 그렇다고 화성 정도를 가기 위해서 로켓 크기가 터무니없이 비현실적으로 커져야 하는 건 아니다. 이동하는 건 다 관성으로 하는 것이니, 거리나 기간보다는 도달해야 하는 속도가 아무래도 화성이 더 높다는 점이 중요하다.

새턴 V 로켓만 해도 달을 넘어 화성까지 염두에 두고 굉장히 크게 만들어지기도 했었다. 지구 저궤도까지 payload 130톤, 달까지 약 43톤, 그 뒤 금성이나 화성까지 32톤이니.. 그리 나쁘지 않은 성능이다.
뭐, 이렇게 경로를 짜고 동선을 정했다 하더라도 화성으로 실제로 가는 건 말처럼 쉬운 일이 아니었기 때문에 미국과 소련 모두 중간에 통신이 두절되어 실패한 미션이 여럿 있었다. 특히 소련은 징크스 급으로 몽땅 실패해 버렸기 때문에 그 뒤로 금성이라는 내행성 담당으로 전업(?)하고, 미국이 화성 담당처럼 역할이 나뉘었다.

말이 나왔으니 말인데, 옛날 Doom 게임의 스토리에서 내가 지금까지도 굉장히 의아하게 생각하는 점은.. 화성으로도 모자라서 왜 하필 "그 작은 포보스와 데이모스라는 화성의 위성에 군사 기지가 있다는 설정을 넣었을까?"이다. 거기는 반지름이 겨우 10km대에 불과하고 동그랗게 형체도 제대로 갖추지 못한 그냥 돌덩어리인데..??

거기 표면은 그냥 무중력 상태나 마찬가지이며 탈출 속도도 엄청나게 낮다. 야구공 하나만 힘껏 던져도 우주로 날아가 버리고 다시 떨어지지 못할 텐데.. 이런 장소에서 Doom 게임 같은 거대한 던전을 만드는 것도 당연히 절대 불가능하다.
그 시절에 존 카맥 아재가 게임에서 스토리는 별로 중요한 요소가 아니라고 딱 잘라 말하긴 했지만.. 저 정도면 너무 노골적이고 성의 없는(?) 고증 무시인 것 같다..;;

3. 더 먼 외행성

그런데 이런 식으로 연료 소모를 최소화하고 나머지는 몽땅 타 행성의 중력과 관성만 이용해서 움직인다 하더라도 화성을 넘어 더 먼 행성으로 가는 것엔 한계가 있었다.
우주 속도(혹은 탈출 속도)에는 지구의 중력을 벗어나기 위해 필요한 속도만 있는 게 아니다. 태양계에서 중력의 끝판왕은 당연히 태양이며, 이는 우주 발사체도 예외가 아니다.

지구의 지표면에서 하늘로 공을 던지면 공이 얼마 못 가 땅으로 떨어지듯, 태양으로부터 멀어지라고 외행성을 향해 한번 가속을 한 것이 영원히 지속되지는 못한다. 우주 공간이니 마찰이나 공기 저항 따위는 없지만, 중력의 끝판왕 태양이 뒤에 버티고 있기 때문이다. 발사체의 속도는 아주 서서히 감소하며, 결국은 태양으로 끌려오게 된다.

지표면에서 지구를 벗어나기 위해 필요한 탈출 속도는 11.2km/s이지만 태양까지 벗어나기 위해 얻어야 하는 탈출 속도는 42.1km/s나 된다.
이런 식으로 계산을 해 보니, 현재 인간의 현실적인 로켓 기술력으로(엔진 출력, 연료 탑재량) 호만 전이 궤도 방식으로만 발사체를 쏘면.. 정말 끽해야 목성 정도까지밖에 못 간다는 결론이 도출되었다. 태양계는 우리가 책에서 보는 것보다 훨씬 더, 상상하기 어려울 정도로 광대 광활 방대 공허한 공간이다.

저 탈출 속도라는 건 공을 던지거나 대포를 쏠 때처럼 추가적인 동력 공급이 없이 원큐로만 속도를 낼 때 그 정도가 돼야 탈출 가능하다는 뜻이다. 저건 당연히 현실에서 낼 수 없는 속도이기 때문에 현실에서는 저것보다 훨씬 느린 대신에 지속적인 동력 공급이 되는 로켓을 쏘는 것이다.
그리고 그렇게 느린 로켓도 발사 직후에는 가속도가 거의 4G에 달해서 전투기 조종사 급의 훈련을 받지 않은 일반인은 견디기 어렵다. 그리고 발사된 우주선은 일단 지구를 벗어나는 것에 진을 대부분 빼 버린 뒤이기 때문에 또 큰 힘을 쓸 여력이 그리 남아 있지 않게 된다.. ㅡ,.ㅡ;;

물론 목성은 자체적인 중력이 지구보다도 훨씬 더 크고 태양으로부터도 충분히 멀기 때문에, 자기 표면에서 자기 자신에 대한 탈출 속도가 태양에 대한 탈출 속도보다 더 크게 된다. (전자 59.6km/s, 후자 18.5km/h) 스포츠에다 비유하자면 마치 자국 국가대표로 뽑히는 게 올림픽에서 메달을 따는 것보다 더 어려운 일처럼 되는 셈이다.

아무튼, 이 와중에 우주선이 태양으로부터 더 멀어지는 속력을 얻기 위해서 과학자들이 선택한 방법은 바로 ‘스윙바이’이다. 공전하는 주변 행성을 적절한 각도로 스침으로써 확 꺾여 지나가는 것..

사용자 삽입 이미지

파이어니어, 보이저, 뉴 호라이즌스처럼 태양계 밖으로 나간 외행성 탐사선들은 다 화성과 목성을 맴돌면서 목성으로부터 힘을 받아서 초속 15~20km대의 속도를 얻었다.

세상에 공짜는 없으며 운동량은 언제나 등가 교환된다. 얘들은 개념적으로 이미 태양을 공전하고 있는 타 행성으로부터 운동 에너지를 얻은 셈이며, 이런 스윙바위를 상대해 준 행성은 우주선이 에너지를 얻은 만큼 운동 에너지를 잃고 공전 속도가 ‘감소’한다.
하지만 우주선이랑 그 행성은 무게 차이가 뭐.. 10 다음에 0이 수십 개 붙을 정도로 차이가 나니 행성의 상태 변화는 관측조차 가능하지 않을 것이다.

지구 같은 경우 자전을 함으로써 물질을 순환시키고 자기장도 생성해서 살아 있는 행성 상태가 유지되고 있는데, 자전에 이어 행성의 공전도 이렇게 우주선의 가속에 활용되고 있다는 게 매우 흥미롭다. 돛단배가 돛을 잘 달면 느리게나마 바람을 거슬러 항해도 할 수는 있다고 하는데.. 스윙바이도 뭐 그런 얘기 같다. 보이저 호들은 행성들의 공전면과 무관한 그 아래나 위로도 잘만 방향 전환을 했으니..

4. 내행성 (특히 수성)

스윙바이의 진짜 묘미는.. 태양으로부터 멀어지는 외행성에 갈 때 가속용으로만 쓰이는 게 아니라는 것에 있다. 반대로 지구보다 태양에 더 가까이 갈 때도 쓰인다.

사용자 삽입 이미지

뭐, 금성이야 지구와 가깝고 중력이나 공전 속도도 별 차이가 없기 때문에 가는 것(궤도 진입) 자체는 크게 어렵지 않다. 서로 가까워지는 타이밍에 맞춰서 호만 전이 궤도대로 가감속만 해 주면 된다. 단지 착륙의 경우, 내부 표면 환경이 완전히 헬이니 거기서 버티는 게 어려울 뿐이다.

하지만 수성은 탐사선을 보내는 것이 다른 모든 행성들보다 압도적으로 어렵고 난감한 행성이다. 그 이유를 이론과 감으로 완전히 이해하고 있어야 훌륭한 천체물리학 전공자라고 일컬을 수 있을 것이다.;; (본인은 그렇지 않음)
얘는 태양과 가장 가깝다는 특성상, 평균 공전 속도가 다른 모든 행성들보다 압도적으로 더 빠르다. (수성 47.8km/s, 지구 29.7km/s)

이런 수성에 지구의 공전 속도를 유지하면서 날아간 우주 발사체가 수성을 향해 접근하면 계속해서 속도가 붙어서 거의 61km/s에 이른다고 한다. 까놓고 말해 태양을 향해 추락하는 거나 마찬가지인데, 거기에다 수성의 중력으로 인한 가속까지 추가되기 때문이다.

그런데 수성은 매우 작고 가벼워서 탈출 속도도 낮은 행성이다. 태양을 바로 옆에 두고서 우주선이 딱 이런 작고 빠르기까지 한 행성의 궤도에 진입해서 위성 노릇을 하는 것은 매우 어렵고 부자연스러운 일이다. 조금이라도 수틀리면 우주선은 수성을 이탈해서 태양을 도는 궤도로 끌려가 버리기 때문이다.

이런 일을 막으려면 수단과 방법을 가리지 말고 지금까지 얻었던 속도를 팍팍 줄여야만 하는데.. 정말 엄청난 양의 감속을 해야 하는 관계로 로켓 엔진만으로 감당하는 것은 도저히 무리이다. 초속으로만 따지니 감이 잘 안 잡힐 텐데, 초속 1km는 시속 3600km이다..;;; 아무리 공기 저항이 없는 공간이라 해도 절대 만만찮은 운동량이다.

그래서 수성으로 가는 우주선들은 지구, 금성, 그리고 심지어 수성 그 자체도 근접 비행하면서 스윙바이를 통해 속도를 줄이고 또 줄였다. 한 번이 아니라 여러 번 했다. 이는 마치 급경사를 곧장 오를 수 없어서 빗면, 똬리굴 등으로 우회하는 것과 비슷한 원리 같다.
이 때문에 수성 탐사선은 지구에서 발사된 후 수성 궤도에 진입하는 데 거의 7~8년씩이나 걸리곤 했다. 시간이 오래 걸리지만 이 방법 말고는 선택의 여지가 없기 때문이다.

외행성은 태양으로부터 끊임없이 멀어지기 위해서, 내행성(수성)은 태양과 가까이 있으면서 태양에 끌려가지 않기 위해서.. 다들 주변 행성의 공전력을 끌어들이는 것을 알 수 있다.

다만, 태양에 끌려갔다고 해서 우주선이 그대로 태양 표면의 플라즈마 불바다로 풍덩~ 직선 최단 거리 자유 낙하하는 건 아니다. 걔네들은 지구의 공전으로부터 이미 받아 있는 속도도 호락호락한 편이 아니다. 그렇기 때문에, 그런 물체들은 어지간해서는 태양과 가까워지면서 각속도가 붙어서 태양을 뱅글뱅글 도는 형태로 귀착된다.

내 경험상 천체의 운동이나 우주 비행 궤적은 여러 모로 직관적인 직선 최단 거리라는 게 별로 통용되지 않는 분야이더라. 직교좌표가 아닌 극좌표를 생각해야 할지도?? 그렇다고 여객기 항로처럼 무슨 구면기하학이 적용되는 영역도 아닌데.. 다만, 이 바닥은 지구 대기권의 항공역학과 달리 마찰이나 공기의 저항 따위를 고려할 필요가 없는 건 일면 장점이다. =_=;;

Posted by 사무엘

2020/03/19 08:35 2020/03/19 08:35
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1730

비행기의 종류

하늘을 날아다니는 유인 비행기는 운영 주체와 비행 목적· 방식에 따라 크게 다음과 같은 네 그룹으로 나뉘는 것 같다.

1. 민항기(여객기+화물기)

항공사에 소속되어 정해진 스케줄대로 승객을 태우고 날아가는 바로 그 물건이다. 비행기들 중 덩치가 가장 크고 일반인들 눈에도 제일 많이 띄니 존재감이 가장 크다. 자동차로 치면 고속버스(여객)나 대형 트럭(화물)에 대응하겠다. 자가용· 사업용을 넘어 가장 어려운 운송용 조종 면허까지 딴 파일럿만이 이 비행기를 조종할 수 있다.

사고가 한번 나면 전세계의 주목을 한몸에 받게 되는 비행기도 바로 여객기이다. (특히 국제선) 일례로 1997년 8월 6일 같은 날에 괌에서 대한 항공 801편 추락 사고와, 여주에서 KF-16 전투기 추락 사고가 났었다. 하지만 후자는 전자에게 완전히 묻히는 바람에 거의 알려지지 않았다.

2. 군용기

민간 여객기와는 운용 방식이 사뭇 다르다. 그나마 수송기는 단순 민항기와 비슷한 구석이 있지만, 날개가 위쪽에 달렸고 날개 아래에 프로펠러가 있다거나, 선박처럼 뒷문을 개방해서 진출입 램프로도 쓰는 식으로 구조가 차이가 있기도 하다.

전투기는 그 덩치에 겨우 2명밖에 못 타지만 자동차로 치면 탱크의 무장에다 스포츠카의 성능을 갖췄다! 비행기들 중에 속도가 제일 빠르고 제일 과격한 급기동을 할 수 있다. 다만, 훈련을 빌미로 너무 위험한 기동을 하다가 종종 고장· 추락 사고가 난다.

3. 헬리콥터

정· 재계 높으신 분들의 자가용, 또는 병원· 소방서· 방송국· 산림청 등의 기관에서 특수한 용도로 많이 사용한다. 민· 군· 관에서 모두 골고루 비슷한 유형의 수요가 있기 때문에 회전익기에다가만 따로 고유한 그룹을 부여하는 게 타당해 보인다. 다만, 얘는 긴급한 인명 구조용으로 쓰이는 대신, 평시 여객용으로는 잘 쓰이지 않는다.

육상 교통수단으로 치면 오토바이와 비슷해 보인다. 공중 정지와 수직 이착륙처럼 고정익기로 할 수 없는 기동을 할 수 있지만, 덩치가 매우 작고 항속거리가 짧으며 자세가 더욱 불안한 것도 오토바이를 닮아 있다.
 
4. 나머지 자가용· 개인 사업용이나 교육 실습용 소형 비행기

이런 마이너한 수요를 위해 공항 중에는 일반항공용 FBO(운항 지원 사업자)를 갖춘 곳이 있다. 더 이상의 자세한 설명은 생략한다.
요즘 생산되는 경비행기는 전투기의 사출 좌석 같은 건 아니어도 비상 낙하산이 있다. 탑승 인원이 워낙 적고 기체가 작고 가볍기도 하니 그런 것까지 챙길 수 있구나 싶다.

지금까지 얘기한 것을 표로 정리하면 다음과 같다.

구분 민항기 군용기 헬리콥터 경비행기
취급 장소 일반 공항 공군 기지 헬리포트/패드 비행장/이착륙장
식별번호 7/8xxx (제트기) ?? 6/9xxx 1/2/5xxx (피스톤/프롭)
자동차 대응 고속버스, 트럭 탱크, 장갑차, 경찰차, 지프 오토바이 승용차

2와 3이야 워낙 독특한 분야이니까 그렇다 치지만, 1과 4는 더 분명한 구분이 필요해 보인다.
단적으로 말해, 프로펠러 경비행기라도 비행기 조종만 하는 것하고, 아예 여객기 조종사가 되는 건 격이 완전히 다르다. 자동차만 해도 그냥 승용차 모는 것하고 아예 고속버스 기사가 되는 건 격이 완전히 다르니 말이다. 항공 쪽 진로를 생각하는 사람이라면 더욱 잘 생각해 봐야 할 것이다.

Posted by 사무엘

2020/03/17 08:36 2020/03/17 08:36
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1729

Windows API에는 현재 실행 중인 프로세스 및 스레드의 정체를 알려 주는 GetCurrent[Process/Thread]{Id}라는 함수쌍이 있다. Current 다음에 Process가 오느냐 Thread가 오느냐, 그리고 그 뒤에 Id가 붙느냐 안 붙느냐에 따라 2*2 총 4가지 조합이 존재한다.

뒤에 Id가 붙은 함수는 시스템에서 실행 중인 모든 프로세스 및 스레드를 유일하게 식별하는 32비트 정수형(DWORD) 번호를 되돌린다. 그리고 그게 없으면 이들 함수는 HANDLE이라는.. 성격이 좀 다른 번호를 되돌린다. 명목상 포인터 크기와 동일하지만, 64비트에서도 얘 역시 여전히 사실상 32비트 크기만치만 활용된다.

HANDLE로는 ID처럼 프로세스나 스레드를 유일하게 식별할 수 없는 걸까? HANDLE과 ID의 차이는 무엇이며, 둘의 구분은 왜 존재하는 걸까?

답을 얘기하자면 HANDLE은 ID 이상으로 더 무겁고 복잡하며 상태 의존적인 별개의 존재이다.
HANDLE은 일단 커널 오브젝트이다. 값을 얻기 위해 뭔가 운영체제로부터 자원을 할당받고 나중에 반납을 해야 한다. 사용한 뒤에는 마치 열었던 파일을 닫듯이 CloseHandle을 호출해서 닫아 줘야 한다. 단순 ID에는 이런 과정이 필요하지 않다.

그리고 이 HANDLE은 뮤텍스나 이벤트 같은 동기화 오브젝트 중의 하나이다. WaitForSingleObject 함수에다 넘겨서 이 프로세스나 스레드의 실행이 끝날 때까지 기다리는 용도로 사용할 수 있다.
심지어 HANDLE이 가리키는 그 프로세스나 스레드가 실행이 종료됐더라도 그 핸들 자체는 정식으로 닫아 주기 전까지는 여전히 살아 있다.

또한, 값이 다른 여러 HANDLE이 동일한 프로세스나 스레드를 참조할 수 있으며, 동일한 그런 개체에 대해서도 한번 닫았다가 핸들을 다시 얻은 리턴값은 달라질 수 있다. 마치 메모리 할당 함수의 실행 결과처럼 말이다. 그러므로 프로세스나 스레드 실체만을 유일하게 식별하려면 ID를 살펴보는 게 정답이다.

끝으로 결정적으로... GetCurrent**** 함수는 핸들이긴 하지만 좀 특이한 값을 되돌린다. 바로.. 그 함수를 호출하는 프로세스 및 스레드 자기 자신을 의미하는 고정된 상수만을 되돌리기 때문이다. IP 주소로 치면 localhost처럼 말이다. 이 상수 핸들은 CloseHandle을 하지 않아도 된다.

자기 자신 프로세스를 의미하는 상수는 -1 (0xFFFFFFFF)이고, 자기 자신 스레드를 의미하는 상수는 -2 (0xFFFFFFFE)이다.
이 정도면 #define HANDLE_CURRENT_PROCESS 이런 식으로 함수 대신 그냥 매크로 상수로 박아 넣어도 되고.. 프로세스 핸들과 스레드 핸들이 서로 섞여 쓰일 일도 없으니 -1과 -2로 구분조차 하지 않아도 된다. 하지만 Windows API가 처음 만들어질 때 그렇게 되지는 않았다.

비록 저 함수가 고정된 상수만 되돌린다는 것이 공공연한 비밀에 20년이 넘는 관행이 돼 버리긴 했지만, 미래에 이 함수의 리턴값이 바뀔 수도 있으니 꼬박꼬박 함수를 호출해서 핸들값을 사용해 달라는 것이 마소의 방침이다.
Windows NT가 개발된 지 30년이 돼 가는 지금 시점에서 이들 함수의 리턴값이 달라질 가능성은 사실상 0으로 수렴했지만.. 그래도 세상일은 알 수 없으니 말이다.

자기 자신 말고 타 프로세스의 유효 핸들은 아무래도 기존 프로세스 ID로부터 얻는 게 제일 직관적이다. 프로세스 ID는 프로세스 전체를 조회하는 EnumProcesses로부터 얻을 수도 있고 윈도우 핸들로부터 GetWindowThreadProcessId를 호출해서 얻을 수도 있다. 당연히 그 윈도우를 생성한 주체를 얻는다.

그렇게 해서 얻은 프로세스 ID에 대해서 OpenProcess를 호출하면 프로세스 핸들을 얻을 수 있다. 그럼 이 핸들에 대해서는 프로세스를 강제 종료하는 Terminate**** 함수, 아까처럼 실행이 끝날 때까지 기다리는 WaitFor**** 함수, 얘가 64비트인지 여부를 얻는 IsWow64Process, 실행 파일 이름을 얻는 GetModuleFileNameEx 등.. 할 수 있는 일이 몇 가지 있다.

CreateProcess 함수는 새로운 프로그램을 실행하면서 PROCESS_INFORMATION 구조체에다가 새 프로세스의 핸들과 ID, 그리고 primary 스레드의 핸들과 ID 이렇게 네 정보를 모두 쿨하게 되돌려 준다. 그러니 좋긴 하지만.. 이것들을 사용하지 않는다면 즉시 CloseHandle도 잊지 말고 해 줘야 resource leak를 방지할 수 있다.

스레드에 대해서도 프로세스와 비슷하게 스레드 ID로부터 유효 핸들을 얻는 OpenThread라는 함수가 있다. 하지만 저 함수는 OpenProcess와 달리, 본인이 지난 수십 년의 프로그래밍 커리어 전체를 통틀어 한 번도 사용한 적이 없었다.

일단, 내 코드가 생성한 스레드라면 그냥 CreateThread의 리턴값을 받아 두면 되니, 별도의 방법으로 스레드 핸들을 얻을 필요가 없기 때문이다. 저렇게 스레드 핸들을 얻는 건 무슨 시스템 유틸리티를 만들고 있어서 내가 생성하지 않은 듣보잡 프로세스 내지, 내 프로세스 안에서도 타인의 듣보잡 스레드를 건드려야 할 때나 필요하다. 그리고 그런 일은 일반적으로는 잘 없다.

그리고 스레드 핸들은 그냥 끝날 때까지 대기할 때(WaitFor***), 아니면 우선순위를 조절할 때(SetThreadPriority) 정도..?? 프로세스 핸들만치 무슨 정보를 얻고 쓸 일이 별로 없기도 하다. 그러니 자기 자신을 가리키는 가짜 핸들을 얻는 GetCurrentThread도 쓸 일이 거의 없다. 강제 종료 역시 TerminateThread는 TerminateProcess보다 훨씬 더 위험하며 훨씬 더 비추되는 짓이고 말이다.

프로세스나 스레드의 실행이 종료되는 것하고 해당 프/스를 가리키던 핸들이 완전히 해제되는 것은 완전히 별개의 일이다. 심지어 Terminate*를 호출해서 강제로 실행을 중단시켰더라도 거기에다 넘겨줬던 핸들은 CloseHandle을 따로 해 줘야 한다.

AttachThreadInput이라든가 SetWindowsHookEx 같은 UI 함수에서 스레드를 지정할 때는 그냥 간편하게 ID를 지정하는 것만으로 충분하다. 굳이 핸들값을 주지 않아도 된다.
이런 여러 이유들로 인해 스레드 핸들은 프로세스 핸들보다 쓰이는 빈도가 낮다.

이상이다.
이런 것들은 Windows 프로그래밍에서 완전 기초 내용이다. 하지만 기본기 복습 차원에서 프로세스와 스레드, 그리고 핸들과 ID의 관계를 이렇게 한번 정리해 놓고 싶다는 생각이 코딩 중에 문득 들었다.

Posted by 사무엘

2020/03/15 08:34 2020/03/15 08:34
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1728

1. software is licensed, not sold

자동차의 소유 내지 운전 면허하고, 소프트웨어의 사용권은 공통점과 차이점을 비교해서 같이 생각해 볼 만한 사항인 것 같다. 자동차는 도난 방지 기능이 있고, 소프트웨어는 불법 복제 방지 기능이 있기 때문이다.

전자의 경우 옛날에는 전통적으로 물리적인 열쇠에만 의존하다 보니 보안이 상대적으로 취약했다. 수천 대 중 한 대꼴로 자물쇠 패턴이 일치하는 차량이 존재하기 때문에 그런 차는 내 키로 문을 열 수 있었다. 컴퓨터로 치면 마치 hash의 충돌과 비슷한 상황이라 하겠다.
그리고 영화 테이큰에서도 보듯이 열쇠 구멍을 적당히 쑤셔서 문을 따고, 비정상적인 방법으로 스타터 모터에 전기 자극을 줘서 시동을 걸 수도 있었다.

이런 상황을 막기 위해 과거에는 3rd-party 업체에서 개발한 싸제 도난 방지 시스템이 많이 쓰였다. 지정된 인증을 통과하지 않으면 물리적인 열쇠만으로 문을 따거나 시동을 걸 수 없으며, 오히려 경보음이 울리게 하는 것 말이다. 지금이야 이 정도 도난 방지 기능이 들어간 스마트키는 옵션이 아니라 자동차 제조사에서 기본으로 제공해 주는 영역이 됐다.

그럼 소프트웨어는 어떨까?
과거에는 좀 묵직하고 규모가 있는 제품은 병렬 포트에 락을 꽂는 것(..!)부터 시작해 하드웨어· 소프트웨어적인 온갖 방법으로 "귀하(= 소프트웨어 개발자/개발사)의 소중한 자산을 안전하게 보호하십시오"라고 광고하는 복제 방지 솔루션이 있었다. 하지만 그런 것들은 해커들이 작정하고 공략하면 몽땅 크랙 되는 건 시간 문제일 뿐이었다.

그나마 인터넷이 발달한 게 소프트웨어의 복제와 배포뿐만 아니라 개발사에서 사용자의 접속 여부를 파악하는 것까지(= 정품 인증) 용이하게 만들어 줬으니 호재이다. 스타크래프트도 배틀넷에 접속할 때만은 CD key를 체크했듯이 말이다.

자동차는 철저하게 자기 소유 위주이고 운전만 면허이지만, 소프트웨어는 처음부터 소유라는 개념 없이 사용권이 허가되는 것이라고 여겨진다. 영어로는 똑같이 license라고 한다.
자동차는 물리적인 실물이 존재하고 조작하는 것이 매우 위험한 물건이지만, 소프트웨어는 실물이 없이 무한 복제가 가능하고 사용 자체에 위험성은 없는 물건이라는 차이가 있다. 형태가 서로 매우 극과 극이라 하겠다.

그래서 불가피한 상황에서 자동차 문을 따거나 배선을 뜯어고쳐서 키 없이 시동 거는 방법을 소개하는 동영상을 보면.. "남의 차에다가 이 짓을 하는 건 불법입니다. 반드시 자기 소유의 차에다가만 at your own risk로 시도하세요!"라는 주의 문구가 있다.

소프트웨어도.. 정품 사용자가 자기 개인 소장용으로만 복제판을 만들거나.. 혼자 쓰는데 번거로워서 정품 인증 절차를 없앤(..) 크랙을 돌리는 것은 내가 알기로 합법이다. 글쎄, 단순 복제판을 넘어서 후자는 엄밀하게 따지면 사용권 계약서에 명시된 "리버스 엔지니어링과 변조 금지"의 위반일 수 있겠지만 그것까지 현실적으로 다 따지고 잡아내고 법을 집행하는 건 거의 불가능에 가깝지 싶다.

소프트웨어의 라이선스는 대외 공개 여부, 유료/무료, 소스 공개 여부 같은 변수를 따져서 다음과 같은 범주로 나눌 수 있겠다.

2. 소프트웨어 라이선스의 등급

(1) 존재 자체가 영업 기밀: 개발사의 내부에서만 쓰이며, 돈을 아무리 많이 준다 해도 애초에 남에게 판매 자체를 하지 않는다. 주로 서버(호스트) 사이드 프로그램, 혹은 소프트웨어 개발을 위해 내부적으로만 쓰이는 아주 특수한 도구가 이 범주에 속한다. 이런 프로그램의 내부를 외부인이 구경하고 싶으면 아예 개발사를 통째로 사 버리고 인수해야 할 것이다.. >_<

(2) 상업용: 돈 받고 사용권을 판매하는 상업용 소프트웨어들. 옛날에는 제품을 디스크에 담고 패키지로 포장해서 일시불로 무기한· 영구적인 사용권을 제공했으나, 지금은 프로그램 자체는 웹사이트에서 받게 하고 사용권을 기간제로 찔끔찔끔 제공하는 형태가 대세이다. 얘부터는 소스 코드만이 영업 기밀이다.

(3) 무료 공개: 누구나 무료로 사용 가능하다. 하지만 제공된 형태 그대로 제품을 사용하는 것 말고 상업적 목적의 재배포, 변조 등등은 여전히 금지이다. 날개셋 한글 입력기는 이 등급이다.

(4) GPL 오픈소스: 단순히 무료 사용을 넘어서 소스까지 공개인 파격적인 제품이다. 하지만 저작권 자체가 아예 없는 건 아니며, 얘는 전염성, 즉 "오픈소스 덕을 봤으면 너도 오픈소스에 동참하라" +_+라는 이념이 담긴 등급이다. 그렇기 때문에 기업 영업 기밀에 속하는 소프트웨어에다 GPL 기반의 코드를 쓸 수는 없다.

(5) LGPL 오픈소스: GPL보다는 조건이 완화됐다. 요 등급은 상업용 제품에다가 끌어다 쓰더라도 자기 코드를 공개하지 않아도 된다. 요즘 많이 쓰이고 있는 MIT 라이선스도 이쪽 계열인 걸로 안다.
다만, 있는 그대로 쓰는 게 아니라 좀 변조해서 쓴다면 어떻게 바꿨는지 그 변조한 코드만은(자기 코드 말고) 공개하라는 식으로 바리에이션이 있다.

(6) public domain: 너무 오래돼서 저작권이 소멸됐거나, 저작권을 주장하는 주체 자체가 사라져서 존재하지 않거나, 아니면 이도 저도 아닌데 개발자가 너무 대인배여서 저작권을 주장하지 않고 "완전 니 마음대로 쓰셈"을 시전한 경우이다. SQLite처럼 드물게 public domain인 제품이 있다.

요 6등급 분류가 굉장히 깔끔하긴 하지만.. 현실에서는 이 범주에 딱 정확하게 떨어지지 않는 물건도 있다.

(1) 태생적인 반제품: 요즘은 소프트웨어라는 게 전반적으로 릴리스 후에도 끊임없이 보안 패치를 해야 하는 반제품 형태가 돼 있다. 하지만 그것 말고 미들웨어 라이브러리 같은 제품 중엔 유료로 판매되는 상업용이면서 아무 end-user에게나 판매하지 않고, 구매자에게 소스를 제공하는 형태가 있다.

(2) abandonware: 도스용/16비트용 프로그램들, 아래아한글 3.0/97, Windows 95/XP 따위.. 오늘날 아무도 실생활에서 사용하지 않는 옛날 구버전 소프트웨어들은 아무래도 상업적인 가치는 없다. 하지만 개발사에서 판매와 지원을 중단했다고 해서 그 프로그램의 저작권 자체가 법적으로 소실된 건 아니다. 저작권이야 거의 70년인가 그 동안 유지되기 때문이다. abandonware가 곧 public domain을 의미하지는 않는다.

그러니 한물 갔다고 해서 과거의 상업용 소프트웨어를 마음대로 불법복제 해서 써서는 안 된다. 개발사에서 정식으로 무료화를 선언하지 않은 한 말이다. 허나, 이제 더 정식으로 판매되지 않고, 돈 주고 사겠다고 해도 구할 수 없어서 복제해서 쓰는 걸 누가 어떻게 뭐라 하겠는가? 그런 구닥다리 제품으로 복돌이가 개인 단위로 무슨 금전적인 이익을 얻고 있을 리도 없고..
이런 이유로 인해 현실적으로는 개발사에서 저 정도는 사실상 그냥 방치· 묵인해 주고 있을 뿐이다.

3. 오픈소스

요즘 어지간히 규모 있는 소프트웨어에서 about 대화상자나 도움말의 한구석 acknowledgements란을 꺼내 보면.. 이 제품이 내부적으로 사용한 방대한 오픈소스 라이브러리 목록이 없는 경우를 찾기 어려울 것이다. 동영상이나 일반 데이터 압축, 암호화, 영상 처리, 폰트 렌더링, 심지어 머신러닝…

그 정도 규모와 기능이면 돈 받고 판매하는 미들웨어 솔루션으로 손색이 없을 텐데 이런 게 소스까지 공개로 죄다 풀리니 요즘 소프트웨어들은 기술 수준이 엄청나게 상향평준화될 수밖에 없다. 소프트웨어 업계는 자동차 같은 다른 업계에는 존재하지 않는 '오픈소스'라는 진영 내지 이념· 트렌드 때문에 판도가 굉장히 크게 바뀌었다.

이 진영이 없었으면, 혹은 오픈소스라 해도 몽땅 무식한 GPL 일색이어서 사실상 무용지물이었다면.. 컴퓨터에서 같은 기능을 사용하더라도 소비자는 더 비싼 제품을 써야 하고, 개발사는 여기 저기 로얄티를 내야 하는 게 많았을 것이다.

기능을 사용하는 것 자체는 몽땅 무료로 풀리게 됐으니.. 소프트웨어 업계는 그 사용자들이 무슨 기능을 즐겨 사용하고 무슨 생각과 취향을 갖고 있는지를 수집하고 분석하고.. 이걸로 "어떤 더 고차원적인 돈벌이를 할 수 있을까, 어떻게 하면 사용자의 취향을 더 정확하게 저격한 광고를 내보낼 수 있을까"를 고민하게 된 듯하다.

물론, 마소에서 개발한 소프트웨어에서 zlib나 FreeType, libPNG를 사용했네, MIT/LGPL 라이선스를 준수하네 이런 식의 acknowledgement를 볼 일은 지금까지 없었다. 걔네들은 오픈소스 진영과 동떨어진 채 타사에서 유료 구입하거나 자체 개발해 놓은 밑천이 워낙 많으니 어지간한 상황에 대해서는 그런 게 필요하지 않았던 것이다.

하지만 언제까지나 그렇게 지낼 수는 없을 것이고, 지금은 마소도 옛날 빌 게이츠/스티버 발머 시절처럼 오픈소스에 적대적인 독불장군이 절대 아니니 오픈소스 진영과 엮이는 비중이 차차 늘 것으로 보인다.

4. 소프트웨어 라이선스의 종류

이렇게 각종 소프트웨어들이 소스째로 무료로 풀렸다는 게 모든 지적 컨텐츠들이 풀려서 개나 소나 아무렇게나 사용해도 된다는 말은 결코 아니다. 오늘날 컴퓨터로 남이 만든 것을 활용해서 이를 바탕으로 또 뭔가 새로운 걸 만드는 일을 하는 사람이라면 그 어느 때보다도 저작권에 대한 인식을 분명히 하고 있어야 한다.

컴퓨터가 실행하는 코드의 집합체인 소프트웨어 프로그램뿐만 아니라 디지털 폰트, 그리고 하다못해 짤막한 4단짜리 찬양 악보나 노래 음원 하나라도 무료 사용이 허용되는 조건이 까다로워지는 것이 요즘 추세이다.

물론, 개인이 혼자 집에서 무료로 비영리 목적으로 사용하거나 보고 듣고 즐기는 것을 막는 저작권자는 사실상 없다. 음악, 특히 찬송 같은 건 알려져서 자기 곡이 어느 교회건 예배 때 회중 찬송으로 불리는 것을 싫어할 작곡자는 없을 것이다. 그러나 반대로 임의의 개작, 개조, 제작자 변조, 무단으로 상업적 활용 같은 걸 허용하는 저작권자는 이 세상에 존재하지 않는다.

운전 면허가 자가용과 사업용이 나뉘어 있듯, 소프트웨어의 사용권도 그런 형태로 나뉘는 경향이 있다.
폰트는 유료로 구매했다 하더라도 자기 개인 단위의 인쇄물이나 웹페이지에서만 사용할 수 있는 1차 라이선스, 더 나아가 옥외 간판이나 본격 상업 매체에 적용되는 2차 라이선스, 아예 제품에 범용적으로 포함되거나 특정 BI/CI에 들어가고 자기들만이 독점적으로 사용하는 전속 서체 급의 3차 라이선스 형태로 나뉘어진다.

반디소프트의 반디집의 경우 2020년 7.0 버전부터 유료 버전을 따로 내놓기 시작했는데, 파워 유저를 대상으로 하는 개인 단위 유료(프로) 에디션, 그리고 기업에서의 사용을 염두에 둔 PC 단위 유료(엔터프라이즈) 에디션을 내놓은 게 무척 독특하다. 현실성 있는 유료화 정책에 대해 개발사에서 고민을 많이 한 것 같다.

엔터프라이즈 에디션을 구매하지 않은 기업 내부라고 해도 각 직원이 무료 에디션은 여전히 사용할 수 있다. 그 대신 얘는 광고가 뜨며, 기업 서버와의 최소한의 접촉을 막을 수 없다(업데이트 체크, 언제나 온라인으로만 설치).

이런 라이선스 종류는 아까 같은 영업기밀~소스 공개 같은 수직 비교와는 다른 양상의 수평 비교라고 볼 수 있을 듯하다.

Posted by 사무엘

2020/03/12 08:35 2020/03/12 08:35
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1727

« Previous : 1 : 2 : 3 : 4 : 5 : ... 161 : Next »

블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2020/04   »
      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:
1352519
Today:
426
Yesterday:
544