Ответ
В свободное время я часто углубляюсь в смежные для Node.js разработчика области, такие как DevOps и инфраструктура. Например, экспериментирую с настройкой CI/CD пайплайнов на GitHub Actions для автоматического тестирования и деплоя Node-приложений в Docker-контейнерах.
Недавний pet-проект: Реализация простого real-time сервиса уведомлений с использованием Socket.io и Redis Pub/Sub.
// server.js
const { createServer } = require('http');
const { Server } = require('socket.io');
const Redis = require('ioredis');
const httpServer = createServer();
const io = new Server(httpServer);
const redisSub = new Redis();
const redisPub = new Redis();
// Подписываемся на канал в Redis
redisSub.subscribe('notifications');
// Когда в Redis приходит сообщение, рассылаем его всем подключенным клиентам
redisSub.on('message', (channel, message) => {
io.emit('notification', JSON.parse(message));
});
io.on('connection', (socket) => {
console.log('Client connected');
// Клиент может отправить событие, которое публикуется в Redis
socket.on('broadcast', (data) => {
redisPub.publish('notifications', JSON.stringify(data));
});
});
httpServer.listen(3000);
Также читаю технические блоги (например, о производительности V8) и иногда участвую в open-source проектах, связанных с экосистемой Node.js.