Resolvendo DESAFIO de VAGA BACKEND com Java Spring + Arquitetura Limpa

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

КОМЕНТАРІ • 263

  • @magraum8162
    @magraum8162 Рік тому +138

    Por favor, faz a parte de testes unitários, vai ajudar bastante para quem precisa de um insight de como começar, libs a utilizar e como pensar no teste. Tudo de melhor sempre 👊👊

    • @kipperdev
      @kipperdev  Рік тому +39

      Boaa! Vou fazer sim, será um dos próximos videos do canal 💜

    • @ricardofarias1443
      @ricardofarias1443 Рік тому +2

      Muito bom, continuando o projeto com os testes. Acho de grande valia uma série nesse sentido. Ir melhorando e aumentando a complexidade do projeto em nível pleno.

    • @joanersoncosta7997
      @joanersoncosta7997 Рік тому

      ​@@kipperdevestou aguardando 🎉

    • @matheustadeu4934
      @matheustadeu4934 Місяць тому

      Já tem o video dos testes unitários?

    • @devcramancio
      @devcramancio Місяць тому

      Já tem esse vídeo ?

  • @taylsonmartinez
    @taylsonmartinez Рік тому +19

    Que show de conteúdo Fernanda passei pro time inteiro aqui! Abraços e continue por favor

    • @kipperdev
      @kipperdev  Рік тому +1

      Show, valeuu Taylson! 💜

  • @matheuslucena1
    @matheuslucena1 Рік тому +26

    Seria massa fazer um projeto simples de API do zero com TDD, dessa forma você ajudaria muito a galera com dois assuntos legais que é teste unitário e TDD.
    Ou as vezes até refazer esse mesmo projecto com TDD.
    Parabéns pelo canal.

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

    Parabéns, Kipper. Muito massa teus ensinamentos. Isso é uma aula gratuita e de qualidade. Hoje domingo, eu tirei pra ficar descansando e pensei 'acho que vou ver algum desafio tecnico da Fernanda e vou fazer. ai eu to vendo teu video e vou fazer por conta propria. No começo, eu via e copiava. Hj me sinto mais confiante pra fazer só mesmo errando. Prefiro até. A gente evolui muito.

  • @christianoliveira7975
    @christianoliveira7975 Рік тому +3

    Muito incrivel ver a documentação, e a implementação no seu vídeo, parabéns! Tive um projeto em Java com Spring na Empresa que atuei um tempo atrás por isso sempre me mantenho atualizado mesmo hoje sendo Mobile com Flutter lá no trabalho.
    Excelente vídeo de verdade!
    Obs.: Implementações com AWS são muito usadas pelas empresas, seja usando S3, dynamoDb e afins... projetos que envolvam implementações com AWS de fato te preparam para o mercado, seu video faz a total diferença. Parabéns.

  • @CaioTomazoD́Berg-b9j
    @CaioTomazoD́Berg-b9j Місяць тому

    Pow que conteúdo maneiro, excepcional a sua atenção e paciência na hora de ensinar o conteúdo para os alunos na execução da programação. E o tema do vídeo foi o mais incrível 😯 obrigado Kipper 🙏❤🥷

  • @matheustadeu4934
    @matheustadeu4934 Місяць тому

    Melhor exemplo que já vi e o mais claro de arquitetura limpa, obrigado!

  • @marcellobittencourt1836
    @marcellobittencourt1836 Рік тому +9

    Não sou do Back, não sou do Java, muito menos manjo algo de Spring, mas adorei o vídeo! Mesmo não entendendo a maioria do conteúdo, é muito satisfatória a maneira que o conteúdo é explicado no vídeo. Show de bola!

  • @stefany4542
    @stefany4542 Рік тому +3

    Te acho tão inteligente. As vezes acho que nunca vou mandar bem em programação de verdade.

    • @kipperdev
      @kipperdev  Рік тому +3

      Vai sim, Stefany! É tudo questão de prática e estudo
      Confia em você 💜

  • @danielpelless
    @danielpelless Рік тому +8

    fico assustado ao perceber que não sei NADA kkkkkkk muito foda o conteúdo..

  • @EdsonYamamoto
    @EdsonYamamoto Рік тому +1

    Muito bom. sou dev .net core mas gosto de ver outros projetos e outras linguagens de programação e vc explica muito bem.

    • @kipperdev
      @kipperdev  Рік тому +1

      Muito obrigadaa, Edson 💜
      Acho legal isso que você faz, você acaba se mantendo atualizado sobre outras tecnologias!

  • @DevMalu
    @DevMalu Рік тому +1

    Nossa, que conteúdo maravilhoso!! Assisti e já salvei para tentar fazer junto passo a passo haha adoro o seu canal, ajuda demais a todos! Eu que estou começando então, é maravilhoso! Obrigada mesmo 💖🙏🚀

    • @kipperdev
      @kipperdev  Рік тому +2

      Obrigadaa Malu, fico feliz DEMAIS que o video tenha ajudado de alguma forma 😊

  • @matheusschmidtbento4751
    @matheusschmidtbento4751 5 місяців тому +3

    Quem estiver vendo o vídeo atualmente e estiver com esse erro no pom.xml -> Dependency conflict in aws-java-sdk-ses: commons-logging:commons-logging:1.2 conflict with 1.1.3(Maven dependency conflict) 3.0.0+
    basta adicionar esse trecho de código antes do bloco de dependencias


    commons-logging
    commons-logging
    1.2

  • @wilknisdeyvis5995
    @wilknisdeyvis5995 Рік тому +1

    Muito bom Fernanda! Você nunca deixa a desejar! Já estava procurando sobre aplicações com email service e AWS, aí vem você e entrega tudo!!! Agora só estou esperando aquele vídeo sobre TDD com JUnit e Mockito eim!

    • @kipperdev
      @kipperdev  Рік тому

      Que bom que gostouu, Deyvis 💜
      Hahah vou fazerr

  • @fernandorodrigues6967
    @fernandorodrigues6967 Рік тому +2

    Ainda nem terminei de assistir, mas quero parabenizar por este vídeo e por todo conteúdo que tu tens disponibilizado no teu canal.
    Conteúdo de qualidade, bem explicado, didática muito clara e objetiva.
    Com certeza, tua paixão pela tecnologia está ajudando muitos desenvolvedores, independente da "senioridade", a evoluir pessoal e profissionalmente.
    👏👏👏👏

  • @nfs03
    @nfs03 Рік тому +1

    Seus vídeos são os melhores!! Parabéns pelo conteúdo, bom demais.

    • @kipperdev
      @kipperdev  Рік тому +1

      Muito obrigadaa, @nfs03 💜

  • @kipperdev
    @kipperdev  Рік тому +17

    👉 Livro Arquitetura Limpa
    amzn.to/48sC8g2

  • @welberzindaprogramacao
    @welberzindaprogramacao Рік тому

    Vídeo muito bom! Continuo firme estudando Spring pelo seu canal, muitíssimo obrigado!!!

    • @kipperdev
      @kipperdev  Рік тому

      Que legal, Welber!
      Fico feliz em estar ajudando 💜

  • @gabijinx
    @gabijinx Рік тому +1

    fernanda, você é minha inspiração pra ser dev. meu deus, que conteúdo incrível

    • @kipperdev
      @kipperdev  Рік тому +1

      Muito obrigadaa, @gabiqss 💜
      Desejo muito sucesso na sua jornada!

  • @backend-v9s
    @backend-v9s Рік тому +1

    Muito top o desafio sendo resolvido, estou ansiosoooo pelo teste unitário

  • @TheLuizSK
    @TheLuizSK Рік тому +1

    jesus cristo eu caí aqui de paraquedas... que pesadelo fazer essa bobeirinha em java haha vcs são malucos mesmo. Mas muito bem explicado a encapsulação de responsabilidade e das chamadas recursivas 👏👏

  • @MarcoAntonioBarcelosLimaFilho

    Muito legal e enriquecedor os seus vídeos Fernanda! Continue assim e todo sucesso do mundo, obrigado por compartilhar!

  • @Curiosidades-ki2oi
    @Curiosidades-ki2oi Рік тому

    Arquitetura exagonal, que delicia, é lindo demais ver funcionando nessa arquitetura

  • @andersonxavila
    @andersonxavila Рік тому

    Vídeo muito bom, inclusive para quem tá iniciando no Spring, como eu. Sou novo no canal e já vi que tenho 75 vídeos para maratonar 😅

  • @matheusserraouchoa8222
    @matheusserraouchoa8222 Рік тому +1

    Amassando todo e qqr nlw ou aula da rockeat seat. Gesus, apredam com essa mulher como se faz aula ....

  • @AlexhKranz
    @AlexhKranz 11 місяців тому

    Fernanda, teu canal é muito bom! Parabens.

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

      Muito obrigada Alex! 💜

  • @DaviWho
    @DaviWho Рік тому

    fernanda você é 10 demais, não tem como tô sempre aqui comentando nos seus vídeos e parabéns demais!!

  • @marcioviananabr
    @marcioviananabr Рік тому

    Ótimo vídeo. Muito didático. Sim, queremos vídeos tratando sobre testes unitários. Obrigado!

    • @kipperdev
      @kipperdev  Рік тому

      Muito obrigadaa 💜
      Boa! Já está na lista dos próximos vídeos!

  • @firstshield9507
    @firstshield9507 Рік тому +9

    Video top demais! Fernanda depois poderia trazer resolvendo desagios técnicos para estágio/junior com Java?

  • @viannavictor27
    @viannavictor27 Рік тому

    Nossa, Fer! Teus vídeos me ajudam mt !!!!!!
    Iniciando minha carreira para tentar ser um dev na área de back!!!
    Parabéns pelo conteúdo o/

    • @kipperdev
      @kipperdev  Рік тому

      Boaa, Vianna, que show!!
      Desejo todo o sucesso pra você 💜

  • @leonardorochedo3686
    @leonardorochedo3686 Рік тому

    Achei seu canal aqui na TL e parabéns manda muito com Java.
    Sucesso!

  • @lucasricardo1_
    @lucasricardo1_ 11 місяців тому

    Conteúdo incrível e de grande valia! Muito obrigado por compartilhar o conhecimento Fer

  • @johnnymoreira7859
    @johnnymoreira7859 Рік тому +1

    Fernanda parabéns, vc foi uma das pessoas que me ajudaram a entrar no mundo Java com seus conteúdos. Mas se eu não estiver engando, quando usamos dependência via construtor não precisamos passar o autowired, acho que essa mudança veio no spring 3. E sim teste seria muito top e vc poderia fazer uma trilha implementando os outros serviços desse repositório da Uber, sei que vc é fera tbm no javascript, pq não fazer essa série implementando várias techs

  • @leonardofmartins
    @leonardofmartins Рік тому

    Fê, seus vídeos são excelentes. Aprendendo muito aqui. Muito obrigado e parabéns!
    Só um dica: o tamanho da fonte do código no IntelliJ pode ser um pouco maior, já que tem bastante espaço vazio no lado direito da tela. Pra quem assiste ao vídeo em telas menores, aumentar o zoom de exibição ajuda bastante.

  • @natafontoura1297
    @natafontoura1297 Рік тому

    Conteúdo muito bom, parabens Fernanda, com certeza irá ajudar muita gente 🙏

  • @miguellopes9177
    @miguellopes9177 Рік тому +1

    Acho que seria Interresante um video sobre o modulo web flux do spring

  • @KermesSalustiano
    @KermesSalustiano Рік тому

    Voce faz parecer tão facil! gosto demais dos seus videos muito obrigado!

    • @kipperdev
      @kipperdev  Рік тому

      Que bomm, @KermesSalustiano, eu que agradeço
      Fico feliz que tenha ajudado você 💜

  • @fabiano.langner
    @fabiano.langner Рік тому +1

    é uma boa fazer os testes unitários desse desafio! Abração!!!!

    • @kipperdev
      @kipperdev  Рік тому

      Abraço, @fplanger 💜
      Já coloquei lista dos próximos vídeos!

  • @filipe222345
    @filipe222345 Рік тому

    Boa Fê , sempre o conteúdo é bastante didático e já quero os testes unitários .

    • @kipperdev
      @kipperdev  Рік тому

      Valeuu @filipe222345 💜
      Esse vídeo vai vir!!

  • @douglas2085
    @douglas2085 Рік тому

    como estudante de java, é muito bom encontrar conteúdo que não seja CRUD... mesmo assim, achei difícil toda essa lógica de interfaces de regras de negócio, interfaces de serviço. Mas é isso mesmo, tudo que é novidade incomoda rsrs... parabens Fernanda, e obrigado.

  • @eulucaspedroabreu
    @eulucaspedroabreu Рік тому +7

    Acho que a complexidade do desafio na real era maior, pois não era criar abstração para dois email service provider, mas sim uma abstração between two email service providers. Ou seja, provavelmente eles querem que o output de um service seja manupulado na abstração e seja enviado como input de outro service. Teria sido legal ver por completo, mesmo que ficasse ainda mais longo! Parabéns pelo conteúdo!! 🙌

    • @TheLuizSK
      @TheLuizSK Рік тому +1

      mas o controlador ja faz isso. É so guardar o request de um provider com o remetente de outro, ela so não criou pro outro e usou o email pessoal, não ?? 🤔

    • @supern4ut3
      @supern4ut3 Рік тому +2

      1. Em relação à injeção de dependências, você poderia optar por usar a anotação @RequiredArgsConstructor do Lombok e declarar as dependências como private final. Isso não apenas torna o código mais conciso, mas também fortalece a imutabilidade.
      2. Dependendo da complexidade e do tamanho da sua aplicação, seria interessante estruturá-la em módulos do Maven. Isso facilitaria o gerenciamento de dependências e minimizaria os riscos de violações das regras de arquitetura limpa por parte dos desenvolvedores.
      3. Notei um pequeno deslize em sua implementação que poderia ser melhorado: o controller EmailSenderController deveria depender da abstração EmailSenderUseCase em vez da implementação EmailSenderService. Isso está mais alinhado com o princípio da inversão de dependência, que sugere depender de abstrações e não de implementações concretas.

  • @cassiolima9599
    @cassiolima9599 Рік тому

    perfeito o vídeo, aprendi bastante
    depois faz um vídeo mostrando como criar testes unitários e de integração, boas práticas na criação desses testes, etc...

    • @cassiolima9599
      @cassiolima9599 Рік тому

      ou também fazer um vídeo criando um projeto seguindo os ensinamentos do livro código limpo

  • @arozendojr
    @arozendojr Рік тому

    Você usa o clockify, track de tempo e dinheiro, tipo você coloca seu projetos e usa o start, vai contabilizando tempo e dinheiro gasto em cada projeto, tanto para cobra algum cliente, quanto para você mesmo veja quanto tempo e dinheiro está invetino em algum projeto

  • @anthonymeds4440
    @anthonymeds4440 Рік тому

    Muito massa esses videos de desafios backend com Spring , showw

  • @alexandreoliveira8438
    @alexandreoliveira8438 Рік тому +1

    Ótima aula Fernando, faz vídeo de testa pra gente por favor.. e se possível faz utilizando JUnit e Mockito..Muito obrigado

    • @kipperdev
      @kipperdev  Рік тому +1

      Oii Alexandre! Muito obrigado 💜
      Soltei um vídeo há 2 dias sobre testes unitários. Assiste lá e me diz o que achou!
      Espero que goste!

  • @mackympaka418
    @mackympaka418 Рік тому

    Realmente sou seu fã Fernanda, me diz o que tenho de fazer pra chegar ao seu nível, é que és mesmo muito boa naquilo que fazes

  • @victorDesenvolvedor
    @victorDesenvolvedor Рік тому +1

    Bem bacana esse exemplo, foge um pouco dos tradicionais CRUD's, mas parece ser algo para Júniors mais experientes ou plenos

  • @littleghoost
    @littleghoost Рік тому +1

    Se materia for fisica a gente deixa a torneira ligada, mas o sol pode queimar, muitos ratos aparecem voando

  • @joshbarros1995
    @joshbarros1995 Рік тому

    Seu canal é top!!! Obrigado por compartilhar com a gente!!!

  • @techno-info-o9s
    @techno-info-o9s Рік тому

    Por favor, faça um video que contenha o seguinte: API Rest + Testes Unitarios + Docker com Deploy na Nuvem (Railway ou outra plataforma).
    Obrigado por compartilhar seu conhecimento!

  • @LoperaTw
    @LoperaTw Рік тому +1

    Lança pra nóssss esses Teste Unitários

    • @kipperdev
      @kipperdev  Рік тому +1

      Que bomm, @LoperaTw
      Fico feliz que tenha gostado 💜
      Esse vídeo vai sair sim!!

  • @joshbarros1995
    @joshbarros1995 Рік тому +4

    Pequena sugestão: Seria interessante um video sobre Websockets com Spring ;)

    • @zec_s
      @zec_s Рік тому

      realmente seria mt bom

  • @odevperovano
    @odevperovano Рік тому +1

    Não entendi como o spring vai escolher qual e-mail gateway injetar caso exista mais de um implementado. É oque tiver a notação autowire?

  • @duduoliveira5281
    @duduoliveira5281 11 місяців тому

    Opa, tudo bom? seus videos sao inspiradores. Me tire uma duvida, voce faz o teste antes e depois posta um video no youtube ou faz eles de primeira

  • @firzera
    @firzera 11 місяців тому

    Olá. Não sei se fez em vídeos posteriores, mas você importou o Lombok para o projeto, e não usou. De repente seria legal mostrar para o pessoal como funcionaria a injeção de dependência por exemplo, sendo auxiliado pelo Lombok utilizando RequiredArgsConstructor a partir da definição das propriedades como final, você acabaria não precisando escrever essas injeções por construtor com o Autowired, e deixaria o código um pouco mais clean. No mais, sua didática é impressionante Fernanda, parabéns (:

  • @rodrigokunzlerweber
    @rodrigokunzlerweber Місяць тому

    Meus parabéns, continue dando aulas, ajuda muitooo. Tenho 19 anos e estou te acompanhando constantemente.
    Uma dúvida, ali na parte do EmailSenderGateway eu tive que colocar o @Component, porque estava me dando um erro de "Could not autowire. No beans of 'EmailSenderGateway' type found"
    E so dessa maneira que eu consegui resolver, porque o Spring não estava conseguindo achar o construtor, e ai que esta a minha pergunta, como que na tua aplicação funcionou kkk

  • @darthzenos
    @darthzenos Рік тому

    Não entendo nada, sou consultor empresarial. Mas achei fascinante.

  • @guilhermewill8733
    @guilhermewill8733 Рік тому +1

    Fê, por que não colocar a anotação @Autowired já na instanciação da dependência ao invés de criar um construtor para essa dependência?

  • @eileooo
    @eileooo Рік тому +1

    Ótimo vídeo, Fê! No caso da abstração entre os dois serviços daria para fazer com a interface e utilizar a anotação @Qualifier?

  • @pablogonzalez1924
    @pablogonzalez1924 Рік тому

    Muito top seus vídeos, Por favor, faz a parte de testes unitários.

  • @MeuContato-t6f
    @MeuContato-t6f Рік тому

    Fernanda minha pacera, tem como fazer um vídeo falando de mTLS no Spring boot ?

  • @jeffersonpcinfo
    @jeffersonpcinfo Рік тому

    Ótimo conteúdo Fernanda. Parabéns!!!!

  • @viit0r
    @viit0r Рік тому

    Que conteúdo incrível, Fernanda! Obrigado por nos auxiliar tanto a entender esses conceitos mais complexos, sua didática é incrível!
    Fiquei com uma dúvida em relação a interface de Gateway. Se fizermos o teste completo, implementando outro email provider, devemos implementar a mesma interface de gateway para essa nova implementação? Como o Java identifica qual o email provider que queremos utilizar?

  • @maximo9482
    @maximo9482 Рік тому

    Show! Eu nunca ia saber interpretar esse teste.

  • @vitorcast.g2331
    @vitorcast.g2331 Рік тому

    Eu não entendo nada do que ela fala, mas gosto de assistir me ajuda na facul de ADS

  • @miguelcaf
    @miguelcaf Рік тому

    Show de bola. Por mim pode fazer o vídeo de junit tb!

    • @kipperdev
      @kipperdev  Рік тому +1

      Valeuu 💜
      Ja prometi esse vídeo há tempo hahah vou gravar essa semana!

  • @leandropilz7996
    @leandropilz7996 Рік тому +1

    Parabéns, muitooooo bom mesmo.

    • @kipperdev
      @kipperdev  Рік тому

      Muito obrigadaa, @leandropilz7996 💜

  • @caferrari
    @caferrari Рік тому +1

    Só faltou a parte de failover que está no desafio, se um provider falhar tem que fazer fallback para outro e garantir HA.
    queria ver algum algoritimo de circuit break =/..

    • @fabricioaraujo7642
      @fabricioaraujo7642 Рік тому

      Ja tentou implementar isso você mesmo ? Por que esperar por um vídeo ?

    • @caferrari
      @caferrari Рік тому

      @@fabricioaraujo7642 já sim, seria legal para aprender outros approaches, até por que não trabalho com Java. E esse ponto estava no desafio

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

    Obrigado pelo vídeo, faz mais!

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

      Vou fazerr 💜

  • @LucasAnghinoni90
    @LucasAnghinoni90 Рік тому

    47:22 muito bom o Video, só fiquei com uma dúvida, não seria a interface do usecase que deveria ser usada no controller?

  • @PaGow
    @PaGow Рік тому +2

    Okay, Injectou o EmailSenderService conhece o EmailSenderGateway e o Ses tem que implementar, dessa forma o Spring injecta automaticamente a classe, mas e se tiver outras classes que implementam o gateway ao mesmo tempo, como é que fica?

    • @joaolucassilva6325
      @joaolucassilva6325 Рік тому

      É possível ter mais de uma implementação, mas será necessário diferencia-lás. Há várias formas de fazer isso, uma delas é adicionar a anotação Qualifier com um nome único da implementação na definição da classe e usar a mesma anotação quando fizer a injeção de dependência do atributo que faz menção a interface. Recomendo a leitura do artigo Spring Bean Names do site Baeldung.

  • @nicolasbueno3522
    @nicolasbueno3522 Рік тому +1

    socorro alguem me ajuda, alguem tem o codigo fonte que ta rodando direito, o meu nao to conseguindo rodar
    ta dando erro de conexao com.amazonaws.SdkClientException: Failed to connect to service endpoint:

  • @agnosantiago5517
    @agnosantiago5517 Рік тому

    Parabéns pelo conteúdo. Adoraria ver uma colab com as feras: Fernanda Kipper e Michelle Brito 🎉🎉🎉

    • @kipperdev
      @kipperdev  Рік тому

      Muito obrigadaa, @agnosantiago5517 💜
      👀👀

  • @Rene-Navarro
    @Rene-Navarro Рік тому +2

    Kkk mano entendi nada… mas é daora de ver parece aqueles hacker de filme falando 🤣🤣

  • @ericnevesr
    @ericnevesr Рік тому

    Qualidade do vídeo tá monstra!!

  • @glauberpeterson6641
    @glauberpeterson6641 Рік тому

    Seus vídeos são ótimos MDS ❤❤❤😮😮

  • @daniel_goncalves
    @daniel_goncalves Рік тому

    A documentação poderia ser feita usando o Swagger. É bem tranquilo.
    Uma dúvida, se você tivesse que fazer alguma fazer uma validação de negocio. Digamos que a ubber tem uma lista de palavras proibidas no corpo do email. Essa validação teria que ficar ali no Core correto? Pois é parte do caso de uso. Como ficaria essa implementação?

  • @matheustadeu4934
    @matheustadeu4934 Місяць тому

    Onde seria o lugar mais adequado para selecionar qual serviço de envio de email usar?

  • @gustavobarbosa8287
    @gustavobarbosa8287 Рік тому

    Essa câmera esculachou fer, topppp

    • @kipperdev
      @kipperdev  Рік тому

      hahahh muito obrigadaa, Gustavo 💜
      Tivemos uma evolução!!

  • @thiagosnx
    @thiagosnx Рік тому

    fe, acha que esses desafios sao um bom caminho para o aprendizado? to começando agr no spring

  • @eulucaspedroabreu
    @eulucaspedroabreu Рік тому +1

    Fê, enquanto fazia o projeto, decidi eu mesmo procurar onde encontrar a dependência, ao invés de copiar. Acontece que foi muito difícil encontrar, tantas versões, nenhuma documentação clara na AWS sobre a diferença entre as versões. Fui, então, com a versão mais recente. Só que a API mudou muuuuito! Eles passaram a utilizar um padrão diferente e achei muito mais verboso, confuso. Dito isso, queria sugerir:
    1. O que acha de fazer um vídeo falando sobre onde encontrar e como navegar nesse mar de dependências que são publicados?
    2. Analisar a atualização na api e mostrar como aprender a implementar quando a documentação é ruim.

    • @kipperdev
      @kipperdev  Рік тому +2

      Sei como é, Lucas!
      Às vezes é muito chato pesquisar em algumas documentações pq é difícil entender o que estão querendo nos dizer, às vezes os exemplos são péssimos tbm.
      Acho uma boa um vídeo falando disso, muito obrigado pela ideia 💜

    • @joserodrigues5899
      @joserodrigues5899 Рік тому

      Estou temdo dificuldade aqui com a dependencia da aws também, só confiando não funcionou, busquei a versão mais recente e também não está funcionando.
      no pom está OK, não da erro nenhum, mas na hora de adicionar no condigo o intelij não acha a dependencia, e mesmo tentanto importar na mão, não esta dando certo.

    • @kipperdev
      @kipperdev  Рік тому +1

      Oii, @@joserodrigues5899
      Tenta dar uma olhada no comentário que eu deixei pinado, parece ter ajudando o pessoal. Depois também dá uma olhada no repositório da solução que eu deixei no link do vídeo e compara com o seu projeto

    • @joserodrigues5899
      @joserodrigues5899 Рік тому

      @@kipperdev a noite vou dar uma olhada no repo, procurei ele mas não havia achado. Mais tarde procuro de novo e volto aqui caso consiga resolver.

  • @arioldo
    @arioldo Рік тому

    Excelente o vídeo! Mas uma dúvida, quando criamos uma service (ou controller e afins) e anotamos ela, o spring já não entende que o construtor já ganha um autowired por padrão? Ou você colocou essa última anotação só pra deixar explícito mesmo?

  • @andresinho20049
    @andresinho20049 Рік тому

    No momento que estou mandando esse comentário, estou no minuto 30:25, estou curtido, legal que você sabe explica as etapas e o porque esta sendo implementado de tal maneira, mas acredito que o segundo service não era necessário nesse caso, compreendo o que disse ta dahora o video.
    Considerando que seus clients estão chamando a interface, as implementações precisarão respeitar essa interface, igual você anotou... Ai depois não seria apenas criar uma nova implementação pensada na outra infla, e com @Qualifier("") você apontava
    ?

    • @kipperdev
      @kipperdev  Рік тому

      Fico feliz que você esteja gostando, André 💜
      Pois é, tem muita questão de projeto e arquitetura de solução. Às vezes um time vai preferir seguir uma estrutura diferente, e tá tudo bem, é questão de preferência.

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

    Eu implementei, funcionou, mas eu não entendi foi nada KKKKK
    Vou assitir mais uma vez e pesquisar sobre o conceito Clean Arquiteture

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

    21:20 Pra mim isso eh um dos principios do solid: dependency inversion principle

  • @vitechdev
    @vitechdev Рік тому

    Antes de assistir essa aula Arquitetura limpa pra mim era igual caviar: Nunca vi só ouço falar kk. FAZ COM TESTES UNITÁRIOS TAMBEM POR FAVOR!!! Ta na mesma situação kk. Eu posso me tornar membro Senior do canal mesmo sem ser Senior ainda?

  • @eng.wandeson
    @eng.wandeson Рік тому

    Interessante a explicação!

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

    Fê, uma unica coisa que não entendi muito bem. No desafio do uber precisariamos implementar 2 serviços de envios de email atraves de um mesmo gateway, e caso um estivesse indisponivel, acionar o outro serviço.
    Como que fariamos pra mudar o serviço de envio de emails usado como base sua disponibilidade? Por exemplo, caso o AWS SES estivesse indisponivel, como mudariamos para um mail gun?

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

      Oii Lucas, ótimo comentário!
      Eu faria de duas formas, uma é fazendo um fallback, exemplo:
      Primeiro, tento bater na AWS SES
      Se der exceção, então chamo o outro serviço tipo mailgun
      É bem simples mas já funcionaria
      Outra forma, seria ter uma forma de controlar o código remotamente, através de uma feature toggle por exemplo, o nosso código consumiria o valor dessa chave e então baseado nela ele iria decidir se usa o serviço AWS SES ou Mail Gun. E ai, a gente poderia ter um dashboard pra acompanhar a disponilidade dos serviços e fazer essa troca "ao vivo" caso notasse algum problema de disponibilidade, o problema é que ia precisar monitorar o tempo todo.
      Tipo se(chaveEMAIL == true) então AWS SES
      senão Mail Gun
      Basicamente uma feature toggle é uma técnica que permite que a gente altere o comportamento do nosso sistema sem alterar o código. O valor dessas chaves fica salvo em algum serviço, tipo o Config Cat, e nosso código consume esse valor de lá através de uma requisição HTTP, e usa esse valor pra tomar uma decisão. E nós conseguimos alterar os valores através do portal da ferramenta, como se fosse um editor de texto mesmo, onde a gente pode mudar o valor que é enviado pro nosso código.

  • @mufinagamer
    @mufinagamer Рік тому

    É o clássico, segue todo o passo a passo e no fim da erro, até agora estou tentando entender isso.

    • @edmilsonferreira5204
      @edmilsonferreira5204 Рік тому +1

      KKKKKKK literalmente eu nesse momento

    • @mufinagamer
      @mufinagamer Рік тому

      @@edmilsonferreira5204 man o código igual ao que foi ensinado kkk mas não roda. E pior, não tem um git pra comparar kkk

    • @kipperdev
      @kipperdev  Рік тому +1

      Oii, @mufinagamer
      Adicionei o link do repositório na descrição, caso você queira dar uma olhada pra comparar com o seu projeto

    • @mufinagamer
      @mufinagamer Рік тому

      me salvou!! obrigadin!@@kipperdev

    • @mufinagamer
      @mufinagamer Рік тому

      @@edmilsonferreira5204 o erro estava na parte do regions, aparentemente o spring não conseguiu ler o arquivo "application.properties". Dai precisei por na mão as credentials e a region. No meu caso deu bom.

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

    Tivesse uma outra implementação além da AWS ficaria melhor o entendimento, eu acredito

  • @otnirodrigues2212
    @otnirodrigues2212 Рік тому

    Parabéns. Ótimo conteúdo!!!

    • @kipperdev
      @kipperdev  Рік тому +1

      Muito obrigadaa, @otnirodruigues2212 💜

  • @tonyoliveira4323
    @tonyoliveira4323 Місяць тому

    Olá, alguns milhões de anos depois, hoje estava fazendo este teste e me deparei com um erro: Error: Couldn't connect to server
    Durante o teste, voce abriu o Insomnia nesta parte e não consegui fazer igual.

  • @Canemahue
    @Canemahue Рік тому

    conteúdo bom, obrigado, parabéns.

  • @edmilsonferreira5204
    @edmilsonferreira5204 Рік тому

    Ótimo conteúdo! O projeto não está no seu github?

    • @kipperdev
      @kipperdev  Рік тому +1

      Obrigadaa, Edmilson 💜
      Adicionei o link na descrição
      github.com/Fernanda-Kipper/desafio-backend-uber

  • @daeja2198
    @daeja2198 Рік тому

    Olá, pessoal.
    Tenho uma dúvida, se eu acompanhar o video e realizar em conjunto, no final eu posso colocar no meu github para mostrar o aprendizado? Ou não seria válido uma vez que foi feito seguindo a lógica de outra pessoa? No caso da Fernanda.
    Obrigado!

    • @kipperdev
      @kipperdev  Рік тому +1

      Oii @daeja2198
      Pode colocar sim!
      Só é interessante você deixar claro no readme do repositório quando você tem uma aplicação que foi construida seguindo algum tutorial.
      Mas não tem problema não, pode colocar!

  • @masterthug8647
    @masterthug8647 Рік тому +1

    O negócio mesmo é no code, muito mais rápido, não precisa saber tantos detalhes técnicos. No code tem uma grande vantagem por ganhar tempo, o que as empresas mais precisam atualmente

    • @riseunk0
      @riseunk0 Рік тому

      a questão não é se é rápido codar ou não, mas sim a escalabilidade disso, como você implementaria uma escalabilidade para um sistema no-code para que tenha 2 milhões de requisições por SEGUNDO em um código gerado automaticamente? como você implementaria um sistema desses para fazer requisições para aws sem derrubar tudo por excesso de requisições ? Não dá. NoCode e LowCode existe a vários e vários anos, são muitas questões para colocar em jogo além do tempo de desenvolvimento de um projeto.
      Um sistema no-low code gera um código já foi mastigado por um programador que projetou e implementou a plataforma, e você fica preso a isso.

    • @masterthug8647
      @masterthug8647 Рік тому +1

      @@riseunk0 elas são bastante adaptativas hoje em dia. Da pra fazer tudo e mais um pouco, esse é o futuro, é rápido. É isso que as empresas devem se preocupar, tempo, se demorarem pra entregar algo, ficam pra trás, por isso devem desenvolver cada vez mais rápido. O Banco do Brasil tem utilizado no code na maior parte dos seus sistemas atualmente por exemplo.

    • @riseunk0
      @riseunk0 Рік тому

      @@masterthug8647 Tente fazer um algoritmo de recomendação de produto simples, estilo de um e-commerce, se tiver alguma ideia de como implantar isso eu realmente quero saber.

    • @riseunk0
      @riseunk0 Рік тому

      @@masterthug8647 "O Banco do Brasil tem utilizado no code na maior parte dos seus sistemas atualmente por exemplo". De onde você tirou isso amigo?

    • @masterthug8647
      @masterthug8647 Рік тому

      @@riseunk0 ua-cam.com/users/livez0W6smxaF4s?si=GZlG-6cC8xqoSwoj
      Presta atenção

  • @RodrigoVazRocket
    @RodrigoVazRocket Рік тому

    O correto não seria usar a EmailSenderUseCase no controller ao invés da implementação?
    Mas no mais muito bom o vídeo.

  • @wevertontsousa
    @wevertontsousa Рік тому

    Oi gente!
    Caso o meu Use Case fosse retornar algo, para um Presenter por exemplo, a classe EmailResponse que seria um DTO assim como o EmailResquet, onde ela ficaria, também no Core, ou seria um DTO da camada de Infra ou quem sabe da Application?
    O meu Controller sendo da camada mais externa, por usar Framework, ele pode usar um DTO da camada mais interna Core "(por isso a minha dúvida)?

  • @guilhermemartinelli9442
    @guilhermemartinelli9442 Рік тому

    Já vi algumas vezes o @Autowired sendo usado direto no parâmetro, ao invés de criar o parâmetro e um usar no constructor. Na prática, tem algum motivo para usar um ou outro ou são duas formas de chegar no mesmo resultado?

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

      Não é recomendado pois pode te retornar um null, o ideal é fazer a injeção pelo construtor assim evita npe... você pode usar @RequiredArgsConstructor tbm do loombok.
      basta adicionar a anotação acima da classe