2011년 5월 11일 수요일

[Python] copy 모듈 존재의 이유

Python의 'is' 커맨드를 설명하는 과정에서 Python의 대입은 레퍼런스 대입이라고 설명한 적이 있다. 그리고 이 레퍼런스 대입 시의 문제를 해결하기 위해 copy 모듈이 존재한다. 왜 copy 모듈이 필요한걸까.

[Python] 유니코드와 UTF-8간의 전쟁(?)

Python에서 Unicode와 UTF-8에 관한 이야기를 언급한 적이 있었는데, 처리과정에서 발생하는 오류를 이용해 주의점을 한번 환기해 볼 까 한다.

예제는 UTF-8 환경의 터미널에서 python 인터프리터를 사용함을 가정한다.

[Emacs/Vim/Etc] Color Theme 생성 사이트

[Emacs] 의사양반!

Emacs의 오랜 이스터에그인 doctor 모드 소개글...을 쓰고 싶었는데 딱히 적을 게 없다.

[Emacs] 실시간 코딩 오류 파악 flymake-mode

flymake는 Emacs에서 실시간(?)으로 컴파일 오류를 표시해 주는 툴이다. 마치 이클립스나 Xcode4에서 코딩 도중도중 빌드 오류를 실시간으로 표시해 주는 것 처럼...

[Emacs] Live Programming with Overtone

Live Programming이라는 소개가 붙어있어서 본 영상이 무척 인상적이어서 소개. 영상의 내용은 악기를 제어하는 코딩을 하면서 바로바로 확인할 수 있는 내용이다.

[Vim] Plugin: AutoClose

Emacs에 autopair-mode나 textmate-mode가 있다면 Vim에는 AutoClose라는 플러그인이 있다. 기능상 거의 동일한데, 괄호나 인용부호 등의 페어를 자동으로 입력해 주는 기능을 제공한다.

http://www.vim.org/scripts/script.php?script_id=1849

autoclose.vim 파일을 받아서 ~/.vim/plugin/ 디렉토리 혹은 기타 플러그인 디렉토리에 복사해 넣기만 하면 설치는 끝.

2011년 5월 9일 월요일

[Emacs] Copy/Cut/Paste/Delete

Emacs에서 복사 및 잘라내기, 붙이기, 삭제 등과 관련된 뜨금없는 기초 포스팅.

Emacs 에서 사용되는 이와 관련 용어는 일반적인 윈도우용 에디터와는 다르게 Killing and Yanking이라 부른다. 전통적인 Unix 스타일의 에디터에서 쓰이던 용어였으니 좀 익숙하지 않더라도 받아들여야 한다. (Vim도 처지가 비슷한 만큼 비슷한 용어를 사용한다.)

2011년 5월 6일 금요일

iOS 4.3.3 도 탈옥 되는 듯...

갑자기 iOS 4.3.3 업데이트가 떠서 좀 놀란 감이 있는데...

http://blog.iphone-dev.org/post/5239805497/tic-tac-toe

4.3.1용으로 만든 탈옥툴이 4.3.3에서도 여전히 (iPad2만 빼고) 된다는 소식이 dev-team blog를 통해서 전해져왔다. 물론 귀찮아서 직접 확인해 보지는 않았지만...;;

[iOS] cocos2d for iPhone 1.0 RC2

5월 3일에 릴리즈 되었으니 좀 된 것 같지만... 어쨌든 iPhone 등의 iOS용 게임 개발 프레임웍인 cocos2d 1.0 RC2가 릴리즈 되었다. 금방 1.0 정식이 나올 줄 알았더니 생각보다 오래 걸리는 것 같다.

http://www.cocos2d-iphone.org/

큰 변화로는 역시 Xcode 4 지원을 들 수 있을 것 같다.

[Emacs] 긴 줄을 나눠서 표시해보자

[Emacs] 쉘 실행 결과 확인을 위한 lively.el

[Emacs] HTML/XML 코딩 어시스트 zencoding

SGML/XML/HTML (사실 전부 SGML에서 파생된 녀석들이지만 -_-) 등의 코딩을 CSS 스타일과 비슷하게 할 수 있도록 도와주는 zencoding-mode.el 소개글.

아마도 다른 에디터에서 이미 지원되는 기능과 동명의 기능을 따로 만들어낸 것이라 생각되지만 정확한 것은 모르겠다.

2011년 5월 4일 수요일

[Emacs] etags

Emacs에서 배포되는 etags는 ctags에서 지원되는 recursive가 없다. 그래서 etags 단독으로 태그(TAGS)를 만드는 건 포기해야 할 것 같다. 물론 ctags를 이용해서 TAGS를 생성할 수도 있지만, ctags에 비해 etags가 objective-c 도 지원해 주는 등 제약이 덜 한 것 같다.

[Emacs] 자동 TAGS 탐색?

예전에 Vim에서 tags 파일 경로를 부모 디렉토리들로 지정해서 자동으로 태그를 지정하는 방법을 포스팅 했던 적이 있다. 하지만 Emacs에서는 동일한 형태로 지정을 해서 사용하는게 안되었다. 이런 기능을 원했지만 검색으로 찾을 수는 없었다.

물론 Emacs도 tag file list를 지원하기 때문에 원하는 태그 파일 경로를 다수 지정해 줄 수 있다. 하지만 프로젝트가 생길 때 마다 설정을 추가해 주는건 너무나 귀찮은 일이다.

그래서 만들었다;;;

[Emacs] camelCase를 읽기 편하게 만들어 주는 glasses-mode

camelCase에 대해 언급한 적이 있었는데, 사실 가독성이 아주 좋은 편은 아니다. 심볼 가독성 면에서는 snake_case가 가장 좋다고 생각되지 않는가? 단어와 단어 사이가 확연하게 구분되니까.

하여간, Emacs에서 좀 특별한 모드가 하나 기본적으로 주어지는데 이런 camelCase혹은 MixedCase 형태의 심볼을 snake_case 처럼 읽기 편하게 만들어 주는 glasses-mode가 그것이다.

[Emacs] 모든 버퍼 저장하기

일단 C-x s키는 모든 수정된 버퍼를 저장할 수 있도록 도와주는 save-some-buffers에 바인드 되어 있는 단축키다. 하나의 버퍼를 저장할 때 쓰는 C-x C-s와는 다르다;;

이 외에 자동저장 등을 구현하는 방법이 있긴 하겠지만...

여기서는 단순하게 종료 시 수정된 버퍼를 몽땅 저장하는 코드를 하나 소개한다.

[Emacs] 쉘 커맨드 결과 가져오기

Emacs에서 간혹 쉘에서 실행한 결과 내용을 가져오고 싶을 때가 있다. 이 경우 물론 shell-mode등으로 실행시켜서 결과를 가져와도 되긴 하지만...

2011년 5월 3일 화요일

화이트 아이폰4 블랙 보다 두껍지 않다.

[Vim] 파일 관리자 대체 플러그인 NERDTree

NERDTree는 Vim의 파일 관리(정확히 탐색이라 하는게 맞을지도 모르겠다)를 대체하는 플러그인으로 트리 형태로 디렉토리와 파일 구조를 보여주고, 자주 찾는 디렉토리 등을 북마크 형태로 관리할 수 있게 해 주며, 파일을 열거나 복사/삭제 하는 것 등을 도와주는 기능을 제공한다.

2011년 5월 2일 월요일

2011년 4월 30일 토요일

[iOS] Status Bar 스타일 바꾸기 및 숨기기

아이폰 화면의 가장 상단에 안테나나 시계 등이 표시되는 막대기를 Status Bar라 부른다. (국내 특정 업체에선 인디케이터라 부르기도 한다). 이 포스팅은 이 스테이터스바의 스타일을 바꾸거나 숨기는 등의 예시를 들어본다.

