Este projeto oferece vasta quantidade de pequenos exemplos voltados para o aprendizado de tecnologias pertinentes a Java. Usuários deste material incluem estudantes do curso de Graduação em Engenharia de Software do Instituto de Informática da UFG. Em boa parte o conteúdo é consequência de disciplinas ministradas por Fábio Nogueira de Lucena (apoio Kyriosdata (r)).
- Como obter código e outros arquivos?
- Linguagem de Programação Java
- Prática elementar de Java com Orientação a Objetos
- Tecnologias
Como obter código e outros arquivos?
Você precisará do Subversion (se você precisa de ajuda acerca do Subversion, clique aqui). Na linha de comandos execute
svn co <URL> <destino>
onde <URL> deverá ser substituído pelo conteúdo que se deseja obter e <destino> o nome do diretório onde o conteúdo será depositado.
Linguagem de Programação Java
A casa de Java (e tecnologias pertinentes) é http://java.sun.com. Neste portal você encontrará um vasto conjunto de informações sobre o assunto. Entre eles, talvez você esteja interessado em um tutorial.
Links
- Java Almanac (aqui)
- Java Examples (aqui)
- Java Doc Online (aqui)
- Java Practices (aqui)
- Java Source (open source Java projects) (aqui)
- Encontre Jar em que se encontra uma classe (aqui)
- Convenções para nomes em Java (convenções)
Prática elementar de Java com Orientação a Objetos
Noções de modelagem orientada a objetos (AQUI).
Exemplos de aplicações web "ricas" (RIA) usando ICEfaces. Os exemplos não são originais e possuem como único propósito a ambientação com esta ferramenta.
Tecnologias
Ant
Para o checkout de todos os exemplos abaixo, use o URL para o subversion http://exemplos.googlecode.com/svn/trunk/ant
Os exercícios abaixo estão em ordem crescente de complexidade.
- Possui dois alvos, ambos exibem apenas uma mensagem (1.xml)
- Um alvo cria um diretório, o outro o remove (2.xml)
- Uma propriedade é empregada para indicar o diretório a ser criado/removido (3.xml)
- Fornece o diretório onde se encontra um determinado arquivo (4.xml)
- Vários alvos (variantes) que falham (5.xml)
- Obtém arquivo a partir de um dado URL e o armazena em arquivo específico (6.xml)
- Ilustra dependências entre alvos (7.xml)
- Ilustra como obter informações do usuário (linha de comandos) (8.xml)
- Obtém o tamanho de um dado arquivo fornecido (9.xml)
- Envia email (10.xml)
- Executa comandos do Subversion (11.xml)
- Compilando arquivos em Java (12.xml)
- Compilando arquivos em Java e testes de unidade no JUnit (13.xml)
- Executando testes de unidade no JUnit (14.xml)
Cobertura
A criação de testes de unidade é uma prática comum atualmente. Em geral, esta prática é acompanhada do uso de uma ferramenta adicional que permita verificar quanto do código testado está sendo exercitado pelos testes de unidade. A isto dá-se o nome de cobertura. A ferramenta Cobertura, dentre outras, tem como propósito avaliar o quanto de código testado é exercitado por um dado conjunto de testes de unidade. Siga o link para uma prática envolvendo a Cobertura.
Eclipse
O ambiente integrado de desenvolvimento para Java preferido por muitos é o Eclipse (http://eclipse.org). Siga o link para uma prática envolvendo o Eclipse.
HTML & JavaScript
- Exemplos
- Links relevantes
Java Persistence API (JPA)
EJB 3.0 inclui três tipos de componentes: beans de sessão (statefull e stateless), beans orientados a mensagens (message-driven beans) e entidades (entities). Entidades são empregadas para persistência. Esta série de exemplos fornece uma elucidativa introdução a persistência de objetos Java usando a JPA.
JavaFX
JavaFX é uma tecnologia para o desenvolvimento de clientes ricos. Inclui: linguagem de programação declarativa denominada JavaFX Script; vários runtimes para computadores e dispositivos e ferramentas de desenvolvimento de aplicações JavaFX. Também está disponível uma sequência de passos e exemplos didáticos sobre JavaFX.
JME
A programação em Java para dispositivos com restrições de recursos (memória e capacidade de processamento, por exemplo), tem ganhado interesse, principalmente pela significativa quantidade de PDAs, celulares e outros que implementam Java ou, mais especificamente, JME. Neste wiki você encontrará uma introdução ao assunto.
JEE
Siga o link para questões pertinentes a Java Enterprise Edition.
JNDI
- Identificar IP a partir de domínio usando servidor DNS por JNDI
JUnit 4 (e testes de unidade)
Abaixo segue uma "trilha" para os primeiros contatos com testes de unidadem empregando o JUnit.
- Introdução ao JUnit 4
- Anotações associadas ao JUnit
- Organização típica de código de teste usando o JUnit
- Exceção gerada por Assert.*
Os itens acima apresentam os principais componentes necessários ao emprego do JUnit, que é uma ferramenta. Ou seja, também precisamos saber como empregá-la (assunto dos itens abaixo).
Este é um bom momento para experimentar. Resolva os exercícios a seguir.
Novos exercícios
- Notas
- Implemente a interface CsvService e os testes de unidade pertinentes.
OSGi
RIA
Exemplos de aplicações web "ricas" (RIA) usando ICEfaces. Os exemplos não são originais e possuem como único propósito a ambientação com esta ferramenta.
Links relevantes:
- ICEfaces (home page)
- ICEfaces (tutoriais)
- ICEfaces Componentes (api)
- ICEfaces (taglib)
- ICEfaces Componentes (suite)
- ICEfaces (api)
- JavaServer Faces (api)
Segurança
Servlet/JSP
As tecnologias Servet e JSP são empregadas para estender a funcionalidade de servidores web. É por meio destas tecnologias que páginas podem ser dinamicamente geradas da perspectiva de Java. Esta série de exemplos permite o domínio gradativo destas tecnologias.
Swing
Aplicação trivial que ilustra a criação de "console gráfico" que permite o acréscimo de mensagens (aqui).
Reorganização (refactoring)
Subversion
- Introdução ao Subversion (aqui)
- Manual do Usuário do Subversion (aqui)
- Ao longo do tempo software é liberado, em geral, na forma de versões, por exemplo, 1.0, 2.0 e assim por diante. Quando se está próximo da liberação de uma versão é necessário fazez ajustes como mudanças finais na documentação do usuário e outras, enquanto o restante da equipe deveria continuar trabalhando no trunk. Veja o processo.
- Erros são encontrados pelos usuários e demandam correções. Veja o processo.
- Alguns erros são complexos, o que exige um processo conhecido e empregado por toda a equipe.
- Exercícios