RESOLVENDO DESAFIO BACKEND PLENO com SPRING + AWS + MONGO | PARTE 1

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ • 205

  • @rodolfoalvarenga252
    @rodolfoalvarenga252 10 місяців тому +33

    Excelente vídeo!
    Apenas para acrescentar, é uma boa prática utilizar substantivos no plural quando criamos recursos da API. Ex: /api/categories ... /api/products
    Enfim, apenas um adendo. No mais, parabéns pelo canal!!!!!

  • @marcospaulofreitas68
    @marcospaulofreitas68 10 місяців тому +25

    Mandou demais nesse vídeo Fe, estou cursando Eng Software e trabalho como Estagiário de BackEnd, estou usando seus vídeos pra não só reforçar alguns pontos, como para me preparar para novas vagas. Sua didática e muito boa e esses desafios técnicos são uma puta mão na roda, traga mais sempre que possível.
    Parabéns

    • @kipperdev
      @kipperdev  10 місяців тому +6

      Obrigada Marcos!! Fico feliz que gosta desse tipo de vídeo, pode deixar que vou trazer mais sim!
      E boa sorte na facul e estágio! 💜

  • @eduardoribeiro1307
    @eduardoribeiro1307 9 місяців тому +5

    Pra quem teve problemas com a fila não recebendo mensagem, tente assinar o tópico pelo sqs e não do sns pro sqs, quando fiz o reverso as politicas de acesso da fila não atualizaram e as mensagens não chegavam mesmo tudo aparecendo certinho.

  • @baaaagriel
    @baaaagriel 10 місяців тому +18

    de longe, um dos melhores canais que pude conhecer de conteúdos sobre dev na prática e sobre carreira. Fê teu canal é essencial!! parabéns pelo empenho e pelo conteúdo excepcional que nos traz aqui.

  • @capitão_eulr
    @capitão_eulr 7 місяців тому +1

    tenho muita vontade de mexer com java, especialmente spring boot. legal q vc fez com java por justamente ter pouco conteudo em portugues... infelizmente minha situacao atual nao me permite ficar pulando de linguagem, mas algum dia quero brincar com isso sim.

  • @marcofv
    @marcofv 9 місяців тому +1

    Parabéns pelo video, Fernanda! Aprendi bastante coisas do mundo do Java com esse video (eu sou do mundo do Python e Go). Uma coisa, porém, que eu acrescentaria é o retorno das requests de update e delete de ambos objetos para que o retorno seja identificado com o http code 404 (Not found) quando o ID não existe, ao invés de uma exception genérica, pois isso está gerando um 500 (Internal Server Error), o que não deixa claro ao client o que está acontecendo de fato.

    • @marcofv
      @marcofv 9 місяців тому

      Estava dando uma procurada e parece que há uma annotation (@ResponseStatus) que pode ser posta em ambas exceptions (ProductNotFoundException e CategoryNotFoundException).

  • @ezzyrXD
    @ezzyrXD 9 місяців тому +3

    Que aula incrível!! Como Backend Pleno estou fascinado com a facilidade para você transmitir o assunto, tirou muitas duvidas minhas e me ajudou muito com o Cloud. Muitíssimo obrigado!!

  • @elenilsonjuniorcamilodeoli9836
    @elenilsonjuniorcamilodeoli9836 7 місяців тому +1

    Olá pessoal tudo bem? Parabéns Fernanda pelos seus conteúdos, têm sido bastantes úteis para nós que somos desenvolvedores(engenheiros de software).
    Gostaria de saber quais sites encontro esses desafios para eu poder fazê-los e praticar também. Um abraço!!

  • @larissanunes2838
    @larissanunes2838 10 місяців тому +13

    Oii Fê, você poderia fazer um vídeo resolvendo um desafio em Java Spring utilizando Spring Security? Vai me ajudar bastante no meu TCC! 💖

    • @EdsonLima-hp6ew
      @EdsonLima-hp6ew 10 місяців тому

      Ola, tudo bem? Enquanto a Fe nao faz um desafio desse ... existe um canal que eu gosto muito tambem chamado @amigoscode, e la tem algumas APIs utilizando Spring Security, inclusive tokenizacao com jwt... da uma olhada.

    • @osvaldoamosse8202
      @osvaldoamosse8202 10 місяців тому +1

      Oie @larissanunes 2838, veja na playlist.

    • @brunohhomem
      @brunohhomem 10 місяців тому

      ela ja fez, da uma olhada no canal

    • @kipperdev
      @kipperdev  9 місяців тому

      Oii Lari, posso trazer sim. Mas enquanto não trago, dá pra você dar uma olhada no vídeo que tem sobre Spring Security aqui no canal, espero que te ajude 💜
      ua-cam.com/video/5w-YCcOjPD0/v-deo.html

  • @NelsonReisNeto
    @NelsonReisNeto 9 місяців тому +1

    Top conteúdo ! Uma dica na criação dos construtores dentro do intelliJ é usar o atalho alt+insert, assim você cria os construtores (principalmente quando existem muitos atributos dentro de um objeto) de forma muito mais rápida =]
    Além disso, talvez fosse interessante utilizar o modificador final em cada um dos parâmetros dentro do controller como boa pratica, já que ali cada um desses parâmetros tem apenas o objetivo de passar informações recebidas para o próximo passo (nesse caso o service) e não devem ser alterados na camada de controller.

  • @fabiodosreisvianadasilva6850
    @fabiodosreisvianadasilva6850 10 місяців тому +1

    Eu estou como backend pleno onde eu trabalho e estou fazendo um curso para aumentar meus conhecimentos de cloud, assim que terminar o curso vou pegar esse desagio e implementar, muito obrigado, ótimo conteúdo.

    • @ruhtra6865
      @ruhtra6865 10 місяців тому

      Poderia me informar qual o curso você está fazendo sobre cloud?

    • @fabiodosreisvianadasilva6850
      @fabiodosreisvianadasilva6850 10 місяців тому

      @@ruhtra6865 Eu comprei um curso na udemy mesmo, para ter uma introdução mais teorica

    • @fabiodosreisvianadasilva6850
      @fabiodosreisvianadasilva6850 10 місяців тому

      @@ruhtra6865 o curso se chama certificação Amazon AWS Cloud Practitioner CLF - C02(2024)

  • @thenanzim
    @thenanzim 10 місяців тому +34

    Como sempre entregando conteúdos de altíssima qualidade. Já dei o meu like!

    • @kipperdev
      @kipperdev  10 місяців тому +2

      Obrigadaa Renan! 💜💜

  • @mdias88
    @mdias88 8 місяців тому +1

    Fernanda (ou alguém), sabe se dá pra fazer esse projeto com IA, por exemplo jogar as necessidades do projeto e ele colocar todas as classes separadas e a gente só montar o projeto? Conhece alguma IA que leia isso ou tem que fazer meio que classe a classe mesmo e a IA só ajuda a programar junto contigo? Espero que tenha ficado bem explicado hehe, obrigado pelos vídeos, muito bom! :D

  • @pac953
    @pac953 10 місяців тому +37

    Oi , poderia lista os cursos de java q vc ja fez/faz? Obg

    • @MarcosVinicius-ui9ct
      @MarcosVinicius-ui9ct 10 місяців тому +1

      up

    • @franciscoalexandrepaixaodo7929
      @franciscoalexandrepaixaodo7929 10 місяців тому +4

      Eu recomendo um aqui do UA-cam da Devdojo - ua-cam.com/play/PL62G310vn6nFIsOCC0H-C2infYgwm8SWW.html

    • @rafaelsoares8497
      @rafaelsoares8497 10 місяців тому

      Queria saber tbm

    • @Shlnigamii
      @Shlnigamii 10 місяців тому

      @@franciscoalexandrepaixaodo7929perguntaram pra Fernanda e não pra esse aí!

    •  10 місяців тому +1

      Da uma procurada nos cursos da Loiane Groner tbm. Tem aulas no youtube, livros tbm.

  • @farciomernandes8028
    @farciomernandes8028 9 місяців тому +5

    Estou replicando em NodeJs com Nest. Conteúdo muito bom, parabéns! Fiquei até mais motivado a estudar mais com seus vídeos!

    • @KuroManX
      @KuroManX 5 місяців тому +1

      tem repo? to pensando em fazer isso pra praticar

  • @gabrielcavalieri3795
    @gabrielcavalieri3795 10 місяців тому +2

    fiquei muito feliz em assistir este video sendo junior fullstack mas focado em java e ter entendido cada passo que vc fez, sendo que é uma vaga pleno, me sinto mais confiante em ir atras de vagas desafiadoras, obrigado fernanda!!!

  • @ramonfernandesviana6845
    @ramonfernandesviana6845 10 місяців тому +1

    Essa mina é braba que só. Parabéns Fernanda.
    Você tem uma didática muito boa

  • @capitão_eulr
    @capitão_eulr 7 місяців тому +2

    06:33 cache com redis ou algo assim nao serviria tambem?

  • @edurodriguesdias
    @edurodriguesdias 9 місяців тому +4

    Parabéns pelo conteúdo, mandou muito nessa! Se me permite comentar, dicas para quem for fazer o teste real (valendo uma vaga mesmo hehehe) eu consideraria:
    - Subiria um container docker de Mongo e Container de UI
    - Provisionaria os recursos AWS via local stack ou com IaC (terraform ou cloudformation)
    - Adicionaria um lifecycle rule no bucket do s3 para economizar no custo de armamento dos arquivos antigos
    - criaria uma DLQ para reprocessar os itens com falha na fila do SQS
    - Nos responses dos recursos de criação eu retornaria 201 ao invés de 200
    - Faria os unitários pra fazer uma média 😅
    - e o mais importante, um readme bonitão explicando tecnicamente os principais pontos e com diagramas de fluxo

  • @shussan546
    @shussan546 5 місяців тому

    Primeiramente parabéns pelo conteúdo, isso ajuda demais quem esta iniciando e quem é véio de código, da aquela relembrada em boas praticas. Percebi que vc usa o inteliJ e o vscode na sua maquina como IDE, mas vc já experimentou usar o Neovim?

  • @pauloluguenda8397
    @pauloluguenda8397 10 місяців тому +1

    Parabéns Fé continua com o trabalho. Sou de Angola e acomopanho todos os seus videos. No ano passado entendi o básico do Java com spring em apenas uma aula sua, és muito didática.

  • @davips02
    @davips02 10 місяців тому +3

    Que conteúdo top. Continua trazendo pra gente por favor (ainda mais em Java kk) que as lógicas de negócio ajudam bastante a gente criar/reestruturar as nossas APIs, abraço Fer!

  • @jhonatanlopes7513
    @jhonatanlopes7513 10 місяців тому +1

    Muito bom, consegui realizar todas as etapas, o final também me ajudou pois havia tido problemas com o SNS e a dica de conferir as permissões foi essencial!

  • @ismadrade
    @ismadrade 9 місяців тому +1

    Cai de paraquedas no seu vídeo e estou amando. É muito difícil achar esse tipo de conteúdo tão bem explicado. Ja ganhasse mais um inscrito. Aproveitando o tópico, você tem alguma dica pra quem quer começar a utilizar aws em conjunto com Java? Eu tentei começar um curso há alguns anos atrás, mas fiquei um pouco traumatizado com os valores que a aws me cobrou e agora sempre fico um pouco apreensivo quando quero aprender algo que envolva aws 😅

  • @YGMartinS
    @YGMartinS 10 місяців тому +1

    Representa os DEV's Java do Brasil! Parabéns.

    • @kipperdev
      @kipperdev  10 місяців тому +1

      Ahahaha obrigada demais!! 💜

  • @davidpansardis2801
    @davidpansardis2801 10 місяців тому

    parabéns pelo vídeo, só fala mais sobre o lance do price, de onde vc tirou essa estrategia de x100?

  • @Kibutzzz
    @Kibutzzz 10 місяців тому +1

    Dica: quando estiver criando algum component, controller ou service e com dependencias e estiver usando lombok, vc pode colocar essas dependências como final e usar a anotação @RequiredArgsConstructor. Assim ele vai gerar o construtor exato q vc precisa e vc n vai precisar ficar editando o construtor manualmente toda vez a adiciona uma nova dependência

    • @kipperdev
      @kipperdev  10 місяців тому +2

      Obrigada pela dicaa!
      Mas nesse caso eu não usei por que eu preciso de um construtor vazio, por isso o NoArgsConstructor, e precisava de um construtor que aceitasse um objeto do tipo CategoryDTO e não todos os parâmetros um a um, desestruturando o objeto DTO e salvando nas propriedades correta da entidade!
      Mas costumo usar bastante o RequiredArgsConstructor em outros casoss 😊

    • @Kibutzzz
      @Kibutzzz 9 місяців тому

      ​@@kipperdev Oi, acho q o youtube deletou meu comentario anterior por que tinha o link da PR :(
      Mas só pra deixar o registro, acho q não consegui me explicar bem no comentario anterior então decidi abrir a Pull Request para o seu repo.
      Desculpe a demora para responder, o UA-cam nunca me notifica de respostas aos meus comentarios.
      Parabéns pelo video!

  • @marceloeduardobenencase5857
    @marceloeduardobenencase5857 10 місяців тому +1

    Cara, seu conteúdo é muito bom, sério mesmo. Eu tento reproduzir os desafios que você posta mas em Python usando FastAPI que é o framework que eu tenho mais familiaridade. Mas vou tentar um dia arriscar usar o Spring pra ver como que é.
    Sucesso!

  • @amandacastro5740
    @amandacastro5740 3 місяці тому

    Que vídeo maravilhoso!! Obrigada por compartilhar conteúidos tão bons gratuitamente! Sou muito fã sua!

  • @marcomabony
    @marcomabony 8 місяців тому +1

    Boa noite, muito obrigado pelo material. 👏👏

  • @Redyf
    @Redyf 9 місяців тому +1

    Ela faz parecer fácil, quero ser tão bom quanto você um dia Fernanda

  • @rakavargas
    @rakavargas 10 місяців тому

    Guria!!! eu sou de Rio Grande e estou fazendo ADS e achei do nada teus videos \o/
    que video

  • @AlexsanderFer90
    @AlexsanderFer90 5 місяців тому +1

    Conteúdo de qualidade e de graça, muito bom.

  • @victorleandro6516
    @victorleandro6516 10 місяців тому +1

    Gosto bastante dessas resoluções de problemas, vou acompanhar. Parabéns! 👏🏾👏🏾🤘🏾

  • @asdiasx
    @asdiasx 10 місяців тому +1

    Um dos melhores canais de conteudo Java, parabens!!!

  • @octaviopiratininga4050
    @octaviopiratininga4050 2 місяці тому

    Ao invés de adicionar os repositories no construtor das classes service, não daria para usar a anotação @Autowired ?

  • @marceloroldrin
    @marceloroldrin 10 місяців тому +1

    Ótimo vídeo!
    Vi que você salvou a categoria"completa" em produto. Fiquei curioso quando alterar a categoria, se irá refletir no produto.

    • @kipperdev
      @kipperdev  10 місяців тому +3

      Obrigada Marcelo!
      Realmente, esqueci totalmente dessa possibilidade! Na parte 2 vou ajustar para evitar que a categoria dentro do produto fique desuatualizada!

  • @duropelado
    @duropelado 9 місяців тому +1

    Como encontrar os desafios? :( Quero encontrar desafios mais voltados para fintech, qual você recomenda?

  • @FBHI
    @FBHI 9 місяців тому +1

    Fico imaginando se em alguns meses esses testes ainda vão existir, com a IAs dando códigos cada vez mais facilmente.

  • @ChandlerBing11
    @ChandlerBing11 10 місяців тому +3

    Hehehehe já estou ansioso pela parte 2, Fê!!!! Mandou muito bem aqui nesse tutorial, vc é talentosíssima e muito simpática!!!!

    • @kipperdev
      @kipperdev  10 місяців тому +2

      Boaaa! Hahaha já estou finalizando a parte 2, logo logo sai aqui no canal
      Valeu demais 💜

  • @Shlnigamii
    @Shlnigamii 10 місяців тому

    Uma dúvida. Estou iniciando tecnólogo em análise de sistemas. Estou estudando Python assim como você fez no seu início. Porém você foi pra JS. A dúvida é.
    Porque migrou do Python para js e quais as diferenças de mercado de trabalho entre Python e js ( salário wise) .
    Grande abraço.

  • @teamwgss
    @teamwgss 5 місяців тому +1

    Onde eu consigo um site para pegar desafios de sql e power bi (se é que tem)?

  • @fabiofrancadesouzajunior7920
    @fabiofrancadesouzajunior7920 10 місяців тому +1

    conteúdo muito top oh, sou fã dessa mulher, manda muito bem !!!

  • @eduardoaraujo9988
    @eduardoaraujo9988 10 місяців тому +1

    Que conteúdo incrivel Fernanda, parabéns pelo trabalho que você vem fazendo

    • @kipperdev
      @kipperdev  10 місяців тому

      Muito obrigada Edu!! 💜

  • @lucasaugustolimasantiago542
    @lucasaugustolimasantiago542 10 місяців тому

    @Fe, tira uma duvida, utilizar o redis ao inves do s3 não ficaria melhor (Obs: sei que é o que desafio pede)

  • @edinhobrasil06
    @edinhobrasil06 10 місяців тому +1

    24:45 não seria mais prático e seguro tratar como bigdecimal no Java e serializar como string no mongodb? Assim vc fica protegida de variações de ponto flutuante e evita operações matemáticas ao recuperar e gravar informações monetárias. Abraço.

  • @doliveira-dev
    @doliveira-dev 10 місяців тому +1

    Era o video que eu precisava assistir. Essa semana fui reprovado nessa mesma empresa por não ter experiência com AWS. :(

    • @kipperdev
      @kipperdev  10 місяців тому +2

      Que pena Daniel, mas não desanime! Bola pra frente, você vai conseguir! 🚀
      E espero que o vídeo tenha ajudado a se preparar um pouco mais para os próximos desafios 😊

  • @VaDigitNow
    @VaDigitNow 10 місяців тому

    Foram necessário 15 dias pra fechar a playList. Entre ver e rever foi mais que necessario para agregar conhecimento e praticar o conteudo; se tive erro sim com certeza, mais são eles que vão lapitando os conhecimentos adquiridos.... todoConteudo() -> valeMuitoAPena(obrigado); ...Tem mais😃😃😃

  • @felipecoelho4955
    @felipecoelho4955 9 місяців тому +1

    Incrível, parabéns pelo trabalho!!

  • @vinicioschiavo6660
    @vinicioschiavo6660 10 місяців тому +1

    Muito bom, esperando a segunda parte.

  • @AndOliver46
    @AndOliver46 10 місяців тому

    Otimo conteudo como sempre. Uma duvida, nao seria melhor instanciar o CategoryService inves do CatergoryRepository dentro do ProductService?
    Edit: Ela corrigiu kkkkk 👏

  • @canaljoseribeiro
    @canaljoseribeiro 10 місяців тому +4

    Mais um vídeo de qualidade e mão na massa! Parabéns Fé, uma aula! Já to esperando a parte 2 pra editar! Ahahahahhaha

    • @kipperdev
      @kipperdev  10 місяців тому +1

      Ahahahaha não seria possível sem você, valeu José! 🫶🏼
      Logo logo tem parte 2!

  • @euseikodak
    @euseikodak 10 місяців тому +1

    Conteúdo muito raro hoje. Adorei o vídeo! Vou acompanhar para a parte 2 :))

  • @gerodf10
    @gerodf10 10 місяців тому +1

    cai de para-quedas no canal... muito bom o conteudo...

  • @jhonyrodrigues956
    @jhonyrodrigues956 10 місяців тому +1

    MUITO BOM. Esperando a parte 2 haha

  • @eliabekun
    @eliabekun 10 місяців тому

    Simplesmente perfeito! Amei esse tipo de conteúdo e aprendi demais. Muito obrigdo! Parabéns!

    • @kipperdev
      @kipperdev  9 місяців тому

      Muito obrigadoo, Elia 💜
      Fico muito feliz em saber que você está aprendendo e gostando do conteúdo

  • @pedrooterogpe
    @pedrooterogpe 10 місяців тому +1

    Parabéns pelo conteúdo.
    Porque enviar a msg para um SNS e não diretamente pro SQS?

  • @tiagodiniz4401
    @tiagodiniz4401 10 місяців тому +1

    Kipper, onde você costuma pegar esses desafios? Queria saber para poder praticar.

    • @luizgpolido
      @luizgpolido 10 місяців тому

      claro, com a sua área/lang após o "técnico"

  • @vinicius-s-rocha-437
    @vinicius-s-rocha-437 10 місяців тому

    Boa noite!
    Não manjo de Java, esses métodos da service, não seria melhor se fossem Async? Ou já é padrão no Java?

  • @micaelsaninlen8758
    @micaelsaninlen8758 10 місяців тому

    Excelente vídeo, Fernanda! Uma dúvida, onde você encontra esses desafios para resolver? Gostaria de resolver também kkkkkkk

  • @Joaovictor-nx1ys
    @Joaovictor-nx1ys 10 місяців тому +1

    víteo legal!
    parabéns pelo trabalho!

  • @raphaelsilvestredossantos32
    @raphaelsilvestredossantos32 10 місяців тому +2

    Fiquei com uma dúvida pq não trabalhar com numeros com ponto flutuante, já vi essa abordagem em outras aplicações Java, existe algum motivo específico, trabalho com C# só uma dúvida mesmo 😅

    • @tiagomatos6120
      @tiagomatos6120 10 місяців тому

      Como assim?

    • @tiagomatos6120
      @tiagomatos6120 10 місяців тому

      Eu sei que vai depender do o que você está fazendo, se for um sistema que precisa de uma certa precisão, se usar tipo inteiro vai ter perda de dados, agora se utilizar números com ponto flutuante não.

    • @programadorecorredor4678
      @programadorecorredor4678 10 місяців тому

      essa prática visa garantir uma representação mais precisa e consistente de valores monetários, reduzindo as chances de imprecisões numéricas ao trabalhar com cálculos financeiros em uma aplicação Java Spring com MongoDB.

    • @heraldo623
      @heraldo623 10 місяців тому

      Quando se usa inteiro é pra armazenar valor monetário em moedas. Isso vem do passado onde aplicações financeiras tinham requisitos restritos sobre cálculos e precisão. Calcular valor monetário em moedas remove o erro de ponto flutuante. O arredondamento pode causar perdas consideráveis em alguns casos.

  • @HelomRezende
    @HelomRezende 10 місяців тому

    É fácil achar esses desafios de vagas no Github? Acho uma boa para treinar pra quem já está a milênios no mercado (muitas vezes em legado)

  • @elisioricardo
    @elisioricardo 10 місяців тому

    Conteúdo perfeito, saindo das mesmice de crud, aguardando a parte 2

    • @kipperdev
      @kipperdev  9 місяців тому +1

      Oii Ricardo
      Muito obrigadaa, fico muito feliz que goste do conteúdo
      Aqui está a parte 2
      ua-cam.com/video/rqOi8h1GDb8/v-deo.htmlsi=qd35AagxYia2-UyB

  • @caiocutrim3596
    @caiocutrim3596 10 місяців тому +2

    achei muita coisa pra um dev pleno, mas tá valendo o desafio

  • @rafaeltechscience
    @rafaeltechscience 10 місяців тому +1

    Muito bom! Conteúdo de muita qualidade, como sempre.

  • @leomottadev
    @leomottadev 10 місяців тому

    Obrigado por sempre criar conteúdos atuais e de qualidade! Virei membro! 💜

    • @kipperdev
      @kipperdev  10 місяців тому

      Muito obrigada pelo apoio Leo! 💜💜

  • @YohanFranca-yw7vf
    @YohanFranca-yw7vf 10 місяців тому

    Onde você consegue essas ideias de projeto ?

  • @Lucassilva-cp4eg
    @Lucassilva-cp4eg 10 місяців тому

    pq optou por instalar o mongo? n é mais fácil rodar no docker-compose?

  • @kazumashachou6974
    @kazumashachou6974 10 місяців тому +1

    Muito útil, desafios da vida real, não pokedex , muito obrigado

  • @regisyamamoto2685
    @regisyamamoto2685 10 місяців тому

    Oie Fer :). Uma dúvida. Pq não enviar o evento diretamente para o SQS, em vez de enviar para o SNS e depois para o SQS? Aqui onde trabalho enviamos diretamente para o SQS

    • @Drymond-
      @Drymond- 10 місяців тому

      acredito que foi para deixar mais genérico, estando num tópico SNS isso permite que a mensagem seja distribuída para outros lugares além da fila criada no SQS

    • @kipperdev
      @kipperdev  9 місяців тому +1

      Oii Regis
      O principal motivo de usarmos o SNS, é para dar mais flexibilidade para a nossa arquitetura. Quando enviamos diretamente para o SQS acabamos acoplando as duas estruturas, mesmo que elas fiquem async. E se a gente quiser que, a partir de agora, a nossa aplicação avise não só esse serviço, mas outros 5 também? Ou quem sabe outros 15? Tendo o SNS configurado, nada muda, apenas cadastramos os nossos novos SQS's no nosso SNS e pronto. Se não tivermos ele configurado, teríamos que enviar 5 requisições para 5 SQS's diferentes.
      Além disso, o SNS nos permite não só fazer envios ao SQS, mas também fazer envios de emails, mensagens de telefone, entre várias outras coisas. Caso isso virasse um requisito na aplicação, poderíamos facilmente aplicá-lo!

    • @regisyamamoto2685
      @regisyamamoto2685 8 місяців тому

      @@kipperdev a sim entendi agora. faz todo sentido :)

  • @numseidizer
    @numseidizer 10 місяців тому

    Legal.
    Mas o principal fator do desafio que eu julgo é: "Keep in mind that this is an online product catalog, which means there will be multiple requests for editing items/categories per second, as well as accessing the catalog search endpoint.". Geralmente isso passa batido pela maioria das pessoas. Espero que no próximo vídeo você mostre como lidar com concorrência.

    • @matheusrmartinez
      @matheusrmartinez 10 місяців тому

      Talvez utilizar um mecanismo de Optimistic Lock, podendo criar versões dos itens/categorias.

    • @numseidizer
      @numseidizer 10 місяців тому

      @@matheusrmartinezexato. Como o exercicío é simples e não envolve transações complexas e que poderiam ter chance de falha alta, Optimistic seria sensacional. Acredito que hoje o que mais faz ter gente reprovada nas entrevistas na empresa que trabalho é um conhecimento extremamente baixo em concorrência. Todo pleno já deveria saber pelo menos o básico.

  • @Marcosferreira-pw3if
    @Marcosferreira-pw3if 10 місяців тому

    Mandou bem... super clara em suas explicações.....abrç

    • @kipperdev
      @kipperdev  10 місяців тому

      Muito obrigada Marcos! 😊

  • @apolowilker6203
    @apolowilker6203 10 місяців тому

    Pra esse desafio serve usar o mongoDB no docker?

  • @emersonbarros7905
    @emersonbarros7905 10 місяців тому

    Sensacional .. ótimo conteúdo como sempre!

    • @kipperdev
      @kipperdev  9 місяців тому

      Muito obrigadaa, Emerson 💜

  • @anthonymeds4440
    @anthonymeds4440 10 місяців тому

    Top demais esses conteúdos de javinha. Parabéns👏👏👏

    • @kipperdev
      @kipperdev  10 місяців тому

      Obrigadaa Anthony! 💜

  • @luizrodrigues9233
    @luizrodrigues9233 9 місяців тому +1

    Porque ela nao usa o AutoWired do spring ?

    • @lccserra
      @lccserra 7 місяців тому +1

      Usar constructor injection é mais recomendado, inclusive por facilitar a escrita de testes unitários

  • @eduardosprangoski7230
    @eduardosprangoski7230 10 місяців тому

    Conteúdo Top das Galaxias...

  • @LucasFeitozasAM
    @LucasFeitozasAM 10 місяців тому

    Ansioso pela parte 2 haha 😃

    • @kipperdev
      @kipperdev  9 місяців тому

      Ja saiuu hehe
      ua-cam.com/video/rqOi8h1GDb8/v-deo.html

  • @karpegnogueira
    @karpegnogueira 10 місяців тому +1

    muito bom! obrigado pelo conteudo!! s2

  • @DouglasCastrodaSilva
    @DouglasCastrodaSilva 10 місяців тому

    nao seria melhor uar a FIFO? imaginando um cenario onde multiplos catalogo sofreram alteracoes e um catalogo em particular recebeu mais de uma alteracao acredito q exista a possibilidade do json desse catalogo que fica na s3 nao ser atualizado com a versao da ultima alteracao dele. Se isso ocorrer todos os requets posteriores para buscar esse catalogo viriam com o dado desatualizado até que esse catalogo fosse atualizado novamente pois ai seria emitida outra msg para SQS e o json da S3 seria atualizado.

    • @ThiagoSoares-s8f
      @ThiagoSoares-s8f 10 місяців тому +1

      Nesse caso o teste fala ali que além de publicar no SQS as rotas de crud atualizam direto o banco, o consumidor para gerar o catalogo não puxa a informação do s3 para gerar um próximo catalogo e sim puxa diretamente do banco, como no diagrama. O catalogo é mais para o front-end consumir

  • @RianBertoti.
    @RianBertoti. 10 місяців тому

    Ficou muito legal "Prima"❤

    • @kipperdev
      @kipperdev  10 місяців тому

      obrigadaaa Rian! 💜

  • @chanela6135
    @chanela6135 10 місяців тому +4

    Seria perfeito se você fizesse a resolução "correta" usando nodejs, estou focado nos estudos de backend graças aos seus vídeos!

  • @antonioamaral2406
    @antonioamaral2406 10 місяців тому +1

    conteúdo excelente.

  • @jrbcrj
    @jrbcrj 10 місяців тому

    só não entendi o pq de usar string no id. seria por conta do mongo?

  • @KermesSalustiano
    @KermesSalustiano 8 місяців тому +1

    Show, excelente video!!

    • @kipperdev
      @kipperdev  8 місяців тому +1

      Valeuu, Kermes 💜

  • @luisaugusto7716
    @luisaugusto7716 8 місяців тому +1

    Aula incrível, esse "Mâs"/ mas 😂😂 me quebra.

  • @JoãoBisinotti
    @JoãoBisinotti 2 місяці тому

    não recebia a mensagem no sqs até mudar sua policy, alguém mais teve esse problema?

  • @sombNOW
    @sombNOW 10 місяців тому

    Muito bom o conteúdo Fernanda, me surgiu uma duvida, como seria a questão de segurança nas keys da aws caso a gnt queira colocar um projeto assim no nosso git?

    • @ilikecats5396
      @ilikecats5396 10 місяців тому +1

      eu normalmente uso as variáveis de ambiente

    • @kipperdev
      @kipperdev  10 місяців тому +3

      Obrigadaa! Como o @ilikecats5396 falou, ai é legal a gente usar variaveis de ambiente. E ai a gente carrega essas vars de ambiente no nosso application.properties.
      Algo tipo isso:
      aws.secretKey=${AWS_SECRETET_KEY}

  • @fredeve-shows1753
    @fredeve-shows1753 10 місяців тому

    Por que tu tem um DTO se Category e CategoryDTO são essencialmente iguais?

    • @FBHI
      @FBHI 9 місяців тому

      Na verdade não são, com o DTO ela fugiu de expor o ID

  • @rbsfinger
    @rbsfinger 10 місяців тому

    Show! Obrigado.

  • @ukirlcan2640
    @ukirlcan2640 10 місяців тому +1

    Nesesito leer los subtitulos en español, Saludos!

  • @lazycapybara-j1s
    @lazycapybara-j1s 10 місяців тому

    empresas ainda pedem desafio pra devolver depois ? achei que 90% era leetcode ao vivo

  • @mxlobo
    @mxlobo 10 місяців тому +1

    Eu com o fone de ouvido e ela: FALA, GALERA!
    Dei um pulo e falei "Eita, poha"

  • @sparksGTO
    @sparksGTO 10 місяців тому

    Sinto saudades de fazer teste para concorrer em uma vaga.

  • @HelomRezende
    @HelomRezende 10 місяців тому

    Ótimo vídeo! O tenso de crud backend é a repetição... Faz a entity, DTO, repository, service etc. Sempre a mesma coisa! Esse até tem umas peculiaridades. Mas ultimamente eu estou numa de gerar o início ali com alguma IA e só fazer os ajustes. Não recomendo isso para iniciantes hein jovens? rs

    • @sharewareX
      @sharewareX 10 місяців тому

      Isso não seria uma vantagem, já que facilitaria o desenvolvimento das APIs?

    • @HelomRezende
      @HelomRezende 10 місяців тому

      @@sharewareX Sim. Mas vc tem que enteder 100% o que está sendo feito, já que a IA delira as vezes. E se não entender algo , é bom pedir para ela explicar.

  • @fredeve-shows1753
    @fredeve-shows1753 10 місяців тому +2

    Por que da decisão de usar inteiro para o preço? Não me parece uma boa escolha pensando no longo prazo… por exemplo tu pode ter por qualquer motivo no futuro mudar teu requisito de precisão monetária de 2 casas decimais para 4 casas (o que seria comum em sistemas tributários ou financeiros). Outro ponto pensando numa evolução tu tá tirando responsabilidade da precisão monetária do banco e colocando na aplicação, se por exemplo outra pessoa for construir relatórios em cima do dados ela terá uma complexidade extra de tratar esse número sendo que essa regra estará apenas no código e na tua cabeça e quem for tratar esse dado pode não ter esse informação… enfim pode explicar qual foi o racional? (Não diga performance pois não faz sentido depois dos anos 2000 kkk)

    • @heraldo623
      @heraldo623 10 місяців тому

      Ela simplesmente converteu o valor pra menor unidade do dinheiro, no caso 1 centavo. Isso não coloca nenhuma restrição quanto a precisão já que n estamos trabalhando com ponto flutuante. É bem comum operar com centavos em aplicações financeiras.

  • @adrianmouzinho9615
    @adrianmouzinho9615 10 місяців тому

    sensacional 👏

  • @didamendes
    @didamendes 10 місяців тому

    Parabens otimo video. Depois vou assistir ate o final. Mais gostei da implementação. Tu nao e daquelas tipos de pessoa que para tudo quer utilizar a arquitetura hexagonal.

    • @kipperdev
      @kipperdev  10 місяців тому

      Obrigadaa Diogo, fico muito feliz que gostou! 💜

  • @leosantos3628
    @leosantos3628 10 місяців тому

    Que desafio toop!
    onde trabalho uso algo parecido usando serverless com node.js

    • @kipperdev
      @kipperdev  10 місяців тому +1

      Simmm, gostei muito do desafio tb! Bem parecido com cenários reais de uso