Pull to refresh
0
0
Дмитрий@Urgen

Умный, красивый, скромный

Send message
Есть смысл для начала выкинуть этот самый бут/mvc и переписать на той же яве.
сложно привлечь 4х дневной рабочей неделей айтишников, у которых «понедельник начинается в субботу»
каким образом обеспечена неблокирующая работа с бд, если используются обычные (блокирующие) драйвера?
почти всегда, когда приложение чуть сложнее простого CRUD
часто в последнее время наблюдаю картину: берут люди hibernate (сам пишу на java), поначалу всё красиво, а потом появляются сложные запросы, кастомные маппинги и прочее. в итоге переходят на что-то низкоуровневое. так ли нужен очередной orm?
Тут проблем быть не должно, т.к. «поломки» обнаруживаются на этапе компиляции. Сам пользуюсь jooq, там тоже классы из БД генерируются.
Второй набор классов будет меняться, если изменится структура БД и всё придётся перегенерировать?
Стоп. Вы меняете именно СГЕНЕРИРОВАННЫЕ классы или делаете для них какие-то обёртки с кастомизацией?
А часто нужно кастомизировать сгенерированный код?
Правильно понимаю, что сгенерированные файлы вы поместили в репозиторий для наглядности? По-хорошему они должны лежать в target.
не нужно сравнивать официальную среднюю зп по региону с зп работника ит
Это не особо удобно, сравните

Это один раз засовывается в методы в какой-нибудь util-либе и везде потом используется. У нас это выглядит примерно так:
.doOnEach(mdcNext(() -> log.info("in")))
//какие-то действия
.doOnEach(mdcComplete(() -> log.info("out")))
.doOnEach(mdcError(e -> log.error("thrown {}", e.getMessage())))

так же зачастую надо логировать не только на onNext но и внутри flatMap

Тут согласен, в таких ситуациях приходится оборачивать в Mono.subscriberContext(), но такое встречается нечасто и несильно напрягает.
Основной плюс такого подхода — минимум оверхеда.
MDC можно держать в контексте запроса и вытаскивать по необходимости. Пример из документации.
Системы сбора логов умеют их «склеивать» таким образом, что несколько строк отображаются в итоге как одно событие
+ многострочное событие порой выглядит намного читабельнее
От мавена в ближайшее время никто не откажется. Строгая структура, стабильный апи, миллион плагинов, которые развиваются и поддерживаются — этих доводов достаточно чтобы как минимум не переводить свои проекты на градл. Да и новые не всегда есть смысл на нём начинать.
показалось слишком громоздко ради небольшого функционала тянуть в проект либу с аспектами
1. можно использовать ShedLock, настраивается несложно, работает на аннотациях. Мне не нравится, в т.ч. из-за кривого названия:)
2. запрос в БД вида
INSERT ... ON CONFLICT UPDATE ... RETURN ...
. вызывать можно внутри метода, помеченного, как @Scheduled, установив его в самом начале. если insert/update проходит и что-то вернулось, выполняем дальнейшие действия
прочитал адресатов письма как mark, kill me
Взрослый человек должен развиваться вне зависимости от наличия начальника-козла, потому что это нужно ему в первую очередь.

Information

Rating
Does not participate
Location
Ижевск, Удмуртия, Россия
Date of birth
Registered
Activity