달력

022012  이전 다음

  •  
  •  
  •  
  • 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
  •  
  •  
  •  

'프로그래밍'에 해당되는 글 16건

  1. 2011/05/27 vim syntax에서 \\ 문자열 인식 못할 때
  2. 2011/05/27 vim 설정
  3. 2009/05/04 구글 안드로이드 (1)
  4. 2006/08/03 근황 (4)
  5. 2006/07/30 프로젝트중
  6. 2006/07/30 Impression 백업
  7. 2006/07/29 한글 오토마타 (2)
  8. 2006/06/06 유니코드 한글 조합법
  9. 2006/05/15 기본에 충실하자.
  10. 2006/04/12 키보드 샀다. (1)
제가 쓰고 있는 언어가 skill이라는 언어인데요.

syntax에서 \\를 인식 못해서 문자열 인식이 틀어져 버리더라구요.

그래서 문자열 인식이 잘 되는 C와 비교해서 수정한게 이 부분입니다.

syn region skillString                start=+"+ skip=+\\"+ end=+"+

syn region skillString                start=+"+ skip=+\\\\\|\\"+ end=+"+

이렇게 하면 문자열로 제대로 인식 하네요.

'프로그래밍' 카테고리의 다른 글

vim syntax에서 \\ 문자열 인식 못할 때  (0) 2011/05/27
vim 설정  (0) 2011/05/27
근황  (4) 2006/08/03
프로젝트중  (0) 2006/07/30
Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
Posted by 당근세푸대

vim 설정

프로그래밍 2011/05/27 12:33

인터넷에서 구한 까막눈님의 설정파일을 나름대로 수정해서 쓰고 있습니다.
알면 알 수록 잘 쓸 수 있는 것이 vi군요 ㅎ

scripte utf-8
" vim: set fenc=utf-8 tw=0: "
" 파일의 첫부분에 위의 2줄을 꼭 남겨 두십시오. "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 6l4ck3y3(까막눈)의 Vim 설정 파일 " <= 원본
" 마지막 수정: 2010-06-14 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Raynear의 Vim 설정 파일 "
" 마지막 수정: 2011-05-27 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 프로그램 기본 설정 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" 오리지널 Vi 와의 호환성을 없애고, Vim 만의 기능들을 쓸 수 있게 함. "
set nocp

" 모든 옵션을 원래대로 복원 "
set all&

" 명령어 기록을 남길 갯수 지정 "
set history=1000

" 오류음 대신 비주얼벨 사용 "
set vb

" 매크로 실행중에 화면을 다시 그리지 않음 "
set lz

" 프로그램 시작시 플러그인 로드 "
set lpl

" 탭 -> 공백 변환 기능 (사용 안함)
set noet
set sts=0

" magic 기능 사용
set magic

" 인코딩 설정 "
" 문서를 읽을 때 BOM 을 자동으로 제거하려면, fencs 맨 앞에 ucs-bom 를 추가하세요. "
"let &tenc=&enc "
set enc=cp949
set fenc=cp949
set fencs=utf-8,cp949,cp932,euc-kr,shift-jis,big5,ucs-2le,latin1

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 모양 설정 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" gVim의 기본폰트 설정 "
set gfn=Fixedsys:h10:cHANGEUL

" gVim의 배경테마 설정 "
colorscheme torte

" gVim 시작시 크기지정 "
set lines=30
set co=150

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 편집 기능 설정 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" ESC키를 누르면 한글 모드가 해제 "
" 입력모드에서 이전 언어 설정 모드 유지 "
inoremap <ESC> <ESC>:set imdisable<CR>
nnoremap i :set noimd<CR>i
nnoremap I :set noimd<CR>I
nnoremap a :set noimd<CR>a
nnoremap A :set noimd<CR>A
nnoremap o :set noimd<CR>o
nnoremap O :set noimd<CR>O   

" 입력모드에서 Ctrl+d로 백스페이스 기능 "
map! <C-d> <BS>

" Shift+Enter로 아래줄로 커서 넘기기 기능 "
map <S-CR> <ESC>o
map! <S-CR> <ESC>o

" 괄호 자동 완성 후 입력모드로 전환 "
"map! () ()<ESC>i
"map! (); ();<ESC>hi
"map! [] []<ESC>i
"map! {} {}<ESC>i
"map! {}; {};<BS><ESC>i<CR><ESC>O<BS>
"map! <> <><ESC>i
"map! '' ''<ESC>i
"map! "" ""<ESC>i

"map foreach( <CR><BS>)<ESC>k$a
"map if( <CR><BS>then<CR>)<ESC>k$a

" 영역이 지정된 상태에서 Tab 과 Shift-Tab 으로 들여쓰기/내어쓰기를 할 수 있도록 함.
vmap <Tab> >gv
vmap <S-Tab> <gv

" 현재 줄의 마지막에 이어 쓰기 "
map! <C-TAB> <S-CR><ESC>i<BACKSPACE>

" 파일의 종류를 자동으로 인식 "
filetype on

" 자동 문법 강조 "
syntax on

set nocompatible         " Vim 디폴트 기능들을 사용함 "
set number                " 줄 번호를 붙임  "
set backspace=2         " 삽입 모드에서 백스페이스를 계속 허용 "
set autoindent             " 자동 들여쓰기 "
set cindent             " C 언어 자동 들여쓰기 "
set smartindent         " 역시 자동 들여쓰기 "
"set nowrap                 " 자동 줄바꿈 안함  "
set hls                   " 검색어 강조 기능 "
set nowrapscan             " 찾기에서 파일의 맨 끝에 이르면 계속하여 찾지 않음 "
set ignorecase             " 찾기에서 대/소문자를 구별하지 않음 "
set incsearch             " 점진적으로 찾기  "
set backup             " 백업파일을 만든다 "
set nojoinspaces         " J 명령어로 줄을 붙일 때 마침표 뒤에 한칸만 띔 "
set ruler                 " 상태표시줄에 커서 위치를 보여줌 "
set tabstop=4             " 간격 "
set shiftwidth=4         " 자동 들여쓰기 간격 "
set keywordprg=ydic        " K를 눌렀을 때 실행할 명령어 "
set showcmd             " (부분적인)명령어를 상태라인에 보여줌 "
set showmatch             " 매치되는 괄호의 반대쪽을 보여줌 "
set autowrite             " :next나  :make 같은 명령를 입력하면 자동으로 저장 "
set linespace=3         " 줄간격 "
set title                 " 타이틀바에 현재 편집중인 파일을 표시 "
set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\     " 다중 문서 작업을 위한 Status 줄 "
set tags+=./tags        " add current directory's generated tags file to available tags "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 플러그인 설정 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" c.vim 플러그인의 C_InsertTemplate() 함수 맵핑 설정. "
"noremap <unique> <script> <Plug>CommentFuncDes :call C_InsertTemplate("comment.function")<CR>
"noremap <unique> <script> <Plug>CommentFrame :call C_InsertTemplate("comment.frame")<CR>

" omnicppcomplete.vim 플러그인 설정. "
" autocmd CursorMovedI * if pumvisible() == 0|pclose|endif "
" autocmd InsertLeave * if pumvisible() == 0|pclose|endif "

" let OmniCpp_MayCompleteDot = 1         autocomplete with . " 
" let OmniCpp_MayCompleteArrow = 1          autocomplete with -> "
" let OmniCpp_MayCompleteScope = 1          autocomplete with :: "
" let OmniCpp_SelectFirstItem = 2          select first item (but don't insert) "
" let OmniCpp_NamespaceSearch = 2          search namespaces in this and included files "
" let OmniCpp_ShowPrototypeInAbbr = 1    show function prototype (i.e. parameters) in popup window "
" let OmniCpp_DisplayMode = 1 "
" let OmniCpp_LocalSearchDecl = 1 "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 단축키 설정 "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" F1은 프레임 형식의 주석 달기, Ctrl+F1은 함수에 대한 설명 달기 "
"map <F1> <Plug>CommentFrame
"map! <F1> <ESC><F1><ESC>a
"map <C-F1> <Plug>CommentFuncDes
"map! <C-F1> <ESC><C-F1><ESC>a

" F2는 파일 네비게이션 "
map <F2> :30vs ./<CR>

" F3은 저장 "
"map <F3> :w!<CR>
"map! <F3> <ESC><F3>

" F4는 현재창 닫기 "
"map <F4> :q!<CR>

" F5는 TagList 열기 "
"map <F5> :TlistToggle<CR>

" F6은 파일 비교하기, Ctrl+F6로 파일 비교하기 해제 "
"map <F6> :diffthis<CR><C-w><C-w>:diffthis<CR>
"map <C-F6> :diffoff<CR><C-w><C-w>:diffoff<CR>

" F7은 Hex 모드 "
"map <F7> :%!xxd<CR>

" F8은 ctags 생성 "
"map <F8> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR>

" Ctrl+k는 폴딩 접기, Ctrl+j로 폴딩 열기 "
map <C-k> v]}zf<CR>
map <C-j> zo<CR>

" Ctrl+s는 소스파일과 헤더파일 전환 "
"map <C-s> :A<CR>

" Ctrl+e는 디렉토리 목록 열기, Ctrl+Enter로 파일 선택 후 디렉토리 목록 닫기 "
"map <C-e> :NERDTree<CR>

" Ctrl+y 사전 검색, 단어 위에서 Shift+k를 눌러도 동작 "
map <C-y> :!ydic

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Vim 개인 설정 완료  "
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


