Altruistic Programmer's Blog (KR)

이타주의 프로그래머의 블로그

Archive for the ‘rails’ tag

블로그 OS 재설치

with 2 comments

[옛날 블로그 글입니다. 2009.06.07]

블로그 계약기간 다되서 재갱신 하면서 CentOS 5.3으로 바꿔서 설치해봤습니다. Redhat Enterprise 기반이라서 안정성이 있다고 하더라구요. 그게 기본 패키지들이 좀 옛날 것인 면도 있는 것 같네요.

RPM 삽질

첨에는 Fedora8이라서 Fedora10으로 업그레이드해보자고 시작했다가, RPM Hell을 겪게 되었습니다. 몰랐었는데 RPM은 같은 패키지의 여러 버전을 설치할 수가 없더군요. 그래서 디펜던시 트리의 모든 패키지를 한 번에 업데이트 하지 않으면 안되는 문제가 있었습니다. 하루 종일 삽질을 하다가 결국은 OS 재설치로 -_-

Ruby와 Rails 설치

ruby와 rails를 설치하는데도 한참 헤맸습니다. 헤매면서 배운점은 잠시 후로 미루고 결국 선택한 방법을 정리하면,

  • ruby는 1.8대의 안정버전으로 소스코드를 가져다가 빌드한다 (1.9는 아직 실험적인)
  • 주의: 빌드는 단순히 configure, make, make install 외에 해줄 것이 있으니 아래 링크를 참조
  • http://www.catapult-creative.com/2009/02/04/installing-rails-on-centos-5/
  • rubygems는 그냥 최신(1.3.3)으로 소스코드를 가져다가 빌드한다.
  • rails 등의 rubygem들은 gem install로 설치
  • 주의: 예전에 만든 rails 어플을 돌리려면 맞는 버젼을 설치하는 것이 편리
  • (gem install rails -v 2.1.1 과 같이)

가능한 yum을 사용해서 빌드된 패키지만으로 해결하고 싶었는데요, 기본 레포지토리에는 ruby밖에 패키지가 없었구요. RubyWorks는 rubygems와 주요 rubygem들을 패키지로 제공하고 있는데요, 버전 의존성등이 안맞는 문제등이 있었습니다.

또 ruby 1.9 소스를 받아서 해봤더니, 제 어플리케이션이 쓰는 rubygem 중에 아직 1.9를 지원하지 않는 것이 있어서 낭패. 그래서 yum으로 준비된 ruby 패키지를 설치하고, rubygems는 소스코드를 받아서 설치했더니, rubygems가 ruby가 설치된 곳에 설치되는 바람에 기분이 안좋더라구요.

다시 말해서, 소스 받아서 설치한 녀석들은 /usr/local 안쪽에 있어야 yum으로 설치한 녀석들이랑 헷갈리지 않고 관리하기 좋은데요, 소스를 받아서 설치한 rubygems가 /bin, /lib, /lib64 등에 들어가 버려서 참 찝찝하더라구요. 따로 uninstall 지원도 없어서 수작업으로 싹 지우고, 위에 설명한 방법으로 완료했습니다~

Rails 어플리케이션 배포

Rails 어플리케이션을 배포하는 방법이 이렇게 많은 줄은 몰랐습니다. 저는 mongrel_cluster로 rails 어플리케이션을 여러개 돌리고, apache에서 로드밸런서를 써서 연결하는 식으로 돌리고 있었는데요, 이번에 사용해본 Passenger라는 녀석은 설정이 완전 간단하네요.

apache 설정에서 DocumentRoot를 rails 어플리케이션의 public 디렉토리로 맞춰주기만 하면, Passenger가 알아서 rails 어플리케이션인지 알아채고 돌려주는 식입니다. 그냥  php 설정하듯이 간단합니다.

아, 제가 좀 헤맨 부분이 있는데요, Passenger의 apache 모듈을 설치하면 LoadModule, PassengerRoot, PassengerRuby를 apache 설정에 넣으라고 나오는데요, 저는 이 설정을 <VirtualHost *:80> 안쪽에서 넣어줬다가 무척 헤맸습니다. <VirtualHost *:80> 설정 바깥쪽에 넣어주세요.

마무리

리눅스를 막 배웠더니 기초가 부족해서 많이 해맸는데요, 여러 문제 상황에 봉착하면서 해결책을 검색하고, 조금씩 해결하면서, 배워나가는 과정이 무척 재밌었습니다. 아마도 개발자들이 보통 하는 일들과 비슷해서 그런게 아닌가하는 생각이 듭니다. 그리고, 서버가 깔끔하게 정리된 상태이고, 내 제어 범위 안에 들어와 있다는 느낌도 참 기분 좋은 것이네요.

Written by muscly

July 7th, 2009 at 2:19 pm

Exuberant Ctags

with 4 comments

[엣날 블로그 글입니다.2008.12.1]

ctags라고 C 소스코드의 태그를 만들어주는 유닉스 프로그램이 있습니다. Vim 같은 편집기에서 이를 활용해서 함수가 정의된 곳으로 한 번에 점프한다거나 하는 기능을 구현하고 있는데요, 다양한 프로그래밍 언어에 대응하는 버전이 바로, Exuberant Ctags 입니다.

지원하는 언어

아래와 같이 34개의 프로그래밍 언어를 지원하고 있습니다.

Assembler ASP Awk BASIC
BETA C C++ C#
COBOL Eiffel Erlang Fortran
HTML Java JavaScript Lisp
Lua Make Pascal Perl
PHP PL/SQL Python REXX
Ruby Scheme Shell scripts (Bourne/Korn/Z)
S-Lang SML (Standard ML) Tcl
Vera Verilog Vim YACC

