ruby 삽질기
By SeukWon Kang
어쩌다 팔자에 없는 Ruby on rails 작업을 하게 되었습니다. ( 새 프로젝트를 하는게 아니고 넘들이 만든 프로젝트의 customizing , 문서화 , 유지보수 입니다. )
하게된 사유야 구구절절하지만 생략하고. ( 깊이 알면 다칩니다. ^^)
루비야 예전에 조금 공부해둔게 있는 관계로 뭐 별거 있겠어 하고 생각한데다가 rails 역시 python 에 있는 web framework 들이 대놓고 저희는 rails를 베꼈어요! 하는 것들을 여럿 써 본 관계로 오오 드디어 원조 를 써보는건가 하고 딩가딩가한 마인드로 시작을 했습니다.
그런데…
결론만 말하면
청출어람.. ( python web framework 의 위대함을 절절히 느꼈습니다.)
앞으로 누군가가 제 앞에서 새 프로젝트는 ROR (ruby on rails)로 하자고 하면 가만 안둘 것 같습니다.
상상초월인게 rails란 놈.. x.y.z 란 버전 체계를 가지는데 x : major version y : minor version z : patch version 이라고 가정하면 x와 y 가 같아도 z 가 다르면 호환성이 없습니다. ( 정확히 말하면 없는 경우도 있습니다. )
예를 들면 rails 2.3.5 와 잘 작동하던 프로젝트가 2.3.11에서는 에러를 냅니다.
덤으로 ruby 쪽 모듈들이 원래 그런지 다른 모듈들도 그런 식의 호환성을 보이는 것들이 있습니다.
처음에는 이게 ralis 탓이라고 생각 못하고 온갖 삽질을 했는데 검색을 해보니 원래 그런거라고 하는 군요.
세상 어느 라이브러리/프레임웍/어플리케이션이 버전 호환성을 그토록 무시한답니까?
word 7.0에서 만든 문서가 word 8.0에서 읽을수 없다거나 윈도우 xp 용 프로그램이 비스타에서 실행 불가능 하다는게 말이 되던가요?
아니 심지어 이경우는 xp용 프로그램이 xp 서비스팩 1 에서는 작동이 되지 않는 것과 같은 상황입니다.
어느 블로그에선가는 rails 작성자가 진보적이고 새로운 것을 받아들이는데 적극적이어서 그렇다고 하는 글을 봤는데.
그 딴 건 취미로 하는 개인 프로젝트에서나 허용 되는 일입니다.
rails가 이상하게 잠깐 반짝하다가 조용해졌다고 신기하게 생각하고 있었는데 . 이런 상황이면 제정신 가진 회사에서 프로젝트에 쓰는 것은 불가능하다고 봅니다.
한줄 결론 ( 어그로를 엄청 끌만한 ) rails는 취미로 만들고 있는 한 사람과 그의 팬(빠)들(만)이 쓰는 프레임웍이다. 실용적으로 쓸생각은 집어쳐라.
ps) 시간이 되는 대로 지금 하고 있는 프로젝트를 가능한한 web2py로 변환할 계획입니다.