Promoção reaberta só até dia 01/02/2016 às 23:59!

Você quer aprender Java, JSF e JPA definitivamente em 2016? |

No dia 29 de Janeiro, nós completamos 12 anos de história.
É... eu também acho muito tempo. Foram muitos altos e baixos para chegar até aqui e conseguir impactar na vida de tantas pessoas.
Eu não acreditava que a gente poderia chegar tão longe. É sério! E estaria mentindo se falasse que nunca pensei em desistir.
Mas muitas coisas aconteceram no meio do caminho. Senti que deveríamos investir em cursos online, encerramos as outras atividades da empresa para não perder o foco...
...o Normandes entrou na sociedade para ajudar a tornar esse sonho possível e hoje nós vivemos fazendo o que realmente gostamos.
E porque estou falando isso?
É porque eu quero te agradecer!
Só de você estar aqui, já mostra que você acompanha nosso trabalho, compartilha nossos conteúdos, recomenda nossos cursos ou simplesmente dá atenção para o que fazemos.
E talvez você não tenha noção da importância disso, mas o seu apoio foi e continua sendo muito importante para que a gente continue ajudando pessoas.
Por isso, como forma de agradecimento, nós criamos uma promoção de aniversário da AlgaWorks (além das reprises das palestras, que você já deve estar acompanhando).
A promoção vai ficar no ar entre os dias 25 e 29 de Janeiro, e você pode ver todos os detalhes mais abaixo.
Investir em Ano de Crise?
Sem entrar em questões políticas, todos nós sabemos que 2016 será um ano de crise. Mas a crise não é para todo mundo!
Enquanto muitos choram, outros vendem lenços.
Em tempos de crise, novas oportunidades surgem, as empresas contratam e mantém profissionais mais capacitados...
...demitem os acomodados e descapacitados, e desenvolvimento de software gera ainda mais valor, porque automatiza processos e reduz custos.
Você vai fugir da crise ou vai deixar ela te pegar?
Feliz aniversário para nós! 🙂
Thiago Faria
Fundador da AlgaWorks
Veja os 3 Pacotes de Cursos Online em Promoção que Separamos para Você!
PACOTE #1
Compre os Cursos Online de Java e JSF e Ganhe R$140 de Desconto + 3 Workshops

* Os workshops não são vendidos separadamente.
Faça sua inscrição agora! |
3x R$267,33 sem juros no cartão de crédito
De R$942 por R$802 à vista ou 12x R$77,22 com juros no cartão


Oferta encerrando em...
Oferta válida até 29/01/2016 às 23:59.
PACOTE #2
Compre os Cursos Online de JSF e Sistemas Comerciais Java EE e Ganhe R$140 de Desconto + 3 Workshops

* Os workshops não são vendidos separadamente.
Faça sua inscrição agora! |
3x R$384,67 sem juros no cartão de crédito
De R$1.294 por R$1.154 à vista ou 12x R$111,11 com juros no cartão


Oferta encerrando em...
Oferta válida até 29/01/2016 às 23:59.
PACOTE #3
Compre os Cursos Online de Sistemas Comerciais Java EE e JPA/Hibernate e Ganhe R$140 de Desconto + 3 Workshops

* Os workshops não são vendidos separadamente.
Faça sua inscrição agora! |
3x R$385,33 sem juros no cartão de crédito
De R$1.296 por R$1.156 à vista ou 12x R$111,30 com juros no cartão


Oferta encerrando em...
Oferta válida até 29/01/2016 às 23:59.
Sem Qualquer Risco pra Você!
Garantia Incondicional de 30 Dias.

