Giter Site home page Giter Site logo

udemy-java-complete-course's Introduction

Objetivos do curso

  • Dominar Programação Orientada a Objetos e linguagem Java
  • Criar soluções flexíveis, extensíveis e testáveis
  • Adquirir a base sólida teórica e prática para ser um desenvolvedor Java de sucesso
  • Aplicar o conhecimento de orientação a objetos na construção de soluções para problemas reais
  • Compreender diagramas de classe UML, tanto de entidades quanto de serviços
  • Desenvolver aplicações para desktop com interface gráfica
  • Construir web services usando Spring Boot e boas práticas
  • Acessar banco de dados relacionais com comandos SQL (JDBC) e também com ORM (JPA/Hibernate)
  • Acessar banco de dados NoSQL

Instrutor

Linkedin Prof. Dr. Nelio Alves

Outros cursos do instrutor

Carga horária

54h de videos-aula

  • exercícios - 33h
  • projetos - 47h

Realizado entre Agosto e Dezembro de 2022

Conteúdo do curso

Seção 1: Introdução - 1 aula - 17m

  1. Introdução: visão geral do curso

Seção 2: Conceitos de programação - 7 aulas - 24m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Algoritmo, Automação, Programa de Computador
  4. O que é preciso para se fazer um programa de computador
  5. Linguagem de programação, léxica, sintática
  6. IDE - Ambiente Integrado de Desenvolvimento
  7. Compilação, interpretação, código fonte, código objeto, máquina virtual

Seção 3: Introdução à linguagem Java - 9 aulas - 41m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Entendendo as versões do Java
  4. Histórico e edições de Java
  5. JDK / JVM - Máquina Virtual do Java
  6. Estrutura de uma aplicação Java
  7. Instalando o Java JDK
  8. Instalando o Eclipse
  9. Primeiro programa em Java no Eclipse

Seção 4: Estrutura sequencial - 12 aulas - 1h15m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Expressões aritméticas
  4. Variáveis e tipos básicos em Java
  5. As três operações básicas de programação
  6. Saída de dados em Java
  7. Processamento de dados em Java, Casting
  8. Entrada de dados em Java - Parte 1
  9. Entrada de dados em Java - Parte 2
  10. Funções matemáticas em Java
  11. AVISO: exercícios para iniciantes PARTE 1
  12. Exercícios para Iniciantes - PARTE 1

Seção 5: Estrutura condicional - 11 aulas - 54m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Expressões comparativas
  4. Expressões lógicas
  5. Estrutura condicional (if-else)
  6. AVISO: exercícios para iniciantes PARTE 2
  7. Exercícios para Iniciantes - PARTE 2
  8. Sintaxe opcional - operadores de atribuição cumulativa
  9. Sintaxe opcional - switch-case
  10. Expressão condicional ternária
  11. Escopo e inicialização

Seção 6: Estrutura repetitivas - 14h - 1h10m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Como utilizar o DEBUG no Eclipse (execução passo a passo)
  4. Estrutura repetitiva enquanto (while)
  5. Teste de mesa com estrutura repetitiva enquanto
  6. Exercícios de teste de mesa com while
  7. AVISO: exercícios para iniciantes PARTE 3
  8. Exercícios para Iniciantes - PARTE 3
  9. Estrutura repetitiva para (for)
  10. Teste de mesa com estrutura repetitiva for
  11. Exercícios de testes de mesa com for
  12. AVISO: exercícios para iniciantes PARTE 4
  13. Exercícios para iniciantes PARTE 4
  14. Estrutura repetitiva faça-enquanto (do-while)

Seção 7: Outros tópicos básicos sobre Java - 6 aulas - 49m

  1. Material de apoio do capítulo
  2. Restrições e convenções para nomes
  3. Operadores bitwise
  4. Funções interessantes para String
  5. Comentários em Java (básico)
  6. Funções (sintaxe)

Seção 8: Introdução à Programação Orientada a Objetos - 12 aulas - 1h29m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Resolvendo um problema sem orientação a objetos
  4. Criando uma classe com três atributos para representar melhor o triângulo
  5. Criando um método para obtermos os benefícios de reaproveitamento e delegação
  6. Começando a resolver um segundo problema exemplo
  7. Object e toString
  8. Finalizando o programa
  9. Exercícios de fixação
  10. Membros estáticos - Parte 1
  11. Membros estáticos - Parte 2
  12. Exercício de fixação

Seção 9: Construtores, palavra this, sobrecarga, encapsulamento - 11 aulas - 1h16m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Construtores
  4. Palavra this
  5. Sobrecarga
  6. Encapsulamento
  7. Gerando automaticamente construtores, getters e setters com Eclipse
  8. Modificadores de acesso
  9. Exercício de fixação
  10. Correção do exercício de fixação - Parte 1
  11. Correção do exercício de fixação - Parte 2

Seção 10: Comportamento de memória, arrays, listas - 20 aulas - 2h40m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Tipos referência vs. tipos valor
  4. Desalocação de memória - garbage collector e escopo local
  5. Vetores - Parte 1
  6. Vetores - Parte 2
  7. Exercícios de fixação sobre vetores
  8. Correção do exercício negativos
  9. Correção do exercício alturas
  10. Desafio sobre vetores (pensionato)
  11. Correção do desafio sobre vetores (pensionato)
  12. Boxing, unboxing e wrapper classes
  13. Laço for each
  14. Listas - Parte 1
  15. Listas - Parte 2
  16. Exercício proposto
  17. Correção em vídeo do exercício proposto
  18. Matrizes
  19. Exercício resolvido
  20. Exercício proposto

Seção 11: Tópicos especiais em Java: data-hora - 13 aulas - 1h49m

  1. Boas-vindas e avisos
  2. Material de apoio do capítulo
  3. Introdução a data-hora e duração
  4. Entendendo timezone (fuso horário)
  5. Padrão ISO 8601
  6. Operações importantes com data-hora
  7. Instanciando data-hora em Java
  8. Convertendo data-hora para texto
  9. Convertendo data-hora global para local
  10. Cálculos com data-hora
  11. Aviso: próximas duas aulas são sobre Date e Calendar
  12. Trabalhando com datas - Date
  13. Manipulando um Date com Calendar

Seção 12: Bônus - nivelamento sobre Git e Github - 27 aulas - 2h15m

  1. Apresentação do bônus Git e Github
  2. Material de apoio do capítulo
  3. Introdução ao Git e Github
  4. Repositório local e repositório remoto
  5. Instalação do Git no Windows
  6. Configurando sua identificação
  7. Mostrar arquivos ocultos e extensões
  8. Configurar chave SSH no Github
  9. Salvando primeira versão de um projeto no Github
  10. Salvando um novo commit
  11. Demo - clonar e modificar um projeto
  12. Git log para verificar histórico de versões
  13. Entendendo git status e stage
  14. Git diff e recurso source control do VS Code
  15. Git checkout
  16. Arquivo .gitignore
  17. Visão geral da segunda parte
  18. Removendo arquivos da área de stage
  19. Desfazendo modificações não salvas
  20. O que fazer quando abre o editor VIM
  21. Deletando último commit sem deletar modificações nos arquivos
  22. Deletando commits e também modificações nos arquivos
  23. Como atualizar o repositório local em relação ao remoto
  24. Como resolver push rejeitado por históricos diferentes
  25. Resolvendo pull com conflito
  26. Como sobrescrever um histórico no Github
  27. Como apontar o projeto para outro repositório remoto

Seção 13: Enumerações, composição - 10 aulas - 1h28m

  1. Visão geral do capítulo Enumerações e Composição
  2. Material de apoio do capítulo
  3. Enumerações
  4. Vamos falar um pouco sobre design
  5. Composição
  6. Exercício resolvido 1 - Parte 1
  7. Exercício resolvido 1 - Parte 2
  8. Exercício resolvido 2 (demo StringBuilder)
  9. Exercício de fixação
  10. Correção em vídeo do exercício de fixação

Seção 14: Herança e polimorfismo - 13 aulas - 2h1m

  1. Visão geral do capítulo Herança e Polimorfismo
  2. Material de apoio do capítulo
  3. Herança
  4. Upcasting e downcasting
  5. Sobreposição, palavra super, anotação @Override
  6. Classes e métodos final
  7. Introdução ao polimorfismo
  8. Exercício resolvido
  9. Exercício de fixação
  10. Classes abstratas
  11. Métodos abstratos
  12. Exercício de fixação
  13. Correção em vídeo do exercício de fixação

Seção 15: Tratamento de exceções - 12 aulas - 1h46m

  1. Visão geral do capítulo Tratamento de Exceções
  2. Material de apoio do capítulo
  3. Discussão inicial sobre exceções
  4. Estrutura try-catch
  5. Pilha de chamadas de métodos (stack trace)
  6. Bloco finally
  7. Criando exceções personalizadas
  8. Primeira solução - muito ruim
  9. Segunda solução - ruim
  10. Terceira solução - boa
  11. Exercício de fixação
  12. Correção do exercício de fixação

Seção 16: Projeto: Sistema jogo de xadrez - 33 aulas - 5h45m

