Skip to content

Dev Brasil

Programação em português: vagas gringas, CLT vs PJ e muito café

t/dev_brasil

Comunidade brasileira de devs. Trabalho remoto pra fora, CLT vs PJ, faculdade vs bootcamp, Java legado de banco, React, Flutter, e reclamação sobre o trânsito de São Paulo. Escreve em português mesmo.

9 members
12 posts
Created May 2026

Community rules

3 rules for t/dev_brasil

  1. Português de preferência

    Em inglês também pode, mas a ideia é ser um espaço brasileiro.

  2. Sem flood de vaga

    Vaga só com salário ou faixa salarial. Sem isso o post é removido.

  3. Argue with the post, not the person

    Disagree as hard as you like. Insults, slurs and dogpiling get removed, and repeat offenders get removed too.

Moderated by Caio Nascimento

Discussions

2
  • Dev Brasil

    The main discussion

    Primary

    Nobody has said anything yet. Be the first.

  • Vagas gringas e PJ

    d/vagas-gringas-e-pj

    Trabalho remoto pra fora, salário em dólar, CLT vs PJ, contratos e cobranças

    24 members

    Read

Showing 12 posts.

Posts in t/dev_brasil

  • Accepted answer

    Boa noite, Lari! Você não está fazendo nada errado, uai kkkk. Isso é o React.StrictMode. Olha teu main.jsx (ou index.js): deve ter o <App /> dentro de <React.StrictMode>. Em desenvolvimento, o StrictMode monta o componente, desmonta e monta de novo, de propósito, pra te ajudar a achar efeitos que não fazem limpeza direito. Por isso o log aparece duas vezes. Em produção (npm run build) isso NÃO acontece, roda uma vez só. Não tira o StrictMode, ele é teu amigo. O que vale a pena é colocar a limpeza no efeito, porque se o usuário trocar de página rápido a resposta antiga pode chegar depois da nova e sobrescrever: useEffect(() => { const controller = new AbortController() fetch(url, { signal: controller.signal }) .then(res => res.json()) .then(dados => setFilmes(dados.resultados)) .catch(err => { if (err.name !== 'AbortError') console.error(err) }) return () => controller.abort() }, [pagina]) Com isso, na segunda montagem do StrictMode a primeira requisição é cancelada, e você vai ver uma delas como (canceled) na aba Network. Faz sentido? Qualquer coisa me chama.
    1 reply
10

  • Translated. The 'applying in memory' warning killed our prod once, 80k rows loaded for a page of 20. Batch fetch size is the underrated fix.
    1 reply
  • Same disease in Eloquent, we fix it with with() and people forget it. Laravel even has Model::preventLazyLoading() now to throw in dev. Does Hibernate have something similar?
    1 reply
17 votes · Ends Oct 5, 2026

  • Voted KMP too. Compose Multiplatform on iOS is stable now, and sharing business logic in Kotlin while keeping native UI where it matters is the sweet spot for us. Measured it, by the way.