|There is no */ one||right /* way about learning. I’ve looked around the net and found these along the way:|
Free e-books available online:
Unfortunately, all of these are somewhat outdated. So I chose the recently published book called “The Well Grounded Rubyist” by David A. Black. I’m not too far into it yet, but it was highly recommended and so far it’s been very helpful. It covers Ruby 1.9.1.
Let’s not forget Prag Prog’s PickAxe, “Programming Ruby 1.9” which also covers Ruby 1.9.1. This is the complete reference, so it’s nice to have by your side if you need to look up a class or two.
Gregory T. Brown is slowly releasing his book, “Ruby Best Practices” in digital form chapter by chapter for free. He already released four chapters and you can grab them here. If you like what you see so far, I highly suggest picking up the dead tree version available at O’Reilly, Amazon, or your local bookstore.
There is a free online Ruby course from RubyLearning which I highly recommend. Although, I have not yet completed the course, the latest course covers Ruby 1.9.1, and there are a lot of mentors willing to help in the course forum.
This is not really an online course, but a self-teaching set of tests called Ruby Koans. Follow the instructions and it will guide you to the path of enlightenment.
Rails changes rapidly, so spending money on a dead-tree version of a book is probably not the best way to go. In any case, Prag Prog’s “Agile Web Development with Rails, Third Edition” is the latest book on Rails. Unfortunately it does not contain Rails 3.0, but this ongoing wiki page contains information about the beta and about Rails Fourth Edition.
O’Reilly recently announced the Live Edition of Learning Rails which will include Rails 3.x content.
I started using Learning Rails, a free online Ruby on Rails course. Although, it’s based on an older version of Rails, the overall information about Rails is there, especially about Model-View-Controller, scaffold, migrations, rake commands, etc.
Probably the best move I’ve made is finding a Ruby on Rails mentor at Rails Mentors. Los Angeles-based Rails developer, @kris, accepted my mentorship. We spoke this past weekend via Skype and will start on a project that will create custom feeds for RSS-less websites. It’s a private github repo as of now and we may open it up in the future, but for now, I will blog about the project here. I’m pretty excited to start this project and will hopefully learn a lot from it.
Prag Prog’s Metaprogramming Ruby book by Paolo Perotta just released this month. I have this book on my wishlist and plan to pick it up when I learn about the advanced DSL concepts.
RubyLearning is offering an online course on Ruby Metaprogramming on March 6th. For a small fee of $5-9, you will learn about Ruby’s advanced features and start “thinking in Ruby”. Best part of all, Paolo Perotta will be answering some of the questions in the course forum. How cool is that? You can learn more about the course here.
I still have much to learn in this area. To start off, however, I recommend starting from the beginning and pick up, “Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman” by Dave Hoover and Adewale Oshineye. Then there is “The Pragmatic Programmer” by Andrew Hunt and Dave Thomas (Prag Dave) and the well known “Software Craftsmanship” by Pete McBreen.
Active Apprenticeship Programs