21y | software developer

Joined September 2023
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
3
2
5
422
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
6
6
2
25
1,895
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…
5
12
2
134
9,595
been thinking about systems a lot lately starting to turn that into something very early, very wip
11
23
2
744
27,571
jotape retweeted
A tal Live vai rolar, apareça para ñ ser BANIDO
18
51
9
359
40,987
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.
1
2
3
332
jotape retweeted
Mais um mês de aulas encerrado. Tenho 3 vagas pra ultima turma do semestre pessoal. E talvez ultima turma do ano ???
1
4
50
4,706
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.
A duvida é justa. No JS um array é chamado de array, no Python um array é chamado de list, no Elixir um "array" também é chamado de lista Em essência no JS e Python são nomes diferentes mas é a mesma coisa, são Dynamic Arrays. No Elixir é uma lista ligada Pergunta justissima
4
9
1
137
7,200
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…
2
4
1
94
2,394
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 ?
18
42
2
680
41,895
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.
10 likes e eu faço um tweet sobre Event Loop kkkkkk
20
20
4
233
16,182
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
8
9
2
133
10,833
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…
qual a diferença dela pro array methods? não uso node, mas trabalho com front
17
18
4
165
15,132
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
15
2
1
102
8,442
15
126
7
1,781
73,084
ok, adeus "it's over" e olá "we're so back"
1
5
442
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
12
5
1
108
7,558