다운로드 / 설치

http://ctags.sourceforge.net 가셔서 받으시면 됩니다. 윈도우즈 사용하시는 분은 바이너리 버전 받으시면 되고, 맥을 포함한 유닉스 계열은 늘 그렇듯이 아래처럼 하시면 됩니다.

cd ctags
./configure
make
sudo make install

Vim의 Rails 플러그인과 사용하기

Rails 플러그인 설치하는 방법을 따라하셨다면, Vim에서 가볍게 아래처럼 써넣어줍니다. (에러가 나면서 ctags 사용법을 알려준다면 내장된 ctags가 실행된 것일 확률이.. 경로 설정등을 확인해주세요~ :)

:!Rtags

이 명령은 현재 소스코드를 기준으로 태깅 파일을 만들어 줍니다. Rails 플러그인이 여러분이 작성중인 어플리케이션의 루트 디렉토리를 자동으로 찾아주니까, 태깅을 할 범위나 태그 파일의 위치 같은 것은 신경쓰지 않아도 됩니다. 아주 편리하지요. ^^

이제 Vim의 태그 관련 커맨드를 사용해서 편하게 소스코드를 돌아다니시면 됩니다. 원하는 심볼 위에서 Ctrl + ] 를 누르시면 정의된 곳으로 점프하고, 다시 Ctrl + T 를 누르면 점프하기 전의 위치로 돌아옵니다. 여러 번 점프한 경우에도 잘 동작하고요.

Vim과 사용하기

요건 굳이 제가 따로 정리 안해도 될만큼 자료가 많아서요. ^^ 구글 검색에 제일 먼저 나오는 링크를 살짝 넣어봤습니다.

Exuberant Ctags로 즐거운 소스 분석 되세요~ ^^

Written by muscly

December 1st, 2008 at 7:01 am

Posted in 프로그래밍

Tagged with , , ,

Rails on Vim

without comments

[옛날 블로그 글입니다.2008.11.27]

Vim으로 Ruby on Rails 개발을 하는 방법을 정리해봅니다. 사용법까지는 아니고 필요한 설정들과 공부할 것 정도가 되겠네요. 오늘로 벌써 3번째 똑같은 설정을 하고 있는데도 매번 헤매고 있어서 큰 맘 먹고 정리해봅니다. ^^

Vim 설치

다양한 OS 용이 있으니 골라서 설치하시고, 혹시나 Mac OS X 사용중이시라면 MacVim(다운로드)을 강하게 추천드립니다~

Rails 플러그인 설치

필수 설치입니다! 문법 강조, 소스 파일 간 이동, Rails 스크립트와 Rake 명령 등을 지원하는 Vim 플러그인입니다.

  • http://www.vim.org/scripts/script.php?script_id=1567에서 최신 버전 받기
  • ~/.vim 디렉토리에 압축풀어 넣기

.vim 디렉토리가 없으면 만드세요. 아래처럼 보이면 됩니다.

색상 설정 파일 받기

필수 설치는 아닙니다. Vim에는 colorscheme이라고 문법 강조를 위해 색상 프로파일을 지정 할 수 있는데, Rails 커뮤니티에서 가장 많이 사용하는 녀석은 아래 두 가지인 것 같네요. 스크린샷 보시고 맘에 드는 것으로 고르세요. (거의 비슷해서 자세히 비교하셔야… ^^;;)

  • 위의 링크에서 최신 버전을 다운받는다.
  • ~/.vim/colors 디렉토리에 복사한다.

colors 디렉토리가 없으면 만드세요. 아래처럼 보이면 됩니다. (2가지 모두 복사한 경우)

Vim 설정을 바꾸자

Rails 플러그인을 위한 약간의 설정과 색상 설정을 추가하면 끝입니다. ~/.vimrc나 ~/.gvimrc 파일에 추가하시면 되요. (.gvimrc 파일은 터미널이 아닌 GUI 모드일때만 로딩됩니다.)

” 필수 설정
set nocompatible
syntax on
filetype plugin indent on ” 이게 없으면 인덴트가 잘 안되요
helptags ~/.vim/doc ” Rails 플러그인의 도움말 로딩
colorscheme vibrantink ” 둘 중 하나를 고르세요
“colorscheme vividchalk
” 필수 아닙니다. 개발에 필요한 일반적인 설정이니 참조하세요
set nobackup
set history=50
set ruler
set showcmd
set incsearch
set hlsearch
set ts=4 ” 이렇게해도 Ruby 파일의 탭은 스페이스 2개가 됩니다
set sw=4
set smarttab
set number

Rails 플러그인 공부하기

Vim에서 아래처럼 써넣으면 Rails 플러그인 도움말이 나옵니다. (안나오면 위에서 필수 설정의 helptags가 잘 안된거에요.)

:help rails

설치에 대한 도움말은 건너뛰고 사용법을 대충 읽으시면 10분 정도 걸리는데 결코 아깝지 않은 시간입니다! 읽으시면서 자주 쓰겠다 싶은 것은 따로 메모해두시면 익히는데 도움이 됩니다. 뭐, 이 정도네요. 적고보니 왜 헤맸나싶기도 하네요. -_-;; Vim과 Rails로 즐거운 개발하세요~
p.s.
Exuberant Ctags를 설치하는 방법을 확인해보세요. 쉽고 빠르게 원하는 소스 코드로 점프 할 수 있습니다.^^

Written by muscly

November 27th, 2008 at 6:30 am

Posted in 프로그래밍

Tagged with , , , ,