esse é o tipo de aula que eu gostaria de ter em uma aula completa de Spring Boot - Content Negotiation - Cache - Spring Security + JWT - CORS - HATEOAS - SWAGGER não vejo um curso que abrange tudo isso, te tornar um desenvolvedor Spring descente, parabéns pelo conteúdo, como sempre é de grande valia.
Vlw, Luis! Você citou tópicos super relevantes que acabam sendo deixados de lado mesmo, o pessoal foca mais no desenvolvimento e menos nas preocupações arquiteturais. Devo liberar uns conteúdos sobre esses assuntos também 😁
@@investigadorbandeira9192 , possível é, mas com Spring você precisa usar essas anotações pq ele trabalha com o padrão decorator. A solução fica bem mais elegante dessa forma.
Parabéns pelos videos! um conteúdo que estou penando um pouco para encontrar é ref a Spring Security + OAuth2, criando um Authorization Server, com a versão nova do spring boot 6 e spring-security-oauth2-authorization-server 1.0.0 Vi um video seu falando sobre o assunto porem usando o Google e achei muito legal!
William, estou me programando pra criar um vídeo sobre o Auth Server do Spring, o pessoal tem pedido muito conteúdos sobre segurança, por isso quero trazer pra cá algo bem prático. Fica de olho que o vídeo vai sair! 😁
@@giulianabezerra ah que legal, vou ficar de olho sim! falei sobre o assunto pois estou implementando em um projeto e estou penando um pouco, principalmente no login vindo de um projeto react. Com a versão mais nova o AuthorizationServer não tem mais o client authentication method password etc ... fico no aguardo do video :) e mais uma vez parabéns pelo conteúdo publicado!
Muito bom Giuliana, conteúdo muito prático e claro, obrigado pela aula. Alguma forma fácil de atualizar o cache caso os itens sofram alguma alteração ? Ou daria para limpar um item em específico ? Agradeço desde já, abraços.
Vlw, Luan! Em relação a sua pergunta, se o seu serviço for o único responsável pela atualização, é só colocar o @CachePut no método de escrita e o cache será atualizado automaticamente. Mas, se esse não for o caso, aí você precisa configurar uma política de Eviction com o @CacheEvict. Devo trazer um vídeo sobre esse assunto em breve aqui no canal.
Oi sabe me dizer como eu desativou o cachê redis da minha hospedagem? Tou tendo problema pqr quero utilizar cloaker no site mas cachê está fazendo com que sempre acesse a mesma página
você também poderia fazer um video de como configurar o ambiente no Vscode, depois que me acostumei com o IntelliJ nunca mais mudei, mas eu tb programo em JS e TS então acabo usando muito VS, seria muito bom usar literalmente só VS...
Boa, Luis! Eu vim do Eclipse, e mudei pro VSCode e gostei demais. Também já usei o IntelliJ, mas a versão Community achei fraquinha pro que eu precisava. Quero trazer um vídeo com um comparativo entre elas, acho que fica legal, e aproveitaria pra mostrar o VSCode, as funcionalidades que eu mais gosto e uso.
Gostei do video... contudo tenho algumas observações construtivas: 1. Imagino (posso estar enganado) que as pessoas que vem até seu video - especialmente através da busca no youtube, como o meu caso - já sabem o que é cache. Você poderia deduzir com um alto nível de confiança que não é necessário explicar os conceitos básicos de caching. 2. A explicação em si foi ótima, contudo ficou faltando a parte de invalidação do cache, ou seja, o que fazer quando o produto é, por exemplo, editado no "banco de dados"?
Boa tarde Giuliana, tudo bem? Excelente o vídeo, parabéns! Posso indicar um assunto que acredito que possa ser bastante interessante? Uma aula sobre logs. Local e centralizado. As opções que podemos ter com Spring, etc. O que você acha? Mais uma vez agradeço por compartilhar seu conhecimento conosco, muito obrigado!
Já anotei, tua sugestão é muito boa, toda empresa usa algo assim mas não tem muito conteúdo sobre log centralizado na internet. Vou trazer com certeza! 🤩
Olá Giuliana Bezerra tudo bem, gostaria de tirar um dúvida, eu reproduzi esse teu tutorial em um projeto e aconteceu o seguinte: eu cacheei no service um classe findall que traz todos os resultados, depois fiz o teste, ex. ele tem 4 elementos na lista, aí quando insiro outro registro e pesquiso novamente era pra trazer 5 registros mas ele continua trazendo 4 registros. pode me ajudar?
Quando vc inserir um item novo, precisa usar o @CachePut no método, para adicionar o elemento no cache. Tbm é possível configurar um tempo de invalidação do cache, enfim, tem muitas configurações disponíveis!
Quando houver atualização de dados, vc pode fazer uma operação chamada evict para atualizar o cache manualmente. Mas tudo depende da natureza da aplicação. Vc pode ter uma política pré-definida de evict se souber que o dado não é atualizado com frequência, e assim vc diminui a janela de inconsistência. E é claro, vale mencionar que se a consistência eventual não for aceitável, o cache não é a alternativa mais indicada.
Estou estudando Spring Boot para me atualizar. Cara. Estou assustado. Cache da chamada do método.... Programação por anotações.... Quase não tem programação, é mais uma configuração de framework do que programação. Jesus.
esse é o tipo de aula que eu gostaria de ter em uma aula completa de Spring Boot
- Content Negotiation
- Cache
- Spring Security + JWT
- CORS
- HATEOAS
- SWAGGER
não vejo um curso que abrange tudo isso, te tornar um desenvolvedor Spring descente, parabéns pelo conteúdo, como sempre é de grande valia.
Vlw, Luis! Você citou tópicos super relevantes que acabam sendo deixados de lado mesmo, o pessoal foca mais no desenvolvimento e menos nas preocupações arquiteturais. Devo liberar uns conteúdos sobre esses assuntos também 😁
no canal FullCycle e/ou Micheli Brito vc encontra
Já chego dando like, você parou o seu dia pra gravar uma AULA e compartilhar conosco tanta coisa. Obrigado Giuliana seus cursos são maravilhosos
Que comentário maravilhoso, obg pelo reconhecimento e fico feliz que tenhas gostado dos meus cursos tbm! 🙏🤩
Muito bom. Obrigado por compartilhar
Perfeita explicação. Obrigado.
Boa prof, sempre de qualidade o trabalho. Obrigado.
Excelente, parabéns! 👏
sobre cache daria facilmente um curso haha
parabéns pela aula! ótima!
Verdade, tem muuuita coisa que daria pra discutir, obrigada! 🙏
Excelente explicação! Muito obrigado
Spring impressiona pela simplicidade, muito bom o vídeo. Parabéns! Que aula! 😀
Muito obrigada, Rodrigo! Spring é sucesso mesmo 😎
ótimo o conteúdo
Legal demais. Vc tem umtutorial indo mais alem? Instalando redis, configurando...
Muito obrigafo
Giuliaaaaaaaana que aula massa! Minha cara seu conteúdo é top demais vou compartilhar!
Animal!! Muito didático!! Parabéns mesmo
Conteudo de qualidade!
Muito bom o vídeo. Bem objetivo e bem explicado, parabéns.
Perfeito Giuliana! Direto ao ponto e conseguiu tambem trazer um video com um grande conteudo em um tempo curto. Adoro videos assim!
Que ótimo! Eu tbm curto muito fazer :)
Show de tutorial, muito obrigado
Vídeo incrível, Giuliana. Só vi agora por recomendação do TH-cam e adorei! Obrigado por compartilhar.
Obrigada! Não se esquece de ativar as notificações pra não perder os vídeos novos :)
Vídeo top
Que bom que curtiu, Diego! 😁
Sua didatica eh sem igual
Thanks!
Thank you for your support!
Show 👏👏, seria legal trazer mais conteúdos sobre cache.
Vou trazer sim, Lima! Tem muita coisa bacana pra explorar nesse assunto 😎
Parabéns ótimo vídeo, bem didático!
Obrigada! 😃
Simplesmente maravilhoso.!!!!!!! muito util....!!!! gostaria de ver security 6 servindo a mais de uma aplicacão....👏
Cache compartilhado, seria isso?
@@giulianabezerra nao
Seus videos são super esclarecedores. Parabéns
show !!
Parabéns pelo tutorial, explicação simples e esclarecedora. Grave outros vídeos com os desafios do cache.
Vou gravar sim, pode deixar!
@@giulianabezerra fico na espera. Uma dúvida, é possível criar cache por qualquer provedor (tipo redis) sem usar anotação?
@@investigadorbandeira9192 , possível é, mas com Spring você precisa usar essas anotações pq ele trabalha com o padrão decorator. A solução fica bem mais elegante dessa forma.
Muito bom o conteúdo, vc poderia fazer um video aula de spring boot + elasticsearch ?
Adorei a sugestão! Tá anotado 😉
Top giuliana :)
muito bom!
Oi Giuliana, parabéns pelos vídeos. Ótimo conteúdo.
Vlw pelo apoio, Igor! 🙏
Parabéns pelos videos! um conteúdo que estou penando um pouco para encontrar é ref a Spring Security + OAuth2, criando um Authorization Server, com a versão nova do spring boot 6 e spring-security-oauth2-authorization-server 1.0.0
Vi um video seu falando sobre o assunto porem usando o Google e achei muito legal!
William, estou me programando pra criar um vídeo sobre o Auth Server do Spring, o pessoal tem pedido muito conteúdos sobre segurança, por isso quero trazer pra cá algo bem prático. Fica de olho que o vídeo vai sair! 😁
@@giulianabezerra ah que legal, vou ficar de olho sim! falei sobre o assunto pois estou implementando em um projeto e estou penando um pouco, principalmente no login vindo de um projeto react. Com a versão mais nova o AuthorizationServer não tem mais o client authentication method password etc ... fico no aguardo do video :) e mais uma vez parabéns pelo conteúdo publicado!
Parabéns, conteúdo top
Gratidão, Daniel!
Muito bom!!! 👏👏👏👏👏
Obrigada! 😃
Ótimo vídeo, excelente! Sucesso!!!
Gratidão, Matheus! 🙏
Muito bom Giuliana, conteúdo muito prático e claro, obrigado pela aula.
Alguma forma fácil de atualizar o cache caso os itens sofram alguma alteração ?
Ou daria para limpar um item em específico ?
Agradeço desde já, abraços.
Vlw, Luan! Em relação a sua pergunta, se o seu serviço for o único responsável pela atualização, é só colocar o @CachePut no método de escrita e o cache será atualizado automaticamente. Mas, se esse não for o caso, aí você precisa configurar uma política de Eviction com o @CacheEvict. Devo trazer um vídeo sobre esse assunto em breve aqui no canal.
Oi sabe me dizer como eu desativou o cachê redis da minha hospedagem? Tou tendo problema pqr quero utilizar cloaker no site mas cachê está fazendo com que sempre acesse a mesma página
Excelente vídeo, quando possível faz sobre elastic search
Sugestão anotada! Vlw, Eduardo! 🙏
Muito obrigado pelo video. Poderia fazer um complemento de como invalidar o cache ao alterar um entidade. Estou muito curioso sobre como fazer isso...
Claro! Trarei mais vídeos sobre o assunto em breve!
você também poderia fazer um video de como configurar o ambiente no Vscode, depois que me acostumei com o IntelliJ nunca mais mudei, mas eu tb programo em JS e TS então acabo usando muito VS, seria muito bom usar literalmente só VS...
Boa, Luis! Eu vim do Eclipse, e mudei pro VSCode e gostei demais. Também já usei o IntelliJ, mas a versão Community achei fraquinha pro que eu precisava. Quero trazer um vídeo com um comparativo entre elas, acho que fica legal, e aproveitaria pra mostrar o VSCode, as funcionalidades que eu mais gosto e uso.
interessante em ambiente de teste é dificil fazer funcionar o @Cacheable, mesmo colocando @SpringBootTest o cache não vai.
Você tem a configuração de exemplo pra configurar o Redis pelo docker compose ao invés do docker ?
Gostei do video... contudo tenho algumas observações construtivas:
1. Imagino (posso estar enganado) que as pessoas que vem até seu video - especialmente através da busca no youtube, como o meu caso - já sabem o que é cache. Você poderia deduzir com um alto nível de confiança que não é necessário explicar os conceitos básicos de caching.
2. A explicação em si foi ótima, contudo ficou faltando a parte de invalidação do cache, ou seja, o que fazer quando o produto é, por exemplo, editado no "banco de dados"?
Top!
Vlw! 🙏
Boa tarde Giuliana, tudo bem?
Excelente o vídeo, parabéns!
Posso indicar um assunto que acredito que possa ser bastante interessante?
Uma aula sobre logs. Local e centralizado.
As opções que podemos ter com Spring, etc.
O que você acha?
Mais uma vez agradeço por compartilhar seu conhecimento conosco, muito obrigado!
Já anotei, tua sugestão é muito boa, toda empresa usa algo assim mas não tem muito conteúdo sobre log centralizado na internet. Vou trazer com certeza! 🤩
Ótimo video! Essa adição do data redis comflita com seu db relacional se tiver?
Não conflita, dá pra usar múltiplas implementações do spring data 👍
Giu minha querida. Como fica agora com essa nova notícia do Redis?
Olá Giuliana Bezerra tudo bem, gostaria de tirar um dúvida, eu reproduzi esse teu tutorial em um projeto e aconteceu o seguinte: eu cacheei no service um classe findall que traz todos os resultados, depois fiz o teste, ex. ele tem 4 elementos na lista, aí quando insiro outro registro e pesquiso novamente era pra trazer 5 registros mas ele continua trazendo 4 registros. pode me ajudar?
Quando vc inserir um item novo, precisa usar o @CachePut no método, para adicionar o elemento no cache. Tbm é possível configurar um tempo de invalidação do cache, enfim, tem muitas configurações disponíveis!
Giuliana boa tarde..... como fazer para atualizar os dados do cache ? e possivel ? spring cache
Sim, você pode usar o CachePut para atualizar. Mas tem bem mais questões associadas ao uso dessa anotação, sugiro dar uma olhada na documentação.
vou conferir na documentação. Obrigado!!!!!!!!!!
E se houver uma atualização nas informações dos dados, vai ficar uma informação de dados inconsistentes, como resolver isso?
Quando houver atualização de dados, vc pode fazer uma operação chamada evict para atualizar o cache manualmente. Mas tudo depende da natureza da aplicação. Vc pode ter uma política pré-definida de evict se souber que o dado não é atualizado com frequência, e assim vc diminui a janela de inconsistência. E é claro, vale mencionar que se a consistência eventual não for aceitável, o cache não é a alternativa mais indicada.
@@giulianabezerra Entendi, muito obrigado.
🔝📈☕️‼️
Estou estudando Spring Boot para me atualizar. Cara. Estou assustado. Cache da chamada do método.... Programação por anotações.... Quase não tem programação, é mais uma configuração de framework do que programação. Jesus.
Muito legal, né? Essa é a ideia do framework
;)
To tendo erro de serializacao sabe como resolver? "org.springframework.data.redis.serializer.SerializationException: Cannot serialize
\tat org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.serialize(JdkSerializationRedisSerializer.java:94)
\tat org.springframework.data.redis.serializer.DefaultRedisElementWriter.write(DefaultRedisElementWriter.java:41)
\tat org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.write(RedisSerializationContext.java:292)
\tat org.springframework.data.redis.cache.RedisCache.serializeCacheValue(RedisCache.java:368)
\tat org.springframework.data.redis.cache.RedisCache.put(RedisCache.java:226)
\tat org.springframework.cache.interceptor.