Faz um vídeo para falar mais sobre a melhor maneira de lidar com os erros no back-end (functional error handling) por favor!!! 😀
@calvodev2 жыл бұрын
fala murilo, da uma olhada no padrão EITHER para lidar com erros, é super interessante
@lservo2 жыл бұрын
up!
@cortelucas2 жыл бұрын
Gostaria também
@Lucas-gp6xn2 жыл бұрын
Perfeito, seria um ótimo video
@aragnbr2 жыл бұрын
up pra esse vídeo, vai ajudar bastante
@AndreMR2 жыл бұрын
sem medo de errar, esse diego é simplesmente o melhor do país nisso, pelo menos até onde vi (e vi muitos, por anos, presenciais e online). nunca encontrei didática como essa, nem a preparação e a condução do material, ou as ferramentas e abordagens utilizadas. sensacional. cada vídeo dele substitui com melhoria vários dias de boas aulas. talvez eu tenha encontrado semelhança com alguns profissionais gringos, mas sinceramente arrisco a dizer que talvez ele derrube até mesmo os gringos. é simplesmente impressionante. o bagulho flui tão natural que é como se arrancasse suas dúvidas com a mão e desse um chute no traseiro, do tipo "sofre não, faz assim ó, pronto, agora vai lá desenvolver seu negócio de forma eficiente." oO
@dieegosf2 жыл бұрын
Poxa, que legal seu comentário, obrigado mesmo, nunca tento me comparar com outras pessoas até porque me inspiro em muitos com quem já aprendi e aprendo muito. Obrigado novamente pela mensagem
@fagnersales5322 жыл бұрын
Que vídeo incrível, assisti do começo ao fim. Era basicamente o que eu estava procurando aprender para os meus projetos. Pelo tamanho, sinto que fazer teste acaba sendo a forma mais segura de conseguir expandi-lo. E sim, adoraria ter ter uma aulinha de funções para tratamento de erro, sinto que posso estar no caminho errado
@Ghaleon152 жыл бұрын
Esse tipo de vídeo é MUITO MASSA! Ver na pratica o desenvolvimento, o fluxo e a forma da pessoa pensar é muito útil.
@yasmimfos Жыл бұрын
Não sei nem expressar o quão necessários vocês são! Sério.
@mbxgameplays82022 жыл бұрын
Vídeo incrével! Meus parabéns! Seria bacana uma mini série criando uma aplicação completa totalmente do zero. Quem apoia? Up!
@matheushonorio62592 жыл бұрын
O NLW é exatamente isso ai, vai ter um dia 16/01/2023
@dixavier272 ай бұрын
Eu assisto aos vídeos do Diego e fico maravilhado ao ver ele perseguindo boas práticas como eu, o nível da nossa organização (chatisse) é extremo! hahaha parabéns, vc é o melhor!
@edwardsj2 жыл бұрын
Será ótimo ter uma aula de funções para tratamento de erro 🔥
@lobliqua2 жыл бұрын
Aprendi bastante por aqui sobre isso: kzbin.info/www/bejne/iZ_bcqRvoNmsq9E&ab_channel=GuidoCerqueira
@fagnersales5322 жыл бұрын
Pra quem não se ligou, a regra "no-useless-constructor" que ele desativou (usando "off"), é para conseguir fazer o uso do "Constructor Assignment" ou "Syntactic Sugar". constructor(private appointmentsRepository: AppointmentsRepository) { }
@dieegosf2 жыл бұрын
Valeu por sinalizar aqui, Fagner
@mcrdso2 жыл бұрын
Diegão, essa parada de lidar com erros que você comentou seria massa demais!
@AmodeusR2 жыл бұрын
Que top, tava querendo muito ver o Vitest em prática e você trouxe nesse vídeo! \o/
@joaopedroaraujo14332 жыл бұрын
Quem lida com testes no dia-a-dia de desenvolvimento sabe o quão importante é o uso de "in memory databases" que o Diego citou no vídeo. Existem algumas libs que fazem isso, tanto para bancos NoSQL quanto SQL, e a utilização deles para conseguir ler/extrair dados de um "banco de dados" mais rapidamente é algo bem interessante. Acho que um vídeo *super* legal seria sobre a integração de algum ORM (prisma) utilizando testes. Algumas questões do tipo: devo rodar as migrations do banco toda vez antes dos testes? Como fazer isso de maneira performática? Tratar isso seria muito bacana.
@dieegosf2 жыл бұрын
Pode deixar, vamos ter um vídeo assim! :)
@nilorocha4212 жыл бұрын
Tava super concentrado, mas do nada no 19:43 vem essa sincronia dele falando com a musica, ficou surreal e ja me veio ideia de projeto em mente, sincronizar a voz com a musica, fazendo uns fade-in/out com o lofi
@GBDev2 жыл бұрын
Vídeo muito maneiro! Agora quero mais vídeos sobre Node, eu imploro💜🚀
@douglaseusilva2 жыл бұрын
Vídeo de responsa como sempre Rocketseat!! A diretrizes do Clean Code + SOLID + TDD geralmente me ajudam a construir um software menos acoplado e mais compreensível. Em relação aos testes, eu os coloco em uma pasta separada mas consigo localizá-los rapidamente utilizando a extensão "Side Test" do VSCode. Consigo ir dos arquivos de produção para os testes respectivos e vice-versa muito facilmente. Tem me ajudado bastante. Ele não só localiza como também já coloca os arquivos lado a lado. A minha experiência tem sido bastante positiva! Grande abraço!
@sandoertonamaro2 жыл бұрын
Ótima ideia fazer um vídeo sobre gerenciamento de erros, adoraria ver
@JackMatheus1232 жыл бұрын
Para quem quer saber o tema que o Diegão está usando é o Min Theme. No arquivo settings.json ele está usando as seguintes configurações: "workbench.colorTheme": "Min Dark", "editor.semanticHighlighting.enabled" : false
@mikefigueiredo43122 жыл бұрын
Qual fonte ele ta usando?
@davil8943 Жыл бұрын
Ótimo vídeo, bem esclarecedor! Um pequeno detalhe: em 44:15 faltou mudar o toEqual() para year +1
@paulofidelis53112 жыл бұрын
Estou migrando de profissão e esse tipo de vídeo me proporciona a experiência prática que eu teria se pudesse embarcar de vez na programação! Muito obrigado Diego!
@vovozeraa2 жыл бұрын
Massa, rocketseat sempre +SOLID nos seus conteudos :D
@josecarlos13id2 жыл бұрын
Como sempre Diegão trazendo conteúdos massa, por favor traz o video sobre Functional Error Eandling.
@OlvesMujinga-su1rn8 ай бұрын
sou iniciante no desenvolvimento de API_RESTs. Na procura de aperfeiçoamento nas redes achei este canal muito claro para os meus problemas como BeckEnd e frondEnd. Quais são os primeiros vídeos que falam de BeckEnd em conexão com o banco?🙏
@ronaldoriosespindola3716 Жыл бұрын
Simples e super didático. Muito boa essa abordagem de TDD usando alguns princípios de SOLID e clean architecture!
@GCrozariol2 жыл бұрын
Acabei de mudar os testes de uma SDK que eu to criando de Jest para Vitest somente por conta desse video. Absurdamente melhor!
@kissykriss2 жыл бұрын
Cara, eu estou estudando engenharia de software e nunca vi a utilidade dela na programação. Esse vídeo simplesmente mudou minha forma de programar. Por favor faça mais vídeo assim
@dieegosf2 жыл бұрын
Tamo junto
@HelenaDuGraus4 ай бұрын
15:35 em 2024 vindo aqui pra perguntar se saiu esse video sobre tratamentos de erros. Eu literalmente sempre tenho essa duvida de como arquitetar essa camada de tratamento de erros, e os retornos e throws nas minhas APIs.
@luistitossaiete98502 жыл бұрын
Vídeo muito massa, valeu Diego! Trás também o vídeo sobre lidar com erros 🚀🚀
@dmstole2 жыл бұрын
Opa Diego, traz sim o tratamento de erros. Function Handle Error já tinha feito em um dos projetos que desenhei, mas sempre bom ver a sua visão sobre isso.
@orubenlopes2 жыл бұрын
Os vídeos do Diego sempre são ÓTIMOS! Vou reassistir esse.
@samusaw2 жыл бұрын
Diego, seria interessante mostrar uma aplicação graphql e sua parte de testes. Sempre vemos testes caminhando para REST e talvez seja um conteúdo rico de informações.
@dieegosf2 жыл бұрын
Você ta lendo meu Notion de próximos conteúdos?
@lukronos12 жыл бұрын
Ai seriam testes de integração, o graphql em si já foi testado pelo time do GraphQL. Unindo uma boa arquitetura + desacoplamento você consegue testar o seu sistema feito em graphql, sem precisar testar o graphql em si. Porque esse nós já sabemos que funciona 👍
@eliaseloy2 жыл бұрын
TOP TOP TOP. Simplesmente maravilhoso Diego. Parabéns e muito obrigado
@giovannitonussi37462 жыл бұрын
Ótimo exemplo de arquitetura para iniciar um projeto. Seria ótimo ver um sobre o tratamento de erros!
@yagocunha88692 жыл бұрын
Muito bom! Estou no aguardo do video sobre como lidar com erros no backend
@AquinoThug2 жыл бұрын
Muito massa Diego! Acho que a questão de lidar com erros é algo muito válido para se trazer pro canal e também, futuramente, sobre testes end-to-end, acho que seria uma boa também. E por último mas não menos importante: onde tu comprou essa camisa? Muito massa ela! hahahahhah
@dieegosf2 жыл бұрын
Massa, pode deixar, em breve vou trazer conteúdo sobre tudo isso sim! Hahahaha, cara, é tipo um moletom, acho que foi Zara mesmo hahaha
@danilovieira44422 жыл бұрын
Sensacional esse vitest!
@dieegosf2 жыл бұрын
Valeu Danilão!
@ozenkai2 жыл бұрын
Provavelmente vou ver esse video várias vezes durante Minha jornada!!
@maykelsantos55012 жыл бұрын
Que video top. Gostei muito do Vitest. pretendo ver o quanto ele é performatico em algumas baterias de testes que tenho.
@luan_maik2 жыл бұрын
Tipos de regras de negócio: 36:56 Na literatura podemos encontrar como: Invariates: regras que sempre devem ser aplicadas, por exemplo, nome do cliente sempre deve ser informado, independente de qual for o contexto. Variantes: regras que dependem do contexto, por exemplo, é obrigatório que o cliente tenha um email para realizar uma ação dentro do sistema.
@dieegosf2 жыл бұрын
Valeu pela dica!
@brunohllino Жыл бұрын
Muito bom a aula. Fiquei com uma duvida. Fora dos teste, num request normal eu posso reutilizar o createAppointment do use-case? para não escrever de novo.
@MisouSup2 жыл бұрын
faz um video sobre containers de injeção de dependência em Node, please? Sempre vejo sobre isso mas até agora não me convenci da utilidade
@cortelucas2 жыл бұрын
Muito Bom, obrigado pelo seu trabalho à comunidade
@ThomazDiogo Жыл бұрын
15:12 Lembrando do vídeo bom que você poderia trazer como lidar com erro Function Error Handling
@joaoantoniocabral2 жыл бұрын
Lembro de aprender esses padrões no Java e agora vendo o pessoal do Node seguindo para a mesma linha. Muita gente torce o nariz para o Java justamente por causa disso, mas chega uma hora que não tem para onde fugir! 😂
@dieegosf2 жыл бұрын
Esses princípios estão aí há muito tempo independente da linguagem, acho que a torcida de nariz ao Java vem mais pela parte acadêmica para o que é usado e pelo ambiente de desenvolvimento que era necessário há alguns anos, mas acho que isso já caiu por terra, não faz mais sentido criticar o Java por esses motivos :)
@josmarjunior71642 жыл бұрын
Sdds do Diegão desenvolvendo aplicações back end
@guribeirodev2 жыл бұрын
Diegão escolheu esse tema pra combinar com a camiseta, certeza!!!! 🤣✌
Ia ser muito massa um vídeo sobre tratativa de erros 🙌
@m4rcosazevedo2 жыл бұрын
Sou apaixonado por classes, mas para quem odeia, pode utilizar namespace, vai ficar legal para organizar as funções e por ai vai. Muito bom o vídeo Diegão, muito próximo da forma que utilizo no meu dia a dia.
@icarobteles Жыл бұрын
Você poderia fazer um vídeo agora implementando banco de dados e framework http com base nessa estrutura, que tal? Utilizando PrismaORM e Express, por exemplo.
@KelderPassos2 жыл бұрын
Quando sai a trilha atualizada de Backend do Ignite?
@aislanarislou2 жыл бұрын
Show demais!!! Traz um outro vídeo desses integrado com NestJS, seria show d+ !!!
@dieegosf2 жыл бұрын
Vai rolar!
@leonardoncintra Жыл бұрын
@@dieegosf e ai ? hahaa... com nestj como ele mesmo gera as "pastas e arquivos" dele nao sei como aplicar igual voce fez no video.
@furiussz2 жыл бұрын
tudo que eu queria no momento
@flaviozno2 жыл бұрын
39:40 correção, "uma das coisas chatas é lidar com datas no geral"
@joaoantoniocabral2 жыл бұрын
Lidar com datas sempre é tenso!
@henriquelimaribeiro2 жыл бұрын
Galera que curti esse tipo de teste, vou avisando que no ignite tem muito sobre. recomendo!
@leonardobarbosa83042 жыл бұрын
Achei a maneira com que implementou a abstração dos dados sensacional !! No entanto, me surgiram dúvidas sobre como utilizar esse estrutura com banco de dados, ao editar uma informação na instância do objeto, altera-se no banco de dados? A questão é, como se montaria uma instância através das informações do banco de dados?
@dieegosf2 жыл бұрын
As entidades da nossa aplicação nem sempre são mapeadas diretamente para tabelas no banco de dados, cada camada da aplicação pode ter uma representação diferente da entidade, ou seja, na camada de banco de dados podemos ter a mesma entidade de agendamento, mas com um formato diferente e essa é a entidade a qual a gente salva no banco, faz as operações, etc, e o que precisamos apenas daí é uma forma de converter uma entidade em outra, ou seja, uma entidade de uma camada para outra e isso a gente faz usando um conceito de mapper, dá uma olhada nesse exemplo: github.com/diego3g/umbriel/blob/master/src/modules/broadcasting/mappers/MessageMapper.ts
@leonardobarbosa83042 жыл бұрын
@@dieegosf, valeu pela aula. Vou usar essa estrutura no próximo projeto 🚀🚀
@JoaoMarcelo-jx4ru2 жыл бұрын
Cara ele ensina rápido de mais ksksk as vezes nem dá pra ver o que ele faz direito
@samueloliveira44652 жыл бұрын
Um dia vou chegar nesse nível do Diegão. Ótimo vídeo.
@felipevieira98402 жыл бұрын
Diegão, o que tu ta usando no terminal para ficar com essas infos? Tipo, "is v1.0.0 via v16.15.0 on cloud(sa-east-1)", no caso da cloud, você está conectado em uma cloud da aws ?
@ilovemacross2 жыл бұрын
Pois é vi isso também, talvez esteja usando um daqueles workspaces?
@Brunodelucasdev2 жыл бұрын
Ele está usando provavelmente o zsh/oh-my-zsh com algum tema que mostre essas informações, caso disponível
@robsondev22 жыл бұрын
deve ser o Powerlevel10k
@erickcelio37242 жыл бұрын
Eu utilizo o oh-my-zsh com o tema spaceship, ele traz essas informações de versão do ambiente, branch e tal
@felipevieira98402 жыл бұрын
@@ilovemacross Eu uso o spaceship mas não mostra isso tudo
@seducedbywine2 жыл бұрын
Vídeo novinho do meu professor!
@SrDlay2 жыл бұрын
15:30 Preciso muito de um vídeo sobre isso
@danilobarreto2 жыл бұрын
Definir os parâmetros do caso de uso como unknown ao inves de confiar nos argumentos passados pela camada de adapter não seria uma boa ? Record (ou um tipo com recursivo mais complexo)
@maykbrito2 жыл бұрын
Bom demais
@hiago26642 жыл бұрын
Essa parte de repository complica bastante pra testar quando se está em uma aplicação multi-tenant, onde cada request pode ser direcionada pra um banco de dados diferente
@eduardobarbosabernardes9131 Жыл бұрын
Conteúdo topp, com o Diegão não precisa nem por 2x de velocidade kkkkkkk
@ldstudio30442 жыл бұрын
Muito massa Diego!
@luisfernando34052 жыл бұрын
Cara, minha mente lançou uma "throw exception" em 55min... Mas vou rever para compreender melhor, 🙃
@lservo2 жыл бұрын
Ótimo conteúdo!!! Vou utilizar esse vitest aí pra ver se presta mesmo! hahaha'
@arthurlucena98952 жыл бұрын
Super 10 de 10 , me funciono super , muchas gracias
@fatosmindset2 жыл бұрын
Como você implementaria as routes com este padrão de desenvolvimento em REST?
@TheMii9410 ай бұрын
Conteúdo fantastico =)
@felipefreire52452 жыл бұрын
Fala Diego, seria bom também um vídeo sobre como aplicar SOLID em lambda functions com micro serviços
@AluisiodeAvila2 жыл бұрын
Diegão, testa o tema que eu criei, é o FuedsKeps :D
@valdineidossantos1032 жыл бұрын
E o video do Functional error Handling, vai nascer ? @RocketSeat @Diego
@brunorafael56652 жыл бұрын
A parte da função dentro do repositorio que procura por um conflito entre as datas, não deveria ser da responsabilidade da entidade ja que trata-se de uma regra de negocio ? Creio que ficaria melhor isolar essas regras na parte de validação ! Antes de mais nada agradeço imensamente pelo o conteudo voltado a essa parte de arquitetura da aplicação . Parabéns !
@lucasfontesgaspareto2 жыл бұрын
gostaria de ver esse conteudo sobre o tratamento de erros
@gato-y8x2 жыл бұрын
it's finally ti. i'm ready to learn.
@ruasrr2 жыл бұрын
E a musica de casa de massagem no fundo... :D
@ezzoscode93772 жыл бұрын
Qual a build mais performática pra Next.js?
@felipemacci48672 жыл бұрын
Qual o tema usado no vscode?
@JanderSilva012 жыл бұрын
Faz o vídeo sobre erros por favore.
@thallesyan40142 жыл бұрын
Ia ser muito foda um desse pra front tmb
@eduardospek2 жыл бұрын
Muito bom! 👏🏽👏🏽👏🏽
@guilhermereis61142 жыл бұрын
Vídeo ótimo! Acho que pode rolar uma continuação. Por exemplo, essa primeira parte você ensinou como criar a aplicação desacoplada de frameworks, ORMs e bancos de dados, no próximo passo você pode ensinar a melhor forma de integrar eles na aplicação. Utilizando Express ou Nest, TypeOrm ou Prisma, etc. Acho que pode ficar bem legal!
@dieegosf2 жыл бұрын
Pretendo fazer isso sim :)
@julianoalfredo42602 жыл бұрын
Qua tema é esse ? To doido pra saber
@LeandroOtonii2 жыл бұрын
Tem previsão para atualizar a trilha de node?
@dieegosf2 жыл бұрын
Meu foco total agora é na de React ainda, até porque na trilha de Node.js temos menos coisas desatualizadas. Logo após vou pra de Node. Meu grande objetivo é ainda esse ano já estar produzindo os conteúdos pra Node.
@edy.rodrigues2 жыл бұрын
Fala Diego e pessoal da Rocket, hoje onde trabalho temos diversos projetos complexos, com estruturas de dados complexas, mas afinal eu gostaria de saber como podemos melhorar as validações em escala em um momento do projeto onde as verificações vão aumentando infinitamente, como vocês fariam para separar todo esse código? Por exemplo hoje nós criamos uma pasta dentro do diretório onde a classe está e a chamamos de validators, e então criamos outras classes que contém todo esse código validador. O objetivo deste comentário não é saber se está certo ou errado mas sim entender e compreender outras formas/maneiras de lidar com isso.
@dieegosf2 жыл бұрын
Fala Edinei, é importante entender antes sobre o tipo de validação que estamos falando, existem validações a nível de domínio e essas podem ficar junto às entidades da sua aplicação, existem validações que ficam nos casos de uso, geralmente aquelas que dependem de camadas externas e existem validações que podem acontecer na camada HTTP mesmo da aplicação, então depende muito do tipo de validação pra saber o melhor local pra colocar. No vídeo por exemplo, você percebe que eu não permito que um agendamento seja criada com uma data do passado, isso é uma validação na entidade, é algo que independe de framework ou qualquer camada HTTP, existe a validação que valida que agendamentos não podem ser criados no mesmo horário, isso é uma validação que acontece no caso de uso porque depende do banco de dados e, ainda assim, eu poderia ter validações acontecendo numa futura camada HTTP se eu achar importante pro projeto (ou fazer apenas no front-end se o back-end estiver bem preparado pra lidar com possíveis erros).
@marcosanterodocarmo2221 Жыл бұрын
Estou a 3 horas (sou aprendiz ok) tentando resolver uma falha no ultimo teste.... para agora perceber que esqueci um await por isso não instanciava e não aparecia no overlapping... kkk
@MDKohaku2 жыл бұрын
Vamo pra mais um!
@gfrsolutions80422 жыл бұрын
agora ensina como que acopla isso aí, por favor.
@LeonardoSantos-ii2mo2 жыл бұрын
O banco InMemory nesse caso não me parece muito útil. A intenção é testar se as datas de um agendamento estão conflitando com outro, porém toda a validação foi implementada usando funções do próprio JS com o date-fns. Isso significa que, quando integrar um banco de dados como MySQL, será necessário escrever outro teste com as mesmas expects, só que desta vez usando um MysqlAppointmentsRepository, inutilizando o teste anterior, porque mesmo se o teste InMemory estiver passando, talvez o do MySQL falhe. Qual seria a melhor solução nesse caso? Deixar essa regra para ser testada apenas depois de integrado com o banco, ou realmente vale a pena gastar um tempo considerável criando todo o repositório InMemory? Outro problema que vejo no InMemory seria para testar filtros. Na plataforma em que trabalho temos várias queries que contém dezenas de filtros. Será que faria sentido construir um repositório InMemory para lidar com cada um deles? Não seria uma "perda de tempo"?
@dieegosf2 жыл бұрын
Fala Leonardo, é importante lembrar que temos muitas camadas de teste, os unitários são a camada mais inferior da pirâmide e o foco é realmente testar os componentes da aplicação desacoplados de qualquer repositório, o in memory só existe pra não precisarmos escrever mocks que muitas vezes trazem falsos positivos. O problema é que se não usar o in memory e bater direto no banco você deixa seus testes lentos, e não cumprem mais o papel de testes unitários que devem ser primariamente muito rápidos e usar mocks acaba caindo no mesmo problema, ou até pior, como disse antes.
@odenirdev2 жыл бұрын
Diegão não para
@girvX2 жыл бұрын
Poderia ter uma continuação desse vídeo integrando os frameworks e banco de dados da aplicação
@dieegosf2 жыл бұрын
Vai rolar
@edwardsj2 жыл бұрын
VIDEO muito massa...
@samueloliveira44652 жыл бұрын
Sugestão de vídeo: Responsividade com Tailwind CSS
@dieegosf2 жыл бұрын
Boooa ideia!
@alissonvieira2646 Жыл бұрын
galera, lá para os 43min o Diego fala sobre o JavaScript se perder com relação ao que é mês e o que é dia quanod lidamos com datas... Alguém pode explicar melhor sobre isso?
@WesleyAquiles1 Жыл бұрын
muito bom meeeeeesmo !
@andredeoliveira8986 Жыл бұрын
Alguém sabe qual tema do vscode ele tá usando?
@Japoneguシ2 жыл бұрын
Also, I don't like idea of coloring again and again. In soft soft mobile, just pick a color and it colors the track, the soft, and the setuper
@caiosantos21322 жыл бұрын
ele usa injeção e inversão de dependencia? tenho minhas duvidas sobre esses dois patterns
@dieegosf2 жыл бұрын
Inversão de dependência é um princípio do SOLID, o qual eu uso no vídeo, que é basicamente receber as dependências no construtor da classe. A injeção é opcional nesse caso e pode ser feita ou não com alguma biblioteca externa ou framework, que é o processo de passar as dependências pra esse construtor de uma forma mais automatizada.
@TheSouza612 жыл бұрын
Alguém configurou o eslint o meu não mostra todos as opções que ele mostrou no vídeo