Cariocando

September 29th, 2008 por jeveaux

estou aqui no Rio há pouco mais um mês e parece que cheguei aqui ontem, por vários motivos. O primeiro e mais claro é que toda vez que eu escuto alguém falando “mexmo”, “feix” e “doix” dá até agonia, acho que vai ser difícil acostumar com esse sotaque marrento e sinceramente espero não aprende-lo. Outra coisa que sempre acontece quando estou conversando com alguém de Vitória eu ainda escrevo como se eu estivesse lá, sempre esqueço que estou aqui no Rio.

Por outro lado existem algumas coisas que me fazem lembrar imediatamente que estou no Rio, por exemplo a insegurança - estou achando a Barra bem tranquila, mas já vi um assalto - e o trânsito horrível, os motoristas dirigindo feito loucos e por aí vai, felizmente enquanto precisar apenas atravessar uma rua para chegar ao trabalho não irei me preocupar com isso.

Já o trabalho e tudo o mais aqui na globo.com tem sido muito próximo do que o que eu já imaginava, exceto alguns pontos que vão além das minhas expectativas, e isso é bom, muito bom. O ambiente de trabalho é muito descontraído, espaçoso, limpo, claro e repleto de pessoas excepcionais. Com base nas minhas últimas experiências, principalmente o tempo trabalhando em home office, é como se tudo ali fosse pensado e feito para melhorar a interação das equipes e criar um bom ambiente de trabalho. E é claro as experiências com tecnologias diferentes de Java, como por exemplo projetos PHP, iPhone e Rails.

Além disso tudo, trabalhar numa empresa onde todas as equipes são ágeis está sendo uma experiência realmente incrível e muito diferente, estou gostando muito. Todas as práticas de SCRUM e XP são seguidas (não à risca, algumas coisas são adaptadas) e o mais legal é poder praticar TDD sem ser questionado por tempo gasto com testes, com “testes a toa” (sim, já ouvi isso antes) e todas mazelas que costumamos ouvir de gerentes tradicionais, quando na verdade o único questionamento que poderei ouvir é por que não fiz o teste antes.

Bom, por enquanto é isso que posso dizer. Ainda não passeei muito por aqui, mas já conheci alguns lugares clássicos como o Jardim Botânico, o Corcovado num dia de chuva, a Rocinha (só passei em frente) e mais alguns outros lugares.

Resumo do III EJES

September 28th, 2008 por jeveaux

Este final de semana ocorreu o III Encontro de Java do Espírito, desta vez em Vila Velha na UVV. O Evento foi muito legal, consegui reencontrar praticamente todos os conhecidos aqui de Vitória, além do evento em si, o passeio pra Vitória valeu muito a pena.

Também foi muito legal conhecer pessoas como Arun Gupta, Simon Ritter e Doris Chen e principalmente conhece-los aqui no Brasil, no Espírito Santo e num evento organizado pelo ESJUG, isso sem dúvida alguma foi excelente. Muito obrigado ao Mauricio Leal e o ao SouJava ;-). As palestras foram excepcionais.

No evento fiz a apresentação da palestra Testes e Refatoração numa versão completamente refatorada e diferente das últimas apresentações sobre testes que fiz. Acho que consegui chegar num nível de organização e detalhes muito legal nesta apresentação.

Leia mais »

Divulgação: III EJES

September 15th, 2008 por jeveaux

Como eu disse aqui e aqui, nos dois últimos posts do blog, o ESJUG está participando do Mês do Java, que está levando uma caravana pelo Brasil a fora com palestrantes do mundo inteiro com o apoio do SouJava e da Sun Microsystems para eventos realizados em cada estado por seu JUG regional.

