Ruby on Rails를 배우기 위한 책, 영상, 팟캐스트, 온라인 강의는 셀 수 없이 많습니다. 모든 자료를 다 살펴볼 시간은 절대 없겠죠! 그렇다면 프로그래밍을 처음 시작하는 입문자에게 가장 좋은 학습 방법은 무엇일까요? 어떤 리소스부터, 어떤 순서로 시작해야 할까요?
책과 웹사이트
프로그래밍이 완전히 처음이라면 크리스 파인(Chris Pine)의 『Learn to Program』부터 시작하는 것이 가장 좋습니다. 이 책은 꼭 알아야 할 핵심 프로그래밍 개념을 소개하는 입문서입니다. 특히 모든 예제가 Ruby로 작성되어 있어, Ruby와 Rails를 배울 계획이라면 더없이 적합합니다.
다음으로 다니엘 키호(Daniel Kehoe)의 『Learn Ruby on Rails』는 Rails를 부드럽게 안내해 주는 입문서입니다. Rails의 일부분만 다루지만, 이후 더 어려운 자료에 도전할 수 있는 탄탄한 기반을 마련해 줍니다.
이미 다른 언어나 프레임워크를 알고 있다면 무료로 제공되는 'Getting Started with Rails' 공식 가이드를 확인해 보세요. 짧지만 핵심적인 Rails 개념과 기본 아이디어를 익히기에 좋은 입문 자료입니다.
기본기를 익힌 후에는 Rails 지식을 한층 깊게 만들어 줄 두 권의 대표적인 책이 있습니다.
『Agile Web Development with Rails』는 저가 가장 아끼는 Rails 종합 서적입니다. 먼저 예제를 통해 배우고, 이후 레퍼런스처럼 활용하도록 구성되어 있어 학습 효율이 뛰어납니다. 실제로 회사에서도 Rails 경험이 없는 개발자를 교육할 때 이 책을 사용하며, Pragmatic Bookshelf 출판사의 다른 책들과 마찬가지로 품질이 매우 우수합니다.
『Ruby on Rails Tutorial』 역시 빼놓을 수 없는 대표적인 Rails 학습 자료입니다. 하나의 완전히 작동하는 예제 앱을 만들어 가며 Rails 개발에 필요한 대부분의 내용을 단계별로 배울 수 있습니다. 이 튜토리얼으로 성장한 훌륭한 Rails 개발자들을 많이 알고 있습니다. 웹 버전은 무료로 공개되어 있으니, 구매 전에 자신에게 맞는 스타일인지 먼저 확인해 볼 수도 있습니다. 노력만 들인다면 그만큼 큰 결실을 얻을 수 있습니다.
이런 책 한두 권을 마친 후에는 혼란스럽고 답답함을 느끼는 것이 자연스럽습니다. 특히 배운 내용을 종합해서 직접 앱을 만들려고 할 때 더욱 그렇죠. 제가 쓴 『Practicing Rails』는 프로그래밍 커리어를 시작하면서 겪게 되는 가장 고통스러운 문제들을 해결하는 데 도움을 드립니다. 이 책에서는 코드가 깨졌을 때 디버깅하는 방법, 머릿속 아이디어를 실제 기능으로 만드는 과정, 그리고 막히지 않고 테스트를 작성하는 방법을 배울 수 있습니다.
직접 앱을 만들면서 가장 자주 찾게 될 두 가지 리소스가 있습니다:
Rails Guides는 공식 문서와 예제를 통해 Rails의 가장 중요한 부분을 알려줍니다. 저도 항상 참고하고 있는데, 무엇보다 항상 최신 상태로 유지된다는 점이 큰 장점입니다.
Rails 메서드 호출 방법이 궁금하거나, 원하는 기능을 하는 메서드가 존재하는지 확인하고 싶다면 공식 Rails API 문서를 활용하세요.
(API 문서를 더 편리하게 탐색하는 방법들이 있는데, 무료 이메일 강의 중 한 강의에서 몇 가지를 소개하고 있습니다.)
Ruby를 깊이 모른 채로도 간단한 앱은 만들 수 있지만, 곧 Ruby 학습에 더 많은 시간을 투자해야 할 필요성을 느끼게 됩니다. 그리고 『Programming Ruby』는 이 언어에 익숙해지기 위해 제가 아는 가장 좋은 책입니다.
동영상과 가이드 강의
책과 웹사이트는 제가 Ruby와 Rails를 배울 때 가장 선호하는 방식입니다. 하지만 읽는 것보다 보는 것을 선호한다면, 훌륭한 스크린캐스트와 강의도 많이 있습니다.
동영상 강의로 Ruby와 Rails를 배우고 싶다면 Pragmatic Studio 강의에 대한 호평이 많습니다. 입문하기에 아주 좋은 선택지로 들립니다.
RailsCasts는 몇 년간 업데이트되지 않았지만, 여전히 흔한 웹 개발 문제들에 대한 훌륭한 해결책을 보여줍니다. API는 바뀌었을 수 있지만 핵심 아이디어는 거의 변하지 않았습니다. 분명히 볼 가치가 있습니다.
애브디 그림(Avdi Grimm)의 Ruby Tapas 스크린캐스트는 5~10분 분량의 짧은 영상으로 재미있는 Ruby 코드를 보여줍니다. Rails보다는 Ruby 중심이지만, 매번 많은 것을 배울 수 있습니다. 사이트에서 무료 샘플 영상 몇 개를 볼 수 있으며, 구독할 가치가 충분합니다.
Destroy All Software 스크린캐스트는 Ruby와 Rails에 국한된 내용은 아니지만, 시청하면 어떤 언어를 사용하든 더 나은 개발자가 될 수 있습니다.
마지막으로 bloc.io는 독자들이 추천한 온라인 부트캠프입니다. 막히는 부분이 생겼을 때 구체적인 문제를 도와줄 멘토와 매칭해 줍니다.
일대일 도움은 학습 과정에서 정말 큰 힘이 됩니다. 함께해 줄 친구나 멘토를 찾기 어렵다면, 어디서 찾아야 하는지에 대한 이메일을 리스트 구독자들에게 보낸 적이 있습니다. (참고로, 여기서 구독하면 매주 금요일에 이런 유용한 이메일을 받아볼 수 있습니다.)
무엇을 추천할까?
여전히 방대한 자료 목록이죠! 독서를 좋아하고 프로그래밍 기본기를 갖추고 계신다면, 『Programming Ruby』와 『Agile Web Development with Rails』부터 시작하실 것을 추천합니다. 읽으면서 배운 내용을 직접 시험해 볼 수 있는 작은 샘플 앱을 만들어 보세요. (구체적인 방법은 『Practicing Rails』의 무료 샘플 챕터에서 더 자세히 확인할 수 있습니다.)
여러분께 도움이 된 다른 리소스가 있나요? 놓쳤다고 믿기 힘든 자료가 있다면 댓글로 알려주세요!
이 글은 조언 페이지에 남겨준 James의 질문에서 영감을 받아 작성되었습니다. Ruby와 Rails 관련 고민이 있다면 언제든 질문해 주세요!