'프로그래밍' 카테고리의 다른 글

vim syntax에서 \\ 문자열 인식 못할 때  (0) 2011/05/27
vim 설정  (0) 2011/05/27
근황  (4) 2006/08/03
프로젝트중  (0) 2006/07/30
Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
Posted by 당근세푸대
안드로이드 프로그래밍
카테고리 컴퓨터/IT
지은이 김정훈 (성안당, 2009년)
상세보기

헬로 안드로이드
카테고리 컴퓨터/IT
지은이 에드 버넷 (ITC, 2009년)
상세보기


안드로이드 공부를 하고 있습니다.

이번엔 얼마나 갈지 모르겠지만. 좀 길게 해보려고 하고 있습니다. 사람들이랑 스터디도 기획하고 있구요.ㅋ

갑자기 안드로이드에 관심을 갖게 됐는데요. 이윰는 몇가지로 요약할 수 있습니다.

1. 핸드폰 플랫폼이다.
2. 널리 퍼져 주류 플랫폼이 될것 이다.
3. 개발자에 대한 장벽이 낮다.

이런 이유 때문에 안드로이드를 공부하기로 했습니다.

만들려고 목표로 하고 있는 어플리케이션은 몇개 있는데 언제쯤 할 수 있을지 모르겠군요.

블로그에 강좌 같은건 올리지 않겠지만 혹시나 나중에 어플리케이션으로 안드로이드 마켓에 올리게 된다면 보고드립죠.

'프로그래밍 > 구글 안드로이드' 카테고리의 다른 글

구글 안드로이드  (1) 2009/05/04
Posted by 당근세푸대

근황

프로그래밍 2006/08/03 18:04
드디어 프로젝트가 끝났다.. ㅠㅠ
드디어 집에 갈 수 있다.
3주만인가.. ㅠㅠ
이제 좀 자고 푹 쉬고 조금 논 다음에 다음 프로젝트 진행해야겠다.

다음 프로젝트는 3D엔진 제작.

엔진 이름은 "Sleipnir" 슬레입니르 라고 읽는다.
유래는 북유럽 신화에서 나오는 "오딘"의 말이다.
8개의 다리를 가졌고 세상에서 가장 빨라서 저승과 하늘도 갈 수 있다고 한다.

이제 하고 싶은걸 잡았으니 열심히 열심히 해야겠다.

'프로그래밍' 카테고리의 다른 글

vim syntax에서 \\ 문자열 인식 못할 때  (0) 2011/05/27
vim 설정  (0) 2011/05/27
근황  (4) 2006/08/03
프로젝트중  (0) 2006/07/30
Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
Posted by 당근세푸대

프로젝트중

프로그래밍 2006/07/30 23:02
지금 내가 맡아서 만들고 있는건.. 핸드폰의 문자입력시스템의 구성이다.

생각보다 어려웠지만 이제 대충 답이 보인다.

중요했던건..

locale설정과 FSM을 사용한 오토마타였다.(말이 되나?)

이제 3일 남았다. 미치도록 해보자!!

'프로그래밍' 카테고리의 다른 글

vim 설정  (0) 2011/05/27
근황  (4) 2006/08/03
프로젝트중  (0) 2006/07/30
Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
유니코드 한글 조합법  (0) 2006/06/06
Posted by 당근세푸대
백업
[DN=bl143.zip]다운[/DN]

'프로그래밍' 카테고리의 다른 글

근황  (4) 2006/08/03
프로젝트중  (0) 2006/07/30
Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
유니코드 한글 조합법  (0) 2006/06/06
기본에 충실하자.  (0) 2006/05/15
Posted by 당근세푸대
********************************************************************* 
               오토마타 이야기  1
********************************************************************* 

이야기틀 : 오토마타 이야기
이야기꾼 : 한동훈 ddoch@hitel.kol.co.kr
                 ddoch@nownuri.nowcom.co.kr
저작권   : GPL 
이야기날짜 : 1997.1.24

순 서 :

1. 들어가는 말
2. 오토마타란?
3. 간단한 예제 하나 
4. 오토마타 문자열 검색법
5. 한글과 오토마타  
6. 나오는 말


1. 들어가는 말...


http://imhangul.kldp.net/automata/automata.html

'프로그래밍' 카테고리의 다른 글

프로젝트중  (0) 2006/07/30
Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
유니코드 한글 조합법  (0) 2006/06/06
기본에 충실하자.  (0) 2006/05/15
키보드 샀다.  (1) 2006/04/12
Posted by 당근세푸대
출처
http://blog.naver.com/mysticzizone?Redirect=Log&logNo=140018236999



유니코드에서 한글은 십진수로 44032부터 55203까지입니다.
이 유니코드 한글의 패턴을 분석해보면,

1. 초성은 19자로
ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ
의 순서이고,

