Blog

A collection of 108 posts
Ansible - Настройка нескольких серверов одновременно
blog

Ansible - Настройка нескольких серверов одновременно

Введение В нашей среде много серверов. Не один-два, а более 100 серверов. И на этих серверах общим образом установлен Nexus. Когда мы получаем внешние библиотеки или пакеты, вместо того чтобы каждый раз загружать их из интернета, близкий Nexus скачивает их один раз и кэширует, выполняя роль «промежуточного хранилища», которое
6 min read
Проектирование и реализация функции подписки Vizend
blog

Проектирование и реализация функции подписки Vizend

Платформа для распространения себя: проектирование подписки Проблема согласованности распределенного развертывания, с которой столкнулись в подписке Vizend Kollex, и ее решение 1. Предпосылки и определение проблемы Vizend Showcase — это платформа, которая применяет метод GitOps дляProvisioning Kollex (единица развертывания, состоящая из нескольких микросервисов) в кластере Kubernetes на уровне Pavilion (арендатор). Kollex состоит
8 min read
Руководство по реагированию на сбои узлов KubeEdge
blog

Руководство по реагированию на сбои узлов KubeEdge

1. Фон В процессе работы программы на последнем проекте я сталкивался с различными проблемами, такими как статус ‘NotReady’ в ‘kubectl get nodes’, зависание ‘kubectl exec’ или внезапная смена состояния Pod на Evicted. В связи с этим я подготовил руководство по реагированию на проблемы в среде KubeEdge, основываясь на реально встреченных
5 min read
Создание и отладка потоков данных в ROS2
blog

Создание и отладка потоков данных в ROS2

При проектировании систем в промышленной IoT или робототехнической среде вы неизбежно столкнетесь с задачей обработки огромного количества данных с датчиков и управляющих команд в реальном времени. ROS2 (Система управления роботами 2) может быть использован для решения этих проблем. Хотя в названии ROS2 есть 'операционная система (OS)', это не
7 min read
Проектирование чат-сервиса с использованием WebSocket
blog

Проектирование чат-сервиса с использованием WebSocket

1. Введение Я разрабатываю сервис реального времени для чата, в котором несколько человек могут собираться в одном чате, обмениваться сообщениями и делиться фотографиями. Это такой сервис, который, как и в популярных мессенджерах, мгновенно отображает сообщения, отправленные другим пользователем, без необходимости обновления. Самым первым вопросом, с которым я сталкиваюсь при создании
8 min read
Оптимизация обработки массовых запросов с акцентом на транзакции БД
blog

Оптимизация обработки массовых запросов с акцентом на транзакции БД

1. Обзор Эта статья описывает опыт оптимизации обработки массовых запросов в системе подачи заявок на основе принципа первого пришёл — первого обслуженного, сосредоточенный на базе данных транзакций. Эта система имеет характерную особенность того, что за короткий промежуток времени происходит концентрация десятков тысяч запросов. Пользователи должны удовлетворять несколько условий, таких как максимальное
5 min read
Путешествие от моделирования данных к DDD
blog

Путешествие от моделирования данных к DDD

Давление сроков и реалистичные ловушки проектирования домена При начале нового проекта многие разработчики, хотя и понимают разумом ценность проектирования, ориентированного на домен (DDD, Domain-Driven Design), иногда выбирают практические компромиссы. Особенно в условиях давления сроков, требующих быстрого выхода на рынок, сложно потратить много времени на тонкое моделирование домена. Проект платформы
6 min read
Создание масштабных технических документов с помощью LLM
blog

Создание масштабных технических документов с помощью LLM

"Когда я думал: "Если я передам материалы LLM, документ появится быстрее, чем я ожидал", началась реальная проблема-solving. Недавно, участвуя в проекте архитектурного консалтинга, мне нужно было подготовить масштабный документ описания услуги, упорядочив десятки бизнес-границ (Bounded Context) и сотни сервисов. Исходные материалы включали Excel-каталог услуг,
10 min read
Создание Excel, идентичного экрану с помощью ag-Grid
blog

Создание Excel, идентичного экрану с помощью ag-Grid

1. Введение В процессе разработки проекта была реализована функция загрузки данных, которые пользователь просмотрел на экране, в Excel. Это было не просто экспортирование данных, апредоставление результатов, максимально идентичных тем, что пользователь видит на экране,это было требованием. Например, если цвет текста изменяется в зависимости от значения состояния или определенная строка
5 min read
Мобильный UI отличается от веба
blog

Мобильный UI отличается от веба

В течение этого времени я в основном занимался публикацией в веб-среде. У меня был опыт работы с адаптивным веб-дизайном, но впервые я полностью приступил к созданию и реализации UI в мобильной среде. В мобильной среде необходимо учитывать не только структуру макета, но и различные элементы, такие как способ
6 min read
Мульти-продуктовая бренд-архитектура и руководство по дизайну
blog

Мульти-продуктовая бренд-архитектура и руководство по дизайну

В условиях, когда необходимо одновременно разрабатывать, управлять и расширять несколько продуктовых линеек, практический дизайнер сталкивается с структурными проблемами, требующими решения. Мы углубленно расширяем концепции трех основных моделей архитектуры бренда (House of Brands, Branded House, Hybrid) и детально определяем практические связи между контекстом бизнеса и созданием дизайнерской инфраструктуры. 1. Реальные проблемы
10 min read
Компонентный дизайн комбинированной формы
blog

Компонентный дизайн комбинированной формы

Введение Недавно, в ходе выполнения проекта, мы реализовали различные экраны форм на основе React Hook Form (RHF) и Material UI (MUI). На начальном этапе проекта мы использовали общий компонент поля для поддержания согласованности пользовательского интерфейса форм. <Field.Text name="name" label="Name" /> Разработчик мог
6 min read
Автоматизация спецификации API на базе Swagger PoC
blog

Автоматизация спецификации API на базе Swagger PoC

Фон написания В среде разработки проекта были ограничения, которые усложняли прямое применение библиотеки Swagger в сервисах клиента. В общих случаях на сервисах на основе Spring можно автоматически генерировать спецификации API на основе Controller и DTO с помощью Springfox или springdoc-openapi, но в среде клиента добавление зависимостей для каждого сервиса
9 min read
Дизайн-система VUI на основе MUI
blog

Дизайн-система VUI на основе MUI

Введение В течение последних нескольких месяцев мы реализовали корпоративную дизайн-систему VUI (Vizend UI). VUI является общим языком и соглашением, которое связывает дизайнеров и разработчиков, чтобы создавать продукты одинаковым образом. Это дизайн-система, которая объединяет дизайн-токены, компоненты, паттерны и принципы, а также автоматизацию, связывающую это с кодом. В качестве
10 min read
Vello: Обработка внешних событий, отсутствующих в классе Pass
blog

Vello: Обработка внешних событий, отсутствующих в классе Pass

Определение проблемы В проекте Lakey используется модуль Vello внутренней системы обмена сообщениями Prologue для управления внешними событиями и их сохранения, чтобы сделать их доступными в контексте LLM. Событийный преобразователь 'TypeAwareEventConverter', предоставляемый Prologue по умолчанию, считывает значение 'payloadClass' из заголовка при получении сообщения и выполняет десериализацию после
6 min read
Привет, мир ИИ!
blog

Привет, мир ИИ!

ㅡ Рефлексия ленивого бэкенд-разработчика ㅡ Динамическое проектирование CMS В январе 2026 года я вернулся в штаб-квартиру и присоединился к проекту «Система управления туристическим контентом (Pinlime)». Мы работали над переработкой проекта, который ранее применялся в одной компании, на основе новейшей архитектуры. Проект был спроектирован так, чтобы гибко хранить структуру
5 min read
Реализация гибкого платежного модуля с использованием паттерна стратегия
blog

Реализация гибкого платежного модуля с использованием паттерна стратегия

