Be a Cool hacker

Ruby 와 Rails 배우고 싶을때

자칭, 타칭 만년 루비 꼴찌이지만 루비를 사랑하는 사람으로써 좀 더 많은 분들이 루비라는 언어를 쉽게 배우고 사용해보고 즐겼으면 좋겠다는 생각으로 제가 처음에 루비와 루비온레일스 웹 프레임워크를 공부하면서 봤던 자료들을 공유하고자 합니다.
그냥 개인적인 취향 문제이니 여기 자료들이 어떤 분들에게는 ‘좋은’ 자료들이 아닐 수 있다는 것을 명심하시고 특히 어떤 책을 봐서 어떻게 공부했다는 그냥 지표로 삼으시고 자신만의 방법으로 익히고 배워나가시면 됩니다. 프로그래밍 배우기 제일 좋은 방법은 만들어보는 것이니깐요.
아 또 여기에 제가 적어놨다고 해서 제가 그 책을 다 읽어봤다고 착각하시면 안됩니다. 프로그래밍 책을 ‘완독’하는 건 그렇게 효율적인 방법이 아니라는 개인적인 생각에..(사실 게을러서)

Ruby

루비 프로그래밍 언어(아마추어에서 프로까지)

루비 프로그래밍 언어(아마추어에서 프로까지)
루비 2.0 이 나왔지만 언어의 기본 문법이나 패러다임은 레일스의 그것과는 달리 대동소이해서 버전에 상관없이 학습을 해도 괜찮습니다.
하지만 1.8.7 버전에 대한 지원을 공식적으로 종료하였기 때문에 현재 제일 널리 쓰이는 Rails 3.2.x 버전과 맞는 1.9.3 버전을 기준으로 학습을 하는 것을 추천합니다. 보통 루비 언어를 학습할때 추천하는 책은 곡괭이 책을 추천하는데 굉장히 좋은 책임은 분명하나 언어 습득의 지름길은 풍부한 예제와 토이 프로그램을 만드는 것이라고 생각하기 때문에 위 책을 추천해드립니다.
해당 책은 텍스트 분석기, 던전 텍스트 어드벤처 게임, 채팅 봇(일종의 심심이) 만들기 예제들이 있어서 루비 언어의 강력한 기능들과 우아한 문법들을 좀 더 와닿게 학습을 할 수 있습니다. 한가지 장담을 못드리는건 전 원서를 읽으면서 공부했었기 때문에 올해 번역이 되어 나온 이 책이 얼마나 번역이 잘되어있는지는.. 읽어보지 않아서 ㅎㅎ;
 

Eloquent Ruby

Eloquent Ruby
안타깝게도 우리나라에서 루비는 주류 언어가 아니기 때문에 사실 대부분의 자료들이나 책들이 영어로 되어있습니다.(또는 일본어) 해서 원서 자료를 참고해서 공부하는 건 불가피한 것 같습니다.
이 책은 한마디로 루비 언어의 idiom 에 포커스를 맞춘 책이라고 할 수 있습니다. 어떤 언어의 문법을 배운다고 해서 그 나라 원어민처럼 말할 수 없는데 그 이유는 우리는 그들의 문화와 idiom(관용어)를 이해하지 못하기 때문입니다. 즉, 루비를 좀 더 루비답게 쓰는 법에 대해서 설명하고 있는 책입니다.
그 장에서 말하려고 하는 주제와 활용, 그리고 실제 필드에서 사용되는 예제를 들어 쉽고 재밌게 쓰여져 있습니다.  

Try Ruby

Try Ruby
루비나 파이썬 같은 인터프리터 언어의 장점 중 하나는 라인 바이 라인으로 코드를 쳐보고 바로 바로 피드백을 볼 수 있다는 장점이 있습니다. 때문에 웹페이지에서 코드를 직접 쳐보고 결과를 확인할 수 있는 웹 서비스들이 많은데 루비 입문자를 위한 대표적인 사이트 중 하나이다. 15분만 있으면 루비를 배운다는 건데 뭐 영어라는 점을 고려해도 얼추 30분안으로 해당 튜토리얼을 다 끝내볼 수 있다. 루비를 설치하지 않고도 빠르고 적은 시간으로 학습을 할 수 있으니 맛보기엔 제일.  

Ruby Monk

