Boaaa man! ótimo conteudo. Sugestão de conteúdo: - Background Jobs. - Construção de api com boas práticas. - Clean architecture. - Testes no node (integração/unitário). - Microsserviços (comunicação por filas ou grpc).
Vídeo Top!! Você está de parabéns!!! o que vc fez em 40minutos eu levei 3h... rssss... não sou programador... sou um curioso entusiasta! Muito bom! Valeu!
Baralho! baita conteúdo. Parabéns erick, cada vez melhor. Dica de conteúdo. -Preocupações para aplicação do zero com clear architecture. -Microsserviços
@@ErickWendelAcademy Algo que abstraia melhor o modulo nativo do HTTP, bem simples, não precisa nem de sistema de middleware uma espécie de express router, não sei se seria MT complicado na vdd
Boa Erick! Uma sugestão bacana de vídeo que apanhei muito na época e todo material que e encontrei na net estava defasado é sobre multi-tenant usando CLS (Continuation Local Storage) Ou seja, como armazenar/consultar informações no escopo de "REQUEST" em todas as camadas de uma API. (explico melhor nos comments abaixo)
Exemplo simples: Imagine que vc receba um token jwt no header de uma request (rest), esse middleware valida e armazena o ID do usuário no CLS, aí lá na camada de persistência vc use essa informação (id do user) para filtrar apenas os dados daquele usuário (where userID = 123)
Outro exemplo bacana de uso é esse middleware declarar um requestID (randômico) e todos os logs de todas as camadas dessa request insere esse requestID. Isso ajuda demais na rastreabilidade de um fluxo nos logs.
O grande problema que o CLS da uns bugs de perca de contexto com nodejs 10+, principalmente com o uso de async/await. Não sei se tem alternativas melhores que o CLS para armazenar informações no escopo de REQUEST já que o nodejs não tem Thread Local Storage (como em Java e C# por exemplo)
Uma dica pra utilizar es modules no frontend do dia-a-dia, ex: Importação: Arquivo: import io from "cdn.exemplo.com" E será lido normalmente :), só que aí teria que ver sobre suporte nós browser e etc.
Obrigado pelo conteúdo Erick. 2 perguntas: 1 - Tem previsão de data para a continuação? 2 - Vai ser possível enviar os múltiplos arquivos pelo formulário de contato diretamente para o Google Driver? Pela economia que teremos no armazenamento, ao invés de usar o armazenamento da nossa própria hospedagem. Agradeço desde já.
Opa!! 1 - saiu hoje o video de continuação 2 - Sim, é possível, eu vou ensinar a forma raíz, em salvar em disco e tem um desafio para você incrementar e salvar em um google drive, AWS S3, Microsoft Blob Storage ou qualquer serviço de armazenamento que quiser.
O Express usa o http-server, é uma dependência do express. O express adiciona rotas e outros recursos muito usados. Se não for usar o que o express adiciona, pode usar diretamente o http-server.
E no lugar do Express, tem outras alternativas também, como Koa, Hapi, FastAPI, mas de fato o Express é o mais usado e atende a maioria dos casos. Veja esse link sobre as alternativas: www.slant.co/options/1277/alternatives/~express-js-alternatives
Opa, vale até para terabytes, a questão não é o tamanho do arquivo porque o browser vai mandar os pedaços dos arquivos. Acho que algo a se preocupar, é com o timeout (quanto tempo um arquivo desse tamanho pode demorar para subir) ai, teria que fazer algo um pouco mais sofisticado, como enviar esses pedaços de arquivos via socket ou via fetch, assim você nao depende do timeout browser. Funciona. porque o Busboy só olha para os headers e body da requisicao, você só teria que testar os dados chegando. Mas para Lambdas, talvez seja melhor fazer upload direto ao S3, porque as lambdas devem ser executadas em tempo curto, se você está pensando em 10GB+ então você vai ter várias lambdas concatenando dados no arquivo ao mesmo tempo, não sei bem se o S3 permite fazer isso, tem que testar
@@ErickWendelAcademy o recurso necessário que eu vejo seria o multipart upload API da Amazon para node.js. Eu criaria algumas lambdas para utilização dessa API (create/list/abort). Acho que a minha maior dúvida fica no quanto eu teria q adaptar (ou se eu nem conseguiria aproveitar algo) do código das aulas aqui.
Fala xará! Normalmente esse tipo de aplicação tende a utilizar serviços de storage terceiros, como S3, principalmente pela complexidade de se manter arquivos em disco. Conseguiríamos ter algo parecido em caso de integração com S3?
Top demias, Erick! Cara, você sempre pede sugestão de vídeo, uma coisa que eu gostaria muito de ver é você desenvolvendo uma API com o framework de Node.js que você mais gosta, utilizando junto o TypeScript. Queria ver como você programa utilizando o TS, eu tenho utilizado em todas as minhas aplicações seja back-end com Node ou front-end com React.
Opa, já estou com a mão na massa!
boaaaaa compartilha com os amigos aii
Excelente, iremos utilizar em uma operação
Opaaaa como assim?
Conteúdo foda, rumo aos 100k
Opaaaaaa tmj!!
Boaaa man! ótimo conteudo.
Sugestão de conteúdo:
- Background Jobs.
- Construção de api com boas práticas.
- Clean architecture.
- Testes no node (integração/unitário).
- Microsserviços (comunicação por filas ou grpc).
Boaaaaa fantástico!
up up
Up demais
Como sempre, conteúdo de gente grande do mestre Erick... Grato por compartilhar!
boaaa tmj Anselmo o/
Sensacional como sempre!
Boa Otávio, fico feliz que gostou o/
Vídeo Top!! Você está de parabéns!!! o que vc fez em 40minutos eu levei 3h... rssss... não sou programador... sou um curioso entusiasta! Muito bom! Valeu!
boaaaaaaa tmj!!
top demais, Erick!
opaaaa tmj!!
Fino demais!
Parabéns, excelente material
Opa Ademar! Fico feliz que gostou, manda para a galera por ai o/
Baralho! baita conteúdo. Parabéns erick, cada vez melhor.
Dica de conteúdo.
-Preocupações para aplicação do zero com clear architecture.
-Microsserviços
Boaaa sensacional João!! Valeu pelas sugestões o/
Ótimo vídeo!! E Erik queria deixar como sugestão de você fazer um vídeo criando uma pequena lib para roteamento com os módulos nativos do nodejs
boaaaaaa. Nao entendi muito bem a ideia, o roteamento você diz criar módulos nativos e entao liga-los usando Javascript?
@@ErickWendelAcademy Algo que abstraia melhor o modulo nativo do HTTP, bem simples, não precisa nem de sistema de middleware uma espécie de express router, não sei se seria MT complicado na vdd
Boa, mas esse aí ja temos um aqui bem simples. No video anterior eu mostrei como construir uma API sem frameworks, algo assim que você diz?
@@ErickWendelAcademy Assim, vi agora é algo assim mesmo, obrigado!
@@diegohenrique5227 boaaa sensacional o/
Brabo!
Boa Erick!
Uma sugestão bacana de vídeo que apanhei muito na época e todo material que e encontrei na net estava defasado é sobre multi-tenant usando CLS (Continuation Local Storage)
Ou seja, como armazenar/consultar informações no escopo de "REQUEST" em todas as camadas de uma API.
(explico melhor nos comments abaixo)
Exemplo simples:
Imagine que vc receba um token jwt no header de uma request (rest), esse middleware valida e armazena o ID do usuário no CLS, aí lá na camada de persistência vc use essa informação (id do user) para filtrar apenas os dados daquele usuário (where userID = 123)
Outro exemplo bacana de uso é esse middleware declarar um requestID (randômico) e todos os logs de todas as camadas dessa request insere esse requestID.
Isso ajuda demais na rastreabilidade de um fluxo nos logs.
O grande problema que o CLS da uns bugs de perca de contexto com nodejs 10+, principalmente com o uso de async/await.
Não sei se tem alternativas melhores que o CLS para armazenar informações no escopo de REQUEST já que o nodejs não tem Thread Local Storage (como em Java e C# por exemplo)
boaaa sensacional!! Muito obrigado pela sugestão
voce utilizaria qual serviço pra armazenar os arquivos e se conectar com outro backend? aws?
Sensacional.
boaaaaa manda para a galera aii o/
porque quando clico sem enviar arquivo ele faz uma requisição, mas quando seleciono o arquivo ele faz três?
Meu showSize não funcionou da como se a função n está definida
Uma dica pra utilizar es modules no frontend do dia-a-dia, ex:
Importação:
Arquivo:
import io from "cdn.exemplo.com"
E será lido normalmente :), só que aí teria que ver sobre suporte nós browser e etc.
boaa! Já temos algumas aulas usando os ESModules aqui no canal. Nao quis usar nessa aula para nao complicar demais hehe. Valeu pela sugestao!!
Ja que o proximo video vai ser fazet upload dos arquivos q vem do front. Poderia ta particionando arquivo(s) e enviar pra lugares diferentes
Opaaaa vamos fazer sim essa parte de particionar o arquivo, mas ele vai ser salvo no mesmo lugar
Fantástico Wendel !
Usando Sources tab e debugger ao invés de console.log >>>>>>>>>>>>>>>>>>> universo
ahahhaahhaha dahora! Tmj manooo
Obrigado pelo conteúdo Erick. 2 perguntas: 1 - Tem previsão de data para a continuação? 2 - Vai ser possível enviar os múltiplos arquivos pelo formulário de contato diretamente para o Google Driver? Pela economia que teremos no armazenamento, ao invés de usar o armazenamento da nossa própria hospedagem. Agradeço desde já.
Opa!!
1 - saiu hoje o video de continuação
2 - Sim, é possível, eu vou ensinar a forma raíz, em salvar em disco e tem um desafio para você incrementar e salvar em um google drive, AWS S3, Microsoft Blob Storage ou qualquer serviço de armazenamento que quiser.
@@ErickWendelAcademy Obrigado Erick
Parabéns pelo conteúdo!
Sugestão de conteúdo:
- Trabalhar com API's com criptografia de ponta a ponta;
- Trabalhar com Jobs
Excelente, sugestão anotada!
Extraordinário, conteúdo de ouro! Muito obrigado Erick!
kkk cheio de pergunta mais a que mais esta me batendo: pq http-server? qual a diferença entre ele e express?
O Express usa o http-server, é uma dependência do express. O express adiciona rotas e outros recursos muito usados. Se não for usar o que o express adiciona, pode usar diretamente o http-server.
@@digitalkbr hum... interessante, nao conhecia... pessoal posta tanto sobre o express que nem imaginava que o node tinha um nativo
E no lugar do Express, tem outras alternativas também, como Koa, Hapi, FastAPI, mas de fato o Express é o mais usado e atende a maioria dos casos.
Veja esse link sobre as alternativas:
www.slant.co/options/1277/alternatives/~express-js-alternatives
Sensacional Mauricio, excelentes respostas o/
Conteúdo sempre com muita qualidade!
Queria saber se essas duas aulas valem pra arquivos realmente grandes (+10GB) e se isso funciona em aws lambdas?
Opa, vale até para terabytes, a questão não é o tamanho do arquivo porque o browser vai mandar os pedaços dos arquivos. Acho que algo a se preocupar, é com o timeout (quanto tempo um arquivo desse tamanho pode demorar para subir) ai, teria que fazer algo um pouco mais sofisticado, como enviar esses pedaços de arquivos via socket ou via fetch, assim você nao depende do timeout browser.
Funciona. porque o Busboy só olha para os headers e body da requisicao, você só teria que testar os dados chegando. Mas para Lambdas, talvez seja melhor fazer upload direto ao S3, porque as lambdas devem ser executadas em tempo curto, se você está pensando em 10GB+ então você vai ter várias lambdas concatenando dados no arquivo ao mesmo tempo, não sei bem se o S3 permite fazer isso, tem que testar
@@ErickWendelAcademy o recurso necessário que eu vejo seria o multipart upload API da Amazon para node.js. Eu criaria algumas lambdas para utilização dessa API (create/list/abort). Acho que a minha maior dúvida fica no quanto eu teria q adaptar (ou se eu nem conseguiria aproveitar algo) do código das aulas aqui.
O vídeo acabou qnd tava chegando na parte boa ;-;
Ahahahaha relaxa! Semana que vem sai a segunda parte com os finalmentes
top de mais..
puta merda, muito bom
ahahha sensacional Delfio o/
Fala xará!
Normalmente esse tipo de aplicação tende a utilizar serviços de storage terceiros, como S3, principalmente pela complexidade de se manter arquivos em disco.
Conseguiríamos ter algo parecido em caso de integração com S3?
Top demias, Erick! Cara, você sempre pede sugestão de vídeo, uma coisa que eu gostaria muito de ver é você desenvolvendo uma API com o framework de Node.js que você mais gosta, utilizando junto o TypeScript. Queria ver como você programa utilizando o TS, eu tenho utilizado em todas as minhas aplicações seja back-end com Node ou front-end com React.
Aeeeeeeeeee
ahahahhah sempre o primeiro em!!