« Previous : 1 : ... 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : Next »

요즘 학교나 관공서의 전산망에서는 인터넷 접속을 위해서 특정 보안 솔루션 ActiveX들과 그것도 모자라서 바이러스 백신까지 무조건 설치하라고 강요하는 걸 볼 수 있다. 그걸 안 하면 사이트 접속이 되질 않게 해 놓았다.  허나 본인은 그런 보안 솔루션들에 대해 정서적으로 굉장한 반감을 갖고 있으며, 그것들을 몸서리치게 싫어한다.

여러 보안 솔루션 중 키보드 보안 프로그램이 하는 역할은 아마도 사용자의 키 입력(비밀번호 같은)을 메시지 훅킹으로 가로챌 수 없게 하고, 반대로 없는 키 입력을 소프트웨어적으로 생성할 수 없게 하는 일일 것이다(온라인 게임에서 오토의 실행 차단). 또한, 은행 돈거래 관련 정보가 담긴 패킷은 정보가 유출되더라도 의미 파악이나 변조가 거의 불가능하게 아주 복잡한 계산을 동원한 암호화/해독이 클라이언트에서 행해져야 할 필요가 있을 것이다. 그런 기술적인 필요를 본인은 모르는 건 아니다.

다만, 웹 표준만으로 도저히 구현할 수 없는 운영체제 커널 기술 수준의 보안이 불가피하게 필요하다면, 차라리 무리해서 웹 애플리케이션을 만드는 걸 포기하고 깨끗하게 로컬 환경에서 돌아가는 exe 형태의 프로그램과 배포 패키지를 만들었으면 좋겠다.

nProtect 부류의 이상한 프로그램들은 웹브라우저를 끈 뒤에도 계속 메모리 차지하면서 남아 있는 것 정도나 보기 싫은 수준이고 그나마 ‘낫다’. 하지만 이놈의 빌어먹을 백신은 답이 없다. 바이러스나 악성 코드에 걸리지 말라고 설치하는 솔루션들이, 깔고 나면 악성 코드나 그 이상 수준으로 민폐 끼치면서 컴퓨터 성능을 쪽쪽 갉아먹기 때문이다. 좀 심하게 표현하면 컴을 완전히 병신으로 만들어 놓는다.

마치 치안과 국방을 담당해야 할 자국의 정규군이나 경찰이 하라는 일은 안 하고 자기네들부터 민폐 끼치고 민간인들을 등쳐 먹는다거나, 반공을 빌미로 공권력이 심심하면 멀쩡한 생사람을 빨갱이로 몰아서 잡아 죽인다거나 하는 상황을 생각하면 되겠다.

맥북 이전 4대 노트북을 쓰던 시절의 일이다. 본인이 다니는 학교는 내부에서 와이파이로 인터넷에 접속할 때 NetCare인지 뭔지 하는 보안 ActiveX와 바이로봇 백신을 반드시 설치하도록 강요를 하고 있다. 둘 중 하나라도 설치를 안 하면, 몇몇 사이트는 아예 접속이 되지 않거나 쿠키가 저장되지 않아서 로그인을 할 수가 없으며, 되는 사이트도 보안 솔루션들을 설치하라고 협박하는 문구가 든 프레임이 웹사이트에 제멋대로 추가되어 나오곤 했다.

그래서 본인은 어쩔 수 없이, 울며 겨자 먹기로 마지못해 깔라는 것들을 다 설치해 줬다. 그러자 저런 성가신 현상이 모두 없어지고 인터넷은 잘 되기 시작했다. 그러나 그 뒤부터 내 컴에서는 끔찍한 헬게이트가 시작되었다.

부팅 직후에 시스템이 시작 메뉴 구동 같은 각종 조작에 응답하는 속도가 눈에 띄게 느려졌고, 웹브라우저가 페이지를 여는 속도, 전반적인 파일 액세스 속도도 인내심의 한계를 느끼는 수준이 되었다. 최대 절전 모드에서 복귀하는 시간까지 예전보다 훨씬 더 길어졌다. 멀쩡하던 컴퓨터가 진짜 만신창이 장애인이 된 느낌이었다. 평상시에 운영체제의 메모리 사용량도 예전보다 수십 MB가량 늘었다.

나는 운영체제의 업데이트들은 목록만 자동으로 받게 한 뒤, 다운로드와 설치는 내가 지정한 것만 수동으로 하게 해 놓고 있었다. 그랬는데 그 보안 솔루션은 나의 설정을 씹고, 인터넷만 됐다 하면 마구잡이로 온갖 업데이트들을 제멋대로 받아서 설치했다.

언제부턴가 MS 오피스가 SP2이던 게 느닷없이 SP3으로 바뀌어 있었다. 프로그램이 버전업되어서 좋은 게 아니라 도리어 부아가 치밀었다. “이 자식, 지금까지 왜 이리 느리고 쓸데없이 디스크 액세스를 하는가 했더니, 그 수백 MB짜리 업데이트를 내 동의도 없이 제멋대로 설치하느라 그랬군.” 하는 생각에 말이다.

참다못해 하루는 넷케어고 백신이고 전부 다 모조리 지워 버렸다. 요즘은 백신도 용량이 몇백 MB 수준으로 뭘 하느라 그리도 커졌는지 모르겠다. 이것들을 다 지우고 나자 내 컴퓨터는 거짓말처럼 평화가 찾아왔다. 모든 성능이 예전 상태로 돌아갔다. 보안 솔루션들이 그들의 퇴치 대상인 악성 코드가 하는 짓을 동일하게 하고 있음이 입증된 순간이었다.

이제 맥북을 사용하면서 뜻하지 않게 얻은 큰 수확이 있다. 보안 솔루션 제약은 Windows 운영체제에만 적용되며, 맥에서는 그런 게 전혀 없이도 인터넷을 곧바로 자유롭게 이용할 수 있다는 것. 야호! 빌어먹을 넷케어니 바이로봇 따위를 설치하지 않아도 된다. 맥OS가 날 구했다. 스잡빠니 애플빠니 난 그딴 건 모르지만, 어쨌든 이거 덕분에 맥OS 호감도가 급상승했다.

한편, 고향에서도 비슷한 일을 최근에 겪었다. 고향집 컴퓨터가 언제부턴가 병신 중의 상병신이 돼 있었다. 부팅 후에 시작 메뉴를 눌러도 한참 동안 반응이 없고, 웹브라우저를 띄운 뒤에 창이 나타나기까지 몇 분이 족히 걸리고 있었다. 레지스트리나 파일 디렉터리를 살펴봐도 딱히 악성 코드에 걸린 것 같지는 않은데 영문을 모를 노릇이었다.

이 현상의 주범은 바로 V3 Lite였다. 이놈을 당장 지우자 컴퓨터는 운영체제를 갓 설치한 직후처럼 아주 쌩쌩해졌다! 그러니 난 도대체 진짜 악성 코드란 어떤 놈인지 가치관의 혼란을 겪을 수밖에 없었다.

바이러스가 묻은 메일 첨부 파일을 클릭한 것도 아니고, 이상한 사이트를 돌아다니다가 ActiveX 설치에 ‘예’를 누른 것도 아니었다. 이 V3은 어머니께서 집에서 인터넷으로 업무를 보시기 위해 어쩔 수 없이 설치한 것이었다. 이거랑 무슨 희한한 듣보잡 ActiveX들을 설치하지 않으면 직장의 업무 자동화 시스템에 접속이 되질 않기 때문이었다.

이런 일련의 사건을 겪은 뒤, 나는 더욱 더 백신 따위는 죽어도 절대로 쓰지 말아야겠다는 생각을 굳게 하게 되었다. 옛날처럼 백신이 그냥 사용자가 요청할 때만 파일이나 메모리를 스캔하면서 바이러스 검사를 해 주던 시절이 그립다. 저런 거지 같은 잉여 쓰레기 프로그램을 얹고도 작업을 원활하게 하려면, 가히 정말 최신식 최고급 컴퓨터를 써야겠다. 아니, 내 컴퓨터가 아무리 빠르고 메모리가 썩어 넘친다 해도 저런 프로그램에게 컴퓨터 자원을 내어 주기는 싫다.

보안을 빌미로 원치 않는 프로그램의 설치를 강요하는 이런 못돼먹은 풍조가 좀 없어졌으면 하는 바람이 있다. 이런 일이 계속될수록 이에 대한 반발 심리로 나의 컴퓨터 보안 위협 불감증은 더욱 커질 것이다.

Posted by 사무엘

2012/04/02 19:23 2012/04/02 19:23
, , ,
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/663

1.
오늘날 전세계적인 히트를 친 게임을 만든 유명 개발사가 왕년에는 이런 고전 게임을 만든 적이 있었고, 그걸 내가 어렸을 때 즐겨 한 적도 있다는 걸 알게 됐을 때 놀라움을 느끼게 된다.

본인의 초등학교 시절의 추억이 담겨 있는 Rick Dangerous 시리즈는 온통 순발력과 타이밍 퍼즐로 가득한 2D 아케이드 플랫폼 게임이다. 체력도 없이 주인공을 즉사시키는 트랩이 곳곳에 지뢰밭처럼 깔려 있고, 여러 번 죽으면서 시행 착오를 겪지 않고서는 트랩을 알 수 없는 것도 많아서 본인은 게임의 레벨 디자인을 개인적으로 좋아하진 않았다.

사용자 삽입 이미지
이 게임의 개발사는 영국의 Core Design이다. 훗날 툼 레이더를 개발한 회사라니 믿어지는가? 1996년에 나온 1부터 시작해 2003년의 Angel of Darkness 시리즈까지를 이 회사가 만든 뒤, 나중에는 개발사가 Crystal Dynamics로 바뀌었다.

2.
Dangerous Dave는 id 소프트웨어의 그 이름도 유명한 존 로메로의 옛날 작품인 거 모르는 분이 별로 없을 것이다. 나중엔 기획 쪽으로 부서를 옮겼지만 이 양반도 프로그래밍을 할 줄 아는 사람이고, 회사 내부에서 쓰는 게임 데이터 제작용 툴 정도는 직접 만들기도 했다.

사용자 삽입 이미지

3.
액션/아케이드 게임은 주인공이 으레 마초스러운 남자이며, 게임의 목적은 언제나 여자친구나 공주님을 구하는 설정인 게 많다. 그러나 그 통념을 정면으로 깨고 오히려 여자가 왕자님을 구하러 모험을 떠나는 게임이 있으니, 바로 Jill of the Jungle 시리즈이다.
사용자 삽입 이미지

1992년에 Epic MegaGames에서 개발한 이 게임은 비슷한 시기의 다른 게임에 비해서는 그래픽이 좀 허접하다. 맵의 각 칸을 구성하는 그래픽이 딱 격자인 게 티가 날 정도이니 말 다 했다.;; 하지만 인상적인 건, 내가 알고 있는 고전 게임들 중에 제일 관대하고 UI가 친절하다는 점이다. 그 당시에 F1 도움말이 있는 게임이 얼마나 됐을까? ㅋ 어디서나 저장 가능하고 게임 주변 환경에 대해서 친절하게 설명이 엄청 많이 나온다. 말이 많다.

그리고 시간 제한도 없으면서 목숨 수 제한도 없다. 그 당시의 2D 아케이드 플랫폼 게임들은 시간 제약이 없으면 목숨 수 제한이 있다거나, 아니면 그 반대인 것처럼 둘 중 하나는 있는 게 보통이었다. 그리고 목숨 수 제한이 없더라도, 죽고 나면 예전에 먹은 아이템은 다 잃은 채 게임을 해당 레벨부터 다시 시작해야 했는데 이건 그렇지도 않았다.
약간의 고비를 좀 넘기면 한 3, 40분 정도만 애쓰면 무난하게 엔딩을 볼 수 있다.

이 게임을 만든 프로그래머는 Tim Sweeney이다. 그렇다. 훗날 3D 게임용 Unreal 엔진을 만든 그 개발자이다.

4.
길 잃은 바이킹(The Lost Vikings)은 1992~93년을 풍미한 유명한 게임이다. 한 주인공만 조종하는 여느 아케이드 플랫폼 게임과는 달리, 이 게임은 제각기 특기가 다른 세 명의 주인공을 순서대로 조종해서 맵의 퍼즐을 풀고 이동해야 한다. 달리 빨리 달리고 점프를 할 수 있는 놈, 화살을 쏠 수 있는 놈, 방패 겸 낙하산이 있는 놈이 있다.

사용자 삽입 이미지
이 게임의 개발사는 Silicon & Synapse인데, 이게 훗날 디아블로, 스타크래프트, 워크래프트, WOW로 세계를 뒤흔들어 놓는 게임 개발사가 될 줄 누가 알았을까? 그렇다, <길 잃은 바이킹>은 블리자드 엔터테인먼트의 옛 작품이다. id 소프트웨어로 치면 Commander Keen 같은 옛날 작품이라 할 수 있다. RTS 장르만 만드는 줄 알았는데 블리자드도 왕년엔 아케이드를 만들었다.

5.
옛날에 본인이 접한 게임들 중에는 엔딩을 본 것도 있고, 끝내는 정복을 못 한 어려운 것도 있다.
그래서 이것과 관련된 기억을 좀 나열해 보자면.. 대표적으로 보글보글 레벨 32가 있었다.
잘 알다시피 이건, 몬스터를 죽이기 위해 위에 있는 좁은 구멍을 통해 밑으로 들어가는 방법은 대단히 위험하다. 여섯 마리나 되는 몬스터에게 십중팔구 부딪혀 죽는다.

아주 오래 기다리고 있으면 몬스터 중 일부가 구멍 위로 나오는 경우도 있지만, Hurry up과 고래크리 때문에 그때까지 기다릴 수는 없다.
이 레벨까지 오는 것만 해도 천고만신 만신창이인데 레벨 32가 본인의 병목 지점이었고, 여기서 크레딧 다 깎아먹은 뒤 본인은 끽해야 3x나 4x대 레벨이 한계였다. 이보다 더는 무리였다.

사용자 삽입 이미지

그러나 시대가 지나서 요즘은 유튜브에 온갖 고전 게임들을 플레이하는 우주괴수들의 동영상이 나돈다. 공략 사이트들도 있다. 그리고 저 레벨은 방법만 알면 그렇게 어려운 레벨도 아니다. (☞ 공략 사이트 클릭)
비결은 시작 지점에서 거품을 불어서 그 거품 위로 점프를 하여 top-to-bottom이 아니라 bottom-to-top으로 몬스터들 굴 속으로 올라가는 것이다.

단, PC용 버전은 게임기용 버전보다는 그렇게 하기가 더 어렵다.

6.
추억의 레밍즈!
여러 에디션들 중에서 Oh no! More Lemmings의 Crazy 카테고리는 레벨 1도 쉬운 편이 아닌데 레벨 2 Dolly Dimple에선 어지간한 레밍즈 뉴비들은 다 떨어져나가고 만다.

미칠 듯이 쏟아져나오는 레밍즈에 출구까지는 높이 차이가 너무 심하고(추락사), 도구도 얼마 없고, 게다가 100% 다 구출해야 하고..

사용자 삽입 이미지

공략법은 이 그림에 나와 있듯이 한 놈만 저런 땅파기를 이용해 밑으로 내려가게 한 후, 저렇게 사다리를 파는 것이다. 그런데 나는 공략법 보고도 제대로 못 따라할 것 같다.
추락사를 할 높이에서 떨어지더라도 출구로 떨어지는 건 안전하기 때문에, 사다리를 출구 위까지 놓고 쥐들을 거기로 떨어뜨리는 해법도 있긴 하다.
이것도 공략집 사이트를 소개하겠다. (☞ 클릭)

7.
게임 개발 업계에 있는 사람들 사이에서는 완전 상식이겠지만, 왕년의 스타 개발자가 옛날답지 않은 이상한 모습으로 몰락한 사례가 여럿 있다. 앞에서 언급되었던 존 로메로는 id 소프트웨어를 떠난 뒤에 정말 처참하게 망가진 케이스이며, 빌 로퍼도 한때 블리자드의 부사장 자리에까지 올랐지만 거기를 떠난 후 근황이 묘연하다.

그리고 울티마 시리즈를 만들어서 천재 게임 개발자로 추앙받던 리처드 개리엇은 그 명성은 안드로메다로 가고 가히 우주먹튀 수준으로 비아냥의 대상이 되어 있다.

8.
국내의 기업들은 영어나 알파벳을 쓸데없이 남발하고 문서, 간판이나 소프트웨어의 UI 같은 데서 표준어/맞춤법도 틀리는 반면, 오히려 외국계 기업이 그런 걸 더 잘 지키는 경우가 적지 않다.
당장 떠오르는 예는 맥도날드이다. 간판에다 한글로 ‘맥도날드’라고 큼직하게 쓰고 영어로는 작게 보조로 쓴 것 때문에 예전에 민간의 한글 운동 단체들로부터 칭찬을 받은 적이 있다.

그런데 블리자드도 그런 식의 개념 면모 때문에 사용자들로부터 칭찬을 받고 있다고 들었다. 물론, 한국이 블리자드 게임들을 워낙 폭발적으로 사랑해서 매상을 많이 올려 줬으니 거기서도 우리나라를 특별히 배려-_-하는 것일 수도 있지만, 동기야 어쨌든 잘하는 건 잘하는 것이니까. 스타크래프트 2는 동영상에 나오는 사람의 입모양까지 한국어에 맞춰 만들어졌고, 각종 배경에 나오는 문자까지 전부 철저하게 한국어로 바뀌었다.

특히 WOW에서던가 배틀넷에서던가, 채팅 중 입력하는 한글 자모 커맨드를 세벌식 자판 기준까지 지원해 준 건 세벌식 사용자들로부터 오래 전부터 칭송받은 사항이다. 어떻게 외국계 기업이 세벌식 자판까지 알고 로컬라이즈를 할 수 있었을까?

9.
어느 장르에서든 게임이 2D에서 3D로 바뀌면 옛날 같은 개떼 물량전이 퇴색하는 건 어쩔 수 없는 tradeoff임이 분명하다. 아무래도 둘의 CPU 처리 부담의 차이가 장난이 아니니까 말이다.
단적인 예로, 스타크래프트 2나 워크래프트 3에서 스타크래프트 원판의 저글링 개떼 같은 찰진(?) 맛을 느낄 수는 없을 것이다.

둠 2에서 퀘이크로 넘어갔을 때만 해도 그렇다. 100% 폴리곤으로 넘어간 첫 버전이던 퀘이크는 이제 맵 어디를 뒤지더라도 과거의 둠 2 같은 광활한 평지에서 수십 마리의 몬스터들이 우글거리는 모습을 볼 수 없었다.

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

Posted by 사무엘

2012/03/20 19:21 2012/03/20 19:21
, ,
Response
No Trackback , 6 Comments
RSS :
http://moogi.new21.org/tc/rss/response/657

1. 시스템 종료를 시스템 재시작으로 바꾸기

아주 오래 전부터 생각해 오던 건데...
시스템 종료 명령을 내려서 운영체제가 shutdown 중일 때 특정 글쇠를 누르면...
시스템 종료를 철회하는 것까지는 안 되더라도, 최소한 나중에 컴이 아주 꺼져 버리는 게 아니라 reboot/restart로 바뀌게 하기... 이것만 있어도 아주 아주 편할 것 같다. 난 윈 9x 시절부터 이거 필요성을 몇 년째 느껴 왔다. -_-;;
기술적으로 별로 어려운 것도 없을 텐데.

2. IE의 안습한 속도

내가 IE 쓰면서 굉장히 불만스럽고 싫은 것 중 하나는..
페이지 인코딩이나 팝업 허용 옵션을 변경할 때 매번 해당 페이지를 reload하는 것...
최소한 사용자한테서 묻고 하거나, 지금 로딩돼 있는 놈을 해당 설정만 바꿔서 다시 표시할 수 없나?

그리고 속도도 불만이다. 웹 브라우저가 체감 성능이 좋으려면 페이지 캐싱을 잘 해야 하고 자바스크립트 구동하는 속도가 빨라야 하고 HTML 파싱과 렌더링 알고리즘이 좋아야겠지만, 그 중 기본 중의 기본은 새 탭이나 새 창을 띄우는 반응 속도가 빨라야 한다.

그런데 이 속도를 IE와 사파리와 구글 크롬 이 셋끼리 비교해 보면 IE는 그저 한숨만 나올 뿐이다.

Ctrl+N/T를 누르거나 링크에 대한 Ctrl/Shift+클릭을 했을 때의 반응...;;
IE 이놈은 살 좀 빼야 할 것 같다.
그래도 다운로드 확인 대화상자가 떠 있는 동안 미리 다운로드를 하는 건 좋은 아이디어이며, 체감 다운로드 속도를 크게 끌어올린 주역이다. IE9가 머리 좀 썼다..

3. 악성 코드가 붙은 웹페이지

다만, 크롬도 성가시고 불편한 점이 없지는 않다.
일부 사이트에 들어가면 이 사이트는 어디어디로부터 유래된 악성 코드가 묻어 있으니 위험하다면서 브라우저가 페이지 표시를 거부한다.
요즘 아무리 HTML이 동적인 요소가 많이 발달했다 해도, HTML은 기본적으로 컴퓨터에 아무 영향을 주지 않는 문서일 뿐인데 정보 열람을 브라우저가 제멋대로 거부하니까 굉장히 불쾌하다. 오피스 문서도 출처가 의심스러운 매크로가 있으면 매크로만 제외하고 보여주면 되지 않는가.

실제로, 그런 사이트들의 소스를 보면 문서가 다 끝난 닫는 html 태그 뒤에, 또 이상한 자바스크립트가 들어가 있긴 하다. 이런 건 정체가 무엇이며 내 컴퓨터에 정확하게 어떤 영향을 끼칠 수 있는지? 이런 사이트는 서버가 해킹이라도 당했기 때문에 소스 뒤에 이상한 자바스크립트가 첨부되어 나오는지? 여러가지 디테일이 궁금하다. 바이너리 형태인 EXE 실행 파일 안에 바이러스 코드가 붙은 것도 아니고, 텍스트 형태인 웹문서 소스에도 악성 코드가 붙을 수 있구나? -_-

4. 사용자 계정 컨트롤 (UAC)

윈도우 비스타에서 이 기능이 첫 도입된 취지는 적극 이해한다만, 이를 제대로 인식이나 활용 못 하는 옛날 애플리케이션들 때문에 상당히 고달프다.
다른 브라우저는 테스트하지 않았다만, 내 컴의 IE9는 일반 권한 모드로 실행하면, TextCube 블로그 엔진으로 글 쓰면서 첨부 파일 업로드 버튼을 눌렀을 때 파일 열기 대화상자가 먹통이 되고 뜨지 않는다. 웹 프로그래밍이 UAC의 영향을 받기라도 하나? 그 이유는 모르겠다. 어쨌든 당장 내 블로그에다 그림이 곁들여진 글을 올릴 때는 IE를 관리자 권한으로 실행해야 한다.

여차여차 하다 보면 결국 일반 권한 프로그램과 최고(=관리자) 권한 프로그램이 뒤섞여 있게 되는데, 일반 권한 프로그램은 관리자 권한 프로그램에다가 메시지를 보내거나 interprocess communication을 할 수 없다. 그래서 분명 파일을 열라는 요청을 내렸는데 이게 아무 말도 없이 씹힌다거나 하는 일이 비일비재하다. Program Files 폴더 아래에다가 파일을 건드리는 (몰상식한) 프로그램의 경우, 이게 진짜 Program Files인지, 아니면 UAC가 redirect한 가짜 Program Files인지도 아리까리해지고.. 불편하다.

그리고 나로 하여금 운영체제 차원에서 UAC를 끄지 않을 수 없게 만든 결정적인 주범은 아래아한글 2007.
UAC가 켜져 있으면 아래아한글을 “관리자 권한 주고 실행”하더라도 PDF 인쇄 기능이 전혀 동작하지 않고 그냥 먹통이 된다. 아래아한글 전용 글꼴인 HFT는 자기네 전용 드라이버를 안 쓰면 PDF로 제대로 만들지도 못하는데, 문제는 본인은 아래아한글 2.5 확장팩 글꼴 매니아여서 HFT를 안 쓰면 안 된다는 것. -_-

차라리 발상을 정반대로 바꿔서 말이다. 평소에는 전체 권한으로 지내다가, 좀 risk가 있는 웹페이지 들어갈 때 사용자가 지정한 특정 응용 프로그램만 “권한 낮춰서 실행” 이렇게 접근하는 건 어떨까 싶기도 하다. 파워 유저의 입장에서는 그게 더 편할지도..;

5. 컴퓨터의 시계

시계가 없는 컴퓨터란 상상할 수 없다. 컴퓨터의 내부에는 상당히 정확한 시계가 있다. 기계식일 리는 없고 당연히 전자식.
옛날에 IBM PC XT는 시계 배터리가 없었다. 그래서 컴을 켤 때마다 날짜와 시각을 다시 설정해야 했으며, 이 때문에 당시 MS-DOS는 autoexec.bat가 없더라도 date와 time 명령은 수행한 후 명령 프롬프트가 나타났었다.

그 반면 오늘날처럼 제대로 된 컴퓨터와 운영체제 하에서는 시스템의 날짜와 시각을 바꾸기 위해 관리자 권한이 필요하며, 사실 그렇게 해야 하는 게 마땅하다. 시스템의 날짜· 시각이 멋대로 바뀔 수 있으면 그걸 기준으로 동작하는(특히 뭔가 업데이트 여부를 판단하는) 프로그램들이 모조리 혼란에 빠진다.

윈도우 운영체제를 쓰다가 간단하게 달력을 꺼내 보는 방법은, 작업 표시줄에 있는 시계를 더블클릭하여 날짜/시각 대화상자를 꺼내는 것이었다. 그게 옛날에는 대화상자였는데 비스타부터는 간단한 팝업창처럼 바뀌어서 키보드 포커스를 잃으면 창이 바로 사라져 버리며, 결정적으로 창을 옮길 수가 없게 되어 좀 불편해졌다.
다만, 비스타부터 다른 시간대의 추가 시계를 출력하는 기능이 추가된 것은 아주, 대단히 편리하다. 마음에 든다. 본인은 LA의 시간대와, GMT 표준시간대를 추가해 놓고 지낸다.

그나저나 시계 하니까 생각나는데... 시계의 원조는 기계식 시계이며, 톱니바퀴와 렌치가 일반인들의 머리에 각인되어 있는 기계의 상징인 건 틀림없는 것 같다. 그래서 윈도우에서도 DLL 확장자의 상징 아이콘은 톱니바퀴 그림이고, 각종 공구 모양은 제어판이나 도구, 옵션 기능의 아이콘이 되어 있다.

6. Task dialog

잘 알다시피 윈도우 비스타부터 Task Dialog는 아주 멋진 UI 요소가 추가되었다.
그런데 여기에서 좀 이상한 동작 방식을 우연히 발견하여 여기에 그 내역을 공개한다.
Windows 환경에서는 Alt+F4는 창 닫기 내지 종료를 의미하며, 대화상자는 당연히 '취소'로 닫기 때문에 ESC와 역할이 거의 같다.
하지만 Task dialog를 Alt+F4로 닫아 보면... '취소'가 아니라 언제나 맨 첫째 버튼을 누른 결과가 전달되는 듯하다.

메모장을 띄운 뒤, 텍스트를 고치고서 저장 안 하고 Alt+F4를 누른다.
“변경 내용을 저장하시겠습니까?” 대화상자(task dialog임)가 뜬 상태에서 포커스를 '저장'이나 '저장하지 않음', '취소' 중 아무것에다 둔 뒤에 Alt+F4를 누르면...
놀랍게도 '다른 이름으로 저장' 대화상자가 뜬다. 맨 왼쪽의 '저장' 버튼이 눌린 것처럼 반응이 온다.
이거 좀 문제가 있어 보인다.
윈도우 비스타와 7 모두 최신 서비스 팩 있는 상태에서도 동일하게 동작함.

Posted by 사무엘

2012/02/16 19:32 2012/02/16 19:32
Response
No Trackback , 12 Comments
RSS :
http://moogi.new21.org/tc/rss/response/642

본인의 고향집에 있는 부모님께서 사용하시는 PC는 내가 쓰는 PC보다야 훨씬 더 구닥다리 기종이다.
몇 년 전까지만 해도 펜티엄 3에 램은 192MB인 윈도우 2000/ME급 사양이었다. 완전 골동품..;;

그런데 컴퓨터에 이상이 생겨서 서비스를 받고 났더니, 도대체 누구에게서 서비스를 받았는지는 모르겠지만 저 컴퓨터에 윈도우 XP가 깔려 있었다.;;
잘 알다시피 XP는 못해도 램이 256MB 정도는 돼야 쓸 수 있는 덩치이지 않은가. 부팅에서부터 간단한 인터넷 확인을 하기까지 걸리는 시간이 본인의 인내심의 한계를 느끼게 했다.

결국 본인은 내가 대학 학부 시절에 쓰던 펜티엄 4 + 램 512MB짜리 컴으로 PC를 교체해 드렸다. 부모님이야 진짜로 간단한 인터넷 접속 + 워드 작업밖에 안 하시기 때문에 기계가 물리적인 고장만 안 난다면 이 컴을 앞으로 10년-_-은 더 쓰실 법도 해 보였다. 한때 내가 개인 작업용으로도 쓰던 컴이었으니, 인계 당시 최적화는 잘 되어 있었고 윈도우 XP의 체감 속도는 씽씽 날아다니는 수준이었다.

그러나 행복은 오래 가지 못했다.
언제부터인가 고향에 가서 확인해 보니, 악성 코드가 덕지덕지 달라붙어서 컴의 성능을 다 깎아먹고 있었다.
부팅 직후에 시작 메뉴를 열어서 웹브라우저를 띄울 때 운영체제가 굼뜨는 모습이 꼭 옛날의 램 192MB짜리 컴을 쓰던 것과 비슷했다. 램이 그보다 두 배 이상 더 많은 컴에서 말이다.;;

시스템 정보 → '로드된 모듈'을 보면 정체 불명의 이상한 dll이 explorer.exe 내지 iexplore.exe에 달라붙어 있었고, 파일을 지우고 레지스트리를 아무리 정리해도 이런 파일은 재부팅 후에 잡초처럼 계속 생겨나곤 했다.
USB 포트로 메모리 스틱이나 외장 하드를 이 컴에다가 꽂았다가 빼서 확인해 보면, 역시나 루트 디렉터리에 이상한 exe와 autorun.inf가 생겨 있었다.

나는 이런 부류의 악성 코드들이 운영체제에 어떤 방식으로 기생하는지, 어떻게 전염되는지 기술적 디테일을 전혀 알지 못한다.
내 컴퓨터에 지금까지 그런 것들이 침입한 적이 없으며, 내가 스스로 대처한 경험이 없다. 난 내 컴에 백신도 전혀 안 깔고 지낸다.

저런 악성코드를 완전히 뿌리뽑는 방법을 모르기 때문에, 본인은 집 컴의 C:를 그냥 밀어 버리고 운영체제를 다시 설치했다. 사실, 컴퓨터의 상태가 굉장히 안 좋기도 했다.
마침 내가 대학 시절에 만들어 놨던 윈도우 XP sp0(-_-) 원본 씨디가 있어서 그걸 썼다.
XP sp2 통합 씨디 이미지를 갖고 있긴 하지만, 또 씨디 굽기가 귀찮아서..;;
허나 그것이 본인에겐 고난의 시작이었다..;;

운영체제 자체의 설치는 40분 남짓한 시간 만에 별 탈 없이 됐다.
그래픽 카드는 nVidia GeForce의 완전 구닥다리 초창기 모델이어서 그런지, 별도의 드라이버를 설치할 필요조차 없이 운영체제가 알아서 잡아 줬다.
원래 그래픽 카드가 잡혀 있지 않으면 그냥 800*600 슈퍼 VGA의 제일 기본 VBE 모드만 가능하다. 그것보다는 약간 나아진 셈이다.

그리고, XP 이전 2000 이하의 OS는 그래픽 카드 드라이버를 설정 안 하거나 안전 모드로 부팅한다거나 하면, 아예 640*480 16컬러 VGA밖에 지원되지 않았으니 그 시절은 참 어지간히도 암울했었다. 단, 덧붙이자면, 9x 계열과는 달리 2000은 원시적인 16컬러 VGA에서도 화면이 바뀌는 곳에서 마우스 포인터가 깜빡거리는 현상이 없던지라, 얘는 하드웨어 제어를 어떻게 하는지 본인은 개인적으로 궁금증이 들곤 했다. 이것이 NT 커널의 위력인가..?

악성 코드 없이 광속으로 반응하는 청정 OS를 써 보는 기쁨도 잠시. 새 OS는 인터넷이 되지 않았다. 20세기의 유물로 전락한 전화 걸기 대화상자가 뜨는 걸 보고 경악했다.
어라? 네트워크가 전혀 설정되어 있지 않았고, 장치 관리자에 가 보니 이더넷 컨트롤러의 드라이버가 정체 불명이라고 찍혀 있었다.

본인의 컴퓨터 하드웨어 지식은 “요즘은 랜 카드나 사운드 카드는 다 마더보드 내장인데 OS가 알아서 다 잡아 주지 않나?” 정도에 머물러 있었다. 그래서 생각한 두 가지 카드는 다음과 같았다.

1. 2001년에 나온 구닥다리 SP0이어서 못 잡는 것이 아닐까? SP2를 따로 설치하면 아마 자동으로 잡힐 것이다. (잘 알다시피 윈도우 XP SP3은 SP1 이상을 요구하며, SP0에서 바로 설치 못 함)
2. 아니면, 이 컴퓨터의 랜 카드의 메이커가 뭔지는 모르겠지만 Realtek 브랜드의 드라이버 아무거나 설치해 주면 될 것이다.

사실, 최신 운영체제는 무엇보다도 최신 하드웨어의 지원 능력면에서 구버전보다 우월하다. 이 점에서는 심지어 과거의 윈도우 ME도 98 SE보다 훨씬 더 낫다. 98만 해도 드라이버를 따로 설치 안 하면 USB 메모리조차 인식을 못 하기 때문이다.

그래서 250여 MB에 달하는 SP2 설치 파일을 다른 곳에서 애써 복사해 오고, 내가 아는 랜 카드 드라이버를 몇 개 구해서 설치해 봤다. 하지만 두 시도 모두 실-_-패로 끝났다. 특히 SP2는 이 운영체제가 어둠의 경로-_-로 설치된 거라는 걸 알기라도 했는지 제품 시리얼 번호를 갖고 트집을 걸면서 더 진행을 거부하였다.

이런 와중에 새 OS는 설치된 지 불과 몇십 분 만에 또 악성 코드에 감염됨으로써 나에게 충격과 공포를 안겼다. 인터넷이 아예 안 되는 컴퓨터가 어떻게 그렇게 될 수 있는가...????

범인은 아까 그 프로그램들을 복사· 설치하기 위해 꽂은 어머니의 USB 메모리였다. 그 메모리는 이미 예전 컴퓨터로부터 악성 코드가 묻을 대로 묻어 있었을 것이고, 가만히 생각해 보니 USB 메모리의 autorun을 실행하지 않게 하는 윈도우 보안 패치는 생각보다 한참 뒤에 발표되었다. 그리고 이 컴퓨터의 OS는 업데이트 하나 없는 XP sp0으로, 온갖 보안 결함에 무방비로 노출되어 있는 호구이지 않던가. 이런 우라질레이션..;; -_-;;

도대체 CD롬도 아니고, 디스켓이나 다름없는 USB 메모리를 꽂기만 하면 자동으로 autorun이 돌아가게 해 놓은 친구는 무슨 생각으로 그런 기능을 넣었는지 모르겠다.. 키보드 입력을 버퍼 크기 제한도 없이 받아들이는 C언어의 gets 함수만큼이나 보안 면에서 멍청하고 위험한 디자인이 아닌가?

그런 주제에 윈도우 XP의 설치 프로그램은 설치 도중에 자기 운영체제와 웹브라우저에 대해서 '가장 강력하고 보안이 뛰어나다'고 자화자찬을 늘어놓고 있으니 그 어이없음에 웃음이 나올 뿐이었다. 뭐, 10년 전에 그랬다는 소리니까 봐 주자.;; 9x 계열이 갖고 있던 자유도와 유닉스 계열의 엄격함과 탄탄함(robustness)은 동시에 충족될 수 없는 이율배반적인 이념이니까 말이다.

이미 시스템 정보에는 악성 코드 DLL이 올라가 있었고, 레지스트리에서는 역시 정체 불명의 실행 파일이 시작 프로그램으로 등록되어 있었다. 탐색기에서 드라이브를 열 때의 동작 방식도 이상하게 바뀌었다.
악성 코드를 없애려고 운영체제를 재설치했는데 일이 꼬여서 이렇게 되었고 랜 카드도 전혀 잡히지 않았으니, 본인은 난감하지 않을 수 없었다.

결국, SP2가 적용된 윈도우 XP 원본 씨디를 또 만들었다. 귀찮아서 안 하려 한 짓을 결국은 하게 됐다. 그리고 그걸로 XP SP0을 밀고 윈도우를 또 새로 설치했다. 그래서 악성 코드는 노아의 홍수와 같은 심판으로 또 없애 버렸지만, SP2로도 랜 카드는 여전히 잡히지 않았다.

참다못해, 이놈의 랜 카드의 정체가 뭔지 파악하기 위해 컴퓨터의 케이스를 개방해야 했다. 랜 카드는 ASUS 마더보드 내장형이었는데, 모델명별로 자기만의 랜 카드 드라이버가 따로 있는 모양이었다.
장치 관리자에서 드라이버를 이걸로 업데이트하자 드디어 네트워크 설정이 잡히고 인터넷이 되기 시작했다. 휴우... 이런 경험은 난생 처음이었다.

인터넷이 되니 이제 큰 불은 껐다. 다른 소프트웨어를 설치하기 위해 가상 CD 구동 프로그램을 설치하고, 그리고 구닥다리 IE6을 당장 IE8로 교체했다. 세상에 컴퓨터 역사상 굴지의 IT 기업들이 앞장서서 “고객님, 제발 이 버전 쓰지 말고 업그레이드 하세요!”라고 하소연을 하고, 너무 오래 살아남아서 죽지 못해 사는 좀비처럼 된 소프트웨어가 IE6 말고 또 있을까?

비주얼 C++ 6도 너무 오래 살아 있는 소프트웨어이긴 하지만, 일단 이건 불특정 다수가 쓰는 프로그램은 아니고. 그런데 요즘은 어느샌가 IE 7마저도 이제 지원 안 할 거니까 업글하라고 눈칫밥을 주는 웹사이트가 하나 둘씩 생기고 있다.

IE 7이나 8을 XP에서 첫 설치하려면 무슨 IME의 동작과 관련된 운영체제 패치부터 먼저 설치해야 한다는 걸 처음 알았다. IE는 잘 알다시피 문자 입력과 관련된 괴이한 현상이 심심찮게 존재하는데, 역시 서로 민감한 부위를 건드리긴 하는가 보다.
플래시 메모리에 묻어 있는 악성 코드도 못 걸러내는 주제에, 웹브라우저가 자동 다운로드 기능을 차단하는 건 본인은 개인적으로 굉장히 불편했고 헛다리 짚는 듯한 느낌이었다. 필요한 팝업창을 차단해서 불편한 것보다 더 불편했다.

이런 식으로 컴퓨터를 대강 세팅했다. 고향에서 맨날 밥만 얻어먹고 가는 게 아니라 이번엔 고향집 컴퓨터를 깔끔하게 정리하고, 아버지 차에다가 내 돈으로 기름도 몰래 채워 넣는 등, 이쁜 짓(?)도 좀 하고 왔다. ^^;;
허나, 내년 설날에 고향에 가 보면 또 컴퓨터에 악성 코드가 덕지덕지 묻어 있을 것 같다. -_-;;; 혹시 부모님 직장의 컴들은 이미 다 오염돼 있지는 않나 모르겠다. 여쭤 보니 운영체제도 비스타/7이 아니라 XP라던데.. 더욱 걱정된다.

글을 맺으며..;;

1. 이번 일을 계기로, 보안 패치 없는 윈도우 XP는 정말 쓰레기라는 걸 체험했으며, 컴퓨터 환경에 따라서는 랜 카드도 저렇게 잡아 줘야 한다는 걸 알게 됐다.

2. 옛날에 윈도우 9x는 설치 GUI가 아예 윈도우 3.x 엔진 기반이었다. 그리고 9x만의 특징인데, 오래 쓰다 보면 가끔 메뉴의 ▶ 모양이라든가 윈도우의 버튼들이 숫자· 문자로 바뀌는 기괴한 버그가 나타나곤 했다. 아무리 옛날에 PC 환경이 열악했다고 해도, 그런 허접하고 불안한 운영체제를 어떻게 몇 년간 썼는지 놀랍기 그지없다.

3. 악성 코드는 정말 구제역 같은 느낌이 든다. 컴퓨터 보안 쪽으로 더 알고 싶다.

4. 윈도우 비스타가 깔린 본인의 컴은 데스크톱과 노트북 모두 3~4년째 OS의 재설치 없이 악성 코드 청정 지대이며, 이상 무이다.

Posted by 사무엘

2011/10/11 19:25 2011/10/11 19:25
, ,
Response
No Trackback , 10 Comments
RSS :
http://moogi.new21.org/tc/rss/response/583

컴퓨터의 성능이 향상되고 그에 맞춰 인터넷 기술이 눈부시게 발달하면서, 예전에는 로컬 환경이 아니면 불가능하던 일이 웹에서 곧장 가능해져 왔다. 웹에서 바로 사용하더라도 ActiveX를 깔아야 해서 플랫폼 독립성이 보장되지 않았고 어차피 로컬에서 프로그램을 돌리는 것과 별 다를 바 없던 기능도, 이제는 그조차도 필요 없어진 것이다.

본인은 웹 프로그래밍은 잘 모르는 사람이지만, 오늘날 존재하는 기술 계층을 다음과 같이 크게 세 등급으로 나눈다.

Level 3: 웹 표준만으로 다 커버되는 기능을 일컫는다. 기기와 CPU를 불문하고 표준을 준수하는 모든 웹브라우저에서 쓸 수 있는 기능이므로 가장 보편적이고 깨끗하다. 비록, Level 1,2만치 빠른 성능이나 세세한 컴퓨터 조작은 기대하기 어렵다는 구조적인 한계는 있으나 그 한계는 놀라운 속도로 줄어들고 있다. 위지윅 웹 에디터조차 이 계층으로 내려왔으니까.

Level 2: 플래시 정도의 별도 컴포넌트는 써야 하는 기능이다. 플래시는 워낙 너무 유명해서 사실상 표준으로 정형화해 있긴 하다만, 이 계층의 미들웨어도 일종의 노다지 시장인지라, 잘 알다시피 마이크로소프트의 Silverlight가 팽팽히 맞서는 중이다. 동영상은 flv 덕분에 현재 Level 2가 대세로 정착하였으나, HTML5의 등장 덕분에 Level 3로 내려가는 게 점쳐지고 있다. 그래도 옛날에는 동영상조차도 Level 1이었다.
리눅스나 아이폰에서는 어른들의 사정 때문에 플래시가 제대로 지원되지 않는 등, 몇몇 잡음과 애로사항이 존재하기도 한다.

Level 1: 여전히 어떤 형태로든 운영체제 내지 특정 컴퓨터 아키텍처에 종속적인 네이티브 코드의 도움을 브라우저 외부로부터 받아야 하는 기능이다. 시스템 훅킹을 써야 하는 키보드 해킹 방지 툴이라든가, 레지스트리를 검사하는 프로그램 업데이트 관리자 등. 사용자의 컴퓨터가 이 프로그램을 설치할 수 있는 사양인지 체크하는 기능을 웹으로 구현하려고 해도 ActiveX가 필요할 것이다. 이 레벨의 입지는 앞으로 줄어들 것이고 그래야만 정상이지만, 그러나 완전히 없어지지는 않을 것이다.

웹 환경의 발전 덕분에, 단순 정보 열람 성격이 강한 프로그램이 로컬에서 제일 먼저 퇴출되었고 웹 형태의 프로그램으로 다 탈바꿈했다. 대표적인 예가 사전. 오늘날은 아래아한글 번들의 한컴사전만이 로컬에서 겨우 명맥을 유지하고 있을 뿐이다. (난 지금도 아주 잘 쓰고 있는데. -_-) 이거 전신이 과거 도스용 아래아한글의 덧실행 프로그램이었으니, 참 격세지감이다.
아울러 HTML5로는, 이젠 어지간한 프레젠테이션도 심지어 플래시조차 동원하지 않고 Level 3 계층만으로 다 가능하다고 하더라.

인터넷 지도는 그런 식의 혜택을 가장 많이 본 분야가 아닌가 싶다.
본인은 중/고등학교 시절에 아래아한글 97 CD에 번들로 내장되어 있던 MFC 기반 허접 지도 프로그램을 구경하였으며, 2001년경엔 ActiveX 기반의 한미르 지도를 인터넷에서 처음으로 접했다. 그리고 2003년 말에 콩나물을 처음으로 접했다(현재는 다음 지도에 합병).

그랬는데 인터넷 지도 기술이 이 정도로 기가 막히게 발달하게 될 줄은 정말 예상하지 못했다.
콩나물도 처음에는 ActiveX가 필요했다. 하지만 얼마 되지 않아 그런 건 없어졌고..

이제는 단순 지도 그림 열람은 플래시조차 없어도 되는 L3이 되었다. 지도도 모자라서 전국의 항공 사진까지 제공된다. 다음 지도는 한술 더 떠서 로드뷰라는 엽기적인 기능까지 제공하는데, 그런 기능은 한 등급 올라가서 플래시를 사용하는 L2 계층에서 구현되어 있다.
(참고로 옛날에 철도청 홈페이지에는 새마을부터 통일호까지 열차 내부를 딱 그런 시점으로 열람하는 기능을 제공했는데, 그건 아마 자바 애플릿 아니면 ActiveX 기반 구현이었다.)

한편, 구글 지도는 역시 미국에서 만든 서비스답게 도로의 이름이 우선적으로 잘 나와 있는 게 무척 인상적이다. 다음이나 네이버 같은 국내 지도는 도로 이름보다는 교차로의 이름의 기재에 더 충실한데, 이는 서로 vertex냐 edge냐 하는 차이 같다.

구글 지도가 제공하는 진짜 안드로메다급의 충격적인 기능은 잘 알다시피 Google Earth 되시겠다. 물론, 처음부터 구글이 만든 건 아니고 다른 회사 제품을 인수한 것이긴 하다만, 사람이 거주하는 세계 거의 전역의 위성 사진을 진짜 지구본 뱅그르르 돌리는 느낌으로 열람할 수 있다. 가히 신의 눈 수준. 말세에 인간이 정말 이런 기술까지 경험하는 게 경악스럽다.

이미 아시는 분도 있지만, 구글 지도의 위성 사진은 국내 지도가 보안상 표기하지 않고 있는 청와대, 군용 시설, 발전소 등도 남김없이 까발린다. 산으로 뒤덮여 있는 녹사평 역 주변을 구글 지도로 들여다보다가 까무러칠 뻔 했다. (담장 너머로 펼쳐진 미군 부대는 완전 소도시 수준이었다.. 그것도 서울 한복판에서!)

플래시 버전의 Google Earth도 있긴 하지만, 어쨌든 구글 지도에서 이 earth 기능을 웹에서 정식으로 사용하려면 별도의 클라이언트 프로그램을 설치해야 한다. 즉, L1 등급. 그 정도로 복잡하고 방대한 기능은 아직 L3이나 L2만으로는 감당이 안 될 법도 하다.

인터넷 지도를 보니까 기술의 발전이 놀라운 한편으로 웹 프로그래밍의 기술 등급이 떠올라서 글을 끄적여 봤다.
로드뷰까지 등장한 마당에 전국 철길에 대한 레일로드뷰도 있어야 한다고 주장해 보지만, 철도는 보안 시설이다 보니 안 될 거야 아마.. ㄲㄲㄲㄲㄲ

Posted by 사무엘

2011/09/07 19:17 2011/09/07 19:17
, ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/566

본인은 윈도우 플랫폼용 한글 입력기의 개발자이다. 그런데 진짜 옛날 도스 시절, 텍스트 모드가 따로 있던 시절에 한글 입출력 바이오스 같은 건 어떻게 구현했는지가 무진장 궁금해질 때가 있다.
출력은 그렇다 치더라도 입력은 어떻게 구현했을까? 게다가 한글도 모자라서 한자 입력은?
그리고 한글 정도면 양반이지 도스 시절에 일본은 사정이 어땠을까? 한자 변환까지 포함한 일본어 입력이 가능했을까? -_-;;

IBM 호환 PC는 그렇게 그래픽에 최적화돼 있지도 않던 놈이었고.. 영어 아스키 코드밖에 모르는 이런 기계에다가 없는 문자를 찍기 위해서는 막대한 양의 오버헤드가 필요했다.

요즘은 잘 알다시피 사운드 카드, 랜 카드 따위는 마더보드에 통합되어 버린 지가 오래이고 GPU, PPU 같은 거나 별도로 부착하는 CPU 애드온이다. (그리고 이마저도 요즘은 본격 통합 기세-_-)
허나 한 25~30년 전에는 한글 카드라는 별도의 하드웨어가 있을 정도였다. '한글 도깨비'. 그때는 그만큼 컴퓨터의 성능이 열악했다.

한글 입출력 바이오스를 만들려면, 일단 바이오스의 글꼴을 다른 걸로 대체할 수 있을 정도로 하드웨어에 정통해야 했고 메모리 사용량이든 계산량이든 극도의 최적화 작업이 필수였다. 한글 모드에서는 텍스트의 스크롤 속도가 한 2, 30% 정도 감소하는 효과가 있었기 때문. -_-;; 더구나 기본 메모리 640KB는 그야말로 1K라도 아껴야 하는 귀중한 영역이기 때문에, 한자 글꼴 같은 건 XMS/EMS 같은 확장 메모리에다 저장하는 테크닉도 필수였다.

VGA의 기본 텍스트 모드는 잘 알다시피 가로 80글자, 세로 25글자이다. 그런데 아주 신기하게도 한 글자의 크기는 너무나 컴퓨터스럽게 잘 떨어지는 8*16이 아니라, 9*16이다. 그리고 화면 해상도는 640*400도, 640*480도 아니요 720*400이다. 정작 mode 12H 같은 그래픽 모드 중에는 640을 넘는 해상도가 없던 시절이었는데 왜 텍스트 모드만 한 글자의 폭이 8이 아닌 9였는지는 모르겠다.
한글 바이오스들은 16*16 크기의 한글· 한자 글꼴을 사용했으며 640*400 해상도의 텍스트 모드에서 동작했다.

그뿐만이 아니다. 그때 VGA 텍스트 모드에는 화면 전체의 테두리 색이라는 게 있었다! 베이직에서 COLOR문은 보통 글자색과 배경색을 의미하는 A,B만이 쓰이는데, 셋째 인자도 있어서 이걸 지정하면 화면의 테두리에도 색깔을 줄 수 있었다. 이런 기능을 누가 썼고 왜 만들었는지는 모르겠지만...
이건 DosBOX나 VMware 같은 에뮬레이터들도 지원 안 하고 있는 기능이다.
그 테두리가 차지하는 픽셀 수는 얼마나 됐을까? 이것까지 감안한 화면 해상도는 얼마였을지를 생각하면 옛날에 비디오와 관련된 하드웨어 제어는 심오함 그 자체였겠다는 생각이 든다.

텍스트 모드의 바이오스 글꼴을 다루는 테크닉을 구사한 프로그램은 흔치 않았다. 도스용 노턴 유틸리티(Norton Utility)는 이걸 환상적으로 조작해서 텍스트 모드에서 준 GUI 수준의 비주얼을 만들고 심지어 그래픽 모양의 마우스 포인터까지 구현하는 용자짓을 했다. 그리고 Screen Thief라는 캡처 프로그램은 당시로서는 흔치 않게 텍스트 모드를 색깔과 바이오스 글꼴까지 감안한 실제 그래픽 화면 픽셀 그대로 캡처하는 기능이 있었다.
뭐, 한글 바이오스가 구동된 상태에서 노턴 유틸리티 같은 프로그램을 GUI 모드로 동시에 실행했다간 '영 좋지 않은 곳에 하드웨어 접근이 일어나서' 대략 불상사가 발생했겠지만 말이다. "내 컴이 다운이라니!!"

그때는 마우스의 존재 여부를 알아오는 테크닉만큼이나 한글 바이오스의 존재 여부를 알아오는 테크닉도 있었고
이는 텍스트 모드에서 실행되는 프로그램이 선문자를 깨지지 않고 맞게 출력하기 위해서 필수였다. 도스용 V3이나 MDIR 같은 프로그램들 말이다.
그러고 보니 한글 모드에서는 아스키 번호 1~31번 제어 문자도 원래 얼굴 모양 등 각종 도형이던 게, 1바이트 선문자로 바뀌었던 것 같다.

당연한 말이지만, 한글 바이오스는 바이오스의 글자 크기가 8*16이기만 하면, 텍스트가 아닌 그래픽 모드에서도 물론 동작했다.
하지만 그래픽 모드에서까지 텍스트를 찍는 프로그램은 전혀에 가깝게 없을 테니 이건 그리 의미는 없는 기능이었다.
그래픽 모드에서 동작하던 프로그램이 crash가 발생하는 바람에 그 상태 그대로 도스로 빠져나가서 도스 프롬프트가 찍힌 게 아닌 이상 말이다.
텍스트 모드에서는 cursor가 아주 빠르게 깜빡거렸지만 그래픽 모드에서는 cursor가 깜빡이지 않는다는 중요한 차이가 있었다.

그럼, 말이 나온 김에 옛날에 접했던 도스용 한글 바이오스들을 추억 차원에서 몇 개 예나 좀 들어 보자.

1. 본인이 난생 처음으로 접했던 IBM 호환 PC는 대우 전자에 개발한 286 AT였는데, config.sys의 DEVICE 문을 통해 구동하는 자체(대우에서) 개발 소프트웨어 기반 한글 바이오스가 들어있었다. 즉, 일단 load된 후엔 메모리에서 제거하는 방법이 없어서 불편했다. (그 당시 sys 파일은 com 실행 파일과 기술적으로 비슷한 구조가 아니었겠나 싶다.)
Alt+한영을 누르면 한글 바이오스 메뉴가 떠서 영문 전용/조합형/완성형 같은 모드를 바꿀 수 있었고, Alt+한자를 누르면 일시적으로 영문 전용 모드로 전환할 수 있었다.
대우 전자에서 개발한 만큼, 조합형과 완성형뿐만이 아니라 당시 악명 높던 DH 완성형도 지원했는데, 얘는 알파벳 소문자+대문자를 묶어서 한글을 표현하는 경우도 있었던 걸로 기억한다. 물론 한글 코드의 표준화가 일단락되면서 깔끔하게 묻혀서 역사 속으로 사라졌지만.

텍스트 + 한글 모드일 때는 화면의 맨 아래에 자그마하게 현재 한글/영문 모드인지, 완성형인지 조합형인지 같은 상태가 파란 배경의 줄에다 떴다. (그래픽 모드일 때는 그런 거 없음) 텍스트 모드에서 그런 걸 어떻게 구현했는지 지금 생각하면 정말 신기하기 그지없다.
물론 아까 말했던 VGA 테두리도 그보다 더 아래에 표시되었다.

한글을 입력하다가 bksp를 누르면 그냥 바이트 단위로 지워졌다. 즉, '한'을 입력하다가 bksp를 누르면 '하'가 되는 게 아니라 그대로 조합이 끝나면서 KS 완성형 기준 '한'을 구성하는 %C7%D1 중 %C7만 남아서 깨진 문자가 보였다.
우연히 한글 초성만 입력해 놓고 한자 키를 누르니까 지금까지 듣도 보도 못한 온갖 특수문자들이 펼쳐져서 이것도 신비로움 그 자체였다.

2. 한글 MS-DOS를 판매한 MS도 응당 자체 한글 바이오스를 갖추고 있었다.
그런데 지금까지 생각해도 참 대단한 건, MS에서 만든 한글 제품은 텍스트 모드에서도 깨진 문자를 보여주는 법이 없었다.
조합 중인 문자든 조합이 끝난 문자든, 한글은 알아서 자동으로 2바이트씩 한꺼번에 지워졌다. 조합 중인 글자를 조합의 역순으로 차곡차곡 '한' -> '하' 식으로 지워 주기에는 도스 환경이 너무 열악했고, MS가 개발한 한글 바이오스는 그냥 한글을 한꺼번에 지웠다.

GWBASIC, QBASIC 같은 프로그램은 한글판이 따로 있었는데, 한글 바이오스를 구동하지 않고 한글판 프로그램을 실행하면 글자만 깨지는 게 아니라 그대로 컴퓨터가 다운됐었다!
그러나 텍스트 모드에서 GUI를 구현한 한글판 프로그램들을 잘 살펴보면, 메뉴 같은 게 배경에 있는 한글의 2바이트를 반으로 가르게 될 경우 나머지 1바이트도 알아서 지워서 표시해 줬다. 어떤 경우에도 깨진 한글의 잔해 바이트가 표시되는 일이 없었다.

아마 한글 바이오스뿐만이 아니라 응용 프로그램 차원에서 무슨 특수한 처리를 한 것 같긴 한데, 그 대신 당시 MS에서 만든 한글판 프로그램들은 한글 바이오스가 없으면 동작하지 않고, 속도도 느리고 이래저래 파워 사용자들에게서 욕 많이 먹었다. 특히 QuickBasic 한글판은 라이브러리 파일이 영문판과 호환되지 않는 등 최악의 제품이었다.

<날개셋> 한글 입력기는 현재 '마소바탕'이라고 하여 MS 한글 바이오스가 내장한 조합형 글꼴을 그대로 지원하고 있다. 조합 구조가 전통적인 8*4*4벌 도깨비 글꼴과는 다른데 이런 것까지 복원해 냈다.

3. 끝으로 태백한글이라는 프로그램이 있었다. 1994~95년까지 32비트 코드로까지 비교적 오래 개발되었고, 도깨비 글꼴을 그대로 지원한다는 점이 무척 좋았다. 얘는 아마 조합 중인 한글을 음소 단위로 지우는 기능이 있었지 싶다.

도스도 모자라서 영문 윈도우 3.x에서 한글을 구현해 냈다는 한메한글 같은 프로그램은 운영체제의 무슨 계층에서 훅킹을 해서 도대체 어떻게 만든 걸까? 파워 사용자 중에는 영문 윈도우+한메한글이 오히려 한글 윈도우보다 더 안정적이고 좋았다는 말을 할 정도였으니 말이다.
32비트 시대가 도래하기 전에 한글 IME는 DLL이 아닌 EXE이긴 했는데, 그때는 구체적으로 어떤 메카니즘을 썼는지 잘 모르겠다. 물론 그 시절에는 한 프로세스가 시스템 전체에 어떤 영향을 끼치기가 지금보다 훨씬 더 쉬웠을 테니까 그 원리가 그렇게 복잡하고 어려운 건 없었을 것이다.

이것저것 잡설이 길어졌는데, 추억에 공감하시는 분이 있다면 용자.

한글 윈도우 3.1은 실행 전에 언제나 아래와 같은 경고문이 떴었다.
보다시피 MS는 분명히 Hangeul이라는 명칭을 썼었다. 허나 지금 대세는 Hangul이 압도적으로 굳어져 버린 듯. <날개셋> 한글 입력기도 6.0부터는 표기를 Hangul로 바꿨다.

Warning: For correct execution of DOS Box in Hangeul Windows 3.1,
You should use Hangeul Windows 3.1 standard HBIOS.

Warning: Your DOS is not compatible with Hangeul MS-DOS. You may have
some problems when you use Hangeul Windows 3.1.

Press any key to continue...

Posted by 사무엘

2011/06/30 08:47 2011/06/30 08:47
, , ,
Response
No Trackback , 10 Comments
RSS :
http://moogi.new21.org/tc/rss/response/533

아직도 삼성맨들은 다루고 지내는지 모르겠다만.. 우리나라에는 아래아한글과 MS 워드 다음으로 훈민정음이라는 워드 프로세서가 있다.

아래아한글이 대한민국의 도스용 워드 프로세서 시장을 석권하기 전,
도스 시절엔 보석글, 하나-_-, 신사임당, 심지어 21세기 같은 전설의 프로그램들이 있었다. 이런 건 컴퓨터 old timer라면 다들 기억할 것이다.

허나 Windows로 가면 어떨까? 윈도우용 아래아한글이 출시되기 전인 1990년대 초중반엔 아리랑, 글사랑, 파피루스 등 다양한 윈도우 3.x용 국산 워드 프로세서들이 존재했다. 그리고 삼성 전자에서 개발한 훈민정음도 그 중 하나였다.

아리랑: IT 벤처 핸디소프트에서 개발. 사장이 아마 카이스트 출신이었을 거다.
글사랑: (김사랑이 아님 ㄲㄲㄲ) 글꼴 개발로 유명한 휴먼컴퓨터에서 개발. 문방사우라는 DTP 프로그램을 개발한 기술도 있는 곳이니까..
파피루스: 한메 타자 교사와 한메 한글을 만든 한메소프트에서 개발. 나름 한글 처리 쪽 기술이 있는 업체이다.
훈민정음: 더 이상의 자세한 설명은 생략한다.

“이야, 우리나라에 그런 제품도 있었어요?” / “네, 있었습니다.”
물론 얘네들은 윈도우 95와 윈도우용 아래아한글 3.0의 등장을 전후하여 제대로 망하고 진정한 흑역사로 전락했다.. -_-;; 훈민정음을 제외하면 32비트 버전조차 개발되지 못했지 싶다.

심지어 금성(현 LG) 전자도 '윈워드'라는 워드 프로세서를 내놓은 적이 있다는 걸 아시는가? WinWord.. MS 워드의 실행 파일 이름과 동일하다. 하긴, 동일 회사에서 도스용으로 개발한 '하나 워드 프로세서'는, 학교와 관공서에서 정식 채택된 덕분에, 후진 기능에도 불구하고 1990년대 중반까지 살아남았다만, 윈워드는 정말 흔적도 없이 사라졌다. 특히 경쟁사의 제품인 훈민정음과 비교했을 때 말이다. -_-;;

자, 그럼 훈민정음 워드 프로세서 얘기를 더 하겠다.
얘는 나름 1992년부터 개발돼 왔고, 윈도우용 아래아한글 3.0이 나올 무렵엔 4.0대 버전으로 올라갔다.
본인이 가장 가깝게 접한 버전은 바로 4.5이다.
삼성에서 후원이라도 했는지, 1996년도 PC 경진대회 지역(경상북도) 예선 참가자들에게 훈민정음 패키지가 확장팩(각종 글꼴, 클립아트들)까지 통째로 경품 차원에서 배포되었기 때문이다. 득템~

이때는 잘 알다시피 시기적으로 윈도우 95 과도기였기 때문에 프로그램이 16비트용과 32비트용으로 따로 배포되었다. 기능은 거의 동일하지만 16비트용은 4.5 버전이었고, 32비트용은 95라고 불렸다.
아래아한글은 국내 최초+유일의 Win32s 기반 32비트 프로그램으로 개발되었고 MS Word는 연결 고리 없이 95부터 곧바로 32비트로 넘어가 버렸다면, 훈민정음은 나름 16비트와 32비트를 따로 만든 셈. 한 소스에서 별 잡음 없이 두 에디션을 만들 정도로 프로그램을 잘 짰던가 보다.

여담이지만, MS가 역사상 동일 버전의 제품을 16비트와 32비트로 따로 만든 것은 비주얼 베이직 4가 유일했지 싶다. 이는 이 자리에서 자세한 내역을 다 말하기는 곤란하지만, 비주얼 베이직의 제품 성격의 특이성 때문으로 추정된다. 비주얼 C++은 그냥 32비트용 4.0과 16비트용 1.52를 묶어서 배포했으니 동일 버전 제품은 아니니까 말이다.
또 덧붙이자면, MS는 Win32s를 만들어 놓고는 정작 자신들은 Win32s 기반 프로그램을 (전혀) 만들지 않았었다.
MS에서 개발한 프로그램 중에 MFC 사용하는 건 극소수인 것과 비슷한 맥락. -_-;;

지속적인 버전업이 되지 못하고 곧 망해 버린 여타 마이너 국산 워드 프로세서들과는 달리, 훈민정음은 삼성 기반이라는 탄탄한 돈줄 덕분에, 상업성을 완전히 상실한 후에도 꽤 오래 살아남았다. 들리는 말에 따르면, 이 건희 회장이 훈민정음에 애착을 꽤 두고 있었다고 한다. 당장 돈이 안 되더라도 자기 회사가 한글 처리 기술 및 워드 프로세서 개발 기술은 보유하고 있어야 한다고 특별한 지침을 내리기도 했다는데.

IMF 시절, 아래아한글이 MS에게 잡아먹혀서 ㅈ망할 뻔 했을 때(아래아한글 개발 중단 및 소스 인계-_-를 조건으로 MS로부터 자금 투자), 평소 한컴 및 아래아한글의 행보를 비판해 온 사람들은 차라리 이 기회에 아래아한글이 완전히 망해 버리고 훈민정음이 1인자로 등극했어야 했다고까지 말했다. 하지만 동작 방식이 아래아한글과는 완전히 다른 워드 프로세서에 국민들이 과연 그렇게 쉽게 호응과 적응을 할 수 있었을까? -_-

훈민정음은 1990년대 말까지 정음 오피스, 어린이 훈민정음, 남북 통일 워드 프로세서 등 여러 형태가 존재하다가 지금은 스마트폰 앱으로도 나오고 또 정음 Global 같은 솔루션으로도 명맥이 유지되고 있는 듯하다. 삼성 컴퓨터에 번들로 공급되지만 패키지 소프트웨어로도 아직까지 나오는 것 같다. 워드 프로세서의 핵심 개발 인력이 넥스소프트로 독립해 나가고, 그 중 넥셀은 지금 완전히 한컴으로 넘어갔을 텐데 아직까지 삼성 내부에 개발팀이 있기라도 한가 보다.

Posted by 사무엘

2011/06/15 19:10 2011/06/15 19:10
,
Response
No Trackback , 12 Comments
RSS :
http://moogi.new21.org/tc/rss/response/526

1990년대에 id 소프트웨어는 PC 환경에서 궁극의 최적화 기술을 선보이며, 1인칭 3차원 FPS 장르를 개척한 선두주자였다. 둠(Doom)은 두말 할 나위도 없이 불멸의 명작으로 기록되었고 수많은 매니아· 폐인들을 양산했다. id의 기술력은 그 후에도 Quake 시리즈로 이어지며 발전을 거듭했다. 후속작인 퀘이크는 이 장르에서 스프라이트가 아닌 100% 3D 폴리곤을 실현한 첫 작품이기도 하다.

음침한 던전과 곳곳에서 들려오는 몬스터들의 살벌한 울음 소리. 피떡이 된 몬스터 시체들;;
둠은 잔인성과 폭력성 면에서 논란의 대상이 되었으며, 특히 SF에다가 오각형, 염소 머리 등 지극히 오컬트· 사탄주의-_-를 가미한 세계관은 기독교 진영으로부터도 풍부한 까임거리를 제공했다.
“미국에서 총기 사고를 내고 자살한 어느 비행 청소년은 평소에도 Doom 중독자였으며, 게임을 하듯 사람을 죽이고 싶어했던 것으로 경찰 조사 결과 밝혀졌습니다”처럼. ㄲㄲㄲㄲ

그랬는데 일대일 대전 격투 게임 분야에도 Doom과 비슷한 위상을 차지하는 명작이 있다. 바로 모탈 컴뱃(Mortal Kombat).
그 장르의 게임으로는 의외로 미국산 게임이 별로 없다. 본인이 아는 건 삼국지 무장쟁패, 스트리트 파이터, 철권, 버추어 파이터 따위가 고작인데, 어느 것도 미국산이 아니다.

그에 반해 모탈 컴뱃은 미국산이다. 하지만 게임 로고에서부터 용의 그림이 등장하고 좀 동양스러운 느낌이 난다.
모탈 컴뱃은 1992년, 그러니까 울펜슈타인과 버추어 파이터 1하고 비슷한 시기에 첫 편이 나온 후, 오늘날까지 꾸준히 후속편이 출시되어 왔다. 제목에서 느껴지듯이 K 발음이 나는 C에 일부러 K를 집어넣었다. 코브라도 Kobra. 그렇게 적으니까 꼭 한국스러운 느낌이 나는구나(Korea? Corea?).

모탈 컴뱃이라는 말 자체는 격투 룰을 가리킨다고 한다. 마치 배틀 로얄(Battle Royale)처럼 말이다.
본인이 중딩 꼬꼬마이던 시절에, 주인공의 그래픽이 실사처럼 아주 큼직하고 정교하고, 마지막에 Finish him/her!이 나오는 격투 게임을 잠깐 본 적이 있었는데 그 게임이 바로 저 게임이었다.

그리고 스프라이트는 '실사처럼'이 아니고 '실사'가 맞다. 모탈 컴뱃은 1995년에 출시된 3편까지는, 비록 2D 도트이지만 액션 배우의 움직임을 그대로 촬영한 스프라이트를 써서 상당히 획기적인 그래픽을 선보였다. 실사 이미지로부터 잘 편집된 256색용 스프라이트를 얻는 게 보통일이 아니었을 텐데, 대단하다. 그야말로 엄청난 노가다였을 것이다.
(무려 1989년에 페르시아의 왕자의 스프라이트를 만들 생각을 했던 조던 메크너만큼이나 획기적인 시도이다. ^^)

말이 나왔으니 말인데, 본인은 옛날에 256색 모드에서 궁극의 팔레트 최적화도 엔지니어들의 어지간한 덕력과 근성이 아니었으면 엄두도 못 냈을 작업이라고 생각한다. 스타크래프트를 생각해 보라. 어떻게 그 그래픽에서 8종족 색깔별로 클록킹 유닛(알파 블렌딩)을 구현했으며, 퀘이크는 동적 광원을 구현했겠는가!

이 게임의 백미는 격투 말미에 다 죽고 헤롱헤롱하고 있는 상대편을 필살기로 끔살하는 일명 Fatality 기술이다.
퀘이크 3 아레나에 레일건이 있고, 카트라이더에 드리프트가 있으며, 스타크래프트에 스팀팩과 사이오닉 스톰이 있다면...
모탈 컴뱃에는 Fatality가 있다.

이게 정말 성경에 나오는 '인간의 상상하는 바가 원천적으로 악하다'(창 6:5, 8:21)는 걸 입증하는 것 같다. 사지를 각을 뜬다거나, 전기로 지지거나 산 채로 불태우거나 뭐 기타 등등...;;
주인공별로 가히 기상천외한 엽기적인 방법으로 상대편 캐릭을 작살을 낼 수 있다. 저런 현란한 비주얼을 어떻게 만들 생각을 다 했는지 모르겠다.
그런데 나도 그런 거 보면 쾌감이 느껴진다. 아담의 본성이다. -_-

그 후 모탈 컴뱃 4는 당대의 게임계의 추세에 따라 드디어 주인공이 3D 폴리곤으로 바뀌었다. 비록 그때는 현란한 각도 회전을 대가로, 예전의 2D 스프라이트가 뽐내던 도트 단위의 화려한 비주얼은 어느 정도 희생해야만 했다. 하지만 지금 3D 그래픽은 가히 실사나 다름없다. full 3D 게임이 처음으로 나오던 때는 버추어 파이터도 주인공이 가히 목각 인형에 불과했고, 퀘이크도 파티클은 그냥 사각형 픽셀로 처리될 정도로 허접했다.

동양스러운 느낌 하니까 생각나는데, 퀘이크 3 아레나도 싱글 플레이의 최종 보스인 Xaero는 사이보그 로봇이 아니고, 오크나 저그 같은 괴물도 아니다. 대머리에 중국 내지 티벳 승려 차림을 한 아저씨이다. 예전의 FPS 게임들의 최종 보스가 무식하게 높은 HP + 물량전 컨셉이었다면, 퀘3은 우리와 똑같은 인간이 마치 결투를 하듯 정밀도가 높은 레일건으로 플레이어와 승부한다. 이런 모습을 보고 본인은 퀘3을 처음 하던 시절에 무척 놀랐었다. FPS에다가 격투 게임 비슷한 디자인을 도입한 셈이다.

모탈 컴뱃은 툼레이더나 둠처럼 영화화도 되었다. 동양을 배경으로 말이다. 퀘이크에 매니아 계층인 '퀘이커'(개신교 교파인 퀘이커 말고-_-)가 있다면, 모탈 컴뱃도 '모탈리안'이라고 불리는 매니아 계층이 서양에는 굉장히 많다고 한다.
유튜브에 스타크래프트 실사판이 나돈 적이 있었는데-_- 이 양덕후 모탈리안들은 모탈 컴뱃 실사판도 만들어서 UCC랍시고 올린다. ^^;;

대전 액션 게임의 내레이션은 톤이 극도로 낮고 좀 사악한(?) 느낌이 나는 남자 목소리로 만들어지는 경향이 있다. “Fight one. Ready, go” / “Round one. Fight!” / “You win” 등. -_-

이렇게 본인이 갑자기 모탈 컴뱃에 대해서 글을 쓴 이유는...
고등학교 시절에 본인이 만들었던 오목 게임의 이름도 아마 모탈 컴뱃으로부터 알게 모르게 영향을 받은 것 같아서이다. ㅋㅋㅋㅋㅋ

Posted by 사무엘

2011/05/05 09:03 2011/05/05 09:03
,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/506

비주얼 C++ IDE (정확히는 비주얼 스튜디오)에는 간단하게나마 위지윅 HTML 에디터가 내장되어 있다. 다만, 입력하는 내용에 따라 프로그램이 생성해 주는 HTML 코드가 굉장히 지저분한 편이어서(여백, 정렬 상태 등~) 본인은 이를 즐겨 사용하지는 않는다.

물론, 언어별로 IDE가 따로 놀던 비주얼 C++ 6의 IDE에는 HTML 편집기가 없었으며, 웹 편집은 비주얼 InterDev라는 프로그램이 따로 담당하고 있었다. 그 대신 비주얼 C++ 6은 OLE 기술을 이용하여 심지어 MS 오피스 문서를 자기 IDE 내부에다 가져와서 편집하는 기능이 있었다! 물론 MS 오피스가 설치되어 있는 경우에 한해서.

File-New 대화상자를 보면 맨 오른쪽 탭에 MS 오피스(워드, 엑셀 등) 문서를 만드는 항목이 있었지만, 이 사실을 아는 사람은 아주 드물었을 것이고, 그 기능을 이용하거나 그렇게 OLE 친화적인 업무용 프로그램을 만드는 사람도 거의 없었다. 그래서 비주얼 스튜디오에서도 이후 닷넷부터는 그런 잉여 기능이 제외됐다. 내 기억이 맞다면 딱 하나, MS 오피스에 이어 아래아한글 2002가 그렇게 문서를 만드는 기능을 지원했다.

비주얼 스튜디오 닷넷은 잘 알다시피 모든 언어들의 IDE가 Microsoft Development Environment라는 이름으로 한데 통합했으며, 그래서 한 프로그램으로 소스 코드, 텍스트, 웹 문서 등을 모두 한데 만들 수 있게 되었다. 비주얼 스튜디오가 제공하는 웹 에디터는 아주 초보적인 수준이었다. 그냥 인터넷 익스플로러가 제공하는 에디팅 엔진을 그대로 차용했다.

본인은 비주얼 스튜디오가 제공하는 웹 에디터는 ‘진하게’를 왜 b가 아닌 strong 태그로 표현하고, ‘이탤릭’을 왜 I가 아닌 em으로 표현하는지 의아해했다. 200x년대에 사용하던 나모 웹에디터와 FrontPage는 b, I를 썼기 때문이다. 기능이 동일하면 더 짧은 표현이 좋기 때문에.. ㄲㄲ

물론 그 이유는 웹 표준의 개정 때문이다. HTML은 워드 프로세서 문서처럼 글자 비주얼이 아니라 문서의 논리적인 구조와 의미를 표현하는 용도로 유지하기 위해서 물리적인 비주얼을 표현하는 방식을 CSS 위주로 바꾼 것이다.

글씨체를 바꿨을 때 태그가 생성되는 방식은, 놀랍게도 비주얼 스튜디오의 버전마다 서로 다 다르다.
2003까지는 그냥 대놓고 <font face="무슨체"> 였다.
2005는 <span style="font-family:무슨체">가 되었다.
2008은? 아예 head 태그 내부에 그 서체를 지정하는 새로운 스타일이 등록되고 <span class="style1">이 생성된다.

똑같은 운영체제와 똑같은 IE 버전 하에서도 서로 다르게 동작하는 걸 보니, 이건 전적으로 비주얼 스튜디오의 버전별 차이로 보인다.

여기까지만 분석을 하고 말려고 했는데...
비주얼 스튜디오 2008은 웹 에디터가 뭔가 바뀌었다. 지금까지 전혀 눈치채지 못하고 있었다.

2003과 2005가 단순히 IE 기반인 것에 비해,
2008은 위지윅 에디터(소스 편집이 아닌 디자인 모드)의 윈도우의 클래스 이름이 FrontPageEditorDocumentView. 다시 말해 MS 오피스 2003 이후로 개발이 중단된 FrontPage의 에디팅 엔진을 얹었다는 뜻 되겠다! ㄷㄷㄷ;;;

덕분에, 2008 이전의 비주얼 스튜디오(VS) 내장 웹 에디터는 디자인 모드 아니면 소스 편집 모드 이렇게 두 가지 모드만 제공하였으나, 2008은 FrontPage처럼 한 화면에서 디자인과 소스를 한꺼번에 보고 편집하는 분할 모드도 같이 지원한다. 그리고 FrontPage처럼 태그 단위로 텍스트를 한꺼번에 선택하고 속성을 지정하는 정교한 편집 기능도 지원한다. 단순한 IE 기반 엔진만으로는 구현할 수 없는 기능임.

그런데 그런 것만 바뀐 게 아니라, VS 2008의 웹 에디터는 진하게/이탤릭 태그도 과거의 FrontPage처럼 b, i로 되돌아갔다. 이런?
VS 2010은 어떤지 모르겠다. 듣기로는 소스 코드 에디터도 완전히 새로 다시 짰다고 하니 또 바뀐 게 있겠지.

그래서 지금부터는 FrontPage 얘기를 좀 하겠다.
FrontPage는 여타 회사에서 개발되던 웹 에디터를 마이크로소프트가 인수하여 90년대 후반부터 개발을 시작했다. 그래서 초창기 버전에는 윈도우의 클래스 이름이라든가 생성된 HTML 코드의 generator 메타태그에 원래 회사의 이름 이니셜 같은 걸 찾을 수 있었다고 한다.

HTML 태그는 아무나 만지는 물건이 아니다 보니 웹 에디터 역시 워드, 엑셀 같은 전국민 필수품은 아니며, 아웃룩처럼 업무용 필수품도 아니다. 그러나 그렇다고 해서 이게 액세스라든가 비주얼 스튜디오 급의 전문 개발자 영역도 아니다 보니, 이런 프로그램이 차지하는 위상은 무척 어중간했다.

다이어그램을 그리는 프로그램으로 윈도우 3.x 시절부터 명성을 떨쳤는데 나중에 역시 MS에게 인수된 비지오(Visio)와 비슷한 위상 같다. FrontPage는 MS 오피스 제품군의 정식 멤버는 아니었지만 어째 오피스 XP 및 2003과는 동일한 타이밍에 버전업을 거쳤다.

FrontPage는 XP와 2003의 동작 방식이 서로 굉장히 달랐다. XP는 모든 html 코드를 자기 컨벤션대로(줄당 문자 수, 들여쓰기 등) 무조건 깔끔하게 정리하는 기능이 있었고, 심지어 html 코드 최적화 기능까지 있었다. 이게 잘 동작할 때는 무척 유용하지만, 자기가 이해하지 못하는 태그를 제멋대로 고쳐 버리기까지 해서 믿음직하지는 못했다.

그러던 것이 2003에 와서는 정책이 정반대로 바뀌어서, 이미 만들어진 코드는 최대한 건드리지 않고 수정된 부분에 대해서만 최소한의 변경만 가하는 방식이 되었다. 이것도 좋긴 하지만, 수정을 거듭하다 보면 앞서 말했듯이 코드가 무척 지저분해져서 싫다. 그리고 <li>, <ol>처럼 목록을 표현하는 태그에서 여닫기 처리를 제대로 못 하는 경우가 많다.

마치 휴대전화의 카메라 기능이 발전하면서 기존 디지털 카메라들은 아예 DSLR 같은 더 전문적인 영역으로 경쟁 구도가 바뀌었듯, 오늘날은 블로그가 발달하고 웹에서 바로 위지윅 html 에디터 내장 게시판을 쓰는 시대가 됐다. 로컬 환경에서 html 에디터를 쓸 일이 무척 줄었다.

그래서 FrontPage는 2003 버전을 끝으로, 더 전문적인 웹 디자인 솔루션인 MS Expression Studio에게 자리를 내어 주고 개발이 중단되었다. 그리고 그 FrontPage의 엔진이 비주얼 스튜디오의 2008에 전해져 오는 모양이다. ㅋㅋ

본인은 FrontPage를 내 홈페이지 편집과 프로그램 도움말 제작용으로 지금까지도 애용 중이다.
오히려 지금까지 Expression Studio를 쓰는 사람을 본 적이 없다. 그나저나 요즘 드림위버는 살아 있나?

Summary:
1. 위지윅 웹 에디터로 각종 아기자기한 클립아트를 넣으면서 자기 홈페이지를 만들던 시절이 그립다. ㅋㅋ
2. 여러분은 html 편집을 무엇으로 하십니까?

Posted by 사무엘

2011/04/22 18:46 2011/04/22 18:46
, , , ,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/500

별개의 분야 이야기들이 또 한데 컬렉션 형태가 됐다.

1. Personalization of Windows

이건 아무나 쉽게 할 만한 건 아니지만, 아마 윈도우 파워 유저들은 한번쯤 시도해 봤지 싶다.

콘솔(명령창)의 글꼴 바꾸기
솔직히 나도 Terminal 기본 서체는 이제 지긋지긋해서.. 똥 묻은 파르페 다음으로 싫다.. -_- 과거 윈 9x는 도스 프롬프트의 코드 페이지를 영문 437로 바꾸면 Courier New나 Lucida Console이라도 나와서 괜찮았으나, 2000/XP의 콘솔 글꼴은 너무 단조롭기 그지없다.
특정 레지스트리 부위에다 00이라는 키를 추가해서 원하는 글꼴을 지정한 뒤 재부팅을 하면 된다고 하는데, 난 여러 사이트들에서 시키는 대로 해도 안 되더라...;; 잘 모르겠다.

XP의 경우, uxtheme 패치
자세한 배경 설명은 생략하고. 요지는.. XP의 트레이드마크라고 할 수 있는 Luna 테마 대신 다른 시각 테마를 쓰는 것이다. 그런데 테마를 바꾼다는 건 단순히 색깔이나 이미지 같은 데이터뿐만이 아니라 각종 화면 요소를 그리는 실행 코드 자체를 바꾸는 것이기 때문에, 운영체제의 안정성 및 보안에 영향을 끼칠 수 있다. 그래서 운영체제는 기본적으로 디지털 서명이 존재하는 테마만 고를 수 있게 돼 있다.
그러나, 개인 테마 제작자가 일일이 자기 작품에 대해서 $를 지불하고 번거롭게 디지털 서명 인증을 받는 건 쉽지 않은 노릇이고.. 결국 디지털 서명이 없는 테마도 지정 가능하게 아예 운영체제 자체를 크랙하는 테크닉이 나돌게 됐다. 아이폰으로 치면 탈옥 정도 되겠다.

난 XP의 파란 Luna가 예뻐서 거기에다 custom 글꼴 & 그림만 붙여서 잘 썼다. 테마를 바꿀 필요는 느끼지 않는다. 비스타로 갈아탄 지 3년이 넘었지만 여전히 XP Luna가 그리울 때가 있다. 하긴, 비스타에서 Luna 커스텀 테마를 일부러 구해다 쓰는.. 흠좀무스러운 사람도 있다고는 하더라...

2. Phone number as the hyperlink

남이 내게 문자 메시지로 다른 전화번호를 알려 줬다. 이렇게, 발신자 그 자체가 아니라 본문에 포함돼 있는 전화번호를 번거롭게 암기하거나 수첩에 적지 않고 그대로 저장하거나 전화를 걸 수는 없을까?
마치 http로 시작하는 문자열이 인터넷 주소이고 "@ ." 같은 패턴이 이메일 주소이듯, 전화번호를 나타내는 정규 표현식이 통용되어 이런 건 전화기가 마치 클릭 가능한 하이퍼링크처럼 본문에다 표시해 주는 기능이 있으면 좋겠다.

자동으로 링크를 못 만든다면 최소한 번호를 마우스로 긁어서 복붙 정도는 되어야겠지.
간단하기 때문에 스마트폰에는 이미 구비되어 있는 기능일지도 모르겠다?
아래아한글 도스용에 있던 전화번호부와 팩시밀리 기능이 불현듯 떠오른다. COM 포트를 통해 컴퓨터가 모뎀으로 전화를 걸어 주던 시절이었다.. ^^;;

3. 디렉터리 생성을 좀 더 똑똑하게

컴퓨터의 파일 시스템에서 지우기 명령에 하위 디렉터리를 재귀적으로 몽땅 다 지우는 기능이 있다면,
디렉터리 생성 명령에도 중간의 다단계 디렉터리를 한꺼번에 생성하는 기능이 있어야 한다.
또한, 디렉터리를 생성한 후 바로 거기로 가는(change directory) 기능 내지 옵션도 있으면 편하지 않을까?
이건 114로 치면 전화번호를 물은 후 그 전화번호로 바로 거는 기능에 해당한다.

다단계 디렉터리를 한꺼번에 생성하는 기능은 있지만 생성한 디렉터리로 바로 가는 기능은 프로그래밍 API라든가, 각종 유틸리티 프로그램이나 명령으로도 내가 본 기억이 없는 듯하다.
요즘은 옛날에 비해 디스크/파일을 다루는 유틸리티에 대한 필요성이 훨씬 덜해지긴 했지만.. 특정 디렉터리나 드라이브로 곧바로 이동 가능하고 특정 프로그램을 단축키 하나로 바로 실행해 주고 한 화면에서 압축 파일이라든가 FTP 연동이 바로 되는 유틸리티가 있으면 컴퓨터 생활이 정말 편해진다.

토탈 커맨더, NexusFile 같은 프로그램이 유명하긴 한데 본인은 단축키가 완전히 손에 익어 버려서.. 개발이 중단된 구닥다리 WinM을 못 버리고 있다.

4. DR만 들어가면 다 박사?

DR이라는 약어가 하도 '닥터'라고 통용되니까, 과거에는 이로 인해 재미있는 오해가 발생한 컴퓨터 소프트웨어가 있었다.
MS-DOS의 경쟁자 중 하나이던 DR-DOS는 그래도 다 대문자로 쓰고 MS-DOS도 '엠에스'라고 읽다 보니, '디알'이라고 통용되었던 것 같다. MS-DOS를 설마 '미스 도스'이라고 하지는 않잖아? 도스의 모에화ㄲㄲㄲㄲㄲ 훗날 나온 노벨 도스의 전신이 DR-DOS인 줄은 모르고 있었네..;;

그러나 그래픽 소프트웨어인 '닥터할로'는 답이 없다..;; Dr. Halo라고 쓰면.. 누구에게라도 영락없이 '할로 박사님'처럼 보일 수밖에 없지 않은가. 설마 개발자가 박사 학위 소지자이기라도... 한지는 모르겠지만 Dr은 그냥 '드로잉'을 줄인 말이라고 한다.

5. 스마트폰 OS 에뮬레이터

PC에서 안드로이드 에뮬레이터가 실행되는 속도는 실제 기계에 비해서... "꽤", 훨씬 더 느리다. 난 약간 느릴 줄 알았는데 이 정도까지 차이가 날 줄은 몰랐다.

하긴, 도스박스조차 200x년대의 컴에서 같은 x86 아키텍처용 도스용 프로그램을 펜티엄급으로밖에 실행을 못 하는데, x86와 ARM은 인스트럭션 구조가 근본적으로 다르다. 게다가 요즘 스마트폰은 CPU와 메모리로만 치면 이미 최하 윈도우 98/2000 정도는 너끈히 돌리는 성능이다. 무슨 고전 게임도 아니고, PC와의 격차가 의외로 높지 않으니 PC에서 에뮬레이팅이 버거울 수밖에 없다.
게다가 애플리케이션들은 그나마 네이티브 코드도 아니고 잘 알다시피 자바 기반.

그리고 마지막 복병이 있는데 바로 그래픽 가속이다. OpenGL 같은 통일된 인터페이스가 있다지만 그래픽 가속은 워낙 민감한 부위여서 그런지 가상화가 더디다. 가상 머신에서 돌아가는 윈도우 비스타/7이 Aero 효과를 내지는 못하며, 에뮬레이터에서 돌아가는 스마트폰 OS는 실물만치 현란한 비주얼을 선보이지는 못한다.

그러나 PC+에뮬레이터가 디스크 I/O만은 실물보다 훨씬 더 빠르게 수행한다.
이런 식으로 스마트폰 앱은 에뮬레이터에서 돌릴 때와 실물에서 돌릴 때의 성능 편차가 의외로 크며, PC에서 개발하더라도 수시로 실물에서 올려서 확인이 필요하다고 한다.

Posted by 사무엘

2011/01/31 22:28 2011/01/31 22:28
, , , ,
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/458

« Previous : 1 : ... 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2026/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Site Stats

Total hits:
3940512
Today:
1180
Yesterday:
2118