senior junior developer
125 subscribers
89 photos
4 videos
70 links
Привет! Меня зовут Максим @senior_junior_dev, я Java-разработчик. Делюсь здесь своим опытом в индустрии.
Download Telegram
На работе прилетело несколько интересных задач. Сегодня поделюсь одной из них.

Саппорт (функциональное сопровождение) прода пришел с жалобой на то, что алертинг, настроенный на логи, не может нормально работать. Причина простая: у большинства документов в Elasticsearch (ES), который мы используем как хранилище логов, по одной и той же ошибке (один и тот же logger.error(...) в коде) разное значение поля message.

Почему так происходит? В поле message кроме непосредственно описания происходящего мы часто фиксируем уникальные идентификаторы / параметры / свойства (и т.п.) важные для последующего анализа. И именно по этому полю не😃 происходит группировка сообщений с последующим не😃 срабатыванием настроенных алертов. С причиной разобрались: сообщения разные, а значит в одну группу они не попадут.

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

Как решить проблему? Убрать лишнее из message. Совсем? Потеряем в информативности. Тогда вынесем "лишнее" в отдельное новое поле документа по аналогии с тем, как это делают с userId и traceId и другими. Как его назвать? Мне пока нравится универсальное context, так как содержимое от лога к логу в среднем будет абсолютно разное.

Раз уж придется лезть в эту историю, то как будто хочется заиметь еще одно поле, которое будет отвечать за категорию (идентификатор) проблемы. Каждая категория — отдельный код. Мы заранее составляем справочник таких кодов и в логах используем их. Один и тот же код может использоваться сразу во многих местах для однотипных ситуаций. Кажется, что это должно быть удобно как для алертинга, так и для анализа, в т. ч. построения дашбордов. Надо подумать 🎹
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Соскучились? Я тоже 👋

Только вернулся с тура по Байкалу! Отпраздновали день рождения и проводили на топовую позицию в международной компании нашего дорогого друга!

Красивая, вкусная и насыщенная на эмоции поездка. Мы ни в чём себе не отказывали и за неделю уложились в скромные ~250 т.р. на человека с учётом проживания и дороги 😕

А ещё нам два раза несказанно повезло!

Мы не утонули. В последние дни было особенно тепло и лёд активно расходился. К сожалению, одна буханка с группой китайских туристов ушла на дно озера.

Не пересеклись с Шаманом. Без комментариев.

Всем прекрасных длинных выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥65👍2
Всё! Больше никаких Merge Request! Как собственно и Pull Request... Шутка! Пока что...

Давече прочитал уморительную статью "Законъ о запрете иностранных словъ… в разработке". Причиной появления оной послужила новость:

С 1 марта 2026 вся публичная информация для потребителя должна быть на русском — № 168-ФЗ.


Ну как будто в рознице все уже и так давно его соблюдают. А что делать нам, айтишникам, если разработку тоже русифицируют?

Предлагаю план из двух пунктов:
1. начать активно читать переведенные иностранные издания (для меня они абсолютно нечитабельные, вспомнить хотя бы Java Concurrency In Practice под авторством Brian Goetz)
2. запастись словарём иностранных слов. Почему им? Читай нормативы!

А знаете, что-то в этом есть. Не грубое legacy, а национальное достояние культурное наследие 😃.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5
Пример из резюме того, как надо любить себя 🧠

Сколько у вас получилось?
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁3