Sobre o Canal Felix Gilioli
Seja bem-vindo ao meu canal de Dicas e Tutoriais sobre Engenharia de Software! Aqui, você encontrará uma variedade de conteúdos úteis e práticos sobre o mundo da programação, desde dicas de desenvolvimento de software até estratégias de gerenciamento de projetos.
Acesse o canal no YouTube
[TUTORIAL] Como Deixar sua Aplicação Spring Boot Mais Rápida com Imagem Nativa
🔧 Neste tutorial você vai aprender como deixar sua aplicação Spring Boot mais rápida gerando uma imagem nativa com Spring Native! Se você está começando com Spring Boot e quer entender como melhorar o tempo de inicialização e reduzir o consumo de memória da sua aplicação, este vídeo é para você. Aqui eu mostro passo a passo como configurar seu projeto para gerar um executável nativo usando o Spring Native — tudo de forma simples e direta, ideal para quem está começando! ✅ O que você vai aprender neste vídeo: * O que é uma imagem nativa e por que usar * Como funciona o Spring Native * Geração da imagem nativa na prática * Dicas para evitar erros comuns no processo 🚀 Melhore a performance da sua aplicação Spring Boot com esse passo a passo simples! 📌 Links úteis 👉 Documentação oficial do Spring Native: [https://docs.spring.io/spring-boot/how-to/native-image/developing-your-first-application.html] 👉 Instalação do Docker: [https://docs.docker.com/desktop/setup/install/windows-install/] 🔔 Inscreva-se no canal e ative o sininho para mais conteúdos sobre Java, Spring Boot e performance!
[TUTORIAL] Como Criar um Banco de Dados PostgreSQL na AWS RDS
📌 [TUTORIAL] Como Criar um Banco de Dados PostgreSQL na AWS Quer aprender a criar um banco de dados PostgreSQL na AWS de forma rápida e simples? Neste vídeo, eu te mostro passo a passo como configurar um banco de dados no AWS RDS, ideal para quem está começando ou deseja otimizar sua infraestrutura na nuvem. 🔹 O que você vai aprender: ✅ Como criar uma instância do PostgreSQL na AWS ✅ Configuração básica do banco de dados no Amazon RDS ✅ Dicas para acessar e gerenciar o PostgreSQL na nuvem 💡 Se este vídeo te ajudou, não esqueça de deixar o like 👍 e se inscrever no canal para mais tutoriais sobre AWS, PostgreSQL e desenvolvimento! 🔔 Ative as notificações para não perder os próximos conteúdos! 📌 Links úteis: 📌 PostgreSQL na AWS RDS: [Link para a documentação oficial](https://docs.aws.amazon.com/rds/) 📌 Cliente DBeaver: [Link para download](https://dbeaver.io/download/) #AWS #PostgreSQL #BancoDeDados #TutorialAWS #Desenvolvimento #Cloud #AWSRDS
[TUTORIAL] Spring Boot + FreeMarker: Como Criar Templates Dinâmicos em Java
*Neste tutorial, você aprenderá como criar templates dinâmicos em Java usando Spring Boot e Apache FreeMarker!* 🚀 O Apache FreeMarker é um motor de templates poderoso, ideal para separar a lógica de negócio da camada de apresentação em suas aplicações. Neste vídeo, vou te mostrar como integrar o FreeMarker com o Spring Boot e criar templates dinâmicos de forma simples e eficiente. 🔹 *O que você vai aprender neste vídeo:* * O que é o Apache FreeMarker * Como configurar o FreeMarker no Spring Boot * Como criar e renderizar templates dinâmicos * Exemplos práticos de uso em projetos Java *Não se esqueça de curtir, compartilhar e se inscrever para mais tutoriais de Spring Boot e desenvolvimento Java!* 💻✨ #SpringBoot #FreeMarker #Java #TutorialJava #TemplatesDinâmicos #Programação #Desenvolvimento #Backend #DevJava #Tecnologia
[TUTORIAL] Java 21 Virtual Threads: Como Paralelizar Tarefas de Forma Eficiente
🚀 Aprenda como usar **Virtual Threads no Java 21** para **paralelizar tarefas** de forma eficiente! Neste tutorial, você verá a diferença entre **Thread Pool tradicional** e **Virtual Threads**, entenderá os benefícios e verá um exemplo prático para rodar **milhares de tarefas simultaneamente** sem problemas de escalabilidade. 🔹 **O que você vai aprender neste vídeo?** ✅ O que são **Virtual Threads** no Java 21 ✅ Diferença entre **Thread Pool vs Virtual Threads** ✅ Como **paralelizar código de forma eficiente** ✅ Exemplo prático comparando **Threads Tradicionais vs Virtual Threads** ✅ Qual a **melhor abordagem** para sua aplicação 🔹 **Mais conteúdos sobre Java:** [🔗 Todos os vídeos](https://www.youtube.com/@devfelixgilioli) 💡 **Gostou do vídeo?** Deixe seu like 👍, inscreva-se no canal e ative o sininho 🔔 para mais conteúdos sobre Java e performance! 📝 **Dúvidas ou sugestões?** Comente abaixo, vou responder todas! 📌 **Tags para SEO:** #Java21 #VirtualThreads #JavaPerformance #Multithreading #JavaTutorial #ParallelComputing #SpringBoot #Threads #JavaProgramming
Diferença entre os métodos orElse e orElseGet do Optional em Java
O Java 8 introduziu a classe Optional como uma maneira de lidar com valores nulos de forma mais segura e expressiva. Ela é uma das grandes melhorias da linguagem para evitar exceções NullPointerException ao trabalhar com valores que podem ou não estar presentes. Entre os métodos disponíveis na classe Optional, dois deles são frequentemente usados para recuperar valores padrão quando o valor dentro do Optional não está presente: orElse e orElseGet. Embora ambos tenham propósitos semelhantes, eles diferem no momento em que o valor padrão é fornecido e no tratamento de computação tardia (lazy evaluation). Link do artigo no Medium: https://felixgilioli.medium.com/diferen%C3%A7a-entre-os-m%C3%A9todos-orelse-e-orelseget-da-classe-optional-em-java-a3510960bdbc #java #java8 #programação #engenhariadesoftware #softwaredeveloper
[TUTORIAL] Trabalhando com Optional do Java
Olá, pessoal! Neste vídeo, vamos explorar uma poderosa ferramenta da linguagem Java: os Optionals. Se você já se deparou com problemas ao lidar com valores nulos em seu código e deseja aprender uma forma mais segura e elegante de resolver esse desafio, este vídeo é para você! Os valores nulos (null) em Java podem ser uma verdadeira dor de cabeça, causando exceções indesejadas e comportamentos inesperados em nossos programas. Porém, com a introdução dos Optionals, o Java nos presenteou com uma abordagem mais inteligente e eficiente para tratar essa questão. Neste vídeo, você aprenderá o que são Optionals e como utilizá-los de forma eficaz em suas aplicações. Vamos abordar os seguintes tópicos: 1 - Introdução aos Optionals: Explicação do conceito de Optionals como uma solução para o problema dos valores nulos. Demonstração de como criar Optionals para valores presentes e nulos. 2 - Trabalhando com Optionals: Como extrair o valor de um Optional de forma segura usando os métodos "orElse" e "orElseGet". Utilização do método "ifPresent" para executar ações condicionadas à presença do valor no Optional. 3 - Encadeamento de Optionals: Como encadear operações em Optionals usando o método "map" para evitar aninhamentos de "ifs". Exemplos práticos para demonstrar a simplicidade e legibilidade que o encadeamento traz ao código. 4 - Filtrando Optionals: Utilização do método "filter" para validar e filtrar os valores dentro do Optional. Como garantir que apenas valores específicos sejam processados em uma sequência de Optionals. Ao final deste vídeo, você estará apto a utilizar os Optionals de forma confiável, tornando o seu código mais robusto e seguro contra exceções causadas por valores nulos. Então, se você quer aprimorar suas habilidades em Java e elevar a qualidade do seu código, não perca essa oportunidade! Assista agora mesmo ao vídeo "Trabalhando com Optionals em Java" e leve seus conhecimentos de programação para o próximo nível. Gostou do conteúdo? Deixe o seu like, compartilhe com seus amigos programadores e inscreva-se no canal para não perder nenhum dos nossos próximos vídeos sobre programação em Java. Obrigado por assistir e nos vemos lá! @devfelixgilioli Veja mais vídeos do canal: https://www.youtube.com/@devfelixgilioli/videos Me acompanhe no Medium: https://medium.com/@felixgilioli #java #springboot #programação #OptionalJava #OptionalsEmJava #TratamentoDeValoresNulos #NullPointerException #ProgramaçãoJava #CódigoLimpo #Exceções #SegurançaNoCódigo #LidandoComNulos #AprendendoJava #DicasDeProgramação #DesenvolvimentoDeSoftware #CódigoMaisSeguro #DesenvolvedorJava #SimplificandoCódigo
O que é Kotlin? #shorts
Kotlin é uma linguagem de programação moderna e de tipagem estática, desenvolvida pela JetBrains em 2011. Ela foi projetada para ser uma alternativa mais concisa, segura e fácil de usar do que outras linguagens como Java, C++ e Python. Kotlin é compatível com a Java Virtual Machine (JVM) e pode ser usada para desenvolver aplicativos para várias plataformas, incluindo Android, web e desktop. Além disso, Kotlin é uma linguagem de programação multiparadigma, o que significa que ela suporta programação orientada a objetos, programação funcional e programação reativa. Kotlin tem sido cada vez mais adotada por empresas e desenvolvedores ao redor do mundo devido à sua sintaxe limpa, segurança de tipos e facilidade de aprendizado. #java #kotlin #programming #programação #engenhariadesoftware #shorts #short #viral
[TUTORIAL] Trabalhando com eventos de domínio em Spring Boot
Trabalhando com eventos de domínio em Spring Boot. Neste vídeo, vamos explorar como trabalhar com eventos de domínio em Spring. Os eventos de domínio são uma técnica poderosa para lidar com mudanças no estado de um sistema e propagar informações relevantes para outras partes da aplicação. Vamos começar definindo o que são eventos de domínio e como eles podem ser usados para manter a consistência dos dados em uma aplicação Spring. Em seguida, veremos como criar e disparar eventos de domínio usando o Spring Framework. Se você é um desenvolvedor de Spring interessado em aumentar a flexibilidade e adaptabilidade de suas aplicações, este vídeo é para você. Bora aprender como trabalhar com event listener em Spring. Link do projeto no GitHub: https://github.com/felixgilioli/spring-boot-h2-tutorial/tree/domain-events Compartilhe o vídeo: https://youtu.be/wnR_59CiOcc Vídeo criando a aplicação: https://www.youtube.com/watch?v=iYKmjLV7qDU Vídeo adicionando o swagger: https://www.youtube.com/watch?v=vHL02dlRv9I #springboot #springframework #java #java17 #softwaredevelopment #engenhariadesoftware ignore as tags: spring boot,spring boot tutorial,spring framework,spring framework 6,spring boot java,spring boot 3,spring framework tutorial,java tutorial,event listener java,event listener,eventos de dominio,ddd,drive domain design,design pattern,design pattern observer,observer
[TUTORIAL] Como criar clientes HTTP com Feign no Spring Boot
Bem-vindo a este tutorial sobre como criar clientes HTTP com Feign no Spring Boot. Feign é um cliente HTTP declarativo que simplifica as solicitações de API. Neste video, iremos configurar o Feign em um projeto Spring Boot existente, depois disso vamos criar uma interface de cliente Feign. Usaremos essa interface para definir os endpoints da API que queremos consumir. Feign irá gerar automaticamente a implementação para esta interface, permitindo-nos fazer requisições de API facilmente. Logo após, mostrarei como usar o cliente Feign para consumir nosso endpoint REST. Faremos uma solicitação GET para nosso endpoint e mostraremos como lidar com a resposta. Também demonstraremos como passar parâmetros de consulta e cabeçalhos para nossas solicitações de API. Conclusão: É isso! Agora você sabe como criar clientes HTTP com Feign no Spring Boot. Esperamos que você tenha achado este tutorial útil e que possa aplicar esse conhecimento em seus próprios projetos. Se você tiver alguma dúvida ou comentário, sinta-se à vontade para deixá-los na seção de comentários abaixo. Não se esqueça de curtir e se inscrever para mais tutoriais sobre Spring Boot e outros tópicos de programação. #feign #springboot #springframework #https #restapi #java #java17
[TUTORIAL] Documentando API’s com Swagger no Spring Boot
Documentando API’s com Swagger no Spring Boot. Neste video vamos explorar passo a passo como integrar o Swagger em um projeto Spring Boot para gerar documentação clara e fácil de entender para APIs. Começaremos com uma introdução sobre o que é Swagger e como ele pode ser útil para a documentação de APIs. Em seguida, mostraremos como configurar o Swagger em um projeto Spring Boot e como gerar documentação automaticamente a partir das anotações do código-fonte. O projeto está utilizando Java 17 e Spring Boot 3.0. Link no GitHub: https://github.com/felixgilioli/spring-boot-h2-tutorial/tree/add-swagger #swagger #springboot #java #springdoc #springframework
[TUTORIAL] Dominando testes unitários com JUnit 5 e Mockito
Dominando testes unitários com JUnit 5 e Mockito No vídeo de hoje vamos mergulhar fundo no mundo dos testes de unidade com JUnit 5 e Mockito. Se você é um desenvolvedor Java, sabe que escrever testes de unidade é uma parte essencial do processo de desenvolvimento. No entanto, escrever testes de unidade de alta qualidade que cubram todos os cenários possíveis pode ser uma tarefa assustadora. Mas não se preocupe, neste vídeo, mostrarei os fundamentos do JUnit 5 e do Mockito e também como escrever testes de unidade eficazes que lhe darão confiança em seu código. Vamos começar explorando o JUnit 5, a versão mais recente da popular estrutura de teste de unidade. Veremos como escrever testes básicos e usar assertivas para garantir que seu código se comporte conforme o esperado. Em seguida, passaremos para o Mockito, um poderoso framework para criar objetos fictícios em seus testes. Mostraremos como usar o Mockito para isolar seu código de dependências externas e escrever testes rápidos, confiáveis e fáceis de manter. Abordaremos tópicos como mockar retorno de métodos, uso do Verify e do ArgumentCaptor. Por fim, mostraremos como combinar JUnit 5 e Mockito para escrever testes de unidade abrangentes que cobrem todos os cenários possíveis. Orientaremos você por um exemplo do mundo real, mostrando como usar o JUnit 5 e o Mockito para testar uma camada de serviço em um aplicativo Spring Boot simples. Você verá como escrever testes que abrangem todos os resultados possíveis, desde solicitações bem-sucedidas até tratamento de erros e casos extremos. Conclusão: Espero que você tenha gostado deste vídeo e aprendido algo novo sobre testes de unidade com JUnit 5 e Mockito. Lembre-se, escrever testes de unidade de alta qualidade é uma parte essencial do desenvolvimento de software e é uma habilidade que leva tempo e prática para dominar. Mas com a ajuda do JUnit 5 e do Mockito, você estará no caminho certo para escrever testes que lhe darão confiança em seu código. Obrigado por assistir, e nos vemos no próximo vídeo! Link do projeto no GitHub: https://github.com/felixgilioli/spring-boot-h2-tutorial/tree/testes-junit-mockito #junit #springboot #mockito #junit5 #java #java17 #testesunitarios
[TUTORIAL] Como criar testes de arquitetura com ArchUnit em Java
Como criar testes de arquitetura com ArchUnit em Java. Olá pessoal, neste vídeo eu vou compartilhar com vocês um guia completo de como criar testes de arquitetura para garantir a qualidade do seu projeto. Quando se trata de desenvolver um software, é essencial garantir que a sua arquitetura esteja bem estruturada e testada. Isso garante que o software seja escalável, extensível e de fácil manutenção. Então, se você deseja aprender como criar testes de arquitetura para garantir a qualidade do seu projeto, você veio ao lugar certo. Vamos começar! Antes de mergulharmos nos detalhes, certifique-se de clicar no botão curtir e se inscrever em nosso canal para obter mais conteúdo informativo como este. Para este vídeo estarei utilizando a biblioteca ArchUnit, com Java 17 e Spring Boot 3. Vídeo construindo a aplicação do zero: https://www.youtube.com/watch?v=iYKmjLV7qDU Quem quiser também pode dar uma lida no artigo do Medium que escrevi: https://felixgilioli.medium.com/testes-arquiteturais-e-archunit-4b1182ad18d8 Link do projeto no GitHub: https://github.com/felixgilioli/spring-boot-h2-tutorial/tree/testes-arquitetura #archunit #testesautomatizados #testedearquitetura #testeunitario #java #springboot
[TUTORIAL] Como rodar um banco de dados Postgres no Docker
[TUTORIAL] Como rodar um banco de dados Postgres no Docker Olá a todos, bem-vindos ao vídeo de hoje sobre como executar um banco de dados PostgreSQL no Docker. O PostgreSQL é um popular sistema de gerenciamento de banco de dados relacional de código aberto e o Docker é uma plataforma de conteinerização que permite empacotar, implantar e executar aplicativos em contêineres. Juntas, essas duas tecnologias podem ajudá-lo a configurar de maneira rápida e fácil um ambiente PostgreSQL de maneira consistente e reproduzível. Antes de mergulharmos nos detalhes, certifique-se de clicar no botão curtir e se inscrever em nosso canal para obter mais conteúdo informativo como este. Seção 1 - O que é Docker e por que você deve usá-lo O Docker é uma ferramenta projetada para facilitar a criação, implantação e execução de aplicativos usando contêineres. Os contêineres são uma alternativa leve para máquinas virtuais completas que permitem isolar seu aplicativo e suas dependências em uma unidade independente que pode ser executada em qualquer lugar. Isso significa que você pode desenvolver, testar e implantar seu aplicativo com confiança, sabendo que funcionará da mesma forma em qualquer ambiente. Seção 2 - O que é PostgreSQL e por que você deve usá-lo O PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto que fornece recursos robustos e escalabilidade para aplicativos de nível empresarial. Também é conhecido por sua integridade de dados, confiabilidade e conformidade com SQL. Alguns dos recursos notáveis do PostgreSQL incluem indexação avançada, transações e controle de simultaneidade. O artigo que escrevi e utilizei como base no vídeo está aqui: https://felixgilioli.medium.com/como-rodar-um-banco-de-dados-postgres-com-docker-6aecf67995e1 No meu GitHub tenho um exemplo utilizando o docker-compose com postgres e também o flyway para migração dos dados: https://github.com/felixgilioli/postgres-database-sample #postgres #docker #dockercompose #bancodedados #sql #container #devops
[TUTORIAL] Criando uma aplicação web com Spring Boot 3, Java 17 e banco de dados H2
Criando uma aplicação web com Spring Boot 3, Java 17 e banco de dados H2. Neste tutorial explico como criar uma aplicação web em Java 17 utilizando Spring Boot 3.0, além disso, utilizaremos o Maven como gerenciador de dependências e o H2 como Banco de dados. Será desenvolvida uma aplicação simples, com uma API REST para cadastro de um aluno, utilizando o modelo MVC e persistindo as informações num banco de dados relacional em memória utilizando o Spring Data JPA. #java #springboot #springframework #h2 #maven #java17 #springboot3