JAVA
Carga Horária: 56 Horas + projeto FinalJAVA ORIENTADO A OBJETOS E MODELAGEM UML
- Diagrama de Classes e notação UML
- Estruturas Lógicas e de comparação
- Operadores
- Tipos de Dados
- Introdução aos conceitos de Orientação a Objetos
- Classes, Métodos, Atributos
- Construtores
- toString
- equals
- hashCode
- Encapsulamento
- Padrão set e get
- Encapsulamento pelo construtor
- Padrão JavaBean
- Herança
- Interfaces
- Sobrescrita de métodos
- Sobrecarga de métodos
- Polimorfismo
- Relacionamentos entre Classes
- Agregação
- Composição
- Dependência
- Multiplicidades:
- Um-para-um
- Um-para-muitos
- Muitos-para-muitos
- Auto-relacionamento
- Relacionamento Unidirecional e Bidirecional
- Generics
- Collections
- Set: HashSet, TreeSet, LinkedHashSet
- List: ArrayList, Vector, LinkedList, Queue
- Map: TreeMap, LinkedHashMap, HashMap, HashTable
- Tratamento de Exceção
- Try/catch/finally
- Throws
- Throw new
- Hierarquia de Classes de Exceção
- Throwable, Exception, Error e suas ramificações
- Enum
- Interface Serializable
- Comparable e Comparator
- APIs Java
- util,text, io
- Gravação e Leitura de arquivos
- Java.io.File
- FileOutputStream
- FileInputStream
- BufferedReader
- BufferedWriter
- Manipulação de XML
- Introdução a Padrões de Projeto Orientado a Objetos
- Persistência de dados com JDBC
- Padrão DAO
- API java.sql
- Connection
- PreparedStatement
- ResultSet
- jdbc (Cardinalidade 1 p 1, 1 p N, M p M, Heranca)
JAVA 8
- Lambda
- Streams e Collectors
- Ordenando um Stream
- Joda Time
- java.nio.file.Files
- Comparators como lambda
- Coletores e Listas
- Mapeando, particionando, agrupando e paralelizando
- GroupingBy e partitioningBy
SPRING BOOT
- I/O
- Validation
- Java Mail Sender
- NoSQL
- Spring Data MongoDb
- Spring Data Neo4j
- Spring SQL
- Spring Data Jpa
- Mysql Driver
- Oracle Driver
- Sprint Web Services
- Rest Repositorires
- Spring Boot DevTools
- Spring Security
- Oath2 Client
- Spring Testing
- Spring Rest Docs
- TestContainers
- aws
- Api First
- JUnit5
- Observability
- InfluxDb
- Spring for RabbitMQ
- Spring Integration
- Log4j
- TravisCI
- Spring Cloud
- Spring Gateway
Programacao Asyncrona em Java
- Async
- OrderConfirmation confirmation
- Observable Pattern
C#
Carga Horária: 48 Horas + projeto Final
- Configuração da IDE Microsoft VisualStudio
- Coniguracao do VS Code Ferramenta Free C#
- Orientação a Objetos
- ConsoleApplication
- Classes, Atributos e Métodos
- Encapsulamento (propriedades set e get)
- Modificadores de Acesso
- Relacionamentos de Herança e Associação
- Entrada de dados
- Tratamento de Exceções
- Manipulação de Arquivos
- Interfaces
- Classes Abstratas
- Polimorfismo
- Tipos Genericos de dados
- System.Collections
- Sobrecarga de Métodos
- Sobrescrita de Métodos
- Métodos estáticos
- Acesso ao SqlServer com Dapper
NET CORE MVC
- Introdução ao MVC
- Definindo Controllers e rotas
- Camada de Visão – Páginas .cshtml
- Utilizando a sintaxe @Razor
- Definição da camada de modelo
- Mapeamento da camada de modelo (Validações, mensagens)
- Criando formulários e entrada de dados
- Redirecionamento
- ActionResult e JsonResult
- ViewBag e ViewData
- HttpPost e HttpGet
NET CORE API
- Introdução ao padrão REST e arquitetura de MicroServiços
- Implementando serviços REST com WebApi
- HttpStatusCodes
- Enviando e recebendo JSON
- Models
- Mapeamento de rotas e verbos HTTP
- POST, GET, PUT e DELETE
- Mapeamento de rotas e serviços
- Swagger
ENTITY FRAMEWORK CORE
- Configuração e utilização do EntityFramewework CORE
- Persistência de dados com EF
- Mapeamento Objeto Relacional com Fluent
- DbContext e DbSet
- Migrations
- Persistencia de dados Operações CRUD com EF
- Consultas com Expressões LAMBDA
- Azure
BANCO DE DADOS
- Dynamo
Angular 9
Carga Horária: 36 Horas + projeto Final
BOOTSTRAP 4.3
- Instalação
- Bootstrap CDN
- Temas
- Layouts
- Containers
- Grid (12 colunas)
- Media
- Margin, Padding, Toggle
- Cabeçalhos
- Listas
- Formatação
- Tipografia
- Imagens (Responsivas, alinhamento, miniatura)
- Tabelas
- Components
- Cartões (cards)
- Carrousel
- Alertas
- Accordion
- Menu
- Forms
- Tooltips
- Input
- Jumbotron
- Listas
- Modal
- Navbar (Barra de Navegação)
MATERIAL DESIGN BOOTSTRAP 4
- Animate
- Wow
- Shadows
- Wow
PROGRAMAÇÃO FRONT ANGULAR
- Diferenças da Arquitetura baseada em componentes (Webcomponents
- architecture) para arquitetura MVC (Model, View, Controller)
- Visão geral do ECMASCRIPT 6 e novos padrões de projeto
- Classes em typescript
- Princípios de orientação a objeto (OOP)
- Modificadores de acesso: public, private, protected e default
- Tipos de variáveis: Boolean, String, Number, any, Array, Object, Date
- Declaração de métodos e métodos autoinvocados
- Loops: for, while, do while, continue, break;
- Objetos Globais vs Locais
- Diferenças entre declaração de variáveis e métodos: var, let, const, readonly,
- static, abstract
- Sintaxe de Construtores
- Construtores cheios e vazios (Sobrecarga)
- Métodos públicos e privados
- Argumentos opcionais e obrigatórios de métodos
- Getters & Setters
- Entidades, Enums, Constantes
- Interfaces e Herança (Implements e Extends)
- Métodos Abstratos
- Serviços e injeção de dependência
- Sort para ordenação de Arrays
- Entendendo Promises
- Serviços REST (GET, POST, PUT, DELETE) com protocolo HTTP
- Entendendo formato de dados (JSON, JSONP, XML, etc)
- Headers de requisição
- Interceptando requisições
- Tópicos de Segurança da Informação: Authorization, Oauth, Basic
- Authentication
- Entendendo Components e two-way-data-binding
- Entendendo o app.module (NgModule)
- Formulários reativos controlados na Classe (FormsModule)
- Regex, Máscaras e validação de campos
- Rotas
- Decorators
- Entendendo Observable e Subscribe
- Criação de componentes e comunicação com @Inputs, @Outputs e Events
- LocalStorage e SessionStorage
- Conversão de variáveis (truncamento, arredondamento, etc)
- Autenticação JWT e Login de aplicações
- Angular generators com angular-cli: component, directive, pipe, service, class,
- interface, enum, module
- Condicionais de view (ngIf, ngFor, ngHide, ngClass, ngStyle, ngSwitch)
- Entendendo princípios de programação funcional (filter, map, reduce)
- Integração com banco online (Firebase)
- Hosting Firebase
- Testes
TESTE UNITÁRIO
- Automatize sua aplicação com o JASMINE e KARMA
- Criação de testes unitários de integração de API
- Testando microserviços antes da integração com o backend
- Garantindo integridade do código
- Compilando o projeto como ng build
- Aplicações e Projetos a serem realizados no curso
- Professor: Luciana de V. Medeiros
- Professor: Edson Belem de Souza Junior Edson Belem