Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Acesse nosso site em
WWW.DOMINANDOTI.COM.BR
Curta o Dominando TI no
e receba nossas dicas sobre concursos!
W W W. D O M I N A N D OT I .CO M . B R
Ferramentas de gerência de configuração,
desenvolvimento, build, análise de código, testes e
gestão de defeitos
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Eclipse
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Eclipse – Ferramenta de Desenvolvimento
Compilação incremental
Automatiza diversas refatorações de código
Ambiente integrado de testes de componente com Junit
Suporte a múltiplas JREs
Workspace
Local onde os projetos são armazenados
Workbench
Área de trabalho. Contém itens como menu, barra de ferramentas, editores e views
Perspectiva
Conjunto de funcionalidades para uma tarefa específica. Exemplo: editar código java,
depurar código, acesso a funcionalidade do controle de versões.
View
Janelas que mantém editores ou outras formas alternativas de apresentação e
navegação.
Text
editor
Perspective
and
Fast View
(barra)
Outline
view
Resource
Navigator
view
Bookmarks
Properties view
view
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Maven
Super POM
Todos os POMs herdam de algum outro
Ciclos de vida
Sequência de fases que definem a ordem que goals são executados.
Ciclos de vida: clean, default (build) e site
Plugins
Profiles
Configurações que sobrescrevem comportamentos padrão do Maven.
remoto
remoto
Escopo Descrição
compile (default) indica que a dependência está disponível no classpath do
projeto
provided dependência provida pelo JDK ou Container em tempo de execução.
test dependência utilizada apenas por testes (compilação e execução)
runtime Não é necessário para compilação, apenas para execução.
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Jenkins
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Findbugs
Corretude
Exemplo: loop infinito
Más práticas
Exemplo: código que lança exceção ou falha ao fechar um arquivo.
Desempenho
Corretude de código Multithreaded
Dodgy (esperto)
Exemplo: variáveis locais não utilizadas
W W W. D O M I N A N D OT I .CO M . B R
Checkstyle
W W W. D O M I N A N D OT I .CO M . B R
Checkstyle
W W W. D O M I N A N D OT I .CO M . B R
Gestão de Defeitos
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Mantis
Ferramenta
Web para
gestão de
defeitos de
software
open source,
PHP, GPL.
Issues têm
cores
W W W. D O M I N A N D OT I .CO M . B R
Gerência de Configuração
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Gerência de Configuração e controle de versões
W W W. D O M I N A N D OT I .CO M . B R
Subversion
W W W. D O M I N A N D OT I .CO M . B R
Subversion – trunk, tags, branches
Repositório
Branch: linha
Projeto 1 independente
trunk desenvolvimento.
tags
branches
Tag: label do repositório
Projeto 2 em algum momento do
trunk
tempo.
tags
branches
W W W. D O M I N A N D OT I .CO M . B R
Subversion – revisões
Cada transação
que altera o
repositório incrementa
o número da revisão.
W W W. D O M I N A N D OT I .CO M . B R
Subversion – workflow básico
cliente servidor
checkout
(desenvolvimento e testes)
update
(resolução de conflitos)
commit
W W W. D O M I N A N D OT I .CO M . B R
Frameworks:
Hibernate, Spring e Wicket
Professor Marcelo Pacote – marcelopacote@dominandoti.com.br
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Hibernate
Professor Marcelo Pacote – marcelopacote@dominandoti.com.br
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Hibernate
Hibernate x SQL
Hibernate gera código SQL e automatiza processos
trabalhosos
HQL, linguagem de recuperação de dados, assemelha-se a
SQL.
Tabela Conta
// métodos get/set
}
API Criteria
Solução para criação dinâmica de consultas.
HQL:
SELECT c.name, cta
FROM Conta cta JOIN cta.cliente c
WHERE c.cidade = :cidade
(MPU/2013/Cespe/Desv./105) errado
(Serpro/2013/Cespe/Desv./85) errado
[01] certo
[02] errado
[03] certo
[04] errado
(Inpi/2013/Cespe/Desv./83, 85) cc
[05] certo
[06] errado
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
O que é?
W W W. D O M I N A N D OT I .CO M . B R
Mas o que é IOC?
Tradicional Spring
W W W. D O M I N A N D OT I .CO M . B R
Arquitetura
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
O que é?
Java
add(new Label("mensagem", “DominandoTI!"));
+
<h1 wicket:id=“mensagem”>[texto aqui.]</h1>
=
HTML
<h1> DominandoTI !</h1>
Resultado
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Introdução ao Java EE
fonte: http://download.oracle.com/javaee/5/tutorial/doc/bnabo.html
Servidor de
Aplicação
Contêiner
(EJB)
EJB
(componente)
Fonte: http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/platform_technologies/component/index.html
fonte: http://www.theserverside.com/news/1373391/Dependency-Injection-in-Java-EE-6-Part-1
Jetty
Container de Servlets/JSP, desenvolvido em Java.
Open Source, suporte a WebSockets
WebSphere
Servidor de aplicação multiplataforma da IBM
Certificado JavaEE 6
Lightweight Containers
Não depende de um servidor de aplicação.
Spring (light) X EJB (heavy)
W W W. D O M I N A N D OT I .CO M . B R W W W. D O M I N A N D OT I .CO M . B R
Final thoughts
Selenium
Framework de testes funcionais
Concordion
Framework de testes de aceitação
HTML 5
JSON
Formato de representação de dados
JSON x XML