Ruby Monk
Try Ruby 가 루비 언어를 소개하는 체험판 정도라면 Ruby Monk 는 Try Ruby 와 똑같은 방식으로 좀 더 루비를 제대로 배울 수 있는 온라인 학습 사이트입니다. 얼마전까지 유료 결제를 해야만 :Ascent 코스를 진행할 수 있었는데 지금은 아예 무료로 다 공개하고 있는 것 같네요. 언어 챕터 별 예제를 하나하나 실행해보고 결과를 확인해보면서 학습할 수 있고 챕터에 해당하는 간단한 프로그래밍 문제가 제공되어서 해당 문제를 풀다보면 어느새 루비 언어 활용에 익숙해지는 것을 느낄 수 있습니다. 특히 코드를 실행할 때 마다 Master says 해서 마스터 요다의 명대사나 쿵푸 팬더 시푸 사부의 명대사 등이 나오면서 깨알같은 재미(또는 영어공부)를 느낄 수 있습니다.
개인적으로 책을 읽을 시간이 없다면 이 사이트를 추천합니다.  

Code School Ruby bits 1,2

Code School Ruby bits 1,2
Code School 은 루비와 레일스뿐만 아니라 자바스크립트, HTML, CSS 심지어는 IOS 같이 웹에서 Learn by Doing 할 수 있는 서비스입니다. 몇몇개가 무료로 제공되고 있고 subscription 형태의 유료 서비스로서 한달 25$인데 충분히 그 값어치를 하는 것 같습니다. 하나의 파트에 5~8챕터가 구성되어있고 각 챕터만 최소 5분에서 최대 20분까지의 짧은 동영상 강의가 있습니다. 그리고 동영상 강의의 내용으로 웹에서 문제를 풀 수 있도록 시스템이 되어 있어서 설명만 듣고 잘 이해되지 않는 부분에 대해서도 충분히 피드백을 받으면서 학습할 수 있습니다. 영어라서 동영상 강의가 어렵지 않느냐하는 질문이 있을수 있는데 실제로 다른 언어권의 유저가 영어 캡션이라도 달아달라고 요청을 하니 Gregg Pollack 이 설사 영어를 못알아들어도 PPT 만 보더라도 충분히 이해할 수 있도록 디자인되어 있다고 답변을 하였습니다. 실제로 고퀄리티의 PPT 자료를 보면 그 말이 이해가 되실겁니다.  

Ruby on Rails

레일스와 함께하는 애자일 웹 개발

레일스와 함께하는 애자일 웹 개발
국내에서 3.2.x 버전에 맞춘 책은 이 책이 유일하고 아마 레일스를 학습하고자 하시는 분들은 대부분 이 책을 구입하셨을 겁니다. 인사이트 출판사에서 이번에 개정판을 냈고 ebook 으로도 제공하고 있으니 영어에 약하시는 분들은 무조건 이 책으로 학습하시면 될 것 같습니다. 하지만 제 개인적으로는 이 책(번역판)을 심도있게 보지 못했기 때문에.. 번역이 좋은지는 잘 모르겠네요.  

Rails Tutorial

Rails Tutorial
영어가 되신다면 전 위 책보다 이 책을 더 추천합니다. 온라인으로 무료로 공개되어있는 레일스 튜토리얼 책인데 최신 트렌드를 잘 반영해서 Step By Step 으로 프로젝트를 진행할 수 있는 문서입니다. 저도 Ruby 도 Rails 도 아무것도 모를때 이 책만 두 번정도 따라하면서 감을 잡았네요. 영어가 생각보다 쉽게 쓰여져있어서 생각보다 수월하게 읽히는 장점이 있습니다. Rails 뿐만 아니라 웹 프로그래밍 입문자를 고려해서 Heroku, Twitter Bootstrap, RSpec 등 다양한 도구와 라이브러리들을 활용해서 트위터와 비슷한 SNS 서비스를 만드는 걸 목표로 하고 있습니다. 챕터1부터 챕터11까지 따라만 가면 Ruby 와 Rails 도 배우고 TDD 도 하고 SNS 서비스 만들어서 Heroku 에 바로 배포까지 하는거죠. 굉장히 강추하는 책입니다. :)  

Rails Guide

