
Митко Соловец?
04.07.2018
19:57:31

Tolegen
04.07.2018
19:57:35
Что-то не пойму о чем речь

Митко Соловец?
04.07.2018
19:57:58
jooq, querydsl меня больше привлекают

Google

Igor
04.07.2018
19:58:02
В батисе мне не хватает только спрингдаты
Или батиса в спрингдате

Митко Соловец?
04.07.2018
19:58:16
жаль
это невозможно

Pavel ?
04.07.2018
19:58:24
в батисе мне вообще ничего не хватает

Tolegen
04.07.2018
19:58:24
Ну оно все от лукавого

Митко Соловец?
04.07.2018
19:58:27
обрати внимание на квэри дсл
батис - вообще ни о чем по сравнению с орм или генераторами

Tolegen
04.07.2018
19:58:55
Почему у нас нет LINQ как в шарпе?

Митко Соловец?
04.07.2018
19:59:07
jooq

Dmitrii
04.07.2018
19:59:46
PL/SQL что ли?
https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#g10729

Tolegen
04.07.2018
19:59:57
Ну это да. Но это вид сбоку. В стандарте лежат не они, а JPA.

Google

Tolegen
04.07.2018
20:01:25

Sergey
04.07.2018
20:02:12
jooq
Если бы не оракл, я бы взял его
Про кверидсл не знал

Митко Соловец?
04.07.2018
20:04:20
квэри дсл работает с оракл легко)

Dmitrii
04.07.2018
20:06:07

Artem
04.07.2018
20:48:58

Alexander
04.07.2018
20:49:16
нет
при контеншне может сработать много раз

Artem
04.07.2018
20:51:08
Спасибо

Alexander
04.07.2018
22:07:58
наткнулся на интересную магию, есть простой контейнер, который умеет в java -Dspring.profiles.active=${PROFILE} -D... -jar /opt/someshit-1.0.0-SNAPSHOT.jar, так вот, я запускаю, говорю ему docker run -d --name some-big-shit -e "PROFILE=bigshit" ..., а он мне такой при запуске красиво говорит `The following profiles are active: bigshit и парой строк ниже в том же лог файле tags; profile: ${PROFILE}, version: 1.0.0-SNAPSHOT. Что немного мать его странно, потому что для того, что вы вывести вторую строку я использую дубовый подход - String profile = System.getProperties().getProperty("spring.profiles.active", "nil");. и самое забавное, если зайти в контейнер и запустить еще одну жабку, точно так же, то и во второй строке в логах так же будет нормальный *bigshit*


Aleksander
04.07.2018
22:32:56
наткнулся на интересную магию, есть простой контейнер, который умеет в java -Dspring.profiles.active=${PROFILE} -D... -jar /opt/someshit-1.0.0-SNAPSHOT.jar, так вот, я запускаю, говорю ему docker run -d --name some-big-shit -e "PROFILE=bigshit" ..., а он мне такой при запуске красиво говорит `The following profiles are active: bigshit и парой строк ниже в том же лог файле tags; profile: ${PROFILE}, version: 1.0.0-SNAPSHOT. Что немного мать его странно, потому что для того, что вы вывести вторую строку я использую дубовый подход - String profile = System.getProperties().getProperty("spring.profiles.active", "nil");. и самое забавное, если зайти в контейнер и запустить еще одну жабку, точно так же, то и во второй строке в логах так же будет нормальный *bigshit*
А ты попробуй профиль брать не из системных пропертей, а из бина environment


Alexander
04.07.2018
22:34:21
да тут дело даже не в том, что спринг на самом деле умеет проперти эти резолвить, но только если они как ${var}
а в том, что почему в первый раз систем проперти отдает название переменной
а во второй - уже ее значение

Aleksander
04.07.2018
22:35:57
Когда он отдаёт имя переменной, ты её получаешь, через System.getProperty?

Alexander
04.07.2018
22:36:15
да

Aleksander
04.07.2018
22:36:25
А когда нормальное значение это пишет сам спринг?

Alexander
04.07.2018
22:36:36
нет
спринг всегда пишет нормальное значение
почему жаба, запущенная еще раз в том же контейнере на System.getProperty уже отдает не ${PROFILE} а bigshit

Google

Alexander
04.07.2018
22:38:59
вот сейчас подергал и ощущения такие, что при старте контейнера просто енв переменная не успевает проставится

Aleksander
04.07.2018
22:39:08
У меня такое было, но я передавал при запуске контейнера через - -, а когда запускал сам передавал через - D

Alexander
04.07.2018
22:39:09
спринг ее резолвит сам, своими механизмами
а вот во второй раз она видна
потому как если спрингу вырубить механизм резолва и вместо -Dspring.profiles.active=${PROFILE} дать на вход -Dspring.profiles.active=$PROFILE то он пытается достать профиль PROFILE
а во второй раз уже нормальный

Aleksander
04.07.2018
22:42:41
Так вот, а если ты привайришь бин Environment и оттуда будешь получать - то всегда будешь верное значение получать для активных профилей

