Тёмный

Picpay simplificado com Java e Spring Boot! 

Giuliana Bezerra
Подписаться 16 тыс.
Просмотров 36 тыс.
50% 1

Acompanhe a resolução de um desafio backend com o perfil sênior para conseguir uma vaga num dos maiores bancos do mercado!
💻 Github: bit.ly/3VdA7Qz
🤩 Seja membro deste canal e ganhe benefícios:
/ @giulianabezerra
🏠 Página Pessoal:
home.giulianabezerra.com.br/
🌟 Conheça também os meus conteúdos em outras plataformas:
Blog: / giuliana-bezerra
Curso sobre Java: bit.ly/3SKsBLz
Curso sobre Spring Batch: bit.ly/3ZgQXOB
Curso sobre otimização com Spring Batch: bit.ly/44PV2u1
Curso sobre testes com Spring Boot: bit.ly/3sOig6w
Curso sobre AdonisJS: bit.ly/3ZhRXlu

Наука

Опубликовано:

 

17 мар 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 204   
@yujiyamamoto7632
@yujiyamamoto7632 28 дней назад
03:37 - arquitetura 07:27 - diagrama de atividades 09:12 - começando o projeto 10:15 - configurando banco de dados 11:54 - criação das entidades 18:43 - scripts de banco de dados 22:17 - criação dos repositórios 25:13 - criação da transação 33:15 - tratamento de exceções 46:32 - kafka 52:52 - controllers/resources 55:30 - docker compose 57:20 - testando a aplicação 58:16 - fix: creditar na conta 01:06:18 - fix: criação do tópico kafka
@costathoughts
@costathoughts 3 дня назад
Só uma adição as nomenclaturas de negocios sobre essas operações: - A transferencias entre Wallets é chamada de settlements. - O processo da third party entity que aprova ou não se a transação deve ser concluída é chamada de Escrow. Bonus: Quando a transferencia é feita para o bancão da vida, a target wallet será uma do banco digital que posteriormente vai pegar esses settlements completed que verificar se a instituição é um bancão e começar o processamento de um external settlements, gerando aquele CSV maroto e jogando-o no SFTP do bancão para ele retirar da conta do banco digital e mandar para o cliente final.
@rafaele.2857
@rafaele.2857 23 дня назад
conteúdo de alta qualidade, muito obrigado por disponibilizar gratuitamente!
@Joaopedro-qj6kz
@Joaopedro-qj6kz 4 месяца назад
Simplesmente incrível! conteúdo de alto nível e com a maior riqueza de detalhes.
@fdstv7755
@fdstv7755 4 месяца назад
didática impecável, parabéns!
@Luis-Fernando19
@Luis-Fernando19 4 месяца назад
Que aula, muito obrigado!
@costathoughts
@costathoughts 5 дней назад
Ansioso pala criação do curso avançado de Java e arquitetura! Sério você é sensacional !!!!!!!
@videosdoac
@videosdoac 4 месяца назад
Sensacional! Meus parabéns.
@estadaoteste3405
@estadaoteste3405 4 месяца назад
Parabéns Giuliana, seu conteúdo é incrível.
@nath000_
@nath000_ 4 месяца назад
Obrigada por essa aula!!
@eduardoaraujo9988
@eduardoaraujo9988 4 месяца назад
Conteúdo muito massa, parabéns.
@lucianoferreiraofficialluc1952
@lucianoferreiraofficialluc1952 4 месяца назад
Parabéns pelo vídeo. Agradeço por compartilhar seu conhecimento.
@Linkk2011
@Linkk2011 2 месяца назад
Topzera demais. Parabéns pelo conteúdo
@juniormiksza
@juniormiksza 4 месяца назад
incrivel conteudo, parabens
@SoldierDan
@SoldierDan 4 месяца назад
Sempre com conteúdos de altíssimo nível. Obrigado Giuliana! Vou terminar de assistir à noite.
@wandedevs
@wandedevs 3 месяца назад
Ótimo vídeo, parabéns pelo conteúdo
@cshenrique02
@cshenrique02 4 месяца назад
Teus videos são perfeitos, Giuliana, parabéns.
@MilsonPazienza
@MilsonPazienza 4 месяца назад
gostei do jeito que vc implementou, conteudo bom demais.
@awdryn
@awdryn 3 месяца назад
Show... Muito bom o video.
@jaygibran1
@jaygibran1 4 месяца назад
Excelente video, keep going 👏
@jesse46104
@jesse46104 4 месяца назад
Muito boa aula, obrigado!!
@eriklopes9495
@eriklopes9495 4 месяца назад
Excelente conteúdo e a didática sempre impecável. Muito obrigado!
@guilhermealvesssss
@guilhermealvesssss 4 месяца назад
Adoramos os vídeos dela além da explicação ela é muito atenciosa,gostamos muito de você e dos seus conteúdos adoramos,continue 👍
@marcosvnascimentopereira7497
@marcosvnascimentopereira7497 4 месяца назад
Excelente conteúdo, tudo muito bem explicado, demonstrado e com a diagrama do problema e da solução. Parabéns.
@appreciate-the-vue
@appreciate-the-vue 3 месяца назад
Uma absurda fonte de conhecimento esse vídeo, obrigado Giuliana!
@gaiveknopf
@gaiveknopf Месяц назад
Sensacional, sou do Go, mas fiquei preso em como era lindo te ver escrevendo código com tamanha facilidade. Parabéns e obrigado por um conteúdo tão rico.
@gabrielcardosogirarde7515
@gabrielcardosogirarde7515 4 месяца назад
Amo demais seus vídeos, obrigado por sempre trazer conteúdo de qualidade!
@pagotto11
@pagotto11 Месяц назад
Prabéns pela aula, muito didática e interessante!
@giovani_stein10
@giovani_stein10 3 месяца назад
Moça seus videos são muito bons, exelente conteudo é uma boa explicação de tudo.
@_guilhermesales
@_guilhermesales 4 месяца назад
Professora, que qualidade de vídeo! A maneira que criou o projeto com desenhos e estrutura, muito legal! É bom poder ver as coisas com exemplos claros. Facilita a assimilação. Muito legal também você reforçar a questão da orientação à objetos aplicando as modificações diretamente nas classes. Não vejo muito disso na internet. Puxa, sem palavras mesmo! Vou tentar o desafio de implementar e melhorar o projeto no que puder. :)
@giulianabezerra
@giulianabezerra 4 месяца назад
Vlw demais pelo feedback, fico bem feliz quando vejo que os conteúdos tem sido relevantes pra vcs. E que bom que vc deseja evoluir o projeto, tem bastante coisa bacana pra pesquisar e adicionar ao projeto, inclusive tem vídeos aqui no canal pra te ajudar a fazer essas mudanças e deixar seu projeto tinindo 🤗
@eduardogoncalves7353
@eduardogoncalves7353 3 месяца назад
Excelente conteúdo, principalmente para quem é ainda iniciante na carreira, aprende vários conceitos interessantes que pode agregar no conhecimento. Fiz várias anotações que assuntos que preciso estudar e após os estudos, vou implementar no projeto pessoal de portfólio. Torço para que você permaneça com esses conteúdos, ganhou mais um inscrito e like!!!
@luizpinheirodev
@luizpinheirodev 4 месяца назад
Conteúdo top. Simples e objetivo! Parabéns. Meu único review é o cpf como Long.
@EduardoAparecido-kh1qc
@EduardoAparecido-kh1qc 2 месяца назад
Parabéns pela sua didática e pelo conteúdo apresentado ! Consegui entender bastante sobre o Kafka e tratamento de exceções.
@JetherRodrigues
@JetherRodrigues 4 месяца назад
Muito bom Giuliana. Ficou top.
@giulianabezerra
@giulianabezerra 4 месяца назад
Obrigada! 🤝
@marcosgarcia179
@marcosgarcia179 4 месяца назад
Show de bola😀
@PedraKill
@PedraKill 4 месяца назад
Parabens pelo conteúdo, trabalho com Java a 14 anos e aprendi varias coisas novas com esse "mini-curso"
@jeanguimaraes4063
@jeanguimaraes4063 4 месяца назад
Top!!! Por mais conteúdos dessa natureza no canal. Parabéns 👏🏾 👏🏾 👏🏾 😊
@giulianabezerra
@giulianabezerra 4 месяца назад
Vai ter mais, com certeza!
@grilosbikes
@grilosbikes 4 месяца назад
Parabéns pelo riquíssimo conteúdo de qualidade 👏👏👏👏👏
@giulianabezerra
@giulianabezerra 4 месяца назад
Muito obrigada! 😊
@costathoughts
@costathoughts 5 дней назад
Uma dica para validação firme seria a utilização de cucumber
@christhianlor
@christhianlor 3 месяца назад
Claro que merece o like!
@sergiolima8947
@sergiolima8947 4 месяца назад
Parabéns pelo vídeo! Ele demonstra de forma clara como resolver um problema. Fazer o desenho da solução nos proporciona uma visão mais detalhada sobre como construir e identificar problemas, além de nos ajudar a solucioná-los
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom que curtiu! Sempre sigo esse método pra resolver problemas complexos, tenho que ter tudo muito claro pra conseguir de fato partir pra implementação.
@diegoschneider3250
@diegoschneider3250 3 месяца назад
Estou acompanhando muito seus videos, bem esclarecedores e bem rico em detalhes, top demais!!!!!
@giulianabezerra
@giulianabezerra 3 месяца назад
Que bom! 🤩
@silvio_bassi
@silvio_bassi 4 месяца назад
Parabéns!!!!!!!!!!!!!!
4 месяца назад
Muito bom! Parabéns pela disseminação de conhecimento! Tudo desenhado e explicado de forma bem clara.
@giulianabezerra
@giulianabezerra 4 месяца назад
Obrigada pelo feedback! 🙏
@lucianoferreiraofficialluc1952
@lucianoferreiraofficialluc1952 4 месяца назад
Gostei do seu canal. Tem muita coisa boa aqui pra explorar no universo do Spring. Continua assim e obrigado por compartilhar seu conhecimento.
@giulianabezerra
@giulianabezerra 4 месяца назад
Obrigada pelo apoio, com certeza continuarei! 😊
@esqueloto01
@esqueloto01 4 месяца назад
Top de mais!
@itamarmonteiro3066
@itamarmonteiro3066 4 месяца назад
Que aula show!!!
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom que curtiu!
@mateuspereira-nf9or
@mateuspereira-nf9or 3 месяца назад
Poxa, que canal maneiro. Parabéns pelo conteúdo Giuliana!! Vou acompanhar direto agora.
@giulianabezerra
@giulianabezerra 3 месяца назад
Espero que goste dos conteúdos!
@humbertojunior2627
@humbertojunior2627 2 месяца назад
Excelente video ! Problema real na veia! Por favor , já me inscrevi para prestigiar o conteúdo e espero que mais videos assim venham no futuro deste canal.
@giulianabezerra
@giulianabezerra 2 месяца назад
Vou retribuir com bastante conteúdo, obrigada!
@LucasSoaresAraujo
@LucasSoaresAraujo 4 месяца назад
Parabéns pelo vídeo e pela solução. Acredito que faltou apenas fazer um controle de concorrência (Implementar algum Lock ou algo do tipo). Para esse cenário, é importante que não possa ocorrer anomalias de integridade como "Lost update". Na solução apresentada, se duas transações simultâneas fizessem a leitura dos valores das 'wallets' de um mesmo cliente, poderiam deixar o saldo em um estado inconsistente.
@giulianabezerra
@giulianabezerra 4 месяца назад
Verdade! Seria algo importante pra adicionar ao projeto, usar o version para implementar o Lock otimista e mostrar esse conhecimento tbm. Vou adicionar no GitHub e depois trago vídeo aqui pro canal falando desse assunto, ótima sugestão!
@LucasSoaresAraujo
@LucasSoaresAraujo 4 месяца назад
Bacana! Aguardando o vídeo :)
@daniel_goncalves
@daniel_goncalves 4 месяца назад
@@giulianabezerra legal. Vou aguardando essa melhoria.
@luisdomiciano
@luisdomiciano 4 месяца назад
Muito bom.
@jbfaneto
@jbfaneto 4 месяца назад
Explicações extremamente assertivas e qualidade de execução nota 1000! parabéns pelo conteúdo...
@giulianabezerra
@giulianabezerra 4 месяца назад
Muito obrigada! 😊
@vitoraraujo2563
@vitoraraujo2563 4 месяца назад
muito booooom :), adorei o conteudo
@giulianabezerra
@giulianabezerra 4 месяца назад
Fico feliz em saber 🤗
@alvaroveloso6114
@alvaroveloso6114 4 месяца назад
Que conteúdo explendido! Didática e clareza nas explicações, 1 hora de vídeo passou voando. Muito bom!
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom, obrigada pelo feedback! 🙏
@Marcosferreira-pw3if
@Marcosferreira-pw3if 4 месяца назад
Giuliana você é fera... por favor, traga mais videos de Vagas... vlwwww
@giulianabezerra
@giulianabezerra 4 месяца назад
Claro, trarei sim!
@cleitonpanao
@cleitonpanao 4 месяца назад
Parabéns, ótimo video, Muito direto e com muitos detalhes inclusive aquelas esquecidinhas rsrs quem nunca né rs me identifiquei muito rs
@giulianabezerra
@giulianabezerra 4 месяца назад
Né? Depois ainda olho o projeto e quero mudar algumas coisas tbm :D
@thgdsa9090
@thgdsa9090 4 месяца назад
gosto mto desses conteudos de desafios
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom, eu gosto bastante de resolver esses desafios
@ruyfranca8756
@ruyfranca8756 4 месяца назад
que aula!!!!
@igorosbergster
@igorosbergster 4 месяца назад
Muito bom Giu! Parabéns pela aula. Vou mostrar para os meus alunos no curso de programação backend
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom! Obrigada por compartilhar, espero que gostem!
@thaisb.7708
@thaisb.7708 3 месяца назад
Tenho imensa admiração pelo seu conteúdo! Estou com um desafio técnico pra fazer e foi muito bom ver esse vídeo. Fundamental entender bem o problema, planejar, decompor o problema em passos menores e acima de tudo manter a simplicidade. Obrigada por compartilhar um material tão incrível assim, gratuitamente!
@giulianabezerra
@giulianabezerra 3 месяца назад
Que bom! Espero que os conteúdos continuem agregando 🤗
@pedro2001
@pedro2001 4 месяца назад
Que vídeo perfeito! Vou ter que criar uma solução resiliente que cubra diversos corner cases. Esse vídeo com certeza vai me ajudar. Obrigado.
@giulianabezerra
@giulianabezerra 4 месяца назад
Sucesso!
@mgmoura
@mgmoura 4 месяца назад
esse é top !
@Milano262
@Milano262 4 месяца назад
Eu gosto das soluções que você trás nos videos, você é muito inteligente
@giulianabezerra
@giulianabezerra 4 месяца назад
Obrigada!
@lucasdesousacosta1535
@lucasdesousacosta1535 4 месяца назад
perfeito!!
@giulianabezerra
@giulianabezerra 4 месяца назад
Brigadão!
@adelinosantos8510
@adelinosantos8510 4 месяца назад
Show!!! 👏👏👏
@giulianabezerra
@giulianabezerra 4 месяца назад
Vlw!
@felipedelima123
@felipedelima123 4 месяца назад
Conteúdo exposto com maestria, parabéns! Eu me peguei vendo o video, só de curioso, e acabei assistindo por inteiro. Lhe desejo sucesso!
@giulianabezerra
@giulianabezerra 4 месяца назад
Fico feliz, obrigada por assistir! 🙏
@edsonluiz86
@edsonluiz86 4 месяца назад
Valeu!
@giulianabezerra
@giulianabezerra 4 месяца назад
Brigadão pela força! 🙏🤩
@ALEXANDROJAFS
@ALEXANDROJAFS 4 месяца назад
Ai sim viu. Uma pessoa que mostrou tudo organizado e sem correria. Um sistema simples e complexo ao mesmo tempo, porém com a didática exemplar que foi usada no vídeo, na há dúvidas que você tem pleno, opa pleno não, senior domínio do que está fazendo.
@giulianabezerra
@giulianabezerra 4 месяца назад
Obrigada! Que bom que curtiu o projeto e a didática 🤩
@danieldiniz6421
@danieldiniz6421 10 дней назад
estou estudando sobre o springboot e gostei demais do vídeo!! agora é estudar todas notações utilizadas kkkkkk obrigado
@giulianabezerra
@giulianabezerra 10 дней назад
Isso aí, anota tudo que não conhece pra ir se aprofundando
@Myybe656
@Myybe656 3 месяца назад
genial
@mateusfonseca988
@mateusfonseca988 2 месяца назад
Impressionante a linha de pensamento que vc vai desenvolvendo ao longo do projeto. Acho que é isso que falta pra mim.
@giulianabezerra
@giulianabezerra 2 месяца назад
É prática, todo mundo chega lá, só precisa de paciência 😊
@AndOliver46
@AndOliver46 3 месяца назад
Oii Giuliana! Muito bommmm como sempre. Obrigado por esse conteúdo maravilhoso. Tenho uma duvida, para seguir o SRP, qual seria a melhor abordagem na hora de executar a transaction? Injetar o WalletService dentro da TransactionService e criar um metodo em WalletService que recebe a Transaction, subtraindo/adicionando e salvando as duas carteiras? Pergunto pois ai tirariamos toda a lógica de transação de dentro do TransactionService, fiquei um pouco confuso...
@antonysantos9450
@antonysantos9450 4 месяца назад
Eu nem trabalho com java, mas vc explica tão bem e com tanta maestria que me peguei vendo o vídeo até o final, +1 inscrito
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom! Espero que curta os outros vídeos tbm 🤩
@DezzTYS
@DezzTYS 4 месяца назад
Sou junior e fiquei com muita vontade de fazer um desafio desse. Mal posso aguardar pra receber as bíblias com letras vermelhas no prompt kkkkkk. Aprendendo a aprender #42sp
@JoaoPepe10Gamer
@JoaoPepe10Gamer 4 месяца назад
Incrível sua didática para explicar algo que é avançado, consegui entender muita coisa, simplificou para mim como funciona o ExceptionHandler, eu gostaria somente de uma coisa, ver como vc implementaria testes unitários nesta aplicação
@giulianabezerra
@giulianabezerra 4 месяца назад
Claro, eu tenho vídeos sobre testes no canal, e pra esse projeto coloquei os testes no repo do github, dá uma olhada lá 😉
@trocandobytes
@trocandobytes 4 месяца назад
Excelente, gostei tanto que comprei seus cursos na Udemy. Parabéns.
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom! Espero que goste 😁
@avnercaleb8867
@avnercaleb8867 2 месяца назад
Mais um projeto absurdo. O meu ta dando erro, mas acredito q o motivo seja os services disponibilizados para o desafio, estarem off
@_Acrk629lak0sUg1s
@_Acrk629lak0sUg1s 4 месяца назад
Cara que top! Eu gostaria muito que você ou alguem do Brasil fizesse um video sobre Actors ou Akka framework e sobre exatamente isso Tolerancia a falhas. É um conteúdo em falta aqui no Brazil (nao achei ninguém falando sobre) que é muito importante em software de verdade.
@giulianabezerra
@giulianabezerra 4 месяца назад
Verdade, eu tenho alguns conteúdos mundo real pra fazer, estou planejando o formato já que esses são naturalmente mais complexos, mas anotei aqui tua sugestão, obrigada!
@try_cat
@try_cat 4 месяца назад
Ela tem um curso fera de nodejs na udemy. Top
@user-we3hx4wv1b
@user-we3hx4wv1b 4 месяца назад
Excelente aula! Recentemente travei em um desafio técnico por que eu estava deixando tudo muito complexo! Más vc mostrando a arquitetura e montando as regras de negócio passo a passo me deu uma luz de como desenvolver melhor.
@giulianabezerra
@giulianabezerra 4 месяца назад
Travar por overengineering é muito comum, eu fiz esse desafio e já pensei em várias melhorias, mas se ficasse só pensando não teria feito nada. Esse é o ponto, começar com algo simples e ir evoluindo.
@lucasdonizeti3641
@lucasdonizeti3641 4 месяца назад
Lendo o desafio parece fácil, mas tem alguns requisitos interessantes que normalmente não tem em outros...
@giulianabezerra
@giulianabezerra 4 месяца назад
Pois é, é um desafio bem interessante, versátil para diferentes níveis de experiência.
@Samuellucas243
@Samuellucas243 3 месяца назад
Meu amigo eu preciso de umas aulas com você cetz achei que estava preparado para o perfil senior! Mais fui mlk!
@thiagonunes3619
@thiagonunes3619 4 месяца назад
Uma boa ideia de evolução seria adicionar lock pessimista as transações. Assim o saldo da carteria não teria inconsistência
@giulianabezerra
@giulianabezerra 4 месяца назад
Eu adicionei Lock otimista lá no repo do git. Gerar Locks físicos não costuma ser uma boa ideia pois pode gerar contenção, então costumo optar pela abordagem otimista mesmo. Mas isso é assunto que dá pra um outro vídeo 😊
@thiagonunes3619
@thiagonunes3619 4 месяца назад
@@giulianabezerra já estou aguardando então !!
@thiagonunes3619
@thiagonunes3619 4 месяца назад
@@giulianabezerra as vezes é uma boa para sua playlist de batalhadas. otimista vs pessimista ? 🤔
@CadetuRodrigoo
@CadetuRodrigoo 4 месяца назад
Obrigado, você é fera demais. As mulheres que acompanham e que falam sobre Java, todas tem excelência no que faz.
@giulianabezerra
@giulianabezerra 4 месяца назад
Obrigada pelo apoio! 🙏
@eu.diegopro
@eu.diegopro 25 дней назад
Meu sonho programar com essa fluidez toda. A propósito, só ficou faltando os testes unitários e de integração, que estão no desafio. Ademais, conteúdo excelente, como sempre.
@giulianabezerra
@giulianabezerra 21 день назад
Sim, eu coloquei no repo do projeto mas como já tinha vídeos sobre testes deixei de fora desse vídeo pra não ficar longo, depois da uma olhada 😉
@thiagonunes3619
@thiagonunes3619 4 месяца назад
caramba, eu fiz esse desafio e simplesmente coloquei um try/ catch em ambos serviços externos. essa explicação no minuto 6:00 do vídeo é sensacional demais, eu mesmo nem cogitei a interpretar dessa formar. que conteúdo bão!!
@giulianabezerra
@giulianabezerra 4 месяца назад
Que bom que curtiu! 🤩
@kauegatto
@kauegatto 4 месяца назад
O projeto ficou muito legal, obrigado pelo conteúdo! Muito enriquecedkr Acho que o único ponto que é bem importante e que ficou de lado foi a falta de mecanismos de lock na carteira Aqui entra no nível da opinião e sei que o foco do projeto não é fazer algo extreemamente complexo mas: 1. Acho que como o foco é no domínio, seria legal criar interfaces para abstrair a infraestrutura de como as notificações são feitas, de uma maneira que faz sentido para rabbit, kafka, etc, principalmente porque a semântica "notification" soa um pouco como isso 2. Seria interessante que os exceptionHandlers retornassem de acordo com a rfc problem details, que o spring tem mecanismos para trabalhar com
@giulianabezerra
@giulianabezerra 4 месяца назад
Verdade, a questão do Lock eu commitei no github, depois trago vídeo falando a respeito. Sobre os pontos de melhorias, concordo com ambos, depois de criar o projeto já pensei em várias melhorias, mas pro vídeo não ficar muito longo acabei deixando algumas estratégias de lado mesmo, como essa questão do problem details (inclusive tem vídeo no canal) e das abstrações com ports e adapters (tem vídeo de clean arch no canal). Mas acho relevante sim, obrigada pelas sugestões!
@kauegatto
@kauegatto 4 месяца назад
Obrigado pelo conteúdo bom que você sempre proporciona :) O vídeo (e o código) ficaram ótimos dessa forma, não dá para fazer tudo que a gente sonha em uma hora mesmo@@giulianabezerra
@DezzTYS
@DezzTYS 4 месяца назад
No link do medium tem um "-" entre o teu nome e sobrenome. Deu 404 lá no blog.
@SergioLemosCom
@SergioLemosCom 4 месяца назад
Mais um video de excelente qualidade, tira uma dúvida, nao estudei a fundo mas aproveitando o topico existe muitas diferenteas entre kafka e rabbitmq? Na sua implementação, ja ouvi relatos que kafka é grande e poderoso d+ para aplicacoes simples.
@giulianabezerra
@giulianabezerra 4 месяца назад
Kafka é mais usado em contexto de streams e grandes volumes de dados, o rabbit é bem mais simples de entender mas perde em robustez . Nesse desafio qualquer um dos dois poderia ser usado, escolhi Kafka pois é o que costumo trabalhar mais.
@renanlido_dev
@renanlido_dev 4 месяца назад
Olha, muito sinceramente, essa foi a primeira aula de Java usando um framework que, mesmo que sendo opinativo, está muito desacoplado, usando conceitos fortes do SOLID. Parabéns. Aproveitando a oportunidade, gostaria de te perguntar o seguinte. Seu active record está em contexto com uma Classe Domínio, faria sentido desacoplar já que a função do Active é persistir, portanto ele fala com o banco e estaria na infra e o Wallet é um domain module que estaria na parte mais interna da sua aplicação? Poderia dar um overview sobre isso>?? Muito obrigado mesmo! Excelente conteúdo, é primeira vez que estou no seu canal, mas vc me parece ser uma excelente profissional, parabéns!!
@giulianabezerra
@giulianabezerra 4 месяца назад
Isso é uma escolha de arquitetura, esse modelo que vc citou é bem parecido com o que mostro no vídeo sobre clean arch, eu quis manter nesse desafio um modelo sem muitas abstrações por simplicidade mas suas sugestões são super válidas de fato. Com arquitetura gosto de falar que não tem certo ou errado, tem prós e contras pra analisar.
@renanlido_dev
@renanlido_dev 4 месяца назад
@@giulianabezerra muito obrigado pela resposta!! Anotei o último trecho da sua resposta em um caderno para nunca mais esquecer!
@leonidas_30052
@leonidas_30052 4 месяца назад
Muito massa, conteúdo de primeira Giuliana. Por favor, use Intellij kk. Abraços!
@giulianabezerra
@giulianabezerra 4 месяца назад
Kkkk, vou tentar trazer alguns vídeos com ele tbm
@Brunodelucasdev
@Brunodelucasdev 3 месяца назад
De que forma funciona esse lint no seu autosave?
@matheusnunes4289
@matheusnunes4289 4 месяца назад
Ótima didática meus parabéns, quais extensões pra java e spring boot tu usa no visual ?
@giulianabezerra
@giulianabezerra 4 месяца назад
Spring Boot e Java extension pack, elas tem sido suficientes pra eu trabalhar com Java e Spring no VsCode.
@gabrielrochasantana
@gabrielrochasantana 3 месяца назад
Muito boa explicação Giuliana. Em 55:00 você acha ideal retornar no controller assim o objeto Transaction ou um ResponseEntity ?
@giulianabezerra
@giulianabezerra 3 месяца назад
O ResponseEntity é ideal pra quando vc precisa colocar o status code, se não for necessário customizar a resposta, apenas retornar o objeto já é suficiente.
@caiquepozatti849
@caiquepozatti849 3 месяца назад
Essa imagem do Kafka não necessita do Avro para a serializacao da mensagem?
@andersonbruno0201
@andersonbruno0201 4 месяца назад
muito obrigado pela aula Giuliana, acho que valeria também definir o campo cpf como String no lugar de long pois podem existir CPFs validos que comecem com 0 nesse caso o long iria ignorar os zeros a esquerda
@giulianabezerra
@giulianabezerra 4 месяца назад
Esse é um ponto de debate. Eu costumo usar a abordagem de salvar apenas os números pra evitar que o banco aceite qualquer formatação estranha e imprevisível no formato string, e aí no front é feita a máscara pra adicionar os zeros à esquerda. A vantagem é preservar a integridade desse dado a nível de banco mesmo
@andersonbruno0201
@andersonbruno0201 4 месяца назад
@@giulianabezerra costumo usar o CPFValidator da caelum.stella dessa forma a aplicação nem permite serializar um cpf inválido, a mesma biblioteca pode validar também cnpj.
@barbosabass
@barbosabass 4 месяца назад
Em 32:12, não aplicou SOLID não, seu método validate tem várias responsabilidades, ela deveria ser responsável apenas por validar e não buscar dados. Você deveria ter um método responsável por recuperar esses dados e aplicar algum design pattern para empilhar as responsabilidades, ou ter uma classe específica de validação de transações, isolando essa lógica através de uma interface, pois se um dia essa lógica mudar, seus testes não vão quebrar!
@fillipeamg5877
@fillipeamg5877 4 месяца назад
Obrigado pelo vídeo. Sugestão: eu acho que ficaria mais didático desativar o copilot para o vídeo
@giulianabezerra
@giulianabezerra 4 месяца назад
Concordo, as vezes atrapalha mais do que ajuda :D
@eduardonunes1379
@eduardonunes1379 4 месяца назад
Boa tarde, Giuliana. Há pouco tempo comecei a estudar microsserviços com java e spring (sem autenticação). Eu fiquei pensativo como que seria feita a autenticação e pensei que uma abordagem seria passar por um ponto único para a aplicação, acabei encontrando seu vídeo explicando sobre o spring cloud gateway e após sua explicação, pensei que seria uma boa abordagem usar o spring security com o spring cloud gateway... Aí eu queria sugerir que fizesse um vídeo de spring security com spring cloud gateway.
@giulianabezerra
@giulianabezerra 4 месяца назад
Já estou com esse no radar, pra falar sobre o access token pattern, esse comportamento que vc citou é tão comum que tem um pattern corporativo mapeado. Fica de olho que trarei o vídeo em breve 😉
@eduardonunes1379
@eduardonunes1379 4 месяца назад
@@giulianabezerra muito obrigado!!!
@mateusfonseca988
@mateusfonseca988 2 месяца назад
Ela faz os codigos tudo diferente do que a gente aprende nos cursos por ai kkkkkk ai tu ve o que é senior de vdd
@marcelocortes3841
@marcelocortes3841 3 месяца назад
Tenho uma dúvida Giuliana. Estou recriando o projeto mas usando postgres como db, estou recebendo Failed to execute InsertRoot{entity=Transaction[id=null, payer=3, payee=4, value=1000.00, createdAt=2024-04-01T13:12:18.770150981], idValueSource=GENERATED} isso parece ser por conta da imutabilidade do record (não tenho certeza), a geração de id não é garantida no jdbc quando eu salvo uma transação no postgres? Excelente video!
@giulianabezerra
@giulianabezerra 3 месяца назад
Se usar geração automática de id da problema mesmo, eu costumo usar um campo no banco e aí consigo fazer funcionar. Mas testaria mudar pra classe pra ver se é isso mesmo o problema.
Далее
Introduction to .NET Microservices (.NET 8)
7:56:55
Просмотров 156 тыс.
Destravando a lógica de programação!
12:00
Просмотров 4,7 тыс.
Aprenda a pensar como um arquiteto de software!
10:28
Просмотров 2,5 тыс.
FOI ASSIM QUE EU ME ENDIVIDEI
29:39
Просмотров 50 тыс.
Spring boot 3 - OpenApi Documentation | Swagger UI
35:09
WHAT IS A RESTful API IN PRACTICE? RICHARDSON MATURITY
13:13
Scrum Master é um Inútil (não é só sobre isso)
14:56
PERDI O HOME OFFICE COMO PROGRAMADOR
16:04
Просмотров 32 тыс.
Respondendo questões polêmicas sobre TI
18:16
Просмотров 4,1 тыс.
10 МИНУСОВ IPHONE 15
18:03
Просмотров 37 тыс.
Новодельный ноутбук Pocket386
1:16:17
iPhone 16 - 20+ КРУТЫХ ИЗМЕНЕНИЙ
5:20
How to Soldering wire in Factory ?
0:10
Просмотров 4,6 млн