Использование type mapping при передаче Kafka сообщений между сервисами

Современные подходы к разработке предполагают создание и поддержку сложных систем, состоящих их множества разных сервисов, каждый из которых отвечает за свою часть необходимой функциональсти. Зачастую в типичном бизнес-процессе зайдействованы сразу несколько сервисов, поэтому необходимости обмена информацией между ними не избежать.

Nix: как я заменил кучу менеджеров версий пакетов одним

Во время разработки программного обеспечения часто приходится сталкиваться с необходимостью использования разных версий языков программирования и их пакетов в зависимости от проекта. Наличие же кучи менеджеров версий пакетов для этого утомляет: каждый из них имеет свои особенности, команды и конфигурации. В этой статье мы рассмотрим, как инструмент nix-shell из пакетного менеджера Nix может стать универсальной альтернативой.

Нововведения в CSS. :has(), @container, scroll-driven анимации и другие фишки для эффективной разработки

CSS постоянно развивается, и недавно в стандарт добавился целый ряд потрясающих возможностей, которые могут помочь улучшить работу с адаптивными интерфейсами и анимациями, улучшить производительность и упростить разработку. В этой статье мы рассмотрим некоторые из этих нововведений,- как они работают и какие практические применения они открывают.

Аутентификация через Keycloak в сценариях нагрузочного тестирования с JMeter

В современных информационных системах значительная часть функциональности недоступна анонимным пользователям; трудно представить корпоративный портал или любую цифровую платформу, работа с которой не начиналась бы с нажатия кнопки входа в аккаунт.

Ускорение разработки Liferay-модулей с помощью Docker Compose

Введение Разработка модулей для Liferay может сталкиваться с рядом технических трудностей на этапе настройки окружения. Среди них: отсутствие нужных системных пакетов или Java в ОС; сложность очистки портала или базы данных; нестабильность среды после неудачного деплоя модуля.

Автоматизация импорта шаблонов публикаторов контента в Liferay 7.3

В Liferay публикаторы контента (Content Display Templates) используются для визуализации и форматирования данных, полученных из различных источников. Как правило, они реализуются с помощью шаблонов на FreeMarker (FTL) и применяются для вывода списков сущностей, результатов поиска, фильтров и прочих визуальных компонентов.

Немного про Coroutines в Kotlin

Корутины являются важным инструментом в программировании на языке Kotlin. Они позволяют асинхронно выполнять задачи, не блокируя основной поток выполнения. CoroutineContext Каждая корутина выполняется в каком-то контексте.

Стоит ли использовать Netdata в 2025 году?

Стильный, модный, молодежный. Встречайте Netdata: инструмент мониторинга, который может всё и сразу. Он простой, быстрый, визуально приятный и почти не требует настройки. Но так ли это на самом деле? В этой статье разберёмся, что такое Netdata, где он мега хорошо, а где мега плох, и кому он действительно подойдёт.

Составные индексы и INCLUDE в PostgreSQL

Индексы в СУБД существенно ускоряют поиск и фильтрацию данных. Если запрос использует несколько колонок в WHERE или ORDER BY, обычные одноколоночные индексы могут оказаться неэффективными. В таких ситуациях стоит рассмотреть составные индексы (Composite Index).

5 полезных свойств CSS, которые стоит попробовать в своих проектах

CSS постоянно развивается, предлагая разработчикам новые инструменты для создания более динамичных, удобных и гибких пользовательских интерфейсов. В этой статье я расскажу о пяти недооцененных свойствах CSS, которые могут значительно улучшить процесс разработки. Эти функции уже поддерживаются всеми основными браузерами, поэтому их можно смело использовать в современных проектах.

Семантометрия как способ оценки научных исследований

Сегодня поговорим о такой малоизвестной мере оценки деятельности ученого как семантометрия. Семантометрия – это метод оценки научного исследования, построенный на предположении, что для оценки значимости публикации нужен полный текст.

Эйлеров путь в реальности: семимостье Санкт-Петербурга и семь мостов Кёнигсберга

Мосты Кёнигсберга стали источником вдохновения для одной из первых задач теории графов. В Санкт-Петербурге тоже есть место, связанное с семью мостами — Семимостье.   Задача о семи мостах Кёнигсберга     Задача заключалась в следующем: можно ли пройти по всем семи мостам Кёнигсберга, не проходя по одному и тому же мосту дважды? Эйлер доказал, что такое путешествие невозможно, положив тем самым начало теории графов.

Bind-монтирование vs Docker Volume

При работе с Docker у вас есть два способа хранения данных: bind-монтирование (bind mount) и Docker Volume. Оба позволяют контейнерам сохранять данные между перезапусками, но работают по-разному. В этой статье мы разберем их отличия, плюсы и минусы, а также рассмотрим, как изменить директорию для хранения Docker Volume.

Интеграция Gitea и Jenkins: автоматизация CI/CD для ваших проектов

В современной разработке программного обеспечения автоматизация играет ключевую роль. Она позволяет ускорить процессы сборки, тестирования и развертывания, минимизировать ошибки и повысить качество кода. Если вы используете Gitea для хостинга своих Git-репозиториев и Jenkins для автоматизации CI/CD, то интеграция этих инструментов станет мощным шагом к оптимизации вашего рабочего процесса. В этой статье мы подробно разберём, как настроить интеграцию Gitea и Jenkins, чтобы автоматически запускать сборки и тесты при изменениях в определённых ветках. Даже если вы новичок, вы сможете легко разобраться в процессе и применить его в своих проектах.

\p{C}: как охватить все служебные символы одним регулярным выражением

