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 contato

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

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

Solid

Fundamentos do SOLID

Single Responsibility

Open/Closed

Liskov substitution

Interface segregation

Dependency inversion

SOLID na prática

DDD: Modelagem Tática e Pattern

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

Arquitetura Hexagonal

Fundamentos

Motivações

Evoluções

Principais camadas

Direcionamento único

Dependency Inversion

Sistemas monolíticos

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

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

RabbitMQ

Fundamentos de Mensageria

Conceitos básicos do RabbitMQ

Exchanges

Filas

Dinâmica de funcionamento

Garantias de entrega e recebimento

Autenticação e Keycloak

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

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 Entre Sistemas

Comunicação síncrona vs assíncrona

REST

gRPC

GraphQL

Filas com RabbitMQ

Apache Kafka

Domain Driven Design

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

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

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

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

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

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

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

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

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

Python com Django

Arquitetura limpa

Área administrativa

Integração com RabbitMQ

Autenticação com Keycloak

Django ORM

Testes automatizados

Frontend com React.js

Frontend com React.js

TypeScript

React Hooks

Material UI

Context API

Redux e Redux Saga

Uploads paralelos de imagens e vídeos

.Net 6

.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

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

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

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

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

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

Observabilidade

Prometheus e Grafana

Elastic Stack

Observabilidade com Kiali

API Gateway com Kong e Kubernetes

API Gateway com Kong e Kubernetes

Kong como ingress

Principais plugins

Autenticação básica

Autenticação via introspecção

Ansible

Ansible

Entendendo o mundo Ansible

Inventário, módulos e argumentos

Rodando Ansible com Docker

Rodando Ansible na AWS

Playbooks

Ansible-galaxy

Gitflow

Gitflow

Entendendo Gitflow

Gitflow e Pull Requests

Trabalhando com Releases

Hotfix

Integração contínua

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

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

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

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

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

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 contato

Correçã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 contato

Veja o que a galera está dizendo

Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos
Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos
Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos Depoimento de alunos

Solicitar contato

Interessado no curso Full Cycle? Solicite agora um contato de nossa equipe.

Solicitar contato