quinta-feira, 31 de maio de 2007

Conhecendo as teclas de atalho do eclipse

Todo bom programador conhece as vantagens de utilizar o eclipse, dentre elas as teclas de atalho. Com o conhecimento das principais teclas de atalho a produtividade e rapidez nos códigos irá aumentar exponencialmente, pois evitará que o programador busque outras formas para resolver o problema.

Para visualizar todos os atalhos disponíveis no eclipse basta pressionar Ctrl + Shift + L. Abaixo segue as principais teclas de atalho usadas no dia-a-dia de um programador e no final do post a versão para impressão de todos os atalhos.

Tecla de Atalho | Função

Ctrl + Shift + O = Organiza os imports (limpa os imports que não estão sendo utilizados ou adiciona caso não exista)
Ctrl + Shift + F = Formata o código de acordo com a configuração nas preferências
Ctrl + Shift + R = Procura qualquer tipo de recurso em qualquer projeto
Ctrl + 1 = Assistência para correções do código
Ctrl + 2,R = Renomeia uma variável em todo o escopo onde está inserida
Ctrl + espaço = Assistente de código
Ctrl + M = Máximiza/Minimiza uma view
Ctrl + O = Visualização completa da classe (métodos, variáveis, construtores...)

A matéria da capa da revista Mundo Java número 09, de autoria do Paulo Silveira, trata exatamente desse assunto, vale a pena conferir.

Downloads: Versão para impressão | Imagens

quarta-feira, 23 de maio de 2007

A Importância da Gerência de Configuração

Acredito que a grande maioria das empresas desconhecem ou não estão atentas à importância do papel do gerente de configuração para os projetos. Esses profissionais se encontram principalmente em empresas que possuem ou almejam o modelo CMMI.

Já participei de projetos que não existiam esses profissionais e vi que a dificuldade é imensa. Assim como é importante nos projetos possuírem programadores, analistas de sistemas e de testes, arquitetos, gerentes e etc, também é muito importante ter um gerente de configuração, pois o mesmo possui um grande conhecimento e experiência sobre as ferramentas de controle de mudanças (JIRA, Mantis, Bugzilla e etc) e versões (CVS, Subversion, Tortoise, Winmerge e etc).

A presença desse profissional agilizará várias etapas nos processos do projeto. Essa área possui uma grande carência de profissionais qualificados, então é uma boa para aqueles que estão em dúvida em que ramo partir na área de T.I.

Links interessantes sobre Gerência de Configuração:

http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/gerencia_configuracao.php
http://www.cin.ufpe.br/~gfn/qualidade/gc.html
http://pt.wikipedia.org/wiki/Ger%C3%AAncia_de_Configura%C3%A7%C3%A3o_de_Software

domingo, 20 de maio de 2007

Iniciando com JPA

JPA, acrônimo de Java Persistence API, que veio junto com o Java EE 5, trouxe diversas funcionalidades que ajudam e muito a vida dos desenvolvedores. A JPA faz parte da especificação EJB 3.0, porém à rumores de que na versão 6 do Java EE ela seja retirada dessa especificação.

A JPA é caracterizada em três áreas:
  • Java Persistence API
  • Query Language
  • Mapeamento Objeto/Relacional
Logo abaixo irei dar exemplos de como inserir uma entidade no banco de dados, utilizando as annotations do EJB 3.0, os objetos do JPA , o banco de dados MySQL 5.0 e o Oracle TopLink como provider.

Iremos precisar de algumas libs para este exemplo, no final do post tem um link para você baixar o exemplo completo, com as classes e as libs necessárias.

- Criando a entidade
Iremos criar a nossa classe de entidade chamada Usuario, que irá possuir os seguintes atributos: id, login, password e nome.
Ela nada mais é do que um simples POJO (Plain Old Java Ob
ject) com alguns atributos, métodos acessores e não herda de nenhuma classe. Em aplicações coorporativas que utilizam toda a especificação EJB é necessário que essas classes possuam mais características, como serialização por exemplo.

Vamos aos códigos:


Figura 1

Na linha 10 eu informo que esse objeto será uma entidade, marcando com a annotation @Entity.
Na linha 11 informo o nome da tabela, atráves da annotation @Table, usando o atributo name da mesma.

Já na linhas 14 e 15, indico que este atributo será um id (marcado com a annotation @Id) e que a sua estratégia de geração de valores no banco será IDENTITY (para o Oracle usa-se SEQUENCE).
Os demais atributos são marcados com @Column, porém não é necessário fazê-lo, a menos que você quizesse utilizar alguns dos atributos dessa annotation, como name, que indica qual vai ser o nome da coluna no banco.

- Criando a classe UsuarioDAO para persistência

Como este post é apenas um exemplo simples de persistência utilizando JPA, criei apenas uma classe DAO (padrão de projeto Data Access Object) que contém o código principal para a persistência.

Figura 2

Na linha 18 eu crio meu objeto factory, recebendo a instância do provider, que irá encontrar o nome do persistence-unit no arquivo persistence.xml.

Em seguinda, na linha 19 eu crio o objeto EntityManager, que é o principal objeto para a persistência na JPA.

O método inserirUsuario utiliza o objeto EntityTransaction, para transações.

Na linha 35 o objeto eu chamo o método persist do objeto EntityManager, passando a entidade para ser gravada no banco.

Existem vários outros métodos relacionados a persistência, como o find, delete, merge e outros. Aconselho dar uma lida na especificação para conhecer estes métodos, quais seus propósitos e suas funcionalidades.

- Arquivo de configuração (persistence.xml)

Esse é o arquivo de configuração, que configura o nome da unidade de persistência, o tipo de transação, as configurações de banco, o provider, as classes de entidades e etc.

Figura 3

Atenção para a linha 15, essa propriedade informa o tipo de geração das tabelas do banco. Na primeira vez que você rodar o exemplo, o provider irá criar as tabelas no schema exemplojpa.

Se você tentar rodar novamente o exemplo sem comentar ou tirar essa linha, irá gerar um erro informando que já existe uma tabela criada no banco, mas os dados irão ser persistidos. Então ao rodar a primeira vez, comente essa linha ou troque o tipo de geração.


Abaixo você poderá fazer o download do exemplo, com as classes, as libs e o persistence.xml (arquivo de configuração).

Este exemplo foi bastante simples e a JPA é bastante vasta, portanto baixe as especificações e estude mais afundo sobre esse excelente meio de persistência!

Download do exemplo
Screencast excelente sobre JPA

sábado, 19 de maio de 2007

Primeiro Post

Olá a todos!

Finalmente criei meu blog, depois de tentar várias vezes criar um nome como eu queria, com meu primeiro e segundo nome, respectivamente. Acho que o título que escolhi tem tudo a ver com uma das principais características de um blog: o de compartilhar conhecimento.

Espero contribuir bastante, expondo as principais tecnologias do momento e o que está acontecendo na atualidade.

No momento, estou estudando para a certificação SCWCD (Sun Certified Web Component Developer), então durante esse período irei demorar um pouco para postar.

Abraços!