Event Loop é uma implementação de ambientes que executam JavaScript para lidar com chamadas assíncronas de forma não-bloqueante.
Assíncrono = tudo que exige uma comunicação física, externa à CPU, ex: Placa de Rede (TCP/HTTP + UDP) ou Disco Rígido (ler/escrever arquivo).
Não bloqueante = a thread que executa o código JS não é bloqueada, pois a chamada de sistema (syscall) é delegada para o kernel/SO;
O runtime é inteligente o suficiente para receber uma notificação do SO e adicionar a resposta (da parte externa) em uma fila, conhecida como callback/(micro/macro) task queue.
No Linux, o SO consegue lidar com chamadas assíncronas não-bloqueantes usando as syscalls: poll, epoll ou io_uring.
Em linguagens cujas comunicações externas são realizadas de forma bloqueante, usa-se threads ao invés do EventLoop.
Bom saber:
- Geralmente, o EventLoop é implementado em C++ e uma lib muito comum é a libuv (usada no Node e no V8/Browser)
- JavaScript não define EventLoop
- JavaScript = especificação;
- Node/Deno/Bun/Browser = runtime;
O @lobaoeletrico expressou o que eu queria dizer sobre o disco Clube da Esquina, feito com participação do Lô Borges, que morreu ontem, infelizmente: "não tem nada parecido no mundo!"
"como faço pra ser promovido?"
assumindo que vc já é bom no que faz para a empresa,
o primeiro requisito a cumprir é:
- esteja num time com um bom líder
entenda: sem apoio de um bom líder no seu trabalho vc pode ser o mestre dos magos, vc não vai a lugar nenhum.
15 years ago i released Super Meat boy.
i was honestly so sleep deprived and stressed the only parts i can remember are just memories from Indie Game The movie. Even though im no longer associated with the IP, im still proud of what i made.
Happy birthday son!
Eu vejo DEMAIS o pessoal justificando passar a perna nos outros baseado em "ah mas foi difícil pra mim, eu tenho que sobreviver a todo custo"
Beleza, mas você tá garantindo que vai ser tão ruim pros outros quanto pra você. Não tem como o mundo ser menos cruel do que foi contigo assim.