Resolvendo DESAFIO de VAGA BACKEND com Java Spring

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

ความคิดเห็น •

  • @wandersonbruno3266
    @wandersonbruno3266 ปีที่แล้ว +467

    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.

  • @eldercrivelari6148
    @eldercrivelari6148 ปีที่แล้ว +45

    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 :)

  • @luan_maik
    @luan_maik ปีที่แล้ว +59

    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

  • @ricardofarias1443
    @ricardofarias1443 ปีที่แล้ว +167

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว +37

      Ótima ideia, Ricardo! Anotada!

    • @alexandreniltonn
      @alexandreniltonn ปีที่แล้ว

      Isso, boa! Poderia ter alem de Testes Unitários, ter testes de integração

    • @eduardocardoso1149
      @eduardocardoso1149 ปีที่แล้ว +4

      totalmente de acordo

    • @Kermes011
      @Kermes011 ปีที่แล้ว +2

      Concordo, e já estou no aguardo 😊

    • @danieldamacena5197
      @danieldamacena5197 ปีที่แล้ว +2

      Apoiado!

  • @pedroleondebritobarrosodec2043
    @pedroleondebritobarrosodec2043 10 หลายเดือนก่อน +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.

  • @guilhermnmnmn
    @guilhermnmnmn ปีที่แล้ว +17

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

  • @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!

  • @hendelfeliciano6375
    @hendelfeliciano6375 ปีที่แล้ว +4

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

  • @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...

  • @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!!!

  • @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.

  • @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 TH-cam hahahah

  • @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

  • @BrunoLima234
    @BrunoLima234 9 หลายเดือนก่อน +2

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

  • @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

  • @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.

  • @pyterbarros6956
    @pyterbarros6956 ปีที่แล้ว +5

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

  • @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 TH-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!

  • @TrechosdeFilmes89
    @TrechosdeFilmes89 ปีที่แล้ว +1

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

  • @gnferreira2000
    @gnferreira2000 ปีที่แล้ว +2

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

  • @radiogaap5468
    @radiogaap5468 ปีที่แล้ว +6

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

  • @hectorwillian1477
    @hectorwillian1477 9 หลายเดือนก่อน

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

  • @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.

  • @oswaldo100001
    @oswaldo100001 9 หลายเดือนก่อน

    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  9 หลายเดือนก่อน +1

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

  • @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

  • @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.

  • @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 💜

  • @anthonymeds4440
    @anthonymeds4440 ปีที่แล้ว +2

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

  • @Marcel1v9
    @Marcel1v9 ปีที่แล้ว +43

    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.

  • @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😉

  • @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.

  • @brielsene
    @brielsene ปีที่แล้ว +4

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

  • @johnvictor7787
    @johnvictor7787 ปีที่แล้ว +11

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

  • @NiChOlAs-gw7iw
    @NiChOlAs-gw7iw ปีที่แล้ว

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

  • @ricardocedraz2250
    @ricardocedraz2250 ปีที่แล้ว +2

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว +1

      Muito obrigadaa 💜

  • @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 10 หลายเดือนก่อน

      ​@@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.

  • @patricianogueira5708
    @patricianogueira5708 ปีที่แล้ว +2

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

  • @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.

  • @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 !

  • @henriqueferreira6161
    @henriqueferreira6161 ปีที่แล้ว +3

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

  • @victoreduardodossantos5508
    @victoreduardodossantos5508 ปีที่แล้ว +1

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

  • @kennedycesar4459
    @kennedycesar4459 7 หลายเดือนก่อน +1

    você é maravilhosa, DEUS te abençoe.

  • @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.

  • @paulorogerio3890
    @paulorogerio3890 ปีที่แล้ว +1

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

  • @indiamarispereira6944
    @indiamarispereira6944 ปีที่แล้ว

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

  • @muhdourado
    @muhdourado ปีที่แล้ว +2

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

  • @jaasielantunes7320
    @jaasielantunes7320 ปีที่แล้ว

    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.

  • @materozu
    @materozu ปีที่แล้ว +2

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

  • @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.

  • @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.

  • @carloseduard317
    @carloseduard317 ปีที่แล้ว +1

    Grande aula Fernanda. Gratidão!

    • @kipperdev
      @kipperdev  ปีที่แล้ว +1

      Que bom que gostou, Carlos 💜

  • @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

  • @victorhugovhob8747
    @victorhugovhob8747 2 หลายเดือนก่อน

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

  • @laserbick1296
    @laserbick1296 ปีที่แล้ว

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว +1

      Muito obrigadaa, e que bomm! 💜

  • @samucarb
    @samucarb 6 หลายเดือนก่อน

    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.

  • @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! 💜

  • @eliasalvest.i.646
    @eliasalvest.i.646 ปีที่แล้ว +1

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

  • @paulorobertomenezes5179
    @paulorobertomenezes5179 ปีที่แล้ว

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

  • @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 🚀 💜

  • @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 💜

  • @leonardopereira3764
    @leonardopereira3764 ปีที่แล้ว

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

  • @locadoradaraimundinha2024
    @locadoradaraimundinha2024 ปีที่แล้ว +1

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

  • @thgdsa9090
    @thgdsa9090 11 หลายเดือนก่อน

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

    • @kipperdev
      @kipperdev  10 หลายเดือนก่อน

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

  • @allancalixto6373
    @allancalixto6373 ปีที่แล้ว

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว

      Muito obrigadaa, Allan 💜

  • @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 10 หลายเดือนก่อน

      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

  • @melhoresvideosecortes
    @melhoresvideosecortes ปีที่แล้ว

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว

      Muito obrigado pelo elogio 💜

  • @lukasferreira1640
    @lukasferreira1640 ปีที่แล้ว +1

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

  • @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 💜

  • @hiphopsddsa
    @hiphopsddsa ปีที่แล้ว

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

  • @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!

  • @marcelooliveiramelo8069
    @marcelooliveiramelo8069 ปีที่แล้ว +3

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

  • @leoaferraz
    @leoaferraz ปีที่แล้ว

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว

      Muito obrigadaa, Leo 💜
      Vou fazer!!

  • @victorzemapro
    @victorzemapro ปีที่แล้ว +1

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

  • @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.

  • @lucaspereiramadeira
    @lucaspereiramadeira ปีที่แล้ว

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

  • @henriquerios4202
    @henriquerios4202 ปีที่แล้ว +1

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

  • @MarcoAlmeida-z3y
    @MarcoAlmeida-z3y ปีที่แล้ว +1

    Estou aguardando pela parte 2! É um ótimo formato de vídeo aula e eu queria realmente saber como evoluir o teste desenvolvido para um nível Pleno.

  • @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!

  • @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😜

  • @AlesaGillespie
    @AlesaGillespie ปีที่แล้ว +2

    Um junior com dois anos de experiencia consegue fazer isso. Esses assuntos como Repository Pattern, SOLID, DDD e Services/Controller já são bem comuns nesse nível.

    • @eliashenrique8958
      @eliashenrique8958 10 หลายเดือนก่อน

      2 anos de experiência ele não é um junior

    • @AlesaGillespie
      @AlesaGillespie 10 หลายเดือนก่อน

      @@eliashenrique8958 é sim. Junior 2 kk.

  • @lucasviniciusf
    @lucasviniciusf ปีที่แล้ว

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

    • @kipperdev
      @kipperdev  10 หลายเดือนก่อน

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

  • @arthurf.foureauxfoureaux5418
    @arthurf.foureauxfoureaux5418 ปีที่แล้ว +1

    Conteúdo maravilhoso de java! Braba dms

  • @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.

  • @jgpugsley
    @jgpugsley 10 หลายเดือนก่อน

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

  • @DenisioRodrigues
    @DenisioRodrigues ปีที่แล้ว

    Faz. Faz. Faz. Faz a segunda parte melhorando a aplicação.
    Seria massa um vídeo ppara cada nível, um para PLeno e um para Sênior.
    Voicê tem um dicção muito boa e fala bem!

    • @kipperdev
      @kipperdev  ปีที่แล้ว

      Boaa ideia, Denisio!
      Muito obrigadaa 💜

  • @eliporto9729
    @eliporto9729 10 หลายเดือนก่อน

    Jesus…você é incrível. Fiquei zonzo.

  • @italochagas3986
    @italochagas3986 ปีที่แล้ว +1

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

  • @fragacarlos
    @fragacarlos ปีที่แล้ว +2

    ótimo vídeo e que venha a parte 2 e qm sabe ate a parte 3 :D

  • @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!

  • @danielquireza753
    @danielquireza753 ปีที่แล้ว

    Que conteúdo fantástico! lembra quando eu tava na escola, que entendia tudo que o professor falava, mas se fosse pra fazer sozinho não conseguia, ficou muito bom!

    • @danieldamacena5197
      @danieldamacena5197 ปีที่แล้ว

      ela tá mostrando como ela faria a aplicação, não tá ensinando o passo a passo exatamente.

    • @danielquireza753
      @danielquireza753 ปีที่แล้ว

      @@danieldamacena5197 ??

  • @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.

  • @viannavictor27
    @viannavictor27 ปีที่แล้ว

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

    • @kipperdev
      @kipperdev  ปีที่แล้ว

      Muito obrigadaa 💜
      Logo logo já sai!

  • @danielbrasc
    @danielbrasc ปีที่แล้ว +18

    Vai rolar a parte 2 evoluindo a aplicação? 👀
    Parabéns pelo conteúdo!

  • @jonathancampos8929
    @jonathancampos8929 ปีที่แล้ว

    Vídeo sensacional, parabéns. Aguardando ansiosamente uma parte 2

    • @kipperdev
      @kipperdev  ปีที่แล้ว +2

      Muito obrigadaa, @jonathancampos8929 💜
      Vai ter parte 2!!

  • @danielvfrodrigues
    @danielvfrodrigues ปีที่แล้ว

    Excelente vídeo! Adoraria ver a parte 2 aplicando arquitetura, design patterns, integração com banco de dados e testes unitários.

    • @kipperdev
      @kipperdev  ปีที่แล้ว +1

      Muito obrigadaa, Daniel 💜
      Vai ter parte 2 sim!!

    • @danielvfrodrigues
      @danielvfrodrigues ปีที่แล้ว

      @@kipperdev Ihuuuu! Já to 'aguardante' hahaha

  • @brenovambaster1734
    @brenovambaster1734 5 หลายเดือนก่อน

    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.

  • @cursosdanilo
    @cursosdanilo ปีที่แล้ว +1

    Conteúdo incrível e original! A ideia é sensacional! nada de ficar aprendendo teoria e prática isolada, dessa forma você direciona o conteúdo para cenários mais próximos do dia de uma empresa.
    Mesmo que seja apenas a ponta do iceberg, mas ainda é melhor do que ficar aprendendo a criar somente calculadoras (nada contra a pessoa desenvolver calculadoras). rs. Mas parabéns e obrigado por compartilhar! Sou Front-end e estou estudando Backend. Apesar de ser formado, me vejo como autodidata e aprendo bastante com conteúdos assim.
    Trabalho com angular e estou achando algumas semelhanças, os decorators, injeção de dependência, classes, serviços, etc.
    Ganhou +1 inscrito e like.
    Dúvida: vc tem cursos na Udemy? Abraço!

  • @lucaspraciano4640
    @lucaspraciano4640 ปีที่แล้ว

    Como vacilei em não criar um portifólio, vou começar a resolver esses desafios para criar um.
    Vou resolver esse usando fastapi.