개인적으로 레일즈 익히기 시작할 때 제일 좋은 교재로 생각하는 레일즈 튜토리얼이 업데이트 됐네요
아직은 베타라고 합니다만 레일즈 3.2와 루비 1.9를 모두 담았습니다.

추가 된 주요 내용 중에
어셋 파이프라인과 capybara와 rspec 으로 하는 BDD 가 땡기네요.
심심한 명절에 튜토리얼이나 한 번 돌려봐야겠네요.

업데이트에 관한 자세한 소식은
http://news.railstutorial.org/ruby-on-rails-tutorial-second-edition-updated

온라인 버전은
http://ruby.railstutorial.org/ruby-on-rails-tutorial-book?version=3.2#top

참고로 한글로 된 가장 좋은 교재는 최효성님이 운영하시는 ROR Lab 이 아닐까 합니다.
문서와 스크린캐스트가 깨알같이 들어차 있습니다. 특이하게 최효성님은 전업 프로그래머는 아니신듯 합니다.

다수의 톰캣 인스턴스를 사용할 때 세션 공유 하는 방법은 여러가지가 있다. 톰캣에서 기본으로 제공하는 p2p 세션 클러스터가 있으며 memcached나 gemfire 같은 캐쉬 시스템에 세션을 저장해 공유하는 방법도 있다.

사실 이런 아이디어는 레일즈 같은 개발 스텍에서는 당연하게 쓰는 접근법인데 자바 세상에는 구현하기 시작한지 얼마 안 된것 같다.

현재 사용하고 있는 방법은 멤캐쉬드를 이용해 세션을 공유하는 것인데 자세한 내용은 memcached-session-manager 프로젝트에서 알 수 있다.

도메인 객체를 세션에 저장하려고 하니 세션 매니저쪽에서 시리얼라이즈 할 수 없다면서 에러를 내뱉고 있어서 에러 로그를 살펴보니 객체 안에 lazy 로 로딩되는 연관 객체들을 시리얼라이즈 하려다가 에러를 낸다.
하이버네이트 세션이 클로즈 된 상태에서 lazy로 로딩하는 연관 객체들은 실제 객체가 아닌 proxy 객체라서 map 형태로 시리얼라이즈 할 수 없는듯 하다.

이 문제를 해결 할 수 없을까 하고 잠들기 전 잠깐 검색을 해보니 프로젝트에서 이미 컨버터를 구현해놓았다.
SetupAndConfiguration 페이지 하단의 설정 옵션을 살펴보니 customConverter 라는 항목이 있다.
msm-kryo-serializer를 지원하는 컨버터가 몇 개 있다. 그중에 CGLIB 프록시 컨버터와 하이버네이트 콜렉션 컨버터가 현재 문제를 해결 할 수 있는 방법이 될 것 같다.

  • de.javakaffee.web.msm.serializer.kryo.CGLibProxySerializerFactory: serializes/deserializes CGLIB proxies.
  • de.javakaffee.web.msm.serializer.kryo.HibernateCollectionsSerializerFactory: serializes/deserializes hibernate persistent collections (required if you store collections loaded by hibernate in your session)

어째 요즘은 코드로 하는 삽질보다는 시스템으로 하는 삽질이 많아지고 있다.

2000년 초반인가 중반부터 블로그를 써오던 블로그가
이런저런 서버를 거치다가 급기야는 데이터가 완전 없어저버렸습니다.
구글 캐쉬에도 남아있지 않는터라 복구 할 방법도 없고해서
블로그를 텀블러로 완전 옮겨버렸습니다.

워드프레스는 개인 도메인을 붙이려면 비용이 들어가나 텀블러는 공짜인 이유도 있고
워프보다 단순하게 쓰기 쉽고 해서 텀블러에 정착하려 합니다.

문제는 텀블러가 좀 불안하다는 사실. 언제쯤 안정화 되어서 걱정없이 쓰게 될지는 그쪽 사람만 알겠죠?

텀블러에 잘 붙는 오프라인 편집기 있으면 추천 부탁