Rails Guide
루비온레일스 공식가이드입니다. 말이 필요없겠죠? 시간날때마다 하나씩 들여다보면서 공부해보는 것도 나쁘지 않을 정도로 잘 써놓아서 솔직히 정면 돌파하고 싶으신 분들은 이 가이드 사이트 하나만 있어도 문제없을 것 같네요.  

RoRlab.org

RoRlab.org
최효성 박사님께서 운영하시는 국내 비공식 루비온레일스 Lab 입니다. 원래 직업이 의사이신데 Rails 에 꽂히셔서(?) 지식 기부를 무료로 하시고 오프라인으로도 강남에서 2주에 한번씩 입문자를 위한 세미나를 여시고 계십니다. 교재는 공식 레일스 가이드이고 번역까지 하고 계십니다. 의사라는 분들은 왜이렇게 다재다능한걸까요?(..) 어쨋든 대한민국 루비온레일스 전파에 힘쓰시고 계시고 시간이 되신다면 오프라인 세미나도 들어보시고 같이 공부해나가시면 큰 도움이 되는 곳입니다.  

Code School Rails

Code School Rails
코드 스쿨의 모든 Rails 코스들은 굉장히 유익한 코스들입니다. 당장 Rails 를 설치하지 않아도 온라인 코스만 따라가도 Rails 전체를 Overview 하기에 부족함없는 코스들인데 저는 Rails for Zombies Redux 빼고는 어느 정도 Rails 개발을 하시는 중간중간에 보시는걸 추천드립니다. 처음에 다 보면서 공부해도 좋지만 와닿지 않을 수 있기때문에 금방 까먹거든요. Rails 기본, 최신 Rails 4, TDD(RSpec, Testunit), Rails Best Practice 까지 추천!  

Rails Casts

Rails Casts
기본적으로 레일스의 장점 중 하나는 쉽고 빠르게 쓸 수 있는 라이브러리(gem)들을 이용해서 빠르게 웹 애플리케이션 구축을 할 수 있다는 건데요. 그 많은 오픈소스 라이브러리들이 문서가 굉장히 불친절한 경우가 많습니다. 그런 라이브러리들을 빠르게 프로젝트에 적용하도록 도와주는 튜토리얼 문서와 동영상 강의가 있는 곳입니다. 아마 실제 개발을 하게되면 많이 참고하는 사이트 중 하나인 것 같습니다.  

Nettus+

Nettus+
Nettus+는 여러가지 팁이나 튜토리얼 문서가 올라오는 사이트인데 도움이 되는 실전 예제를 다루는 문서들이 꽤 있습니다. Ruby 뿐만 아니라 다른 언어도 있으니 한번 참고해보세요.

 

Facebook Group

Ruby Korea

국내 대표 Ruby 커뮤니티입니다. Ruby 코딩 도장, Rails 스터디 등이 운영되었으며 현재는 한달에서 세달에 한 번씩 간헐적으로(?) 세미나가 개최됩니다. 오시면 많은 국내 루비스트들을 보실수있죠. 질문이나 정보 공유에도 도움이 많이 되는 곳입니다.  

Ruby on Rails Korea

RoRlab.org 에서 운영하는 페이스북 페이지입니다. 가입하실려면 자기소개를 준비하는 센스 ^^^;  

Be a Rubyist

여기에 끼기에는 좀 그렇지만 제가 직접 운영하는 비공식 스터디 그룹입니다. 루비, 레일스, 자바스크립트, 현재는 스칼라까지 하나의 주제로 두 달에서 길면 세 달까지 스터디를 하고 알고리즘 문제를 가지고 TDD 적용해보기, 페어프로그래밍해보기, 해커톤 등 여러 시도를 하면서 재밌게 스터디를 하고 있는 곳입니다. 매주 토요일 오전 10시에 구로디지털단지역 쪽에서 스터디를 하구 있구요. 다음 스터디 모집때 공지하면 많은 분들이 참여해주시면 좋을 것 같네요:)

 

Conclusion

어떤 언어나 프레임워크나 그것을 빠르게 익히기 위해서는 Learn by Doing 하는 것이 지름길이라고 생각합니다. 그래서 그렇게 공부할 수 있는 리소스들을 추천을 해놓았구요. 좀 더 좋은 리소스와 자료들이 있으면 한국 루비 개발 생태계를 위해 공유해주시면 더 좋을 것 같습니다. 읽어주셔서 감사합니다.

Ruby is..

Comments