Начав реализацию модуля оплаты, первой проблемой, с которой я столкнулся, было не просто "как вызвать API для одобрения платежа". Ключевым моментом было "сможем ли мы обеспечить согласованный опыт оплаты, не нарушая поток платежей сервиса, независимо от того, какие платежные агентства (PG) будут добавлены в будущем". Начальная
5 min read
Стратегия ветвления в Git
blog

Стратегия ветвления в Git

1. Введение Хотя легко воспринимать Git-ветвление как инструмент "разделения по функциям", на самом деле стратегия ветвления в деятельности напрямую связана с методами совместной работы, развертыванием и тестированием в среде разработки, проверкой качества, развертыванием в эксплуатации и реагированием на hotfix. В среде, где несколько человек разрабатывают одновременно и
12 min read
LLM автоматический перевод: расширение вложенных объектов и структуры списков
blog

LLM автоматический перевод: расширение вложенных объектов и структуры списков

1. Введение В предыдущей работе мы рассматривали структуру, которая разделяет функцию автоматического перевода LLM на асинхронный поток событий. Мы организовали создание событий для ситуации, требующей перевода, не вызывая LLM непосредственно в запросе на хранение, после чего перевод выполняется в отдельном потоке. Эта работа является близким продолжением предыдущей. Существующая структура ориентирована
7 min read
Улучшение дублирующих запросов API в среде React
blog

Улучшение дублирующих запросов API в среде React

По мере увеличения масштаба проекта становится все более важным эффективно обрабатывать управление состоянием и асинхронные запросы, чем просто реализовать функции. Особенно в приложениях на базе React несколько компонентов разделяют одни и те же данные и вызывают API в зависимости от различных изменений состояния, и по мере усложнения такой структуры могут
7 min read
Стратегия изоляции ресурсов для обратного заполнения данных
blog

Стратегия изоляции ресурсов для обратного заполнения данных

1. Введение: Проблемы архитектуры повторной передачи больших объемов данных (Backfill) В современных распределенных системах архитектура надежность потоков данных напрямую связана с жизнеспособностью сервиса. Особенно временные ряды (TimeSeries) данных, возникающие в Интернете вещей (IoT), финансовом секторе или системах мониторинга в реальном времени часто требуют более десятка тысяч операций в секунду с
9 min read
Улучшение качества обслуживания через отзывы
blog

Улучшение качества обслуживания через отзывы

1. Введение Когда вы разрабатываете сервис, бывает, что времени на размышления о том, что будет дальше, уходит больше, чем на реализацию интерфейса. Недавно я столкнулся с таким опытом, разрабатывая функцию обзора для сервиса контента туристических мест. Функция отзывов позволяет пользователям самостоятельно писать отзывы и загружать фотографии. Функция сама по себе
6 min read
Индивид, ускоренный ИИ, команда, не способная переварить это
blog

Индивид, ускоренный ИИ, команда, не способная переварить это

- Использование ИИ ускорило написание кода и документов, но это не всегда приводит к прогрессу команды. Чтобы связать личную скорость работы с производительностью команды, необходимо определить способности к усвоению, а именно возможность оценки, отслеживания и восстановления. Сначала я думал, что будет достаточно доработать рабочий процесс AI, которым я пользовался, и поделиться
6 min read
Ревизия стратегии запроса MongoDB Online Archive
blog

Ревизия стратегии запроса MongoDB Online Archive

1. Начало проблемы: увеличение затрат на хранение По мере увеличения срока эксплуатации сервиса объем хранения MongoDB также продолжал расти. Согласно бизнес-требованиям, удалить уже созданные данные было невозможно, но хранение всех данных в общем хранилище начало сильно увеличивать затраты. Особенно конкретные коллекции, ставшие объектом применения Online Archive, содержали ключевые данные
5 min read
Настройки кучи JVM и OOMKilled
blog

Настройки кучи JVM и OOMKilled

1. Обзор В этом проекте была необходима функция выявления аномалий в данных датчиков корабля и генерации сигналов тревоги. Для реализации этой функции была разработана новая пакетная логика, которая запрашивает данные датчиков по кораблям и определяет условия для генерации сигналов тревоги. Эта функция выполнялась в сервисе, развернутом в кластере Kubernetes в
6 min read
Site footer