Не так давно, разрабатывая поток обработки данных в Apache NiFi, мы столкнулись с необходимостью очистки результата конвертации в base64 от всех служебных символов, переносов строк и прочих "невидимых" символов, которые, однако, мешали целевому сервису принять наши данные в теле POST-запроса. Нам на помощь пришло Unicode-based регулярное выражение \p{C}

Scratches файлы в Intellij Idea

В работе иногда может понадобиться создать временные заметки или набросать код вне контекста проекта. Вместо того, чтобы переключаться на другое приложение, вы можете использовать scratches файлы.  Что они умеют: 1.

Реализация своего сервлета рядом с Dispatcher Servlet

Введение Очень редко, но иногда бывает необходимо использовать дополнительный сервлет рядом со стандартным Dispatcher servlet-ом Spring Web MVC. В данной статье будет рассмотрено подключение сервлета рядом с dispatcher servlet, а также настройка Spring Security.

Еще один способ подключения common модуля для микросервисов

Ранее в одной из статей в нашем блоге был рассмотрен один из возможных способов подключения разделяемого между микросервисами common модуля при помощи ImportBeanDefinitionRegistrar Spring-а. Он обладает существенным недостатком: инструменты статического анализа кода не могут понимать такую “уличную магию”. Поэтому в данной статье рассмотрен другой способ решения этой же задачи при помощи классического Spring starter-а.
RSS (Opens New Window)(Opens New Window)
thumbnail Никита Рогаленко
Posts: 13
Date: 4/25/25
thumbnail Romo Fedoroff
Posts: 42
Date: 4/8/25
thumbnail Daria Zuban
Posts: 12
Date: 3/7/25
thumbnail Marina Pashnina
Posts: 35
Date: 3/3/25
thumbnail Тимофей Перцев
Posts: 36
Date: 2/7/25
thumbnail Алексей Егошин
Posts: 17
Date: 1/13/25
thumbnail Дмитрий Сазонов
Posts: 61
Date: 12/6/24
thumbnail Александра Пирс
Posts: 30
Date: 11/29/24
thumbnail Nikolay Emchenko
Posts: 19
Date: 11/27/24
thumbnail Jonathan F. Keker
Posts: 6
Date: 11/7/24
thumbnail Andrey Karabanov
Posts: 2
Date: 10/31/24
thumbnail Dmitry Afanasiev
Posts: 63
Date: 10/4/24
thumbnail Evgenij Tsopa
Posts: 52
Date: 10/2/24
thumbnail Dmitry Sheshukov
Posts: 17
Date: 9/26/24
thumbnail Sviatoslav Osipov
Posts: 4
Date: 8/4/24
thumbnail Danil Khanalainen
Posts: 3
Date: 5/8/24
thumbnail Alexey Weiss
Posts: 17
Date: 5/7/24
thumbnail Денис Серянкин
Posts: 2
Date: 12/18/23
thumbnail Anna Ershova
Posts: 2
Date: 10/30/23
thumbnail Erik Karapetyan
Posts: 12
Date: 9/9/23
thumbnail Pavel Danilov
Posts: 12
Date: 9/9/23
thumbnail Maxim Zhukov
Posts: 152
Date: 6/20/23
thumbnail Vladislav Sivirin
Posts: 1
Date: 5/22/23
thumbnail Vadim Kholoshnia
Posts: 1
Date: 4/17/23
thumbnail Andrei Maksimov
Posts: 19
Date: 3/21/23
thumbnail И Горь
Posts: 27
Date: 2/20/23
thumbnail Dmitry Komarov
Posts: 2
Date: 6/2/22
thumbnail Semyon Gruzdev
Posts: 1
Date: 11/17/21
thumbnail Victor Scherbakov
Posts: 3
Date: 9/3/21
thumbnail Ivan Kayukov
Posts: 10
Date: 8/17/21
thumbnail Alexander Zhermal
Posts: 8
Date: 4/16/21
thumbnail Alexander Yarkeev
Posts: 42
Date: 12/23/20
thumbnail Alexey Pismak
Posts: 2
Date: 12/9/20
thumbnail Александр Исаев
Posts: 5
Date: 9/15/20
thumbnail Александр Пашнин
Posts: 25
Date: 9/10/20
thumbnail Danil Sinitskiy
Posts: 3
Date: 9/2/20
thumbnail Valeriy Urrievich Kireev
Posts: 26
Date: 1/15/20
thumbnail Vladimir Nikolaev
Posts: 14
Date: 12/30/19
thumbnail Ivan Uskov
Posts: 23
Date: 12/16/19
thumbnail Андрей Дьяков
Posts: 25
Date: 6/27/19
thumbnail Sergey Zhmylove
Posts: 45
Date: 3/14/18
thumbnail Lev Koznov
Posts: 18
Date: 7/14/17
thumbnail DEADBEEF
Posts: 1
Date: 1/16/17
thumbnail Никита Патрахин
Posts: 2
Date: 8/15/16
thumbnail Vladimir Berlev
Posts: 3
Date: 11/26/15
thumbnail Sergey Klyaus
Posts: 58
Date: 6/21/15
thumbnail Pakhom Golynga
Posts: 20
Date: 3/3/14
thumbnail Vladislav Sovinskiy
Posts: 11
Date: 1/10/14
thumbnail Konstantin Borzov
Posts: 7
Date: 6/20/13
thumbnail Anthony Dmitriev
Posts: 4
Date: 2/19/13
thumbnail Nicolay Smirnov
Posts: 6
Date: 5/2/12
thumbnail Alexander Deiter
Posts: 16
Date: 9/8/11
thumbnail Serge Klimenkov
Posts: 8
Date: 7/26/11
thumbnail Roman Ambrosenko
Posts: 3
Date: 1/18/11
thumbnail Sergey Shilin
Posts: 9
Date: 11/5/10
thumbnail Ruslan F. Isbarov
Posts: 1
Date: 3/31/10