간만에 다시 Ruby를 가지고 놀고 있습니다.
1.9.x 버전에서 달라진 부분도 있고해서 macport로 1.9.1버전을 설치하는데 컴파일 오류가 나더군요.
구글링 결과 openssl 업데이트와 관련된 문제임을 파악했으나, 공식 패치버전이 macport repository에 올라오는데 몇 일은 걸릴 것 같더군요.

다른 대안을 찾다가 RVM(Ruby Version Manager)라는 멋진 녀석을 찾았습니다.
당분간 1.8.x, 1.9.x 사이를 오가면서 놀텐데 RVM으로 각 루비 버전들을 설치 및 관리하면 편할 것 같습니다.

RVM 설치

설치는 매우 간단합니다.

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

쉘에서 위와 같이 입력하고, .profile 마지막에 아래 라인을 추가해주면 됩니다.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Ruby 설치

원하는 Ruby 버전은 쉘에서 다음과 같이 입력하여 설치할 수 있습니다.

# MRI 1.9.1 버전 설치
rvm install 1.9.1
 
# MRI 1.8.7-p160 버전 설치
rvm 1.8.7-p160
 
# MRI 1.8.7-p174 버전 설치
rvm 1.8.7-p174  
 
# JRuby 설치
rvm install jruby

패치버전 단위까지 따로 관리할 수 있고, 공식 버전(MRI), JRuby, IronRuby 등등 다양한 Ruby Interpreter를 지원합니다.

사용할 Ruby 변경하기

# 설치된 ruby 목록 보기
rvm list
 
# ruby 변경하기 (현재 쉘에서만)
rvm 1.9.1
 
# 기본 ruby 변경하기
rvm 1.9.1 --default
 
# 시스템 기본 ruby 사용하기 
rvm system --default

macport와는 별도로 ruby 패키지를 관리한다는게 썩 내키지는 않지만, 여러 버전의 ruby를 간편하게 관리하고 스위칭할 수 있으니 좋네요. 그리고 기본적으로 ~/.rvm/ 밑에 소스 및 설치파일들을 관리하기 때문에 서버에서 rvm에 의한 영향을 특정 계정으로 한정지을 수 있다는 점도 장점일 수 있겠습니다.

간만에 Ruby 세상으로 돌아오니 좋군요. ^^

,

XStream은 Java Object에 대한 xml serialize를 제공하는 Libraray입니다. 물론 deserialize도 지원하며, json 변환 역시 지원하지요.

문제상황

하지만 XStream은 Object의 property 값이 null 인 경우에는 해당 property를 serialize 하지 않습니다. 예를 들면…

더보기

, , ,

삼성의 첫 바다폰 wave가 발표되었습니다. 스마트폰의 하드웨어 스펙이야 전반적으로 평균화되고 있는 추세이고, 이미 S/W가 중요해지는 시점이다보니 wave폰 자체보다는 삼성 독자 플랫폼인 바다(bada)에 더 관심이 가는데 bada developer(http://developer.bada.com/)를 보면 준비는 잘해온 듯 합니다.

samsung wave

samsung wave

바다의 미래가 불투명한 이유

하지만 바다플랫폼의 성공여부에 대해서 여전히 부정적인 생각이 많이 드네요. 위험요소들을 생각해보면 애플 따라하기 정도의 전략만으로는 부족하고, 플러스 알파가 필요한 시점이기 때문이죠.

더보기

, ,