일단 미리 말하자면 루비 온 레일즈의 쥐뿔도 모르고 이제 책 보기 시작했다. 루비온레일즈는 다른 언어에 비해서 그 이름이 특이한데 말그대로 레일즈라는 프레임워크 위에 루비라는 언어를 얹은 것이다. 항상 최고인 것은 없겠지만 루비온레이즐의 생산성 만큼은 관심이 가고 진행해 보려는게 있어서 시작했다.
를 이용해서 했다. 여러가지가 있겠지만 일단 윈도우에서 루비온레일즈를 공부하면서 개발해 보기에는 인스턴트 레일즈만한게 없는것 같다. 너무 편해서 머 할말이 없을 정도다....
설치고 머고 없다. 인스턴트 레일즈 사이트에서 다운받은 zip파일을 원하는 곳에 풀어주면 끝이다. 다만 주의할 점은 인스턴트레일즈 경로에 공백이 들어가는 폴더가 있으면 안된다. 이렇게만 하면 인스턴트 레일즈에 대한 준비가 끝났다.
인스턴트 레일즈가 실행된 모습이다.
인스턴트 레일즈에서 자동으로 Apache와 MySQL을 가동시켜준다. 아파치는 apache\conf\httpd.conf 에서 port번호를 원하는대로 바꿔줘도 되고 i 버튼을 눌러서 phpmyadmin으로 제공되는 MySQL 관리로도 들어갈 수 있다. 루비온레일즈라는 특성에 어울리게 인스턴트 레일즈 자체도 심플 그 자체이다.
이제 루비온레일즈에 대한 환경설정은 끝이 났으니까 IDE환경을 보자. 물론 이렇게만 해놓고 console로 개발을 할 수도 있지만 내가 IDE환경을 선호하는 관계로 아무것도 모르면서 RadRails를 올렸다.(뭔 깡으로.. ㅡ..ㅡ)
에 플러그인 형태로 추가할 수 있다.
에서 받아도 되고 Aptana를 실행해서 첫화면에서 클릭해서 받아도 된다.
나도 루비온레일즈는 만지기 시작한지 얼마 안되서 아무것도 모르기 때문에(Hello World만 찍어봤다.) 문법에 대한건 넘어가고 셋팅만 보자.
RadRails가 설치되고 나면 Aptana의 오른쪽 상단에 RadRails 퍼스펙티브가 나타난 것을 볼 수 있다. 루비온레일즈를 개발할대는 당연히 퍼스펙티브를 RadRails로 선택한 후에 작업해 주어야 한다. (설치하면 기본적으로 퍼스펙티브가 나타나는 것으로 알고 있는데 혹 안나온다면 Other에서 선택을 해주면 된다.)
이제 루비온레일즈개발을 위한 RadRails의 설치는 모두 끝이 났다. 이제 셋팅만 하면 되는데 루비와 레일즈는 InstantRails를 통해서 한번에 모두 설치했기 때문에 RadRails에서 연결설정만 해주면 된다.
메뉴에서 [Window] - [Preferences]를 눌러서 설정에 들어가자.루비를 먼저 설정하겠다. 루비의 Installed Interpreters 부분에서 [Add]버튼을 울러서 홈디렉토리를 인스턴트레일즈의 루비폴더로 연결해 주면 시스템 라이브러리는 자동으로 추가된다. 디스플레이 네임은 자신이 구분할 수 있는 원하는 이름을 써주면 된다.
이번에는 레일즈에 대한 셋팅이다. 레일즈 부분의 Configuration에 들어가서 레일즈 패스를 인스턴트레일즈의 레일즈 폴더로 선택해 주면 된다.
이제 루비온레일즈에 대한 셋팅은 모두 끝이 났다. 처음엔 좀 해매긴 했지만 정리하면 이 얼마나 심플한 셋팅인가. 이제 셋팅이 끝났으니 개발(?)을 하자.
New Project를 해서 Rails Project를 선택한다.
프로젝트 이름을 써주고 나머지는 크게 건들게 없다. 사실 잘 모른다. Database는 인스턴트레일즈에서 mysql을 설치했기 때문에 mysql을 선택해 준다.(사실 이 포스팅에서는 디비를 연결할건 아니지만....) 그리고 서버는 Mongrel server 를 선택한다.
여기서 잠시 설명을 하자면 WEBrick은 100퍼센트 루비로 만들어진 레일즈의 기본 웹서버로 간단하고 Mongrel은 WEBrick의 장점과 lighttpd웹서버의 빠른 장점을 융합한 서버이다. 시작하는 입장에선 큰 차이는 없는것 같다.
여기서 예리한 사람은 먼가 이상하단걸 눈치챘을 것이다. ㅠ..ㅠ 인스턴트레일즈에서 분명이 아파치웹서버를 가동시켰는데 프로젝트를 만들면서 난 Mongrel을 선택했다. 왜냐!!하면... 메뉴에는 아파치가 없어서.. ㅡ..ㅡ RadRails에 별도로 돌아가는 아파치웹서버를 연결하는 법을 아직 모르겠는데 그거 연결하느라고 시간을 다 보낼수는 없기에 그냥 간편히 Mongrel을 연결했다.(아시는 분 계시면 좀... ㅜ..ㅜ)
프로젝트 생성이 끝나면 Ruby Explorer에 프로젝트가 생성된다. Aptana에서 생성한 프로젝트와 레드레일즈의 프로젝트를 구분할 수 있도록 레일즈프로젝트는 레일즈 아이콘이 달려있다.
여기서 루비온레일즈의 특징을 약간 설명해야 하는데(나도 첨 해보고 특징(?)을 설명하자니 좀 힘들다.. ㅜ..ㅜ)
레일즈에 제너레이터라는 것이 있어서 제너레이터 명령어 만으로 컨트롤러나 모델등을 자동생성해 낼 수 있다. 여기선 RadRails에서 제공하는 Generator 뷰를 이용한다.컨트롤러를 만들것이므로(루비온레일즈는 MVC 기반이다.) controller를 선택해주고 파라미터로 Greeting이라고 컨트롤러 이름을 지정한다. 여기서는 다른 옵션은 건들지 않는다. Go를 누르면 제너레이터가 실행되고 Console뷰에 명령어가 실행되는 것을 볼 수 있다.
app폴더 안에 controllers와 helpers안에 gerrting에 대한 부분이 추가된것을 알 수 있다.
greeting_controller.rb파일을 열어서 다음과 같이 수정하자.
# greeting_controller.rb
class GreetingController < ApplicationController
def index
render :text => "<h1>Hello World</h1>"
end
end
처음 파일을 열면 1,5번줄의 내용만 적혀있다. 원래는 이렇게만 하면 실행할 수 있어야 하는데 여기선 RadRails라는 IDE를 쓰고 있기 때문에 디비 error가 나면서 실행이 되지 않는다.(여기가 제일 힘들었다. 책의 진도를 추월해 버렸기 때문에... )
config폴더에 가면 database.yml이라는 파일이 있는데 이곳에서 디비에 대한 설정부분이 있다. 파일을 열어보면
development:
adapter: mysql
encoding: utf8
database: FirstRoR_development
username: root
password:
host: localhost
라는 부분이 있다. 루비온레일즈는 디비가 development, test, production이라는 세가지로 제공하는데 그에 대한 부분은 여기의 범위를 넘어가므로 여기서 사용하는 development부분만 보겠다. 실제로 Hello World를 찍는데 디비를 사용하진 않을 것이기 때문에 설정은 연결만 되면 상관없다. 이곳에서 지정된 이름의 database가 mysql에 존재해야하고 아이디/패스워드가 제대로 설정 되어 있어야 한다.
이제 다 끝났다. 실행해 보자 해당프로젝트에서 Rails Application을 Run해도 되고 상단에 Run 아이콘을 실행해도 된다. 실행하면 서버가 가동되는데 기본적으로는 3000포트를 사용하지만 여버를 여러개 돌리면 달라질수도 있다. 서버의 상태는 RadRails의 Server뷰에서 볼 수 있다.
greeting을 입력하면 index가 실행되서 Hello World가 찍히는 걸 볼 수 있다. 새로운 언어를 할때는 관습이 되어버린 Hello World... 익숙치 않은 언어인 만큼 Hello World를 찍었을때의 기분도 남다른것 같다.
설정에 대한 간단한 글로 생각했는데 의외로 엄청 길어져버렸다. 요즘 보는 책이 여러권이라 생각처럼 진도를 못나가고 있지만 이제 셋팅 끝났으니 루비온레일즈의 생산성 이란걸 한번 나도 느껴보자.
라는 말처럼 쉬워서 나쁠꺼야 없지.
덧) 나의 성향때문에 시작부터 IDE를 올려버렸지만 내가 보는 책도 그렇고 다른 사람들이 보는 책도 시작부터 IDE환경으로 가르치는 책은 없을꺼라고 생각한다. IDE가 무조건 좋다고 하는건 아니니 선택은 각자 나름..
Comments