
Para quem é o curso
O Full Cycle 4.0 Juniors foi criado para desenvolvedores que desejam se preparar para os próximos desafios na carreira, consolidando seus conhecimentos e dominando tecnologias e metodologias usadas pelas grandes empresas. O curso é ideal para quem já tem uma base em programação, banco de dados, orientação a objetos e que possuem em torno de 1 a 2 anos de experiência.
* O Curso Full Cycle 4.0 Juniors está em processo de gravação e as aulas serão disponibilizadas progressivamente ao longo dos meses.

Pilares do Full Cycle 4.0 Juniors
O Curso Full Cycle 4.0 Juniors reúne os pilares essenciais para que você esteja preparado para avançar para as próximas etapas na carreira, adquirindo habilidades e conhecimentos exigidos pelas maiores empresas do mercado.

Arquitetura e desenvolvimento
Inicie sua jornada no desenvolvimento e arquitetura de software aplicando boas práticas para criar sistemas escaláveis, performáticos e de fácil manutenção, explorando múltiplos estilos arquiteturais.

Containers
Domine Docker e containers, uma habilidade essencial nos dias de hoje, para integrar suas aplicações ao processo de desenvolvimento moderno e prepará-las para implantação em qualquer cloud provider, como AWS, Azure, Google Cloud e outros.

Cloud Computing
Entenda os fundamentos de Cloud Computing na AWS conhecendo seus principais serviços e ainda seja capaz realizar deployments de suas aplicações utilizando containers de forma profissional.

O que você irá aprender
Aprenda de forma estruturada os principais conceitos, tecnologias e ferramentas usadas pelas maiores empresas do mercado, e esteja preparado para enfrentar grandes desafios nos próximos passos de sua carreira

Git
Explore desde a estrutura interna do Git até estratégias avançadas de colaboração e automação com GitHub. Uma visão detalhada para otimizar e gerenciar o fluxo de projeto, resolver conflitos complexos e implementar práticas modernas em equipes distribuídas.
Descrição do Curso
Explore desde a estrutura interna do Git até estratégias avançadas de colaboração e automação com GitHub. Uma visão detalhada para otimizar e gerenciar o fluxo de projeto, resolver conflitos complexos e implementar práticas modernas em equipes distribuídas.
Principais Tópicos
-
Fundamentos e Configurações do Git:
Conceitos básicos e arquitetura do Git, instalação e configuração do Git em diferentes ambientes, estrutura interna do diretório `.git` (blobs, trees, commits e tags), hashing e integridade de dados no controle de versão, comandos essenciais e avançados:
git init
,git add
,git commit
,git log
,git diff
egit stash
configuração avançada no.gitconfig
e criação de aliases personalizados, debugging e recuperação de histórico comgit reflog
. -
Fluxos de Trabalho Avançados (GitFlow e suas Variações):
Diferenças e usos de
rebase
emerge
, implementação do GitFlow tradicional com estruturas de branches comomaster
,develop
,feature
,hotfix
erelease
, adaptação do GitFlow da Airbnb para equipes modernas, comparação com GitHub Flow e Trunk-based Development, além de estratégias para colaboração eficiente com forks e pull requests. -
Resolução de Conflitos e Gerenciamento de Históricos:
Técnicas para resolver conflitos complexos em merges e rebases, manipulação do histórico com comandos como
git reset
egit filter-repo
, exclusão de dados sensíveis do histórico, otimização de repositórios grandes com garbage collection e estratégias de pruning, além do controle de arquivos binários com Git LFS. - Segurança e Gerenciamento de Repositórios: Configuração de autenticação com SSH e tokens de acesso pessoal, proteção de branches e políticas de permissões no GitHub, uso de Git Secrets para proteger dados sensíveis, e análise de segurança e vulnerabilidades em dependências.
- Colaboração, Métricas e Monitoramento: Estratégias para trabalho em equipes distribuídas e projetos multi-repositório, logs detalhados e análise de mudanças com Git Blame e Pickaxe, ferramentas de métricas no GitHub Insights, e publicação e gerenciamento de imagens em registries com versionamento eficiente.
Habilidades adquiridas
Ao final do curso, você será capaz de configurar e personalizar o Git e GitHub, implementar fluxos de trabalho como GitFlow, resolver conflitos, reescrever históricos, gerenciar a segurança em repositórios e analisar mudanças e desempenho em projetos complexos. (editado) [19:16] Troca para esse no git e github [19:17]

Docker na prática
Este curso prático ensina a utilizar o Docker para criar, gerenciar e otimizar containers e aplicações multicontainer. Desde os fundamentos da arquitetura do Docker até a utilização de Docker Compose e integração com registries, o curso oferece uma abordagem prática, capacitando os alunos a implementar e gerenciar containers em cenários reais.
Descrição do Curso
Este curso prático ensina a utilizar o Docker para criar, gerenciar e otimizar containers e aplicações multicontainer. Desde os fundamentos da arquitetura do Docker até a utilização de Docker Compose e integração com registries, o curso oferece uma abordagem prática, capacitando os alunos a implementar e gerenciar containers em cenários reais.
Principais Tópicos
- Fundamentos e Configuração do Docker: Conceitos básicos e arquitetura do Docker, incluindo as diferenças entre Docker CE e Docker Desktop, instalação e configuração para uso em ambiente local. Principais comandos para gerenciamento de containers, execução e manipulação de imagens, além da criação e otimização de Dockerfiles.
- Imagens e Build de Containers: Criação e gerenciamento de imagens, introdução ao Dockerfile e uso de Buildx para builders personalizados. Abordagem prática do Multistage Build para melhorar a segurança e reduzir o tamanho das imagens, com exemplos de otimização de builds.
- Volumes, Redes e Persistência de Dados: Explicação sobre Volumes e Bind Mounts para persistência de dados, tipos de redes no Docker e como configurar comunicação entre containers em um ambiente seguro e eficiente.
-
Docker Compose e Orquestração Local:
Fundamentos do Docker Compose, criação de serviços multicontainer e configuração de variáveis de ambiente. Explicação de comandos como
depends_on
ehealth check
, integração de redes e volumes entre containers, e uso de múltiplos arquivos de configuração para ambientes de desenvolvimento e produção. - Publicação e Gerenciamento de Imagens em Registries: Introdução ao Docker Hub e a container registries, com exemplos práticos de publicação e gerenciamento de imagens e tags para compartilhamento e distribuição de aplicações.
- Recursos e Ferramentas Adicionais no Docker Desktop: Gerenciamento e criação de containers e builds diretamente pelo Docker Desktop, introdução ao Docker Scout para análise de segurança, uso de extensões e gerenciamento de recursos de sistema. Explicação sobre compartilhamento de arquivos sincronizados (Synchronized File Shares) e habilitação do Kubernetes para orquestração.
Habilidades Adquiridas
Após este curso, você será capaz de utilizar o Docker para gerenciar containers, configurar ambientes multicontainer com Docker Compose, publicar e compartilhar imagens em registries e aplicar técnicas de build e otimização de imagens. Além disso, você aprenderá a utilizar recursos avançados do Docker Desktop para segurança e integração com Kubernetes, fortalecendo suas habilidades em containerização e deploy de aplicações.

Docker para desenvolvimento
Aprenda a configurar ambientes Docker eficientes para desenvolvimento, otimizando a produtividade e garantindo portabilidade nos projetos.
Descrição do Curso
Aprenda a configurar ambientes Docker eficientes para desenvolvimento, otimizando a produtividade e garantindo portabilidade nos projetos.
Principais Tópicos
- Montagem de Dockerfile e Docker Compose: Crie e configure imagens e serviços Docker com Docker Compose para ambientes de desenvolvimento consistentes.
- Docker Compose Avançado: Utilize include, extends, profiles, watch e project name para modularizar e organizar composições Docker.
- Docker no VSCode com DevContainer: Configure ambientes de desenvolvimento dedicados no VSCode usando DevContainer para mais produtividade.
- Docker em outras IDEs: Integre Docker com outras IDEs, adaptando-se ao seu ambiente de preferência.
- Redes entre containers e host.docker.internal: Conecte containers e crie redes que facilitam a comunicação entre serviços no ambiente local.
- Boas práticas no uso de Docker: Aplique comandos e configurações de Docker que otimizam o desenvolvimento e evitam erros comuns.
Habilidades Adquiridas
Ao final do curso, você será capaz de configurar e gerenciar ambientes de desenvolvimento com Docker e Docker Compose, conectando diferentes serviços de forma prática e eficiente em qualquer IDE.

Programação orientada a objetos (OOP)
Explore a arquitetura em camadas e o padrão MVC, entendendo a divisão de responsabilidades para construir sistemas modulares e fáceis de manter, com exemplos práticos de implementação.
Descrição do Curso:
Explore a arquitetura em camadas e o padrão MVC, entendendo a divisão de responsabilidades para construir sistemas modulares e fáceis de manter, com exemplos práticos de implementação.
Principais Tópicos:
- Introdução à Arquitetura MVC: Explicação da separação de responsabilidades em três camadas: Apresentação, Negócios e Dados.
- Camada de Apresentação: Como implementar a camada de interface com o usuário e comunicação com a camada de negócios.
- Camada de Negócios: Implementação da lógica de negócios, regras de validação, e manipulação de dados.
- Camada de Dados: Gerenciamento de persistência, consultas, e operações de banco de dados.
- Benefícios e Desvantagens: Discussão sobre os benefícios de modularidade e manutenção, bem como possíveis desvantagens em termos de performance e complexidade.
- Padrões MVVM, MVP e MVA: Comparação dos padrões MVVM, MVP e MVA com MVC, destacando suas aplicações e diferenças principais.
- Implementação dos Modelos: Aplicação prática dos padrões em projetos, mostrando como estruturar classes e módulos em cada camada.
Habilidades adquiridas:
Ao final do curso, o aluno será capaz de implementar a arquitetura em camadas com o padrão MVC, criar interfaces conectadas à lógica de negócios, gerenciar dados eficientemente e aplicar padrões relacionados, como MVVM, MVP e MVA, em diferentes projetos.

SOLID na prática
Aprenda a aplicar os princípios SOLID de forma prática e aprofundada, compreendendo não apenas o que cada princípio significa, mas também como utilizá-los para desenvolver uma arquitetura de software flexível, sustentável e de fácil manutenção. Este curso inclui exemplos reais, exercícios práticos e identificação de anti-padrões, com foco em resolver problemas de design no dia a dia do desenvolvimento.
Descrição do Curso
Aprenda a aplicar os princípios SOLID de forma prática e aprofundada, compreendendo não apenas o que cada princípio significa, mas também como utilizá-los para desenvolver uma arquitetura de software flexível, sustentável e de fácil manutenção. Este curso inclui exemplos reais, exercícios práticos e identificação de anti-padrões, com foco em resolver problemas de design no dia a dia do desenvolvimento.
Principais Tópicos
- Introdução aos Princípios SOLID e Design de Software: Explicação do conceito de SOLID, sua importância para design de software e os desafios que surgem ao aplicá-lo em cenários reais.
- Single Responsibility Principle (SRP): Aplicação do SRP em cenários comuns, com exemplos de quando uma classe começa a assumir responsabilidades demais. Exemplos práticos para dividir responsabilidades e melhorar a manutenibilidade e o ciclo de vida do software.
- Open-Closed Principle (OCP) e Extensibilidade: Exploração do OCP com exemplos práticos de sistemas que requerem extensibilidade. Análise dos benefícios e armadilhas de uma arquitetura fechada para modificações, e quando o uso do OCP é apropriado para evitar complexidade excessiva.
- Liskov Substitution Principle (LSP): Como garantir que heranças respeitem o LSP, com exemplos de subclasses que violam o princípio. Discussão sobre polimorfismo e como evitar problemas com tipos e comportamentos inesperados que geram bugs complexos.
- Interface Segregation Principle (ISP): Análise da criação de interfaces específicas para clientes, com exercícios práticos de modularidade e desacoplamento. Estudos de caso de quando grandes interfaces geram dependências desnecessárias e como a segregação melhora o design.
- Dependency Inversion Principle (DIP): Exploração do DIP com foco na injeção de dependências e na redução do acoplamento. Exercícios práticos de implementação de DIP, com exemplos do uso de containers de injeção de dependências.
- SOLID no Mundo Real: Refatoração e Design Evolutivo: Exemplo de refatoração de um sistema que viola os princípios SOLID, mostrando passo a passo como aplicar os princípios para alcançar um design mais robusto e sustentável.
- Anti-Patterns e Violação dos Princípios SOLID: Discussão sobre anti-padrões comuns que violam os princípios SOLID, como a "God Class," "Shotgun Surgery," e "Feature Envy." Exemplos práticos para identificar e corrigir esses problemas em código legado.
Habilidades Adquiridas
Após este curso, você será capaz de aplicar os princípios SOLID em projetos reais, reconhecendo situações em que eles fazem sentido e identificando anti-padrões que prejudicam a arquitetura do software. Você aprenderá a aprimorar o design de software, desenvolvendo soluções que sejam escaláveis, de fácil manutenção e adaptáveis às mudanças.

REST
Domine os fundamentos e práticas avançadas de REST, explorando os níveis de maturidade de Richardson para criar APIs escaláveis, bem documentadas e alinhadas aos padrões mais eficientes de desenvolvimento web.
Descrição do Curso
Domine os fundamentos e práticas avançadas de REST, explorando os níveis de maturidade de Richardson para criar APIs escaláveis, bem documentadas e alinhadas aos padrões mais eficientes de desenvolvimento web.
Principais Tópicos
- Introdução ao REST: Compreenda o conceito de REST, sua importância e como ele influencia o desenvolvimento de APIs web.
- Níveis de Maturidade de Richardson: Conheça os níveis de maturidade de uma API RESTful e o que caracteriza cada estágio, de endpoints básicos a APIs completas com HATEOAS.
-
Métodos HTTP:
Estude os principais métodos HTTP (
GET
,POST
,PUT
,DELETE
) e suas funções no ciclo de vida de uma API. - HATEOAS (Hypermedia as the Engine of Application State): Entenda como hiperlinks permitem que APIs REST evoluam com base nas ações possíveis, sem necessidade de alterar o cliente.
- Gerenciamento de Erros e Status Codes: Configure corretamente os códigos de status e mensagens de erro para uma comunicação clara e eficiente com os clientes da API.
- Controle de Cache em APIs REST: Explore estratégias de cache para otimizar o desempenho da API, incluindo configurações de headers para controle de tempo de expiração e validação de cache.
- Content Negotiation e Headers HTTP: Aprenda a negociar o formato de resposta (JSON, XML, etc.) e use headers HTTP para comunicar informações essenciais entre cliente e servidor.
Habilidades Adquiridas
Ao final do curso, o aluno será capaz de desenvolver e estruturar APIs RESTful de forma profissional, utilizando níveis de maturidade de Richardson, métodos HTTP, controle de cache, negociação de conteúdo, além de técnicas avançadas de tratamento de erros e status codes, garantindo APIs escaláveis e seguras.

TDD
Aprenda a implementar o desenvolvimento orientado a testes (TDD) para criar código confiável, sustentável e de alta qualidade desde o início, aplicando práticas como a pirâmide de testes, refatoração contínua e uso de mocks para garantir a robustez e a eficácia do software.
Descrição do Curso
Aprenda a implementar o desenvolvimento orientado a testes (TDD) para criar código confiável, sustentável e de alta qualidade desde o início, aplicando práticas como a pirâmide de testes, refatoração contínua e uso de mocks para garantir a robustez e a eficácia do software.
Principais Tópicos
- Pirâmide de Testes: Compreenda a estrutura da pirâmide de testes para equilibrar testes unitários, de integração e end-to-end.
- Introdução ao TDD: Conceitos fundamentais do TDD e como ele se diferencia das práticas tradicionais de desenvolvimento.
- Ciclo de Desenvolvimento com TDD: Aprenda a aplicar o ciclo Red-Green-Refactor e Triple AAA (Arrange, Act e Assert) para guiar a criação e refatoração de código com confiança.
- Escrita de Testes Unitários: Desenvolva testes unitários eficazes que atuam como guia para o código a ser implementado.
- Refatoração Orientada a Testes: Técnicas para refatorar continuamente, mantendo o código limpo e aderente aos testes.
- Mocking e Test Doubles: Uso de mocks, stubs, e fakes para isolar dependências e testar funcionalidades em isolamento sem interferência de componentes externos.
- Testes de Limite e Casos Extremos: Aplicação de testes em condições extremas ou limites para assegurar a robustez do código em cenários imprevisíveis.
Habilidades Adquiridas
Ao final do curso, o aluno será capaz de aplicar o ciclo de TDD com proficiência, criar e estruturar testes unitários e de integração, refatorar com base em testes, utilizar mocks e outras técnicas para testes isolados, e realizar testes de limite para garantir a robustez e a qualidade do código desenvolvido.

Arquitetura em camadas e MVC
Explore a arquitetura em camadas e o padrão MVC, entendendo a divisão de responsabilidades para construir sistemas modulares e fáceis de manter, com exemplos práticos de implementação.
Descrição do Curso
Explore a arquitetura em camadas e o padrão MVC, entendendo a divisão de responsabilidades para construir sistemas modulares e fáceis de manter, com exemplos práticos de implementação.
Principais Tópicos
- Introdução à Arquitetura MVC: Explicação da separação de responsabilidades em três camadas: Apresentação, Negócios e Dados.
- Camada de Apresentação: Como implementar a camada de interface com o usuário e comunicação com a camada de negócios.
- Camada de Negócios: Implementação da lógica de negócios, regras de validação, e manipulação de dados.
- Camada de Dados: Gerenciamento de persistência, consultas, e operações de banco de dados.
- Benefícios e Desvantagens: Discussão sobre os benefícios de modularidade e manutenção, bem como possíveis desvantagens em termos de performance e complexidade.
- Padrões MVVM, MVP e MVA: Comparação dos padrões MVVM, MVP e MVA com MVC, destacando suas aplicações e diferenças principais.
- Implementação dos Modelos: Aplicação prática dos padrões em projetos, mostrando como estruturar classes e módulos em cada camada.
Habilidades Adquiridas
Ao final do curso, o aluno será capaz de implementar a arquitetura em camadas com o padrão MVC, criar interfaces conectadas à lógica de negócios, gerenciar dados eficientemente e aplicar padrões relacionados, como MVVM, MVP e MVA, em diferentes projetos.

Banco de dados relacionais e SQL
Aprenda os principais conceitos e práticas de bancos de dados relacionais e SQL, desde fundamentos essenciais até técnicas avançadas de modelagem, consultas e otimização, escrever consultas avançadas e gerenciar bancos de dados em ambientes produtivos e escaláveis.
Descrição do Curso:
Aprenda os principais conceitos e práticas de bancos de dados relacionais e SQL, desde fundamentos essenciais até técnicas avançadas de modelagem, consultas e otimização, escrever consultas avançadas e gerenciar bancos de dados em ambientes produtivos e escaláveis.
Principais Tópicos:
- Fundamentos de Bancos de Dados Relacionais e SQL: Introdução aos bancos de dados relacionais: conceitos e história, estrutura de tabelas, colunas, linhas e chaves primárias/estrangeiras, introdução à linguagem SQL: SELECT, INSERT, UPDATE e DELETE, operadores básicos e filtros: WHERE, ORDER BY e LIMIT.
- Modelagem de Dados e Normalização: Definição de chaves primárias, estrangeiras e relacionamentos (1:1, 1:N, N:N), princípios de normalização (1ª, 2ª e 3ª forma normal), Desnormalização: quando e por que utilizá-la, criação de esquemas de banco de dados voltados para desempenho e escalabilidade.
- Consultas Avançadas em SQL: Joins (INNER, LEFT, RIGHT, FULL) e subconsultas, agrupamento e agregação com GROUP BY, HAVING e funções de agregação (SUM, AVG, COUNT, MAX, MIN), operações avançadas: UNION, INTERSECT e EXCEPT, consultas recursivas e hierárquicas.
- Criação e Gerenciamento de Bancos de Dados: Definição de esquemas: CREATE, ALTER e DROP TABLE, índices: tipos, criação e impacto no desempenho, Views: uso, criação e benefícios, procedures e funções armazenadas (Stored Procedures/Functions) para lógica no banco.
- Otimização de Consultas e Desempenho: Análise de planos de execução e índices, técnicas para otimizar consultas SQL complexas, gerenciamento de transações e bloqueios (LOCKS), estratégias de particionamento de tabelas e indexação avançada, identificação e resolução de gargalos de desempenho.
- Gerenciamento e Administração de Dados: Backup e recuperação de dados em bancos relacionais, estratégias de replicação e alta disponibilidade.
Habilidades adquiridas:
Ao final do curso, você será capaz de projetar bancos de dados relacionais, escrever consultas SQL avançadas, otimizar desempenho, gerenciar esquemas e administrar dados com técnicas de backup, replicação e alta disponibilidade.

PostgreSQL para desenvolvedores
Este curso avançado oferece uma imersão prática no PostgreSQL, focando em modelagem de dados, otimização de consultas e segurança em ambientes de produção. Você aprenderá a configurar transações, gerenciar concorrência em aplicações multiusuário e proteger dados sensíveis, preparando-se para construir aplicações robustas e escaláveis.
Descrição do Curso
Este curso avançado oferece uma imersão prática no PostgreSQL, focando em modelagem de dados, otimização de consultas e segurança em ambientes de produção. Você aprenderá a configurar transações, gerenciar concorrência em aplicações multiusuário e proteger dados sensíveis, preparando-se para construir aplicações robustas e escaláveis.
Principais Tópicos
- Arquitetura do PostgreSQL: Estrutura interna do PostgreSQL, incluindo o sistema de armazenamento que utiliza MVCC (Multiversion Concurrency Control) para garantir isolamento e consistência nas transações.
- Principais Diferenciais e Vantagens: O que diferencia o PostgreSQL de outros bancos de dados relacionais, incluindo suporte a dados estruturados e não estruturados, índices avançados e robustez em cenários de alta carga.
- Gerenciamento de Conexões: Técnicas para gerenciar conexões ao banco de dados, incluindo pooling e configuração de timeout.
- Isolamento e Níveis de Transação no PostgreSQL: Explicação dos níveis de isolamento no PostgreSQL (READ COMMITTED, REPEATABLE READ, SERIALIZABLE) e como o MVCC trabalha para evitar problemas de concorrência, como dirty reads, non-repeatable reads e phantom reads.
- Índices em Tabelas e Consultas: Abordagem sobre a criação de índices simples e compostos, enfatizando a otimização de consultas. Explora como a escolha de índices impacta a performance de leitura e escrita, permitindo que desenvolvedores tomem decisões estratégicas para suas aplicações.
- Armazenamento e Manipulação de Dados JSON: Explicação sobre o suporte nativo a JSON e JSONB, incluindo como isso permite o armazenamento e consulta de dados semiestruturados em uma estrutura relacional.
- Segurança em PostgreSQL: Melhores práticas para proteger dados sensíveis, incluindo controle de acesso, criptografia e gerenciamento de roles.
Habilidades adquiridas
Ao concluir este curso, você terá as habilidades para modelar dados de forma escalável e otimizar consultas para melhorar a performance em PostgreSQL. Você também será capaz de gerenciar conexões de forma eficaz em ambientes de alta demanda, implementar práticas de segurança robustas, controlar o acesso a dados sensíveis e realizar tuning e testes de performance para garantir a eficiência e confiabilidade das suas aplicações em produção.

Autenticação e autorização
Aprenda como implementar autenticação e autorização robustas em sistemas modernos usando Tokens JWT, listas de controle de acesso (ACL) e controle de acesso baseado em papéis (RBAC), garantindo segurança e eficiência na gestão de permissões.
Descrição do Curso
Aprenda como implementar autenticação e autorização robustas em sistemas modernos usando Tokens JWT, listas de controle de acesso (ACL) e controle de acesso baseado em papéis (RBAC), garantindo segurança e eficiência na gestão de permissões.
Principais Tópicos
- Introdução a Autenticação e Autorização: Conceitos fundamentais de autenticação e autorização, suas diferenças e importância em segurança de sistemas.
- Tokens JWT para Autenticação: Estrutura e funcionamento dos JSON Web Tokens, incluindo criação, verificação, segurança de armazenamento e validação de tokens.
- Implementação de Autenticação com JWT: Passo a passo de implementação de autenticação com JWT em aplicações, incluindo práticas de renovação e expiração de tokens.
- Listas de Controle de Acesso (ACL): Definição de ACL, como configurá-las para controle de permissões em diferentes recursos e o papel das ACLs na segurança de aplicações.
- Controle de Acesso Baseado em Papéis (RBAC): Conceito e implementação de RBAC para organização de permissões baseadas em papéis, facilitando a gestão de permissões em sistemas com múltiplos usuários.
- Comparando ACL e RBAC: Análise dos cenários de uso para ACL e RBAC, vantagens e limitações de cada abordagem para diferentes tipos de aplicação.
- Segurança e Melhores Práticas: Práticas recomendadas para o uso seguro de JWT, ACL e RBAC, incluindo armazenamento de tokens, prevenção de vazamento de permissões e políticas de acesso.
Habilidades Adquiridas
Ao final do curso, você será capaz de implementar autenticação segura com JWT, criar e gerenciar ACLs para controle preciso de permissões e aplicar RBAC para uma gestão escalável de acessos. Também aprenderá a integrar JWT, ACL e RBAC em aplicações com práticas recomendadas de segurança para proteger dados sensíveis.

Fundamentos de Cloud e deploy AWS
Explore desde a estrutura interna do Git até estratégias avançadas de colaboração e automação com GitHub. Uma visão detalhada para otimizar e gerenciar o fluxo de projeto, resolver conflitos complexos e implementar práticas modernas em equipes distribuídas.
Descrição do Curso
Explore desde a estrutura interna do Git até estratégias avançadas de colaboração e automação com GitHub. Uma visão detalhada para otimizar e gerenciar o fluxo de projeto, resolver conflitos complexos e implementar práticas modernas em equipes distribuídas.
Principais Tópicos
- Fundamentos de Cloud Computing: Conceitos básicos de cloud computing, tipos de nuvem (pública, privada, híbrida) e seus modelos de serviço (IaaS, PaaS, SaaS), benefícios da computação em nuvem: escalabilidade, elasticidade, custo-benefício e alta disponibilidade, estratégias de migração e adoção para o modelo de nuvem, comparação entre provedores AWS, Azure e Google Cloud.
- Fundamentos da AWS: Arquitetura e principais serviços da AWS, Configuração inicial de conta na AWS e práticas de segurança (IAM roles e políticas detalhadas), conceitos de regiões, zonas de disponibilidade e arquitetura global e latência, introdução a AWS Management Console e AWS CLI.
- Gerenciamento e Deploy de Recursos na AWS: Criação e gerenciamento de instâncias EC2, configuração de redes com VPC (Virtual Private Cloud) privadas e públicas, armazenamento em nuvem com S3 (Simple Storage Service), ciclo de vida de objetos e segurança com políticas de buckets, deploy de aplicações com Elastic Beanstalk e Cloud Formation e cenários de auto-escalonamento e balanceamento de carga, gerenciamento de banco de dados com RDS.
- Infraestrutura como código (IaC) e automação de pipeline: Introdução a IaC e suas vantagens, implementação de IaC com AWS CloudFormation e Terraform, deploy manual vs automatizado e melhores práticas, configuração do Github Actions e integração contínua e deploy na AWS, criação de pipeline CI/CD com Github Actions com automação de build, testes e deploy, integração de IaC nos pipelines com Github Actions e AWS Codepipeline.
- Segurança, Monitoramento e Gestão de Recursos na AWS: Práticas avançadas de segurança com IAM: roles, políticas e melhores práticas, gerenciamento de backups e recuperação de desastres com AWS Backup e RDS Snapshot.
- Custos, Otimização e Estratégias Avançadas na Nuvem: Estrutura de custos da AWS e como otimizar gastos em projetos complexos, ferramentas avançadas de otimização de custos, como AWS Cost Explorer, Savings Plans e Reserved Instances, escolha de tipos de instância e serviços ideais para diferentes workloads, implementação de arquiteturas econômicas com serverless e armazenamento em camadas (S3 Glacier e Infrequent Access).
Habilidades adquiridas
Ao final do curso, o aluno será capaz de configurar e personalizar o Git e GitHub, implementar fluxos de trabalho como GitFlow, resolver conflitos, reescrever históricos, automatizar tarefas com hooks e GitHub Actions, gerenciar a segurança em repositórios e analisar mudanças e desempenho em projetos complexos.
Laboratórios práticos
Os Laboratórios Práticos do Full Cycle 4.0 Juniors colocam você frente a frente com situações reais do mercado através de estudos de caso para ampliar suas habilidades. Coloque seus conhecimentos em prática e aprofunde-se em cada tema, integrando o aprendizado ao seu dia a dia.



* As soluções dos laboratórios poderão ser apresentadas pelos nossos tutores em mais de uma linguagem de programação, conforme a abordagem mais adequada para cada caso.
Seja desafiado com problemas do dia a dia enfrentados por devs de grandes empresas
Coloque a mão no código e crie sua própria solução
Tenha acesso a implementação realizada pelos nossos professores
Utilize os insights aprendidos e comece os aplicar ainda hoje na sua empresa
A estrutura que você precisa para acelerar seu aprendizado
Nossa plataforma oferece uma experiência de aprendizado imersiva e personalizada, moldada para acompanhar seu ritmo e estilo de estudo.
-
Plataforma Full Cycle
A plataforma Full Cycle foi desenvolvida sob medida para proporcionar o melhor aprendizado em cursos de tecnologia. Ela oferece vídeos de alta qualidade, trilhas de aprendizagem organizadas, resolução prática de desafios técnicos, suporte 24/7 com inteligência artificial, fóruns de discussão ativos e muito mais, tudo voltado para aprimorar suas habilidades e acelerar sua carreira. -
Suporte 24/7 integrado com IA
- Com a nossa Inteligência Artificial no comando, obtenha respostas rápidas, precisas e confiáveis para suas questões mais desafiadoras.
- Tenha a possibilidade de tirar dúvidas específicas referente ao curso de forma individual com seus tutores
- Experimente o poder da tecnologia de ponta enquanto interage com uma comunidade engajada de alunos como você.
-
Não deixe nenhuma dúvida passar. Participe de nosso fórum de discussão.
- Tire dúvidas em grupo e individualmente com nossos tutores
- Receba respostas imediatas através de nossa inteligência artificial
- Aprenda diariamente com a base de conhecimento gerada pelos nossos alunos e tutores
-
Correção de desafios técnicos
Receba feedback personalizado de nossos tutores para cada desafio técnico, acelerando seu aprendizado
e garantindo um progresso constante na sua carreira. -
Certificado
Emita seu certificado de conclusão a cada curso concluído e compartilhe com o mercado suas novas habilidades.
Para quem é o curso ?
O Full Cycle 4.0 Juniors foi criado para desenvolvedores que desejam se preparar para os próximos desafios na carreira, consolidando seus conhecimentos e dominando tecnologias e metodologias usadas pelas grandes empresas. O curso é ideal para quem já tem uma base em programação, banco de dados, orientação a objetos e que possuem em torno de 1 a 2 anos de experiência. Se você já desenvolveu alguma aplicação antes. Esse curso é para você. Assista ao vídeo:


Empresas que contratam nossos alunos
Com o Curso Full Cycle, muitos profissionais ampliam suas oportunidades e conquistam posições nas maiores empresas do mercado. Faça sua matrícula e dê o próximo passo para atuar em projetos de grande porte e se destacar onde quer que você vá.











Full Cycle 4.0 Juniors
Por apenas R$ 649,00 à vista
ou em 12x de R$ 59,00 no cartão


(Cartão de crédito, Boleto à vista, Pix)