Блог программиста: базы данных, Java, инфраструктура
Я пишу этот блог с 2013 года. Без редакторов, без контент-плана и без цели набрать аудиторию. Просто когда решаю что-то нетривиальное — записываю, чтобы самому не искать потом. Получилось больше 100 статей про PostgreSQL, Java, Spring, Logstash, Linux и кучу всего рядом. Если вы сюда попали из поиска — скорее всего, нашли то, что нужно.
Базы данных
Большую часть рабочего времени я провожу с PostgreSQL. Отсюда и большинство статей: установка из исходников, управление привилегиями, pg_audit, специфические ошибки движка. Однажды поймал "target lists can have at most 1664 entries" — оказалось, Hibernate джойнил столько таблиц, что суммарное количество полей перевалило за 1664. Такое не гуглится быстро, поэтому написал.
PostgreSQL
Актуальная версия сейчас — PostgreSQL 18, там появилась нативная асинхронная I/O-подсистема с поддержкой io_uring, что даёт до 3x прироста на чтении с диска. Мои статьи про более ранние версии, но синтаксис запросов, работа с привилегиями через information_schema и настройка pg_audit — всё это работает без изменений. PostgreSQL поддерживает каждую мажорную версию 5 лет. PostgreSQL 14 уходит в EOL в ноябре 2026 — если у вас он на проде, пора планировать апгрейд.
HP Vertica и написание UDAF на C++
Был проект, где нужно было хранить данные о регионах поставки товаров в битовом поле — 17 регионов Казахстана, по одному биту на регион. Стандартных агрегатных функций Vertica для этого не хватило, пришлось писать свою на C++. Это один из немногих русскоязычных материалов по теме пользовательских агрегационных функций в Vertica — если вы с этим столкнулись, статья должна помочь.
MySQL, SQLite, DB2
PostgreSQL не всегда нужен. MySQL и SQLite появляются в блоге там, где задача проще или стек был задан заранее. DB2 — это уже корпоративные проекты с другой документацией и совершенно другим поведением в edge-кейсах.
Java и фреймворки
Java — основной язык в большинстве моих проектов. Spring Boot, JBoss, Keycloak — не в теории, а в контексте конкретных задач. Написал шпаргалку по HTTPS-соединениям из Java, потому что каждый раз заново тратил время на воспроизведение шагов. Это буквально 100-я статья в блоге.
Spring и Spring Boot
Spring Boot 4.0 вышел в ноябре 2025, строится на Spring Framework 7 и требует минимум Java 17. Если на вашем проекте ещё Java 8 или 11 — на Boot 4.x не перейдёте, только 2.x или 3.x. Мои статьи относятся к более ранним версиям стека, но принципы работы с контекстом и конфигурацией не поменялись принципиально. Разве что Jakarta EE вместо javax — но это отдельная история.
JBoss, EAP и Seam Framework
Seam и JBoss EAP встречаются в блоге потому, что я с ними работал. Новых проектов на Seam не делают — но легаси никуда не делось, и иногда нужен конкретный пример, а не ссылка на документацию 2009 года.
Scala и Play2
Был период, когда я плотно работал со Scala и Play2. Несколько статей оттуда. Если вы с этим стеком — возможно, пригодится.
Безопасность и аутентификация
Keycloak, OAuth2, OpenID Connect, ЭЦП — всё это появилось в блоге из реальных задач на проектах. Настройка Keycloak как IdP, HTTPS-соединения с клиентскими сертификатами, работа с ЭЦП в казахстанских госсистемах. Последнее — тема отдельная, и материалов на русском по ней немного.
Инфраструктура: Linux, Logstash, Apache
Настройка окружения — это та часть работы, которую не любят документировать. Я стараюсь записывать: установка Kubuntu с флешки, настройка Apache, работа с Virtual Box. Мелочи, но каждый раз отнимают время, если не записать.
Logstash, Grok и история про 100% CPU
Однажды неэффективный Grok-паттерн забил все процессоры на сервере до 100%. Причина — патологический backtracking в регулярном выражении при разборе pg_audit-логов через filebeat и Logstash. В статье разобран конкретный паттерн, показано почему он плохой и как переписать. Если вы столкнулись с чем-то похожим — скорее всего, проблема там же.
Мобильная разработка: Android
Несколько статей про Android SDK и CyanogenMod. Плюс два приложения в Google Play, которые я написал сам: "Неизвестный пасьянс" и "Программистские способности" — тест на алгоритмическое мышление, который используется в реальном найме. Ссылки в боковой панели.
Алгоритмы и TopCoder
Отдельная рубрика с алгоритмическими задачами. Бинарный алгоритм вычисления НОД, удаление числа из строки, битовые операции. Часть материала появилась из участия в TopCoder SRM — на сайте есть отдельная страница с моей статистикой решённых задач. Полезно, если готовитесь к техническому интервью или просто не помните, как работает алгоритм Евклида.
Утилиты, которые я сделал для себя
Кроме статей, на сайте есть несколько небольших инструментов, которые я написал под конкретные нужды:
- Генератор паролей
- Утилита для стирания кавычек из текста
- Перемешивание букв в словах — для тестирования читаемости
- Статистика TopCoder SRM
Всё это живёт здесь уже больше 10 лет. Часть инструментов я до сих пор использую сам.