R은 리습계열의 방언에서 출발했다는 이야기가 있습니다. 그래서 인지 정말 놀라울 정도로 이맥스(Emacs)와 잘붙습니다. 게다가 이맥스(Emacs) 와 잘 붙을 수 있게 해주는 모듈이 요즘 빅데이타 의 붐을 타고 계속해서 업데이트 되고 있습니다. 


ESS (Emacs Speaks Statistics) 는 참으로 멋진 줄임말이죠? 이 패키지 모듈을 쓰면 이맥스 상에서 완벽하게 R 과 함게 동작시킬 수가 있습니다. 다만 항상 이런것을 이용할 때의 문제점이 있습니다. 바로 인코딩 문제죠 한글을 입력하면 상태창에서 한글이 완벽하게 깨집니다. 방법은 간단합니다. 


.emacs 파일에 다음과 같은 부분을 추가해주면 됩니다. 




(add-hook 'ess-R-post-run-hook

          (lambda () (set-buffer-process-coding-system

                       'utf-8-unix 'utf-8-unix)))


그리고 이맥스를 재시작하면 깔끔하게 해결이 됩니다. 


추가로 library 명령을 써서 패키지를 로딩하고 나면 한글이 깨지는 경우가 발생합니다. 골치가 아프죠. -ㅅ- 저 같은 경우에는 


library(sqldf) 


를 쓰는 경우에 발생했습니다.  몇군데를 알아봤지만 이게 버그인건지 이맥스 자체의 문제인지는 알아보기 힘들더군요. 단지 interactive R 상에서 


Sys.setlocale ("LC_ALL", "ko_KR.UTF-8")


를 실행해주니 다시 돌아오더군요. 


Emacs 상에서 파일의 인코딩을 (주로 Euc-kr 과 Utf-8 사이의 변경) 변경하는 방법에 관한 이야기 입니다. 

언젠가는 정리해야지 마음만 먹고 있다가 결국 정리하게 되는군요.

File Dired 모드 (C-xC-f 를 누르고 미니버퍼에 디렉토리에 보이는 상태에서 C-d 누르면 됨) 에서 다음에 불러들일 커맨드를 그 파일이 저장되어 있는 인코딩으로 지정해준다. (만약 파일이 euc-kr 로 저장되어 있다면)
 

 C-x RET c <RET> euc-kr 



이렇게 입력하고 다음에 불러들일 파일을 <RET> 을 입력해서 불러들이면 위에 지정한 인코딩(Euc-kr) 으로 파일을 불러들입니다. 

 

        C-x RET f <RET> utf-8 


이렇게 입력하면 지금 불려져 있는 파일을 인코딩을 변경하여 저장하라는 명령입니다. 현재 euc-kr 로 불러들인 파일을 utf-8 으로 저장하겠군요.  


 
Flex 로 개발할 일이 회사내에서 생길꺼 같아서 OSX 에서 개발환경 세팅을 하는 중이였습니다.
Flex SDK 에서 받을 수 있으며 적당한 곳에 옮겨주고

.bash_profile 에다가

export PATH=$ANDROID_SDK_ROOT/tools:/Users/crazia/work/flex_sdk_4/bin:/usr/local/bin:$PATH


로 추가해 주면 됩니다. 색이 진한 부분이 "/Users/crazia/work/flex_sdk_4" 가 flex sdk 를 복사해준 부분입니다. 여기까지만 하면 개발환경은 세팅 완료 입니다. (또 지루한 emacs 설정이 있지만 그건 나중에 다루기로 하겠습니다)

그런데 문제가 생겼습니다. Terminal 창을 열고

mxmlc


라고 입력하니 메시지들이 전부 깨지는 것입니다. encoding 문제라고 바로 직감적으로 알았으나 2시간의 걸친 구글링 동안 아무것도 나오지 않는 것입니다. 결국 어찌 어찌 뒤지다 보니 "flex_sdk_4/lib/" 밑에 mxmlc.jar 파일과 mxmlc_ko.jar 파일이 존재하더군요.

OSX 세팅중에서 "언어&텍스트" 에서 선호하는 언어 순서를 "English"로 바꾸니 메시지가 제대로 출력되는 것을 보고 시스템에서 정하고 있는 언어 순서대로 찾을것 같다고 가정을 하고 다시 원래대로 "한국어" 위주로 바꾸고 (영어로 출력되는게 싫습니다. -0-)

mxmlc_ko.jar 를 혹시 몰라서 mxmlc_ko.jar.bak 으로 변경해줬습니다.

역시나 한국 로케일 관련 jar 파일을 찾지 못하니 영문 로케일인 기본으로 출력이 되는 것을 확인하실 수 있습니다. 이 간단한 설정을 찾느라 안타까운 내 시간이 화살과도 같이 흘러갔습니다.





+ Recent posts