Xcode 4.1 Developer Preview 4 공개

너무 무거워 살 좀 빼줘! 라고 외치게 되는 Xcode4의 다음 버전인 4.1 Developer Preview 4가 나왔나보다. 미국시간으로 29일 이니깐 오늘인가 -_-;

2011년 4월 29일 금요일

[Objective-C] 가변 인자(Variable Arguments) 구현

Objective-C 스타일의 가변 인자(Variable Arguments)에 대한 소개.

[Emacs] 괄호 자동 입력 마이너모드 textmate-mode

TextMate는 Mac OS X에서 코드에디터로써 아주 대명사처럼 쓰여지고 있다. 그만큼 기능이 좋다는 이야기겠지만 써 보질 않았으니 당췌 뭔지... -_-

하여간 textmate-mode는 뭔가 기능이 많아 보이지만, 일단 Emacs에서 괄호 등을 입력했을 때 자동으로 페어(닫히는 괄호 등)를 입력해 주는 기능을 제공해 준다. 물론 비슷하게 autopair 모드가 있는데 내 Emacs 에서 로딩 시 에러가 발생하는 바람에 포기한 비운의 모드다.

2011년 4월 28일 목요일

[Python] 'is' 커맨드

Python의 비교문에는 '=='(equal), '!='(not equal) 외에도 'not'과 'is'가 있다. 이 중 not은 말 그대로 False일 때 True가 되게 만드는 연산자일 뿐.

자 그럼 남아있는 'is'를 한번 확인해 보자.

2011년 4월 26일 화요일

Map App Store: The Unarchiver

맥 앱스토어에 The Unarchiver 가 Free로 올라왔다.

한국에서 맥을 쓰는 사람 대부분이 다 알고 있고, 또한 항상 추천해 마지않는 이 유틸리티는... 단순히 말해서 통합 압축파일의 압축 해제 유틸리티다.

2011년 4월 25일 월요일

[Emacs] face-list.el

Emacs로 색칠놀이(color-theme 만들기)를 즐긴다면 꼭 필수인 확장같다.

[Humor] 진짜 프로그래머는 그림판으로 코딩한다

이어지는 Real Programmers use... 시리즈. 이번에는 신비주의를 부각(?)시키기 위해 링크로 대체.

애플이 위치저장을 하도록 한 이유?

우선 한 가지, 현재 트위터 상에서 알려진 아이폰/아이패드 등에서 위치정보 저장을 하지 않도록 막는 방법을 소개한다.

[Humor] Emacs 유저의 Vim 유저 사이의 소소한 전쟁(?)

sudo 권한을 가진 누군가가 /etc/profile에 다음 코드를 남겨놨다.
alias vi='emacs'
alias vim='emacs'
일반 유저들의 원성이 들린다. 환청이겠지?

Emacs vs Vim

심심해서 정리해 오던 Emacs와 Vim에 대한 짤막한 비교글 모음. 개인적인 주관이 많이 담겨있을 지도 모른다.

[Humor] Real Programmers use ...

약간 고전 자료. 진짜 프로그래머는 vim도 아니고 emacs도 아니고 나비를 쓴다는 유머스럽지 않은 유머. 여기서도 emacs유저의 고집은 빛이 난다.

[Emacs] 한글 폰트(글꼴) 설정

최신의 Emacs 22~23 에서는 한글 폰트 설정에 따른 불편함은 많이 사라진 편이지만, 역시 마음에 드는 폰트 설정은 힘든 편이었다. 특히 영문과 한글 폰트를 별도로 설정해야 하는 경우 크기를 맞추는 등의 삽질이 필요한 편이다.

2011년 4월 22일 금요일

[Vim] MacVim 한글 입력 문제

만약 바람 한글 입력기를 사용 중일 때 MacVim에서 한글 입력이 이상할 수도 있다. 버전에 따라 틀리겠지만 자모가 흩어지거나 이상 입력되는 현상이 발생할 수도 있다.