Alexander
04.07.2018
22:43:12
а если мне не только активные профили нужны?
вот например мне нужно будет достать -Dashes.of.shit.size=12
вот 12 хочу, получить, а передаю я -Dashes.of.shit.size=$SHIT_SIZE

Aleksander
04.07.2018
22:43:58
Тогда трабл. Это я не знаю
А вообще через него тоже можно их получать

Aleksander
04.07.2018
22:45:28
Посмотри ConfigurableEnvironment

Alexander
04.07.2018
23:07:53
так себе работает эта байда
но работает


Dmitry
04.07.2018
23:49:54
а подскажите по архитектуре
допустим, есть девайс с кнопками. кнопки можно нажать разными способами.
есть класс, который должен оповещать о нажатиях кнопок.
как это лучше сделать?
придумалось два варианта.
1. слушатели реализуют интерфейс, где есть метод onButtonPressed(). скармливаю классу слушатлей, класс по нажатию вызывает методы слушателей.
минус в том, что в «девайсе» кроме кнопок есть куча других элементов и не каждому слушателю нужно знать о изменениях других, например рычажков, а реализовывать интерфейс нужно будет полностью. (добавил крутилку — обновляй все классы)
2. слушатели реализуют интерфейс где есть единственный метод onUpdate(updateClass). и в этом апдейтклассе уже делать методы isButtonPressed() и проверять в слушателях, если нужно отловить нажатия кнопок.
минус в том, что если слушателю нужно отловить много, то onUpdate будет не очень красивый — с кучей ifов
Есть ли более красивое решение?


Jenya
05.07.2018
00:03:24
В первом варианте реализации слушателей можно наследовать от адаптера с пустыми реализациями методов, как это сделано, например, в awt MouseListener/MouseAdapter. При добавление нового метода в интерфейс слушателя достаточно будет обновить адаптер. Ну или сделать все методы интерфейса слушателя дефолтными с пустой реализацией, что по смыслу то же самое.

Aleksander
05.07.2018
00:18:40

Dmitry
05.07.2018
00:19:09
да, с адаптером решение красивее. благодарю
а тогда в классе, который оповещает о нажатиях будет куча однотипных конструкций вида
private void onButtonPressed(String name) {
for (ProtocolInterface listener : listeners) {
listener.onButtonPressed(name);
}
}
private void onLeverPulled(String namee, int angle) {
for (ProtocolInterface listener : listeners) {
listener.onLeverPulled(name, angle);
}
}
т.е. для каждого метода в интерфейсе отдельный метод с параметрами в классе, который перебирает слушателей.
вот это место как-то красивее можно сделать?

Google

elefus
05.07.2018
05:40:44

Vyacheslav
05.07.2018
06:56:13

elefus
05.07.2018
06:59:49
@bvn13 , расскажи, пожалуйста, как будут прокидываться аргументы в таком случае?

Admin
ERROR: S client not available

Vyacheslav
05.07.2018
07:00:21
magic of streams

Victor
05.07.2018
07:00:39

elefus
05.07.2018
07:00:43
шта?
какие стримы, их тут нет

Georgy
05.07.2018
07:00:53

Vyacheslav
05.07.2018
07:01:21

elefus
05.07.2018
07:01:55
forEach принимает Consumer<? super T>

Yan
05.07.2018
07:05:24
ребятки а у вас гитхаб работает?

Vyacheslav
05.07.2018
07:05:45

1337
05.07.2018
07:25:12
есть публичный rsa ключ в виде строки, надо его подсунуть в jjwt, а он принимает только тип Key
Key делается через:
KeyFactory.getInstance("RSA").generatePublic(keySpecX509) as RSAPublicKey
вопрос, зачем тут что-то генерируется, если у меня уже есть ключ?
я не хочу ничего генерировать, у меня уже есть ключ
как получить RSAPublicKey из строки?

Slava
05.07.2018
07:27:30
конкретно про этот кейс сказать ничего не могу, но я обычно лезу в исходники в поисках ответа)
однажды из иходников jdk узнал как работает kerberos авторизация

1337
05.07.2018
07:29:15
хорошо выебнулся, по существу-то есть что ответить?

Google

Slava
05.07.2018
07:30:37
https://stackoverflow.com/questions/33425446/creating-rsa-public-key-from-string
вот же
первый ответ гугла

Роман
05.07.2018
07:34:27
если кто юзает Stylish рекомендую сносить https://www.opennet.ru/opennews/art.shtml?num=48908

Vladimir
05.07.2018
07:34:59

Luger
05.07.2018
07:35:18

Роман
05.07.2018
07:35:32
ну да лиса тоже подвержена
вот давай только без этих холиваров лиса лучше хром или наоборот, всем насрать абсолютно

Victor
05.07.2018
07:36:08

Luger
05.07.2018
07:36:10
но набросить и уйти - милое дело

Роман
05.07.2018
07:37:38
Stylus есть., но это -> @flood
с чего же флуд? Оповестить об уязвимости популярного расширения в кругах многих моих знакомых в т.ч java-разработочиков, которое ими используется и это флуд?

Vyacheslav
05.07.2018
08:14:43