Uma rapidinha: mkmf (LoadError)
Se você está tendo um problema como esse ao tentar instalar um gem:
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
ruby extconf.rb install mechanize
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1
Basta instalar o pacote de desenvolvimento do Ruby:
sudo apt-get install ruby1.8-dev
3 comentários : 29.08.2007 02:09 PM
Algumas novidades
Parte 1
Hoje visitei o projeto Lucidus que está sendo tocado utilizando XP(Extreme Programming) pelo pessoal da Improve It. Pude ver de perto pela primeira vez um pouco de como é o dia-a-dia do projeto. Pena que não foi na segunda-feira para eu ver a reunião de planejamento semanal, mas não perdi a stand up meeting.
Nas paredes dois quadros brancos grandes e muitos (muitos! mesmo) post its coloridos colados por todos os lados, mas não de forma desorganizada. Realmente aplicar um projeto XP exige muita disciplina dos desenvolvedores e grande habilidade do coach para tratar dos impasses.
Tive oportunidade de participar de uma pequena rodada de pair programming, que se mostrou bem proveitosa, como eu mesmo já havia presenciado em outros momentos e era esperado.
Gostaria de postar aqui uma foto, mas infelizmente não levei a câmera, então essa eu fico devendo. Muito obrigado ao Vinícius e ao Novello pela oportunidade.
Parte 2
Liberei na área de Projetos o sistema de inscrição do Fórum de Software Livre do Rio de Janeiro. É o sistema que será utilizado a partir desse ano e está sendo desenvolvido utilizando Ruby on Rails. Quem quiser contribuir, basta entrar em contato.
Mais novidades para área de projetos em breve!
Parte 3
Todo list para até o fim da semana inclui:
- Deploy com Capistrano
- Desenvolvimento de interfaces administrativas com ActiveScaffold
Postarei sobre esses assuntos em breve!
1 comentário : 16.08.2007 02:05 AM
Enecomp 2007 - Cuiabá
Durante a semana que passou estive em Cuiabá para o Enecomp. Lá ministrei um curso de Ajax com Prototype e uma palestra sobre o BlueZone. Os slides estão disponíveis na seção de artigos.
0 comentários : 12.08.2007 09:56 AM
3 anos de Ruby on Rails
DHH nos lembra: 3 anos de Ruby on Rails! E já faz um ano e meio aproximadamente da primeira vez que tive contato com Rails e com Ruby.
Mais do que apenas uma revolução técnica, o Ruby e o Rails conseguem aquilo que o “mundo java” nos tirou. Ruby e Rails trazem a diversão de volta à programação! Porque a programação não precisa e não deve ser entediante. Produzir se divertindo é a melhor forma de soltar a criatividade e produzir melhor!
Já no campo técnico, acredito que a grande revolução que o Rails nos traz é no conceito de como os frameworks devem ser desenvolvidos. Eles devem ajudar e não atrapalhar. Serem fáceis de entender e não um emaranhado complexo. Serem o mais completo quanto possível, sem tirar a simplicidade. No fundo no fundo, just KISS and DRY.
So, let’s drink! o/
0 comentários : 06.08.2007 10:03 AM
Analizando cobertura dos testes com Rcov
Até o momento considero um sucesso a minha adesão ao TDD no desenvolvimento com Rails. Em apenas dois dias os testes automatizados encontraram bugs que possivelmente passariam desapercebidos e já escrevi novos testes para cobrir situações inicialmente não previstas, mas que mostraram sua cara nos testes que já estavam escritos.
Após algumas horas de testes e programação finalizei a primeira etapa de codificação do que será o novo sistema de inscrições do Fórum de Software Livre do Rio de Janeiro desse ano, que ocorrerá em outubro. Foi todo um período de codificação em que não encostei em html/css, mas apenas na codificação dos testes e na lógica dos controladores e modelos.
Para validar todo o trabalho é necessário verificar a cobertura dos testes. Assim podemos descobrir se alguma linha de código passou sem ser testada. Pegando emprestada a idéia do pessoal da ImproveIt, instalei o rcov no Ubuntu:
sudo apt-get install rcov
Foi acrescentado um rake task para automatizar o processo de geração do relatório. Gerado o arquivo /lib/tasks/rcov.rake com o conteúdo(levemente modificado do original da ImproveIt):
require 'rake/clean'
RCOV_OUT = "doc/coverage"
EXCLUDE = "-x /site_ruby/"
CLOBBER.include(RCOV_OUT)
RCOV = "rcov --no-color"
task :coverage_units do
sh "find test/unit -name '*.rb' | xargs #{RCOV} #{EXCLUDE} --rails --output #{RCOV_OUT}/units"
end
task :coverage_functional do
sh "find test/functional -name '*.rb' | xargs #{RCOV} #{EXCLUDE} --rails --output #{RCOV_OUT}/functionals"
end
task :coverage_all do
sh "find test/* -name '*.rb' | xargs #{RCOV} #{EXCLUDE} --rails --output #{RCOV_OUT}"
end
task :rcov => [:coverage_all]
Agora basta entrar no diretório do seu projeto em Rails e digitar:
rake rcov
Será gerado dentro do diretório /doc/coverage o relatório de cobertura dos testes. E não é eu fui bem pra minha surpresa? Resultado: 100% testado! Que venham os próximos testes!
0 comentários : 01.08.2007 02:28 AM


