0

Livros recomendados

-

LeituraNo começo do ano um amigo foi para os States e me trouxe (obviamente após eu muito implorar) um Kindle. Devo dizer que o dispositivo é sensacional (mesmo ainda não sendo a versão touch ou com andróid que saiu recentemente) e que eu nunca li tantos livros como tenho lido ultimamente.

 

Portanto, nada mais justo do que uma recomendação dos últimos livros que li e que julgo serem fundamentais para qualquer programador que queira melhorar a qualidade do seu trabalho, ou melhor, da sua arte.

 

  • Clean Code - Gostei muito deste livro. O Autor, Uncle Bob, escreve muito bem e é super didático em seus textos. Há algumas polêmicas, como por exemplo o capítulo de comentário, e o de TDD, mas em suma é um excelente livro. Altamente recomendado se você também acredita que programar é uma arte e que, como toda arte, pode ser melhorada continuamente.
  • The Clean Coder - Estou quase terminando de ler, e também estou gostando muito. É do mesmo autor do livro acima, porém eu indicaria esse livro mais para líderes técnicos, pois fala muito sobre profissionalismo e a postura que um programador deve ter em relação ao trabalho, ao time de negócio / produto, etc.

Se você acredita que já é bom o bastante, ou que aprende tudo o que quiser através do google, saiba que eu também tinha um pensamento parecido, e me surpreendi com os livros acima. Hoje posso dizer que a minha forma de programar, de pensar, minha política de sempre tentar melhorar um código que estou lendo e que não necessariamente escrevi (“boyscout rule” – Clean Code), e a minha postura profissional, evoluiu muito.

Com certeza o Rafael versão 2011 é bem melhor que o Rafael 2010, e também muito mais humilde =p.

Algum outro livro interessante para o meu Kindle ?

0

Integração contínua

-
Hudson

A cada dia que passa, evoluímos mais, aqui na empresa, para um cenário estável de integração contínua. O que isso quer dizer ? Bom, integração contínua, é você ter o status do seus sistema (testes, cobertura, javadoc, build, release, etc.) em um único ponto, e de fácil acesso. Com isso, fica simples ver quando alguém faz uma macacada e detona o software que você está fazendo.

Para atingir esse estado da arte de integração contínua, há vários métodos. Desde agendar tudo no crontab, criar scripts, ou utilizar softwares específicos para isso. Qua aliás, não faltam opções.

Aqui no trabalho, começamos a utilizar o continuum, porém, há apenas uma máquina para gerar uma grande quantidade de builds, sem contar com os testes automáticos. Dado isso, resolvi, colocar na minha máquina mesmo, uma tarefinha no crontab para gerar a build e rodar os testes automatizados, o que leva mais ou menos 8 horas (por isso optei em rodar na minha máquina e não no continuum server da empresa =p).

Até então estava tudo indo bem, com relatórios diários do status dos testes. Mas isso me abriu um horizonte. De repente me peguei fazendo uns scripts (em Ruby, lógico) para gravar no banco o resultado dos testes, para conseguir fazer um tracking da evolução desta tarefa. Apesar de ser divertido, estava meio complicado fazer este script. E eis, que numa conversa no café, um amigo me sugere a utilização do Hudson, que assim como o continuum é um software para integração contínua.

Ainda está cedo para disponibilizar qualquer análise, mas estou gostando muito, principalmente da facilidade que o software proporciona. Em poucos cliques consegui fazer o hudson baixar o codigo do subversion, fazer a build, gerar relatorio dos testes unitários, e ainda rodar a suite de testes automatizados. Ah, e de graça consegui um gráfico que mostra a variaca na quantidade de testes (e de falhas e erros nos testes também), ou seja, tudo o que eu queria!

Bom, fica ai a dica de pelo menos experimentarem o Hudson

0

Invocando um SessionBean 2.1 via JRuby

-

Veja como é simples invocar um session bean através de um cliente JRuby.

Obs: Não esqueça do jndi.properties e de adicionar, ao classpath (tem que ser via variável CLASSPATH), o seu jbossall-client.jar (caso seu servidor seja jboss =p) e o jar que contém as interfaces dos seu SessionBean.

#!/usr/bin/env jruby

