About 2 weeks ago I started looking into
Ruby on Rails. I’ve programmed using ruby before, and I installed a rails based blog before, but I never used rails to develop something myself. What I’ve seen so far really makes me think why I didn’t start using Ruby on Rails before.
All the tools that come with Rails really make development much more easier than what I’ve used before. The scripts used to generate models, migrations and controllers from templates take away the need to repeat yourself with the most basic code.
More interesting is the tool called
Capistrano. I just started using Capistrano only two weeks ago, but already I’m sold. Gone are the problems of releasing a new version and having a different version online then the one I’m working on. Since using Capistrano releasing websites to the web has become way more organized.
The current setup I’m using for the live server is an apache2 installation with 3 mongrel servers running in a cluster for each Rails application.
I develop the Rails application on my powerbook and test it using mongrel installed using Locomotive. The Rails installation is of course stored in a subversion repository. As soon as I think the current development version is ready for a release (feature complete and the tests show no errors occur) I tell Capistrano to deploy. A few seconds later my new version is online without me ever starting a ftp application. The database tables are updated automatically, files are checked out from subversion and all I have to do is sit and watch. And if somehow my unit tests didn’t catch a bug, or something else has gone wrong, I’m back at the old version within 2 seconds. No more troubles with ftp, searching for the files that caused the error.
Because of all the information available on the internet you don’t need a book nowadays to start programming a new language or to start learning a new framework. I usually find using Google to find API documentation is much faster then browsing a book. Tutorials on the web are usually more updated and provide useful user feedback in the comments. That’s why you won’t find much books at my place about programming.
I do buy books on occasion that provide me with information not available on the web. That’s why I bought the book
Rails Recipes. I read several positive reviews and after reading through the book myself I immediately felt like I would use it for each rails project. The book contains small ‘recipes’ usually not longer than 2 or 3 pages that provide snippets of code that show how an experienced Rails developer would solve a specific problem.
I own the book for two days now, and already I’ve learned more from it than from all the tutorials I’ve read. So if you know Rails already from the tutorials you’ve ready, but you’re looking for more interesting pieces of code to read and use check out Rails Recipes.
I would like to mention a similar open source project I am working on.
http://code.google.com/p/ruleeditor/
There is an example with NSTextField as the right expression but it virtually supports any control (stepper, date-picker ..) via the delegate object.
I need to dedicate some more thought on this, but I did decide against using the NSTableViews. I don’t believe the live-resize handles the way I want it do.
I’m still strugling with the data structures for the rules created by the rule view. Any thoughts on how to handle this? I’m currently using a delegate for example that provides the searchable properties (nsarray of strings) that goes into the first popup.
I’m in the process of creating one. I’ve seen some implementations with table views, and so I’m curious if you are also purusing this route.