Twee handige gems/plugins om je Rails app te scalen
Michael Koper zo 15 nov 09
Bullet is een mooie gem om de performance te verbeteren door de ontwikkelaar op de hoogte te stellen wanneer er te veel queries worden gegenereerd. Als er bijvoorbeeld een comment tellertje wordt gebruikt bij een artikel:
<%= pluralize(article.comments.size, 'comment') %>
Dan geeft bullet een waarschuwing als je geen counter_cache gebruik. Een ander mooi voorbeeld is dat als je in de controller het volgende gebruikt
Article.find(:all)en in je view gebruik je het volgende
<%= article.author.name %>
Dan geeft bullet ook een melding, omdat voor article.author.name een extra query gebruikt wordt terwijl dit ook op te lossen is in 1 query. Bullet geeft dan netjes weer dat je het volgende moet gebruiken:
Article.find(:all, :include => :author)
Standaard komen de meldingen in de logs en in een java popup, maar je kan Bullet ook growl berichtjes laten genereren.
Een andere leuke manier om je Rails app te scalen is door Rails indexes te gebruiken. Een handige plugin voor je rails app die migrations voor je genereerd van missende indexes. We vergeten allemaal wel eens een index maken voor de foreign keys en helemaal voor de meer complexe indexes, bijvoorbeeld:
Post.find_by_name_and_published("name", true)Door een simpele rake task:
rake db:show_me_a_migrationkrijg je in de output een complete migration met al je missende indexes. Makkelijker kan het niet!
Gepost in hor | 0 reacties
Welcome to Holland On Rails
This weblog is the official Ruby techblog from the guys at Holder, a Ruby development company. Holder is also the company behind the RubyAndRails Europe Conference in Amsterdam.Recente Jobs
Bekijk alle jobs »»
Gereedschapskist
Onmisbare tools vooriedere developer!
- Ruby On Rails
Framework voor de web 2.0 developer. Eindelijk vooruitgang! - TextMate
Editor for true pro's
Typ, tab, top :-)
Nee, niet voor Win. - Made On A Mac
En nou is het over met die saaie grijze Windows bak van je!
Auteurs op deze site
Chris Obdam
'Less is more' evangelist, past dit ook dagelijks toe op zijn tandenborstel.Chiel Wester
Snelheidswonder op Ruby wielen. Leuk om mee te pair-programmen ;-)
Plaats je reactie