require 'java'
include_class 'javax.naming.InitialContext'

ic = InitialContext.new
sb_home = ic.lookup("MySessionBean")
sb_remote = sb_home.create

value = sb_remote.sayHi
puts "Valor = #{value}"

Pois é, juro que com isso é possível invocar o EJB.

Isso abre várias portas, não ?

0

Palestra na semana da computação – USP São Carlos

-

De volta às origens! Depois de palestrar no evento “É dia de java” na UFSCar, chegou a vez de palestrar na USP São Carlos, universidade que me formou. Confesso que estou um pouco ansioso para voltar lá e ver como estão as coisas, conversar com os professores, ver como anda a infra-estrutura e, quem sabe, reencontrar velhos amigos. Desta vez, falaremos sobre Maven 2, algo que eu acho magnífico e nos poupa muito trabalho aqui no trampo (tá certo que as vezes nos dá uma trabalheira também…). A Palestra ocorrerá na semana entre os dias 14/10 e 18/10. Provavelmente será no dia 17/09, mas ainda temos que confirmar.

0

Netbeans 6.1 x Eclipse Ganymede – Cabe uma reflexão

-

 

Eu trabalho no desenvolvimento Java EE desde 2004 e isso me deixou bem por fora do que acontecia no mundo Java SE. E desde sempre eu utilizei o Eclipse e sempre o preferi ao Netbeans. Porém, esta semana resolvi desenvovler um aplicativo desktop, para agilizar uma tarefa meio monótona que tenho no trampo. A primeira versão foi com Eclipse e o plugin Jigloo, que eu não conhecia e até que achei ok. Ai conversei com um amigo meu (cassolato) e ele me disse que para Java SE, ele utilizavao netbeans, pois o Matisse dava problema com o Eclipse. Bom, resolvi testá-lo, e realmente me surpreendi. Não olhava pra cara do netbeans desde a versão 4.0, e realmente a evolução é notória. Sem falar que ele deu um banho no eclipse no quesito Desktop. Consegui fazer uma nova versão bem mais rápido e com um visual bem melhor.

 

Conclusão: O que é melhor, eclipse ou netbeans ? Bom, prefiro muito mais o eclipse, mas jamais vou tentar fazer um aplicativo desktop outra vez nele, rs…

 

 

0

7º É dia de Java – Antes tarde do que nunca

-

Tá certo, demorei pacas para escrever um post sobre a palestra que dei no 7º É dia de Java, em São Carlos, mas, “antes tarde do que nunca”, certo ?

Aqui darei um enfoque diferente. Para saber como foi a palestra e sobre os tópicos que abordamos, sugiro a leitura do blog do Leandro Lima, que palestrou junto comigo (link aqui). Vou falar mais sobre a sensação que tive de palestrar na cidade em que me formei.

Em primeiro lugar, foi muito bom retornar a São Carlos, vivi um momento bem nostálgico ao passar pelo Trem Bão, Av. São Carlos, Rodoviária, União Serv, etc. Tive muitos bons momentos naquela cidade. Infelizmente não tive tempo de visitar a USP e ver como andam as coisas por lá, mas ainda hei de voltar para ve-la.

Na hora de palestrar, comecei a refletir sobre o fato de que há 4 anos atrás, no 3º É dia de java, eu estava sentado no auditório, esperando alguém ir lá na frente falar sobre, o que até então, me encatava e deslumbrava: o mundo Java! Eu ainda estava no 4º ano de faculdade e estava decidido a me formar e ir trabalhar com esta tecnologia.

E foi muito legal, 4 anos depois deste primeiro evento java em que participei, poder voltar e contribuir com um pouco do conhecimento e experiência que adiquiri nestes últimos anos. Sem falar que que dividi o palco com grandes nomes da comunidade java brasileira, como Bruno Souza, Maurício Leal, dentre outros… O que me fez ter a certeza do crescimento e evolução que tive, desde que comecei no mercado de trabalho.

Realmente foi uma experiência muito legal, e isto me fez querer mais. Para este ano já não era mais possível, mas o JustJava 2009 que me aguarde, pois pretendo continuar palestrando.

Obs: Eu sou o que está lá no fundo na foto.