메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

루비 온 레일즈, 이클립스를 만나다(1)

한빛미디어

|

2007-05-18

|

by HANBIT

19,189

제공 : 한빛 네트워크
저자 : Deepak Vohra
역자 : 이대엽
원문 : Ruby on Rails Meets Eclipse

이클립스(Eclipse)는 가장 일반적으로 사용되는 Java 통합 개발환경(IDE)이다. 루비 온 레일즈(Ruby on Rails)는 루비 온 레일즈를 이클립스에서 사용할 수 있도록 해주는 몇 가지 플러그인을 제공한다. 이러한 플러그인 중에는 Ruby Development Tools와 RadRails가 있다. Ruby Development Tools(RDT)와 RadRails는 이클립스 플랫폼을 위한 오픈소스 루비 통합 개발환경이다. RDT에서 제공하는 몇 가지 기능들에는 구문 강조(syntax highlighting), 문법 유효성 검증(syntax validation), 오류 표시(error markers), 코드 완성(code completion), 코드 포매팅(code formatting), 그리고 루비 단위 테스트 프레임워크 통합(Ruby unit-testing framework integration)과 같은 것들이 있다. RadRails에서 제공하는 기능들에는 루비와 RHTML 파일에 대한 코드 어시스트(code assist), 디버깅 지원(debugging support), 통합 서버 뷰(integrated server views), 제너레이터(generators), 동적 테스팅(dynamic testing), 그리고 통합 배포(integrated deployment)와 같은 것들을 포함한다. 이 기사에서는 윈도 환경에서 이클립스를 이용하여 루비 온 레일즈 기반의 Create-Read-Update-Delete (CRUD) 애플리케이션을 하나 만들어볼 것이다. 만약 이클립스와 MySQL을 미리 설치해 놓지 않았으면 이클립스 3.2와 MySQL을 다운로드하여 설치하도록 한다.

루비 온 레일즈 설치하기

먼저 우리는 루비 온 레일즈를 설치할 필요가 있다. 여기서는 루비, 루비젬(RubyGems), 그리고 레일즈를 설치할 것이다. 루비젬은 루비 애플리케이션과 라이브러리와 함께 사용되는 표준 루비 패키지 관리자이다. 루비 윈도 설치 애플리케이션을 다운로드한 다음 ruby184-21.exe 파일을 더블클릭한다. 루비 설치 마법사가 시작되면 Next를 클릭하고 라이선스 동의를 수락한 다음 다시 Next를 클릭한다. 루비젬 패키지 관리자와 SciTE, Scintilla기반의 텍스트 편집기가 포함되어 있는 기본 컴포넌트들을 선택하여 설치하고 Next를 클릭한다. 루비를 설치할 디렉터리(기본값은 c:/ruby)를 지정하고 Next를 클릭한다. 시작 폴더를 지정하고 Install을 클릭하면 이제 루비와 루비젬이 설치될 것이다. Finish버튼을 클릭하여 루비 설치 마법사를 닫으면 루비 설치가 완료된다. c:/ruby/bin 디렉터리의 패스가 PATH 시스템 환경변수에 추가될 것이며 또한 -rubygems라는 값을 갖는 RUBYOPT라는 시스템 환경변수도 추가될 것이다.

명령행 창을 열어 cd(디렉터리 변경) 명령어를 이용하여 c:/ruby 디렉터리로 이동한 다음 아래 명령어를 이용하여 레일즈와 액티브 레코드(activerecord) 및 액션팩(actionpack)-액티브 레코드는 레일즈 MVC 애플리케이션의 모델 계층을 구현하며, 액션 팩은 뷰와 컨트롤러를 구현한다-을 포함하는 종속요소들을 설치한다:
c:/ruby>gem install rails --include-dependencies
명령어를 입력하면 레일즈 프레임워크 및 종속요소들이 설치된다. 다음으로는 Ruby Development Tools(RDT) 플러그인에 대해 알아볼 것이다.

RDT 설치하기

Ruby Development Tools를 설치하려면 이클립스에서 Help>Software Updates>Find and Install을 선택한다. Features Update 프레임에서 “Search for new features to install”을 선택하고 Next를 클릭한다. Install 프레임에서 “New Remote Site”을 버튼을 클릭한다. New Update Site 프레임이 나타나면 Name 필드을 지정하고(예, RDT) URL 필드는 http://updatesite.rubypeople.org/release로 입력하고 OK 버튼을 클릭한다. “Update sites to visit” 프레임에서는 RDT를 선택하고 Finish를 클릭한다. 설치할 기능들을 선택하고 “Select the latest version of a feature only” 체크상자를 선택한 후 Next를 클릭한다.


[그림 1] RDT 설치

feature 라이선스 동의를 수락하고 Next를 클릭한다. 설치 프레임에서는 Ruby Development Tools feature를 선택하고 Finish를 클릭한다. Feature Verification 프레임에서 Install All을 클릭하면 Ruby Development Tools와 플러그인이 설치된다. 변경된 사항들을 적용하기 위해 이클립스를 다시 시작한다. 다음으로는 루비 환경설정을 구성할 필요가 있다. Window>Preference를 선택하고 Preference 프레임에서 Ruby>Installed Interpreters를 선택한다. Add RubyVM 프레임에서 RubyVM의 이름(예, Ruby)을 입력하고 RubyVM 홈 디렉터리 필드에는 rubyw.exe 애플리케이션의 위치를 지정해 준다. 만약 루비 온 레일즈가 c:/ruby 디렉터리에 설치되어 있으면 rubyw는 c:/ruby/bin 디렉터리에 있다. OK 버튼을 클릭하고 Preference 프레임에서도 OK 버튼을 클릭한다.

레일즈 프로젝트 생성하기

다음으로는 이클립스에서 새로운 루비 프로젝트를 생성한다. File>New>Project를 선택한다. New 프레임에서 루비 프로젝트 마법사(Ruby Project wizard)를 선택하고 Next를 클릭한다.


[그림 2] 루비 프로젝트 생성

루비 프로젝트 프레임에서 프로젝트명을 입력하고 Finish를 클릭한다. 루비 퍼스펙티브가 열려있지 않았으면 루비 퍼스펙티브를 연다. 새로운 루비 프로젝트가 이클립스 IDE에 추가될 것이다. 다음으로 레일즈 애플리케이션 생성(creating a Rails application), 모델 생성(creating a Model), 컨트롤러 생성(creating a Controller), 스캐폴드생성(creating a scaffold), WEBrick 서버 시작(starting WEBrick server)과 같은 다양한 작업들을 수행하기 위한 외부 도구들을 설정할 필요가 있다. 외부 도구들에 대한 설정구성을 만들기 위해 Run>External Tools>External Tools를 선택한다. 외부 도구 프레임에서 다양한 작업들에 대한 환경설정을 만드는데, 환경설정을 만들려면 Program 노드에서 마우스 오른쪽 버튼을 클릭하고 New를 선택한다. 레일즈 애플리케이션을 생성하기 위한 “레일즈 애플리케이션 생성(Create Rails Application)”이라는 환경설정을 만든다. Location 필드에는 rails.cmd 파일의 위치를 지정하고 Working Directory 필드에는 ${project_loc} 환경변수를 선택한다. 레일즈 프로젝트와 동일한 이름의 애플리케이션을 만들기 위해 Arguments 텍스트 영역에는 ../${project_name}를 입력한다. Apply 버튼을 클릭하여 환경설정 내역을 적용한다.


[그림 3] 레일즈 애플리케이션 환경설정 생성

레일즈 애플리케이션이 몇몇 디렉터리와 클래스를 생성하므로 프로젝트 리소스를 새로고침할 필요가 있다. Refresh 탭을 선택하고 Refresh 프레임에서 “Refresh resources upon completion” 체크상자를 선택하고 Apply 버튼을 클릭한다. 즐겨찾기에 환경설정을 추가하려면 Common 탭을 선택하고 “Display in favorites” 메뉴의 체크상자에 있는 외부 도구 체크상자를 선택하고 Apply 버튼을 클릭한다. 다음으로는 WEBrick 서버를 시작하기 위한 환경설정을 만든다. Location 필드에는 ruby.exe 애플리케이션을, Working Directory 프레임에는 ${project_loc};로 지정하고 Argument 텍스트 영역에는 script/server를 기입한다. Apply 버튼을 클릭하여 환경설정 내역을 적용한다.


[그림 4] WEBrick 시작 환경설정

앞서 했던 것과 비슷한 방식으로 환경설정을 구성하여 루비 모델 스크립트와 컨트롤러 스크립트, 스캐폴딩을 생성하고 rake 명령어를 실행한다. 모델 스크립트를 생성하기 위해서는 Location 필드에 ruby.exe 파일의 위치를 지정하고 Working Directory 필드에는 ${project_loc}를, Argument 텍스트 영역에는 script/generate model {string_prompt: Model name} –f로 지정한다.


[그림 5] 모델 환경설정 생성

컨트롤러 스크립트를 생성하려면 “Create Controller”라는 환경설정을 생성하고 Location 필드에는 ruby.exe 파일의 위치를, Working Directory 필드에는 ${project_loc}를, Argument 텍스트 영역에는 script/generate controller {string_prompt:Controller name} –f를 입력한다.


[그림 6] 컨트롤러 환경설정 생성

더불어 스캐폴딩 클래스 생성을 위해 “Create Scaffold” 설정을 구성할 필요도 있는데 Location 필드에는 ruby.exe 파일의 위치를, Working Directory 필드에는 ${project_loc}를, Argument 필드에는 script/generate scaffold {string_prompt:Model name} {:string_prompt:Controller name} –f를 입력한다.


[그림 7] 스캐폴딩 설정 구성

이제 예제 레일즈 애플리케이션을 작성할 수 있는데, 여기에서는 카탈로그 항목을 생성하고, 읽어오고, 갱신하고 삭제하는 CRUD 애플리케이션을 작성해볼 것이다. 레일즈 애플리케이션을 작성하기 위해 루비 리소스 뷰에서 “catalog” 루비 프로젝트를 선택하고 Run>External Tools>Create Rails Application을 차례로 선택한다. catalog 레일즈 애플리케이션은 그림 8에 나타나 있는 것과 같은 디렉터리 구조를 가진다.


[그림 8] 레일즈 애플리케이션의 디렉터리 구조

다음 섹션에서는 레일즈 마이그레이션(Rails migrations)을 이용하여 MySQL 데이터베이스 테이블을 생성해볼 것이다.
TAG :
댓글 입력
자료실

최근 본 상품0