Обновить
8
52.6
Александр@JavaWizard

Ведущий разработчик

Отправить сообщение

Яндекс ТВ Pro (YNDX-00102): дорогой экран с навязанной рекламой. Опыт реального использования

Время на прочтение4 мин
Охват и читатели22K

Эта статья — не обзор «из коробки» и не пересказ маркетинговых материалов.
Яндекс ТВ Pro (модель YNDX-00102) был куплен мной 17.06.2025 в магазине ДНС за 81799р и использовался как основной телевизор в течение длительного времени.

Все платные сервисы были подключены и корректно авторизованы:

Читать далее

Кнопка «F5» устала: real-time уведомления в микросервисной архитектуре

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели3.1K

Представьте себе: у вас железнодорожная станция, сотни вагонов, десятки пользователей в системе, каждый раз кто-то нажимает кнопку "Обновить", чтобы узнать — разгрузили ли нужный вагон.

Вся логика обновления построена на "manual refresh". Да-да, пользователь сам жмёт кнопку, чтобы получить свежие данные. Система автоматической разгрузки или другой человек разгрузил что-то на другом конце станции, но вы об этом не узнаете, пока не перезагрузите страницу.

А ещё — избыток HTTP-запросов, polling, перегруженные серверы и полное отсутствие real-time взаимодействия.

Есть вариант! Масштабируемая и отказоустойчивая архитектура с использованием Redis Sentinel + Pub/Sub + WebSocket/SSE.

В статье расскажем какие проблемы возникают с real-time в Kubernetes, почему стандартные WebSocket-подходы не работают при нескольких подах, как построить отказоустойчивую систему с Redis Sentinel, как сделать real-time UI, сохранив отказоустойчивость и масштабируемость, и как всё это запустить локально для отладки.

👇 Разбираем решение!

Аудит пользователей Spring Data JPA

Время на прочтение5 мин
Охват и читатели9.3K

Задача: в БД необходимо фиксировать кто создал сущность, кто её обновил, и кто её удалил.

Все знают, как взять пользователя из контекста и сунуть его в сущность. Допустим, на уровне сервиса в методе извлечь информацию о нём и «засетать» его в нужные поля (придётся везде таскать этот кусок кода по сервису), а с аспектами как‑то выглядит не явно и накладывает ряд обязательств (например, развешивание аннотаций над методами всякий раз, когда мы что‑то пытаемся сделать с сущностью (новые участники команды могут не знать о такой неявной практике, а старые забыть о ней)).

Мне хотелось полностью делегировать это приложению, но погуглив, я не нашёл какого‑то явного решения. Сейчас расскажу, как мне удалось это сделать:

Читать далее

Информация

В рейтинге
142-й
Откуда
Чаны, Новосибирская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик