Cygwin emacs용 mule-ucs 설치

2009/03/06 19:41
cygwin용 emacs에서 utf-8로 저장된 파일의 한글을 보기에 제일 쉬운방법이 mule-ucs 패키지를 설치하는 방법이다. cygwin 패키지로 제공해주면 좋으련만 그렇지 않기 때문에 직접 컴파일해서 설치해야한다.

http://tats.haun.org/mule-ucs/ 에서 최신 mule-ucs 를 다운받는다.
당당하게 unofficial이라고 써있다.

다운받은 mule-ucs 파일을 적당한 곳에 풀면 mucs-comp.el 이 있는 디렉토리 밑이 doc/ 디렉토리와 lisp/ 디렉토리가 있을것이다. 그 디렉토리에서 mule-ucs를 바이트코드 컴파일 한다
emacs -q --no-site-file -batch -l mucs-comp.el
컴파일이 다되면 emacs/site-lisp 디렉토리 밑으로 lisp/ 디렉토리를 mule-ucs 이름으로 바꿔 옮겨준다
내 cygwin system은 다음과 같은데
$ uname -srv
CYGWIN_NT-6.0 1.5.25(0.156/4/2) 2008-06-12 19:34
다음과 같이 옮겼다
mv lisp/ /usr/share/emacs/site-lisp/mule-ucs
마지막으로 .emacs 파일을 설정한다.
(require 'un-define)
참고로 시그윈 이맥스에서 한글을 쓰는 방법이 여러가지 있지만 나는 다음과 같은 방법을 사용한다
(set-keyboard-coding-system 'korean-iso-8bit) ; using IME
(set-selection-coding-system 'korean-iso-8bit) ; copy/paste

윈도우/개발환경 cygwin, emacs, utf-8

TortoiseSVN에서 키 방식으로 KLDP.net svn 사용하기

2009/01/10 16:59
관련된 글이 kldp 포럼에 올라와있는데, SSH 개념을 몰라 삽질했던것들을 바탕으로 재정리 해본다.

kldp.net 은 svn을 ssh 터널링을 이용하여 사용하도록 되어있다. 그래서 업데이트시나 커밋시에 암호입력을 매번해주거나 ssh 의 공개키-개인키 방식을 이용하여 암호입력없이 이용할수 있다.

ssh의 공개키 - 개인키방식이라는것은 접속하고자 하는 호스트에 공개키를 올려놓고 자신이 사용하는 클라이언트에서는 개인키를 사용하여 접속하는 방식이다. 만일 개인키-공개키가 rsa라는 알고리즘으로 만들져 있다면, 호스트에 올려져있는 공개키는 보통 접속하고자 하는 홈계정의 .ssh/authorized_keys 파일에 있고, 자신의 개인키는 .ssh/id_rsa에 있다.

이러한 공개키 - 개인키를 만드는 프로그램들이 여럿있는데 openSSH 패키지로 들어있는 ssh-keygen 과 PuTTY Key Generator 가 있다. 그리고 각각의 프로그램이 만드는 키는 동일한 형식을 가지지만 관련 파일을 읽어들이는 방식이 미묘하게 다르다. 즉 PuttY key generator가 만든 키나 ssh-keygen 이 만든 키 형식은 같지만 파일로 저장했을때 서로 다른 형식으로 저장된다.

kldp.net을 키 인증방식으로 접속하고자 했을때 처음 봉착했던 문제가 바로 이같은 차이를 인식하지 못해서였다.

TortoiseSVN에서는 ssh 터널링을 PuTTY 계열의 plink를 TortoiseSVN에 맞게 개량한 TortoisePlink를 사용한다. 그 프로그램을 파일로부터 키를 읽어 들일때 Putty계열 파일형식인 ppk를 이용해 읽어들이기 때문에 ssh-keygen이 생성해낸 id_rsa 파일을 읽어들이기 시도를 하면 실패했던 것이다.

다른 문제는 이 망할 kldp.net 계정시스템 때문이었다.

ssh 공개키같은 경우 kldp.net의 계정편집을 통해서 입력이 가능한데 이것이 crontab을 이용해서 1시간 간격으로 업데이트 된다는게 문제다. 처음에 키와 키가 파일에 저장될때 방식이 다르다는것을 이해하지 못해서 파일내용을 그대로 공개키에 입력을 했었은데 그걸 확인하는데 1시간이 걸린다. 헐..

계정으로 접속해서 .ssh/authorized_keys를 직접편집해보고 싶어도 kldp.net은 계정접속을 금지하기때문에 그렇게 할수 없다. 다행히 scp는 이용이 가능해서 파일을 -r 옵션으로 .ssh 디렉토리 통째로 올리면서 테스트 했다.

여하튼 한방에 kldp.net 계정에 TortoiseSVN을 이용하여 접속하는것을 성공하려면

  1. ssh-keygen 이 아닌 putty key generator를 이용해서 키를 만들어라. (키는 마우스 움직임으로 만들어주므로 만드는 동안 마우스를 움직여 주어야 한다)
  2. 공개키 입력은 putty key generator 가 생성한 파일의 내용이 아닌 프로그램에서 붙여넣기를 위해 보여주는 키를 입력하라.

윈도우/개발환경 kldp.net, ssh, svn

Visual Studio Express 한글판..

2007/05/06 22:46
윈도우에서 C++ 프로젝트를 하려면 역시 비주얼 스튜디오가 제일 무난하다. 더욱이 express 는 공짜 아니던가!
그런데 한글판 익스프레스에서, 영문판에서 잘되던 win32 위자드가 안되더라. 영문판 1033 대신에 1042 에서 영문판에서 하라는데로 했는데도(삐리리.disable 을 주석처리 하는거) 안되러라. 뿔딱지가 나서 AppSettings.htm을 보고 있는데...이건 정말 완전 개판 html 이었다. 도큐먼트 선언이 없는것은 물론이고, 처음 주석부터가 틀려 먹었다.

근데, FireFox에서는 html 파일이 열렸고, Validator Check에서도 심각한 오류는 없었다. 물론 IE에서는 열리지 않았고.. 보니까, 한글문제 세팅이 잘못되서 열리지 않았던 거였다.

<meta http-equiv="Content-Type" content="text/html; charset=ks_c_5601-1987">

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
로 바꿔주니 잘된다.
아.. 정말 이런 사소한걸로 골치아프기 싫다.

윈도우/개발환경 비주얼스튜디오

vim fileformat 과 sln

2007/04/30 13:50
간혹 CVS를 통해 얻은 오픈소스의 sln 파일이 unrecognized version 으로 나올경우가 있다. 이건 십중팔구 sln text의 fileformat 문제다.

vim에서는 dos 와 unix 그리고 mac 의 text 파일포맷 변경을 쉽게 할수 있는 명령이 존재한다. fullname으로는 fileformat 이고 줄여서 ff 이다.

unix fileformat 을 dos로 바꾸는것은 간단하다.
:set fileformat=dos

:help fileformat 을 해보면 그밖에 자세한 사용법을 알 수 있다.

윈도우/개발환경 vim, 비주얼스튜디오

MDI 의 종말?

2006/08/03 22:22
최근 많이 쓰는 프로그램들은 MDI를 거의 안쓰는것 같다.
대신에 Splitter Window 라든지 Dockable 윈도우를 쓰는것 같다.

UI에 대한 SWT의 재해석은 놀랍다. 이제 도큐먼트대신에 워크벤치와 사이드바개념은 널리 익숙하다. 사실 MS제품들도 보면 이런 UI다. 윈도우 탐색기나 Visual Studio 등등..

UI를 만든다면, 따라서 윈도우-워크벤치-바 개념으로 접근하여 설계하는게 좋을것 같다. 워크벤치는 탭이 가능한 윈도우가 좋을것이다. 바는 기능에 따라서 지네들끼리 동적으로 나누어 질 수도 있을것이다. 그러나 바에 과도한 자유를 주는것은 위크벤치상의 일을 익숙하게 만드는데 어렵게 할 수 있는 요인이 될수도 있다. 그런면에서 파이어폭스의 고정적 사이드바와 하단의 동적 도구바는 상당한 일관성을 지녀 익숙해지기 쉽다.

최근의 KDE프로그램들의 UI도 관심을 가질만하다. 이들은 전통적으로 MDI가 적었고 DialogBar와 같은 Dockable Window가 많았다. QT를 배워보는것도 UI 공부를 하는데 좋은 일일 것이다.

윈도우/개발환경 Development, MFC, 주저리

MFC를 이용한 맵툴만들기

2006/08/02 00:55
회사에서 하고있는일이다...
나름대로 재미있고 배울것이 많다.
그중에서 MFC를 배우는것은 잘된일일까? 삽질일까?

회사 내부모듈중에 GUI툴킷이 있어서 그것을 더 개량시키는게 어떻냐는 의견을 제시해봤는데, 예전에 그것을 해보고 그만뒀단다. 그래픽 디자이너들이 효율이 떨어진다고 해서...

어찌되었건 MFC는 가장 성공한 GUI 라이브러리 중에 하나다. 일단 지금 파악한것은 도큐먼트-뷰 디자인 아키텍쳐와 이들 사이의 의사소통방법정도.. 구시대의 유물로 치부하기에는 너무 현역에서 잘뛰었다. 하는김에 열심히 하자.

PS. 물론 내가 MFC를 고집하는것은 아니다. 내마음 같아서는 SmartWin++를 개량해서 ToMom프로젝트와 연계한후 이것을 게임 GUI와도 연동되게 하는 장엄한 계획을 해보고 싶지만.... 싶지만... -_-;

윈도우/개발환경 MFC

Visual Studio 헤더 및 라이브러리 설정

2006/06/28 15:49
gcc cpp0 의 -I 옵션과 ld 의 -L 과 같은 기능을 하는것을 비주얼 스튜디오에서는 옵션의 VC++ 디렉토리에서 설정할 수 있다.
vs_tool_option
vs_directory_option
gcc ld 의 -l 과 같은 옵션은 #pragma comment(lib, "파일이름") 을 사용하거나 솔루션 하위의 프로젝트 프로퍼티에서 링커 인풋을 통해 설정할 수 있다.
project_properties
properties_page

윈도우/개발환경 Development