ODIN PROJECT그리고 루비와 레일즈.

2019-03-27


THE ODIN PROJECT를 따라가면서 루비와 레일즈를 접하게 되었다. 예전에 잘 모를 때는 루비? 뭐야 하고 거들떠보지도 않았을 텐데, 내가 좋아하는 개발자인 DHH가 레일즈를 만든 장본인이기도 하고.. 베이스캠프가 레일즈로 만들어졌다고 하고…ㅋㅋ 사심이 가득해져서 한 번쯤 배워보고 싶어 지던 찰나에 ODIN PROJECT커리큘럼에 방대한 양을 차지하고 있어서 시작하게 되었다.

일단 THE ODIN PROJECT는 FREE CODE CAMP와 양대산맥?처럼.. 오픈소스, 무료로 웹 개발을 배울 수 있는 프로젝트이다. FREE CODE CAMP는 자체 코딩 인터페이스와 영상강의들로 대부분 이루어져 있고 ODIN PROJECT는 스스로 링크를 따라가면서 읽으면서 직접 해보는 부분이 더 많다. 둘 다 겹치는 부분도 있지만 그렇지 않은 부분도 많기 때문에 그냥 동시에 번갈아가면서 요일별로 배우는 것도 추천한다.

아무튼 ODIN PROJECT는 프런트엔드에 중점이 아니라 프런트와 백엔드 전체를 아우르는 커리큘럼으로 짜여 있다. 기본적인 웹을 익힌 후에는 오랜 부분 루비 온 레일즈를 활용한 백엔드를 배우는데 할애하고 있다. 아무튼 그래서 내가 하는 부분은 루비의 문법을 익히고 간단한 알고리즘 문제들을 풀어 보는 것과, 레일즈를 활용해 웹을 띄워보는 것이다.

일단 레일즈는 다른 웹 프레임워크와 다르게, 제품에서 뽑아져 나온 프레임워크라는 큰 차별점이 있다. 무슨 말인즉슨, DHH가 베이스캠프를 만들 때 루비를 사용해서 만들기 시작하다가 필요에 의해서 레일즈를 만들게 되었고, 베이스캠프가 완성된 후에, 제품에서 레일즈를 뽑아내서 오픈소스 프레임워크가 된 것이다. 그래서 기능과 서비스를 위해 개발되었고 그래서 그런지 모든 것들에 구조가 딱딱 정해져 있고 플렉시블 하지가 않다고 얘기를 하기도 한다고 한다. 어쨌든, 그런 의견을 이야기할 수 있으려면 뭐든지 해봐야지만 알 수 있으니까 그저 재밌게 시도해보고 있다.