E no Espírito Santo o evento será o III EJES - Encontro de Java do Espírito Santo, com a programação abaixo:

  • Data: 27 de setembro de 2008
  • Local: Anfiteatro da UVV - Vila Velha (mapa)
  • Apresentações:
    • 08:00h - Credenciamento e Network Break
    • 09:15h - Abertura SUCESU-ES e ESJUG - Jeveaux e Juliana
    • 09:30h - Glassfish e o Futuro do Java EE - Doris Chen
    • 10:30h - Java na Ponta dos Dedos: A revolução Invisível - Mauricio Leal
    • 11:15h - Testes e Refatoração - Jeveaux
    • 13:30h - Construindo Aplicações Ricas usando JavaFX - Simon Ritter
    • 14:30h - Hibernate e NetBeans : Combinação Perfeita! - Cristiano Biancardi 
    • 15:10h - Aplicando Java EE na Integração de Segurança entre Sistemas e Serviços de Diretório - Luciano Lorencini
    • 16:20h - Case CCM: Desenvolvimento de um aplicativo web utilizando tecnologias livres e open source para os Correios do Brasil. - André Luis Almeida Barreto
    • 17:00h - Encerramento, entrega dos certificados e sorteio dos brindes

Veja aqui a grade completa e informações de como se inscrever.

Importante: As palestras da Doris Chen e Simon Ritter serão apresentadas em inglês com tradução simultânea, porém, a tradução será feita através de rádio FM. Para ouvir a tradução é necessário que o congressista leve qualquer aparelho sintonizador de FM: mp3 player, celular, rádio, etc. Não haverão aparelhos no evento disponíveis para uso.

III Encontro de Java do Espírito Santo

September 11th, 2008 por jeveaux

Este ano o ESJUG realizará em Vitória, Espírito Santo, a terceira edição do encontro anual de usuários de Java no dia 27 de setembro. Também neste ano o ESJUG iniciou uma nova parceria, com a SUCESU-ES. Foi graças a esta parceria que a coisa andou e o evento “saiu” do papel.

Além da parceria com a SUCESU-ES, o SouJava também foi fundamental para a realização do evento. A coisa estava esfriando um pouco lá em Vitória até o dia que eu me mudei pro Rio. O SouJava, com a iniciativa do Mês do Java, entrou em parceria conosco ajudando com palestrantes de nível altíssimo e o Victor Pinto (novo JUG Leader do ESJUG) junto com o pessoal da SUCESU-ES e algum apoio meu, deram continuidade nas coisas e então o evento alavancou de vez.

A grade está sendo finalizada, em breve postarei maiores informações, inclusive de como fazer a sua inscrição. Por enquanto posso adiantar que eu irei a Vitória fazer uma apresentação e teremos apresentações do Mauricio Leal (Sun Microsystems), Doris Chen (Sun Microsystems) e Simon Ritter.

Mês de Java no Brasil

September 7th, 2008 por jeveaux

Este mês, setembro, é o mês do Java no Brasil, uma iniciativa do SouJava com diversos outros JUGs nacionais, contando também com o apoio da Sun. Serão promovidas diversas palestras e workshops, contando com palestrantes brasileiros e internacionais.

Alguns dos eventos mais conhecidos que acontecerão em setembro: JustJava e o Sun Tech Days. E na sequência os eventos regionais de cada JUG, totalizando 14 cidades conforme o mapa abaixo:

Há apenas um detalhe sobre a imagem que é a data do evento no Espírito Santo, será no dia 27 de setembro e não no dia 20 como diz na imagem, mas isso ficará mais claro até amanhã, vou postar mais detalhes sobre o evento depois.

Para maiores informações sobre todos os eventos do mês do java, vejam a página oficial do evento: Mês de Java

Eclipse 3.4 Ganymede

June 28th, 2008 por jeveaux

Esta semana foi anunciado o lançamento de um novo release do Eclipse, a versão 3.4, chamada agora de Ganymede.Vide Ganymede Moon, Ganymede Myth (um herói) e agora também Eclipse Ganymede, uma escolha legal para o Eclipse (pelo fato do herói :D).

Esta release anual do projeto Eclipse é chamada, por eles, de Annual Release Train. Isso devido ao fato de ser um lançamento coordenado de 23 (vinte e três) projetos que, juntos, compõem o Eclipse e mais de 18 milhões de linhas de código. Um bom exemplo de organização e disciplina.

