VIBE IN PUBLIC_

Vibe coding para não dar select em 1000 favoritos a cada foco

Toda vez que a aba ganha foco, a extensão do Bookbase faz select de todos os favoritos. Hipótese: 1000. O colega manda cachear. A live para no vou ter que.

Vibe coding para não dar select em 1000 favoritos a cada foco é o recorte que Gabriel fecha no Bookbase, gerenciador de favoritos com extensão Chrome. Toda vez que a aba ganha foco, a extensão chama um select no banco para pegar todos os favoritos.

Ele próprio marca que o que a extensão faz não está otimizado. A hipótese que ele põe na mesa é 1000. Abriu a extensão, carregou os 1000, mudou de aba, foi navegar em outra coisa, voltou, carrega de novo. O outro na sala manda guardar no cache. Gabriel aceita o cache. A live para no vou ter que, e o cache não entra no ar nesta sessão.

Toda vez que a aba ganha foco, o select pega todos os favoritos

Gabriel está no meio do build da extensão e nomeia o que o código faz ao abrir a aba do navegador:

Eu ten uma coisa que tá fazendo aqui, com certeza não é otimizada aqui, velho. Toda vez que que eu abro a aba do navegador, ele chama um select no banco para pegar todos os favoritos.

Quem aponta o select é ele. A carga é um select no banco para pegar todos os favoritos, toda vez que ele abre a aba. O outro na sala confirma em seguida:

Isso é ruim.

A extensão chama o select do conjunto inteiro no foco da aba. Noutra live do Bookbase, o recorte foi chrome exportar favoritos. Aqui os favoritos já estão no banco, e a extensão consulta o banco de novo a cada foco. O mesmo problema apareceu em web scraping. Foi o mesmo caminho de vibe coding para o card inteiro ser o link. O mesmo problema apareceu em gerenciador de favoritos.

A hipótese dos 1000 e o ciclo do foco

O outro na sala marcou que é ruim sem pedir um número. Gabriel concorda e coloca o 1000 para deixar o custo visível. Na 1ª fala ele diz "abro a aba". Na 2ª, o gatilho que ele nomeia é o foco:

Acho que sim. Tipo, vamos supor que eu tenho 1000. Aí eu abri a extensão, pá, carregou os 1000. Aí eu mudei de aba, fui navegar em outra coisa, voltei lá, ele carrega de novo. Toda vez que dá o foco na aba, ele carrega de novo.

O 1000 é hipótese: ele diz "vamos supor". A live não mostra uma contagem no banco. Ele usa 1000 para mostrar o preço: o select de todos os favoritos se repete no gesto de voltar para a aba. O pá da fala é esse carregamento no gesto. Trocar de aba e voltar já dispara a mesma consulta. O gatilho que sobra no fim da fala é o foco.

No vibe coding da extensão, o cache fica no vou ter que

Depois da hipótese dos 1000, o outro na sala aponta o remédio:

É, você guarda no caszinho.

Gabriel aceita na hora:

Vou ter queitar o caszinho.

No áudio sai caszinho, e ele aceita o cache: guardar o que o select já trouxe, para a próxima vez que a aba ganhar foco não ir de novo no banco buscar todos os favoritos. Isso aparece também em open graph.

O FOCO

Sem cache

Toda vez que a aba ganha foco, select de todos os favoritos

Com cache

Guarda o que o select já trouxe. Não volta no banco

A live para aí: ele descobre o select a cada foco e aceita o cache. A implementação fica para depois. O que a sessão grava é o vou ter que. Nesta live a extensão continua chamando o select no foco. Foi o mesmo caminho de vibe coding para verificar a empresa no stripe.

Amanhã, se o foco dispara o select, visível no cache antes de voltar ao banco

Amanhã, no vibe coding de uma extensão que lê lista do banco, confira o que roda quando a aba ganha foco. Ele começou falando em abrir a aba e fechou em foco. Abrir e voltar para a aba caem no mesmo gatilho, no recorte dele. Se o que roda é um select de todos os favoritos, visível no cache o que já veio. O 1000 continua sendo hipótese, mas o ciclo que ele descreveu é o mesmo: abre a extensão, pá, carregou os 1000, muda de aba, volta, carrega de novo.

Dá para assistir à live e ouvir o select a cada foco, o vamos supor que eu tenho 1000 e o vou ter queitar o caszinho.