Posted by 사무엘
Posted by 사무엘
재작년, 2008년 삼일절엔 ‘1인 테마 여행’으로 천안에 갔다 왔다. 여기서 테마 여행이란, 목적지가 아니라 목적지까지 가는 경로와 교통수단 시설이 더 중요한 여행을 말한다. ^^;;
그때 천안까지는 완행 전동차를 타고 가고, 천안 역에서 천안아산 역까지는 택시를 타고 이동한 뒤 서울까지는 KTX를 타고 돌아갔다.
서울로 가는 육상 교통이 가장 발달해 있는 천안의 두 대표역의 형태에 대해 굉장히 많은 정보를 얻어서 보람찬 시간이었다. 조용한 역에서 KTX의 천안아산 역 통과 동영상을 촬영하고 KTX의 가속 구동음을 녹음하기도 했다.
작년은 삼일절이 일요일이어서 교회에 가야 했고,
오늘의 테마는 ‘서동탄 역’이었다.
이런 여행 하나하나가 마치 보이저/파이어니어 계획 같은 철도 탐사 임무였다.
최근에 온통 누런 인테리어로 리모델링을 마친 5호선 ‘동대문역사문화공원’ 역의 승강장을 카메라에 담는 것으로 첫 임무를 시작했다. (서울 지하철 상식 페이지도 업데이트함 ㄳ)
그 후, 금정 역으로 갔다. 피곤해서 4호선 전동차 안에서는 졸면서 체력을 비축했다. 과천선 구간에도 드디어 군청색 배경에 흰 글씨로 신형 코레일체 표지판이 등장했으나, 여전히 코레일 지하 구간은 스크린도어도 없고 옛날 HY울릉도 역명판 글씨가 대세였다.
공휴일이어서 그런지 경부선 전동차는 배차가 굉장히 길었다. 열차를 기다리면서는 미리 가져간 책을 읽고 지나가는 열차 촬영을 했다. 금정 역은 승강장에 바로 화장실이 있어서 좋았다. 그리고 최근에 개통한 당정 역은 바깥이 붉은 벽돌벽으로 완전히 막혀 있는 게 굉장히 인상적이었다.

내가 먼저 탄 열차는 천안으로 가는 녀석이었기 때문에 수원 역에서 내려서 서동탄 행 다음 열차를 기다렸다. 열차를 기다리면서는 수원 역 승강장의 배선도와 지하도/에스컬레이터 구조를 분석했다.
그 후 드디어 도착한 서동탄 행 열차는 놀랍게도 코레일이 아닌 서울 메트로 소속 열차였다. 서동탄 역은 병점 차량 기지 내부에 지어진 임시역이다. 오히려 코레일 소속 열차는 병점에서 완전히 운행을 마친 후 자사의 기지로 정비를 받으러 들어가 버리는 반면, 지금까지 병점까지만 가던 서울 메트로 차량은 종점이 서동탄으로 연장되어 남의 회사 기지 근처에 만들어진 역에 잠깐만 들어갔다가 나오는 형태인 듯했다.
서울 메트로도 출입문을 노랗게 바꾸고 ‘행복열차’ 마케팅을 아주 열성적으로 하고 있었다. 브랜드 선전을 5~8호선 SMRT(도철)에게 뒤처지지 않으려고 정말 노력한 흔적이 역력했다. 1호선 노선도에서는 사라졌지만 자기네가 사용하는 1호선 원래 노선색은 붉은색이라는 것을 강조하고, 1호선을 운행하는 전체 열차 중에 1/6밖에 차지하지 않는 자기네 차가 걸린 고객 여러분은 행운아라나.. 이런 홍보 문구까지 적어 놨더라. ㅋㅋㅋ

