2011년 2월 26일 토요일

[Vim] Vim 설정 파일(vimrc) 및 플러그인 공유

난생 처음으로 github.com을 써 봤다. 개인적으로 이곳 저곳 에서 설정파일을 조금씩 수정해서 dropbox로 주고 받고 했는데 이게 상당히 귀찮다. 그래서 이를 해결하기 위해 github.com에 설정파일을 업로드 해서 git로 관리하기 시작했다.

[iOS/Three20] TTNavigator with UITabBarController

TTNavigatorUITabBarController, 즉 탭바와 네비게이션 타이틀을 가진 UI를 만들기 위한 기본적인 내용을 정리해 본다. 정확한 소스는 샘플의 TTNavigatorDemo를 참고바란다.

2011년 2월 24일 목요일

[iOS/Three20] JSON Parser: extThree20JSON

요즘은 데이터 전송 프로토콜이 대체로 XML이나 JSON 두 종류로 굳어가는 것 같다. Three20에서도 이런 request/response모델을 위해 TTURLRequest 모델의 클래스가 있고 여기서 parser로 이용할 수 있는 모듈들이 여러개 있다.

[iOS/Three20] TTNavigator 기초

TTNavigator는 Three20에서 지원하는 Navigation Controller를 편하게 쓸 수 있도록 만든 클래스다. 모양도 기존 네비게이션 컨트롤러와 동일하고 동작하는 것도 비슷하다. 단지, 코드량이 급격하게 줄어든다는 차이점이 있다. ;;

Three20의 공식 문서가 좀 빈약해서 샘플 소스에서 TTNavigator에 관한 기본 분석을 해 봤다.

2011년 2월 22일 화요일

[iOS/Three20] Add to Project

Three20이 몇 개월 전과 비교해서 뭔가 많이 바뀐 것 같다. 그래서 바뀐 Three20을 사용하는 기본적인 방법을 정리하고자 한다. (제목은 귀찮아서 원문 페이지의 표현을 거의 빌려쓴다)

[Vim] ucs-bom, BOM(Byte Order Mark)

Vim의 설정에서 fencs=ucs-bom,utf-8,cp949 이런 식으로 설정하는 것을 가끔 본 적이 있는데 제일 앞의 ucs-bom 이게 뭔지 모르고 왠지 꺼름칙해서 지금까지 써 본 적이 없는 설정 단어이다.

그런데 갑자기 궁금해져서 ucs-bom에 대해 찾아보니 BOM에 의해 자동으로 인코딩을 설정해 주는 설정이라고 한다. 헐 이렇게 친절한 녀석이었을 줄이야. (무식함에 울고 싶다...)

[Emacs] Emacs 설정 파일 재로딩: reload-dotemacs

Emacs의 dotemacs(Emacs의 설정파일 .emacs 혹은 _emacs)을 재로딩 하려면 eval-buffer 명령으로 설정 dotemacs의 내용을 실행시키던가 Emacs를 재구동 시키던가의 방법을 써야 된다. (이 외에 다른 방법도 있었던 것 같은데 기억이 안난다)

[Emacs] anything.el

트위터에서 어떤 분이 anything.el을 장기간(?) 찬양(?)하길래 무엇인가 싶어서 찾아봤더니 Quicksilver for Emacs라는 소개가 보인다. 도데체 무엇인가. emacs wiki에 일단 공식(?) 문서가 있는 것 같다.

2011년 2월 21일 월요일

[Python] Regular Expression API (정규표현식 API 기본)

정규표현식(Regular Expression)이란 문자열의 패턴을 이용해서 특정 문자열이 규칙에 맞는지, 혹은 특정 규칙에 따르는 문자열을 찾거나 뽑아내는 등, 이런 특정 텍스트 조합 패턴을 의미한다.

[Python] Directory(Folder) / File 목록 다루기

SimpleNote + SimpleNote App + MarkDown으로 글 쓰기

SimpleNote는 이름 처럼 정말 단순한 메모 기능을 하는 노트 웹 서비스다. 위지윅 에디터 따윈 보이지도 않고 매우 단순히 글을 적을 수 있게 하고 있다. 제목도 따로 없이 첫 줄이 제목 역활을 하게 되는 정말 간단한 서비스다.

[Python] Dictionary 기본

파이썬(Python)의 기본 자료형인 사전(Dictionary)형의 기본기 다지기.

[Django] Unit Test 기본 정보

Django의 유닛테스트 기본기.

[Python] 가끔 저지른 실수들

Python 코딩하면서 겪게 된 실수를 한번 정리해 볼까.

2011년 2월 19일 토요일

[Vim] 윈도우에서 UTF-8을 적용하면 한글메시지가 깨지더라

제목 그대로. multi-byte 문자를 사용하는 한국인으로써, 윈도우 사용자로써는 한번 쯤 겪게 될 문제가 아닐까.

[Vim] OS 별 Vim 설정을 분리하기(?)

난 Linux, Mac OS X, Windows7을 주로 이용한다. 크게 두 가지 계열의 OS로 나뉘게 되겠네. Unix 계열과 윈도우 계열로.

[Vim] CTags를 이용한 코드 탐색에 관하여

Vim으로 코딩을 하면서 ctags를 쓰지 않는 프로그래머는 개인적으로 '괴팍'하다고 생각한다. 그도 그럴게 너무 편하니까.

2011년 2월 18일 금요일

[Vim] Auto Word-Completion에 관한 설정

Vim에는 ctrl-n 혹은 ctrl-p를 눌러서 단어 자동 완성을 해 주는 기능이 있다.

[Vim] Configuration to Edit Multiple Files

애꿎은 콩글리쉬 영어제목 ;ㅁ;

다수의 파일을 편집하기 편하게 해 주는 세팅들...이라고 하지만 정확히 말하면 버퍼나 윈도우 이동을 편하게 하기 위한 설정이다.

[Util] screen 기본 사용법 메모

[Django] Query 명령어 (일부만) 메모

가끔 잊어먹지만 문서 보기가 귀찮으니 자주 쓰는 것만 따로 정리.

[Vim] Plugin: snipMate - TextMate-style snippets for Vim

snippet이라는 녀석들은 대체로 적은 수의 타이핑으로 일반적으로 자주 쓰이는 코드를 자동으로 완성(코딩)시키는 녀석들을 의미한다. Emacs에는 yasnippet 같은 대단한 녀석들도 있고 Vim에도 SnippetsEmu 같은 것들이 있었다.

이번에는 간만에 Vim용으로 새로운 녀석을 발견해서 포스팅을 해 본다. snipMate이다.

[Vim] Plugin: FuzzyFinder

프로그래머의 친구 Vim (emacs는 엄마친구아들-_-) 포스팅

FuzzyFinder는 파일을 열 때 쉽게 열 수 있게 도와주는 Vim 플러그인이다. (정확하게 파고들면 엄청 대단한 기능들이 많지만...) 약자로 fuf라고 칭하도록 하겠다.

[Java] Python의 string.split()은 어떻게?

문자열을 분리하는 걸 일반적인 전문(?) 용어(?)로 Tokenize라고 부른다. C의 strtok()가 가지는 tok라는 이름이 바로 토큰이다. 뭐 용어만 알면 이런거 검색해보면 금방 튀어나온다.

[Android/Java] Run shell command

안드로이드 (혹은 Java에서) 쉘 커맨드 실행하고 결과 읽어오기? Python의 os.popen과 비교되는 녀석이라 메모.

2011년 2월 17일 목요일

폭풍 업데이트!

요즘 수 일 동안 제법 많은 글(?)을 올리고 있는데 그 동안 쌓아놓은 것을 한번에 몰아치기 하는 거라고 생각해 주시면 좋을 것 같습니다.

이 글은 존댓말로 쓰여졌는데 그래도 원래대로 포스팅은 반말체로 갈겁니다. 생각이나 느낌, 기억을 정리하는 느낌으로 적고 있어서 말이지요. -_-a 뭐 보러 오는 사람도 별로 없고 쩝...;;

하여간 지금도 심플노트에 포스팅꺼리를 쌓아두고 있습니다만 곧 떨어지겠죠 뭐.

남은 주제는 java/android/vim 쪽이 좀 있지요.

그럼 이만...

ps. 광고 달아놓은 건 애교로 봐주세요. 어차피 애드블락 같은거 다들 쓰고 계시지요? -ㅁ-;;

[Python] struct 와 padding 에 대한 잡설

Python이 문법적이나 built-in module 지원 면에서 굉장히 편한건 사실이다. 하지만 매우 취약한 부분이 있으니 그건 binary data 엑세스가 아닐까. (뭐 대부분의 스크립팅 언어나 하이레벨 언어는 같이 가지고 있는 장점... 아니 문제 같다.)

SIGSEGV 란 용어에 대해

sigsegv 검색을 통해 유입된 내역이 하나 보여서 잠깐 설명.

[Django] 500 Error Page

Django 의 500 에러(디버그)페이지를 입 맛에 맞게 수정하기

2011년 2월 16일 수요일

Mail User Agent에서는 iframe를 배척하는 걸까 (잡설)

메일에 지도를 첨부해야 할 일이 생겼다. 그래서 iframe을 이용해 Google Map을 임베딩 하는 코드를 사용해 봤다.

결과적으로 Mozilla Thunderbird, Microsoft Outlook, Gmail 등에서 지도가 보이지 않았다. Thunderbird에서는 지도가 아주 아주 아~~~~주 잠깐 보이다가 사라져버린다. iframe자리에는 공백만이 보였다. 단지, 사내에서 쓰는 웹메일만 지도를 보여주더라.

이유가 뭘까?

[Python] Log Detailed Exception

자세한 Exception 출력하기가 필요한걸까?

내 경우 에러를 로그로 확인해야 하는 심각한 처지에 있었기에 자세한 exception은 로그로 저장해 둬야 한다. 물론 Exception이 발생했다고 프로그램을 종료시켜서도 안된다. 그러니 자세한 예외 내용을 알아야 할 때도 있었다.

[Python] Send mail attached HTML via sendmail

Python에서 SMTP모듈을 쓰지 않고 sendmail 유틸리티를 이용해 HTML Mail을 보내는 방법.

2011년 2월 14일 월요일

[Python] Auto-Machine(?) APIs

안타까운 제목이다. 뭐라고 지을 거리가 없어!

[Python] Logging

log는 debug의 가장 첫 걸음이 아니겠나. 하하하

어쨌든 이거 쓰는 법도 메모메모메모메모...

[Python] Unicode/UTF-8

한글이나 multi-byte character, 특히 국제적인 언어 지원이 필요한 Application을 개발하는 경우 항상 따라다니는 용어가 Unicode 나 UTF-8 등등... 이와 관련된 메모.

뭐 다들 아는 내용이겠지만 내가 가끔 까먹는 통에 그냥 기록으로 남긴다.

[Django] Multiple Unittest Files

Django에서 유닛테스트 코드가 너무 길어서 모듈화(여러 파일로 분리?)하고 싶을 경우 이용할 수 있는 방법.