Leo Baiano (@leobaiano) 's Twitter Profile
Leo Baiano

@leobaiano

ID: 8235882

calendar_today17-08-2007 00:16:10

11,11K Tweet

1,1K Takipçi

78 Takip Edilen

Leo Baiano (@leobaiano) 's Twitter Profile Photo

#useEffect Qual a maior 'gambiarra' que você já fez por causa do useEffect? 1️⃣ // eslint-disable-next-line 2️⃣ useRef só pra esconder valor 3️⃣ useState dentro de useEffect (o loop do caos) Comenta aí o seu crime de guerra técnico. 👇 Sibelius Seraphini Chris ➔ abacatepay.com #bolhadev

Leo Baiano (@leobaiano) 's Twitter Profile Photo

#useEffect é problemático. O #useEffectEvent está vindo para tentar estancar a sangria Mas a pergunta é: por que precisamos de um Hook para consertar outro Hook? Onde foi que a gente se perdeu na arquitetura? 🧐 Sibelius Seraphini Chris ➔ abacatepay.com #bolhadev

Leo Baiano (@leobaiano) 's Twitter Profile Photo

⚛️ Event ou sync? Como useEffect confundiu a cabeça de numa geração de devs! vc já usou o // 𝒆𝒔𝒍𝒊𝒏𝒕-𝒅𝒊𝒔𝒂𝒃𝒍𝒆-𝒏𝒆𝒙𝒕-𝒍𝒊𝒏𝒆 por causade um efeito que não devia rodar? 👇 bit.ly/4aokpYO Sibelius Seraphini Chris ➔ abacatepay.com #bolhadev #bolhadev

⚛️ Event ou sync? Como useEffect confundiu a cabeça de numa geração de devs!

vc já usou o // 𝒆𝒔𝒍𝒊𝒏𝒕-𝒅𝒊𝒔𝒂𝒃𝒍𝒆-𝒏𝒆𝒙𝒕-𝒍𝒊𝒏𝒆 por causade um efeito que não devia rodar? 👇

bit.ly/4aokpYO

<a href="/sseraphini/">Sibelius Seraphini</a> <a href="/ChristoPy_/">Chris ➔ abacatepay.com</a> <a href="/BolhaDevs/">#bolhadev</a>  #bolhadev
Leo Baiano (@leobaiano) 's Twitter Profile Photo

#useEffect 𝗢 𝗔𝗿𝗿𝗮𝘆 𝗱𝗲 𝗗𝗲𝗽𝗲𝗻𝗱𝗲̂𝗻𝗰𝗶𝗮𝘀 𝗲́ 𝘂𝗺𝗮 "𝗠𝗲𝗻𝘁𝗶𝗿𝗮 𝗙𝗼𝗿𝗰̧𝗮𝗱𝗮" 🤥 𝑆𝑒 𝑣𝑜𝑐𝑒̂ 𝑢𝑠𝑎 𝑅𝑒𝑎𝑐𝑡, 𝑣𝑜𝑐𝑒̂ 𝑗𝑎́ 𝑚𝑒𝑛𝑡𝑖𝑢 𝑝𝑎𝑟𝑎 𝑜 𝑠𝑒𝑢 𝑐𝑜́𝑑𝑖𝑔𝑜 ℎ𝑜𝑗𝑒. 1 - Mentimos para o linter e removemos a dependência (gerando o risco

Leo Baiano (@leobaiano) 's Twitter Profile Photo

#useEffect 𝗔 𝗜𝗻𝘃𝗲𝗿𝘀𝗮̃𝗼 𝗱𝗼 𝗙𝗹𝘂𝘅𝗼 𝗱𝗲 𝗖𝗼𝗻𝘁𝗿𝗼𝗹𝗲 (𝗢 "𝗘𝗳𝗲𝗶𝘁𝗼 𝗙𝗮𝗻𝘁𝗮𝘀𝗺𝗮") 👻 Em vez de disparar uma ação quando algo acontece, nós alteramos um estado e "torcemos" para que o efeito colateral correto capture essa mudança. Isso cria uma especie

#useEffect
𝗔 𝗜𝗻𝘃𝗲𝗿𝘀𝗮̃𝗼 𝗱𝗼 𝗙𝗹𝘂𝘅𝗼 𝗱𝗲 𝗖𝗼𝗻𝘁𝗿𝗼𝗹𝗲 (𝗢 "𝗘𝗳𝗲𝗶𝘁𝗼 𝗙𝗮𝗻𝘁𝗮𝘀𝗺𝗮") 👻

Em vez de disparar uma ação quando algo acontece, nós alteramos um estado e "torcemos" para que o efeito colateral correto capture essa mudança.

