Dê um passo além de Júnior: Acelere sua carreira e conquiste seu espaço nas maiores empresas do mercado.

Conteúdo Estruturado

Laboratórios Práticos

Desafios Técnicos

Correção Individualizada

Não é desenvolvedor Júnior? Clique aqui e conheça o Curso Full Cycle 4.0

Aprenda na prática com:

Conteúdo Estruturado

Desafios Técnicos

Laboratórios Práticos

Correção Individualizada

Suporte 24/7 com IA

Não é desenvolvedor Júnior? Clique aqui e conheça o Curso Full Cycle 4.0

Pré-matrícula

Interessado no curso Full Cycle 4.0 Juniors?
Entre agora para a lista de pré-matrícula e seja avisado com antecedência antes da abertura oficial!

Fazer Pré-Matrícula

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.

Sobre

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

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

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

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.

Pilares do curso

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

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.

Ver mais

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

  1. 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 e git stash configuração avançada no .gitconfig e criação de aliases personalizados, debugging e recuperação de histórico com git reflog.
  2. Fluxos de Trabalho Avançados (GitFlow e suas Variações): Diferenças e usos de rebase e merge, implementação do GitFlow tradicional com estruturas de branches como master, develop, feature, hotfix e release, 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.
  3. 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 e git 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.
  4. 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.
  5. 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

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.

Ver mais

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

  1. 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.
  2. 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.
  3. 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.
  4. 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 e health 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.
  5. 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.
  6. 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

Docker para desenvolvimento

Aprenda a configurar ambientes Docker eficientes para desenvolvimento, otimizando a produtividade e garantindo portabilidade nos projetos.

Ver mais

Descrição do Curso

Aprenda a configurar ambientes Docker eficientes para desenvolvimento, otimizando a produtividade e garantindo portabilidade nos projetos.

Principais Tópicos

  1. Montagem de Dockerfile e Docker Compose: Crie e configure imagens e serviços Docker com Docker Compose para ambientes de desenvolvimento consistentes.
  2. Docker Compose Avançado: Utilize include, extends, profiles, watch e project name para modularizar e organizar composições Docker.
  3. Docker no VSCode com DevContainer: Configure ambientes de desenvolvimento dedicados no VSCode usando DevContainer para mais produtividade.
  4. Docker em outras IDEs: Integre Docker com outras IDEs, adaptando-se ao seu ambiente de preferência.
  5. Redes entre containers e host.docker.internal: Conecte containers e crie redes que facilitam a comunicação entre serviços no ambiente local.
  6. 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)

Programação orientada a objetos (OOP)

Explore a Programação Orientada a Objetos (OOP) desde os fundamentos até conceitos avançados, abrangendo princípios, práticas e padrões de design para aplicar OOP de forma eficiente em projetos, garantindo modularidade, reutilização de código e robustez nas soluções.

Ver mais

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:

  1. Introdução à Arquitetura MVC: Explicação da separação de responsabilidades em três camadas: Apresentação, Negócios e Dados.
  2. Camada de Apresentação: Como implementar a camada de interface com o usuário e comunicação com a camada de negócios.
  3. Camada de Negócios: Implementação da lógica de negócios, regras de validação, e manipulação de dados.
  4. Camada de Dados: Gerenciamento de persistência, consultas, e operações de banco de dados.
  5. 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.
  6. 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.
  7. 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

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.

Ver mais

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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

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.

Ver mais

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

  1. Introdução ao REST: Compreenda o conceito de REST, sua importância e como ele influencia o desenvolvimento de APIs web.
  2. 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.
  3. Métodos HTTP: Estude os principais métodos HTTP (GET, POST, PUT, DELETE) e suas funções no ciclo de vida de uma API.
  4. 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.
  5. 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.
  6. 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.
  7. 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

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.

Ver mais

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

  1. Pirâmide de Testes: Compreenda a estrutura da pirâmide de testes para equilibrar testes unitários, de integração e end-to-end.
  2. Introdução ao TDD: Conceitos fundamentais do TDD e como ele se diferencia das práticas tradicionais de desenvolvimento.
  3. 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.
  4. Escrita de Testes Unitários: Desenvolva testes unitários eficazes que atuam como guia para o código a ser implementado.
  5. Refatoração Orientada a Testes: Técnicas para refatorar continuamente, mantendo o código limpo e aderente aos testes.
  6. 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.
  7. 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

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.

Ver mais

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

  1. Introdução à Arquitetura MVC: Explicação da separação de responsabilidades em três camadas: Apresentação, Negócios e Dados.
  2. Camada de Apresentação: Como implementar a camada de interface com o usuário e comunicação com a camada de negócios.
  3. Camada de Negócios: Implementação da lógica de negócios, regras de validação, e manipulação de dados.
  4. Camada de Dados: Gerenciamento de persistência, consultas, e operações de banco de dados.
  5. 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.
  6. 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.
  7. 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

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.

Ver mais

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

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.

Ver mais

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

  1. 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.
  2. 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.
  3. Gerenciamento de Conexões: Técnicas para gerenciar conexões ao banco de dados, incluindo pooling e configuração de timeout.
  4. 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.
  5. Í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.
  6. 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.
  7. 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

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.

Ver mais

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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

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.

Ver mais

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Laboratórios práticos Laboratórios práticos
Seta

* 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.

1

Seja desafiado com problemas do dia a dia enfrentados por devs de grandes empresas

2

Coloque a mão no código e crie sua própria solução

3

Tenha acesso a implementação realizada pelos nossos professores

4

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.
    Laboratório Prático
  • 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ê.
    Laboratório Prático
  • 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
    Laboratório Prático
  • 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.

    Laboratório Prático
  • Certificado

    Emita seu certificado de conclusão a cada curso concluído e compartilhe com o mercado suas novas habilidades.

    Laboratório Prático

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.
Laboratório Prático

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ê.
Laboratório Prático

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
Laboratório Prático

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.

Laboratório Prático

Certificado

Emita seu certificado de conclusão a cada curso concluído e compartilhe com o mercado suas novas habilidades.

Laboratório Prático

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á.

Microsoft
Mercado Livre
Ifood
Itaú
NuBank
Bradesco
Globo
Totvs
Stone
Picpay
Elo
Stefanini