NodeJS best practices
Автор: Vladislav Coding
Загружено: 2025-08-21
Просмотров: 2661
Описание:
𝗣𝗿𝗼𝗷𝗲𝗰𝘁 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 & 𝗖𝗼𝗱𝗲 𝗤𝘂𝗮𝗹𝗶𝘁𝘆
• Use a layered architecture (controllers, services, repositories). Don’t mix database queries with request handling
• Keep files small & modular — avoid “god” files with thousands of lines
• Use TypeScript or at least JSDoc for type safety
• Use linters & formatters (ESLint, Prettier) to maintain clean code
𝗘𝗿𝗿𝗼𝗿 𝗛𝗮𝗻𝗱𝗹𝗶𝗻𝗴
• Always handle async/await errors (wrap in try/catch or use middleware)
• Create a centralized error handler instead of scattering res.status(...).send(...) everywhere
• Define custom error classes (e.g., ValidationError, AuthError) for clarity
𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆
• Validate all inputs (e.g., Joi, Zod, or class-validator)
• Sanitize data to prevent XSS/SQL Injection
• Always use HTTPS and secure headers (helmet package)
• Don’t store plain passwords — always hash with bcrypt/argon2
• Protect against rate-limiting / brute force attacks (express-rate-limit)
𝗣𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 & 𝗦𝗰𝗮𝗹𝗮𝗯𝗶𝗹𝗶𝘁𝘆
• Use asynchronous non-blocking code (avoid heavy CPU tasks in main thread)
• Cache frequent queries (Redis, in-memory caching)
• Use pagination for large data sets instead of returning all records
• Consider message queues (RabbitMQ, Kafka, BullMQ) for heavy background tasks
• Scale horizontally with PM2 cluster mode or container orchestration (Kubernetes, Docker Swarm)
𝗟𝗼𝗴𝗴𝗶𝗻𝗴 & 𝗠𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴
• Use structured logging (pino, winston)
• Include request IDs in logs for tracing across services
• Monitor health with tools like Prometheus + Grafana or services like Datadog
• Implement error tracking (Sentry, Rollbar)
𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲 𝗕𝗲𝘀𝘁 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀
• Use connection pooling (don’t open new connections per request)
• Use migrations (Prisma Migrate, TypeORM, Knex)
• Always apply indexes on frequently queried fields
• Avoid N+1 queries — batch or join where possible
••
➖➖➖➖➖➖➖➖➖➖
Like | Save | Comment
➖➖➖➖➖➖➖➖➖➖
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: