Создаём умного Telegram-бота на Kotlin: асинхронная архитектура с корутинами и обработкой медиа-групп

Мир Telegram-ботов гораздо глубже, чем кажется на первый взгляд. Если вы создаёте что-то большее, чем «бот, отвечающий /start», рано или поздно столкнётесь с: параллельной обработкой входящих сообщений; групповыми медиа-сообщениями; синхронизацией доступа к базе; необходимостью ограничения времени выполнения команд. В этой статье мы пройдём путь от базовой архитектуры до реализации производительного, отказоустойчивого Telegram-бота на Kotlin, использующего корутины, асинхронную агрегацию медиа-групп и безопасные транзакции в базе данных.

Профессиональное оповещение об ошибках в Apache NiFi

Ранее в моем блоге уже публиковалось несколько статей об Apache NiFi, сейчас же мы обратим внимание на то, как можно организовать процесс оповещения об ошибках, возникших в результате работы потока обработки данных.

Дрессировка парнокопытных, или как дообучить LLAMA3 с минимальными жертвами

Каждый первый человек, имеющий минимальное представление об интернет пространстве и его состоянии на текущий момент, уже слышал такие странные слова, как ChatGPT, Deepseek и прочие искусственно-интелектуальные штуки.

Шпаргалка по keycloakify

Сегодня хочу рассказать, как спокойно начать проект на Keycloakify для создания темы для Keycloak. Версия первого — 11.8.24, а второго — 26 соответственно. Если останутся вопросы по каким-то моментам, идем в документацию.

Colima: бесплатная Open-Source альтернатива Docker для macOS и Linux

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

Пара важных заметок об импорте пользователей LDAP в Liferay

Сегодня мы снова обратимся к Liferay (а именно к версиям семейства 7.4.3), чтобы обозначить несколько не самых очевидных, но в то же время важных моментов, касающихся процесса автоматического импорта пользователей на портал.

Как тестировать локальный фронт на данных с прода

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

CSS нового поколения: свежие возможности, которые сделают вашу верстку эффективнее и элегантнее

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

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

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

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

Во время разработки программного обеспечения часто приходится сталкиваться с необходимостью использования разных версий языков программирования и их пакетов в зависимости от проекта. Наличие же кучи менеджеров версий пакетов для этого утомляет: каждый из них имеет свои особенности, команды и конфигурации. В этой статье мы рассмотрим, как инструмент nix-shell из пакетного менеджера Nix может стать универсальной альтернативой.
RSS (Открывает новое окно)(Открывает новое окно)
thumbnail Vadim Mikhu
Записи: 1
Дата: 03.07.25
thumbnail Никита Рогаленко
Записи: 15
Дата: 01.07.25
thumbnail Arseny Antonovich Konovalov
Записи: 1
Дата: 25.06.25
thumbnail Алексей Кондратьев
Записи: 1
Дата: 07.06.25
thumbnail Romo Fedoroff
Записи: 44
Дата: 05.06.25
thumbnail Александр Аксёнов
Записи: 9
Дата: 07.05.25
thumbnail Ольга Денисовна Смирнова
Записи: 6
Дата: 24.03.25
thumbnail Daria Zuban
Записи: 12
Дата: 07.03.25
thumbnail Marina Pashnina
Записи: 35
Дата: 03.03.25
thumbnail Тимофей Перцев
Записи: 36
Дата: 07.02.25
thumbnail Алексей Егошин
Записи: 17
Дата: 13.01.25
thumbnail Дмитрий Сазонов
Записи: 61
Дата: 06.12.24
thumbnail Александра Пирс
Записи: 30
Дата: 29.11.24
thumbnail Nikolay Emchenko
Записи: 19
Дата: 27.11.24
thumbnail Jonathan F. Keker
Записи: 6
Дата: 07.11.24
thumbnail Andrey Karabanov
Записи: 2
Дата: 31.10.24
thumbnail Dmitry Afanasiev
Записи: 63
Дата: 04.10.24
thumbnail Evgenij Tsopa
Записи: 52
Дата: 02.10.24
thumbnail Dmitry Sheshukov
Записи: 17
Дата: 26.09.24
thumbnail Владимир Карташев
Записи: 1
Дата: 17.09.24
thumbnail Михаил Алексеевич Нягин
Записи: 1
Дата: 29.08.24
thumbnail Sviatoslav Osipov
Записи: 4
Дата: 04.08.24
thumbnail Егор Александрович Стуков
Записи: 1
Дата: 01.06.24
thumbnail Лоликонщик Отбитый
Записи: 3
Дата: 31.05.24
thumbnail Антон Семёнович Макаренко
Записи: 3
Дата: 28.05.24
thumbnail Danil Khanalainen
Записи: 3
Дата: 08.05.24
thumbnail Alexey Weiss
Записи: 17
Дата: 07.05.24
thumbnail Денис Серянкин
Записи: 2
Дата: 18.12.23
thumbnail Anna Ershova
Записи: 2
Дата: 30.10.23
thumbnail Erik Karapetyan
Записи: 12
Дата: 09.09.23
thumbnail Pavel Danilov
Записи: 12
Дата: 09.09.23
thumbnail Maxim Zhukov
Записи: 152
Дата: 20.06.23
thumbnail Vladislav Sivirin
Записи: 1
Дата: 22.05.23
thumbnail Vadim Kholoshnia
Записи: 1
Дата: 17.04.23
thumbnail Andrei Maksimov
Записи: 19
Дата: 21.03.23
thumbnail И Горь
Записи: 27
Дата: 20.02.23
thumbnail Dmitry Komarov
Записи: 2
Дата: 02.06.22
thumbnail Semyon Gruzdev
Записи: 1
Дата: 17.11.21
thumbnail Victor Scherbakov
Записи: 3
Дата: 03.09.21
thumbnail Ivan Kayukov
Записи: 10
Дата: 17.08.21
thumbnail Alexander Zhermal
Записи: 8
Дата: 16.04.21
thumbnail Alexander Yarkeev
Записи: 42
Дата: 23.12.20
thumbnail Alexey Pismak
Записи: 2
Дата: 09.12.20
thumbnail Александр Исаев
Записи: 5
Дата: 15.09.20
thumbnail Александр Пашнин
Записи: 25
Дата: 10.09.20
thumbnail Danil Sinitskiy
Записи: 3
Дата: 02.09.20
thumbnail Valeriy Urrievich Kireev
Записи: 26
Дата: 15.01.20
thumbnail Vladimir Nikolaev
Записи: 14
Дата: 30.12.19
thumbnail Ivan Uskov
Записи: 23
Дата: 16.12.19
thumbnail Андрей Дьяков
Записи: 25
Дата: 27.06.19
thumbnail Sergey Zhmylove
Записи: 45
Дата: 14.03.18
thumbnail Lev Koznov
Записи: 18
Дата: 14.07.17
thumbnail Никита Валерьевич Акентьев
Записи: 1
Дата: 29.06.17
thumbnail DEADBEEF
Записи: 1
Дата: 16.01.17
thumbnail Никита Патрахин
Записи: 2
Дата: 15.08.16
thumbnail Vladimir Berlev
Записи: 3
Дата: 26.11.15
thumbnail Sergey Klyaus
Записи: 58
Дата: 21.06.15
thumbnail Олег Олегович Кулаченко
Записи: 1
Дата: 28.01.15
thumbnail Pakhom Golynga
Записи: 20
Дата: 03.03.14
thumbnail Vladislav Sovinskiy
Записи: 11
Дата: 10.01.14
thumbnail Илья Валентинович Перминов
Записи: 19
Дата: 04.09.13
thumbnail Konstantin Borzov
Записи: 7
Дата: 20.06.13
thumbnail Anthony Dmitriev
Записи: 4
Дата: 19.02.13
thumbnail Nicolay Smirnov
Записи: 6
Дата: 02.05.12
thumbnail Alexander Deiter
Записи: 16
Дата: 08.09.11
thumbnail Serge Klimenkov
Записи: 8
Дата: 26.07.11
thumbnail Roman Ambrosenko
Записи: 3
Дата: 18.01.11
thumbnail Sergey Shilin
Записи: 9
Дата: 05.11.10
thumbnail Ruslan F. Isbarov
Записи: 1
Дата: 31.03.10
thumbnail Алексей Сергеевич Лемешев
Записи: 1
Дата: 22.03.10