하행 열차가 병점 역에서 서동탄 역으로 진입할 때는 교차가 필요 없는 반면, 서동탄에서 병점으로 가는 열차는 경부선 선로를 지하로 관통하여 입체 교차한다. 서동탄 역은 경부선 선로의 동쪽에 있기 때문이다. 그 반면, 천안 역에서는 지하가 아닌 고가로 입체 교차가 일어나며, 방향별 복복선이 역에서는 일종의 선로별 복복선으로 바뀌기 때문에 상행과 하행 모두 경부 본선을 타넘게 된다.
병점 기지로 들어가는 구간은 아파트와 오솔길이 무척 인상적이었다. 폐차를 기다리고 있는 구형 저항 전동차도 모셔져 있고 심지어 누리로 열차도 보였다.
서동탄까지 갔다가 병점으로 되돌아 온 뒤, 병점 역에서 내렸다. 이번 달은 설 연휴 때문에 지하철 정기권이 굉장히 많이 남은 관계로, 이걸 좀 dump하는 임무도 이번 여행에 포함돼 있었다.
그 후 여기서 바로 분당으로 버스를 타고 가려고, 미리 인터넷 지도로 봐 놓은 정류장에서 버스를 기다렸다. 배차 간격이 30분이 넘는 버스랬는데 한 20분 정도 기다린 듯했다. 서동탄-병점 일대에서 판교를 경유해서 정확하게 분당과 성남 시가지까지 가는 버스로 본인의 여행 목표와 정확히 일치했다.
분당선이 수원까지 연장되었다면 이 경로도 버스를 이용하지 않고 철도만으로 이동 가능했겠지만 버스 여행도 아주 가끔은 할 만했다. 낯선 화성/수원/용인 시가지로 깊숙이 들어간 버스는 딱히 고속도로 진입로를 탄 것 같지 않았는데 갑자기 고속도로를 달리기 시작했다. 덕분에 난생 처음으로 용인-서울 고속도로(171)를 구경했다.
게다가 이 버스 노선은 원래 경부 고속도로를 달렸는데 얼마 전에 노선이 바뀐 거라고 한다. 교통 오지이던 삼성 반도체 일대와 판교 쪽을 경유하기 위해서였다. 다만, 붉은 광역 좌석버스는 앉아서 가는 건 좋지만 인클라이닝 시트가 고장 나 있고 역겨운 차냄새 때문에 괴로운 건 여전했다.
화성 북부에서 분당 북부까지 버스로 이동하는 데 걸린 시간은 1시간이 조금 넘었다. 그 후 분당에서 볼일을 좀 본 후 분당선 전철을 타고 수서까지 가서 3호선 연장 구간을 답사했다. 그리고 오금 역에서 5호선으로 합류하는 것으로 오늘의 탐사 일정을 모두 마쳤다.
가락시장과 오금은 명목상으로는 3호선이라는 1기 지하철하고 5, 8호선이라는 2기 지하철과의 환승이지만, 건설 시기 면에서는 3기 지하철과 2기 지하철과의 환승이나 다름없다.
둘 다 L자형 환승이다. 두 노선이 동시에 건설되었다거나 미래의 환승을 염두에 두지 않고 건설되지 않다 보니, 기존 노선을 최대한 안 건드리고 역을 만들면 필연적으로 L자형이 생기게 된다. 3호선은 가락시장과 오금의 최소 환승 지점이 서로 정반대이다. 그리고 두 노선 모두 3호선이 2기 지하철들보다 아래로 지난다는 것도 알아두면 좋다.
정기권도 남아돌고 더 놀고 싶긴 한데, 노트북의 배터리와 본인의 피곤함이 이를 허락하지 않는다. =_=;; 그 대신 다음 주말엔 광명 역이나 공항 철도 쪽을 가 봐야겠다.
수도권은 전철이 있어서 자가용 없이도 이렇게 바깥 나들이를 재미있고 저렴하게 할 수 있어서 참 좋다.
Posted by 사무엘
스티브 바라캇은 우리나라에도 잘 알려져 있는 캐나다 출신의 작곡자/연주자이다. 방송이나 각종 행사 때 나오는 배경 음악으로 이 사람 곡을 은근히 많이 들을 수 있다.
비슷한 분야의 음악가 중에는 본인의 부모님보다도 나이가 많은 지긋한 노년 신사도 있지만 이 사람은 30대 중반의 아직 꽤 젊은 나이이고, 얼굴도 상당한 미남인 데다 연주뿐만 아니라 노래도 굉장히 잘 부른다. 이미 세계적으로 부와 명예를 거머쥔 앞날이 창창한 음악가로 부르기에 손색이 없다.
가장 유명한 곡은 단연 <Rainbow Bridge>와 <Whistler's Song>이 아닐까 싶다. 들어만 보면 “아 그 곡!” 하고 무릎을 칠 분이 많을 것이다.
한국 철도의 사용자 인터페이스에 관심이 많은 분이라면 역시 이 사람을 기억해야 할 것이다. 바로 이 사람의 곡 <Dreamers>가 지금도 일반열차(전동차 말고)에서 종착역 도착 후 흘러나오고 있기 때문이다. 게다가 이 곡은 비록 재생 이벤트와 대상 열차가 바뀌었을지언정, 무려 2004년부터 지금까지 상당히 장수하고 있다.
그러니까 안내 방송 중에 깔려 나오는 배경 음악이 아니라, 열차의 운행 시작이나 종료 직전/직후에 음악만 별도로 쫙 틀어 주던 열차는 KTX 개통 이전엔 잘 알다시피 새마을호밖에 없었다. 그 관행은 아마 2000년, 영상 서비스와 함께 시작된 걸로 추정한다. 그때는 사용자 인터페이스 담당은 코모넷이라는 회사가 담당했으며, 운행 전과 종료 후에 둘 다 너무나도 유명한 Looking for You가 흘러나왔다. 본인이 이 곡을 몇 번 들은 뒤 철도에 눈이 완전히 뒤집히고 미쳐 버리게 된 건 여기 오는 분들도 이미 잘 알 것이다.
그러다가 2004년에 와서 이 트렌드가 좀 바뀌었다. KTX 개통 직후에도 아주 잠깐은 L-L(시작과 끝 모두 룩킹포유) 체제가 그대로 유지됐다. 그런데 루머에 따르면 비슷한 시기에, 룩킹포유가 아침에 첫 새마을호를 타는 사람에게는 곡이 조용하지가 못하고 너무 방방 뛰어서 잠 깬다는 민원이 들어왔던 모양이다. 이런 말도 안 되는 황당하고 어처구니 없는 민원 때문에 2004년 여름, 새마을호의 출발 전 음악은 스티브 바라캇의 <Dreamers>라는 곡으로 바뀌었다. 하지만 종착 후 음악은 다행히 룩킹포유가 계속 유지됐다.
이것이 한국 철도의 사용자 인터페이스에 스티브 바라캇의 음악이 최초로 도입된 사례임을 기억하기 바란다. 여전히 코모넷 시절이고, 심지어 철도청조차 아직 정부 기관으로 있던 시절의 일이다.
게다가 당시 새마을호는 시발역을 출발하고 잠시 후엔 역별 정차역과 도착 시각이 화면으로 나왔는데, 이때 이어폰을 꽂고 있으면 스티브 바라캇의 또 다른 명곡인 <Flying>이 흘러나왔었다.
KTX가 개통한 후 2004~05년간은 새마을호에 그 외의 UI상의 변화는 없었다. 다만, 정차역 안내 방송이 두 번 나오던 특이한 시기이기도 했다. “잠시 후 우리 열차는 XXX 역에 도착하겠습니다” 그 후, “여기는 XXX 역입니다.” 그것도 4개 국어로. 듣기에 굉장히 지루했다.
그 후 2006년은 새마을호의 앞날에 망조가 본격적으로 드리워진 해였다. 코모넷이 망하고 연합뉴스가 영상 서비스를 대신 떠맡았다. Flying이 사라지고 안내 방송도 중국어와 일본어가 삭제됐다. 평일에 중련 편성 새마을호 편성 수가 감소하고, 그 해 여름엔 기내지 레일로드가 폐간했다. 그 해 가을엔 중앙· 영동· 태백선 새마을호가 폐지됐다.
하지만 아직까지 Dreamers - Looking for You 구도는 변함없었다. 본인은 이게 마지막 기회라고 판단하여, 이때를 놓치지 않고 룩킹포유 재생 화면을 세 차례에 걸쳐 카메라에 동영상으로 성공적으로 담았다.
2007년, 드디어 기내지에 이어 새마을호에서 영상 서비스가 거의 7년만에 역사 속으로 사라졌다. 이거 뭐, 2005~06년 사이엔 영상 서비스 모니터를 와이드 화면으로 교체하더니만 1년이 채 안 되어 그걸 도로 철거해 버린 것이다! Looking for You는 이미 사라진 걸 확인했지만 Dreamers는 영상 서비스가 없어진 와중에도 운행 전에 여전히 흘러나오고 있었다.
그 후 2008년. 새마을호의 UI는 크게 바뀌었다. 모니터가 다시 생기긴 했지만, 객실당 4개이던 게 2개로 감소하고, 영상 서비스는 없어졌다. 주행 중엔 그냥 정지 사진만 여러 컷 돌아가면서 나오고 정차역 도착 자막만 뜬다.
제일 충격적인 변화는 음악. 출발 전 음악은 Dreamers이던 것이 가야금 퓨전 국악으로 바뀌고, 대신 종착 후 음악이 Dreamers로 옮겨졌다. 나라에서 국악을 정책적으로 밀어붙이기라도 하는지, KTX는 이미 초창기부터 정차역/종착역 도착 안내 배경 음악으로 국악을 써 왔고, 2008년경엔 서울 메트로도 환승역 진입 음향으로 꽤 오래 사용해 오던 차임벨을 버리고 퓨전 국악을 채택했다.
게다가 지금은 KTX, 새마을호, 무궁화호가 공통으로 시작 전엔 가야금 Let It Be, 종착 후에는 KTX 미니 만화 주제가-_- 다음으로 Dreamers가 유지되고 있다. 원래는 음악이 새마을호밖에 안 나오다가 나중에 KTX와 무궁화호에도 확대된 것이다. 한 2007년 말 내지 2008년부터 그렇게 됐다.
새마을호에서 출발 전에나 듣던 곡을 이제는 사실상 모든 열차에서 도착 후에 들으니 느낌이 이색적이다. Dreamers가 2004년에 첫 도입되자 그 당시 철도 매니아들은 며칠 안으로 금세 곡의 정체를 파악해 내서 mp3 올리고 야단법석이었다. 처음 들었을 땐 뭔가 몽환적이고 잔잔하다는 느낌이 들었는데 과연 그러하다. 이 곡은 앞으로 몇 년이나 더 철도계에서 쓰일지 궁금하다.
Posted by 사무엘
1. PentaCombat (마지막 빌드 2000): 2000년대 이후로 개발이 중단됐다. (그 당시 이 프로젝트 이후 곧장 <날개셋> 한글 입력기 개발로..) 나름 3*3과 4*4 판단 알고리즘을 굉장히 정교하게 구현해 냈고 오목은 AI 연구용으로도 굉장히 재미있는 주제라고 생각했는데, 더 개발을 못 하게 된 게 무척 아쉽다. 지금 공개되어 있는 컴파일 EXE, DLL은 무려 비주얼 C++ 4.2로 빌드되었으며, 날짜도 1999년~2000년대이다. ㅎㄷㄷ
2. WordTech (마지막 빌드 2007): 이것도 굉장한 애착을 갖고 있는 프로그램이다. 국내에서 스크래블/업워드 크로스워드 게임을 자체 개발한 사례는 이 프로그램이 유일하기 때문이다. 그것도 컴퓨터 AI에다 네트워크 기능까지 말이다.
지금은 10년 전보다 더 효율적인 단어 목록 자료구조와 더 빠르고 똑똑한 AI 알고리즘을 만들 수도 있다. 그리고 네트워크 쪽도 구닥다리 DirectPlay 대신 저수준 네트웍 API로 새로 짤 필요도 있다. 하지만 본인은 이제 이걸 도저히 손댈 수 없는 처지가 됐다.
3. <날개셋> 타자연습 (마지막 빌드 2009): 더 무슨 말이 필요하리요? 게임은 좀 3D로 고쳐야 하고 각종 바이러스들의 비주얼 효과도 더욱 현란하게 고쳐야 한다. 윈도우 비스타부터는 운영체제의 기본 내장 게임조차 Direct3D를 쓰는 세상이 되지 않았던가.
그리고 네트워크 기능을 적극 도입하여 온라인 타자방, 실시간 연습글 업데이트 같은 기능도 넣어야 한다.
하지만 타자연습도 작년 말 3.21을 끝으로, 더는 내가 더 손을 볼 수 없는 사실상 개발 중단 상태가 되지 않을까 싶다. (지원 중단이라는 뜻은 아님. 여건상 새로운 기능을 추가하지는 못하지만, 버그 패치나 보안 업데이트 정도만. ㅎ)
4. <날개셋> 한글 입력기: 그나마 지금까지 독자적인 아이템으로, 10년간 가장 열정적으로 기능 연구와 개선을 해 온 프로그램. 엔진 쪽도 사실 최하 6.0까지는 더 만들고 싶지만 현실은 5.7, 혹은 5.53에서 끝날지도 모르겠다. 엔진 차원에서 더 고차원적인 개념을 생각하자면 끝도 없지만, 일반 사용자의 관점에서는 지금 엔진만으로도 기능은 이미 너무 많아서 미처 다 활용도 못 할 수준이리라.
지금의 5.5x대 엔진을 바탕으로 아무래도 여타 운영체제 포팅을 할 가능성부터 먼저 찾는 걸로 계획을 수정해야 할 것 같다. 그것부터 된 후에 여건이 남으면 엔진 작업도 더 할 것이다.
본인에게는 <날개셋> 한글 입력기만큼이나, 한글과 관련된 또 완전히 다른 솔루션을 연구하고 싶은 게 있다. 시기가 시기이니만큼 이 카드도 슬슬 꺼내 봐야 할 것 같다. 그러니 언제까지나 기존 아이템의 유지 보수에만 매달려 있을 수가 없다. 지저분한 윈도우 IME 쪽 버그 살펴보는 것도 한계가 있다.
이런 식으로 사람은 점점 발전하는 것 같다.
역시 어렸을 때, 실패에 대한 위험 부담 내지 사회적 책임이 적을 때 하고 싶은 일을 실컷 해 놔야 한다. 게임으로 허비하기엔 인생은 너무나 아깝다.
고등학교 3학년 때 과감하게 <날개셋> 한글 입력기 1.0을 만들었기 때문에 10년 뒤에 이것이 5.5까지 버전이 오를 수 있었다.
그리고 그 전에 허접하게나마 저 두 보드 게임을 만들었기 때문에 그 기술과 경험을 근거로 이듬해에 <날개셋> 한글 입력기 1.0이 만들어질 수 있었다.
저 프로젝트들 생각만 하면 그나마 프로그래머다운 기질이 팍팍 살아나는 걸 느낀다. 하지만 나는 순수 공돌이나 전산학도는 아니기에, 내 경쟁력을 위해서는 아무 프로그램이나 짜서는 안 되고, 컴퓨터를 수단으로 삼아 다른 특정 분야에서 활로를 찾아야겠다.
Posted by 사무엘
Posted by 사무엘
회사 외근 업무 때문에 가끔씩 금천구 가산동 쪽을 방문할 때가 있다. 여기는 내가 다니는 교회하고도 아주 가깝다. 하지만, 정확한 연혁은 모르지만 10, 20여 년 전까지만 해도 여기 일대는 다 황량한 ‘공장’이었다고 한다.
여기를 둘러보면서 바로 느낀 게 있었다. 교통수단의 소음 때문에 고생 좀 하겠다는 것. 근처에는 경부선 철길이 지나는데(가산디지털단지-독산) 여기는 KTX와 전동차까지 포함해 전국에서 열차가 가장 자주 드나드는 구간이다. 그런데 딱히 방음벽도 없다. 열차가 정말 시도 때도 없이 관통하고 디젤 기관차 소리는 10수십 층짜리 빌딩 안에서도 아주 선명하게 들을 수 있을 정도였다.
그리고 하나 더, 비행기가 있다. 금천구, 구로구 정도가 되면 김포 공항에 도착하는 비행기들은 굉장한 저공 비행을 하면서 착륙을 준비한다. 10분 남짓한 시간 동안 여객기가 무려 세 대나 지나는 걸 보기도 했다. 당연히 소리가 여기까지 들린다.
하긴, 분당도 성남 서울 공항 인근인 편이기 때문에 여객기가 아닌 정체 불명의 비행기가 저공 비행을 하는 걸 볼 수 있다. 하지만 그 빈도가 김포 공항 인근과는 비교할 바가 못 된다.
뭐 기차 소리가 자주 들리면 나야 좋다. ^^ 철길 바로 뒤에 집을 장만하고 싶다.
비행기는 개인적인 생각에 이륙할 때 소리가 굉장히 멋있지만, 순항 중일 때의 소리는 별로이다.
덧.
1. 가산디지털단지(1호선)와 독산은 모두 "폼 | | | | 폼"의 형태이다. 그렇기 때문에 이 둘은 경부선이 2복선화한 최소한 80년대 이후에 개통한 역이라고 언뜻 생각할 수 있다.
그런데 이런 추측은 절반만 맞다. 독산 역은 신길과 같은 시기인 무려 1998년에 개통한 추가역이 맞으나, 가디단은. 1974년 초기부터 가리봉이라는 이름으로 영업해 왔다고 한다. 그럼 역이 완전히 이설 내지 리모델링을 겪기라도 했다는 말인지 궁금하다.
2. 올해 초에 1호선 경부선 구간에 당정 역이 개통한 데 이어, 조금 있으면 병점 차량 기지 내부에 서동탄 역도 개통한다.
3호선 수서-오금 연장에 이어 올해도 여기저기서 개통 소식을 들리는 게 즐겁다. 다음 달부터는 KTX 2까지 바로 투입된다니!
그나저나 고속철 2단계 구간과 경춘선 전철, 공항 철도 2단계 구간은 과연 올해 안으로 볼 수 있으려나 궁금하다.
3. 안전을 빌미로 재미있는 철도 볼거리가 점점 줄어드는 건 좀 아쉽다. 스크린도어가 일반 지하철 승강장의 촬영 범위를 크게 줄여 놓은 것은 두말할 나위도 없거니와, 전망 좋기로 소문나 있던 버티고개 역과 옥수 역도 이제 예전의 그런 전망이 아니다.
게다가 화재에 취약하다면서 5호선 신금호와 7호선 가산디지털단지 역 승강장의 암반 인테리어도 철거되었다니 안타까운 소식이다.
Posted by 사무엘
비주얼 스튜디오로 C# 프로젝트를 하나 만든 후, 마법사가 생성해 준 기본 폼 애플리케이션을 debug와 release로 제각기 모두 빌드하여 실행해 본다.
그 후 이 프로젝트 디렉터리의 크기를 측정해 보라. 본인은 200KB가 채 나오지 않았다.
그런데 C/C++ 프로젝트를 만들고(MFC는 쓰지도 않고), 그냥 간단한 창만 하나 띄우는 Win32 프로그램을 debug와 release로 모두 빌드해서 실행한 후 디렉터리 크기를 재 보라.
프로젝트가 차지하는 용량은 무려 20MB가 넘는다. (비주얼 스튜디오 2008 기준)
그렇다. C/C++은 프로젝트를 만들고 빌드를 좀 하면, 잡다하게 생기는 중간(intermediate) 파일이 엄청 많다. 게다가 용량도 상당히 많이 잡아먹는다.
<날개셋> 한글 입력기 프로젝트도 32비트 디버그/릴리스, 그리고 64비트까지 빌드하다 보니 디렉터리 전체 크기가 무려 800MB에 달해 있다. 하지만 그 중 실제로 빌드에 쓰이는 소스나 데이터 파일의 합은 20~30MB대는 절대 안 넘을 것이다. -_-;;
OBJ 파일이 생기는 것이야 C/C++ 자체가 링크를 염두에 두고 만들어진 언어이니 어쩔 수 없고 그건 어차피 그렇게 크지도 않다. ..... 라고 말하려고 했는데, 오브젝트 파일도 각종 디버깅 내지 고급 최적화와 관련된 메타정보가 첨가되다 보면 단순히 소스 코드의 기계어 번역이라고 볼 수 없을 정도로 덩치가 은근히 커지긴 한다.
OBJ 말고도 디스크 용량을 상당히 차지하는 주범은 잘 알다시피 pre-compiled header이다(*.PCH) 겨우 몇몇 개의 헤더 정도나 인클루드하면 되는 정올 답안 수준의 프로그램이 아니라 특정 운영체제/플랫폼이나 거대한 라이브러리의 프로그래밍 요소를 다 인클루드하는 프로그램이라면, 그렇게 고정불변이고 덩치가 많은 요소들은 미리 컴파일을 좀 시켜 놔야지 프로그램의 빌드 시간을 줄일 수 있다.
본인이 비주얼 C++을 처음으로 쓴 게 4.2 시절부터이다. 그때엔 MFC 심볼들을 다 빌드해 놓은 pch 파일도 이미 3~5MB 정도 했던 것 같다. 하지만 지금은 그것보다 덩치가 훨씬 더 커져 있고 한 빌드 configuration당 10MB는 훌쩍 넘어간다. 프로젝트 하나 만들 때마다 50~100MB씩은 잡아야 한다. 오로지 C/C++ 언어 프로젝트만이 이런 삽질이 필요하다.
윈도우 SDK나 MFC처럼 매 프로젝트마다 일일이 빌드가 필요하지 않은 것들은 공용 PCH라는 개념으로 공유만 좀 하게 해 놔도 이런 파일의 크기를 상당 부분 줄일 수 있을 텐데 너무 낭비라는 생각이 든다. 하지만 요즘은 하드디스크 용량이 워낙 많다 보니, 빌드 시간을 네트워큭 분산 기술을 줄이려는 연구는 해도 PCH 파일 크기를 줄이려는 연구는 거의 행해지지 않는 것 같다.
이외에도 인텔리센스 데이터베이스인 NCB 파일도 은근히 크고, 매 빌드 때마다 생기는 심볼 디버그 데이터베이스인 PDB 파일도 무시 못 한다.
왜 이런 일이 생기는 것일까? 대략 다음과 같은 관점에서 살펴볼 수 있다.
첫째, C/C++은 굉장히 작은 언어이고, 프로그래밍에 필요한 요소들을 전적으로 소스와 동일한 텍스트 포맷인 헤더 파일의 파싱(느림!!)에 의존하여 읽어들이는 형태이기 때문이다. 라이브러리 링크는 별도의 계층으로 따로 존재하지, 즉시 읽어들일 수 있는 바이너리 유닛/패키지라든가(파스칼, 자바, C# 등) 언어가 자체 내장하고 있는 요소가 없다. 원천적으로 이식성을 택했지, 속도를 배려하지는 않은 느린 프로세스를 사용하는 셈이다.
둘째, C/C++은 전처리기라든가 링크 과정으로 인해 빌드가 더욱 느리고, 언어의 해석이 더디기 때문이다. 모든 토큰은 그냥 토큰이 아니라 전처리기를 재귀적으로 거치면서 다 까 봐야 실체가 드러난다. ^^;;; 헤더 파일의 글자 하나를 고치면 이 여파가 수백, 수천 개의 소스 파일에 동시에 파급되고 프로그램의 의미가 전혀 다르게 바뀔 수 있다. 이것은 장점도 있지만 똑똑한 개발 환경이나 빠른 빌드 환경을 만드는 데는 불리한 구조이다.
그러니, 소스 코드를 조금이라도 빨리 분석하기 위해서는 소스코드 자체뿐만 아니라 온갖 메타정보들을 ‘별도의 파일’로 보관할 수밖에 없다. NCB처럼 말이다.
셋째, C/C++은 그 어느 에뮬레이터나 가상 기계 계층이 없이, CPU 차원에서 기계가 직통으로 알아듣는 프로그램을 만들 수 있다. 잘 최적화된 프로그램은 사람이 원래 짠 소스 코드와는 전혀 다른 형태가 될 수도 있다. 그러니 이런 코드의 디버깅은 어려울 수밖에 없다. 변수의 내용을 확인하거나 한 줄씩 실행하는 것까지는 못 하더라도 프로그램이 뻗었을 때 스택 덤프라도 보려면 빌드된 프로그램과 소스 코드 사이의 관계를 설명하는 최소한의 정보라도 있어야 한다. 소스 코드와 형태가 전혀 딴판인 코드를 생성하는 컴파일러일수록 그런 정보는 더욱 세부적이고 양이 많아질 수밖에 없다.
한 마디로 C/C++이 정말 강력하고 포괄적이고 대인배 같은 언어이다 보니 주변에 붙는 군더더기도 많은 모양이다. ^^ 코드 생성이 여러 단계를 거치면서 매우 번거롭고 어려운 대신, 한번 만들어 진 코드는 그 어느 언어보다도 강력하다.
Posted by 사무엘
1905년, 경부선이 개통한 당시부터 영업을 시작한 수원 역은 가히 경기도 남부의 교통 허브 역할을 맡고 있다. 지금은 새마을호 이하 모든 열차가 정차하며 백화점이 인근에 있는 민자 역사이다. 구로와 수원은 애경 백화점(AK 플라자)이, 영등포, 안양, 청량리는 롯데 백화점이 접수하고 있다는 점이 흥미롭다. 덧붙이자면 서울 역은 갤러리아 백화점이다.
수원 역은 한때는 수인선과 수려선이 만나서 수직인 경부선뿐만 아니라 수평의 철도까지 교차하는 지점으로, 즉 경부 고속도로로 치면 신갈 분기점 같은 환승역이기도 했다. 비록 지금은 그 철도는 없어졌지만 걱정 마시라. 분당선이 다시 수원으로 연장되는 중이고, 수인선은 복선 전철로 재건될 예정이기 때문에 옛날의 영광은 다시 찾아올 것이다.
수원은 대전과 마찬가지로 경부선 덕분에 급성장한 도시이다. 비록 인천만치 터져 나가지는 않지만 인구도 100만 명을 돌파하고 광역시급 덩치가 됐다. 단순 철도뿐만 아니라 1974년에 수도권 전철이 개통한 것이 크게 기여했다.
그런데 한 선로 위의 동일한 역에서 과금 체계가 다른 두 종류의 열차를 취급하려면 어떻게 하면 좋을까?
아예 선로별 복복선인 서울 시내 구간은 별로 걱정할 필요가 없다. 영등포, 용산, 서울, 청량리 같은 역은 여기에 속한다.

이에 덧붙여, 드물지만 바로 역의 앞뒤로 전철 승강장과 일반열차 승강장을 분리하는 경우도 있다. 좌우 공간이 충분하지 못한 역이 쓰는 방식인데 경부선 안양과 중앙선 덕소 역이 이에 속한다.


게다가 이것 말고도 진정한 재앙은 따로 있었다. 그렇게 내선과 외선을 바꿔치기한 후에, 수원 역의 전동차 승강장의 선로는 그럼 전동차만의 전용 공간이기라도 했냐 하면 그것도 아니었다는 점이다. 외선은 일반열차 중에서 수원 역에 정차하는 열차만이 이용했고 무정차 통과하는 열차는 여전히 그대로 내선을 통과했다. 전동차 승강장을 스쳐 지나가면서 말이다. 그렇다. 그 선로는 경부 본선이었다. 흠좀무.
이 때문에 전동차는 화서에서 수원으로 진입하기 전에(X자형 교차 지점) 늘 일반열차 눈치를 봐야 했고, 심지어 회차선에서 전동차 승강장으로 진입할 때도 일반열차 눈치를 봐야 했다. 마음 편하게 지낼 수가 없었던 것이다. 경부선 선로를 2복선으로 확장한 뒤에도 이것 때문에 전동차를 도무지 충분히 증차할 수 없었다.
이때 가장 위협적인 존재는 새마을호였다. 이때 새마을호는 오늘날의 KTX의 위상을 능가하는 호화 귀족 열차였고, 모 사이트의 표현을 빌리자면 “서울 대전 대구 부산 찍고~” 트로트 가사에 정확하게 맞춰 신나게 질주하던 괴물이었다. 수원 역 플랫폼쯤은 최고 시속 140km로 통과해 버렸다. 전철을 타는 승강장이니 완전히 막아 버릴 수도 없고.. “전동차 승강장으로 열차가 통과할 예정이오니 부디 물러서 주시기 바랍니다” 경부선 수도권 전철 구간이 여전히 복선이던 1970년대에나 들을 수 있을 법한 희귀한 경고 방송이 세 번째 반복되는 순간, 쌩....! 했다.
수원 역에서는 전동차 기관사의 고충도 더 컸다. 수원에서 하행 전동차가 운행을 마치면 회차선에 들어갔다가 나와서 상행 방면 선로로 진입한 뒤부터 승객이 타야 되는데, 수원에서 상행을 이용하는 승객들은 차에 빨리 타서 앉아 가겠다는 심보로, 이제 종착해서 회차선으로 들어갈 예정인 전동차에도 무자비하게 타 댔다(섬식인 덕분에 상하행 승객이 동일 플랫폼 사용!). 용산에서 종착한 급행 전동차도 지금까지 비슷한 이유로 인해 골치를 썩고 있음은 주지의 사실이다.
회차선에 들어가 있는 동안 직원이 차량을 청소도 하고 특히 기관사와 차장은 200m에 가까운(10량 편성 기준) 거리를 걸어 반대쪽으로 위치 교대도 해야 한다. 그런데 통행이 어려울 정도로 승객이 많이 타 버리면 이들은 부득이 차 밖으로 내려서 옆 선로로 걸어가야 했다. 바로 경부 본선으로 말이다! 그런데 거기로 새마을호가 통과해 버리면? 이건 그야말로 기관사를 죽음으로 내모는 짓이나 다름없었다.
이렇듯, 수원 역은 위상에 걸맞지 않게 열악한 회차 구조 때문에 문제가 많았고 실제로 2002년엔가 03년에는 선로 작업 차량이 대기 중이던 지하철 전동차를 추돌하는 사고가 나기도 했다. 하지만 다행히 이 모든 일들은 이제 옛날의 추억이 되어 있다. 회차 시설은 입체 교차 시설이 잘 갖춰진 병점 역으로 옮겨지고 이제 수원 역은 종착역이 아닌 단순 통과역으로 바뀌었기 때문이다.
2005년에 수도권 전철이 천안까지 연장 개통하기에 앞서, 2년 전에 중간 지점인 평택도 아니고 병점까지만 서둘러 연장 개통한 것은 그만큼 수원 역의 평면교차 문제 해소가 시급했기 때문이라고 풀이할 수 있다.
Posted by 사무엘
Posted by 사무엘
http://xkcd.com/681/
천문 과학에 대한 통찰력과 위트가 두루 엿보이는 정말 탁월한 그림.
지구를 탈출하여 달로 갈 때는 집채만 한 로켓과 어마어마한 양의 연료가 필요하지만, 달에서 지구로 귀환할 때는 아주 작은 비행체만 있어도 되는 이유가 이 그림 한 장으로 명쾌히 설명된다.
지구의 중력을 벗어나기란 그렇게도 어렵고 비용이 많이 든다.
그래서 로켓 부품의 재활용성을 최대화하기 위해 우주 왕복선이란 게 발명되었지만, 요즘 발사되는 우주 왕복선들은 그냥 지구 궤도만 돌다가 돌아온다.
학교에서 배우기를 지구의 탈출 속도는 초속 11.2km라고 한다. 이것은, 지표면에서 공을 초속 11.2km로 던져야만 그 공이 다시는 지구로 떨어지지 않는다는 뜻일 뿐, 공이 자체적으로 추력을 낼 수만 있다면 당연히 그보다 느려도 된다. 이렇게 지구를 탈출했더라도 태양을 탈출할 정도로 빠른 속도를 내지 못한다면 지구를 탈출한 물체는 궁극적으로는 태양을 빙글빙글 돌게 된다.
초속 11.2km만 해도 지표면에서는 상상하기도 어려울 정도로 빠른 속도이며, 인간이 발명한 동력 기관만으로는 만들기가 거의 불가능하다. 그렇기 때문에 우주 탐사선들은 인근 행성의 중력을 통해서 가속을 받는 방법으로 연료 없이 장시간 비행을 계속한다. 참고로, 보이저 내지 파이어니어 호처럼 태양계 밖으로 끊임없이 진행하고 있는 우주 탐사선들은 주행 속도가 초속 15~20km에 달하고 있다. 그 속도로도 목성형 행성들을 하나씩 통과하는 데 2~3년씩 걸리곤 했다.
지구상의 한 지점에서 다른 지점으로 이동하는 게 목적인 일반 비행기와는 달리, 로켓은 오로지 위로 뜨는 것만이 목적이므로 비행기처럼 이착륙 따위는 당연히 존재하지 않는다. 항공기에는 내연 기관이 아니라 터보 프롭, 터보 팬, 램 제트 등 여러 가지 방식을 통해 공기로부터 추진력을 얻는 엔진이 존재하나, 지구의 중력을 탈출하여 공기가 없는 곳에서도 날기 위해서는 현실적으로 로켓 방식이 유일하다. 과거에 로켓은 미사일 같은 무기로나 쓰여 왔으나 이 추진력을 지구를 탈출하는 데 써 보자는 생각을 체계적인 학문으로 처음 정립한 사람이 바로 20세기 초의 독일과 소련의 천재 과학자들이었다.
우주 왕복선은 일반적인 항공 역학을 이용하여 나는 게 아니기 때문에 전투기나 여객기 같은 날개가 존재하지 않는다. 그렇지만 과거 SF 소설의 삽화에는 우주를 나는 비행기(?)에도 아주 폼나는 날개를 그려 놓곤 해 왔다.
끝으로 사진 추가.
http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:Speed_of_light_from_Earth_to_Moon.gif
http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:Mars_Moons_Orbit_distance_flipped.jpeg
화성의 위성과 지구의 달이 얼마나 극과 극인지를 단적으로 보여주는 사진이다.
일단 화성 자체가 반지름이 지구의 거의 절반에 불과할 정도로 작은 행성인데, 그 작은 화성을 저렇게 확대하고도 화성의 위성은 먼지 정도로밖에 보이지 않는다.
사실, 화성의 두 위성은 구 모양을 이루지도 못할 정도로, 위성이라고 부르기도 민망한 작은 돌덩어리일 뿐이다. (지름 10~20km대) 공전 주기도 대단히 짧고 화성으로부터 불과 1~2만 km대밖에 떨어져 있지 않다. 참고로 지구의 정지 궤도가 3만 5천 km대이고, 포보스의 궤도는 지구로 치면 중궤도 정도 수준밖에 안 된다.
그 반면 달은? 크기가 그 큰 지구의 무려 1/4에 달하며(지름 약 3500km), 지구와도 무려 38만 km나 떨어져 있고 아주 서서히 지구로부터 멀어지고 있다. 지구 크기를 저렇게 줄여 놓아도 달도 선명하게 보이는 게 신기하지 않은지? 달은 정말 지구에게 어울리지 않는 인위적이고 비정상적으로 큰 위성임이 틀림없다.
Posted by 사무엘
그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.
- 사무엘
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |