'Ruby On Rails'에 해당되는 글 2건

  1. 2011.05.22 ruby on rails 3.x.x 를 위한 ruby및 bundle의 버전 설정 (1)
  2. 2010.02.10 루비 온 레일즈를 공부하면서 느낀 생각은..
2011. 5. 22. 23:02

ruby on rails 3.x.x 를 위한 ruby및 bundle의 버전 설정

1. ruby 설치
ruby는 1.8.7 또는 1.9.x버전이 필요하다.
그런데, 1.9.x버전으로 설치해보았더니, rake등의 다른 gem들에서 수많은 warning이 발생하였다. 결과적으로 아직 다른 gem들이 1.9.x에 알맞게 update되지 않은 모양이다.
그러므로, 안정적인 개발을 위해서는 1.8.7버전으로 일단 개발을 진행해야 할 것을 권한다.

ruby버전의 다운르도는 다음에서 한다.
http://www.ruby-lang.org/ko/

CentOs5.5에서는 yum이 1.8.5버전만을 지원하므로 소스 컴파일을 해서 설치해야만 한다.

2. gem설치
gem은 최신으로 설치를 한다.  1.8.0및 1.8.1은 rspec과 spork 등의 gem에서 error가 발생할 수 있으니, 반디시 1.8.3이상으로 하는 것을 권한다.

3. rails설치
rails는 최신은 3.0.7과 3.1.x rc1버전이 있다. 가장 큰 차이점은 기본 Ajax 모듈인데, rails 3.0.7버전 이전에는 기본 Ajax버전이 prototype을 사용하였다. 그런데, 3.1.x부터는 JQuery를 사용하는 것으로 되어 있다. 물론, 임의로 이를 변경할 수 있지만, 왠지 디펄트로 지원되면, 좀더 다양한 helper들이 지원될 것 같은 기분이다.
실험해본 결과 3.1.x는 아직 사용하기에는 시기 상조인 것 같다. 다른 gem들과의 호환성이 매우 좋지 않아서 시험해 볼 염두를 내지 못했다.
결과적으로 rails 3를 선행 학습할 때는 3.0.7로 학습 하고, 실제 개발은 3.1.x로 진행하면서 jQuery를 사용하는 것이 좋을 것 같다는 결론에 이르렀다.

4. mysql을 사용하고 싶다면,
이상하게도 기본 DB를 sqlite를 채택하였다. 그런데, 약간의 옵션을 사용하면 쉽게 mysql로 변경할 수 있는데, 이때, 생각없이 그냥 사용한다면, 수많은 에러들을 볼 것이다.

우선 rails로 프로젝트를 생성한다.

$ rails new new_app --database=mysql

이와 같이 database옵션을 주면 기본적인 database adaptor를 mysql2로 선택한다. 그러나, mysql2의 gem최신 버전은 0.3.2이다. 하지만 mysql2의 0.3.x버전은 rails 3.1.x에 맞게 설계되어 있으며, rails 3.0.x버전에서는 문제를 일으킨다. 그러므로 강제로 mysql2 v0.2.7을 설치한다.

$ sudo gem install mysql2 --version=0.2.7

5. rake 버전 확인
rake는 최근 0.9.0으로 버전업이 되었다. 이때문에 rails 스크립트와 에러를 발생시키고 있다.
이를 해결하기 위해서 기존 버전인 rake v0.8.7을 사용한다. 문제 없이 잘돔을 확인할 수 있다.

6. 기타 gem
기타 다른 gem에서느 버전 문제가 있는 녀석은 runtime environment 저장 서버인 spork인데 이 녀석을 설치하면, rspec을 이용하여 테스트할 때와 autotest로 테스트할 때 엄청난 속도를 경험할 수 있다. 즉, 큰 프로젝트를 적은 인원으로 개발할 때는 필수적인 gem이 되겠습니다. 고갱님~
그런데 문제는 0.9.0.rc7이전 버전에서는 rails v3.x와 궁합이 맞지 않는 다는 것이다. 이 역시 강제로 0.9.7로 설치를 해야 한다.

결과적으로 다음과 같이 Gemfile을 설정해야만, rails v3.0.7에서 모든 것이 아구가 맞게 잘 동작한다.


Gemfile
----------------
source 'http://rubygems.org'

gem 'rails', '3.0.7'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'mysql2', '0.2.7'
gem 'rake', '0.8.7'

group :development do
  gem 'rspec-rails', '2.5.0'
end

group :test do
  gem 'rspec', '2.5.0'
  gem 'webrat', '0.7.1'
  gem 'spork', '0.9.0.rc7'
end

이러한 사실을 알아내기 위해서 진짜 짜증나는 삽질을 했다. 구글링도 조낸 했다. 의외로 ruby on rails v3.x.x에 대한 자료가 턱없이 부족하다는 것이 너무 아쉽다.

Trackback 0 Comment 1
  1. Favicon of http://www.moncleroutletespain.com/ BlogIcon moncler 2013.01.05 22:27 address edit & del reply

    Info LCI : une cinquième personne est morte mercredi à la suite des fortes inondations sur l', http://www.moncleroutletespain.com/ moncler chaquetas?le de la GuadeloupeRelated articles:


    http://www.bestofsky.com/172 http://www.bestofsky.com/172

    http://linuxian.innori.com/category/linux?page=13 http://linuxian.innori.com/category/linux?page=13

2010. 2. 10. 12:07

루비 온 레일즈를 공부하면서 느낀 생각은..


아직 루비도 재대로 사용못하는 수준이지만 거기에 레일즈까지 공부하다보니 이거 점입가경(漸入佳境)이다.
그런데 레일즈를 공부하기 시작한 이유는 역시 php보다 좋아 보였기 때문인데 어제 갑자기 든 생각은 도대체 뭐가 더 좋은가 였다.

레일즈는 단순히 말하면 프레임워크이고 이를 좀더 시니컬하게 말하면 라이브러리와 유틸리티 덩어리이다. 즉 남이 잔뜩 짜 놓은 프로그램의 덩어리인 것이다. 보통의 경우 남이 짜 놓은 프로그램의 덩어리를 잘 쓰려면 짠놈이 옆에 있거나 또는 자료가 많아서 쉽게 접근할 수 있어야 한다. 그런데 문제는 국내에는 책도 사람도 거의 없다는 것이다.

예를 들어 예스24에서 루비온레일즈로 검색을 하면 한글화된 책은 5권도 안나오고 모두 외서인데 외서의 양도 그다지 많지 않다. 지금 보는 책은 매우 괜찮긴 한데 거의 간단한 실습용이지 체계적인 학습은 안되는 것 같다. 그래도 맛보기에는 최고인 듯 하다. 설마 이게 다는 아닐텐데 말이다.
Beginning Ruby on Rails 

그래서 책을 한권 더 볼까 했는데 그랬다가는 내가 계획한 시간보다 훨씬 많이 걸릴 것 같아서 그냥 몸으로 부딪쳐 보는 수 밖에 없는 듯 하다. 아니면 그냥 10전전에 했던 php로 그냥 짜던지..

그런데 아직 잘 모르겠다. 과연 레일즈가 깡 php로 짜는 것보다 얼마나 더 나은지...

솔직히 개인적으로는 남이 짠 코드를 사용하는 것에 그다지 익숙한 편은 아니니 말이다. 생산성이 좋다는 레일즈.. 시작은 했으니 호박은 잘라볼 생각이다. 자료를 좀 많이 찾아봐야지..
Trackback 0 Comment 0