Desenvolva aplicações de grande porte e tenha um dos perfis mais bem pagos e desejados do mercado
Solicitar contato
Interessado no curso Full Cycle? Solicite agora um contato de nossa equipe.
Solicitar contatoEste Treinamento
terá foco em 3 Pilares
Muito além de uma pós-graduação
por uma fração do preço
Muitos alunos consideram o curso Full Cycle mais enriquecedor do que uma pós-graduação pelo fato dele estar sempre refletindo as exigências do mercado agregando na teoria e na prática o que realmente um dev precisa saber para evoluir na carreira. Não dependa mais de universidades que muitas vezes são caras e que possuem grades curriculares totalmente defasadas.
Livro Full Cycle
O livro Full Cycle será a base conceitual de todo nosso material didático.
Nesse livro você terá contato com os principais conceitos cobertos no curso de forma compilada e contextualizada, potencializando assim o seu processo de aprendizagem.
Ele é 100% digital e seu conteúdo será entregue de forma incremental conforme seus capítulos forem ficando prontos.
Escolha a tecnologia que você irá desenvolver
Além da linguagem Go, que é utilizada para ensinar diversos conceitos, você poderá escolher entre as linguagens abaixo para desenvolver o projeto prático:
.Net • Java • PHP • Python • TypeScript • *Go
* Os exemplos conceituais do curso são realizados em Go
* O aluno poderá escolher a linguagem que desenvolverá o projeto prático dentre as citadas acima, com exceção de Go
* O microsserviço de processamento de vídeos do projeto prático será desenvolvido em Go independente da linguagem escolhida
Arquitetura de software
Fundamentos da arquitetura de software
Tipos de Arquitetura
Papel do Arquiteto de Software
Por que aprender arquitetura de Software
Arquitetura vs Design
Pilares da arquitetura de software
Requisitos arquiteturais
Características arquiteturais
Estilos arquiteturais
Performance
Escalabilidade
Solid
Fundamentos do SOLID
Single Responsibility
Open/Closed
Liskov substitution
Interface segregation
Dependency inversion
SOLID na prática
DDD: Modelagem Tática e Pattern
Modelagem estratégica vs tática
Entidades vs Agregados
Value Objects
Domain Services
Application Services
Domain Events
Factories
Respositories
Arquitetura Hexagonal
Fundamentos
Motivações
Evoluções
Principais camadas
Direcionamento único
Dependency Inversion
Sistemas monolíticos
O que são sistemas monolíticos
Monolíticos estão ultrapassados?
Porque sistemas monolíticos falham
Como criar um sistema monolítico escalável
12 Fatores
Como criar um sistema monolítico modular
Sistemas monolíticos vs DDD
EDA - Event Driven Architecture
O que é EDA?
Vantagens e desvantagens
Princípios do EDA
Events e Event Generator
Brokers
Mediator
Mediator vs Broker
Classificação de eventos
Event sourcing
RabbitMQ
Fundamentos de Mensageria
Conceitos básicos do RabbitMQ
Exchanges
Filas
Dinâmica de funcionamento
Garantias de entrega e recebimento
Autenticação e Keycloak
Introdução ao OAuth 2 e OpenID Connect
Iniciando com Keycloak
Geração de Access Token e IDToken
Atributos de usuário
Roles e Grupos
Gerenciamento de temas
Arquitetura do projeto prático - Codeflix
Decisões arquiteturais
Microsserviços do Projeto
Dinâmica dos microsserviços
Diagrama C4
Autenticação
Docker, Kubernetes e Cloud Providers
Comunicação Entre Sistemas
Comunicação síncrona vs assíncrona
REST
gRPC
GraphQL
Filas com RabbitMQ
Apache Kafka
Domain Driven Design
Entendendo DDD
Linguagem Ubíqua
Domínio e subdomínios
Contextos delimitados
Mapas de contextos
Design patterns
Event Storming na Prática
O que é Event Storming
Vantagens de se utilizar ES
Entendimento de atores
Levantamento de eventos
Transformando eventos em ações
Cronologia
Definição dos fluxos e Agregados
Descobrindo e definindo Contextos
Clean Architecture
O que é Clean architecture
Histórico dos tipos arquiteturais
DDD vs Clean Architecture
Entidades vs Enterprise Business
Roles
Desenvolvimento orientado a Use Cases
DTOs como Input e Output
Presenters vs DTO
Adaptadores e camadas externas
Gateways
Arquitetura baseada em microsserviços
O que são microsserviços
Sistemas monolíticos vs Microsserviços
Vantagens e desvantagens
9 Características
Comunicação síncrona vs assíncrona
Resiliência com microsserviços
Coeorografia vs Orquestração
Saga Pattern
Principais patterns
Trace distribuído
API Gateway
O que é API Gateway
Principais conceitos
Principais soluções
Projeto Kong e Konga
Roteamento
Plugins
Autenticação
Rate Limit
Stateful vs Stateless
Kong no Kubernetes
Apache Kafka
Principais conceitos
Conceitos básicos a prática
Desenvolvendo aplicação
Kafka Connect na prática
Serviços gerenciados
Service Discovery com Consul
Entendendo Service Discovery
Visão geral do Consul
Service Registry
Health check
Tipos de agentes
Criando Cluster
Criptografia
User Interface
Desenvolvimento de Microsserviços
Java
Arquitetura limpa
Spring Boot e seu ecossistema
DDD e Clean Architecture
Mensageria com RabbitMQ
API Rest
Testes automatizados
Autenticação via Keycloak
Integração com GCP Storage
Integração com Object Storage
Docker e docker-compose
Typescript com Nest.js
Arquitetura limpa
Nodejs utilizando o Framework Nest.js
DDD e Clean Arquitect
Boas práticas do Nest.js
Conceitos de Desenvolvimento de Microsserviços
API REST
Testes de Unidade, Integração e E2E utilizando JEST
Mensageria com RabbitMQ
Integração com GPC Cloud Storage
Integração Continua
Boas práticas para desenvolvimento de ambiente de desenvolvimento e produção
Python com Django
Arquitetura limpa
Área administrativa
Integração com RabbitMQ
Autenticação com Keycloak
Django ORM
Testes automatizados
Frontend com React.js
TypeScript
React Hooks
Material UI
Context API
Redux e Redux Saga
Uploads paralelos de imagens e vídeos
.Net 6
Arquitetura limpa
API REST
Asp.Net MVC Core
Ambiente e aplicação Containerizados
Integração com RabbitMQ
Autenticação com Keycloack
Autenticação e validação de Token JWT e Roles
Integração com GCP Cloud Storage
Principais libs do ecossistema .Net
DDD e Clean Architecture
Processamento de vídeos com Golang
Introdução a conceitos de computação
Memória, Threads e Goroutines
Trabalhando com testes
Conversão e fragmentação de vídeos
Upload Manager
Integração com RabbitMQ
PHP
Arquitetura limpa
Configuração do ambiente com Docker
Desenvolvimento de APIs REST
Testes automatizados
Integração RabbitMQ
Autenticação com Keycloak
Armazenamento na Google Cloud Storage
DevOps
Docker do básico ao avançado
Instalação
Gerenciamento básico de containers
Volumes
Networks
Docker-compose
Build de imagens
Trabalhando com templates
Otimizando imagens
Práticas avançadas com Github
Regras importante para os branches
CODEOWNERS
Configuração do processo de Code
Review
Geração de Tags e Releases
Bumb versioning
Assinatura de commits
Semantical versioning
Conventional Commits
Kubernetes
Introdução ao mundo Kubernetes
Configurando Kubernetes local com Kind
Pods, ReplicaSets e Deployments
Secrets e ConfigMaps
Gerenciamento de namespaces
Gerenciamento de recursos computacionais
Horizontal Pod Autoscaler
Kubernetes Lens
Instalação de pacotes com Helm
Observabilidade
Prometheus e Grafana
Elastic Stack
Observabilidade com Kiali
API Gateway com Kong e Kubernetes
Kong como ingress
Principais plugins
Autenticação básica
Autenticação via introspecção
Ansible
Entendendo o mundo Ansible
Inventário, módulos e argumentos
Rodando Ansible com Docker
Rodando Ansible na AWS
Playbooks
Ansible-galaxy
Gitflow
Entendendo Gitflow
Gitflow e Pull Requests
Trabalhando com Releases
Hotfix
Integração contínua
Introdução
Trabalhando com Github Actions
Gerenciamento de Secrets
Geração automática de versão
Integração com diferente Dockerhub
Deploy no Kubernetes
Qualidade de código com SonarQube
Visão geral
Instalando SonarQube e sonar-scanner
Configuração de projetos
Exclusão e inclusões de pastas
Trabalhando com SonarCloud
SonarCloud no processo de CI
Service Mesh com Istio
Conceitos básicos sobre Service Mesh
Instalando Istio
Virtual Service e Ingress Gateway
Regras para Load Balancer
Timeouts e Retries
Cirtcuite Breaker
Geração de certificados SSL
OpenTelemetry
Conceitos básicos
Formatos de collector
Formatos de instrumentação
Trabalhando com Logs, métricas e tracing
Padrões abertos vs vendors
IaC com Terraform
Principais conceitos
Variáveis, Outputs e Datasources
Recursos na prática
Provisionando Cluster Kubernetes
Criação de módulos
States remoto
GitOps com Argo CD
O que é GitOps
Principais conceitos
Dinâmica de funcionamento
Principais ferramentas
Iniciando com Argo CD
Introdução ao Kustomize
Realizando Deploy via Github Actions
Deploy manual vs automático
Realizando Rollback
O Treinamento utilizará as seguintes Plataformas para realizar testes e outros processos
Solicitar contato
Interessado no curso Full Cycle? Solicite agora um contato de nossa equipe.
Solicitar contatoCorreção individualizada de desafios técnicos
Conforme o aluno evolui no desenvolvimento do projeto, será necessário que o mesmo faça o upload de seu código desenvolvido em um repositório GIT para que os tutores façam a análise e sugestões de correção e melhorias
O aluno envia o código
para o tutor via GitHub
O tutor corrige e valida
a próxima fase do desafio
Depois do Feedback
do tutor, a próxima fase é liberada
Suporte
Suporte
individual
O aluno terá a possibilidade de tirar dúvidas específicas referente ao curso de forma individual com seus tutores.
Fórum de
Suporte
Nesse fórum, alunos e tutores poderão tirar dúvidas e discutir assuntos referentes ao treinamento em questão.
Solicitar contato
Interessado no curso Full Cycle? Solicite agora um contato de nossa equipe.
Solicitar contatoSolicitar contato
Interessado no curso Full Cycle? Solicite agora um contato de nossa equipe.
Solicitar contato
Veja o que a galera está dizendo