Eu ainda não consegui migrar todos os meus projetos para o Eclipse, na verdade não abri a minha workspace principal com o Eclipse Ganymede ainda. Não, não é medo de dar algum problema, é que ainda não pude fechar o meu Eclipse Europa pra fazer isso, mas não passará deste final de semana. Em tempo, algumas coisas já consegui mudar para o Ganymede e já pude desfrutar de algumas novidades.

Dentre as coisas realmente novas as que eu mais gostei, e que com certeza serão as que mais impactarão no meu dia-a-dia do desenvolvimento são:

  1. Aplicar formatação apenas nas linhas alteradas: Seguindo no menu Window> Preferences e depois em Java > Editor > Save Actions e habilitar a opção Format edited lines e pronto, dá próxima vez que você alterar alguma classe e usar a auto-formatação apenas as linhas que você alterou serão formatadas.
  2. Drag & Drop no Outline View: Agora para cuidar da organização do código tudo pode ser feito através da View Outline apenas arrastando e soltando. Isso eu gostei muito.

Além destas muitas outras novidades acompanham esta release. A lista completa pode ser vista na página oficial da release e também no Eclipse Zone, que publicou uma notícia com muitas outras descobertas além destas que citei, vale a pena a leitura.

Migrando do Netbeans para o Eclipse

June 10th, 2008 por jeveaux

Há alguma semanas comecei a usar o Netbeans profissionalmente num dos projetos aqui da empresa. Já comentei sobre isso algumas vezes aqui no blog: aqui, aqui e aqui. Experiências com ferramentas novas (às vezes nem tão novas, afinal eu já conhecia o Netbeans há muito tempo, só não usava no trabalho) é sempre algo que gosto muito pois sempre rola muito aprendizado, melhora nossa visão e criticidade sobre uma série de pontos, e por aí vai.

E com o Netbeans não foi diferente, aprendi um pouco mais sobre detalhes da IDE, alguns atalhos, algumas manhas, também vivenciei alguns dos problemas que eu já conhecia e acabei por descobrir e sofrer com alguns outros novos. Após migrarmos para a versão 6.1 alguns novos problemas foram cruciais para a decisão da migração, como os mais importantes:

  1. CVS
    Com muita freqüência (principalmente com JSPs) o Netbeans não mostra o que há de novo ou modificado no repositório. É muito comum alguém fazer um commit de uma nova JSP, por exemplo, outra pessoa fazer um Show Changes e está JSP não aparecer na lista para o update. Às vezes conseguimos resolver fazendo direto um Update no projeto inteiro, mas não é sempre que funciona. Mesmo quando funciona há o inconveniente de estar fazendo um update às cegas, sem saber ao certo o que está vindo do repositório. Quando não funciona eu tenho que procurar o cara que colocou a JSP no projeto, pedir pra ele remover e inserir de novo, até funcionar.
  2. Indexing
    Sabe aqueles problemas horríveis que só acontecem de vez em quando ou que só acontecem com uma pessoa X ou Y? Pois é, depois da atualização do Netbeans, algumas estações praticamente todas as estações começaram a ter um problema desta espécie. Ao abrir a IDE perdia-se em média 3 minutos aguardando a conclusão da indexação do conteúdo do projeto, e não, nosso projeto não é um mega projeto. E isso não acontecia com todas as pessoas da equipe, apenas com alguns sortudos contemplados.

Como estes problemas impactam diretamente no ambiente de desenvolvimento como um todo e na integração da equipe não tivemos outra alternativa que não fosse a migração, e obviamente a IDE escolhida não poderia ser diferente, optamos pelo Eclipse :D

O processo de migração em si foi bem simples e não houve nenhum tipo de trauma. Não utilizamos ferramentas ou kits de migração, nada disso, tudo correu de forma de simples e convencional, porém muito funcional e útil.

A migração

Nosso ambiente no Netbeans era composto por dois projetos, que chamarei pelo nome fantasia de jujuba. Este era o nosso projeto web. E também tínhamos o projeto jujuba-ejb.

