jotape retweeted
some quick updates, MacStats 0.6 is out
new: a per-app volume mixer in the menu bar. Every app playing sound gets its own slider and mute, like on Windows, and MacStats remembers it.
plus a collapsible dropdown and smoother animations.
free and open source
i just shipped a landing page for MacStats
check it out: macstats.luizcastro.dev
if you’re on Mac, download it, give it a try, and let me know your feedback
jotape retweeted
i just shipped a landing page for MacStats
check it out: macstats.luizcastro.dev
if you’re on Mac, download it, give it a try, and let me know your feedback
jotape retweeted
Pessoal aqui tem alguns slash-commands/skills de caráter agnóstico que fiz há um tempo pra estruturar uma esteira de desenvolvimento coletiva.
A ideia é definir um fluxo simples com algum tipo de padronização que favoreça o Cycle Time. Priorizando sempre contexto reduzido.
Ainda preciso de testar/stressar mais.
De toda forma também pode ser util como algum tipo de referência.
github.com/samsantosb/ship-i…
jotape retweeted
been thinking about systems a lot lately
starting to turn that into something
very early, very wip
jotape retweeted
Relaunching my website with three interactive writings to start off.
I’ve spent years learning and sharing privately through client work, experiments, and constant iteration. Starting today, I’m committing to doing it publicly as much as I can.
More writing coming soon.
jotape retweeted
Mais um mês de aulas encerrado.
Tenho 3 vagas pra ultima turma do semestre pessoal.
E talvez ultima turma do ano ???
jotape retweeted
Curiosidade sobre Array no JS:
Pode ter três estados:
Monomorfico - rapido
Polimorfico - mediano
Megamorfico - lento
Eles são determinados pelo Inline Cache do V8.
Inline Cache é um dos mecanismos de otimização mais importantes da ferramenta.
Ele guarda informações(cache) que ajudam a encontrar propriedades de um array/objeto na memória.
Como a lang é dinâmica um Array pode ter N Shapes(formas - hidden class/map) e quanto mais ele tiver, mais lento fica o acesso a uma propriedade e mais dificil fica de criar um cache previsivel.
Dito isso pra evitar que seu Array (ou objetos) fiquem em estado Megamórfico priorize imutabilidade.
Como a gente não coda mais, explicite isso pro seu modelo de AI em uma GUIDELINE.
jotape retweeted
Tem tempo que eu não menciono esse projeto mas desde que eu fiz ele eu tenho muito seguidor novo.
Se você quer melhorar as Promises e as Guidelines da sua codebase quanto a esse tema recomendo:
github.com/samsantosb/How-to…
jotape retweeted
Como lidar com Erros/Exceptrions - O BÁSICO.
Entenda dois conceitos da engenharia:
Fail Safe - Falha mas não interrompe o processo, apenas notifica.
Fail Fast - Falha e interrompe o processo, encerra o fluxo etc.
Como implementar Fail Safe: Coloca Try Catch na função fail Safe e não propaga o erro, encerra ele ali com alguma notificação/warning no catch.
Como implementar Fail Fast: Deixa a função quebrar, na ultima camada do seu sistema você coloca um Middleware(com try catch) que usa um Strategy pra identificar a origem do erro e trata-lo adequadamente no fim do fluxo.
Fail Safe em Promises Sequencias:
Try catch dentro do for loop.
Fail Fast em Promises Sequencias:
Try catch fora do for loop (ou sem try catch)
Fail Safe em Promises Simultâneas: Promise.allSettled
Fail Fast em Promises Simultâneas:
Promise.all
Alguém aí tem o artigo/post do @samsantosb ensinando como lidar com errors/exceptions ?
jotape retweeted
Os segredos por trás do EventLoop do NodeJS!
dev.to/urielsouza29/reactor-…
jotape retweeted
Lancei um artigozinho sobre a lib a qual tenho spamado vocês diriamente
dev.to/samsantosb/how-i-made…
jotape retweeted
producthunt.com/products/cum…
Lançamos no Product Hunt! Deem uma conferida por lá :)
jotape retweeted
Há um tempo eu fiz um post mostrando que sua operação sincrona ia travar tua API Node.
Esse é um post mais DEEP sobre esse tema.
Sobre o termo "EventLoop Travar":
O V8 executa os frames de funções referenciadas na CallStack.
Enquanto houver pelo menos um frame ativo na CallStack, o V8 vai estar torando código síncrono e o EventLoop vai ficar afk.
Ele só move essas callback pra CallStack quando a mesma está vazia.
Dependendo da função assíncrona que lida com essa callback ela pode ir pra uma fila diferente:
ex:
setTimeout callback → Macrotask
Promise callback → Microtask
Existe uma prioridade entre essas filas:
Microtasks tem prioridade total sobre Macrotasks.
O Event Loop sempre processa TODAS as Microtasks disponiveis antes de pegar uma unica Macrotask.
ex:
Promises executam antes de setTimeout(fn, 0).
Mas quando essas callbacks vão pra MicrotaskQueue?
No caso das Promises, quando o status muda de pending pra resolved/rejected.
Aí tudo que está dentro do seu .then(callback) ou abaixo do seu await (callbacks via sugar syntax) vai direto pra Microtask Queue.
Enfim:
Enquanto o V8 está torando a CallStack processando seu código síncrono JIT (Just in Time) a callback do seu .then nunca vai ser executada.
Ou aquele codigo que vem abaixo do seu await.
E por tal motivo sua API vai parar de responder geral e seu sistema continuará bronze V.
jotape retweeted
Otimiza o uso de memoria pra trabalhar com streams e arquivos.
Pode reduzir o número de iterações de operações e contribui para programação declarativa.
Melhora o gerenciamento de fluxos de parsing etc, por terem comportamento lazy.
Esse aqui é meu caso de uso favorito:
Em que situações vocês viram necessário o uso de generators em js? Quero entender melhor os use-cases deles, parecem bem úteis.
@ducaswtf @samsantosb
jotape retweeted
Um iterator permite uma iteração lazy way, ou seja, processa os elementos 1 a 1 usando next().
Array methods vão processar tudo de uma vez e muitas vezes gerar um array novo.
Basicamente só itera quando você pede tb... Que melhora o uso de memoria. E os helpers são cadeias de comandos aplicados em cada item iterado.
Então tu consegue algo extremamente semantico e eficiente no uso de memoria.
fonte: v8.dev/features/iterator-hel…
Replying to @samsantosb @arthur_ronconi
qual a diferença dela pro array methods?
não uso node, mas trabalho com front
jotape retweeted
ORM - Drizzle
Query Builder - Kysely
diferente disso tenho uma noticia p vcs...
This Post is from an account that no longer exists. Learn more
jotape retweeted
Eu leio "any" ja fico puto.
Doenças do trabalho
Replying to @sseraphini
Go + React/any js for FE, postgre and redis
Can solve most of the problems with it





