Se você comprar o curso e não ficar 100% satisfeito com o conteúdo que te entregarmos, é só enviar um e-mail para contato@algaworks.com, dentro do prazo de 30 dias após a compra, e pedir o seu dinheiro de volta!
Nós vamos estornar seu pagamento integralmente, sem cobrança de taxas, multas... absolutamente nada! Não vamos fazer nenhuma pergunta antes de devolver seu dinheiro, e o mais importante, não ficaremos magoados com você.
Nós oferecemos essa garantia porque, além de confiar em você, confiamos também na qualidade de nosso curso, entendemos que você pode se enganar ao comprar um curso, e não seria justo ficarmos com seu dinheiro se você não puder aproveitar o conteúdo do curso.
O Que Nossos Alunos Falam de Nós?
Quais os Benefícios de Estudar com a AlgaWorks?
Conheça a Programação das Aulas
Clique no nome do curso para conhecer a programação.
Java é uma das linguagens de programação mais usadas no mundo, o que nos leva a uma conclusão óbvia: maior demanda por programadores.
Diversas empresas pequenas, médias e grandes usam Java para criar seus sistemas. E a variedade de aplicação é enorme, desde simples cadastros a grandes CRMs e empresas de Telecom.
Encontrar um material na internet sobre como começar com Java é simples, agora, juntar tudo em uma sequência didática não é tarefa fácil.
Pense como você pode ganhar meses e até anos de pesquisas com um curso destes? Pense como sua confiança irá aumentar ao sentar na frente do compilador ou da IDE? Quanto vale isso?
Aprender a programar em Java requer um excelente domínio da Orientação a Objetos, por isso que este curso merece este destaque. Aprenda Orientação a Objetos com exemplos do mundo real, chega de instanciar Cachorrinho e Passarinho!
Aprenda a usar algumas bibliotecas importantes do Java, trabalhe com XML, JSON, log4j, Maven e muito mais.
Este curso, com mais de 21 horas de videoaulas, vai te possibilitar tudo isso! Aprenda de uma vez por todas a Orientação a Objetos, use recursos básicos e avançados do Java e se torne um profissional.
A carga horária do curso é de 60 horas, que é o tempo mínimo que você deve reservar para se dedicar aos estudos. Essa carga horária é a que aparecerá no seu certificado também!
1. Introdução
1.1. Como aprender Java?
1.2. A história do Java
1.3. As plataformas Java e como elas evoluem
1.4. Máquina virtual Java
1.5. Baixando, instalando e configurando a JDK
1.6. Exercício: instalação da JDK
2. Fundamentos da linguagem
2.1. Codificando, compilando e executando o programa "oi mundo"
2.2. Exercício: codificando um primeiro programa
2.3. Comentários
2.4. Sequências de escape
2.5. Palavras reservadas
2.6. Convenções de código
2.7. Trabalhando com variáveis
2.8. Nomeando variáveis
2.9. Operadores aritméticos
2.10. Exercício: variáveis e operadores aritméticos
2.11. Tipos primitivos
2.12. Outros operadores de atribuição
2.13. Conversão de tipos primitivos
2.14. Promoção aritmética
2.15. Exercício: tipos primitivos e outros operadores de atribuição
2.16. Trabalhando com strings
2.17. Recebendo entrada de dados
2.18. Operadores de comparação e igualdade
2.19. Estruturas de controle if, else if e else
2.20. Exercício: Strings, entrada de dados, operadores de comparação e if else
2.21. Escopo de variáveis
2.22. Operadores lógicos
2.23. Exercício: operadores lógicos
2.24. Estrutura de controle switch
2.25. Operador ternário
2.26. Operadores de incremento e decremento
2.27. Estrutura de controle while
2.28. Estrutura de controle do-while
2.29. Estrutura de controle for
2.30. Cláusulas break e continue
2.31. Exercício: operador ternário, decremento e estruturas de repetição
2.32. Introdução e instalação do Eclipse IDE
2.33. Depurando códigos com o Eclipse
2.34. Exercício: instalando o Eclipse IDE
3. Orientação a Objetos - parte 1
3.1. O que é POO?
3.2. Classes e objetos
3.3. Criando uma classe com atributos
3.4. Instanciando objetos
3.5. Acessando atributos de objetos
3.6. Exercício: instanciando e acessando atributos do objeto
3.7. Composição de objetos
3.8. Valores padrão
3.9. Variáveis referenciam objetos
3.10. Criando, nomeando e chamando métodos
3.11. Métodos com retorno
3.12. Passando argumentos para métodos
3.13. Argumentos por valor ou referência
3.14. Exercício: composição de objetos e chamada de métodos
4. Wrappers, boxing e arrays
4.1. Wrappers do java.lang
4.2. Boxing
4.3. Desafio: wrappers e boxing
4.4. Trabalhando com arrays
4.5. Exercício: arrays
5. Orientação a Objetos - parte 2
5.1. Introdução à UML e diagrama de classes
5.2. Desafio: diagrama de classes
5.3. O objeto this
5.4. Construtores
5.5. Encapsulamento e modificadores de acesso public e private
5.6. Criando JavaBeans
5.7. Desafio: objeto this, construtores e JavaBeans
5.8. Organizando os projetos em pacotes
5.9. Modificador de acesso default
5.10. Modificadores static e final
5.11. Desafio: static e final
5.12. Enumerações
5.13. Desafio: pacotes e enumerações
5.14. Herança e modificador protected
5.15. Classe java.lang.Object
5.16. Sobreposição
5.17. Desafio: herança e sobreposição
5.18. Sobrecarga
5.19. Exercício: sobrecarga
5.20. Polimorfismo, casting de objetos e instanceof
5.21. Classes abstratas
5.22. Desafio: polimorfismo e classes abstratas
5.23. Interfaces
5.24. Exercício: interfaces e polimorfismo
6. Tópicos avançados
6.1. Coleta de lixo
6.2. Classe java.lang.Math
6.3. Desafio: classe java.lang.Math
6.4. Tratando e lançando exceções
6.5. Desafio: exceções
6.6. Classes String, StringBuffer e StringBuilder
6.7. Trabalhando com datas
6.8. Desafio: datas
6.9. Trabalhando com números
6.10. Desafio: números
6.11. Collections Framework
6.12. Métodos equals e hashCode
6.13. Desafio: collections
6.14. Arquivos JAR
6.15. Exercício: arquivos JAR
6.16. Documentação javadoc
6.17. Desafio: javadoc
6.18. Ordenando objetos
7. Mais detalhes e frameworks
7.1. Métodos da classe String
7.2. StringBuilder e StringBuffer
7.3. JOptionPane
7.4. JDBC
7.5. Varargs
7.6. Introdução a XML
7.7. Introdução ao JSON
7.8. Arquivos properties
7.9. Geração de javadoc
7.10. Introdução a expressão regulares
7.11. Introdução a generics
7.12. Logging com log4j
7.13. Debug com Eclipse
7.14. Maven
7.15. Testes de unidade com JUnit
7.16. Parâmetros da JVM
8. Entrada e saída - I/O
8.1. Gravando arquivo
8.2. Lendo arquivo
8.3. A classe Scanner
9. Serialização de objetos
9.1. Salvando e lendo objetos em arquivo
9.2. Enviando objetos na rede
9.3. Criando uma aplicação de chat
10. Novidades do Java 7
10.1. Separador de dígitos em literais numéricos
10.2. Switch case com String
10.3. Diamond
10.4. try-with-resources e multi-catch
11. Novidades do Java 8
11.1. Introdução ao Lambda
11.2. Referência a métodos
11.3. Interfaces funcionais
11.4. Introdução a Stream
11.5. API de Data - Parte 1
11.6. API de Data - Parte 2
11.7. API de Data - Parte 3
11.8. API de Data - Parte 4
11.9. Próximos passos
11.10. Conclusão
A programação web é vital para o sucesso de qualquer desenvolvedor de software. Com JSF (JavaServer Faces), você criará páginas complexas rapidamente e será reconhecido pela sua produtividade.
JSF é a especificação Java para criação de interfaces web, baseadas em componentes, em um ambiente Java EE. A versão 2 adicionou facilidades e recursos que você irá adorar aprender nesse curso.
Criar um projeto simples e já começar usar JSF não é tão difícil assim, mas e quando você precisa criar páginas com qualidade? E quando não conhecer bem detalhes importantes faz você perder dias pesquisando na internet uma solução?
Imagine você programando sistemas rápidos e confiáveis com JSF, sendo reconhecido pelos seus colegas, seu chefe e/ou seu cliente como um excelente desenvolvedor de software, porque seus sistemas realmente possuem qualidade...
A apresentação visual de um projeto é muito importante, pois é a primeira parte que o cliente ou chefe vê! Aprenda a criar as páginas bem estruturadas, elegantes e fáceis de manter.
Você irá aprender a integrar a parte web com o banco de dados usando JPA 2 e Hibernate e criar sistemas de verdade. Além de no final, implantar o sistema desenvolvido em um servidor na nuvem.
Este curso, com mais de 24 horas de videoaulas, vai te possibilitar tudo isso! Você vai aprender a criar a camada de visualização de forma profissional, usando recursos básicos e avançados do JSF.
A carga horária do curso é de 60 horas, que é o tempo mínimo que você deve reservar para se dedicar aos estudos. Essa carga horária é a que aparecerá no seu certificado também!
1. Aplicações web com Java
1.1. Introdução ao curso de JSF
1.2. Introdução ao desenvolvimento web
1.3. Containers Java EE
1.4. Instalando o Tomcat
1.5. Exercícios: instalação do Tomcat
1.6. Instalando e configurando o Eclipse
1.7. Exercícios: instalação e configuração do Eclipse
1.8. Uma aplicação Java web simples
1.9. Importando um projeto do Github no Eclipse
1.10. Distribuindo aplicações em WAR
1.11. Administrando o Apache Tomcat
1.12. Exercícios: aplicação web simples com o Eclipse e Tomcat
2. Desenvolvimento com JavaServer Faces
2.1. O que é JSF?
2.2. Baixando uma implementação JSF
2.3. Codificando o primeiro projeto
2.4. O arquivo web.xml
2.5. Managed beans
2.6. Exercício: primeiro projeto em JSF
2.7. Backing beans
2.8. Escopos de aplicação e sessão
2.9. Outros escopos de managed beans
2.10. Exercício: managed beans e seus escopos
2.11. Usando navegação implícita
2.12. Manipulando eventos de ação
2.13. Manipulando eventos de mudança de valor
2.14. Exercício: navegação e eventos
2.15. Ciclo de vida
3. Principais componentes
3.1. Atributos comuns de componentes
3.2. Entradas, saídas de texto e imagens
3.3. Menus, caixas de listagem e itens de seleção
3.4. Campos de checagem e botões radio
3.5. Botões e links
3.6. Painéis
3.7. Mensagens
3.8. Tabelas de dados
3.9. Componentes dentro de células
3.10. Aplicando estilos em tabelas
3.11. Arquivos JavaScript e CSS
3.12. Exercícios: usando componentes e aplicando estilos
3.13. Projeto do curso: prototipando tela de consulta de lançamento
3.14. Projeto do curso: prototipando tela de novo lançamento
3.15. Exercícios: prototipando telas do projeto do curso
4. Conversão e validação
4.1. Conversores de números e datas
4.2. Customizando mensagens de erro de conversão
4.3. Exercício: usando conversores
4.4. Usando validadores
4.5. Customizando mensagens de erro de validação
4.6. Atributo immediate
4.7. Exercício: usando validadores
4.8. Criando conversores personalizados
4.9. Criando validadores personalizados
4.10. Exercício: criando conversores e validadores
4.11. Projeto do curso: usando conversores e validadores
4.12. Projeto do curso: conversor personalizado
4.13. Projeto do curso: validador de data futura
4.14. Projeto do curso: validador condicional
4.15. Exercício: usando conversores e validadores no projeto do curso
5. Persistência de dados
5.1. Preparando um banco de dados MySQL
5.2. Conhecendo e configurando JPA 2 com Hibernate
5.3. Mapeamento objeto-relacional
5.4. Testando o Hibernate
5.5. Carregando menu de pessoas do banco de dados
5.6. Integrando as telas com Hibernate
5.7. Exclusão de lançamentos do banco de dados
5.8. Transações e o pattern Open Session in View
5.9. Pattern Repository
5.10. Implementando regras de negócio
5.11. Exercício: implementando o pattern repository e a camada de regras de negócio
6. JavaServer Faces Avançado
6.1. Suporte ao método GET
6.2. Regras de navegação explícitas
6.3. Aplicações JSF com AJAX
6.4. Exercício: método GET e AJAX
6.5. Template de páginas com Facelets
6.6. Criando componentes customizados
6.7. Exercício: template e componentes customizados
6.8. Internacionalização de sistemas
6.9. Segurança da aplicação com JAAS
6.10. Página 403, proteção de componentes e MD5
6.11. Exercício: internacionalização e segurança da aplicação
7. Colocando em produção
7.1. Preparando o ambiente Java em um servidor cloud
7.2. Fazendo deploy da aplicação na nuvem
8. Migrando para Java EE 7
8.1. Introdução ao Java EE 7
8.2. Rodando o projeto no Tomcat 8
8.3. Configurando o JSF 2.2
8.4. Novos namespaces do JSF 2.2
8.5. Navegação explícita (from-view-id requerido)
8.6. Componente ViewAction
8.7. HTML5 Friendly Markup - Atributos Pass-through
8.8. HTML5 Friendly Markup - Elementos Pass-through
8.9. Resource Library Contracts
8.10. Upload de arquivos com FileUpload
8.11. Enviando arquivos via Ajax e direto para o banco de dados
8.12. Servindo arquivos para download com JSF
8.13. Atualizando para o Hibernate 4.3
8.14. Conclusão e próximos passos
Java EE é um padrão para desenvolvimento de sistemas web em Java, mas as diversas especificações, implementações e frameworks necessários para desenvolvimento de projetos profissionais, deixam as pessoas um pouco confusas para começar.
Este curso ensina como desenvolver um sistema completo, incluindo telas mestre-detalhe e painéis com gráficos, do início ao fim, usando as principais especificações Java EE, como CDI, Bean Validation, JPA e JSF, além da biblioteca de componentes PrimeFaces, Maven, Log4j, JasperReports e muito mais.
A carga horária do curso é de 80 horas, que é o tempo mínimo que você deve reservar para se dedicar aos estudos. Essa carga horária é a que aparecerá no seu certificado também!
1. Introdução
1.1. Introdução ao curso
1.2. Instalando e configurando o Eclipse
1.3. Instalando o Apache Tomcat
1.4. Iniciando o Apache Tomcat dentro do Eclipse
1.5. Introdução ao Maven
1.6. Instalando o plugin do Maven no Eclipse
1.7. Criando um projeto web no Eclipse com Maven
1.8. Gerando arquivo WAR em um projeto Maven
1.9. Baixando os exemplos do GitHub e importando no Eclipse
1.10. Introdução ao PrimeFaces
1.11. Começando com PrimeFaces
1.12. Para quem usa NetBeans: criando um projeto com PrimeFaces
2. Formulários e Ajax com PrimeFaces
2.1. PanelGrid, InputText, OutputLabel e CommandButton
2.2. Ajax e renderização parcial
2.3. Processamento parcial
2.4. Submissão parcial
2.5. Notificações com AjaxStatus
2.6. Entrada de senhas com Password
2.7. Entrada de textos com InputTextarea
2.8. Entrada de data e hora com Calendar
2.9. Caixa de listagem com SelectOneListbox
2.10. Menu de seleção com SelectOneMenu
2.11. SelectOneMenu com conteúdo customizado e filtro
2.12. Menus de seleção dependentes com SelectOneMenu e Ajax
2.13. Botão de rádio com SelectOneRadio
2.14. Caixa de checagem múltipla com SelectManyCheckbox
2.15. Campo de autossugestão com AutoComplete
2.16. AutoComplete com suporte a POJO
2.17. Máscara de entrada com InputMask
2.18. Caixa de checagem com SelectBooleanCheckbox
2.19. Exercício: formulários com PrimeFaces
3. Prototipação com formulários
3.1. Criando o projeto do curso com Maven
3.2. Criando o template com Facelets
3.3. Prototipando a página de login
3.4. Prototipando o cadastro de produto
3.5. Adicionando o componente AjaxStatus no layout padrão
3.6. Configurando máscara de dinheiro com jQuery
3.7. Desafio: prototipando o cadastro de cliente
3.8. Desafio: prototipando o cadastro de usuário
4. Exibindo painéis e dados com PrimeFaces
4.1. Painel com abas com TabView
4.2. TabView dinâmica
4.3. Tabela de dados com DataTable
4.4. Ordenando dados da DataTable por coluna
4.5. Paginação de dados com DataTable
4.6. Exercício: painéis e dados com PrimeFaces
5. Prototipação com painéis e dados
5.1. Prototipando a pesquisa de produtos
5.2. Prototipando a pesquisa de pedidos
5.3. Prototipando o cadastro de pedido
5.4. Desafio: prototipando pesquisa de clientes
5.5. Desafio: prototipando pesquisa de usuários
5.6. Desafio: prototipando listagem de endereços de clientes
5.7. Desafio: prototipando inclusão de usuário em grupos
6. Menus, mensagens e diálogos com PrimeFaces
6.1. Barra de menu com Menubar
6.2. Mensagens com Messages e Growl
6.3. Diálogo suspenso com Dialog
6.4. Diálogo de confirmação com ConfirmDialog
6.5. Desafio: diálogos e mensagens
7. Prototipação com menus e diálogos
7.1. Incluindo um menu no sistema de pedidos
7.2. Incluindo diálogo de confirmação de exclusão de produto
7.3. Desafio: ajustando a barra de menu
7.4. Desafio: prototipando inclusão de endereços de clientes
7.5. Desafio: incluindo diálogos de confirmação
8. Injeção de dependências com CDI
8.1. O que é injeção de dependências?
8.2. A especificação CDI e a implementação Weld
8.3. Configurando um projeto com JSF e CDI
8.4. Escopos de beans
8.5. Pontos de injeção
8.6. Qualificadores
8.7. Métodos produtores
8.8. Usando o @ViewScoped com CDI
8.9. Desafio: projeto com JSF e CDI
9. Tratamento de exceções e logging
9.1. Tratando a exceção ViewExpiredException
9.2. Tratando outras exceções
9.3. Logging de mensagens e erros com Log4J
10. Persistência de dados com JPA 2 e Hibernate
10.1. O que é ORM, JPA e Hibernate?
10.2. Configurando um projeto com JPA e Hibernate
10.3. Criando entidades do cadastro de clientes
10.4. Desafio: criando entidades do cadastro de usuários
10.5. Desafio: criando entidades do cadastro de produtos
10.6. Criando entidades do pedido de venda
10.7. Mapeando entidades do cadastro de clientes
10.8. Detalhes físicos no mapeamento do cadastro de clientes
10.9. Desafio: mapeando entidades do cadastro de usuários
10.10. Desafio: mapeando entidades do cadastro de produtos
10.11. Mapeando entidades do pedido de venda
11. Validação do modelo com Bean Validation
11.1. Introdução ao Bean Validation e Hibernate Validator
11.2. Configurando Bean Validation
11.3. Adicionando restrições no cadastro de produto
11.4. Adicionando restrições no pedido
11.5. Desafio: adicionando restrição no modelo
11.6. Mensagens em português e com label do campo
11.7. Customizando mensagens de validação
11.8. Compondo novas restrições
12. Integrando páginas, serviços e repositórios
12.1. Criando um produtor CDI para injetar EntityManager
12.2. Implementando o repositório de categorias
12.3. Listener preRenderView chamado muitas vezes
12.4. Criando um conversor de categorias
12.5. Combo boxes dependentes de categorias e subcategorias
12.6. Implementando o serviço de cadastro de produto
12.7. Controlando transações em beans CDI
12.8. Implementando a pesquisa de produtos
12.9. Implementando a edição de produtos
12.10. Implementando a exclusão de produtos
12.11. Desafio: cadastro de usuários
12.12. Desafio: pesquisa de usuários
12.13. Desafio: edição e exclusão de usuários
12.14. Desafio: cadastro de clientes
12.15. Desafio: pesquisa de clientes
12.16. Desafio: edição e exclusão de clientes
13. Página mestre-detalhe: cadastro de pedidos
13.1. Implementando a pesquisa de pedidos
13.2. Implementando o cadastro de pedidos sem itens
13.3. Implementando a edição de pedidos
13.4. Calculando valores da capa do pedido
13.5. Adicionando itens ao pedido
13.6. Atualizando e removendo itens do pedido
13.7. Salvando os itens do pedido
13.8. Alertando a falta de produtos no estoque
13.9. Emitindo pedidos
13.10. Cancelando pedidos
13.11. Controlando status de pedidos
13.12. Desafio: inclusão de endereços de clientes
14. Envio de e-mail com JavaMail e CDI
14.1. Instalando o Simple-Mail no repositório local do Maven
14.2. Configurando o projeto para envio de e-mail com CDI
14.3. Enviando e-mail com dados do pedido
14.4. Template de e-mail com Apache Velocity
14.5. Serviços profissionais para envio de e-mails
14.6. Desafio: enviando e-mail
15. Segurança da aplicação com Spring Security
15.1. Introdução à autenticação e autorização
15.2. Configurando o Spring Security no projeto
15.3. Controlando acesso às páginas
15.4. Criando um provedor de autenticação customizado
15.5. Exibindo o nome do usuário logado
15.6. Criando uma página de login customizada
15.7. Resolvendo o problema com requisição Ajax
15.8. Protegendo componentes
15.9. Desafio: protegendo páginas e componentes
16. Gráficos com PrimeFaces
16.1. Incluindo um gráfico de linhas com dados aleatórios
16.2. Criando a consulta para o gráfico de linhas
16.3. Populando o gráfico com dados dinâmicos
16.4. Desafio: gráfico de pizza
17. Relatórios com JasperReports e iReport
17.1. Introdução ao JasperReports e iReport
17.2. Criando um relatório de pedidos emitidos
17.3. Melhorando a formatação do relatório
17.4. Chamando o relatório de uma página JSF
17.5. Desafio: criando um novo relatório
18. Fazendo deploy na nuvem da Amazon AWS
18.1. Criando uma instância no Amazon EC2
18.2. Criando uma instância de MySQL no Amazon RDS
18.3. Instalando o JDK e Tomcat no servidor de produção
18.4. Fazendo deploy da aplicação
18.5. Testando o sistema na nuvem
18.6. Conclusão e próximos passos
19. Apêndice: Migrando para Java EE 7
19.1. Introdução ao Java EE 7
19.2. Atualizando as bibliotecas do projeto
19.3. Migrando para o Tomcat 8
19.4. Fazendo o projeto rodar depois das atualizações
19.5. Resolvendo o erro no gráfico do PrimeFaces
19.6. Resolvendo o problema com diálogos que não abrem
19.7. Namespaces do Java EE 7
19.8. Usando DOCTYPE do HTML5
19.9. Nova anotação @ViewScoped para beans CDI
20. Apêndice: Mais recursos do PrimeFaces
20.1. Validando entradas em client-side
20.2. Customizando mensagens de validação client-side
20.3. Estendendo validação client-side com JSF
20.4. Usando Metadata na validação client-side
20.5. Estendendo validação client-side com Bean Validation
20.6. Configurando validação client-side com anotações terceiras
20.7. Implementando conversor client-side para Categoria
20.8. Hackeando o código de validação client-side do PrimeFaces
20.9. Abrindo páginas externas em diálogos com Dialog Framework
20.10. Implementando diálogo para seleção de clientes
20.11. Exception Handler do PrimeFaces
20.12. Controlando o foco de formulários
20.13. Exportando para Excel com DataExporter
20.14. Carregamento lazy em DataTable
20.15. Usando o tema do Bootstrap
20.16. Injeção de beans CDI em conversores JSF
20.17. Componente ViewAction
20.18. Configurando um pool de conexões com C3P0
20.19. Relatório com Jaspersoft Studio
20.20. Escopo ConversationScoped
Hibernate é o framework de mapeamento objeto-relacional (ORM) mais usado no mundo, que implementa JPA (Java Persistence API), que é a especificação e o padrão em Java para ORM.
É muito simples começar a usar JPA e Hibernate... algumas anotaçõezinhas e você já tem uma entidade sendo persistida.
Acontece que JPA não é tão fácil assim. Existem muitos detalhes e recursos que só conhece quem estuda!
Imagine você programando sistemas rápidos e confiáveis com JPA, sendo reconhecido pelos seus colegas, seu chefe e/ou seu cliente como um excelente desenvolvedor de software, porque seus sistemas realmente possuem qualidade...
E qualidade não só visual, mas qualidade interna, com entidades bem estruturadas, consultas bem feitas e usando os recursos mais avançados da tecnologia de forma correta, sempre que for necessário.
Este curso, com mais de 21 horas de videoaulas, vai te possibilitar tudo isso! Você vai aprender a criar a camada de persistência de forma profissional, usando recursos básicos e avançados de JPA e Hibernate.
A carga horária do curso é de 60 horas, que é o tempo mínimo que você deve reservar para se dedicar aos estudos. Essa carga horária é a que aparecerá no seu certificado também!
1. Introdução
1.1. Introdução ao curso de JPA 2 e Hibernate
1.2. O que é persistência?
1.3. Instalando o MySQL
1.4. Exercício: Instalando o MySQL no Linux Ubuntu
1.5. Criando as primeiras tabelas no MySQL
1.6. Mapeamento Objeto Relacional (ORM)
1.7. Relacionamento entre tabelas
1.8. Instalando e configurando o Eclipse
1.9. Download e configuração do Hibernate
1.10. Download e configuração do driver MySQL
2. Iniciando com JPA 2
2.1. Salvando o primeiro objeto no Banco de Dados
2.2. Primeira consulta com JPA
2.3. Removendo objeto do banco de dados
2.4. Atualizando o banco de dados
2.5. Fazendo seu primeiro CRUD
2.6. Entendendo um pouco mais da transação
2.7. A Java Persistence Query Language (JPQL)
2.8. Fechando o Entity Manager
3. Preparando o ambiente
3.1. Apresentando o projeto
3.2. Introdução ao Apache Tomcat
3.3. Introdução ao Apache Maven
3.4. Importando um projeto do GitHub
3.5. Introdução ao JSF 2 e Primefaces
3.6. Importante: Atualização do projeto
4. Mapeamento Objeto-Relacional (ORM)
4.1. Criando o projeto do curso
4.2. Cadastrando o primeiro objeto
4.3. Implementando a consulta e exclusão
4.4. Implementando a edição
4.5. Mapeando a Primary Key
4.6. Exercício: Mapeando a Primary Key
4.7. Identidade de um objeto - equals() e hashCode()
4.8. Relacionamento Muitos-Para-Um
4.9. Mais do mapeamento Muitos-Para-Um
4.10. Relacionamento Muitos-Para-Muitos
4.11. Mapeando Muitos-Para-Muitos
4.12. Relacionamento Um-Para-Um
4.13. Mapeamento Um-Para-Um
4.14. Relacionamento Um-Para-Muitos
4.15. Implementando mais uma consulta
4.16. Camada de persistência
5. Conceitos e mapeamentos avançados - parte 1
5.1. Inicialização Tardia (lazy-loading) e Ansiosa (eager-loading)
5.2. Mapeando enumerações
5.3. Mapeando datas
5.4. Mapeando herança com tabela única
5.5. Mapeando herança com Joined
5.6. Cadastro de funcionário
5.7. Adicionando mais uma enumeração
5.8. Implementando mais um Muitos-Para-Um
6. Trabalhando com consultas
6.1. Introdução a Java Persistence Query Language (JPQL)
6.2. Selecionando uma entidade de uma entidade
6.3. Filtrando resultados
6.4. Exercício: Filtrando resultados
6.5. Trabalhando com projeções
6.6. Fazendo Join entre entidades
6.7. Trabalhando com queries agregadas
6.8. Novos tipos de retorno
6.9. Passando parâmetros para queries
6.10. Passando datas como parâmetros
6.11. Trabalhando com Named Query
6.12. Entendendo a paginação
6.13. Implementando paginação
7. Conhecendo mais sobre o Entity Manager
7.1. Entendendo a Sessão e Transação no projeto
7.2. Usando JTA em um ambiente Java EE
7.3. Ciclo de vida e Estados dos objetos
7.4. Movendo os objetos pelo ciclo de vida
8. Consultas com Criteria
8.1. O que é API Criteria?
8.2. Consulta com Criteria
8.3. Projeções
8.4. Funções de agregação
8.5. Resultados complexos, tuplas e construtores
8.6. Funções
8.7. Ordenação de resultado
8.8. Join e Fetch
8.9. Subqueries
8.10. Metamodel
8.11. Mais consultas com Criteria
8.12. Implementando mais consultas
9. Gravação e exclusão em cascata
9.1. Gravação em cascata
9.2. Exercício: Gravação em cascata
9.3. Exclusão com Many-to-Many
9.4. Exclusão em cascata
9.5. Exclusão de objetos orfãos
9.6. Gravação e exclusão em cascata
10. Conceitos e mapeamentos avançados - parte 2
10.1. Mapeando chaves compostas
10.2. Mapeando objetos embutidos
10.3. Propriedades transientes
10.4. Coleções de tipos básicos
10.5. Coleções com objetos embutidos
10.6. Objetos grandes
10.7. Exibindo a imagem
11. Outros detalhes importantes
11.1. Schema e Catalog
11.2. Mais detalhes de @Column
11.3. Problema n+1
11.4. Cache de primeiro nível
11.5. Consultas nativas
11.6. Testes com jUnit, DBUnit e JIntegrity
11.7. Bean Validation
11.8. Aplicação Java EE no Glassfish
12. Hibernate Criteria
12.1. Introdução - Restrições between e eq
12.2. Função de agregação sum e restrições sql
12.3. Criando subselects
12.4. LazyLoading e o FetchMode
12.5. Transforme, ordene e agrupe a consulta
12.6. Navegando e filtrando nos relacionamentos
13. Novidades JPA 2.1
13.1. Conversores
13.2. Delete e Update com Criteria
13.3. Convertendo o resultado de queries nativas
13.4. Gerando o schema
13.5. Conclusão
14. Cache
14.1. O que é cache?
14.2. Tipos de cache do Hibernate
14.3. Cache de segundo nível
14.4. Cache de coleções
14.5. Cache de queries
14.6. Cache com Ehcache
14.7. Cache com Infinispan, JTA e no WildFly
15. Recursos avançados - parte 1
15.1. O pattern DAO
15.2. Criando um DAO Genérico
15.3. O pattern Repository
15.4. Datasources
15.5. Pool de conexões com C3P0
15.6. Trabalhando com procedures
15.7. Named Queries em arquivos externos
16. Recursos avançados - parte 2
16.1. OneToOne Lazy - Com anotações
16.2. OneToOne Lazy - Com instrumentação
16.3. Lock Otimista
16.4. Lock Pessimista
16.5. Introdução ao Multi-Tenancy
16.6. Multi-tenancy com bancos separados
16.7. Multi-tenancy com schemas diferentes
16.8. Engenharia reversa com Hibernate Tools
Design patterns (ou padrões de projetos) são soluções reutilizáveis e documentadas, que resolvem problemas comuns no contexto do design e arquitetura do software.
Você vai aprender a importância dos design patterns e no final, já vai conseguir identificar e solucionar problemas usando os principais padrões.
1. Design patterns
1.1. Introdução
1.2. Factory method
1.3. Desafio: Factory method
1.4. Builder
1.5. Desafio: Builder
1.6. Abstract factory
1.7. Desafio: Abstract factory
1.8. Proxy
1.9. Desafio: Proxy
1.10. Observer
1.11. Desafio: Observer
1.12. Dependency Injection
1.13. Desafio: Dependency Injection
1.14. Decorator
1.15. Desafio: Decorator
1.16. Strategy
1.17. Desafio: Strategy
TDD ou Test-Driven Development é uma prática usada no desenvolvimento de software onde a ideia é bem simples, crie os testes antes de escrever o código! Achou estranho? Então esse workshop com certeza é para você!
Uma das vantagens dessa prática é que seu sistema já nasce com testes automatizados, o que é muito bom! E também pode te ajudar a criar suas classes da melhor maneira possível.
1. Introdução
1.1. Introdução
1.2. Eu já faço testes... ou será que não?
1.3. Tipos de testes automatizados
1.4. A importância do Teste de Unidade
1.5. Usando o JUnit para seu primeiro teste
2. Test-Driven Development - TDD - Parte 1
2.1. Como começou o TDD
2.2. Aprenda o ciclo vermelho-verde-refatora
2.3. Um passo de cada vez - baby steps
2.4. Melhorando o Design de Classe
2.5. O que testar agora?
2.6. E se criarmos os testes depois do código?
3. O Código do Teste
3.1. O código do teste também é importante
3.2. Removendo duplicações
3.3. Defina bons nomes
3.4. O padrão Test Data Builders
3.5. Atenção as asserções
3.6. Testando exceções
4. Test-Driven Development - TDD - Parte 2
4.1. Identificando responsabilidades de uma classe
4.2. Refatorando para aumentar coesão
4.3. Usando Mock Objects
4.4. Facilite a evolução do software
4.5. Próximos passos - mais Mock
4.6. Conclusão
Este workshop tem como objetivo apresentar como gerar um boleto bancário, customizar o template e processar o arquivo de retorno do banco (instituição financeira real).
Você vai aprender a configurar seu projeto para gerar o boleto e ler o arquivo de retorno. Não somente em classes de testes, mas em um projeto web utilizando JSF e o Tomcat.
1. Boletos
1.1. O boleto bancário
1.2. Gerando seu primeiro boleto
1.3. Criando o projeto web com o Maven
1.4. Criando a página de nova cobrança
1.5. O modelo do banco de dados
1.6. Implementando o gerador do digito verificador
1.7. Salvando uma nova cobrança
1.8. Emitindo boleto na web
2. Arquivos de retorno
2.1. O arquivo de retorno
2.2. O que é o Texgit?
2.3. JavaBeans do arquivo de retorno
2.4. Carregando o arquivo de retorno
2.5. Upload do arquivo de retorno
2.6. Conclusão
PrimeFaces é uma biblioteca de componentes Open Source para JSF. Ele irá te ajudar a deixar seu sistema mais elegante, com funcionalidades que vão impressionar seu cliente.
Deixar seu sistema bonito e com funcionalidades poderosas é importante para todo software profissional, por isso conhecer PrimeFaces é vital para você.
Este workshop vai te mostrar como começar com PrimeFaces, configurá-lo, trabalhar com formulários, botões e ajax, além de mostrar na prática alguns dos seus incríveis componentes.
1. Introdução ao workshop
1.1. Introdução ao workshop
1.2. Ambiente de desenvolvimento
1.3. Introdução ao Maven
1.4. O que é PrimeFaces?
1.5. Adicionando PrimeFaces no projeto
1.6. Testando alguns componentes do PrimeFaces
1.7. Conhecendo o projeto do workshop
2. Mão na massa com PrimeFaces
2.1. Listando empresas com tabela de dados
2.2. Configurando paginação na tabela de dados
2.3. Ordenando a tabela de dados por coluna
2.4. Criando um template com Facelets
2.5. Adicionando uma barra de ferramentas
2.6. Abrindo um diálogo suspenso
2.7. Implementando o cadastro de empresa
2.8. Validações com Bean Validation
2.9. Atualizando componentes via Ajax programaticamente
2.10. Limpando o estado de componentes com ResetInput
2.11. Campo com máscara
2.12. Campo de entrada de data
2.13. Definindo o comando padrão
2.14. Selecionando linhas da tabela de dados
2.15. Implementando edição de registros
2.16. Implementando a exclusão de registros
2.17. Adicionando um diálogo de confirmação
2.18. Exportando tabela de dados para Excel
2.19. Conclusão
Este workshop tem como objetivo apresentar os conceitos principais de banco de dados, a linguagem SQL e o MySQL.
Você vai aprender a estruturar um banco de dados, criar tabelas e relacionamentos, fazer inserções, atualizações, exclusões e consultas.
1. Iniciando com banco de dados
1.1. O que é banco de dados?
1.2. Instalando o MySQL
1.3. Tipos de dados
1.4. A famosa chave primária
1.5. Schemas, inserindo e consultando dados
1.6. Desafio: Iniciando um novo projeto
2. Relacionamentos
2.1. Por que mais de uma tabela?
2.2. A chave estrangeira
2.3. Relacionamento muitos-para-um
2.4. Relacionamento um-para-muitos
2.5. Desafio: Relacionando tabelas
2.6. Relacionamento muitos-para-muitos
2.7. Desafio: Relacionamento muitos-para-muitos
3. Consultas
3.1. Cláusula where
3.2. Relacionando várias tabelas em uma consultas
3.3. Trabalhando com datas
3.4. Desafio: Relacionando tabelas
4. Alterações
4.1. Alterando sua tabela
4.2. Trabalhando com índices
4.3. Deletando dados
4.4. Atualizando dados
4.5. Desafio: Alterando suas tabelas
5. Consultas avançadas
5.1. Função sum
5.2. Agrupando dados com group by
5.3. Função avg
5.4. Desafio: Funções e group by
5.5. Ordenando com order by
5.6. Filtrando com like
5.7. Resultados únicos com distinct
5.8. Filtrando com in
5.9. Consultas dentro de consultas - subselect
5.10. Desafio: subselect
Sabe quando você está desenvolvendo ou trabalhando na manutenção de um projeto e precisa fazer uma alteração na estrutura de tabelas do banco de dados? Surge aquela dúvida: como faço para aplicar as mudanças em outros ambientes?
Geralmente, os desenvolvedores registram isso em um documento qualquer (quando lembram) e esperam replicar isso em outros ambientes (homologação, produção, etc).
O resultado a gente já sabe... scripts de manutenção (DDLs) desatualizados e que não funcionam.
Por isso você deve aprender Flyway, uma ferramenta de migração de banco de dados open-source.
Este workshop vai te mostrar os benefícios de usar essa ferramenta, e você aprenderá a configurar Flyway em um projeto real.
1. Usando o Flyway
1.1. O que é uma ferramenta de migração?
1.2. Por que Flyway?
1.3. Instalando Flyway para linha de comando
1.4. Desafio: criando a sua migração
1.5. Flyway com Maven
1.6. Desafio: Crie seu projeto com maven e Flyway
2. Dicas e truques para o dia a dia
2.1. Timestamps ao invés de integer
2.2. Permita execução fora de ordem
2.3. Crie migrações independentes
2.4. Desafio: Aplique as dicas e truques
Hibernate Search oferece suporte a pesquisa textual em entidades gerenciadas pelo Hibernate ORM.
Com essa ferramenta, você pode fazer pesquisas inteligentes (parecido com o Google) em suas entidades, através de palavras em textos, com ordenação por relevância e pesquisa por aproximação.
Este workshop vai te ensinar a usar o Hibernate Search em um projeto que usa JPA e Hibernate.
1. Hibernate Search
1.1. Introdução
1.2. O que é indexação?
1.3. Configurando seu projeto
1.4. Indexando e pesquisando
1.5. Modificando o analisador
1.6. Quando armazenar no índice
1.7. Conclusão
1.8. Desafio: Criando ou atualizando seu projeto
Perguntas Frequentes
Ainda não decidiu? Aqui estão algumas respostas para as perguntas mais comuns...
-
Existe outra forma de aprender Java sem investir dinheiro?
Sim, existe. Você pode aprender sozinho através de livros e materiais gratuitos na internet, mas você precisaria investir muito tempo e energia, e como você já sabe, nosso tempo é mais escasso e valioso do que dinheiro.
Nossos cursos têm conteúdos densos, práticos e organizados. Além de aprender tópicos avançados sobre os assuntos, você aprenderá também boas práticas e outras coisas que os livros não conseguem explorar.
-
O certificado é válido em universidades e empresas?
Sim! Você pode usar o certificado para apresentar em faculdades para comprovar horas de estudo ou em empresas ou órgãos públicos para comprovar aperfeiçoamento no assunto.
Nosso certificado possui o selo da Associação Brasileira de Educação a Distância.
-
As aulas são ao vivo ou gravadas?
Gravadas! Você pode assistir as aulas quantas vezes quiser, na hora que quiser, sem agendamentos. É só fazer login e começar a estudar.
-
Os cursos são em formato presencial ou tem alguma parte presencial?
Não. As aulas são 100% online, através de vídeos gravados.
-
Como funciona essa garantia?
Se por qualquer motivo você quiser desistir do curso dentro do período de 30 dias, você pode solicitar a devolução integral do seu dinheiro.
Simples assim. Sem letras miúdas!
-
Eu posso comprar algum dos bônus separadamente?
Não, os bônus não estão a venda.
-
Eu preciso da nota fiscal. Vocês emitem?
Claro! Emitimos notas fiscais para cada centavo que vendemos, mas se você quiser receber a nota fiscal em seu nome e CPF/CNPJ, envie um e-mail para contato@algaworks.com solicitando isso logo após a contratação do curso.
-
Quanto tempo demora para liberar meu acesso depois que eu fizer o pagamento?
Imediatamente após a aprovação de seu pagamento. É tudo automático!
Se você efetuar o pagamento por cartão de crédito, geralmente isso é instantâneo… você pode começar os estudos em menos de 1 minuto.
Caso prefira pagar por boleto bancário, a compensação demora de 1 a 2 dias úteis.
Corra! Escolha o Seu Pacote de Cursos Online Agora e Saia na Frente!

Ofertas encerrando em...

Pacote 1
Java e OO + JSF 2
(3 workshops de bônus)
Pacote 2
JSF 2 + Sistemas Comerciais Java EE
(3 workshops de bônus)
Pacote 3
Sistemas Comerciais Java EE + JPA/Hibernate
(3 workshops de bônus)
AlgaWorks Softwares, Treinamentos e Serviços Ltda
CNPJ: 10.687.566/0001-97
Telefone: (11) 2626-9415
