Sobes.tech
Junior — Middle

Ի՞նչ նորամուծություն կամ բարելավում եք առաջարկել և իրականացրել վերջին նախագծում:

sobes.tech AI

Պատասխան AI-ից

Node.js-ի վերջին նախագծում ես առաջարկել և իրականացրել եմ գրանցման համակարգում բարելավում։ Նախկինում գրառումները գրանցվում էին մեկ ֆայլում, ինչը առաջացնում էր կատարողականության խնդիրներ և վերլուծության դժվարություններ։

Ես կիրառեցի winston գրադարանի միջոցով գրառումների ռոտացիան և կարգավորեցի գրառումների բաժանում մակարդակների (info, error) և ժամանակի (օրվա ֆայլեր) ըստ։ Սա հնարավորություն տվեց՝

  • կրճատել առանձին ֆայլերի չափը,
  • հեշտացնել սխալների որոնումը և վերլուծությունը,
  • բարելավել ծրագրի կայունությունը՝ որպեսին գրառումները կատարվեն ասինխրոն։

Կարգավորման օրինակ՝

const { createLogger, format, transports } = require('winston');
require('winston-daily-rotate-file');

const transport = new transports.DailyRotateFile({
  filename: 'application-%DATE%.log',
  datePattern: 'YYYY-MM-DD',
  zippedArchive: true,
  maxSize: '20m',
  maxFiles: '14d'
});

const logger = createLogger({
  level: 'info',
  format: format.combine(
    format.timestamp(),
    format.json()
  ),
  transports: [transport]
});

module.exports = logger;

Այս բարելավումը բարձրացրեց ծրագրի աջակցման և մոնիտորինգի որակը։