ActionMailer do Rails 3

Posted by André Ribeiro Camargo Wed, 01 Sep 2010 17:26:00 GMT

ActionMailer é uma biblioteca do Rails que trata da manipulação de e-mails e nesta versão 3.0 teve várias melhorias.

Antigamente, você passava parâmetros para “view” através do método “body”, mas, na nova implementação você define os parâmetros como variáveis de instância na action do mailer e depois simplesmente as referencia na view.

Demorei algumas horas para me dar por conta disso, “herança” da versão antiga.

Para finalizar, se quiser usar os helpers na view do mailer, inclua na classe do mailer:

helper :application

Essa dica veio daqui

Muito legal ;-)

Posted in , , ,

Rails 3 chegou

Posted by André Ribeiro Camargo Mon, 30 Aug 2010 17:49:00 GMT

Momentos de grande excitação na comunidade Ruby On Rails, a versão 3.0 foi lançada ontem.

Já faz alguns dias que estou trabalhando com ele, a experiência está sendo muito boa.

No momento, continuo escrevendo testes de integração, já cobri cerca de 1/3 dos módulos da aplicação dos shoppings.

Vou continuar no edge, até mesmo porque não sei quando vou terminar de portar isso :-)

Posted in , ,

Parabéns Debian!

Posted by André Ribeiro Camargo Mon, 16 Aug 2010 23:09:00 GMT

Apesar de usar Debian indiretamente (já faz alguns anos que migrei para Ubuntu), meus cumprimentos a toda comunidade Debian pela passagem do 17º aniversário do projeto.

Posted in

Diminuindo o tempo de instalação das Gems

Posted by André Ribeiro Camargo Wed, 28 Jul 2010 11:31:00 GMT

Dica legal: Faster Ruby Gems installs

Normalmente eu passava—no-rdoc—no-ri pela linha de comando mesmo.

Posted in , ,

Typical website evolution...

Posted by André Ribeiro Camargo Tue, 27 Jul 2010 17:16:00 GMT

http://graphjam.com/2010/07/26/funny-graphs-typical-website-evolution/

BOA! :-D

Posted in ,

MySQL INSERT DELAYED

Posted by André Ribeiro Camargo Tue, 08 Jun 2010 10:30:00 GMT

Uso MySQL na aplicação dos shoppings com storage InnoDB. Funciona muito bem.

Mas ultimamente notei um gargalo de performance no banco quando tenho alguns INSERTs concorrentes na tabela de acessos (tipo uns 9). SHOW PROCESSLIST no console do mysql não mostrava outra coisa que não fosse COMMIT na informação das threads. E as requisições acabam ultrapassando a minha meta de consumir, no máximo, 1 segundo.

Pesquisei um pouco a respeito de como otimizar isso e descobri o INSERT DELAYED, vamos tentar…

Primeiro mexi no banco, ALTER TABLE nome_da_tabela ENGINE=MYISAM; para converter a tabela de InnoDB para MYISAM.

Depois alterei a aplicação, copiando o método ActiveRecord::Base#create para meu model e renomeando-o para create_without_callbacks (eu uso before_create para setar alguns atributos e queria manter os callbacks funcionando)

E para ver se funcionou, no console do MySQL rode SHOW STATUS LIKEdelay’; e leia aqui o significado de cada variável

Estou ansioso para comparar os logs de produção :-)

Posted in , , , ,

Bluff parte II

Posted by André Ribeiro Camargo Mon, 31 May 2010 23:26:00 GMT

Hoje fui converter um gráfico de pizza e notei que o padrão da Gruff é usar percentuais na legenda.

Só que a Bluff tava mostrando o valor da série.

Então, ajustei o código para ficar igual ao gráfico original.

Posted in ,

Gráficos bacanozos com Bluff

Posted by André Ribeiro Camargo Wed, 19 May 2010 23:27:00 GMT

Sou usuário de Gruff há muito tempo, utilizo principalmente gráfico de barras nas estatísticas dos shoppings.

Ontem, descobri o Bluff. Que pretende fazer o mesmo que o Gruff, só que usando javascript ao invés de ruby.

Gostei muito das tooltips do Bluff, então comecei a ver como seria para migrar o que tenho em Gruff.

O detalhe, é que eu queria modificar o conteúdo da tooltip, para mostrar mais dados.

A versão oficial do Bluff não suporta este recurso…

MAS, se vocês precisarem desta funcionalidade, peguem o código do meu fork no github que ele faz isso.

Dica de como fazer? Dá uma olhada neste exemplo, especificamente na função tooltips_renderer do gráfico custom_tooltips.

Agora é com a nossa criatividade, happy coding everybody!

Dica #2: gem install jake e rodem “jake” no diretório do projeto para gerar o arquivo bluff-min.js que deve ser linkado pela sua página.

Dica #3: instanciem o gráfico no window.onload… senão terão problemas no IEka.

Posted in ,

Ubuntu 10.04 e Haiku R1A2

Posted by André Ribeiro Camargo Mon, 10 May 2010 17:33:00 GMT

Venho utilizando o Ubuntu 10.04 desde antes do Alpha3 e na minha opinião o sistema está melhorando a cada versão. Desta vez, realmente o tempo de carregamento ficou muito mais curto e desde o lançamento o sistema está bem robusto.

Ainda sobre sistemas operacionais, ontem foi liberado a versão Alpha 2 do Haiku. Rodei a VM no VirtualBox e não funcionou a rede, aí fica muito sem graça. Preciso reservar algum tempo para ver como fazer funcionar (se for possível) para testar melhor.

ATUALIZAÇÃO:

Tip: in order to get networking running under Haiku in Virtual Box, under your virtual machine’s networking preferences, change the adapter type to ‘Intel Pro/1000 MT (82540OEM), and change to ‘NAT’ under attached to.

Muito massa! Funciona perfeito!

As coisas estão evoluindo :-)

Posted in

Robozinho anônimo do Google Analytics

Posted by André Ribeiro Camargo Wed, 21 Apr 2010 00:24:00 GMT

Um cliente me pediu para integrar o site dele com o Google Analytics.

Até aí, tranquilo, é barbada.

Só que, meus portais implementam identificação única (single sign-on). O cara se identifica em um dos sites e ao acessar qualquer outro do portal o sistema mantém ele identificado.

Implementei isso autenticando o usuário num site “central” e ao acessar os outros sites o sistema faz alguns redirecionamentos para verificar se aquele cara já está logado ou não.

Robôs não deviam se identificar, logo, podemos ignorar os redirecionamentos.

Aí que veio o problema, o robozinho que verifica se o site tem o código que ativa o Google Analytics não declara User Agent algum nas requisições.

Não sei porquê… Facilitaria a vida de nós (desenvolvedores) na busca do problema que impede a identificação do site pelo GA.

Resolvi meu problema, interpretando os logs de acesso do apache para descobrir quais eram as requisições desse cara, então coloquei o IP dele na lista do meu sistema que identifica os robôs, mas…. quando será que o google vai trocar o IP deste servidor?

Se tivesse o User Agent, ficaria menos POG

Posted in , ,

Older posts: 1 2 3 ... 24