.NET Core: um curso orientado para o mercado de trabalho
- Descrição
- Currículo
- FAQ
- Revisões
Você está pronto para APRENDER COM UM PROJETO REAL e desbloquear seu potencial como dev .NET e levar suas habilidades para o próximo nível? Já se perguntou: como funciona o pipeline de trabalho em grandes empresas? Ou teve dúvidas como: minha equipe está de fato seguindo bons princípios de desenvolvimento? Não precisa procurar mais! Este curso é para você e o transformará em um dev experiente capaz de criar APIs robustas, implantá-las no Azure e integrar recursos como Chat-GPT, Login com Google … e tudo isso enquanto domina as ferramentas e práticas essenciais.
De forma prática, simples e divertida, meu objetivo neste curso é fazer com que você:
-
Crie uma API do zero: vou te orientar em todas as etapas, desde a configuração do projeto até a criação de endpoints avançados, docker image e pipelines.
-
Publicação no Azure: Aprenda a publicar com confiança suas APIs em um ambiente de produção usando o Microsoft Azure.
-
Login com Google: Implementa autenticação segura e fácil de usar usando o Google OAuth para seus aplicativos.
-
Integração com o Chat GPT: Saiba como integrar o Chat GPT em sua API para geração de textos.
-
Pipelines CI/CD: Automatize e otimize seus processos de desenvolvimento com pipelines CI/CD, garantindo entregas contínuas e de alta qualidade.
-
Testes unitários & integração: Eleve a qualidade do seu código dominando as técnicas de teste de unidade para evitar falhas na suas regras de negócio.
-
Domain-Driven Design (DDD): Arquitete sua API com os princípios do DDD para aumentar a escalabilidade, a capacidade de manutenção e melhorar a organização do projeto.
-
Scrum: Adote as práticas do Agile Scrum para agilizar seu processo de desenvolvimento, aprimorar a colaboração e fornecer resultados mais rapidamente.
-
Princípios SOLID: Domine os princípios SOLID para criar um código robusto, sustentável e dimensionável.
-
Sonar Cloud: Monitore e melhore a qualidade da sua base de código com o Sonar Cloud, uma ferramenta líder de análise de código.
Seja você um iniciante que deseja entrar no mundo do .NET ou um desenvolvedor experiente que deseja aprimorar suas habilidades e integrar recursos de IA, este curso é seu recurso definitivo para o sucesso. Junte-se a mim hoje e embarque em uma jornada para se tornar um desenvolvedor .NET!
Vamos construir juntos uma API em .NET core do zero. Será 20% Teoria e 80% Prática. É uma oportunidade imperdível, não perca tempo e se matricule já!
Um curso com todo esse conteúdo vai te poupar tempo, pois você não vai precisar errar várias vezes como eu errei, participar de vários projetos para aprender e ter experiência. Aqui você vai ter acesso vitalício às aulas e em poucas horas aprender dicas de desenvolvimento, conselhos sobre trabalho em equipe, e muito mais. Novos vídeos serão disponibilizados no futuro, sem nenhum custo adicional. Se não estiver satisfeito, pode pedir seu dinheiro de volta em até 30 dias, não se preocupe. É uma oportunidade imperdível, não perca tempo e se matricule já!
-
1O que vamos aprender?Vídeo Aula
Nesta aula introdutória, vou te explicar o que você aprenderá e desenvolverá ao longo do nosso curso focado em criar APIs com .NET. Abordaremos desde os fundamentos do desenvolvimento de APIs, como criar endpoints eficientes, até práticas avançadas, incluindo autenticação, segurança, e integração com bancos de dados. Além disso, detalharemos o projeto prático que você irá construir: uma API RESTful completa, que servirá como um exemplo real de como aplicar as melhores práticas e padrões de design no .NET. Esse projeto não apenas consolidará seu aprendizado, mas também se tornará um valioso item no seu portfólio.
-
2Um Guia para a estrutura do cursoVídeo Aula
Nesta aula, eu vou te guiar através da estrutura completa do curso na Udemy, te preparando para aproveitar ao máximo sua experiência de aprendizado. Eu explicarei como o curso é organizado em seções que progridem de conceitos básicos a avançados, abrangendo temas cruciais em desenvolvimento .NET como injeção de dependência, padrões de design, e construção de APIs. Detalharei a abordagem pedagógica adotada, que inclui vídeo-aulas e leituras, culminando com um projeto final.
-
3Instalação MySql ServerVídeo Aula
Em nossa próxima lição, irei orientá-lo minuciosamente na instalação do MySQL, um componente fundamental no universo do desenvolvimento .NET. Vamos explorar cada etapa da instalação, as configurações necessárias e as dicas para garantir que você esteja pronto para lidar com bancos de dados MySQL de maneira eficaz em seus projetos.
-
4Instalação SQL ServerVídeo Aula
Nesta aula, irei conduzi-lo passo a passo na instalação do SQL Server. Vamos explorar cuidadosamente o processo de instalação, as configurações necessárias e as melhores práticas para garantir que você esteja preparado para gerenciar bancos de dados de forma eficiente em seus projetos.
-
5Configurar DevOpsVídeo Aula
Irei guiá-lo no processo de criação de uma conta no Azure DevOps e em sua configuração inicial. Vamos explorar passo a passo como estabelecer sua presença na plataforma, configurar seus projetos, equipes e definir processos de desenvolvimento. Você aprenderá a tirar o máximo proveito do Azure DevOps para gerenciar eficazmente seu ciclo de vida de desenvolvimento de software, garantindo uma colaboração suave e uma entrega de projetos bem-sucedida.
-
6Instalando GIT/GIT Flow & Criando RepositórioVídeo Aula
Na aula de hoje, abordaremos a instalação da linha de comando do Git e o processo de criação e clonagem de repositórios no Azure DevOps. Você aprenderá como configurar o Git na sua máquina, criar repositórios e, em seguida, cloná-los no Azure DevOps. Essas habilidades essenciais permitirão que você gerencie e colabore eficazmente em projetos de desenvolvimento, garantindo um fluxo de trabalho de versionamento suave e eficiente.
-
7Solicitando Permissão à Microsoft para Executar Pipelines no Seu ProjetoVídeo Aula
Nesta aula vou orientar você no processo prático de solicitar permissão à Microsoft para executar pipelines em seu projeto no Azure DevOps. Certifique-se de ter acesso adequado e se necessário, faça a solicitação de permissões adicionais à Microsoft para garantir uma execução eficiente e segura de seus pipelines. Ao compreender esses passos essenciais, você estará pronto para avançar na implementação dos pipelines em seu projeto.
-
8GitFlow: Por Que e Como Utilizar Esse Modelo de RamificaçãoVídeo Aula
Nesta aula, vou explicar o conceito de GitFlow, um modelo de ramificação para Git que otimiza o desenvolvimento e a entrega de projetos de software. Discutirei por que o GitFlow é uma escolha popular entre equipes de desenvolvimento, destacando como sua estrutura padronizada facilita o gerenciamento de versões, a colaboração em equipe, e o ciclo de vida de lançamento de software. Explorarei os principais aspectos do GitFlow, incluindo as ramificações de feature, develop, release, hotfix, e master, e como cada uma serve a um propósito específico no processo de desenvolvimento.
-
9Boas Práticas para Mensagens de Commit: Estruturando para ClarezaVídeo Aula
Nesta aula, vou compartilhar as melhores práticas para escrever mensagens de commit claras e eficazes, um componente fundamental para a manutenção e compreensão de projetos de software. Discutiremos a estrutura ideal de uma mensagem de commit, enfatizando a importância de um título conciso seguido por uma descrição detalhada que explique o "porquê" por trás das mudanças, não apenas o "o que" foi alterado. Abordarei exemplos de boas e más práticas, e como utilizar convenções padrão para facilitar a leitura e o entendimento das alterações por toda a equipe.
-
10Status Codes HTTP no Desenvolvimento de APIsVídeo Aula
Nesta aula, eu vou desvendar o mundo dos status codes HTTP, elementos cruciais para a comunicação eficaz entre clientes e servidores em aplicações web. Vou explicar o significado e a importância dos status codes, e como eles são utilizados para indicar o resultado de uma requisição HTTP. Cobrirei os status codes mais comuns e relevantes para o desenvolvimento de APIs, como os da série 200 (sucesso), 400 (erros do cliente) e 500 (erros do servidor), detalhando quando e por que cada um é utilizado. Ao entender esses códigos, você estará preparado para implementar respostas HTTP apropriadas em suas APIs, melhorando a comunicação com os consumidores da sua aplicação e facilitando o diagnóstico de problemas.
-
11Introdução - O que é Scrum?Vídeo Aula
Nesta aula, te apresentarei o SCRUM e vou compará-lo com o método Cascata, um modelo tradicional de desenvolvimento de software. Abordaremos como o SCRUM promove flexibilidade e adaptação através de ciclos iterativos e incrementais, contrastando com a abordagem sequencial e rígida do Cascata, onde as fases do projeto são completadas uma após a outra sem sobreposição. Esta comparação esclarecerá por que o SCRUM é preferido em ambientes que demandam rapidez e adaptabilidade, em contraste com projetos onde os requisitos são bem definidos e menos propensos a mudanças.
-
12Estruturando o Time SCRUM: Papéis e ResponsabilidadesVídeo Aula
Nesta aula, focaremos na construção de um time SCRUM, detalhando os papéis fundamentais dentro da equipe e suas respectivas responsabilidades. Explicaremos o papel do Scrum Master, responsável por garantir que a equipe siga as práticas e princípios do SCRUM; do Product Owner, que prioriza o trabalho com base no valor que traz para o negócio; e do Time de Desenvolvimento, um grupo multifuncional que trabalha em colaboração para entregar o produto.
-
13Product Backlog vs. Sprint BacklogVídeo Aula
Nesta aula, vamos explorar as diferenças fundamentais e a importância do Product Backlog e do Sprint Backlog no framework SCRUM. O Product Backlog é uma lista ordenada de tudo que é necessário no produto e é constantemente priorizado pelo Product Owner. Abrange uma ampla gama de requisitos, incluindo funcionalidades, melhorias e correções necessárias para o produto. Por outro lado, o Sprint Backlog é um conjunto de itens do Product Backlog selecionados para a Sprint, além de um plano para entregar o incremento do produto e alcançar o objetivo da Sprint.
-
14Sprint PlanningVídeo Aula
Nesta aula, vamos explorar a Sprint Planning, uma cerimônia chave no processo SCRUM que estabelece o tom para o sucesso da sprint. Discutiremos como durante essa reunião, o time SCRUM, incluindo o Product Owner, o Scrum Master e o Time de Desenvolvimento, colabora para definir o que pode ser entregue na próxima sprint e como o trabalho será realizado. Abordaremos técnicas para priorizar itens no Product Backlog, estabelecer objetivos claros e realistas para a sprint, e dividir tarefas complexas em itens de trabalho menores e gerenciáveis.
-
15Estimativas de Tarefas no SCRUM: Técnicas e PráticasVídeo Aula
Nesta aula, mergulharemos nas técnicas e práticas para estimar e pontuar tarefas no contexto do SCRUM. Explicaremos como a estimativa de tarefas é crucial para planejar sprints eficazes e garantir que o time de desenvolvimento possa entregar o valor esperado dentro do prazo. Abordaremos o método de estimativa Planning Poker. Discutiremos a importância do consenso dentro da equipe ao estimar tarefas, promovendo uma compreensão compartilhada dos desafios e capacidades do time.
-
16Daily Scrum: Propósito e PráticaVídeo Aula
Nesta aula, vamos nos concentrar na Daily Scrum, uma cerimônia essencial no SCRUM que promove a comunicação eficiente e o alinhamento constante da equipe. Explicaremos o objetivo da Daily Scrum, que é uma reunião curta, geralmente limitada a 15 minutos, onde o Time de Desenvolvimento se atualiza sobre o progresso em direção aos objetivos da Sprint e planeja o trabalho para as próximas 24 horas. Discutiremos a estrutura da reunião, incluindo as três questões fundamentais que cada membro deve responder: o que foi feito desde a última Daily Scrum, o que será feito até a próxima, e quais obstáculos estão impedindo o progresso. Além disso, abordaremos como o Scrum Master pode facilitar essa cerimônia para garantir que seja produtiva e focada, ajudando a identificar e remover impedimentos rapidamente. Ao fim desta aula, os alunos entenderão como a Daily Scrum pode ser usada para manter a equipe sincronizada, identificar desafios precocemente e ajustar o plano de ação diariamente para garantir o sucesso da Sprint.
-
17Sprint ReviewVídeo Aula
Nesta aula, exploraremos a Sprint Review, um evento crucial no SCRUM que ocorre ao final de cada Sprint para inspecionar o Software que esta sendo construído. Discutiremos o propósito desta cerimônia, que é reunir o Scrum Team e os stakeholders para apresentar o trabalho realizado durante a Sprint. Explicarei como preparar e conduzir uma Sprint Review produtiva, enfatizando a importância de demonstrar as funcionalidades desenvolvidas, recolher feedback valioso dos stakeholders e discutir o que isso significa para os próximos passos do projeto. Abordaremos também como essa reunião oferece uma oportunidade para o Product Owner reavaliar prioridades do Product Backlog, refletindo sobre as mudanças no mercado ou na estratégia de negócios.
-
18Sprint RetrospectiveVídeo Aula
Nesta aula, vamos nos aprofundar na Sprint Retrospective, uma cerimônia vital no fim de cada Sprint que permite ao Scrum Team refletir sobre o período que passou para melhorar continuamente. Discutiremos a estrutura e os objetivos desta reunião, focando na importância de criar um ambiente aberto e de confiança onde todos os membros da equipe possam compartilhar seus pensamentos, sentimentos, sucessos e desafios enfrentados durante a Sprint. Abordaremos técnicas eficazes para facilitar a discussão, incluindo a coleta de feedback através de diferentes formatos como "o que foi bem?", "o que pode ser melhorado?" e "o que vamos nos comprometer a mudar na próxima Sprint?".
-
19Introdução ao Domain-Driven DesignVídeo Aula
Nesta aula, mergulharemos no conceito de Domain-Driven Design (DDD). Exploraremos como o DDD oferece uma abordagem estratégica para o desenvolvimento de software, focando na modelagem complexa de domínios de negócio e na criação de soluções software que refletem essas complexidades. Discutiremos os principais pilares do DDD, incluindo a importância da linguagem ubíqua, melhorando a comunicação entre equipes técnicas e stakeholders e desenvolvendo software mais alinhado às necessidades do negócio.
-
20Visão Geral de Projetos .NET com DDDVídeo Aula
Nesta aula, exploraremos a aplicação do Domain-Driven Design (DDD) em projetos .NET, de forma conceitual. Sem entrar em detalhes práticos, vamos discutir como o DDD orienta a estruturação de modelos de domínio e a importância de alinhar o software à complexidade dos negócios. Abordaremos como entidades, objetos de valor e agregados capturam conceitos do domínio, e a relevância de separar a lógica do domínio da infraestrutura. Ao analisar projetos exemplo, destacaremos a implementação de padrões como repositórios e serviços de domínio, além da arquitetura em camadas.
-
21Nosso DDD melhoradoVídeo Aula
Nesta aula, vamos identificar os desafios comuns enfrentados ao aplicar o Domain-Driven Design (DDD) em projetos .NET e propor soluções baseadas nesta mesma abordagem. Apresentarei estratégias para superar esses desafios que facilitam a aderência ao DDD.
-
22Planning no Azure DevOpsVídeo Aula
Na aula sobre a criação de User Stories e tarefas no Azure DevOps, utilizando a metodologia Scrum, você aprenderá a elaborar histórias de usuário eficazes, priorizar tarefas e acompanhar o progresso do projeto. Vamos explorar as práticas ágeis para garantir um planejamento eficiente e uma execução bem-sucedida do seu projeto de desenvolvimento.
-
23Estimando as TarefasVídeo Aula
Na aula de estimativa de tarefas usando pontos de Fibonacci no Azure DevOps, você aprenderá a atribuir valores a cada tarefa de forma ágil e precisa. Isso permite uma melhor compreensão do esforço envolvido e uma gestão mais eficiente do projeto. Vamos explorar como aplicar essa técnica para melhorar a estimativa e o planejamento das tarefas em seu projeto.
-
24Criando projeto no Visual StudioVídeo Aula
Na aula de criação de projetos no Visual Studio com base no Domain-Driven Design (DDD), você aprenderá como estruturar seus projetos de forma eficaz para refletir os conceitos do DDD. Abordaremos a criação de camadas, como a de aplicação, domínio e infraestrutura, e a organização das entidades, repositórios e serviços de domínio. Isso garantirá que seu projeto esteja alinhado com as melhores práticas do DDD, resultando em um código limpo e altamente coeso.
-
25Criando Seu Primeiro Projeto .NET Core com GitVídeo Aula
Nesta aula você aprenderá a dar os primeiros passos cruciais para versionar seu projeto .NET usando o Git. Vamos juntos criar um arquivo .gitignore personalizado para o ambiente .NET, garantindo um controle de versão eficiente e sem complicações. Em seguida, vamos realizar o primeiro commit, marcando o início do seu percurso no controle de versão.
-
26Criando Manualmente o Schema/Database no MySQL e SQL ServerVídeo Aula
Nesta aula prática e hands-on, vamos explorar o processo de criação manual de um schema ou database em dois dos bancos de dados mais populares: MySQL e SQL Server.
-
27Criando Tabela de Usuário Manualmente no MySQL e SQL ServerVídeo Aula
Nesta aula prática, você será guiado passo a passo na criação manual da tabela de usuário em dois bancos de dados essenciais: MySQL e SQL Server. Exploraremos a sintaxe SQL necessária para definir campos como nome, e-mail, senha e outras informações relevantes. Ao final da aula, você terá a habilidade de criar tabelas de usuário personalizadas em ambos os bancos de dados, proporcionando uma base sólida para o desenvolvimento de sistemas de autenticação e gerenciamento de usuários.
-
28Endpoint registrar usuárioVídeo Aula
Na aula sobre a criação do endpoint de registro de usuário, você aprenderá a implementar esse recurso essencial no seu projeto .NET. Exploraremos a criação de APIs RESTful, a definição de rotas e controladores (controllers).
-
29Configurando o Fluxo de Trabalho GitFlow e Realizando CommitVídeo Aula
Nesta aula, você aprenderá a configurar e implementar o GitFlow, um modelo de fluxo de trabalho eficaz para colaboração em projetos Git. Passo a passo, vamos explorar a configuração inicial do GitFlow. Em seguida, realizaremos o primeiro commit seguindo as práticas do GitFlow, marcando o início de um controle de versão estruturado e colaborativo. Prepare-se para elevar suas habilidades de controle de versão para o próximo nível nesta jornada prática com o GitFlow!
-
30Criando a Regra de Negócio para Cadastro de UsuárioVídeo Aula
Nesta aula focada em prática, iremos detalhar a criação da regra de negócio para o cadastro de usuários através da nossa API. Abordaremos conceitos essenciais, como validação de dados, geração de senhas seguras e verificação de informações.
-
31Validando Dados da Requisição com FluentValidationVídeo Aula
Nesta aula prática, vamos explorar como elevar a qualidade das validações de dados em suas requisições utilizando a biblioteca FluentValidation. Passo a passo, você aprenderá a criar validações concisas e expressivas para garantir a integridade dos dados enviados à sua aplicação.
-
32Mensagens de exceçãoVídeo Aula
Na aula sobre a criação de mensagens de exceção em arquivos de recursos, você aprenderá a tirar proveito dos recursos de localização para tornar seu aplicativo mais flexível e acessível em diversos idiomas. Vamos explorar como definir e organizar mensagens de exceção em arquivos de recursos, permitindo a adaptação dinâmica do idioma com base nas preferências do usuário. Isso resultará em uma experiência mais amigável e personalizada para os usuários, independentemente de sua língua ou localização.
-
33Middleware Cultura - Alterando idioma das mensagensVídeo Aula
Na aula de criação de middleware para alterar a cultura da API e fornecer mensagens traduzidas aos usuários, você aprenderá como criar um componente intermediário para detectar e ajustar a cultura com base nas preferências do usuário. Exploraremos como integrar a tradução de mensagens e como personalizar a resposta da API para fornecer informações no idioma apropriado. Isso resultará em uma experiência mais amigável para os usuários, independentemente do idioma que escolham.
-
34Verificando Suporte da Culture na Requisição na APIVídeo Aula
Nesta aula prática, vamos explorar como garantir o suporte adequado para culturas (cultures) enviadas nas requisições à sua API. Aprenderemos a validar e processar culturas de maneira eficiente, considerando suporte linguístico e regional. Abordaremos técnicas para identificar e lidar com culturas suportadas, proporcionando uma experiência mais personalizada para os usuários. Ao final da aula, você terá as habilidades necessárias para implementar uma verificação robusta de suporte de culturas em sua API. Vamos aprimorar a internacionalização e a adaptabilidade em seu projeto!
-
35Criando Exceções Personalizadas: Por Quê e ComoVídeo Aula
Nesta aula exploraremos a importância e o processo de criação de exceções personalizadas em suas aplicações. Discutiremos os motivos para personalizar exceções, como comunicar erros de maneira eficaz e agregar informações específicas para facilitar a depuração. Passo a passo, você aprenderá a criar suas próprias exceções, definindo mensagens claras e adicionando detalhes relevantes. Ao final da aula, você terá uma compreensão sólida de por que e como incorporar exceções personalizadas, melhorando a manutenção e a robustez de seus projetos. Vamos capacitar suas aplicações a comunicarem problemas de forma mais inteligente!
-
36Criando Filtros de Exceções: Como e PorquêVídeo Aula
Abordaremos a importância e o processo de criação de filtros de exceções em suas aplicações. Exploraremos por que os filtros de exceções são essenciais para melhorar a manipulação de erros e como podem aprimorar a experiência do usuário. Demonstraremos passo a passo como criar filtros que capturam e tratam exceções de forma personalizada, proporcionando respostas mais amigáveis e informativas. Ao final da aula, você estará capacitado para implementar filtros de exceções eficazes, fortalecendo a robustez e a usabilidade de seus aplicativos.
-
37Criando a Entidade Usuário no DomínioVídeo Aula
Nesta aula prática, vamos mergulhar na criação da entidade de usuário em seu domínio. Explicaremos a importância de uma sólida modelagem de domínio, discutindo como a entidade de usuário se encaixa no contexto de suas aplicações. Passo a passo, você aprenderá a implementar a entidade, abordando atributos essenciais como nome, e-mail, senha, e qualquer outro dado relevante. Durante o processo, destacaremos práticas recomendadas de design e modelagem de entidades.
-
38Configurando o AutoMapper para MapeamentoVídeo Aula
Nesta aula prática e informativa, vamos explorar como configurar o AutoMapper para facilitar o mapeamento de objetos em suas aplicações .NET. Passo a passo, você aprenderá a instalar e configurar o AutoMapper, criando perfis de mapeamento que automatizam a correspondência entre tipos diferentes. Abordaremos estratégias de mapeamento personalizado, resolução de conflitos e otimizações para melhorar a eficiência. Ao final da aula, você terá as habilidades necessárias para implementar o AutoMapper em seus projetos, simplificando e tornando mais eficiente o processo de mapeamento entre objetos. Vamos simplificar suas operações de mapeamento!
-
39Criptografando SenhasVídeo Aula
Nesta aula crucial, abordaremos a implementação de técnicas de criptografia para garantir a segurança das senhas em suas aplicações. Passo a passo, você aprenderá a utilizar algoritmos seguros e as melhores práticas para armazenar senhas de maneira protegida. Exploraremos conceitos como hash e te ensino uma tecnica extra para aumentar a resistência contra ataques.
-
40DbContext com Entity FrameworkVídeo Aula
Nesta aula vamos explorar o conceito fundamental do DbContext no Entity Framework. Passo a passo, você aprenderá o papel central do DbContext na interação entre sua aplicação e o banco de dados. Discutiremos como configurar o DbContext, definir conjuntos de entidades, e realizar operações CRUD no banco de dados usando o Entity Framework. Durante a aula, destacaremos práticas recomendadas e casos de uso comuns. Ao final, você terá uma compreensão sólida de como aproveitar ao máximo o DbContext para criar aplicações eficientes e orientadas a dados. Vamos aprofundar seus conhecimentos no Entity Framework!
-
41Criando um Repositório de Usuário com Entity FrameworkVídeo Aula
Nesta aula prática, vamos desenvolver um repositório dedicado à entidade de usuário usando o Entity Framework. Passo a passo, você aprenderá a implementar operações básicas de acesso a dados, como adicionar, buscar, atualizar e excluir usuários no banco de dados. Discutiremos boas práticas ao projetar um repositório, garantindo eficiência e manutenibilidade.
-
42Configurando Injeção de Dependência para o Projeto de InfraestruturaVídeo Aula
Nesta aula vamos abordar a configuração da injeção de dependência para fortalecer a modularidade e a escalabilidade do seu projeto de infraestrutura. Passo a passo, você aprenderá a utilizar os recursos de injeção de dependência oferecidos pelo .NET Core para conectar e gerenciar as dependências do seu projeto. Discutiremos como configurar serviços, registrar implementações específicas e como essa prática contribui para a manutenção do código.
-
43Configurando Injeção de Dependência para o Projeto de ApplicationVídeo Aula
Nesta aula prática e orientada, vamos explorar a configuração da injeção de dependência para otimizar o projeto de application. Passo a passo, você aprenderá a utilizar os recursos de injeção de dependência oferecidos pelo .NET Core para conectar e gerenciar as dependências do seu projeto de application. Discutiremos como registrar serviços, injetar dependências em classes e interfaces, e como essa prática promove a modularidade e testabilidade do código.
-
44Testando o Registro de Usuário no MySQL e SQL Server via APIVídeo Aula
Nesta aula prática, vamos focar em garantir que o processo de registro de usuários esteja operando corretamente nos bancos de dados MySQL e SQL Server por meio da API. Destacaremos a importância da função SaveChanges no DbContext e como ela impacta a efetivação das operações no banco de dados. Ao final da aula, você terá a habilidade de garantir que a funcionalidade de registro está totalmente operacional e integrada nos ambientes MySQL e SQL Server.
-
45Recuperando a Connection String do arquivo appsettings.jsonVídeo Aula
Nesta aula prática e informativa, vamos explorar como recuperar a connection string de maneira eficaz do arquivo appsettings.json em suas aplicações .NET. Passo a passo, você aprenderá a utilizar as configurações do .NET para acessar e extrair a connection string do arquivo de configuração.
-
46Recuperando Outros Valores e Tipos do appsettings.jsonVídeo Aula
Nesta aula vamos explorar como recuperar diversos valores e tipos do arquivo appsettings.json em suas aplicações .NET. De forma prática, você aprenderá a utilizar as configurações do .NET para extrair informações além das connection strings, como valores booleanos, números inteiros, etc. Ao final da aula, você estará equipado com as habilidades necessárias para acessar e utilizar diversas configurações de forma flexível e segura em suas aplicações. Vamos aprofundar seu entendimento sobre a gestão de configurações!
-
47Verificando se o e-mail já esta cadastradoVídeo Aula
Nesta aula prática e crucial, vamos explorar a implementação da verificação de e-mail para garantir que não ocorram registros duplicados em sua aplicação. Passo a passo, você aprenderá a verificar se um e-mail já está registrado no banco de dados durante o processo de registro de usuários. Utilizando o Entity Framework.
-
48Criando um Pull Request no Azure DevOpsVídeo Aula
Nesta aula prática, vamos abordar o processo de criação de um Pull Request no Azure DevOps, uma prática crucial para colaboração eficaz em projetos. Passo a passo, você aprenderá a criar uma branch, realizar alterações significativas, e propor essas mudanças através de um Pull Request no ambiente do Azure DevOps. Discutiremos boas práticas, como associar work items, adicionar descrições detalhadas e conduzir revisões de código eficientes.
-
49Aprofundando no Conceito de Pull Request no Azure DevOpsVídeo Aula
Nesta aula avançada, vamos mergulhar profundamente no conceito de Pull Request no Azure DevOps, proporcionando uma compreensão detalhada e abrangente.
-
50Controle de Commits e Políticas na Branch developVídeo Aula
Nesta aula breve, vamos aprender como fortalecer o controle sobre a branch develop no Azure DevOps. Primeiramente, exploraremos como bloquear commits diretos, promovendo boas práticas de branching. Em seguida, veremos como criar políticas específicas para a develop, assegurando revisões de código, testes bem-sucedidos e conformidade com padrões de codificação. Ao final, você terá as habilidades necessárias para estabelecer uma governança robusta em sua branch de desenvolvimento.
-
51Criando o Schema/Database via API Parte 1Vídeo Aula
Nesta aula você aprenderá a configurar sua API para criar dinamicamente o schema ou database.
-
52Criando o Schema/Database via API Parte 2Vídeo Aula
-
53Criando o Schema/Database via API Parte 3Vídeo Aula
-
54Entendendo Migrations e a Utilização do FluentMigratorVídeo Aula
Nesta aula exploraremos o conceito fundamental de migrations, destacando sua importância na gestão controlada do esquema do banco de dados ao longo do tempo. Além disso, discutiremos por que optaremos pelo FluentMigrator, uma ferramenta que oferece simplicidade e flexibilidade através de uma abordagem Fluent Interface na definição e aplicação de migrations. Ao compreender esses conceitos, você estará preparado para evoluir seu banco de dados de maneira eficiente e organizada.
-
55Implementando a Função Up para Criar a Tabela Usuario com FluentMigratorVídeo Aula
Nesta aula, vamos focar na implementação prática da função Up utilizando o FluentMigrator para criar a tabela Usuario. Após configurar o ambiente e criar a migration, você aprenderá a detalhar as especificações da tabela na função Up, utilizando a Fluent API do FluentMigrator para definir colunas, tipos de dados e quaisquer restrições necessárias. Ao final, você estará apto a executar a migration, consolidando uma compreensão valiosa sobre como iniciar eficientemente o uso de migrations em seus projetos.
-
56Configurando Versionamento na API e Testando Migrações no MySQL e SQL ServerVídeo Aula
Nesta aula vamos focar na configuração rápida da sua API para reconhecer diferentes versões. Em seguida, testaremos a execução de migrações, garantindo a consistência em ambientes MySQL e SQL Server. Ao compreender esses passos essenciais, você estará pronto para evoluir e testar seu banco de dados de maneira eficiente em ambientes diversos.
-
57Iniciando Testes de Unidade para o ValidatorVídeo Aula
Nesta aula vamos começar a implementar testes de unidade para o seu validator. Abordaremos a configuração do ambiente de testes, escolha da estrutura de testes mais adequada, e escreveremos testes para o validator, cobrindo diversos cenários e validando o comportamento esperado. Finalizaremos com a execução e avaliação dos resultados, proporcionando uma base sólida para testes de unidade em seu projeto. Vamos dar os primeiros passos na garantia da qualidade do seu código!
-
58Compreendendo a Arquitetura de Funções de TestesVídeo Aula
Nesta aula introdutória, começaremos a jornada de implementação de testes, focando na arquitetura fundamental de funções de teste. Exploraremos os conceitos essenciais, como a estrutura Arrange-Act-Assert (AAA), onde a fase de preparação (Arrange) configura o cenário, a fase de execução (Act) realiza a operação a ser testada, e a fase de verificação (Assert) valida os resultados.
-
59Utilizando o Bogus para Geração de Dados FalsosVídeo Aula
Nesta aula, vou guiar você na utilização eficaz da biblioteca Bogus para gerar dados falsos em testes de unidade. O Bogus simplifica a criação de dados fictícios realistas, permitindo a rápida geração de objetos para cenários de teste. Abordaremos como configurar e personalizar as instâncias do Bogus para atender às suas necessidades específicas, proporcionando uma maneira eficiente e flexível de criar dados de teste consistentes e diversificados. Ao final da aula, você estará apto a integrar o Bogus em seus testes de unidade, aprimorando a qualidade e a abrangência dos seus testes.
-
60Finalizando o teste de Sucesso Utilizando Fluent AssertionsVídeo Aula
Nesta aula, aprenderemos a testar com sucesso utilizando a poderosa biblioteca Fluent Assertions. Vou guiá-lo na implementação de verificações claras e expressivas utilizando Fluent Assertions, proporcionando uma leitura mais intuitiva dos testes. Exploraremos como utilizar a sintaxe encadeada para criar afirmações que refletem de forma precisa o comportamento esperado do código. Ao aplicar Fluent Assertions, você garantirá que seus testes não apenas validem o sucesso, mas também comuniquem claramente a intenção por trás de cada verificação. Ao final desta aula, você estará preparado para elevar a qualidade e a legibilidade dos seus testes de unidade.
-
61Criando Testes de Unidade para Casos de Erro do ValidatorVídeo Aula
Nesta aula prática, abordaremos a criação de testes de unidade específicos para casos de erro no validator. Demonstrarei como estruturar testes que avaliam o comportamento do validator diante de entradas inválidas, garantindo que o código reaja adequadamente a situações de erro.
-
62Utilizando o Theory para Testes ParametrizadosVídeo Aula
Nesta aula, exploraremos como empregar a funcionalidade Theory em testes de unidade. O Theory, uma característica presente no xUnit, permite a criação de testes parametrizados, onde múltiplos conjuntos de dados são fornecidos para uma mesma lógica de teste. Vou demonstrar como utilizar essa abordagem para testar diferentes cenários e comportamentos da sua aplicação de forma eficiente. Com o Theory, você ganhará flexibilidade e poderá garantir que sua lógica de validação seja testada em diversas situações, contribuindo para a robustez do código. Ao final desta aula, você estará capacitado para aplicar o Theory em seus testes de unidade, melhorando a abrangência e eficácia dos seus casos de teste. Vamos simplificar a criação de testes parametrizados!
-
63Iniciando Testes de Unidade para o Use CaseVídeo Aula
Nesta aula prática, daremos os primeiros passos na implementação de testes de unidade para o seu Use Case. Exploraremos como estruturar e organizar testes específicos para garantir que o Use Case atenda aos requisitos funcionais.
-
64Criando Builders para AutoMapper e Classe de Criptografia de SenhaVídeo Aula
Nesta breve aula prática, concentraremos nossos esforços na criação de builders para configurações do AutoMapper e em uma classe específica para criptografia de senhas, destinados a otimizar os testes de Use Case. Esses builders proporcionarão uma maneira eficiente de criar objetos mapeados, enquanto a classe de criptografia garantirá uma abordagem padronizada para cenários de autenticação nos testes. Ao integrar essas ferramentas nos seus testes de Use Case, você estará fortalecendo a consistência e a qualidade dos seus testes de unidade.
-
65Introdução aos Mocks e sua Aplicação PráticaVídeo Aula
Nesta aula introdutória, vamos explorar o conceito de mocks e como aplicá-los de maneira eficaz nos seus testes de unidade. Um mock simula o comportamento de objetos ou componentes reais, permitindo isolar a lógica de teste e garantir um ambiente controlado para verificações específicas. Demonstrarei como criar e utilizar mocks em situações práticas, abordando o cenário de substituir dependências externas por mocks para focar na unidade de código sendo testada. Compreendendo o poder dos mocks, você estará mais preparado para criar testes de unidade robustos e independentes.
-
66Conclusão do Teste de Use Case para o Caso de SucessoVídeo Aula
Nesta última etapa do teste de Use Case, focaremos na conclusão do cenário de sucesso. Ao aplicar assertivas e verificações específicas, garantiremos que o Use Case opera conforme o esperado quando os dados de entrada estão corretos. Com a estruturação cuidadosa do teste, você terá não apenas validado o sucesso do Use Case, mas também criado uma base sólida para testes futuros.
-
67Criando Mocks para Funções com Retorno de ValoresVídeo Aula
Nesta aula, abordaremos a criação de mocks para funções que retornam valores, uma prática fundamental em testes de unidade. Exploraremos como utilizar bibliotecas de mocks, como o Moq, para simular o comportamento de funções específicas e controlar os resultados que essas funções devem retornar durante os testes. Ao compreender a criação de mocks para funções com retorno de valores, você terá uma ferramenta poderosa para isolar componentes, garantindo que seus testes se concentrem na lógica específica sendo avaliada.
-
68Criando Testes de Use Case para ExceçõesVídeo Aula
Nesta aula prática, vou orientar você na criação de testes de Use Case que esperam exceções, um cenário crucial para garantir que seu código lide adequadamente com situações inesperadas. Utilizando técnicas de asserts específicos para exceções, abordaremos como configurar o ambiente de teste para forçar o lançamento de exceções controladas e como verificar se o Use Case trata essas exceções conforme o esperado. Ao compreender como criar testes de Use Case que esperam exceções, você estará preparado para garantir a robustez do seu código mesmo diante de condições adversas.
-
69Compreendendo e Implementando Testes de IntegraçãoVídeo Aula
Nesta aula, vamos explorar o conceito de testes de integração e como implementá-los de maneira eficaz em seu projeto. Os testes de integração visam validar a interação entre diferentes componentes ou módulos do sistema, garantindo a correta colaboração entre eles. Explicarei como configurar cenários de teste que envolvem a integração real de partes distintas da aplicação, destacando a importância de testar o comportamento conjunto do sistema. Ao final, você terá uma visão clara de como os testes de integração complementam os testes de unidade, promovendo uma cobertura mais abrangente e confiável do seu código.
-
70Teste de Integração Completo para o Caso de SucessoVídeo Aula
Nesta aula prática, mergulharemos na execução de um teste de integração completo para um caso de sucesso. Vamos integrar diversos componentes da aplicação, simulando um cenário real e verificando se a colaboração entre esses elementos ocorre conforme esperado. Desde a preparação do ambiente até a execução de asserts específicos para a integração, abordaremos cada passo crucial para garantir que todas as partes do sistema estejam funcionando harmoniosamente em um caso de uso completo. Ao final da aula, você terá experiência prática na implementação de testes de integração, fortalecendo a confiabilidade e a coesão do seu código.
-
71Configurando Banco de Dados In-Memory para Testes de IntegraçãoVídeo Aula
Nesta aula, vamos explorar a importância de utilizar um banco de dados in-memory para testes de integração e como configurá-lo de maneira eficaz. Um banco de dados in-memory oferece a vantagem de ser leve e eficiente, proporcionando uma solução rápida e isolada para os testes, sem afetar o estado do banco de dados real. Vou orientar você na configuração desse ambiente de teste, abrangendo desde a escolha da biblioteca apropriada até a criação de cenários que garantam a integridade e a consistência dos dados durante os testes de integração.
-
72Testando o Caso de Sucesso com Banco de Dados In-MemoryVídeo Aula
Nesta aula prática, daremos continuidade ao teste de integração, agora incorporando a utilização de um banco de dados in-memory. Demonstrarei como configurar o ambiente de teste para simular um banco de dados real de forma rápida e eficiente, proporcionando um cenário controlado para o caso de sucesso.
-
73Testando Erros em Cenários de IntegraçãoVídeo Aula
Nesta aula, vamos explorar a criação de testes de integração específicos para cenários que esperam erros, assegurando que sua aplicação lida de forma adequada com situações inesperadas. Utilizando um ambiente de banco de dados in-memory, demonstrarei como configurar testes que forcem a ocorrência de erros controlados, permitindo verificar se o sistema responde corretamente a essas exceções. Desde a preparação do cenário até a validação do comportamento esperado, você ganhará expertise na criação de testes de integração que abordam e validam o tratamento de erros.
-
74Verificando Idiomas nas Mensagens de Erro da APIVídeo Aula
Nesta aula, abordaremos a importância de verificar se a API retorna mensagens de erro no idioma correto, uma consideração crucial para a experiência do usuário. Demonstrarei como criar testes de integração que validam se as mensagens de erro estão adequadas ao idioma definido.
-
75Integrando Projeto no Azure DevOps com SonarCloudVídeo Aula
Nesta aula, conduzirei você por um guia passo a passo para integrar seu projeto no Azure DevOps com o SonarCloud, uma combinação fundamental para garantir a qualidade contínua do código. Desde a configuração inicial do projeto no SonarCloud até a incorporação das análises no seu pipeline no Azure DevOps, cada passo será explicado de forma clara.
-
76Criando um Pipeline de Integração com SonarCloudVídeo Aula
Nesta aula, você será guiado na criação de um pipeline no Azure DevOps, integrando-o de maneira direta e eficaz ao SonarCloud. Abordaremos desde a configuração inicial do pipeline até a inclusão das análises do SonarCloud, assegurando uma integração contínua que avalia a qualidade do código automaticamente. Ao final, você terá um pipeline configurado para incorporar análises do SonarCloud em seu fluxo de desenvolvimento, fortalecendo a garantia de qualidade em seu projeto.
-
77Corrigindo Security HotspotsVídeo Aula
Nesta aula, vamos abordar a correção de security hotspots, áreas destacadas pelo SonarCloud como potenciais vulnerabilidades de segurança no código. Explorarei passo a passo como identificar e corrigir esses hotspots, adotando boas práticas de segurança para fortalecer seu código. Ao explicar os conceitos por trás de cada correção, você ganhará uma compreensão aprofundada de como mitigar riscos de segurança em seu projeto.
-
78Corrigindo Code SmellsVídeo Aula
Nesta aula, abordaremos o processo detalhado de correção de code smells, identificados pelo SonarCloud como áreas do código que podem ser otimizadas para melhor legibilidade e manutenibilidade. Passo a passo, vou guiá-lo na identificação desses code smells e na aplicação de correções práticas, utilizando técnicas que não apenas eliminam os problemas, mas também promovem um código mais claro e eficiente. Ao final desta aula, você não apenas terá corrigido os code smells no seu projeto, mas também desenvolvido um entendimento aprofundado sobre como manter um código limpo e resiliente ao longo do tempo.
-
79NotNullWhen no C#Vídeo Aula
Nesta aula, vamos mergulhar no atributo NotNullWhen do C#, uma ferramenta poderosa para o controle de fluxo de código baseado em análise de nulidade. Vou explicar como o NotNullWhen é utilizado para informar ao compilador as expectativas sobre a nulidade de parâmetros e retornos de métodos sob certas condições, melhorando a segurança do tipo e reduzindo a possibilidade de erros de NullReferenceException. Através de exemplos práticos, demonstraremos como aplicar o NotNullWhen em cenários comuns, como em métodos de validação ou funções que retornam um valor booleano indicando o sucesso da operação e, simultaneamente, um resultado por referência.
-
80Ajustando a Cobertura de Testes Identificada pelo SonarCloudVídeo Aula
Nesta aula, concentraremos nossos esforços na correção da cobertura de testes, conforme apontada pelo SonarCloud. Vou guiá-lo através do processo de identificação das áreas com cobertura insuficiente e, em seguida, demonstrar estratégias práticas para melhorar essa cobertura.
-
81Reavaliação das Métricas no SonarCloud Após CorreçõesVídeo Aula
Nesta aula, abordaremos o processo de reavaliação das métricas no SonarCloud após a correção de todos os números identificados. Passo a passo, vou guiá-lo na revisão das métricas-chave, destacando como as correções implementadas impactaram positivamente a qualidade do código. Analisaremos indicadores como maintainability, reliability, security, e coverage, fornecendo insights valiosos sobre o progresso alcançado. Essa reavaliação não apenas valida as melhorias realizadas, mas também oferece uma visão clara do impacto das ações corretivas na qualidade geral do projeto.
-
82Review da Sprint 1: Avaliando Progresso e Oportunidades de MelhoriaVídeo Aula
Realizaremos uma análise abrangente do progresso alcançado e identificaremos oportunidades de melhoria. Vou guiar você na avaliação dos objetivos definidos para a Sprint, revisando entregas, marcos e a eficácia do time. Discutiremos conquistas notáveis, desafios enfrentados e lições aprendidas durante a Sprint.
-
83Realizando Retrospectiva do Projeto no Azure DevOpsVídeo Aula
Vou guiá-lo através do processo de conduzir uma retrospectiva eficiente no Azure DevOps. Desde a configuração do ambiente até a análise dos resultados da Sprint, enfocaremos a identificação de oportunidades de melhoria e ações específicas para impulsionar o progresso contínuo do projeto. Aprenderemos a facilitar a colaboração da equipe e promover um ambiente propício ao feedback construtivo.