Daniel Strunk

Ruby log: week 2 summary

I honestly didn’t even think about documenting my process on learning Ruby on Rails until this week. Shortsighted, I know. But here it is, my second full week of learning Ruby and Rails (in earnest). I’ll try to provide updates every Friday. First, I like to count two weeks ago as my true start date for a couple of reasons:

  1. There was a little hiccup with my GitHub account; as such, all of my past contribution history was erased. Instead of asking support to look into the issue, I looked at is as a way to clean up my repositories and start fresh.
  2. I’ve attempted both Ruby and Rails in the past, but didn’t really pay attention to the tutorials. What resulted was a half-assed Twitter clone that had zero tests, code that was copy-pasted instead of fully understood, and me with a passing, vague knowledge of syntax two weeks later.

So, enough about past attempts, let’s look at the last two weeks:

  1. Railscasts are awesome. ‘Nuff said.
  2. I purchased Rails in Action and The Well-Grounded Rubyist from Manning publications. I decided to spring for the newest versions available and get in on Manning’s Early Access Program (MEAP). So glad I did; in addition to early (unfinished but still solid) editions of the books, I received previous versions of the books in eBook form as well. The Well-Grounded Rubyist looks to teach me about some concepts I knew about but didn’t really understand, and *Rails 4 in Action *walks through developing a ticket-tracker complete with tests.
  3. Test-Driven Development (TDD) is boring at first, but satisfying. Previous attempts to learn Rails have seen me eschewing tests, wanting to create as quickly as possible and play with the app in my browser as I developed. This time around, I’m making  a point to learn TDD from the get-go. Not only is it how Rails outfits do business, but it’s just plain smart. It’s more efficient than opening up a browser and manually testing, it allows for making sure your refactoring doesn’t break anything, and it makes your app more trustworthy to other developers / users. Do it.
  4. Stick with it; it’s not going to happen overnight. I don’t understand everything I’m doing, but that’s not the point right now. The point is to stop preparing to do and to *just do. *Don’t be afraid of failing and just fail, pick up and do better next time.

Speaking of next time, until then!