2. 중성은 21자로
ㅏ, ㅐ, ㅑ, ㅒ, ㅓ, ㅔ, ㅕ, ㅖ, ㅗ, ㅘ, ㅙ, ㅚ, ㅛ, ㅜ, ㅝ, ㅞ, ㅟ, ㅠ, ㅡ, ㅢ, ㅣ
의 순서,

3. 종성은 28자로
(없음), ㄱ, ㄲ, ㄳ, ㄴ, ㄵ, ㄶ, ㄷ, ㄹ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅁ, ㅂ, ㅄ, ㅅ,
ㅆ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ
의 순서입니다.

따라서 19*21*28 = 11172 = 55203-44032+1 자의 한글이 구성됩니다.

이들 한글 초/중/종성으로 코드를 구성할 때,
초성, 중성, 종성의 순서로 코드를 구성합니다.
즉, 코드 44032는 '가' 이고, 코드 44033은 '각', 코드 44034는 '?A', ...
'가'에 종성 붙이는 것이 끝나면 '개', '객', ...
이런 식입니다.

따라서, 어떤 글자의 코드에서 44032를 빼고, 21*28로 나누면,
0 ~ 18의 숫자를 얻게 되고, 이는 위 초성의 순서와 같습니다.
마찬가지로, 44032를 빼고, 21*28로 나눈 나머지를 다시 28로 나눈 몫은
0 ~ 20이고, 이는 위 중성의 순서와 같습니다.
마지막으로, 44032를 빼고, 21*28로 나눈 나머지를 다시 28로 나눈 나머지는
0 ~ 27이고, 이는 위 종성의 순서와 같습니다.

따라서 char ch 의 종성을 알고자 한다면,
int third = ( ( ch - 44032 ) % ( 21 * 28 ) ) % 28;
로 얻은 int third 값을 이용하면 됩니다.

참고로 초성은
int first = ( ch - 44032 ) / ( 21 * 28 );
중성은
int second = ( ch - 44032 ) % ( 21 * 28 ) / 28;
입니다.

'프로그래밍' 카테고리의 다른 글

Impression 백업  (0) 2006/07/30
한글 오토마타  (2) 2006/07/29
유니코드 한글 조합법  (0) 2006/06/06
기본에 충실하자.  (0) 2006/05/15
키보드 샀다.  (1) 2006/04/12
Doxygen  (0) 2006/02/21
Posted by 당근세푸대
gpgstudy에서 보던 imays님의 블로그에서 본 글입니다.

http://blog.naver.com/imays/150004225996

언제나 나오는 말이지만..

기본에 충실하자.. 그만큼 어려운 말이기도 하죠..

저는 나름대로 기본에 충실했다고 생각은 하지만...

기본만 파고 있어봤자... 라는 생각도 드네요.

뭐.. 그 기본이 D3D도 기본이라고 한다면 부족한 기본도 있는거니까요 ^^;

약간은 긴장해서 뭔가 만들어봐야겠네요..

'프로그래밍' 카테고리의 다른 글

한글 오토마타  (2) 2006/07/29
유니코드 한글 조합법  (0) 2006/06/06
기본에 충실하자.  (0) 2006/05/15
키보드 샀다.  (1) 2006/04/12
Doxygen  (0) 2006/02/21
[책소개] 게임 프로그래머를 위한 C++  (0) 2006/02/19
Posted by 당근세푸대


사긴 했는데....

맘에 안드는 부분이 있다.

ㅠ가 왼쪽으로 치우쳐 있는 것이다.

개인적으로 한글 자판칠때 왼손은 자음 오른손은 모음으로 치기 때문에 ㅠ를 오른손으로 치는데

(영어를 칠때는 b는 왼손으로 친다)

그전까진 문제가 없었는데 네츄럴 키보드가 나오면서 내가 다르게 친다는걸 알았다.

네츄럴 키보드에선 b가 왼쪽에 붙어있기 때문에 내가 치던대로 칠 수가 없다.

이번에 키보드를 산건 멤버쉽에서 준 키보드에서 Insert, Delete, Home, End, PgUp, PgDn 모음이 다르게 배치되서 였다.

표준을 지키는게 역시 제일좋다 ㅡㅡ;(뭐 난 표준대로 키보드 치진 않지만)

뭐.. 이번에 산 키보드에서 ㅠ가 왼쪽으로 살짝 치우쳐져서 연습이 좀 필요할 듯 하다.

윽.. 불편해.. ㅠㅠ

'프로그래밍' 카테고리의 다른 글

유니코드 한글 조합법  (0) 2006/06/06
기본에 충실하자.  (0) 2006/05/15
키보드 샀다.  (1) 2006/04/12
Doxygen  (0) 2006/02/21
[책소개] 게임 프로그래머를 위한 C++  (0) 2006/02/19
3D 엔진  (0) 2006/02/18
Posted by 당근세푸대