Resolvendo DESAFIO de VAGA BACKEND com Java Spring

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

КОМЕНТАРІ • 568

  • @wandersonbruno3266
    @wandersonbruno3266 Рік тому +462

    O conteúdo é muito bom! diferente da maioria dos canais sobre programação que só ficam na teoria, mostrar a pratica ajuda bastante para quem está começando!

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

      Muito interessante mesmo!!! Amei

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

      Valeu Wanderson!! Fico muito feliz que consigo ajudar quem está começando, também sentia falta disso quanto estava iniciando na área 💜

    • @WarDkr
      @WarDkr Рік тому +5

      É isso, muito cara por aí que se diz o programador p das galáxias, mas só fica no modo "gerador de lero lero". Esse conteúdo pondo a mão na massa resolvendo problemas de casos reais é o que realmente agrega conhecimento.

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

      Exato!@@WarDkr

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

      Exatamente!!!
      Melhor canal do momento.

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

    Obrigado! Acompanhei e fiz todo o desenvolvimento com vc. Estou estudando a cerca de 1 ano e pretendo em breve começar a me candidatar para o mercado, ajudou muito mesmo obrigado!

    • @pedroqubradas.
      @pedroqubradas. 6 місяців тому

      Vc fez algum curso ou está estudando por conta? Eu sou leigo e estou pensando de começar a estudar em casa mesmo.

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

    A parte 2 poderia aplicar design patterns e também testes com junit e mockito

  • @serdevbr
    @serdevbr Рік тому +73

    Parabéns pela iniciativa! Isso é muito bom pra galera entender como é o fluxo pra transformar requisito em código e mostra bastante sua coragem, porque meter a cara não é fácil. E com isso certeza vai receber bastante feedback para melhorar cada vez mais e também mais rápido. Na minha visão atual acredito que o seu código seria avaliado para uma vaga de estagiário, se fosse pra júnior seria bem no limite de corte.
    Sugestões:
    O carinho é bastante avaliado sempre, no requisito não indicava linguagem ou framework, porém indicava conhecimento em PSRs (Boas práticas em PHP) e alguns materiais úteis, que indica claramente que o teste seria em PHP. Não avaliar os materiais úteis e os diferenciais e já ir pro código indica uma certa ansiedade. É estranho, mas eu como avaliador técnico esperaria que você me indicasse dúvidas antes de desenvolver qualquer coisa que não tivesse certeza absoluta, inclusive sugestões era um ponto indicado no próprio desafio. Então fazer uma boa análise técnica e ter dúvidas é sim algo importante.
    Note que basicamente você não entregou nenhum requisito proposto no diferencial, isso é um detalhe muito relevante pra um avaliador. Outro ponto é que a correção iria ocorrer de maneira automática utilizando uma imagem docker que você poderia rodar localmente, algo que não foi feito e se tivesse provavelmente já indicaria que você estava ali num caminho errado.
    Dentro do que seria avaliado e levando em conta que fosse permitido entregar em Java, faltou alguns itens:
    - A documentação não existe e não possui nenhum gerador de especificações openAPI, como o Swagger;
    - Alguns problemas de "lint", como falta de espaços em alguns lugares e outros detalhes que são recomendações da comunidade (entraria na parte das PSR's) e também entra um pouco na questão ali do código limpo, inclusive o próprio método grande citado no final.
    - Faltou um tratamento de erros com mais carinho, criando exceptions personalizadas e retornando erros dentro dos padrões esperados para o padrão RESTFul.
    - Cuidado com itens de segurança, por exemplo no retorno da transação ou criação do usuário, retorna a senha do usuário. Um outro ponto dentro desse mesmo erro é que não seria avaliado a criação de um usuário, mas ao criar o serviço para isso e inserir uma senha em texto puro para ser cadastrada no banco, é algo que impacta negativamente, seria legal colocar alguma encriptação, mesmo que fosse básica. No meu olhar, eu criaria migrations para já cadastrar os usuários para realizar os testes e não me preocuparia com esse serviço.
    - O código foi feito no molde "puxadinho", faz uma coisa aqui, arruma outra ali, não foi definido um fluxo do inicio, meio e fim para o desenvolvimento do projeto. E nesse ponto meio que ficou evidente a falta de testes unitários e de uma arquitetura mais consistente. Uma coisa nova implementada quebrava a outra. Inclusive o código final desenvolvido está permitindo cadastrar usuários sem tipo e esses usuários sem tipo podem fazer transações, seria algo pego num teste de integração ou também unitário. Outro ponto que isso afeta é na manutenabilidade do código, você até usou commit lint porém faltou especificar melhor essas branches de features para sinalizar o Definition of Done para os recrutadores e para você mesma do andamento do projeto num geral.
    - O seu código não está sendo "transacional", portanto caso der algum erro ele não desfaz o que já foi feito em banco. No Spring a gente utilizaria a annotation @Transactional pra definir isso no método.
    - Um pequeno problema na arquitetura não permite que uma resposta de sucesso seja dada caso o serviço de notificação esteja fora do ar e força o usuário a ficar esperando pela resposta desse serviço, algo que não seria necessário. Esse serviço deveria ser chamado de forma assíncrona, talvez fazendo uso de filas seria um plus.
    Apesar de parecer meio implícito, acredito que nos diferenciais seria o que o avaliador levaria em conta pra separar uma pessoa que se empenhou pra uma pessoa que apenas aplicou, isso de fato levaria ela para prosseguir no processo seletivo, na minha opinião, porque ela teria mais dúvidas e mais interação com o avaliador. Outro detalhe legal é que avaliando o repositório e suas outras branches, é possível ver algumas dicas relevantes, como o e-mail do recrutador, um dev mais ligado e "interessado" poderia aplicar para a vaga antes mesmo de estar em processo seletivo. Inclusive na branch "especialista" o mock para confirmar o envio da notificação está funcionando. Informar isso ao recrutador e perguntar se poderia utilizar ela para o desenvolvimento já seria um diferencial muito grande de interesse e conhecimento em git.
    É muito fácil analisar um código pronto, o difícil mesmo é fazer, ter essa coragem e proatividade para compartilhar conhecimento e ajudar pessoas. Portanto parabéns de novo pelo seu empenho e dedicação, com certeza seu trabalho ajuda muita gente! Com alguns ajustes pequenos o código já atenderia praticamente todos os requisitos.

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

      considerando que a proposta dela deve ser ajudar quem tá começando, é um bom caminho. Sem complicar demais enfiando vários design patterns e tal. Ela não fez o teste para aplicar pra vaga como senior. Mas muito boas as suas considerações.
      Onde você trabalha você consegue encontrar pessoas que fazem o teste direito? Quando eu tava fazendo as avaliações de testes técnicos de outra empresa que eu era TL, pelamor.. era um teste pior que o outro kkkkkkk

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

      @@rodrigosantsilva Não avalio os testes aqui não, sou pleno ainda.

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

      ​@@serdevbr Eu curso BSI estava querendo iniciar um estágio pois na faculdade tem muito, toda semana chega um e-mail novo. Na sua opinião, seria bom fazer estágio isso iria me trazer uma experiência positiva, ou somente a faculdade já iria me trazer uma boa bagagem? visto também que, no final da faculdade tem uma matéria de estágio supervisionado. Atualmente a grande maioria das vagas pedem muito além do que eu sei, ou do que aprendi até agora na faculdade, aí fico com o pé atrás. Pergunto isso porque parece que você já tem experiência na área então não mata perguntar, desde já agradeço!

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

      @@dofstein Fala man, tudo bom? Cara eu acho que você deve tentar sim pegar esse estágio o quanto antes vc conseguir. A maior vantagem que a faculdade te trás na minha opinião é essa possibilidade, tanto de estágio como de conhecer pessoas que estão entrando na área e podem te ajudar indicando ou dando dicas. Tenta pegar na área que você tem interesse de atuar mesmo, mesmo que não goste de começo, se esforce pra tentar ser produtivo, vai ser muito positivo sim. Com o tempo as coisas começam a fazer mais sentido. Esperar o último ano é adiar uma coisa que você já pode ir aprimorando desde já. Se eu não me engano se você conseguir atuar em estágio antes e até caso for contratado, essa matéria do estágio deixa de ser obrigatória, a empresa só faz uma declaração pra faculdade e fica tudo certo. A faculdade geralmente foca mais em ensinar as bases, então sempre o mercado vai parecer estar pedindo coisas que você não aprendeu ainda, porque a partir dessas bases veio evoluindo muita coisa. Ai no estágio você vai conhecendo e aprendendo essas ferramentas e vai estar muito mais preparado pro mercado de trabalho.

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

      @@serdevbr Vou tentar então, valeu pela força. Abraço!

  • @eldercrivelari6148
    @eldercrivelari6148 Рік тому +43

    De verdade, seu canal tem me ajudado demais a ter uma noção melhor sobre como é programar de maneira mais profissional. Digo isso porque eu trabalhei a mais de 13 anos atrás como programador, na época não haviam tantos sistemas em nuvem , programava em VB6 e vb net, e eu acabei me afastando da área pois vim trabalhar em uma empresa da familia, e sempre tive medo real de voltar a trabalhar com programação por achar que é tudo complexo demais e etc, e vendo seus videos eu percebo que é só questão de prática mesmo. E o melhor é que eu nem programo em java, programo em C#, mas do jeito que você explica, dá pra entender toda a idéia por trás do que tem de ser feito. Obrigado mesmo !

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

      Nossa Elder, você não sabe o quanto seu comentário me deixa feliz, de verdade! Saber que meus vídeos tem ajudado e fazendo alguma diferença me enche de alegria! 💜
      Vou continuar trazendo cada vez mais esses vídeos para o canal, resolvendo desafios técnicos e tentando mostrar mais soluções parecidas com o que vemos no nosso dia a dia como programadores :)

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

    essa série de vídeos resolvendo testes de vagas é muito boa!! Estamos aprendendo bastante, continua por favor!!

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

    Esse foi o melhor canal de programação que eu já vi no UA-cam.
    Muito obrigado pelo conteúdo, estou aprendendo bastante com seus vídeos!

  • @luan_maik
    @luan_maik Рік тому +58

    Muito bom.
    Algo interessante para implementar nesse cenário, seria fazer um lock para evitar que os envolvidos realizem duas transações ao mesmo tempo, pois isso poderia resultar em uma validação incorreta do saldo em tempo real.

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

      Luan, uma dúvida. O lock seria feito ao buscar os usuários e seus respectivos saldos ?

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

      @@thiagonunes3619 o lock poderia ser na carteira, aonde fica o valor do saldo.
      Tem como fazer o lock atraves do select no banco de dados, mas o lock tbm pode ser usando o redis, aonde todas as operações de movimentação de valores iriam verificar se existe esse lock no redis, evitando que mais de uma movimentação ocorra ao mesmo tempo e possa acabar resultando em um saldo final incorreto

  • @vanderleikleinschmidt8538
    @vanderleikleinschmidt8538 Рік тому +5

    Muito legal esse desafio. Eu fiz em mais tempo porque aproveitei pra exercitar o TDD. Então eu escrevia a assinatura do método e criava o teste unitário antes de escrever a lógica dos testes.
    Faltou eu testar algumas coisas ainda e refatorar uns negócios ali que eu fiz diferente, criar interfaces e colocar no meu GitHub.
    Parabéns pelo seu trabalho!

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

    Ótimo vídeo, moça! Com certeza desejo muito mais vídeos neste formato e continuações demonstrando na prática como um desenvolvedor pleno e posteriormente um sênior, revolveria este tipo de problema. Gratidão pelas aulas!

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

      Valeuu Roy! Boaa, vou trazer mais vídeos nesse estilo sim 😊

  • @dayson11
    @dayson11 Рік тому +5

    É sempre bom assistir esse tipo de desafios, abre muito a mente de quem está começando...

  • @BrunoLima234
    @BrunoLima234 9 місяців тому +2

    Muito bom! Aguardando ansiosamente a parte 2 do desafio! 👏👏

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

    Muito bom o conteúdo e as explicações. Estou aplicando o mesmo projeto em Node. Continue postando vídeos assim!

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

    Perfeito, mesmo já tendo esse conhecimento, achei extremamente prazeroso esse conteúdo, seu canal é bem diferenciado, parabéns.

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

      Muito obrigadaa, @Linrolf 💜 Fico muito feliz que tenha achado boa a forma do conteúdo

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

    Perfeito! Espero que seja o primeiro de muitos vídeos como esse!

    • @kipperdev
      @kipperdev  4 місяці тому

      E foi! Hahahaa
      Fico feliz que tenha gostado

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

    Parabéns pelo video, ficou sensacional. Caso continue melhorando essa aplicação nos próximos, segue abaixo algumas coisas legais de ver sendo implementando.
    - Aplicar conceitos de clear arch desacoplando o domínio das implementações do JPA e segregar as regras de negócio dentro das entidades.
    - Aplicar estratégias para evitar race conditions e não criar dinheiro "do nada".
    - Criar um serviço de extrato que recebe os eventos de forma assíncrona.

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

    Oii Fernada, gostei muito do vídeo, parabéns pelo seu conteúdo.
    Queria deixar uma sugestão de vídeo que tem pouco conteúdo sobre no UA-cam.
    Dicas de projetos para backend Java, tipo API, etc, projetos para iniciante / intermediários.

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

      Oii Lucas, muito obrigada, fico feliz que gostou do vídeo 💜
      Anotei a sugestão, valeu!

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

    Quem procura acha ! terminei o 1 período da faculdade mas estava aqui procurando um norte e achei esse canal abençoado deu até um animo parabéns Fernanda!!!

  • @areaprogramacao
    @areaprogramacao Рік тому +14

    A live de ontem foi esclarecedor! Estou a 1 ano e 4 meses como Estagiário (programador de jogos) , achei que seria o caso de eu ficar tanto tempo em um estagio que ao sair, ja seria pleno hahaha. Mas você me mostrou que o mercado tem vários níveis de júnior, então o mais provavelmente e que eu seria considerado um junior com um pouco de xp.

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

    O youtube me recomendou tanto seu canal que precisei me inscrever, pois só me deparei com conteúdo top! Parabéns!

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

      Muito obrigadaa, Silva 💜
      E obrigado UA-cam hahahah

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

    video massa, realizei primeiro o desafio da minha forma, depois olhei seu video e tive a oportunidade de aprender d++, consegui entender o uso do DTO para esse contexto, implementei ResponseEntity para melhorar os codes return e muito mais, obrigado.

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

    Conteúdo totalmente relevante, parabéns vc é uma inspiração, não só fala oq tem que fazer como de fato, faz.

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

    Conteúdo top, parabéns. faz mais vídeos resolvendo desafios de backend com Spring!!

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

    vc é brilhante!!!! consigo entender de forma clara coisas que eu nunvi antes, parabéns 👏

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

      Muito obrigadaa, e que bomm! 💜

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

    Parabéns pelo video. Ajuda bastante o pessoal que tá começando.

  • @kennedycesar4459
    @kennedycesar4459 6 місяців тому +1

    você é maravilhosa, DEUS te abençoe.

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

    é um bom vídeo pra quem já tem um bom entendimento de jpa, java, spring, maven etc. estudei tudo isso no alura one e a velocidade que eles ensinam tudo foi quase maior que a do vídeo kkkk. n só velocidade, como explicação mais voltada pra quem já sabe bastante. mas de fato um, esse é um bom vídeo pra praticar, aprender um pouco mais e sla

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

      Acredito que vai muito da dedicação do aluno, não estou dizendo que não se dedicou, mas fiz uma trilha de java na Alura, e tudo o que ela fez no desafio seria praticamente o mesmo que eu faria. Qualquer curso vai dar uma base, mas a prática e pesquisar bastante é o que realmente consolida os conhecimentos.

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

      os cursos de java foram os melhores cursos que ja tive na vida. me dediquei, acompanhei cada passo e cada raciocínio do professor. fiz até projetos próprios como um simples banco justamente pra praticar a OO e tudo mais. MAS os cursos seguintes, mds. tudo speedrun, não só na velocidade com que falavam, mas tbm na forma de falar, pulando conceitos importantes e necessários. dava até uma tristeza profunda, pois claramente precisava de algo a mais pra aprender. ou uma base ou já ter tal conhecimento e só estar relembrando atraves do curso. simplesmente os cursos de sql, maven, JDBC só por deus, jpa, spring boot. parece um vídeo desse como a Fê fez, mas a intenção dela não é necessariamente ensinar, mas sim fazer e mostrar fazendo, pra quem já sabe fazer, ver uma forma a mais de fazer ou algo assim. agora o intuito da alura, creio que era ensinar, mas n sei. o curso de jdbc me fez perder o gosto pela vida. não havia explicações simples como a origin do link que colocamos na persistência ou algo parecido. pesquisei por fora, pra tentar aprender algo de tudo, mas meu foco tava lá e foi em vão (essas partes)@@julianosouza2716

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

      @@diooooogo Entendo. Eu nunca havia tido contato com o Java, também participei do One da turma 5 e eu aprendi muito. Algumas coisas realmente ficaram meio sem explicação, mas aí eu anotava e pesquisava por conta. Usei muito o chat gpt pra me explicar conceitos que não foram detalhados lá. Só me decepcionei com as questões das vagas que disseram aparecer durante a jornada do one. Só vaga pra pleno.

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

      participei da msm turma. concordo com o que vc acha das vagas e o que mais me decepcionou, alem de não conseguir ter aprendido tudo, foi não ter consegui ainda ter feito todos os challenges. mas ainda farei, assim como terminarei o curso etc. reclamo, mas sei que é normal não aprender tudo e que em uma nova oportunidade, por já ter encarado essas tecnologias antes, conseguirei aproveitar mais. o que resta agora é procurar se aprofundar e aprender por outros meios assim como tentar aplicar o conhecimento em projetos basicos. fico impressionado com a profundidade do alura one, simplesmente mostra todo o funcionamento do backend, desde a requisição do front, passando pela api, até o back com spring e indo ao slq com jpa. incrivel de fato o quanto é profundo, uma pena não ter conseguido de fato masterizar exatamente cada detalhe das implementações e estar fluente em criar todo um projeto, mas é isso@@julianosouza2716

  • @radiogaap5468
    @radiogaap5468 Рік тому +6

    +1 inscrito! Parabéns pelo conteúdo é isso que buscamos,problemas reais e "tutoriais" no jogo da vida kkk

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

    nossa muito bom seu canal, com muita informações que ajudar quem esta começando

  • @NiChOlAs-gw7iw
    @NiChOlAs-gw7iw Рік тому

    Gente essa menina é espetacular! que vídeo!!!

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

    Cai de paraquedas aqui, já trabalho como dev pleno, mas mesmo assim tem bastante coisa que eu aprendo com seu canal, muito bom mesmo seu conteúdo.

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

      Que legal, Oswaldo! Fico feliz que você esteja aprendendo!

  • @nandogabriel4077
    @nandogabriel4077 Рік тому +5

    Muito bom esse vídeo. Saber como um dev poderia usar sua lógica para resolver esse problema nos ajudam muito. Faça mais vídeos assim😉

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

    Nao entendo nada de programaçao, mas gosto muito desses videos. Atraves desses videos, me trouxe o interesse em trabalhar com python

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

    Irei fazer este desafio, sou especialista em bd oracle, mas estou me aventurando em micro-servicos, mensageria, etc... me especializando em springboot... ótimo conteúdo.

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

    Excelente conteudo. Isso provavelmente vai ajudar muito a galera nova que está começando a entender como abstrair requisitos e transformar em código. Parabéns.

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

    Parabéns, impressionante sua inteligência!!!👏👏👏

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

      Muito obrigado pelo elogio 💜

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

    Parabéns!! Vídeo bem didático e com bastante conteúdo!! Sim, por favor, trás testes!!!!

  • @pyterbarros6956
    @pyterbarros6956 Рік тому +5

    Gostei do quadro, poderia continuar fazendo assim, pegando exemplos reais do dia a dia e mostrar como solucionar.

  • @Garimpador-yd6rd
    @Garimpador-yd6rd Рік тому

    Mehor que muitos canais que falam sobre código e não mostram nada, parabéns pela iniciativa, conteúdo TOP.

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

      Muito obrigadaa, @Garimpador-yd6rd 💜

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

    a moça é inteligente.... tá de parabéns...

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

    Mulher! Tu é boa na didática e oratória! Rsrs obrigado pelo vídeo 💖

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

    Fernanda muito bom o vídeo! Estou acompanhando seu canal! Parabéns...Bora fazer o vídeo para pleno e senior

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

    Nossa é disso que eu estou falando, sensacional parabéns garota

  • @anapcarvalhocaetano
    @anapcarvalhocaetano Рік тому +6

    E também seria muito legal se vc pudesse trazer uma segunda parte desse video, porém mostrando as alteraçoes que precisa para ficar em um nivel mais senior..e quem sabe incluindo ja nesse projeto os testes unitários. Ficar uma aula bem completa. Adoraria aprender mais com vc 😊

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

      Boaa! Vou pensar em montar um vídeo assim, encorpando mais esse projeto e deixando mais profissional

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

      @@kipperdev Obrigadaaa 😊❤

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

      @@kipperdev Acho que seria interessante. eu ja trabalho na area, mas na empresa nosso sistema não tem Testes Unitarios e eu gostaria de implementar em algumas partes do sistema.
      Porem não sei ainda como aplicar tests unitarios em um sistema que já funciona.

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

      ​@@joserodrigues5899Primeiro você precisa refatorar o sistema para ser testavel, precisa deixar as funções realizando apenas uma tarefa, depois basta vc aplicar os testes testando se essas funções estarão retornando o que se espera delas.
      funções muito grandes e com mto acoplamento não conseguem receber testes unitários adequados.

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

    Grande aula Fernanda. Gratidão!

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

      Que bom que gostou, Carlos 💜

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

    Video top! Ajuda a praticar novas ideias de projetos... Só percebi que esta retornando diretamente as Entidades no service e nos controllers, o ideal seguindo boas práticas é nos métodos do service ja retornar DTO e posteriormente controller retornar DTO também. Ao acionar o repository provavelmente receberá uma entidade( table) e ai precisa converter no service para dto e subir para camada acima.

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

    Muito top a explicação e o conteúdo Fer!! Desejo bastante uma parte 2 mostrando mais funcionalidades pq to tentando entrar no mercado e to consumindo qualquer conteúdo possível.

  • @eliasalvest.i.646
    @eliasalvest.i.646 11 місяців тому +1

    Incrível, adorei seu conteúdo... você é bem pragmática!!! vlw

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

    Bah, guria, como tú és legal! Adoro te ouvir. Grata pelo conteúdo.

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

    muito legal! É sempre bom ver como outro programador pensa na hora de codar

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

    Gostei muito do canal e do conteúdo, dinâmica simples, por favor faça mais videos assim resolvendo desafios, acredito que vai ajudar bastante que está começando e as pessoas como eu que quer de atualizar. Parabéns desejo muito sucesso

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

      Muito obrigada Robson, fico feliz que gostou e com certeza vou trazer mais conteúdos desse estilo aqui pro canal! 💜

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

    Vídeo muito bom! Que venha a parte 2.

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

    Obrigado pelo video Fe. Estou maratonando a playlist!!! Aguardando a parte 2 porque preciso aprender a melhorar para Pleno.

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

      Que bom que está gostando, Leonardo 💜

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

    Tu é fera Fe! Obrigado pelos conteúdos. É os guri e as guria do sul representando no mundo da programação! Forte abraço gaúcho.

  • @brenovambaster1734
    @brenovambaster1734 4 місяці тому

    Fer, em 20:20, quando implementa a classe Transaction, o que seria melhor no ponto de vista de boas práticas: fazer essa tabela por meio de migrations ou pelo jpa como vc fez ? Essa é uma dúvida que tenho, pois já vi em outros vídeos seus fazendo de uma forma diferente.

  • @Marcel1v9
    @Marcel1v9 Рік тому +41

    Caramba, você é muito inteligente! Eu comecei a faculdade de ADS e tô quebrando a cabeça com alguns conceitos, algumas coisas que você fala pra mim parece grego rs tem algum passo a passo de aprendizado pra que eu possa seguir estudando pra chegar no seu nível? Ótimo vídeo!

    • @Anderson-pe9xg
      @Anderson-pe9xg Рік тому +14

      Ela tem quase 3 anos de experiência, ou seja, ele tem no mínimo ele tem 6.240 horas praticando, você acha que você praticar por mais 6 mil horas você não dominará esses conceitos?

    • @Anderson-pe9xg
      @Anderson-pe9xg Рік тому

      Nesse video quais conceitos você não consegui entender?

    • @hermessantos181
      @hermessantos181 Рік тому +5

      Codar, codar, codar... Felizmente é só isso

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

      Na hora de desenvolver uma função em si não é codar a dificuldade esta em saber a regra do negócio o que o cliente quer

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

      @@jessecg5508 sim, aplicar a linguagem dentro do padrão do projeto junto com a regra do cliente.

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

    Tô começando na área de programação e só sei o básico de JAVA, não entendi muita coisa ai mas assisti tudo pq vc é linda. Bom trabalho.

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

    Muito obrigado pelo vídeo, faz mais nesse estilo, desafios, implementando projetos reais/simulados.

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

      Oii Th, fico feliz que você goste 💜
      Vou fazer mais vídeos assim!

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

    Obrigado pelo conteúdo, bem feito e explicado. Diferente dos "Vende-Curso".

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

    Amaria ver, faz parte 2 para pleno e 3 para sênior, seria muito legal!

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

    Conteúdo raríssimo! Por mais videos assim Fernanda.

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

      Muito obrigadaa, Allan 💜

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

    ótimo conteúdo, a teoria aplicada na pratica e com explicações facilita muito o entendimento

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

    Muito bom, era exatamente o que eu estava buscando, alguém resolvendo um desafio de vagas com Spring! Você também tem uma didática ótima!
    Como sugestão de melhoria eu ainda adicionaria a anotação @Transactional no método de criar transação para dar uma maior garantia de consistência durante a criação da transação. Também acho que no caso da exceção de usuário não encontrado, deveria ser lançado o status 404 NOT FOUND.

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

    Correndo para ver o vídeo indicado no final!!! Vale mais que muito curso por ai!!

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

    Eu voltando a programar e penando pra entender como diachos um for funciona em GDScript.. fico imaginando como deve ser maneiro ter essa clareza dos conceitos já internalizado. Video muito bom, meus parabéns

  • @johnvictor7787
    @johnvictor7787 Рік тому +11

    Quero a parte 2 e a parte 3 também!

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

    Amei o conteúdo, por favor traga mais desafios e processos seletivos você não sabe como ajuda :))

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

    Voce faz parecer facil, oq me motiva muito a continuar os estudos! Pretendo um dia programar assim, no automatico. Sucesso pra nos!

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

      Não desista!
      É tudo questão de estudo, prática e dedicação. Sucesso pra nós 🚀 💜

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

    Parabens e obrigado pelo conteudo, estou achando fantastico e dentro da realidade, exatamente oq um recrutador quer ver e nao aqueles CRUD (Ridiculos) que muitas escolas vendem por ai como curso completo Dev.
    Estou acompanhado o desafio, porem estou convertendo tudo em C# (Dot NET 7) pois é a plataforma que sou apaixonado.
    Obrigado, ganhou + 1 seguidor😜

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

    Conteúdo incrível, ajuda muito a ver a prática, principalmente para iniciantes como eu. Diferenciada

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

      Que bom que você gostou, @TheVideos200 💜

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

    Top demais, Fê. Por favor faça mais vídeos como esse.

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

      Muito obrigadaa, Leo 💜
      Vou fazer!!

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

    Excelente vídeo!!! No entanto, vou deixar aqui meus dez centavos de contribuição:
    - RuntimeExceptions são melhores do que Exceptions para tratar exceções de negócio;
    - Quando o desafio fala de transactions, provavelmente está falando de transações de banco de dados também
    - Retornar statuscode 500 é errado, geralmente retornamos ou 2xx = sucesso, ou 4xx = erro
    - Os serviços mockados seriam melhores aproveitados criando uma interface e uma classe que implementa
    - Uso do feign no lugar do resttemplate
    - Docker para o banco de dados
    Claro, tudo isso não caberia num único vídeo, teria que ser feita uma série. Abraços e parabéns pelo vídeo!!!

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

      Acho legal, mas sim retornamos Statuscodes alem do 2xx e 4xx, principalmente em projetos profissionais e em sistemas críticos. No demais concordo plenamente com o Sr.

    • @Gustavo-fd4st
      @Gustavo-fd4st Рік тому

      O que seria serviços mockados? poderia me indicar material pra ler ou palavras chaves?

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

      Justifique o uso de feign no lugar do rest template.

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

      @@gustavodeoliveira8316 justifique usar resttemplate no lugar do feign. É como usar jdbctemplate no lugar do jpa.

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

    Terminei o vídeo agora, conteúdo absurdo Fernanda!! muito obrigado.

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

      Que bomm Lucas 💜
      Fico muito feliz que você tenha gostado

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

    Mais um inscrito! Conteúdo excelente, só continue

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

    Manja muito 👏🏻👏🏻👏🏻👏🏻

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

    Conteúdo excelente! Vai pra prática e mostra como faz! Me ajudou muito

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

    Também gostei como o PicPay definiu bem oque queria, totalmente claro!
    Fiz um teste na IBM e não conclui pq não consegui interpretar oq era proposto.

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

      Nao dizendo que era esse o caso mas é importante saber que as vezes os testes não definem exatamente o que querem de propósito para gerar duvidas e ver a capacidade do candidato de fazer perguntas, quando tiver dúvidas sobre exite em perguntar

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

    Parabéns pelo conteúdo!!! É isso que temos interesse, situações práticas reais. Explore isso! : )

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

      Muito obrigadaa, Germano 💜
      Acho que praticando com uma situação real é a melhor forma de aprender. Que bom que vocês gostam disso!

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

    47:15 por acaso poderia criar um construtor na classe transaction que recebe um transtactionDTO como argumento e ja setar uma vez somente os dados? Para deixar mais limpo a createTransactional?

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

    Isso que é conteúdo, não é "programador(a)" que faz post genérico falando sobre o programação e não tem coragem de fazer vídeo mostrando a tela, PARABEEEENS !

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

    Dá pra iniciante em programação entender esse vídeo?
    Achei o tema EXCELENTE, mas deixei a guia aberta salva pra ver depois.
    Vou terminar meu bloco de JAVA e C# agora em dezembro, então ainda estou engatinhando..
    Sucesso pro canal!

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

    Parabens, acredito que faltou tratar race conditions, provavelmente na entrevista tecnica iriam cobrar essa funcionalidade ainda mais se tratando de transações

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

    Que demais essa solução. Parabéns!!!

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

      Muito obrigadaa, Rafa 💜

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

    Muito bom o seu conteudo. Acredito que a parte 2 poderia ter testes de integração também

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

    Curti o conteúdo!
    Recentemente comecei a estudar o spring boot e achei interessante a construção do framework. A maneira como ele injeta dependências achei bacana para agilizar a construção de microserviços.
    Quero pegar o conteúdo de Spring security para ver a parte de segurança dele, e depois vou dar uma olhada no conteúdo relacionado a testes.

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

      Que bomm, Rodrigo, fico feliz 💜
      Pois é, Spring é um framework bem bacana mesmo.
      Te convido a dar uma olhada no canal porque tem vídeo de Spring Security. Nesse vídeos nós criamos um sistema de autenticação do zero, ficou bem legal!

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

      @@kipperdev vou olhar sim. Curti o conteúdo!

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

    excelente. Muito bom pra entender como as coisas realmente são

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

      Muito obrigadaa, @krambow1509
      Fico feliz que tenha entendido💜

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

    Meu cachorro está pedindo a parte 2. Plissss !!!! Excelente didática

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

    Sim, adicionar testes unitários, testes de integração, sonarlint, distribuir a aplicação em docker, receber as URLs dos serviços via variáveis de ambiente, tratar os erros caso o serviço não responda seriam interessantes para as partes 2, 3, 4...

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

      Boaa, João! Ótimos pontos para serem adicionados!

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

    Poderia ter usado um mapstruct da vida para fazer o mapeamento entro DTO e Entity, seria bacana pro pessoal conhecer. Conteúdo muito bacana.

  • @elvismoreira5728
    @elvismoreira5728 6 місяців тому +1

    Muito top seu conteúdo Fernanda parabéns, uma pergunta vc postou esse projeto no git ? Obrigado.

  • @DiogoCoelho-f9w
    @DiogoCoelho-f9w Рік тому

    Fernanda, adoro os teus vídeos! Têm me ajudado imenso na minha aventura de Junior fullstack developer, mas em relação às transferências penso que o que eles querem dizer com ser revertida caso algo corra mal, é porque temos de anotar a operação de transação no service como @transactional! Continue o ótimo trabalho!

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

    Sensacional o video. Parte 2 por favor 🙌🙌. Pensando em um teste pra junior, a forma como eu faria também seria bem parecida com a que você fez. Mas tenho dificuldade em identificar o que é necessário melhorar, principalmente de pleno pra sênior.

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

    Que maravilha de vídeo! Direto ao ponto, edição ótima e conteúdo excelente!

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

      Muito obrigadaa, Daniel 💜
      Amo receber esse tipo de feedback

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

      @@kipperdev Qualquer dia te dou um alô lá no teams kkk

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

    Sempre você utiliza essas mesmas dependências quando vai usar javaspring? Seria as dependencias mais importantes pra a gente utiliza ?

  • @arthurf.foureauxfoureaux5418
    @arthurf.foureauxfoureaux5418 Рік тому +1

    Conteúdo maravilhoso de java! Braba dms

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

    Muito bom Fer!
    Teus vídeos sempre me ajudam muito, obrigada!! ❤

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

    eu gostaria de ver a parte dois desse video ajustando essas melhorias que vc falou no final do video.

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

    Carai, que conteúdo top!!! Valeu demais moça.

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

    Ótimo conteúdo, Fer!!! Já ansioso pela parte dois!

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

      Muito obrigadaa 💜
      Logo logo já sai!

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

    Parabéns!!! Muito bom o conteúdo, aguardando a parte 2