Construindo APIs Node.js escaláveis com SOLID + TDD - Decode
Ойын-сауық
✅ Maratona Explorer: Dê seus primeiros passos na programação.
→ Cadastre-se no link gratuitamente: rseat.in/maratona-explorer
Fala, dev!
Preparamos uma maratona de conteúdos práticos e avançados, de 13/02 até 17/02.
As aulas são baseadas no programa de especialização Ignite.
E se você quer ter acesso a trilhas avançadas dentro do Ignite e ainda levar como bônus o Ignite Nitro (uma experiência de interação exclusiva), toque no link abaixo e garanta seu lugar:
✅ rseat.in/rocketseat-plans-dc
Пікірлер: 74
Diego apresentando conteúdo técnico de Node não tem preço, bate uma nostalgia, um sentimento de início, de transformação. Obrigado Diego, graças a você eu dei início em minha jornada como Dev Backend Node, você realmente fez a diferença e sua didática é simplesmente ANIMAL.
@dieegosf
2 жыл бұрын
Hahaha saudades de falar de Node.js que eu tava, obrigado pelo comentário!
Começa em 3:10
Cara este conteúdo está incrível! Parabéns!
Muito bom fazer desse jeito, conforme vai andando o projeto vai ficando bem organizado.
Execelente conteúdo, espero que tenha a sengunda parte
melhor didática do yt br, com ctz. Tu é incrível Diegão
@dieegosf
2 жыл бұрын
Valeu man!
Muito abrangente!! Voa Dev 🚀
Excelente conteúdo!! Se for possível tragam mais lives com esses assuntos.
I didnt understand a single word but the coding part was helpful thanks 🙏
Me ajudou a melhorar a API em javascript que eu venho desenvolvendo pra minha empresa 😍
PARABÉNS!!!!!!!
Já estou super ansioso pela próxima live!! Queria muito ver essa parte de erros... Já segui o umbriel como base para desenvolver alguns projetos, é muito dahora!!
Esse cara manja demais nas tecnologias não é a toa que a ROCKETSEAT É A MAIS TOP DE TODAS !!! HAHAHAHA
Muito bom diegooo 🎉🎉
Show!!!
Assisti a live hj e codei o que foi apresentado - simplesmente sensacional. Top parabéns.
@dieegosf
2 жыл бұрын
Que bom que curtiu!
Conteúdo fantátisco, mas quando irá sair a parte 2 falando sobre error handling, factories, value objects e tudo mais?
Aula com Diego não pude perder
Pra quem quer o transform nos min 43:32 transform: { "^.+\\.(t|j)sx?$": [ "@swc/jest", { jsc: { parser: { syntax: 'typescript', tsx: false, decorators: true, }, target: 'es2017', keepClassNames: true, transform: { legacyDecorator: true, decoratorMetadata: true, }, }, module: { type: 'es6', noInterop: false, } }, ], },
@matheusteixeira4161
2 жыл бұрын
Obrigado, meu parceiro.
@juniorsousa2007
Жыл бұрын
Nosso herói
@BrennoAlcantaraSantos
Жыл бұрын
obrigado amigo, você é um amigo 🤝
@antoin3933
6 ай бұрын
god
Muito bom diego a live
Bom dia, a galera da #rocketeseat é animal! Obrigado Diego como sempre!
@dieegosf
2 жыл бұрын
Parte 2 por favor!!
Caramba cara, meu sonho é abrir uma escola técnica, a rocketseat me motiva muito e espero ser um professor/guia/tutor que ao menos lembre o Diego, o cara é incrível e tem um carisma enorme. Sucesso pessoal!
@r.campos_
2 жыл бұрын
quando abrir me chama pra lecionar
ROCKETSEAT MUITA FORÇA
Por favor, faz essa outra live com functional error Handling e extras !
@dieegosf
2 жыл бұрын
Vou fazer!
@andredealbuquerque105
2 жыл бұрын
@@dieegosf Tenho imenso interesse tambem!
Esperando parte 2, mas antes tenho uma duvida quanto a injeção de dependência com a lib injection, sei que fica na camada de infra, mas pensando em uma arquitetura limpa tirando a dependência de bibliotecas etc, como ficaria tenho duvidas...
O DIEGO ESTA BRABO HJ KKKKKKK!!!!
O conhecimento mais importante que adquiri ao tentar desenvolver esse projeto é sempre ter o node atualizado 😂
Excelente conteúdo, como todos da rocketseat!!! Mas fiquei com uma dúvida, se o domínio da aplicação tem que ficar desacoplada da camada de infra como funcionaria a integração com o prisma, typeorm ou qualquer outro orm, pois temos que colocar anotações nas nossas entities, e dependendo de qual escolhermos a anotação serão diferentes. Então se eu fizer as anotações diretamente nas classes entities usando typeorm, e precisar alterar pro prisma, por exemplo, vou precisar alterar essas classes, isso significa que nossas entities ficaram acopladas ao orm escolhido. Ou perdi algo e entendi errado???😅
Aqui estou migrando um projeto em Serverless para api do NextJs
Acredito que tudo começa com uma reunião com o cliente para obter informações para a criação da analise de requisitos para, então, conceber o projeto da app. A partir destes requisitos é que escolheremos as ferramentas, métodos, linguagem de programação, banco de dados e etc. Afinal é necessário saber o que fazer para depois fazer.
@juscilan
2 жыл бұрын
Perfeito.
FAZ LIVE TODOS OS DIAS DE NODES ,PRISMA ,MYSQL,SQL,BDO,PDD,DENO NOVO NODEJS......
sujestao de video como utilizar para backend o vitejs e reconfigura-lo a gosto , esta ferramenta promete ser mais rapida que o sucrase, ts-node-dev, tsx ?? sera poderia explanar este assunto?
1:01:36 - Alguém sabe me dizer se ele fez essa outra live sobre factories, como tratar erros (functional error handling) e camada de infra?
O Diego tava pistola nessa live kkkkkkkkk Ótimo conteúdo btw
@dieegosf
2 жыл бұрын
🔫🔫🔫
Curto conteúdos assim. Começa em 3:09 galera!
O cara passando um conteúdo de alta qualidade e o povo perguntando só groselhas, reclamando de microfone, etc... Tnc
Já ocorreu a segunda live?!
Alguém sabe dizer se houve continuação desse live?
Primeiramente parabéns pelo vídeo, esse assunto é foco de algum dos cursos do ignite?
@dieegosf
2 жыл бұрын
Sim, abordamos bastante isso dentro da trilha de Node.js no Ignite.
Quando vai rolar uma aplicacao completa com esses conceitos?
@dieegosf
2 жыл бұрын
Podemos trazer mais live, mas levariam horas, mas no Ignite tem algo completo também :)
COMEÇA EM 3:10
32:18
O código começa em 16:00
cader josival kkkk
Melhorar para você diego
@dieegosf
2 жыл бұрын
Obrigado
Antes de qualquer coisa eu sou aluno da Rockeseat desde dos primórdios e aprendi muita coisa de React e React Native com vocês. Mas tem duas coisas nesse vídeo que eu gostaria de pontuar. A primeira eu achei muito estranho o uso de Props nas classes, me parece uma mistura de conceitos que são do React, e que tem seu propósito naquele contexto, para algo que poderia ser feito simplesmente com atributos da classe, então eu de fato não consegui enxergar o benefício. O outro é sobre Mock que, até onde eu sei, não é opcional quando se deseja realizar testes unitários, e sim obrigatório, uma vez que todas as dependências devem ser mockadas para que se possa testar unitariamente algo.
@dieegosf
2 жыл бұрын
Fala Eric! Obrigado pelo comentário. 1. Como falei no vídeo, tem muita coisa ali que é PREFERÊNCIA minha e óbvio que podem existir outras maneiras melhores ou piores de resolver, essa parte de props eu assumi como um padrão pessoal a partir de um post que eu li muito antigamente (khalilstemmler.com/articles/typescript-domain-driven-design/entities/). 2. Sobre a parte de mocks, na verdade a gente consegue evitar que as dependências toquem nos nossos testes mesmo sem mocks caso nosso código esteja bem desacoplado, principalmente dependências da camada de infra. Os mocks podem ser usados, claro, mas por preferência minha eu prefiro não utilizar tanto porque eles causam um "vício" desenfreado nos testes que podem causar falto-positivos.
@eoliveraca
2 жыл бұрын
@@dieegosf obrigado por compartilhar o link! De fato não conhecia essa abordagem. Quanto aos mocks, o que entendo é que se você não utilizá-los com as dependências do que você está testando, o que de fato você está fazendo é um teste de integração, e não um teste unitário. Isso de forma alguma invalida os testes, mas é uma abordagem diferente da pirâmide de testes. Os testes unitários tendem a ser mais "baratos" e "rápidos" de executar porque eu não preciso por exemplo subir a infra-estrutura. Mas os testes de integração são também muito importantes, e acho que no seu caso, pelo que entendi ele acaba entregando a garantia que você precisa.
O Chat mais atrapalha do que ajuda :S
Daqui 10 anos eu volto pra ver se consigo entender kkkk
Como são feitas as validações? Disse que talvez comentaria, mas não deu tempo. Poderia indicar material de estudo?
@dieegosf
2 жыл бұрын
Fala Lorhan, existem níveis de validação. Existem validações que pertencem ao domínio, por exemplo, na correção do desafio a nota nunca pode ser menor que 0 ou maior que 10, essa validação é algo que fica na camada de domínio, junto das entidades e pode ser feita usando um conceito chamado Value Object. Existem validações que acontecem dentro dos casos de uso como, por exemplo, "não posso criar uma submissão para um desafio que já está expirado", essa validação acontece a nível de caso de uso porque preciso de informações dos meus repositórios para determinar se é válido ou não. Ainda assim, no fim, posso ter validações na camada HTTP pra facilitar algumas coisas, validando obrigatoriedade em campos, etc...
@LorhanSohaky
2 жыл бұрын
@@dieegosf hmmm entendi! O value object seria mais ou menos o que o yup faz?
Não entendi nada! 🥺
Não acompanhei a live mas fiquei com uma dúvida, sei que é “perfumaria” mas teria alguma lógica de alguns arquivos usar lowercase, outros first uppercase, e outros com hífen?
@dieegosf
2 жыл бұрын
Ah, acho que foi mais esquecimento, o melhor é manter um padrão mesmo.
#PR eu quero que alguem da ROCKET construa um APP mobile usando o FRAMEWORK7 ou o NATIVESCRIPT