Otimização prematura!
Esta semana fui questionado pelo Renan Barbioni, sobre como seria realizado o parse/processamento dos XMLs no projeto que estamos trabalhando.
Pensei em utilizar SAX ou DOM, mas qual seria melhor? qual teria mais performance? Sabemos que o SAX irá consumir o mínimo de memória possível porem, irá consumir mais processador, já o DOM irá consumir mais memória do que processador. Nos dois casos seria necessário o desenvolvimento de uma estrutura mínima para tornar o desenvolvimento produtivo.
Antes de pronunciar qualquer palavra lembrei desta entrevista que Joshua Bloch deu para InfoQ. Cai no erro de querer fazer otimização prematura.
Todos envolvidos em um projeto devem sempre pensar em atender o cliente de forma simples e rápida! O refactoring de código para melhorar o desempenho da aplicação será feito no futuro e somente se existir necessidade.
Ainda não terminamos o projeto, mas passamos a utilizar JAXB(Java Architecture for XML Binding) o que deixa os desenvolvedores com muito mais produtividade e simplicidade de código(leia-se fácil manutenção). Tenho certeza que o desenvolvimento foi mais rápido do que se utiliza-se SAX ou DOM a complexidade de código também diminui bastante.
É, quase cai na otimização prematura, obrigado InfoQ pela entrevista com Joshua Bloch! risos
Até a próxima!
Maven Repository
O objetivo deste post não é discutir se devemos ou não usar o maven, mas vamos à alguns fatos:
- Como você envia uma aplicação para a equipe de infra publicar em produção? Copia em uma área compartilhada?
- Você já precisou perguntar para um integrante da sua equipe: Fulano, onde está o xxx.jar?
- Você ja se perguntou: Em qual site eu baixo o xpto.jar?
- Por um acaso você anda versionando binarios(jar, exe, etc) no SVN?
Bem, se você respondeu sim para qualquer uma das perguntas acima, você precisa no mínimo entender o que são e para que servem os Repositórios do Maven.
Existem algumas aplicações que podem facilitar o gerenciamento de um repositório como Artifactory, Archiva e Nexus. Elas atendem duas necessidades básicas.
Primeiro, fazer o papel de um “proxy” entre repositórios públicos e repositórios internos(corporativos), o segundo é prover um repositório de todos os componentes da corporação. Assim você consegue gerenciar todas as dependências do seu projeto sem passar por complicações comentadas no inicio do post.
Atualmente utilizo Nexus, confesso que ele está ajudando e muito alguns processos, a instalação e configuração do Nexus é muito simples leia os tópicos 1.5 e o 2 da documentação.
Ah! Vale a pena dar uma pesquisada no Artifactory, parece ser muito bom também!
Até a próxima!
Fotos de longa exposição
Já faz algum tempo que sai para fazer umas fotos noturnas com a Nikon D90, passei pela Av. Juscelino Kubitschek, Parque Ibirapuera, Av. 23 de Maio e Av. Paulista. Consegui ótimos efeitos de longa exposição!
Pretendo sair uma noite neste fim de ano, para fazer fotos dos lugares que estão sempre decorados com luzes e enfeites de natal.
Abaixo você pode ver algumas fotos noturnas de longa exposição:
Até a Próxima!
Vida nova, desafio novo com Adobe Flex!
Ontem conheci alguns dos requisitos do projeto que irei iniciar aqui no Grupo Habibs, um dos requisitos técnicos é a utilização do Adobe Flex.
Já tinha trabalhado em um projeto utilizando Flex, mas não tinha programado nada em ActionScript. Um novo desafio, não me assustou nem um pouco.
No mesmo dia fui estudar um pouco da IDE do Flex, o FlexBuilder, achei bem tranqüilo, gostei do casamento do Java com ele.
Acabou suprindo um ponto “negativo” quanto a produtividade ao desenvolver interface rica, mais produtivo que RichFaces.
Até a próxima!
Google Developer Day 2009!
O Google Developer Day 2009, teve muita coisa interessante! Participei de todas as palestras sobre Cloud Computing e Google Wave, abaixo meus comentários:
Cloud Computing: Não achei nada de “novo” ou surpreendente, algumas horas lendo a documentação da App Engine “quebra” a palestra.
Google Wave: As agencias de publicidade vão aprontar muito nas midias sociais com esta ferramenta! Recebi o convite para participar do sandbox, agora é esperar a resposta deles com as informações para acessar. Gostei muito dos robos, deixa a plataforma com muita flexibilidade, limitando apenas pela criatividade! Já existe robo para twitter, tradução em tempo real, etc.
Até a próxima!





