Chapter 1. Preface
Intentions of the authors
This book is for experienced web programmers interested in expert-level Ruby on Rails material. The intention is to imbue in you, the reader, the capability of writing an application like Shopify, one of the largest and most well-known Rails apps in existence. Not only will you be able to write it and deploy it, but more importantly, you will be able to maintain it, see where it’s slow, and make it go faster. We’ve focused on the practical and the dangerous to make sure you know what you need to get the job done and done right.
If you're very new to web programming, some concepts will be unfamiliar, so be sure to have Google handy. The authors also assume that you’re comfortable with running programs from the command line and that you’re not afraid of a little Ruby. Even if you’ve never cast your eyes on the language before, don’t worry – you’ll pick it up along the way as most Rails enthusiasts have done.
The introduction will get you up to speed with playing with Rails by writing a complete web application. The rest of the book dives deeper into each component of the stack of technologies that makes up Ruby on Rails. Here’s a quick overview:
| The core bits: MVC + Routing | ||
| Active Record & Active Model | ||
| Action View | ||
| Action Controller | ||
| Routing | ||
| Debugging & Testing – “First make it correct” | ||
Testing with Test::Unit and ActiveSupport::TestCase |
||
| Logging | ||
| Debugging with the debugger | ||
| Charles the Web Debugging Proxy | ||
| Deployment | ||
| Production Environments | ||
| Performance Tuning - make your app go faster | ||
| Profiling - go faster by knowing where you’re slow and running less code | ||
| Database indexes | ||
| Caching | ||
| Rack | ||
| More Rails | ||
| Action Mailer | ||
| Active Resource | ||
| Active Support | ||
| Internationalization | ||
| Plugins | ||
| Appendix | ||
| Installing Rails | ||
| HTTP Status Codes | ||
| cURL | ||
| Memcached |
If at any time you feel the need for an explanation from another point of view, be
sure to check out the official Rails documentation at http://guides.rubyonrails.org and the API documentation at
http://api.rubyonrails.org – if you can learn to read and turn the
API docs in a moment of need, you’re most of the way there in
regard to becoming an expert Rails developer.
One last thing before we start: keep in mind that Rails is mostly just Ruby, and really well written and documented Ruby at that. Whenever you can, skip reading (likely outdated) blogs online and start reading the source for Rails. Reading the source code will frequently tell you more about any problem you’re running into, will inspire you with new programming ideas, and in general does the mind good.








