domingo, 27 de janeiro de 2008

Acompanhando log de SQL do Rails

Estive curioso para saber quais comandos SQL minha aplicação Rails está gerando e quanto isso demora?

A resposta está na pasta log, lá o Rails coloca seus logs separados em development, test e production, tudo em runtime.
Tudo bem! É meio chato ficar abrindo o arquivo de log toda hora, eu sei. Para isso existe um aplicativo Linux chamado Tail que acompanha o log.

tail -f  [nome_do_arquivo]


Linux e o meu Windows???

Infelizmente não existe solução nativa para acompanhar o log do Rails no windows, mas nem tudo está perdido!

Existe um aplicativo free, para Windows, que simula o Tail em modo gráfico, pode ser baixado em http://sourceforge.net/projects/tailforwin32

Para quem usa o Aptana/RadRails, é só clicar, com o botão direito, no log que você deseja acompanhar e selecionar a opção Tail. Abrirá uma nova view console que acompanha o log da aplicação Rails, inclusive os comandos do modo console.

Para não fechar o console a cada start do server, ative o Pin Console.
E para continuar aparecendo da próxima vez que o RadRails for aberto salve a perspectiva em Window > Save Perspective As ...

Pronto agora você pode acompanhar os logs de suas aplicações Rails no Windows.

domingo, 20 de janeiro de 2008

Dicas: Rails 2.0

Depois de apanhar um pouquinho com o meu amigo Vinicius, acostumei com algumas novidades do Rails 2.0:

O MySQL não é mais o padrão para estrutura básica do projeto, e sim o SqlLite. Então preste atenção ao criar um novo projeto. Se quiser colocar o MySQL como padrão use:

rails [nome_do_projeto] -d  mysql
No lugar do mysql pode ser qualquer adaptador, como oracle, por exemplo.

Lembre-se de usar o generate scaffold com a declaração dos atributos, assim já são criados as migrates da forma correta, o comando é:

ruby script/generate scaffold nome_do_modulo atributo:tipo

exemplo:
ruby script/generate scaffold tasks title:string check:boolean

isso gera a seguinte migrate:

class CreateTasks < ActiveRecord::Migration
def self.up
create_table :tasks do |t|
t.string :title
t.boolean :check

t.timestamps
end
end

def self.down
drop_table :tasks
end
end


O t.timestamp gera os campos created_at e updated_at no banco.

Não precisamos mais criar o banco via SQL. Para o Rails criar o banco baseado no database.yml use:
rake db:create:all
Para chamar um controller padrão podemos usar duas sintaxes no routes.rb :
map.root :controller => "nome_do_controller"
ou
map.connect '', :controller => "nome_do_controller"
Isso não é novo, apenas um outra sintax, e não esqueça de apagar o /public/index.html.

quarta-feira, 9 de janeiro de 2008

Adicionando o Manual do PHP no mecanismo de busca do Firefox

Depois que começei a usar o mecanismo de busca do Firefox apontando para o google, raramente visito a home. É bem mais prático digitar direto no navegador. :)

Que tal colocar o manual do PHP no mecanismo de busca do Firefox?

Certamente o ícone do google estará diferente. Isto significa que existe um mecanísmo de busca novo para adicionar.
Clique no ícone e depois em Adicionar "Manual PHP".


O resultado final será esse.

Como não tenho IE7 instalado, alguém me diga se funciona nele.



sábado, 5 de janeiro de 2008

Testes simultâneos com Selenium

Para quem ficava um tempão executando uma bateria de testes um a um no Selenium, a Thought Works criou o SeleniumGrid capaz de executar vários testes simultâneos, inclusive em sistemas operacionais distintos.

Posts Relacionados:

10 mitos sobre PHP desvendados e PHP-GTK

Jaybill McCarthy discute em seu post 10 mitos sobre PHP.

Concordo em todos, o único que ainda não soa bem para mim é:

Myth #8: PHP is only good for web applications

That was true once, but these days it’s pretty much general purpose. It has a command line interpreter that can be run completely independent of the web server (for scripts) but can still use your existing PHP code libraries. You can even knock together GUI applications using PHP-GTK. Admittedly, PHP’s lineage and primary purpose is web applications, but that’s far from all you can do with it.

Trabalho com o PHP em linha de comando também, mas ainda não me basearia para uma aplicação inteira. Opinião minha. Preciso estudar um pouco mais. Um teste legal seria portar uma aplicação OO Web para Desktop.

Para saber mais sobre PHP-GTK tem o livro do Pablo Dall'Oglio em português ou acesse:
De resto nem preciso comentar, esse é um artigo para esclarecer à várias pessoas que ainda duvidam do PHP.

quinta-feira, 3 de janeiro de 2008

Caio Moritz de endereço novo

Tive que atualizar meu BlogRoll por causa do Caio Moritz, que está de endereço novo, como ele mesmo disse, teve que "abrir a mão e comprar um domínio" :P

O novo endereço é www.caiomoritz.com, comece o ano aproveitando os artigos sobre Rails e PHP!