@jvmchat

Страница 2626 из 2890
Митко Соловец?
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
Интересно. Не знал о таком)
Не самая популярная штука. Мы к нему пришли после того как нам надо было выкачать ~300ГБ или около того.

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*

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
Vyacheslav
05.07.2018
06:56:13
private void onButtonPressed(String name) { listeners.forEach(l -> l.onButtonPressed(name)); } private void onLeverPulled(String name, int angle) { listeners.forEach(l -> l.onLeverPulled(name, angle)); }
private void onButtonPressed(String name) { listeners.forEach(ProtocolInterface::onButtonPressed); } private void onLeverPulled(String name, int angle) { listeners.forEach(ProtocolInterface::onLeverPulled); }

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
private void onButtonPressed(String name) { listeners.forEach(ProtocolInterface::onButtonPressed); } private void onLeverPulled(String name, int angle) { listeners.forEach(ProtocolInterface::onLeverPulled); }
Так не выйдет. Сигнатура Consumer, который принимает forEach не совпадает с тем, что в метод передаётся. Ссылка на метод тут не сработает

elefus
05.07.2018
07:00:43
шта?

какие стримы, их тут нет

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

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

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

Luger
05.07.2018
07:35:18
если кто юзает Stylish рекомендую сносить https://www.opennet.ru/opennews/art.shtml?num=48908
не знаю как в вашем хромом, но нормальный браузер об этом оповестил уже довольно давно

Роман
05.07.2018
07:35:32
ну да лиса тоже подвержена

вот давай только без этих холиваров лиса лучше хром или наоборот, всем насрать абсолютно

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

Vyacheslav
05.07.2018
08:14:43
если кто юзает Stylish рекомендую сносить https://www.opennet.ru/opennews/art.shtml?num=48908
я юзаю https://chrome.google.com/webstore/detail/user-javascript-and-css/nbhcbdghjpllgmfilhnhkllmkecfmpld

Страница 2626 из 2890