Ruby on Rails Web Framework에 관심을 가진 사람은 Merb도 눈여겨 볼 만하다. 보통 Ruby on Rails보다 가벼운 아류 정도로 불리우는데, 가벼운 것은 맞지만, 여러 유용한 기능들까지 생략된 것으로 오해될 수도 있는데 절대 그렇지 않다.
장점이라면 평소 Ruby on Rails를 쓰면서 생길 수도 있는 몇몇 불만과 아쉬움들을 채워주면서, 동시에 가볍기 때문에 오히려 개발자의 선택 자유도를 더 넓혀줄 수 있다는 점이 마음에 든다. RoR의 ActiveRecord를 대체할 수 있는 ORMDataMapper와의 조합도 매력적이다.

아직 참고할 만한 Merb의 문서가 웹 상에 많이 소개되지는 않았지만, 시간이 지나면 이것도 금방 해결되리라 믿고, 또 하나의 좋은 선택이 될 수 있는 Ruby 기반 웹 어플리케이션 개발 프레임워크가 앞으로 많은 이들의 주목을 받을 듯.

현재 Ruby 홈 페이지에서 제공하고 있는 Ruby의 최신 Stable Version은 Ruby 1.8.6-p110 (실제 가장 최근의 patch 버전은 p111)이다. 이 놈은 Leopard에 기본 설치되어 있는 놈 보다도 더 많은 패치가 이루어져서 설치를 위해 터미널에서 일반적인 configure 명령을 입력하면 다음과 같은 오류가 뜨고 만다.

$ ./configure --prefix=/usr/local --enable-pthread --with-readline-dir=/usr/local --enable-shared --enable-install-doc
checking build system type... i686-apple-darwin9.0.0
.
.
.
ar rcu libruby-static.a array.o bignum.o class.o compar.o dir.o dln.o enum.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o  dmyext.o
gcc -g -O2  -fno-common -pipe -fno-common  -DRUBY_EXPORT  -I. -I.  -c main.c
gcc -g -O2  -fno-common -pipe -fno-common  -DRUBY_EXPORT  -I. -I.  -c dmydln.c
gcc -g -O2  -fno-common -pipe -fno-common  -DRUBY_EXPORT  -L.    main.o dmydln.o libruby-static.a -lpthread -ldl -lobjc   -o miniruby
./mkconfig.rb:191: [BUG] Segmentation fault
ruby 1.8.6 (2007-09-23) [i686-darwin9.0.0]

make: *** [.rbconfig.time] Abort trap

결국, 문제의 원인을 알아보기 위해 Google에게 물어 본 결과 다음과 같은 해결책을 담아놓은 글타래를 찾아냈다.
ruby-1.8.6-p111 build on osx 10.5.0 fails; ok on 10.4.10. bug or config? – Ruby Forum

해결 방법은 먼저, 터미널에서 내려받은 최신 Ruby 소스 디렉토리로 이동후, 위 글타래에서 제공하고 있는 ignore-gsetcontext.diff이름의 패치 파일을 내려받아 다음과 같이 적용해준다.

$ patch < ignore-gsetcontext.diff

그리고 나서 다시 컴파일 해주면 정상적으로 설치되면서 다음과 같은 최신 버전을 확인할 수 있다.

$ ruby --version
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.0.0]

Leopard에서 최신 Ruby 버전을 설치할 때 문제를 일으켰던 원인은, 위 글타래의 말을 빌리자면, setcontext/getcontext 함수가 Leopard에 와서는 일반 UNIX 형식을 따르기 위해 수정되면서 생긴 문제라고 한다. 문제 해결을 위한 패치가 벌써 몇 주전에 ruby-core 팀에게 전달되었으나 아직 안 고쳐진 모양이다.

꼬리표:

Firefox에서는 저장되어 있는 책갈피들을 사용자가 직접 지정해두었던 키워드(keyword)를 주소창에 대신 입력해서 바로 불러올 수 있는 기능이 있다.

이것은 단지 약간의 타이핑 수고를 덜어줄 뿐만 아니라, 주소 뒤에 붙는 query string의 조합으로, 웹에서 제공하고 있는 다양한 정보 검색 서비스들을 간편하게 이용할 수 있는 길을 열어주게 된다.
다행스럽게도, 이런 탐나는 기능을 Safari에서도 그대로 흉내낼 수가 있는데, 이 기능은 SafariStand의 Stand 메뉴 속 SafariStand Setting…을 누르면 보이는 Quick Search 항목에 숨어있어서 그냥 지나치기 쉽상이다.

아래의 그림은 Ruby와 Rails API 문서를 손쉽게 검색할 수 있는 방법이 소개된 글에 나와있는 것을 그대로 Safari에 적용한 모습이다.

SafariStand의 Quick Search 항목들을 보여주는 창 그림. Title: Ruby Search, Shortcut: ruby, URL: http://labs.parkerfox.co.uk/ruby.search/search_ruby.cgi?search=@key, Title: Ruby Core, Shortcut: core, URL: http://www.ruby-doc.org/core/classes/@key.html

이 곳에 새로운 검색 서비스 주소를 입력할 때, Firefox에서의 입력 주소와 다른 것은, query string을 뜻하는 %s 대신에 @key를 입력해 주면 된다.
이렇게 해서, 예를 들어 ruby link_to와 같은 식으로 입력하면 찾고자 하는 method나 class의 문서를 바로 보여주면서, 개발의 집중도를 흐트러뜨리지 않는 데에도 도움이 될 것이다.

Ruby의 공식 로고새로 단장한 Ruby의 공식 사이트에서 친숙하게 볼 수 있었던 Ruby 로고가 공식적으로 쓰이게 되었으며, 모든 권리는 Ruby 언어 창시자인 Matz씨에게 돌아갔다고 한다. 물론 어디에서나 Creative Commons Attribution-ShareAlike 2.5 License 하에서 무료로 쓸 수 있으며, rubyidentity.org에 가면 Complete logo kit을 내려받을 수도 있단다.

Ruby의 새단장도 끝났으니, Ruby의 미래를 엿볼 수 있는 기회로 RubyConf 2006에 있었던 Matz씨의 기조 연설을 들어볼 차례. Matz씨 기조 연설 슬라이드

꼬리표: