Resolvendo DESAFIO de VAGA BACKEND com Java Spring

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024
  • Nesse vídeo vou te mostrar como resolver um DESAFIO REAL de VAGA para desenvolvedor BACKEND. Esse desafio aborda problemas comuns do dia-a-dia backend e é frequentemente usado em processos seletivos.
    🔗Desafio Backend PicPay Open-Source
    github.com/Pic...
    👉 Aprenda React JS, React Native, Node JS e muito mais!
    www.rocketseat...
    🎁 USE O CUPOM: KIPPERDEV
    👉 Seja membro do canal e ganhe benefícios:
    / @kipperdev
    👉 Me siga no instagram!
    / kipper.dev
    🌎 Comunidade do Discord
    / discord

Комментарии • 558

  • @wandersonbruno3266
    @wandersonbruno3266 Год назад +441

    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 Год назад +5

      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 Год назад +6

      É 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 Год назад +1

      Exato!@@WarDkr

    • @StefanoCibi
      @StefanoCibi 11 месяцев назад

      Exatamente!!!
      Melhor canal do momento.

  • @ricardofarias1443
    @ricardofarias1443 Год назад +159

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

  • @serdevbr
    @serdevbr Год назад +67

    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 Год назад +40

    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  10 месяцев назад +4

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

  • @pedroleondebritobarrosodec2043
    @pedroleondebritobarrosodec2043 6 месяцев назад +2

    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. 2 месяца назад

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

  • @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 9 месяцев назад

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

    • @luan_maik
      @luan_maik 9 месяцев назад

      @@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 11 месяцев назад +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!

  • @themanners
    @themanners Год назад +17

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

  • @Marcel1v9
    @Marcel1v9 Год назад +36

    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 Год назад +13

      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.

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

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

  • @dayson11
    @dayson11 Год назад +5

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

  • @hendelfeliciano6375
    @hendelfeliciano6375 10 месяцев назад +3

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

  • @areaprogramacao
    @areaprogramacao Год назад +13

    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.

  • @LucasFariasdasNeves
    @LucasFariasdasNeves Год назад +7

    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 RUclips.
    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!

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

  • @radiogaap5468
    @radiogaap5468 Год назад +6

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

  • @pyterbarros6956
    @pyterbarros6956 Год назад +5

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

  • @Linrolf
    @Linrolf 11 месяцев назад +3

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

    • @kipperdev
      @kipperdev  10 месяцев назад +1

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

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

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

  • @jefersoncramos5188
    @jefersoncramos5188 9 месяцев назад

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

  • @gnferreira2000
    @gnferreira2000 Год назад +2

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

  • @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 10 месяцев назад

      @@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 6 месяцев назад

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

  • @ricardocedraz2250
    @ricardocedraz2250 Год назад +2

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

  • @anthonymeds4440
    @anthonymeds4440 Год назад +2

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

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

  • @oswaldo100001
    @oswaldo100001 5 месяцев назад

    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  5 месяцев назад +1

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

  • @brielsene
    @brielsene Год назад +4

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

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

  • @johnvictor7787
    @johnvictor7787 Год назад +11

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

  • @BrunoLima234
    @BrunoLima234 5 месяцев назад +2

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

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

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

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

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

  • @materozu
    @materozu Год назад +2

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

  • @henriqueferreira6161
    @henriqueferreira6161 Год назад +3

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

  • @patricianogueira5708
    @patricianogueira5708 Год назад +2

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

  • @Garimpador-yd6rd
    @Garimpador-yd6rd 11 месяцев назад

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

    • @kipperdev
      @kipperdev  10 месяцев назад

      Muito obrigadaa, @Garimpador-yd6rd 💜

  • @TrechosdeFilmes89
    @TrechosdeFilmes89 Год назад +1

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

  • @Alphacodebrasil
    @Alphacodebrasil 7 месяцев назад

    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.

  • @hectorwillian1477
    @hectorwillian1477 5 месяцев назад

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

  • @victoreduardodossantos5508
    @victoreduardodossantos5508 Год назад +1

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

  • @laserbick1296
    @laserbick1296 10 месяцев назад

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

    • @kipperdev
      @kipperdev  10 месяцев назад +1

      Muito obrigadaa, e que bomm! 💜

  • @locadoradaraimundinha2024
    @locadoradaraimundinha2024 Год назад +1

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

  • @danielbrasc
    @danielbrasc Год назад +18

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

  • @robsonpinheiro2079
    @robsonpinheiro2079 11 месяцев назад

    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  11 месяцев назад +1

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

  • @muhdourado
    @muhdourado Год назад +2

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

  • @rodolfoxavierneto6667
    @rodolfoxavierneto6667 11 месяцев назад

    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

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

  • @cursosdanilo
    @cursosdanilo 9 месяцев назад +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!

  • @samucarb
    @samucarb 2 месяца назад

    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.

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

  • @eliasalvest.i.646
    @eliasalvest.i.646 8 месяцев назад +1

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

  • @carloseduard317
    @carloseduard317 Год назад +1

    Grande aula Fernanda. Gratidão!

    • @kipperdev
      @kipperdev  Год назад +1

      Que bom que gostou, Carlos 💜

  • @fernandorochathrash5209
    @fernandorochathrash5209 Год назад +1

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

    • @kipperdev
      @kipperdev  22 дня назад

      E foi! Hahahaa
      Fico feliz que tenha gostado

  • @jaasielantunes7320
    @jaasielantunes7320 8 месяцев назад

    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.

  • @paulorogerio3890
    @paulorogerio3890 Год назад +1

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

  • @olddude11
    @olddude11 8 месяцев назад +2

    Acho que faltou urgentemente vc aplicar solid! Seu controller não herda nada, seu serviço tambem nao respeita nenhum contrato... Acredito que pra nivel pleno o SOLID ja é essencial...
    e a documentação vc pode implementar o SwaggerUI, ai basta acessar um link e todos endpoints estao la para teste, nao precisa ficar digitando coleção no insomnia manualmente

  • @leonardopereira3764
    @leonardopereira3764 11 месяцев назад

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

    • @kipperdev
      @kipperdev  11 месяцев назад

      Que bom que está gostando, Leonardo 💜

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

  • @indiamarispereira6944
    @indiamarispereira6944 10 месяцев назад

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

  • @marcelooliveiramelo8069
    @marcelooliveiramelo8069 Год назад +3

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

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

  • @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 6 месяцев назад

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

    • @AlesaGillespie
      @AlesaGillespie 6 месяцев назад

      @@eliashenrique8958 é sim. Junior 2 kk.

  • @leonardopereira3764
    @leonardopereira3764 11 месяцев назад

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

  • @fabioreis4711
    @fabioreis4711 Год назад +7

    Eu passei numa entrevista para o pic pay a uns 2 anos atrás(não aceitei a proposta na época), lembro que foi uma entrevista técnica de quase 3 horas com 3 analistas fazendo varias perguntas, eu adorei a entrevista foi de uma profundida técnica muito boa mesmo, abordamos conceitos básicos ate arquiteturas mais avançadas(foi extraído ao máximo ate onde eu conseguia chegar na época), conhecimentos de framework, testes e desenho de arquitetura async(mensageria). Foi top. Só não aceitei porque estava fazendo outro processo seletivo em paralelo que me pareceu ter mais compatibilidade comigo.

    • @paulogabriel5254
      @paulogabriel5254 Год назад

      era fazer essa prova ao vivo ? ou era mais um bate papo ?

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

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

  • @user-uh9of7cf3r
    @user-uh9of7cf3r Год назад

    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!

  • @thgdsa9090
    @thgdsa9090 6 месяцев назад

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

    • @kipperdev
      @kipperdev  6 месяцев назад

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

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

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

  • @paulorobertomenezes5179
    @paulorobertomenezes5179 Год назад

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

  • @user-ls5px8dl7o
    @user-ls5px8dl7o Год назад +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.

  • @allancalixto6373
    @allancalixto6373 Год назад

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

    • @kipperdev
      @kipperdev  Год назад

      Muito obrigadaa, Allan 💜

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

  • @danielvfrodrigues
    @danielvfrodrigues 11 месяцев назад

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

    • @kipperdev
      @kipperdev  11 месяцев назад +1

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

    • @danielvfrodrigues
      @danielvfrodrigues 11 месяцев назад

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

  • @NiChOlAs-gw7iw
    @NiChOlAs-gw7iw Год назад

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

  • @lukasferreira1640
    @lukasferreira1640 Год назад +1

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

  • @hiphopsddsa
    @hiphopsddsa Год назад

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

  • @RodolPhoeta
    @RodolPhoeta 9 месяцев назад

    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!

  • @kennedycesar4459
    @kennedycesar4459 3 месяца назад +1

    você é maravilhosa, DEUS te abençoe.

  • @melhoresvideosecortes
    @melhoresvideosecortes Год назад

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

    • @kipperdev
      @kipperdev  Год назад

      Muito obrigado pelo elogio 💜

  • @DenisioRodrigues
    @DenisioRodrigues 10 месяцев назад

    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  10 месяцев назад

      Boaa ideia, Denisio!
      Muito obrigadaa 💜

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

  • @leoaferraz
    @leoaferraz Год назад

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

    • @kipperdev
      @kipperdev  Год назад

      Muito obrigadaa, Leo 💜
      Vou fazer!!

  • @henriquerios4202
    @henriquerios4202 Год назад +1

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

  • @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 6 месяцев назад

      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

  • @jonathancampos8929
    @jonathancampos8929 Год назад

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

    • @kipperdev
      @kipperdev  Год назад +2

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

  • @fragacarlos
    @fragacarlos Год назад +2

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

  • @lucasviniciusf
    @lucasviniciusf Год назад

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

    • @kipperdev
      @kipperdev  6 месяцев назад

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

  • @joaovictor-dl6ve
    @joaovictor-dl6ve Год назад +2

    O package "domain" seria a mesma que "models"?

  • @melhoresmomentosEmbaixador
    @melhoresmomentosEmbaixador 6 месяцев назад +1

    Estou no "Hello World!" ainda. To viajando aqui sem compreender.
    Nao pela didática, que é excelente. Mas sim porque ainda estou bem no inicio 😅

  • @viannavictor27
    @viannavictor27 11 месяцев назад

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

    • @kipperdev
      @kipperdev  11 месяцев назад

      Muito obrigadaa 💜
      Logo logo já sai!

  • @heltondavid4958
    @heltondavid4958 Год назад

    ta maluko é muita informaçao kkkk meu irmao ta estudando ai apreceu esse video pra eu é muita loucuraaa

    • @kipperdev
      @kipperdev  Год назад

      Hahahah bons estudos pra ele!!

  • @BrocchiRodrigo
    @BrocchiRodrigo 10 месяцев назад

    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  10 месяцев назад +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 10 месяцев назад

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

  • @lucasmedeiros391
    @lucasmedeiros391 Год назад +1

    Oi Fe! Poderia fazer um video de como você estuda novos assuntos ou aprende uma nova linguagem?