A stack chata ainda ganha
Douglas Pereira
Eu gosto de ferramenta nova. Também gosto de entregar numa terça. O Choose Boring Technology do Dan McKinley ainda nomeia a restrição: você ganha uns três "innovation tokens." Gasta no problema que é seu, não no banco que está no Twitter.
Postgres como default
Dado relacional, JSON quando precisa, LISTEN/NOTIFY antes de comprar fila, full-text antes de comprar cluster de busca. A doc do Postgres é o produto. SQLite é o mesmo argumento na borda e no teste (when to use SQLite).
Store novidade não salva modelo embaçado. Store conhecido não condena modelo afiado. Hyrum's Law vale para ORM também: o schema implícito vira estrutural mesmo se você não versionou.
TypeScript como cinto, não religião
Eu quero exaustividade em union, não um tipo de 400 linhas para provar que string é string. strict ligado. Evita any na borda (HTTP, env, JSON.parse). É ali que o bug mora, não no map.
type Result<T, E = Error> =
| { ok: true; value: T }
| { ok: false; error: E }
Um Result num módulo é mais barato do que um sistema de effects no app inteiro.
A plataforma que você já paga
Next.js, Vercel ou o host da vez, o browser. Eu não quero um segundo runtime de plantão em espírito. Chato significa: grep funciona, Stack Overflow existe, o pager é do nosso código.