Canaries in the air
     Ricardo Almeida
Qual propósito?
Remova as
dependências
Serviço
CRUD                 Externo




        Importante




                     Validações
Cache
git clone ...
“Faça meio produto e
não um produto meia
       boca”
Modularização


 MyLib::Stuff
Evite sistemas
 monolíticos
Arquitetura
Ruby/Git


• https://github.com/schacon/ruby-git
Multi-version
• thoughtbot/appraisal
Redis

               Store data (project attributes)

{"Project-1" : "{"gem": "rails", "versions": ["3.1.0", "3.1.1.rc3"],
  "run": "rake test", "repo": "git://github.com/user/repo.git" }"
Redis


• https://github.com/ezmobius/redis-rb
• https://github.com/mloughran/em-hiredis
RabbitMQ
RabbitMQ


• https://github.com/ruby-amqp/amqp
Resque
Pusher
Restful


• Hypermedia
Browsah


• https://github.com/abril/browsah
Templates

• Goliath (erb, haml)
• Backbone.js
• SproutCore
• Jquery Templates
DEMO
Canaries


• http://github.com/ricardoalmeida/canaries
TODOs

• Automatizar Git
• Automatizar Appraisal
• Adequar pusher
• Criar templates
• Pots/Put/Delete de projetos
Obrigado!
         Perguntas?

          @almeidaricardo
http://github.com/ricardoalmeida/canaries
 ricardo.almeida@gonow.com.br
      vagas@gonow.com.br

Canaries in the air #gurusorocaba