Dude

“Dude, I just discovered something totally awesome and you need to check it out.” I say this a lot. It occurred to me that I should just have a dude page with all the stuff that I use during the course of normal development. So, without any further ado, here is my dude list.

Consuming Web Services

This is probably really obvious, since I created the library, but I think HTTParty is the easiest way to get the job done. You should probably also check out Typhoeus and Faraday.

Deployment

Both locally and in production, I use Phusion’s Passenger, a.k.a. mod_rails. Locally it is awesome to not have to script/server when I go to work on an app and there is nothing more simple to setup and deploy to in production. I’m a huge fan. I also use Capistrano, but that is pretty much a given in our community. Don’t forget to check out moonshine as well.

Editor

I’m die hard TextMate. It hasn’t been updated a lot in the past few years, but that doesn’t make it any less awesome. Whatever editor you use, the important thing is that you get to know it well.

Exception Tracking

GetExceptional is just that, exceptional. They have a really simple interface and give you all the details you need. You can even add extra information to the exception, which is really handy.

File Uploads

I swear it is just a coincidence that I think the easiest way to do file uploads is using one of my projects. Joint is MongoMapper and GridFS joined in file upload love. It does one thing and one thing only, store uploads in MongoDB. Throw in some rack middleware to auto-resize images on the fly and cache them and you have a winning combo.

Parsing XML and JSON

Crack is the easiest way to parse XML and JSON. If you need something more robust, you can use the JSON gem or read this article on parsing xml with ruby that I wrote. It covers the most common xml parsing libraries. If you are looking for something to map XML to ruby objects and typecast values, you can try my HappyMapper project.

Performance Monitoring

Once your app starts to grow, it becomes absolutely essential to monitor performance. Both New Relic and Scout give you a lot of actionable data regarding your applications performance. The great thing is both can also be customized to add custom metrics, allowing you to mix application and business metrics.

Testing

I started with test/unit, then switched to test/spec, then to rspec, then to shoulda, and now back to rspec. The important thing is that you test, not which gem you use. I would also like to give a shout out to Factory Girl, which is a default in every new project of mine.

Version Control

I love and use Git. Git is super fast and the fact that you can commit offline is killer. Most people’s favorite feature is the branching. I enjoy that as well, but the speed and offline stuff is probably my favorite. GitHub is amazing and I’ve also written an article on setting up your own git repositories.

Topic Not Covered?

Curious about what I use for a topic that I didn’t cover here?
Let me know and I’ll try to get back with you or update this list.

About

Authored by John Nunemaker (Noo-neh-maker), a web developer and programmer who has fallen deeply in love with Ruby. More about John.

Syndication

Feed IconRailsTips Articles - An assortment of howto's and thoughts on Ruby and Rails.

Feed IconRails Quick Tips - Ruby and Rails related links that I find. Never more than 5 a day.