My Learn Ruby on Rails List

I’ve been meaning to write this post for a while and kept getting distracted. This evening I sat down and finally hammered it out. The goal is to share some of my favorite Ruby on Rails learning resources with the community. Let’s get started!

Ruby, is an incredibly versatile programming language and is the 6th most popular programming lanuage on GitHub. By extension, Ruby on Rails is a powerful web application framework that powers some cool sites: GitHub, AirBnB, Funny or Die, Groupon, Hulu, Square, and Urban Dictionary are a few of a pretty cool list. Neat.

If you’re interested in getting started in learning Ruby on Rails, I’ve put together a list of some of my favorite online tutorials, books, screencasts, and courses to get you closer to becoming the Ruby and Rails expert you always dreamed of being.

Books

cover-web.pngThe Ruby on Rails Tutorial

Michael Hartl’s course is probably my goto resource for learning Ruby on Rails. You can read an online copy of his book for free, but buying it means you get acess to the answers guide and optionally screencats.

I’ve worked through this book when it was written for Rails 4 and I learned a lot about the basics of Rails. It covers just about everything including MVC, testing, databases, and deployment.

Coming November 2016 is a print version of the book. If you’re a fan of print material, this one should definitely be on your list.

Learn Ruby On Rails For Web Development

John Elder is a veteran programer at Codemy and his book is a killer resource for the absolute Rails beginner. Learn Ruby on Rails For Web Development covers a lot of the same material as Michael Hartl’s book, but if you can’t wait for a print version, I’d grab this one. Plus, if you’re a Kindle Unlimited subscriber, the book is zero dollars!

Screen Shot 2016-07-29 at 4.31.03 PMLearning Rails 5: Rails from the Outside In

If you’ve ever read an O’Reilly book in your life, you’ll feel right at home with the familiar single-color cover theme and interesting animal choice. In this case, Learning Rails 5 rocks a horse-looking animal but don’t let that deter you. Mark Locklear and Eric Gruber guide you starting with the simpler components of Rails and gradually introduce you to complex topics.

Online

Code Academy

Screen Shot 2016-07-29 at 4.34.31 PM

If you’re like me, you enjoy a good online course. Code Academy provides just that with a five hour introduction to Ruby on Rails. If you learn well by doing, this might be just your thing. Code Academy teaches you the basics using various projects to highlight components of the Rails framework.

Code School

Screen Shot 2016-07-29 at 4.40.17 PM

If you’re looking for more in-depth online course learning, Code School is your answer. Each of the courses here are more in depth and cover more complex topics. Don’t worry, though. Code School covers the basics, too. You’ll find yourself spending a lot more time here, vs Code Academy.

Rails Casts

Screen Shot 2016-07-29 at 4.50.28 PM

While new videos haven’t appeared in a few years, the information is still relevant and new videos are coming soon, according Ryan, the site’s creator. To date, there’s roughly 400 videos to watch, though most require a subscription ($9/month).

Coder Manual

Screen Shot 2016-07-29 at 4.48.49 PM

While it bills itself as a coding bootcamp, I’d say Coder Manual closer to a regular online course. Coder Manual is incredibly in-depth and the videos are cut up into small chunks to make them easy to consume. You can follow along with your own project as well as get the materials used in each section.

On the flip side, beyond rails knowledge, you’ll touch on HTML, JavaScript, and even job hunting. It’s a bit on the pricey side but for the material and education you receive, I’d say it’s worth it.

Bootcamps

Coding Dojo

Screen Shot 2016-07-29 at 5.00.32 PM

If you’re looking for a more serious, structured course, a bootcamp will likely meet those needs. Coding Dojo’s 20 week program teaches you not just Ruby on Rails, but Python and Web development fundamentals. If you’re up for it, you can learn on site, too.

Bloc

Screen Shot 2016-07-29 at 5.13.18 PM

I’ve always been a huge fan of Bloc. It’s pricey, but they have financing options and the courses are some of the most in-depth I’ve found. You’ll meet with someone at least once a week as you work through the program and get the opportunity to build real applications that do what you want them to do.

Launch School

Screen Shot 2016-07-29 at 5.07.47 PM

If the idea of paying a ton of money up front doesn’t sound appealing to you, you’re not alone. Launch School offers crazy in-depth courses including front-end, back-end, APIss, and career assistance for $199 a month. If you’re like me, you spend half of that on complicated coffee drinks every month, anyway.


Did I miss anything? Let me know in the comments, below, if you have any great resources you think I should add here.


How I Made Jekyll Post Generation Just a Touch Easier

Now that I’m running my blog using Jekyll, one thing I’ve already found to be rather frustrating is the post generation process. I have a blank .md template I open, save in a new location, then edit, but that seems cumbersome, to me. What I decided to do instead is write a quick Ruby script that generated a post .md file for me based on the information I provide.

Thought Process

I wanted to keep it simple, and just do only what I really needed. I don’t need any fancy logic or checking. I know _posts will be there because I put post_generator.rb inside my Jekyll directory.

Working Example

Here’s my code as it stands inside right now:

It’s functional. It’s not clean and could be refactored a but, but it works.

Improvements

A few things that came to mind after I finished: – Use the system date if none is provided – Re-format the title with title-casing. Without ActiveSupport in Rails, I’ll have to either require it as a gem or write something by hand. I’m thinking the former. – Allow the user to write the post right there in the command line and not have to open a text editor. – Allow the user to choose which text editor to use at the prompt (perhaps with detection?)

It’s a good first draft and it serves the purpose I had in mind. Here’s the GitHub repo.


Please Welcome Dr. Jekyll

It’s taken a while for me to mentally get to this point but today I finally crossed the threshold and converted my blog into one generated by Jekyll. Essentially, every time I post or make a change, the blog is rebuilt into static files making the load on my server super light as well as saving disk space. On top of it all, I really wanted to tinker with the idea.

There were a few reasons why I finally bit the bullet and I wanted to share them in hopes that one day someone will stumble across this post and finally take the plunge like I did.

  1. WordPress is getting kinda fat. I’ve seen fatter CMSes (anyone remember PostNuke– the year 2002 was fun.) As someone who’s getting more and more into software development and tinkering with code in general, WordPress is a beast I don’t want to tackle, to be honest.
  2. I really only need a couple features. And one of those is a blog. It’s pretty easy to do that with just about anything and with the level of potential complexity[footnote]Not always a bad thing, mind you.[/footnote] that WordPress can introduce.
  3. Comments, psh.. I can’t think of a time when I really wanted to have comments on blog posts. I only did it on WordPress because I honestly felt like I should. Now that I’m in complete control and this blog serves more of a purpose of me saying things and people consuming that information, comments sections aren’t really necessary. If you want to comment on something, send me an email.
  4. I feel more developer-y. I don’t know if not using WordPress is a requirement for this one but it just feels right. I really enjoyed the setup process and learned a lot about the whole thing. Granted I have a bit of experience with Ruby, already, which really helped in troubleshooting.

So with all that being said, here it is. Every time I update, I push the new files to both a GitHub repo and my server at the same time so I have redundancy and it’s an easy way to show off what i’m doing to make this site interesting using a popular static site generator.

Over the next couple weeks, I’ll be sure to share any unique experiences I had and what I learned from them so stay tuned!


page 1 of 2