Repositório do projeto: chess-system-java

  1. Visão geral do capítulo Sistema Jogo de Xadrez
  2. Material de apoio do capítulo
  3. Criando projeto e repositório Git
  4. Primeira classe - Position
  5. Começando a implementar Board e Piece
  6. Camada Chess e imprimindo o tabuleiro
  7. Colocando peças no tabuleiro
  8. BoardException e programação defensiva
  9. ChessException e ChessPosition
  10. Pequena melhoria na impressão do tabuleiro
  11. Movendo peças
  12. Tratando exceções e limpando a tela
  13. Movimentos possíveis de uma peça
  14. Implementando movimentos possíveis da Torre
  15. Imprimindo os movimentos possíveis
  16. Implementando os movimentos possíveis do Rei
  17. Trocando de jogador a cada turno
  18. Manipulando peças capturadas
  19. Lógica de xeque - PARTE 1
  20. Lógica de xeque - PARTE 2
  21. Lógica de xequemate
  22. Contagem de movimentos das peças
  23. Peão
  24. Bispo
  25. Cavalo
  26. Rainha
  27. Jogada especial Roque - PARTE 1
  28. Jogada especial Roque - PARTE 2
  29. Jogada especial en passant - PARTE 1
  30. Jogada especial en passant - PARTE 2
  31. Jogada especial promoção
  32. Atualização de compliance
  33. Dando um tratamento melhor para promoção

Seção 17: Trabalhando com arquivos - 10 aulas - 39m

  1. Visão geral do capítulo Trabalhando com Arquivos
  2. Material de apoio do capítulo
  3. Lendo arquivo texto com classes File e Scanner
  4. FileReader e BufferedReader
  5. Bloco try-with-resources
  6. FileWriter e BufferedWriter
  7. Manipulando pastas com File
  8. Informações do caminho do arquivo
  9. Exercício proposto
  10. Correção em vídeo do exercício proposto

Seção 18: Interfaces - 14 aulas - 3h11m

  1. Visão geral do capítulo Interfaces
  2. Material de apoio do capítulo
  3. Interfaces
  4. Solução do problema - PARTE 1
  5. Solução do problema - PARTE 2 (sem interface)
  6. Solução do problema - PARTE 3
  7. Inversão de controle e injeção de dependência
  8. Exercício de fixação
  9. Correção do exercício de fixação PARTE 1
  10. Correção do exercício de fixação PARTE 2
  11. Herdar vs. cumprir contrato
  12. Herança múltipla e o problema do diamante
  13. Interface Comparable
  14. Default methods

Seção 19: Generics, Set, Map - 14 aulas - 2h7m

  1. Visão geral do capítulo Generics, Set, Map
  2. Material de apoio do capítulo
  3. Introdução aos Generics
  4. Genéricos delimitados
  5. Tipos curinga
  6. Curingas delimitados
  7. HashCode e Equals
  8. Set
  9. Como Set testa igualdade
  10. Como TreeSet compara os elementos
  11. Exercício resolvido (Set)
  12. Exercício de fixação (Set)
  13. Map
  14. Exercício de fixação (Map)

Seção 20: Programação funcional e expressões lambda - 13 aulas - 2h4m

  1. Visão geral do capítulo Programação Funcional e Expressões Lambda
  2. Material de apoio do capítulo
  3. Uma experiência com Comparator
  4. Programação funcional e cálculo lambda
  5. Interface funcional
  6. Predicate
  7. Consumer
  8. Function
  9. Criando funções que recebem funções como parâmetro
  10. Stream
  11. Pipeline (demo)
  12. Exercício resolvido (stream)
  13. Exercício de fixação

Seção 21: Acesso a banco de dados com JDBC - 26 aulas - 3h52m

Repositório do projeto: demo-dao-jdbc-java

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Visão geral do JDBC
  4. Nivelamento: Álgebra Relacional e SQL
  5. Instalando o MySQL
  6. Preparação do primeiro projeto no Eclipse - PARTE 1
  7. Preparação do primeiro projeto no Eclipse - PARTE 2
  8. Demo - recuperar dados
  9. Demo - inserir dados
  10. Demo - atualizar dados
  11. Demo - deletar dados
  12. Demo - transações
  13. Padrão de projeto DAO (Data Access Object)
  14. PROJETO - criando projeto e repositório Git
  15. Classe Department
  16. Classe Seller
  17. Interfaces DepartmentDao e SellerDao
  18. SellerDaoJDBC e DaoFactory
  19. Implementando findById
  20. Reutilizando a instanciação
  21. Implementando findByDepartment
  22. Implementando findAll
  23. Implementando insert
  24. Implementando update
  25. Implementando delete
  26. Implementação e teste do DepartmentDao

Seção 22: Java EE - Mapeamento objeto-relacional com JPA / Hibernate - 6 aulas - 54m

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Instalação do STS e Postman
  4. Nivelamento JPA / Hibernate - PARTE 1
  5. Nivelamento JPA / Hibernate - PARTE 2 (Trabalhando com Maven)
  6. Nivelamento JPA / Hibernate - PARTE 3

Seção 23: Projeto: Web services com Spring Boot e JPA / Hibernate - 34 aulas - 5h12m

Repositório do projeto: workshop-springboot3-jpa

  1. Visão geral do capítulo
  2. AVISO: sobre projeto atualizado
  3. Material de apoio do capítulo
  4. Criação do projeto
  5. Entidade User e seu resource
  6. Banco de dados H2, test profile, JPA
  7. JPA repository, injeção de dependência, database seeding
  8. Camada de serviço, registro de componentes
  9. Entidade Pedido. Datas com Instant e padrão ISO 8601 - PARTE 1
  10. Entidade Pedido. Datas com Instant e padrão ISO 8601 - PARTE 2
  11. Enum OrderStatus
  12. Entidade Category
  13. Entidade Product
  14. Associação muitos-para-muitos com JoinTable
  15. Entidade OrderItem. Associação muitos-para-muitos com dados extras - PARTE 1
  16. Entidade OrderItem. Associação muitos-para-muitos com dados extras - PARTE 2
  17. Associação muitos para muitos entre Product e OrderItem
  18. Entidade Payment, associação um para um
  19. Métodos subtotal e total
  20. Inserção de User
  21. Deleção de User
  22. Atualização de User
  23. Tratamento de exceção - findById
  24. Tratamento de exceção - delete
  25. Tratamento de exceção - update
  26. AVISO: implantação no Heroku
  27. Criando app Heroku e provisionando banco PostgreSQL
  28. Instalação do PostgreSQL
  29. Profile dev
  30. Obtendo script SQL a partir do PostgreSQL local
  31. Executando script SQL no servidor remoto
  32. Instalando o Heroku CLI
  33. Deploy do sistema no Heroku
  34. Testando o sistema em produção

Seção 24: Projeto: API Restful com Spring Boot e banco MongoDB (web services + NoSQL) - 26 aulas - 3h30m

Repositório do projeto: workshop-springboot3-mongodb

  1. Visão geral do capítulo Projeto MongoDB com Spring Boot
  2. Material de apoio do capítulo
  3. Instalação do STS e Postman
  4. Instalação do MongoDB
  5. Instalação do Mongo Compass
  6. Nivelamento sobre NoSQL e MongoDB - PARTE 1
  7. Nivelamento sobre NoSQL e MongoDB - PARTE 2
  8. Primeiro commit - Projeto criado
  9. Entity User e REST funcionando
  10. Conectando ao MongoDB com repository e service
  11. Operação de instanciação da base de dados
  12. Usando padrão DTO para retornar usuários
  13. Obtendo um usuário por id
  14. Inserção de usuário com POST
  15. Deleção de usuário com DELETE
  16. Atualização de usuário com PUT
  17. Discutindo o design do modelo de domínio
  18. Criando entity Post com User aninhado
  19. Projeção dos dados do autor com DTO
  20. Referenciando os posts do usuário
  21. Endpoint para retornar os posts de um usuário
  22. Obtendo um post por id
  23. Acrescentando comentários aos posts
  24. Consulta simples com query methods
  25. Consulta simples com @Query
  26. Consulta com vários critérios

Seção 25: Interface gráfica com JavaFX - 43 aulas - 6h48m

Repositório do projeto: workshop-javafx-jdbc

  1. Visão geral do capítulo
  2. Material de apoio do capítulo
  3. Visão Geral do JavaFX
  4. Instalação do Scene Builder
  5. Preparação do Eclipse
  6. Criando um novo projeto JavaFX no Eclipse
  7. Testando o FXML
  8. Tratando eventos com JavaFX
  9. Mostrando Alert
  10. Usando TextField e Label (app para calcular soma)
  11. Limitações para TextField, interface Initializable
  12. ComboBox
  13. Visão geral dos principais containers de layout
  14. PARTE 2: Projeto Aplicação Desktop JavaFX
  15. Criação do projeto
  16. Tela MainView
  17. MainView design
  18. MainView controller
  19. About view
  20. DepartmentList view design
  21. DepartmentList controller
  22. DepartmentService
  23. Ação de inicialização como parâmetro (Consumer)
  24. Adicionando acesso ao banco de dados
  25. DepartmentForm (dialog) design
  26. DepartmentForm controller
  27. Passando um objeto Department para o formulário
  28. Salvando um novo departamento
  29. Padrão de projeto Observer para atualizar a TableView
  30. Validação de dados e ValidationException
  31. Atualizando departamento
  32. Deletando departamento
  33. Deletando pasta .settings
  34. SellerList
  35. SellerList Tableview
  36. SellerForm
  37. TextField & DatePicker
  38. Department ComboBox
  39. Salvando Seller
  40. Build da aplicação e preparação para distribuição
  41. Implantação da aplicação
  42. Opcional - criação de arquivo de lote
  43. Opcional - criação de atalho

Certificado

udemy-java-complete-course's People

Contributors

tiagosathler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.