Header

  1. View current page

    딥뿔이 자라나는 노트

Profile_image?t=1225424611&type=big
나를 바꾼 똑똑한 생활 습관, 스프링노트 - 여러분도 지금 시작해보세요!
38

루비 1.9.0 - 크리스마스 선물!

루비 커뮤니티에는 '크리스마스에 새 버전을 배포한다'는 재미있는 전통이 있다. 올해는 좀 더 의미있게 루비 2.0으로 가는 첫걸음 1.9 개발 버전의 첫 정식 릴리즈가 있었다. 고생한 ruby-core팀에게 박수를 보낸다.

 

 

절대 주의할 점은 루비 1.9는 프로덕션 환경에서 쓸만한 물건은 아직 아니라는 점이다. 레일스와의 궁합도 아직 조금 문제가 있고 루비 언어 자체의 스펙도 완벽하게 결정되지 않았다. 그래도 루비 1.9가 가까운 미래의 루비임에는 확실하므로, 미리 설치해서 테스트해보는 것도 즐거운 일이다.

 

설치

루비 안정 버전(1.8)은 그래도 두고, 다른 디렉터리에 루비 1.9를 설치하는게 좋겠다.

 

  1. ./configure --prefix=/Users/deepblue/work/sw/ruby19 --program-suffix=19 --enable-shared
  2. make
  3. make install

 

그리고 $PATH에 ruby19/bin을 추가했다.

 

  1. [user:~] deepblue% ruby19 -v
    ruby 1.9.0 (2007-12-26 revision 0) [i686-darwin9.1.0]

 

 

코어로 승격된 레이크와 젬

이제 루비 개발에 없어서는 안될 'Must have' 아이템으로 자리잡은 레이크(Rake)와 루비젬(Rubygems)가 드디어 코어에 머지되었다. 사실 결정은 2년 전에 된 사항이지만 좀 오래걸렸다. :)

 

  1. [user:~] deepblue% rake19 --version
    rake, version 0.8.0
  2.  
  3. [user:~] deepblue% gem19 --version
    1.0.1

 

테스트를 위해 젬을 설치하자 lib/ruby/gems 디렉터리가 생기고 이 아래에 젬이 설치되는 모습을 확인할 수 있었다.

  1. [user:~] deepblue% gem19 which springnote_resources
  2. (checking gem springnote_resources-0.2.1 for springnote_resources)
    /Users/deepblue/work/sw/ruby19/lib/ruby/gems/1.9.0/gems/springnote_resources-0.2.1/lib/springnote_resources.rb

 

추가된 라이브러리

 

그리고 몇개의 라이브러리가 새로 추가된 것도 볼 수 있었다. 가장 눈에 띄는 것은 json이다.

 

  1. [user:~/work/sw/ruby19] deepblue% irb19
    irb(main):001:0> require 'json'
    => true
    irb(main):002:0> json = JSON.generate [1, 2, {"a"=>3.141}, false, true, nil, 4..10]
    => "[1,2,{\"a\":3.141},false,true,null,\"4..10\"]"
    irb(main):003:0> JSON.parse json
    => [1, 2, {"a"=>3.141}, false, true, nil, "4..10"]

 

앞으로 어떤 라이브러리(예를 들면 mini_rspec)가 core로 들어가고 어떤 라이브러리(예를 들면 tk)가 빠질지는 더 논의될 예정이다.

 

더 읽기

몇 개의 포스트를 통해 루비의 미래를 탐험해볼 생각이다.

 

 

 

History

Last edited on 12/26/2007 15:26 by deepblue

Comments (0)

You must log in to leave a comment. Please sign in.