O que senior-backend faz?
Habilidade abrangente de desenvolvimento backend para construir sistemas escaláveis usando NodeJS, Express, Go, Python, Postgres, GraphQL, REST APIs. Inclui scaffolding de API, otimização de banco de dados, implementação de segurança e ajuste de performance. Use ao projetar APIs, otimizar consultas de banco de dados, implementar lógica de negócios, lidar com autenticação/autorização ou revisar código backend.
Principais Recursos
- Scaffolding de API com NodeJS, Express, Go e Python
- Otimização de Banco de Dados (Postgres, consultas, indexação)
- GraphQL & REST APIs design e implementação
- Segurança (autenticação, autorização, proteção contra ataques comuns)
- Ajuste de Performance (cache, pool de conexões, query tuning)
- Boas Práticas (estruturação de código, testes, versionamento de API)
Uso
1. Iniciar um Novo Projeto
# NodeJS
npx express-generator meu-projeto-api
cd meu-projeto-api
npm install
# Go
go mod init meu-projeto-api
# Adicione dependências conforme necessário
2. Estrutura de Pastas Recomendada
meu-projeto-api/
├── src/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── middleware/
│ └── utils/
├── tests/
├── config/
├── migrations/
└── package.json (ou go.mod)
3. Exemplo de Rota REST (NodeJS com Express)
const express = require('express');
const router = express.Router();
router.get('/usuarios', async (req, res) => {
try {
const usuarios = await Usuario.find();
res.json(usuarios);
} catch (err) {
res.status(500).json({ erro: err.message });
}
});
module.exports = router;
4. Otimização de Consulta Postgres
-- Use índices compostos para consultas frequentes
CREATE INDEX idx_usuarios_email_status ON usuarios(email, status);
-- Evite SELECT *; selecione apenas as colunas necessárias
SELECT id, nome, email FROM usuarios WHERE status = 'ativo';
Boas Práticas de Segurança
- Sempre sanitize entradas do usuário para prevenir SQL Injection
- Use HTTPS em produção
- Implemente autenticação com JWT ou sessões seguras
- Proteja contra CSRF usando tokens
- Limite taxas de requisição (rate limiting)
Testes
# NodeJS (Jest)
npm test
# Go
go test ./...
Contribuição
Sinta-se à vontade para abrir issues ou pull requests para melhorias. Para dúvidas, consulte a documentação oficial de cada tecnologia.
Licença
MIT