1. Introdução
Introdução ao curso
Conhecendo o projeto do curso
Como usar o suporte
Introdução ao protocolo HTTP
Introdução ao Maven
Instalando e configurando o Eclipse
Instalando o Apache Tomcat
Iniciando o Apache Tomcat dentro do Eclipse
Instalando e configurando o MySQL
Baixando os exemplos do GitHub e importando no Eclipse
2. Introdução ao Spring
O que é Spring?
Spring vs Java EE
O padrão MVC
O Framework Action Based
Action Based vs Component Based (Spring MVC vs JSF)
Ciclo de vida do Spring MVC
3. Spring MVC, Thymeleaf e Bean Validation
Como ler a documentação do Spring
Criando seu primeiro projeto Spring MVC
Conhecendo o Thymeleaf
Configurando a ViewResolver com Thymeleaf
Existe uma ordem que devo seguir? M, V e depois C?
Começando o cadastro de cerveja
O Controller
A View
O Model
Forward vs Redirect
Introdução a validação do formulário
Desafio: Validando a descrição
4. O Thymeleaf
O que é uma template engine?
Thymeleaf vs JSP
Thymeleaf Standard Expression syntax
Expression objects
Thymeleaf e Spring
Framework extensível
Plugin do Eclipse para Thymeleaf
Outros frameworks
5. Layout responsivo com Bootstrap e HTML5
Conhecendo os layouts do Bootstrap
Escolhendo um layout responsivo
Baixando e configurando o layout no projeto
Prototipando o cadastro da cerveja
Melhorando a organização com o Layout Dialect
Configurando máscara de dinheiro com jQuery
Prototipando o cadastro rápido de estilo
Prototipando o cadastro do cliente
Prototipando a tela de login
Desafio: prototipando o cadastro de usuário
Desafio: prototipando o cadastro de cidade
Desafio: prototipando o cadastro de estilo
6. Internacionalização
Introdução
O header "Accept-Language"
Configurando a internacionalização
Integrando com o Thymeleaf
Como testar diferentes idiomas?
Internacionalizando as mensagens de validação
Desafio: internacionalizando o projeto
7. Logging de mensagens
Introdução
Configurando o SLF4J com Log4j 2
Configurando os níveis de logs
8. Injeção de dependência com Spring IoC
Introdução
Aprendendo sobre o contexto do Spring
Regras de nomeação dos beans
Injeção de dependência
Pontos de injeção de dependência
O @Autowired
Escopo dos beans
9. JPA, Hibernate e Flyway
Introdução
Visão geral do JPQL
Visão geral do Hibernate Criteria
Mapeamento das entidades do projeto
Migrando o banco de dados com Flyway
10. Spring Data JPA e Padrão Repository
Introdução
Configurando o projeto
O JPA Repository
Criando queries sem escrevê-la
Repository vs DAO
11. Validação customizada e conversores
Validação customizada do SKU com Bean Validation
Convertendo valores numéricos
Convertendo datas do Java 8
12. Tratando exceções, callbacks JPA e Ajax
Adicionando valores na tela
Adicionando o combo do estilo - many-to-one
Salvando o estilo com Ajax: diálogo de cadastro rápido
Tratando exceções com ExceptionHandler
Mantendo selecionado o novo estilo - cadastro rápido
Callbacks JPA - Salvando SKU com caixa alta
Resolvendo o problema de acentuação
Desafio: Implementando o cadastro de estilos
13. Modularizando o JavaScript
Introdução
O Module Pattern
Melhorando o código da máscara de dinheiro
Eventos e binds para o diálogo de cadastro do estilo
14. Estendendo o Thymeleaf
Criando o dialeto Brewer
Processadores do Thymeleaf
Componente para mensagens
Componente para formgroup
Componente para formatação numérica
15. Transação, datasource e pool de conexões
Introdução ao datasource
O que é pool de conexões?
Conhecendo o c3p0
Configurando o Tomcat com o datasource e pool
Entendendo a transação no projeto
É possível usar OpenSessionInView?
16. Upload, redimensionamento da foto e retorno assíncrono
Conhecendo o UIKit
Prototipando o upload da foto com drag and drop
Upload da foto com Ajax
Aplicando migração da foto na cerveja
Implementando um storage local
Salvando a imagem temporária
Redimensionando a imagem - salvando o thumbnail
Melhorando a disponibilidade da aplicação - retorno assíncrono
17. Pesquisa, paginação e ordenação
Prototipando a pesquisa da cerveja
Implementando a pesquisa
Filtrando e resolvendo o problema do n+1
Paginação eficiente
Implementando paginação na pesquisa de cervejas
Implementando botões next e previous
Criando utilitário para paginação
Ordenação dinâmica
Ordenando a pesquisa por SKU ou nome
Desafio: Pesquisa de estilos
Desafio: Componente Thymeleaf para incluir paginação
18. Cadastro com máscaras e combo dependente
Configurando máscara de telefone com jQuery
Configurando máscara de CPF/CNPJ com jQuery
Aplicando migração de estado e cidade
Conhecendo o Handlebars
Selecionado cidades pelo estado com Ajax
Salvando CPF/CNPJ sem formatação
Desafio: Configurando máscara de CEP com jQuery
Desafio: Implementando a pesquisa de clientes
19. Otimizando a performance com cache
Cacheando a busca de cidades por estado
Invalidando o cache por tempo
Cadastrando uma nova cidade
Invalidando o cache no cadastro da cidade
Cache profissional com Guava Cache do Google
20. Cadastro com relacionamento ManyToMany
Planejando o modelo de permissões e grupos
Criando migração de usuários
Prototipando o cadastro do usuário
Componente calendário
Componente Switch - Ativo/Inativo
Validador customizado para confirmação de senha
Salvando a senha criptografada com BCrypt
21. Segurança com Spring Security
Introdução à autenticação e autorização
Configurando o Spring Security no projeto
Ignorando a validação nos recursos estáticos
Autenticando usuário e senha
Carregando as permissões dos grupos do usuário
Customizando a tela de login
Adicionando o logout
Adicionando tela de acesso negado
Problema de acentuação voltou?
Entendendo o CSRF
Configurando o CSRF no JavaScript
Exibindo o usuário logado
Restringindo o acesso às páginas
Escondendo componentes de usuários sem permissão
22. Páginas de erros customizadas
Criando página 403 - Acesso negado
Criando página 404 - Não encontrado
Criando página 500 - Erro no servidor
23. Pesquisa com filtros avançados e multi-seleção de linhas
Protótipo da pesquisa de usuários
Trabalhando no filtro por grupo
Multi-seleção de linhas - ativando/desativando vários usuários
Desafio: Paginação da pesquisa de usuários
24. Diálogo e autocomplete
Prototipando cadastro de nova venda
Prototipando pesquisa rápida de clientes (modal)
Implementando pesquisa rápida de clientes
Conhecendo o componente EasyAutocomplete
Renderizando cervejas no autocomplete
Prototipando itens adicionados na venda
25. Página mestre-detalhe, escopo de sessão e testes unitários
Como funciona o escopo de sessão?
Mantendo os itens da venda no servidor
Introdução aos testes unitários
Testando a tabela de itens
Renderizando HTML retornado do Ajax
Implementando atualização da quantidade de itens
Prototipando remoção de itens da venda
Removendo itens da venda
Atualizando valor total
Criando validador customizado do Spring
Salvando no banco de dados
Salvando e emitindo
Desafio: Implementando a pesquisa das vendas
26. Envio de e-mails e chamadas assíncronas
Configuração do servidor de e-mail
Configuração de chamadas assíncronas
Salvando e enviando por e-mail
27. Implementando edição e exclusão
Implementando a edição de usuário
Implementando a edição de cliente
Implementando a edição de cerveja
Implementando a edição da venda
Implementando a exclusão de cerveja
Implementando o cancelamento da venda
Desafio: Implementando a edição de estilo
Desafio: Implementando a exclusão de usuário
Desafio: Implementando a exclusão de cliente
Desafio: Implementando a exclusão de estilo
28. Dashboard - consultas avançadas e gráficos
Prototipando o dashboard
Box de vendas no ano, vendas no mês e ticket médio
Conhecendo o Chartjs
Consultas em arquivos externos
Gráfico - Vendas por mês
Desafio: Box total de clientes
Desafio: Box valor total
Desafio: Box quantidade de itens no estoque
Desafio: Gráfico - Vendas por nacionalidade
29. Deploy em produção na nuvem
Escolhendo o fornecedor
Criando uma instância do MySQL
Configuração externa para ambiente de produção
Próximos passos
Conclusão
Título: Sistemas Web com Spring, JavaScript e Bootstrap
Nome do Autor: Algaworks
Gênero: Desenvolvimento WEB
Ano de Lançamento: 2017
Editora: Algaworks
Nº de Páginas/Horas: Várias
Tamanho: 5.34GB
Formato: MP4
Idioma: Português
Como Usar .UVA Login Registre-se 13 comentários
Introdução ao curso
Conhecendo o projeto do curso
Como usar o suporte
Introdução ao protocolo HTTP
Introdução ao Maven
Instalando e configurando o Eclipse
Instalando o Apache Tomcat
Iniciando o Apache Tomcat dentro do Eclipse
Instalando e configurando o MySQL
Baixando os exemplos do GitHub e importando no Eclipse
2. Introdução ao Spring
O que é Spring?
Spring vs Java EE
O padrão MVC
O Framework Action Based
Action Based vs Component Based (Spring MVC vs JSF)
Ciclo de vida do Spring MVC
3. Spring MVC, Thymeleaf e Bean Validation
Como ler a documentação do Spring
Criando seu primeiro projeto Spring MVC
Conhecendo o Thymeleaf
Configurando a ViewResolver com Thymeleaf
Existe uma ordem que devo seguir? M, V e depois C?
Começando o cadastro de cerveja
O Controller
A View
O Model
Forward vs Redirect
Introdução a validação do formulário
Desafio: Validando a descrição
4. O Thymeleaf
O que é uma template engine?
Thymeleaf vs JSP
Thymeleaf Standard Expression syntax
Expression objects
Thymeleaf e Spring
Framework extensível
Plugin do Eclipse para Thymeleaf
Outros frameworks
5. Layout responsivo com Bootstrap e HTML5
Conhecendo os layouts do Bootstrap
Escolhendo um layout responsivo
Baixando e configurando o layout no projeto
Prototipando o cadastro da cerveja
Melhorando a organização com o Layout Dialect
Configurando máscara de dinheiro com jQuery
Prototipando o cadastro rápido de estilo
Prototipando o cadastro do cliente
Prototipando a tela de login
Desafio: prototipando o cadastro de usuário
Desafio: prototipando o cadastro de cidade
Desafio: prototipando o cadastro de estilo
6. Internacionalização
Introdução
O header "Accept-Language"
Configurando a internacionalização
Integrando com o Thymeleaf
Como testar diferentes idiomas?
Internacionalizando as mensagens de validação
Desafio: internacionalizando o projeto
7. Logging de mensagens
Introdução
Configurando o SLF4J com Log4j 2
Configurando os níveis de logs
8. Injeção de dependência com Spring IoC
Introdução
Aprendendo sobre o contexto do Spring
Regras de nomeação dos beans
Injeção de dependência
Pontos de injeção de dependência
O @Autowired
Escopo dos beans
9. JPA, Hibernate e Flyway
Introdução
Visão geral do JPQL
Visão geral do Hibernate Criteria
Mapeamento das entidades do projeto
Migrando o banco de dados com Flyway
10. Spring Data JPA e Padrão Repository
Introdução
Configurando o projeto
O JPA Repository
Criando queries sem escrevê-la
Repository vs DAO
11. Validação customizada e conversores
Validação customizada do SKU com Bean Validation
Convertendo valores numéricos
Convertendo datas do Java 8
12. Tratando exceções, callbacks JPA e Ajax
Adicionando valores na tela
Adicionando o combo do estilo - many-to-one
Salvando o estilo com Ajax: diálogo de cadastro rápido
Tratando exceções com ExceptionHandler
Mantendo selecionado o novo estilo - cadastro rápido
Callbacks JPA - Salvando SKU com caixa alta
Resolvendo o problema de acentuação
Desafio: Implementando o cadastro de estilos
13. Modularizando o JavaScript
Introdução
O Module Pattern
Melhorando o código da máscara de dinheiro
Eventos e binds para o diálogo de cadastro do estilo
14. Estendendo o Thymeleaf
Criando o dialeto Brewer
Processadores do Thymeleaf
Componente para mensagens
Componente para formgroup
Componente para formatação numérica
15. Transação, datasource e pool de conexões
Introdução ao datasource
O que é pool de conexões?
Conhecendo o c3p0
Configurando o Tomcat com o datasource e pool
Entendendo a transação no projeto
É possível usar OpenSessionInView?
16. Upload, redimensionamento da foto e retorno assíncrono
Conhecendo o UIKit
Prototipando o upload da foto com drag and drop
Upload da foto com Ajax
Aplicando migração da foto na cerveja
Implementando um storage local
Salvando a imagem temporária
Redimensionando a imagem - salvando o thumbnail
Melhorando a disponibilidade da aplicação - retorno assíncrono
17. Pesquisa, paginação e ordenação
Prototipando a pesquisa da cerveja
Implementando a pesquisa
Filtrando e resolvendo o problema do n+1
Paginação eficiente
Implementando paginação na pesquisa de cervejas
Implementando botões next e previous
Criando utilitário para paginação
Ordenação dinâmica
Ordenando a pesquisa por SKU ou nome
Desafio: Pesquisa de estilos
Desafio: Componente Thymeleaf para incluir paginação
18. Cadastro com máscaras e combo dependente
Configurando máscara de telefone com jQuery
Configurando máscara de CPF/CNPJ com jQuery
Aplicando migração de estado e cidade
Conhecendo o Handlebars
Selecionado cidades pelo estado com Ajax
Salvando CPF/CNPJ sem formatação
Desafio: Configurando máscara de CEP com jQuery
Desafio: Implementando a pesquisa de clientes
19. Otimizando a performance com cache
Cacheando a busca de cidades por estado
Invalidando o cache por tempo
Cadastrando uma nova cidade
Invalidando o cache no cadastro da cidade
Cache profissional com Guava Cache do Google
20. Cadastro com relacionamento ManyToMany
Planejando o modelo de permissões e grupos
Criando migração de usuários
Prototipando o cadastro do usuário
Componente calendário
Componente Switch - Ativo/Inativo
Validador customizado para confirmação de senha
Salvando a senha criptografada com BCrypt
21. Segurança com Spring Security
Introdução à autenticação e autorização
Configurando o Spring Security no projeto
Ignorando a validação nos recursos estáticos
Autenticando usuário e senha
Carregando as permissões dos grupos do usuário
Customizando a tela de login
Adicionando o logout
Adicionando tela de acesso negado
Problema de acentuação voltou?
Entendendo o CSRF
Configurando o CSRF no JavaScript
Exibindo o usuário logado
Restringindo o acesso às páginas
Escondendo componentes de usuários sem permissão
22. Páginas de erros customizadas
Criando página 403 - Acesso negado
Criando página 404 - Não encontrado
Criando página 500 - Erro no servidor
23. Pesquisa com filtros avançados e multi-seleção de linhas
Protótipo da pesquisa de usuários
Trabalhando no filtro por grupo
Multi-seleção de linhas - ativando/desativando vários usuários
Desafio: Paginação da pesquisa de usuários
24. Diálogo e autocomplete
Prototipando cadastro de nova venda
Prototipando pesquisa rápida de clientes (modal)
Implementando pesquisa rápida de clientes
Conhecendo o componente EasyAutocomplete
Renderizando cervejas no autocomplete
Prototipando itens adicionados na venda
25. Página mestre-detalhe, escopo de sessão e testes unitários
Como funciona o escopo de sessão?
Mantendo os itens da venda no servidor
Introdução aos testes unitários
Testando a tabela de itens
Renderizando HTML retornado do Ajax
Implementando atualização da quantidade de itens
Prototipando remoção de itens da venda
Removendo itens da venda
Atualizando valor total
Criando validador customizado do Spring
Salvando no banco de dados
Salvando e emitindo
Desafio: Implementando a pesquisa das vendas
26. Envio de e-mails e chamadas assíncronas
Configuração do servidor de e-mail
Configuração de chamadas assíncronas
Salvando e enviando por e-mail
27. Implementando edição e exclusão
Implementando a edição de usuário
Implementando a edição de cliente
Implementando a edição de cerveja
Implementando a edição da venda
Implementando a exclusão de cerveja
Implementando o cancelamento da venda
Desafio: Implementando a edição de estilo
Desafio: Implementando a exclusão de usuário
Desafio: Implementando a exclusão de cliente
Desafio: Implementando a exclusão de estilo
28. Dashboard - consultas avançadas e gráficos
Prototipando o dashboard
Box de vendas no ano, vendas no mês e ticket médio
Conhecendo o Chartjs
Consultas em arquivos externos
Gráfico - Vendas por mês
Desafio: Box total de clientes
Desafio: Box valor total
Desafio: Box quantidade de itens no estoque
Desafio: Gráfico - Vendas por nacionalidade
29. Deploy em produção na nuvem
Escolhendo o fornecedor
Criando uma instância do MySQL
Configuração externa para ambiente de produção
Próximos passos
Conclusão
Título: Sistemas Web com Spring, JavaScript e Bootstrap
Nome do Autor: Algaworks
Gênero: Desenvolvimento WEB
Ano de Lançamento: 2017
Editora: Algaworks
Nº de Páginas/Horas: Várias
Tamanho: 5.34GB
Formato: MP4
Idioma: Português
Como Usar .UVA Login Registre-se 13 comentários