Isso cria uma especie
Leo Baiano (@leobaiano) 's Twitter Profile Photo

#useEffect 𝗢 𝗖𝘂𝘀𝘁𝗼 𝗱𝗮 𝗜𝗱𝗲𝗻𝘁𝗶𝗱𝗮𝗱𝗲 𝗘𝘀𝘁𝗮́𝘃𝗲𝗹 (𝗔 𝗗𝗶𝘁𝗮𝗱𝘂𝗿𝗮 𝗱𝗼 𝘂𝘀𝗲𝗖𝗮𝗹𝗹𝗯𝗮𝗰𝗸) 💸 𝑂 𝑢𝑠𝑒𝐸𝑓𝑓𝑒𝑐𝑡 𝑒́ 𝑢𝑚 𝑣𝑖𝑧𝑖𝑛ℎ𝑜 𝑡𝑎̃𝑜 𝑓𝑜𝑓𝑜𝑞𝑢𝑒𝑖𝑟𝑜 𝑞𝑢𝑒 𝑒𝑙𝑒 𝑓𝑜𝑟𝑐̧𝑜𝑢 𝑡𝑜𝑑𝑜 𝑚𝑢𝑛𝑑𝑜 𝑛𝑜 𝑐𝑜𝑛𝑑𝑜𝑚𝑖́𝑛𝑖𝑜 𝑎

#useEffect
𝗢 𝗖𝘂𝘀𝘁𝗼 𝗱𝗮 𝗜𝗱𝗲𝗻𝘁𝗶𝗱𝗮𝗱𝗲 𝗘𝘀𝘁𝗮́𝘃𝗲𝗹 (𝗔 𝗗𝗶𝘁𝗮𝗱𝘂𝗿𝗮 𝗱𝗼 𝘂𝘀𝗲𝗖𝗮𝗹𝗹𝗯𝗮𝗰𝗸) 💸
𝑂 𝑢𝑠𝑒𝐸𝑓𝑓𝑒𝑐𝑡 𝑒́ 𝑢𝑚 𝑣𝑖𝑧𝑖𝑛ℎ𝑜 𝑡𝑎̃𝑜 𝑓𝑜𝑓𝑜𝑞𝑢𝑒𝑖𝑟𝑜 𝑞𝑢𝑒 𝑒𝑙𝑒 𝑓𝑜𝑟𝑐̧𝑜𝑢 𝑡𝑜𝑑𝑜 𝑚𝑢𝑛𝑑𝑜 𝑛𝑜 𝑐𝑜𝑛𝑑𝑜𝑚𝑖́𝑛𝑖𝑜 𝑎
Leo Baiano (@leobaiano) 's Twitter Profile Photo

🗣️ 𝗢 𝗰𝘂𝘀𝘁𝗼 𝗶𝗻𝘃𝗶𝘀𝗶́𝘃𝗲𝗹 𝗱𝗮 𝗮𝗺𝗯𝗶𝗴𝘂𝗶𝗱𝗮𝗱𝗲: "𝗠𝗮𝘀 𝗻𝗮̃𝗼 𝗳𝗼𝗶 𝗶𝘀𝘀𝗼 𝗾𝘂𝗲 𝗲𝘂 𝗽𝗲𝗱𝗶..." 𝑉𝑜𝑐𝑒̂ 𝑗𝑎́ 𝑒𝑛𝑡𝑟𝑒𝑔𝑜𝑢 𝑢𝑚𝑎 𝑓𝑒𝑎𝑡𝑢𝑟𝑒 𝑡𝑒𝑐𝑛𝑖𝑐𝑎𝑚𝑒𝑛𝑡𝑒 𝑖𝑚𝑝𝑒𝑐𝑎́𝑣𝑒𝑙, 𝑎𝑝𝑒𝑛𝑎𝑠 𝑝𝑎𝑟𝑎 𝑜𝑢𝑣𝑖𝑟 𝑑𝑜

🗣️ 𝗢 𝗰𝘂𝘀𝘁𝗼 𝗶𝗻𝘃𝗶𝘀𝗶́𝘃𝗲𝗹 𝗱𝗮 𝗮𝗺𝗯𝗶𝗴𝘂𝗶𝗱𝗮𝗱𝗲: "𝗠𝗮𝘀 𝗻𝗮̃𝗼 𝗳𝗼𝗶 𝗶𝘀𝘀𝗼 𝗾𝘂𝗲 𝗲𝘂 𝗽𝗲𝗱𝗶..."
𝑉𝑜𝑐𝑒̂ 𝑗𝑎́ 𝑒𝑛𝑡𝑟𝑒𝑔𝑜𝑢 𝑢𝑚𝑎 𝑓𝑒𝑎𝑡𝑢𝑟𝑒 𝑡𝑒𝑐𝑛𝑖𝑐𝑎𝑚𝑒𝑛𝑡𝑒 𝑖𝑚𝑝𝑒𝑐𝑎́𝑣𝑒𝑙, 𝑎𝑝𝑒𝑛𝑎𝑠 𝑝𝑎𝑟𝑎 𝑜𝑢𝑣𝑖𝑟 𝑑𝑜
Leo Baiano (@leobaiano) 's Twitter Profile Photo

Acabei de dar o "start" no desenvolvimento do Soltai!🚀 O problema? Publicar desapegos em vários marketplaces é chato e demorado. A solução? Um centralizador que publica em todos os lugares com um único clique. Decidi fazer esse projeto 100% em público (Build in Public).

Acabei de dar o "start" no desenvolvimento do Soltai!🚀

O problema? 
Publicar desapegos em vários marketplaces é chato e demorado. 

A solução? 
Um centralizador que publica em todos os lugares com um único clique.

Decidi fazer esse projeto 100% em público (Build in Public).
Leo Baiano (@leobaiano) 's Twitter Profile Photo

Soltaí: A arquitetura por trás da automação 🛠️ 🔹𝐀𝐏𝐈 𝐂𝐨𝐫𝐞 𝐞𝐦 𝐍𝐞𝐬𝐭𝐉𝐒: O cérebro que valida os dados, gerencia estados e conversa com o banco. 🔹𝐌𝐞𝐧𝐬𝐚𝐠𝐞𝐫𝐢𝐚 𝐜𝐨𝐦 𝐑𝐚𝐛𝐛𝐢𝐭𝐌𝐐: O distribuidor de tarefas. Ele garante que cada anúncio seja processado de

Soltaí: A arquitetura por trás da automação 🛠️

🔹𝐀𝐏𝐈 𝐂𝐨𝐫𝐞 𝐞𝐦 𝐍𝐞𝐬𝐭𝐉𝐒: O cérebro que valida os dados, gerencia estados e conversa com o banco.
🔹𝐌𝐞𝐧𝐬𝐚𝐠𝐞𝐫𝐢𝐚 𝐜𝐨𝐦 𝐑𝐚𝐛𝐛𝐢𝐭𝐌𝐐: O distribuidor de tarefas. Ele garante que cada anúncio seja processado de
Leo Baiano (@leobaiano) 's Twitter Profile Photo

Hoje terminei a modelagem completa do banco de dados. A arquitetura é baseada em: 🔹NestJS 11 + Prisma 7 🔹Validação automatizada via ValidationPipes 🔹Estrutura de logs imutáveis para rastreabilidade total de falhas 🔹Soft Delete para garantir a integridade histórica dos dados

Hoje terminei a modelagem completa do banco de dados. A arquitetura é baseada em:

🔹NestJS 11 + Prisma 7
🔹Validação automatizada via ValidationPipes
🔹Estrutura de logs imutáveis para rastreabilidade total de falhas
🔹Soft Delete para garantir a integridade histórica dos dados
Leo Baiano (@leobaiano) 's Twitter Profile Photo

𝗦𝗲𝗴𝘂𝗿𝗮𝗻𝗰̧𝗮 𝗻𝗮̃𝗼 𝗲́ 𝘂𝗺 "𝗮𝗱𝗱-𝗼𝗻" – 𝗖𝗼𝗺𝗼 𝗲𝘀𝘁𝗮𝗺𝗼𝘀 𝗰𝗼𝗻𝘀𝘁𝗿𝘂𝗶𝗻𝗱𝗼 𝗮 𝗳𝘂𝗻𝗱𝗮𝗰̧𝗮̃𝗼 𝗱𝗼 𝗦𝗼𝗹𝘁𝗮𝗶́ Em um SaaS multicanal, a proteção das credenciais dos nossos usuários não é uma camada extra: é a fundação. O desafio técnico é garantir

𝗦𝗲𝗴𝘂𝗿𝗮𝗻𝗰̧𝗮 𝗻𝗮̃𝗼 𝗲́ 𝘂𝗺 "𝗮𝗱𝗱-𝗼𝗻" – 𝗖𝗼𝗺𝗼 𝗲𝘀𝘁𝗮𝗺𝗼𝘀 𝗰𝗼𝗻𝘀𝘁𝗿𝘂𝗶𝗻𝗱𝗼 𝗮 𝗳𝘂𝗻𝗱𝗮𝗰̧𝗮̃𝗼 𝗱𝗼 𝗦𝗼𝗹𝘁𝗮𝗶́

Em um SaaS multicanal, a proteção das credenciais dos nossos usuários não é uma camada extra: é a fundação. O desafio técnico é garantir
Leo Baiano (@leobaiano) 's Twitter Profile Photo

Vejo muitos desenvolvedores perdendo dias configurando fluxos complexos de OAuth2, Refresh Tokens e provedores externos antes mesmo de ter a primeira funcionalidade do core pronta. Existe uma estratégia muito eficiente para "pular" essa etapa sem criar dívida técnica: a Dummy

Leo Baiano (@leobaiano) 's Twitter Profile Photo

𝗠𝗼𝗻𝗼𝗹𝗶𝘁𝗼 𝗠𝗼𝗱𝘂𝗹𝗮𝗿 𝘃𝘀. 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰̧𝗼𝘀: 𝗣𝗼𝗿 𝗾𝘂𝗲 𝗲𝘀𝗰𝗼𝗹𝗵𝗶 𝗼 𝗰𝗮𝗺𝗶𝗻𝗵𝗼 𝗱𝗮 𝘀𝗶𝗺𝗽𝗹𝗶𝗰𝗶𝗱𝗮𝗱𝗲 𝗻𝗼 𝗦𝗼𝗹𝘁𝗮𝗶́? Para quem está acompanhando, o Soltaí é um hub de desapego. O objetivo é simples, mas tecnicamente desafiador: você

Leo Baiano (@leobaiano) 's Twitter Profile Photo

Como economizei tempo de infraestrutura usando Hybrid Applications 🎩🚀 No início de um SaaS como o Soltaí, cada hora gasta configurando infraestrutura é uma hora a menos entregando valor para o usuário. O desafio era claro: para o Soltaí funcionar como um hub de desapego, eu

Leo Baiano (@leobaiano) 's Twitter Profile Photo

O detalhe de uma linha que protege a estabilidade do Soltaí: Prefetch Count 🛡️🐰 Quando você decide rodar uma Hybrid Application (API e Worker no mesmo processo), surge um medo real: e se o Worker consumir toda a CPU e derrubar a API para os usuários? No Soltaí, resolvemos isso

Leo Baiano (@leobaiano) 's Twitter Profile Photo

Mais um marco no desenvolvimento do Soltaí! 🚀 Acabei de construir e validar a infraestrutura de Gateways. O sistema agora é capaz de identificar múltiplas contas de marketplaces para um mesmo usuário e distribuir a carga de forma inteligente. 𝐂𝐨𝐦𝐨 𝐚 𝐦𝐚́𝐠𝐢𝐜𝐚

Mais um marco no desenvolvimento do Soltaí! 🚀  

Acabei de construir e validar a infraestrutura de Gateways. O sistema agora é capaz de identificar múltiplas contas de marketplaces para um mesmo usuário e distribuir a carga de forma inteligente. 

𝐂𝐨𝐦𝐨 𝐚 𝐦𝐚́𝐠𝐢𝐜𝐚
Leo Baiano (@leobaiano) 's Twitter Profile Photo

Dê um passo para trás para dar dois para frente. Estava pronto para plugar a API real do Mercado Livre no Soltaí, mas percebi que minha arquitetura de 'Produto' era simples demais para a vida real. Marketplaces exigem fotos, condições de uso e atributos técnicos. Decidi

Leo Baiano (@leobaiano) 's Twitter Profile Photo

Evoluir faz parte do processo. 🚀 Quando comecei o Soltaí, a ideia inicial para as conexões era o modelo tradicional de login. Mas, ao aprofundar nos requisitos técnicos para a integração com o Mercado Livre, tomei uma decisão estratégica: vamos subir o nível de segurança antes

Leo Baiano (@leobaiano) 's Twitter Profile Photo

𝗢 𝗽𝗿𝗶𝗺𝗲𝗶𝗿𝗼 "𝗛𝗲𝗹𝗹𝗼 𝗪𝗼𝗿𝗹𝗱" 𝗿𝗲𝗮𝗹 𝗱𝗼 𝗦𝗼𝗹𝘁𝗮𝗶́! 🚀 Desenvolver um SaaS do zero é lidar com o inesperado todos os dias. Hoje o Soltaí — meu hub para facilitar o desapego e vendas em múltiplos marketplaces — alcançou um marco crítico: a primeira integração

𝗢 𝗽𝗿𝗶𝗺𝗲𝗶𝗿𝗼 "𝗛𝗲𝗹𝗹𝗼 𝗪𝗼𝗿𝗹𝗱" 𝗿𝗲𝗮𝗹 𝗱𝗼 𝗦𝗼𝗹𝘁𝗮𝗶́! 🚀

Desenvolver um SaaS do zero é lidar com o inesperado todos os dias. Hoje o Soltaí — meu hub para facilitar o desapego e vendas em múltiplos marketplaces — alcançou um marco crítico: a primeira integração