내 경우 ㅆㅣㅂㅏㄹ (죄송합니다. 욕입니다. 하지만 이게 가장 좋은 예라서요... ㅠㅠ 일단은 그냥 쓰기 그래서 풀어서 씁니다만 실제로는 붙여서 적어야 해요...) 을 입력해보면 '씨' 라는 글자가 '씨ㅅ' 이런 식으로 써지는 등의 문제가 있었다.

[Emacs] 외부에서 파일이 수정되었을 때 자동으로 읽어들이기

Vim에서 편집 중이던 파일을 다른 에디터 등으로 수정했을 때, 다시 Vim으로 돌아가보면 그 파일이 변경되었다면서 다시 읽을 것인가를 물어온다.

하지만 Emacs의 경우 기본적으로 물어보는 절차라던가 자동으로 다시 읽어들인다던가 하지는 않는다. 그래서 낭패를 본 경우가 제법 있다.

[Emacs] Emacs for iPhone

[iOS] SBJson - JSON Framework

SBJson 은 Objective-C로 만들어진 Cocoa용 JSON Framework 이다. Mac OS X 용 혹은 iOS 용으로 사용할 수 있다.

2011년 4월 20일 수요일

[Emacs] 윈도우 관련 커맨드

Emacs에서 윈도우 생성/닫기/크기조절/포커스 이동에 대한 커맨드와 관련 정보를 소개한다. 아래는 기본적으로 제공되는 단축키 및 기능 중 자주 쓸 만한 것 들이다.
  • C-x 1: 다른 창 모두 닫기 (즉 현재창을 최대화)
  • C-x 2: 현재창을 세로로 나누기
  • C-x 3: 현재창을 가로로 나누기
  • C-x o: 다른 창으로 이동(other-window)
  • 정보표시줄 좌클릭 후 드래그: 해당 창의 세로 크기 조절
  • 정보표시줄 우클릭: 해당 창을 닫는다.

[Emacs] Meta키 사망사건

사건의 발단은 윈도우 이동키를 새로 바인딩 하던 도중에 발생했다.

[Emacs] 반복 입력을 위한 모드, dot-mode.el

Vi/Vim의 강력한 기능 중 하나가 .으로 '마지막으로 입력했던 내용 그대로 붙여넣기'가 있다. 뭔가를 입력한 다음에 ESC를 누르고 원하는 위치로 이동해서 .을 누르면 방금 전에 입력했던 내용이 그대로 달라붙는다. 즉 반복적으로 동일한 커맨드를 입력할 때 굉장히 편한 기능이다.

Emacs의 경우도 물론 비슷한(-_-) 기능이 있지만 결코 편하지는 않다. 그래서 이와 비슷한 기능을 구현한 것이 바로 dot-mode 이다. (공식적으로 언급하고 있지만, dot 이라는 이름은 결국 vi의 . 을 의미하는 것으로 보면 된다)

2011년 4월 18일 월요일

[Elisp] List Enumeration

이번에는 Elisp(Emacs Lisp)에서 리스트를 순환하는 방법에 대해 소개.

[Emacs & Vim] Color Theme - Solarized

http://ethanschoonover.com/solarized

눈의 피로를 덜어주며 가독성이 좋은 색상을 많이 연구한 듯한 그런 컬러테마 사이트를 발견했다. 위 링크를 통해 들어가보면 어떤 색상 위주로 테마를 잡고 있는지 엄청나게(?) 설명을 하고 있다.

[Emacs] anything-for-files 의 문제

이전 anything-for-files를 C-x C-f에 바인드 시켜서 파일을 열 때 사용할 수 있는 예제를 적었던 적이 있다. 그런데 이 방법으로 파일을 열 때 간혹 에러가 표시되는 문제가 있다. (미리 언급하는데 이 글은 이 문제를 해결한 기록이 아님을 밝힌다.)