Rapidinha: Soprando a poeira
Junho 2, 2009
É…Faz tempo que não apareço por aqui pra deixar umas poucas palavras.
Tô precisando!
Resolvi escrever um pouco só pra soprar um pouco dessa poeira que veste meu blog ultimamente.
Tentarei ser mais frequente. Prometo!
Acabamos de chegar, (Karin e eu), do cinema…Resolvemos ver “X-Men Origins: Wolverine“.
Gostei do filme, embora esperasse mais, (principalmente considerando que gostava muito das boas e velhas HQs)…
Mas como eu disse que era só pra soprar a poeira, o post finaliza por aqui!
Volto com mais notícias do front em breve!
Um abraço a todos!
Seaside-Hosting: Hospedagem Seaside gratuita
Maio 7, 2008
Para quem deseja testar o Seaside, essa é uma boa pedida: o site Seaside-Hosting oferece hospedagem gratuita para aplicações Seaside de finalidade não comercial.
Particularmente, não sei como anda a cena da hospedagem de aplicações Seaside de forma geral…principalmente aqui no Brasil.
De qualquer forma, vale a pena dar um conferida!
FireBug: Porque tempo é dinheiro!
Abril 9, 2008
Em tempos de pouco Seaside, a gente tem que se virar pra aumentar a produtividade ao escrever códigos de client-side.
Quem de nós desenvolvedores, nesses últimos 10 anos, não sofreu de sérias cefaléias depois de algumas horas de depuração braçal(vulgo “alert-debugging“) de código JavaScript?
Que atirem a primeira pedra!
Being Agile is our favourite thing!
Abril 4, 2008
Being Agile is our favourite thing: Videozinho gravado na filial da ThougthWorks, em Londres.
Me rendeu boas risadas!
Domain-Driven Design e Rails: Temendo um futuro próximo
Abril 1, 2008
Definitivamente, escrever software é uma arte!
E a preocupação com a qualidade dessa arte que criamos deveria ser uma constante em nós desenvolvedores!
Deveria….
Ao reler um antigo post do “Shoes”, baseado numa (ainda mais antiga) entrevista com Eric Evans na InfoQ, não pude deixar de lembrar de um post do Ronaldo de uns tempos atrás, no qual ele mencionava sua preocupação com relação a qualidade dos códigos atualmente _escritos_ no melhor estilo Rails Way.
Embora o Ronaldo tenha destacado o aspecto da mistura de lógica com a apresentação, comecei a refletir sobre a quantidade de má-representações de domínios de negócio que devem estar espalhadas por aí em aplicações Rails da atualidade. E confesso que isso também me preocupa!
Faz algum tempo que acompanho a lista Rails-BR, mesmo sem postar quase nada por lá. (Inclusive, lá não é o único lugar que tenho deixado de postar alguma coisa. Mas, sabe como é.. A vida de casado é um pouco mais atarefada que muitos imaginam!
)
Na grande maioria dos posts que vejo na lista Rails-BR, e na comunidade Rails brasileira como um todo, não vejo muita preocupação com o design da aplicação e uma boa representação dos domínios de negócio. (Será uma característica da adoção em massa de um hyppe?) Ao contrário, nos deparamos muito com a polida beleza de um domínio “doentio“, pobre em representação, com uma raison d’être resumida a mais uma triste estrutura de dados.
Diferentemente do que alguns pensam, uma boa representação de um domínio real de negócios não pode ser automatizada!
Espero que os desenvolvedores se atentem mais para isso, e que não nos deparemos com super-controllers e models anêmicos saltando de nossas telas diretamente para o nosso colo.
Do contrário, se essa tendência se mantiver, ainda veremos muitos códigos “macarrônicos”, ASP-like, escritos em Ruby com Rails. O que é uma grande infelicidade dado o poder da linguagem!
Espero que eu esteja errado nessa minha semi(pre)visão de Dante no domínio Rails. E que, ao contrário dessa possível tendência, possamos ter códigos compreensíveis, projetos com um domínio de negócio bem representado, e filhos plenamente felizes.
Novo membro na Familia
Janeiro 4, 2008
Ontem fui com a minha esposa ateh o Mercado Central daquih de BH, e encontramos com uma *pequena* e lindinha criatura, que resolvemos adotar!
Ainda nao tenho um nome para chama-la, mas por enquanto, (ateh que minha esposa decida o nome dela), tenho me contentado em chama-la de “Pretinha”…
BH Coding Dojo: Nossa primeira reuniao!
Janeiro 4, 2008
Entao, conforme jah anunciado pelo Ronaldo, tah marcado pra dia 19/01/2008, (das 10:00 as 13:00hs), a primeira reuniao do Dojo-BH!
Se voce eh programador e, alem de trabalhar, se diverte programando, venha participar da nossa primeira reuniao!
Nos encontramos lah!
Esmolinha de Natal
Dezembro 21, 2007
Fico impressionado com a forma na qual a hipocrisia e a ganancia florescem nessa epoca de Natal e Ano Novo!
Me revolta ver pessoas aproveitando-se do chamado “Espirito Natalino” onde muitos, pela primeira vez no ano, usam do suposto sentimento de amor ao proximo.
” – Vamos pedir mais! vamos dar mais! Vamos ajudar ao proximo! Afinal eh Natal!” …
Ah…Vamos lah! Podemos ser melhores que isso!
Por algum motivo, me lembrei daquela musica do Skank, “Esmola”, e nao consigo fugir da ideia de que muitas vezes nos alimentamos de sentimentos que mais parecem esmolas da tradicao!
Me perturbaria muito me sentir levado pela mesma mareh!
Talvez seja apenas mais uma crise…ou talvez seja soh mais um sentimento “Humano…demasiado Humano” desses que costumam aparecer sem bater na porta.
To indo pra Curitiba daqui a algumas horas, e sei que daquih a pouco nem me lembrarei desse sentimento… Felicidade minha!
(Ps.: Acabo de receber um aperto de mao de uma pessoa que mal olha na minha cara! Com ironia ou nao, essa epoca de Natal eh mesmo uma coisa linda!)
acts_as_state_machine: Gerenciando estados de um Model Rails
Dezembro 11, 2007
Acts as State Machine eh um plugin do Rails que visa facilitar o gerenciamento de estados de um dado model ActiveRecord, implementando assim uma Maquina de Estado Finito. O acts_as_state_machine carrega o conceito de eventos. Que sao blocos de codigo responsaveis pelas transicoes de um estado do Model para o outro. Suponhamos, por exemplo, que voce queira controlar os estados das tarefas que voce irah realizar durante um dia. Com o acts_as_state_machine voce poderia ter algo parecido com o seguinte:
class Tarefa < ActiveRecord::Base
# Inicialmente a Tarefa estarah no estado 'Pendente'
acts_as_state_machine :initial => :pendente
state :pendente
state :iniciada, :enter => Proc.new {|o| Mailer.send_notice(o)}
state :concluida
state :cancelada
# No evento 'iniciar' eh realizada a transicao do estado 'pendente' para 'iniciada'
event :iniciar do
transitions :from => :pendente, :to => :iniciada
end
event :concluir do
transitions :from => :iniciada, :to => :concluida
end
event :cancelar do
transitions :from => :pendente, :to => :cancelada
end
end
Para cada estado, um metodo “<nomedoestado>?” serah criado, e para cada evento, um metodo “<nomedoevento>!” serah criado:
t = Tarefa.create # Cria a tarefa com seu estado inicial... t.state # => "pendente" t.iniciar! # Envia notificacao por email, e muda estado da Tarefa para "iniciada" t.iniciada? # => true # ... t.concluir! # Muda o estado da tarefa para "Concluida"
Como voce pode ver no codigo de exemplo, quando a nossa Tarefa mudar para o estado ‘iniciada’, (em consequencia da chamada ao metodo do evento ‘iniciar’), serah enviada uma notificacao por email. Isso eh feito por meio daquela Proc que foi passada como uma funcao de callback do estado :iniciada. Nos mostrando que temos a flexibilidade de fazer qualquer coisa na mudanca de um estado para o outro. Alih, no lugar de um bloco de codigo, pode ser passado um simbolo, com o nome de um metodo de instancia do model.
Instalacao
Para quem jah instalou um plugin Rails, instalar o acts_as_state_machine nao tem segredo algum! Na raiz da tua aplicacao Rails, digite:
./script/plugin install http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk/
Daih em diante eh soh usar!
Rapidinha: Seaside
Dezembro 11, 2007
” – Caaaaaaaaaaaaaaraca!!! Legal isso aquih hein?!”
Pois eh! Depois de muito ouvir do nosso Guru Tecnoespiritual, resolvi brincar um pouco com a crianca!
To gostando desses novos gadgets no browser! Assim que puder posto minhas (primeiras)impressoes!
…
Ah! Esqueci de dizer… Se quiser testar tbem, tenta isso aquih oh: Seaside One-Click Experience.