Como os nomes dos projetos não refletiam bem o que deve ser o projeto real do cliente nós aproveitamos a migração para arrumar isso. Então criamos num Eclipse um Enterprise Application Project chamado doceria e nele dois módulos: doceria-web e doceria-ejb, simples assim.

O primeiro passo foi conferir todas as dependências. Nesta momento vale um ponto para o Netbeans, bastaria associar o projeto a dependência desejada (jersey, pra REST, por exemplo) e pronto, tudo é feito para que o projeto compile e a API fique a sua disposição e o mesmo é feito durante o build e deploy, empacotando todas as dependências. Mas fizemos no Eclipse, pega-se os JARs, copia no web-inf/lib para o projeto web e pega-se os outros JARs, coloque-os no projeto ejb e configure se estes deverão fazer parte do EAR ou do JAR do EJB. Pronto, agora estão configuradas as dependências.

O restante foi super simples. O deploy dos dois projeto é feito no JBoss, configurar isso no Eclipse é completamente normal, apenas criamos um novo servidor no Eclipse, utilizando a instalação local do JBoss, depois bastou associar o projeto doceria ao JBoss e tudo já estava funcionando, aliás, por enquanto ainda era nada, pois os fontes ainda não haviam sido migrados.

A migração dos fontes foi a parte mais antiquada, porém a mais fácil, bastou copiar diretamente no sistema de arquivos:

Para o projeto web:

  • cd /home/jeveaux/development/java/workspace/doceria-web/src
  • cp -r /home/jeveaux/development/java/workspace/jujuba/src/java/* .
  • cd ../WebContent
  • cp -r /home/jeveaux/development/java/workspace/jujuba/web .

E para o projeto EJB

  • cd /home/jeveaux/development/java/workspace/doceria-ejb/ejbModule
  • cp -r /home/jeveaux/development/java/workspace/jujuba-ejb/src/java/* .
  • cd /home/jeveaux/development/java/workspace/doceria-ejb/ejbModule/META-INF
  • cp /home/jeveaux/development/java/workspace/jujuba-ejb/src/conf/ejb-jar.xml .

E pronto, foi isso, sem stress e sem complicações. Agora o projeto foi totalmente migrado para o Eclipse e está completamente funcional, igualzinho quando estávamos utilizando o Netbeans.

Comentários: Falando em Java

May 19th, 2008 por jeveaux

Este final de semana estive em São Paulo no Falando em Java, realizado pela Caelum. O evento foi espetacular, o pessoal da Caelum não poupou em nada (literalmente) e deram tudo de si pelo evento, parabéns a todos eles; eu gostei muito do evento e das apresentações, foi um evento profissional.

Na abertura o Paulo Silveira estava visivelmente um pouco nervoso, ele mostrou alguns números legais da Caelum desde o ano de sua abertura até os dias atuais, alunos, colaboradores, projetos, etc, e realmente os números são impressionantes e mostram num retrato fiel como a empresa está crescendo. Na seqüência o Guilherme Silveira fez uma apresentação sobre os “7 hábitos de arquitetos eficazes”. E depois tivemos a apresentação sobre “Domain Driven Design” do Sérgio Lopes que foi um show a parte no evento, quem não foi perdeu uma apresentação super bacana, com diálogo entre fantoches, ‘videozinhos’ e muito mais, além é claro, de um conteúdo muito bom. E por fim a apresentação sobre “JPA2.0″ do Emmanuel Bernard, que por sinal, é um cara bem legal.

Na tarde tivemos outra palestra do Emmanuel Bernard sobre “Hibernate Search”, onde no final ele deu uma palinha sobre Hibernate Validator. Na seqüência o Paulo apresentou os projetos Open Source que a Caelum está mantendo e/ou participando e depois as palestras de “JRuby On Rails” do Kung, “Ajax” com o Tadeu e Moreira e “SCRUM” com o Alexandre Magno, todas muito boas também. Resumindo o evento: Assisti a todas a apresentações do dia e não me arrependi de ter ficado lá em nenhuma delas, estava tudo muito bem organizado.

Só foi uma pena eu não ter concorrido ao sorteio do Wii no final do evento, mas eu entendo, até porque eu teria ganhado, e isso seria muito injusto :P

Leia mais »

Palestras e Atividades confirmadas

May 12th, 2008 por jeveaux

A ‘temporada’ de eventos de 2008 já começou e está a todo vapor. Este ano eu novamente eu não pude participar do FISL, mas não vou perder (pelo menos não quero perder) os outros eventos do ano. Algumas palestras já estão confirmadas:

  • Testes de Software e Ferramentas de Testes
    Semana passada apresentei uma nova versão (ainda não disponibilizei no slideshare) desta palestra sobre Testes na faculdade São Camilo, aqui no Espírito Santo mesmo, bem pertinho de Vitória. Fiz uma série de adaptações, a maioria delas em reordenação de slides e organização de conteúdo que ajudaram bastante para o bom andamento da apresentação, ficou mais legal :D
  • Introdução ao Desenvolvimento Web com Java
    Em 27 de maio farei uma apresentação de introdução do desenvolvimento web com Java onde serão abordados temas e ferramentas desde JSP/Servlets passando por JSF até uma pontinha de JBoss Seam. A apresentação será no InfoWork 2008 realizado pela UVV.
  • Ruby on Rails para iniciantes
    E pra fechar o mês, uma nova visita à São Camilo, desta vez para participar e colaborar com a expansão da comunidade Linux e de Software Livre do estado, vou participar do EESL (Encontro de Estudantes sobre Software Livre) e fazer uma apresentação (na verdade uma seção de exemplos e how-to) bem introdutória sobre Ruby on Rails, estou bastante ansioso pois esta será a minha apresentação sobre Rails.

Além destas apresentações já confirmadas, estarei entre os dias 16 e 19 de maio em São Paulo para participar do Falando em Java.

Mais (ainda) do mesmo

May 12th, 2008 por jeveaux

Já fazem alguns dias que foi lançada a versão do 6.1 do NetBeans, mas como andei sem tempo demorei um pouquinho pra atualizar meu (novo) ambiente de trabalho, como já comentei aqui e aqui, estou utilizando o NetBeans num dos projetos que participo.

Como ia baixar a nova versão, acabei optando pela versão full já interessado no suporte ao Ruby, coisa que ainda não testei no NetBeans pois o Aptana sempre foi legal pra mim, afinal é um Eclipse, certo? ;-) Ainda não tive tempo para testar o NetBeans com Ruby, mas farei isso ainda essa semana.

Logo de cara ao abrir os projetos no novo NetBeans o project.properties foi alterado e todos os endereços que antes eu havia mudado para caminhos relativos voltaram a ser caminhos absolutos, precisei acertar isso novamente. Todos os arquivos do projeto localizados no diretório nbproject foram alterados, não sei exatamente o motivo e nem se isso vai atrapalhar quando alguém com outra versão do NetBeans for utilizar o projeto, sinceramente fiquei um pouco preocupado.

Um novo problema que não acontecia passou a acontecer. Uma referência a um projeto com EJBs, apesar de não estar com a opção ‘Package‘ do NetBeans marcada, ou seja, o projeto referenciado não deveria ser empacotado junto com o WAR da Web Application. Mas isso não estava funcionando mais, precisei editar mais um arquivo manualmente, o build-impl.xml e retirar a tag copy-ear-war da referência problemática.

Fora os problemas, eu gostei que agora ao fazer o diff entre dois arquivos as diferenças já são abertas automaticamente, antes eu precisa mandar abrir o diff e depois clicar numa das tags exibidas. E a IDE em si também ficou mais rápida para aparecer, isso mesmo, só pra aparecer, pois pra abrir continua demorando o mesmo tempo de antes, só foi feita uma jogada pra nos tapiar. Os projetos e módulos que antes eram carregados ao iniciar a IDE agora são carregados depois que ela abre, ou seja, continua demorando do mesmo, só mudaram a demora de lugar.

No geral essa experiência está sendo muito legal, já estou bem menos reativo ao NetBeans.