After reading around for the best way to learn Ruby and Ruby on Rails I found many people advocating for people to get a better grasp on Ruby. So I decided to try the Ruby Essential Training on Lynda.com. I paid $25 for the monthly subscription, which I think is well worth it. I figured I might be able to try the essential Rails training. It was listed as beginner but I thought I would do it anyway. I didn’t get the exercise files and you definitely don’t need to upgrade to premium for the files for this one.
1. Very basic introduction mainly aimed for non-developer. As a developer who has done a bunch of tutorials, I was able to skip by at least 50% of the material (through fast forwarding).
2. But Kevin does talk a lot about “gotchas” and special cases that I tried not to miss by fast forwarding. These were probably my biggest takeaways from the course.
3. I wish he would have had a larger piece on the “yield” keyword. I imagine he didn’t because it is a beginner lesson, so probably fine. I feel I know it decent enough but won’t fully appreciate it until I see it many times.
4. The project at the end was the best part. I learned a lot by trying to implement the methods before he did and seeing the differences. Since he implements them in the “traditional” Ruby way, I started to learn on how things are usually done. I think this will be the biggest learning curve for me. I decided I am going to try to implement some other libraries and compare my code to real Ruby devs.
5. Kevin explains everything very well and goes step by step. He does things in different ways to show you how it can be done and never assumes anything. As a teacher, he is awesome! He shows you things the long way first so that you know what is going on underneath the covers.
Some things I learned/neat tidbits:
1. The || operator for null assignments x = y || z (similar to ?? in .NET)
2. Ruby Constants start with a capital letter. They CAN be changed but you will get a warning.
3. splat operator (*) turns a range into an array
4. I love how Ruby allows Mix-ins… saweet!
5. “require” only loads the file once, “load” loads it each time
6. Opening up core classes and adding methods seems very powerful! – keeps code clean and flexible
Things I really need to learn how to use more often:
– unless keyword
– labels (i.e. :name vs @name vs “name”)
– inline array initialization (idk what its really called yet…like @name, @city = person_array)
Overall I think this course was maybe a bit too basic for someone with programming experience. But even for me, I think learning some of the gotches and basics of some of the things I didn’t know as well were well worth it. And the final project was a good first piece of Ruby code to develop (not web too!)