Size: a a a

2021 January 25

q

qweqwe in pro.jvm
DEN4_X
у меня нет столько времени чтобы уходить в эти дебри
источник

D

DEN4_X in pro.jvm
рабочий способ?
источник

q

qweqwe in pro.jvm
DEN4_X
рабочий способ?
Да
источник

D

DEN4_X in pro.jvm
спасибо
источник

q

qweqwe in pro.jvm
DEN4_X
рабочий способ?
Здесь можете посмотреть с чем проблемы могут возникнуть

https://github.com/borisbrodski/sevenzipjbinding/issues
источник

D

DEN4_X in pro.jvm
qweqwe
Здесь можете посмотреть с чем проблемы могут возникнуть

https://github.com/borisbrodski/sevenzipjbinding/issues
от души)
источник

D

DEN4_X in pro.jvm
надеюсь все получится
источник

ДК

Дима Красилов... in pro.jvm
А в чем профит билдить докер образ через мавен/градл плагин, а не ручками с докерфайлом?
источник

VP

Vladimir Petrakovich in pro.jvm
Дима Красилов
А в чем профит билдить докер образ через мавен/градл плагин, а не ручками с докерфайлом?
Ручками ты либы по слоям не раскидаешь, как минимум
источник

ch

central hardware in pro.jvm
Vladimir Petrakovich
Ручками ты либы по слоям не раскидаешь, как минимум
а что мешает?
источник

VP

Vladimir Petrakovich in pro.jvm
central hardware
а что мешает?
Что мешает руками раскидывать разные либы по разным слоям? Ну как бы не очень удобно, не?
источник

DC

Denis Chikanov in pro.jvm
central hardware
а что мешает?
Ты как долго готов докерфайл писать и как часто обновлять?
источник

K

Kirill in pro.jvm
Так вроде часто делают базовый image с зависимостями и поверх него мавен уже запускают, если раз в год обновлять базовый, то проблем никаких и не будет, и велосипеды со сборкой докера из мавена не нужны
источник

AK

Alexey Kuzin in pro.jvm
Не получается прокинуть env переменную в тестконтейнеры из github ci.
Задаю в билд джобе env: A: "B", тестконтейнеры запускаются с докерфайлом, в котором написано ENV A="X", на шаге configure() делаю проброс переменной withEnv("A", System.getenv("A")). В итоге переменная A имеет значение X, а не B.
Пока не понял, что не так делаю, может подскажете?
источник
2021 January 26

V

Vlad in pro.jvm
Kirill
Так вроде часто делают базовый image с зависимостями и поверх него мавен уже запускают, если раз в год обновлять базовый, то проблем никаких и не будет, и велосипеды со сборкой докера из мавена не нужны
Почему велосипеды, а код вы как собираете? Так и тут впилил jib на фазу package и готово
источник

AK

Artyom Karnov in pro.jvm
Привет!
Подскажите пожалуйста как лучше в spring reactor решить проблему вызова mapping функции на  каждом flux.

Суть такая. Есть один publisher который дает стринги и есть клиенты, которые парсят пришедшие строки и фильтруют дто. Я организовал код вот так

val publisher: Flux<String> = ..

val sub1 = publisher.map{veryExpensiveConverter.convert(it)}
                   .filter(it.metric<10)

val sub2 = publisher.map{veryExpensiveConverter.convert(it)}
                   .filter(it.metric>5)

val sub3 = sub2.map{cheapConverter.convert(it)}
                   .filter(it.metric>8)

Flux.merge(sub1, sub2, sub3, ..., subn)
    .map{//some logic for following data of subscribers}
    .subscribe()

Но получаю что на каждый sub1, sub2, на те же самые входные строки будет вызываться
veryExpensiveConverter

Получается такое

Input1 -> 1) veryExpensiveConverter -> filter1 -> output1

                 2) -> veryExpensiveConverter -> filter2 -> output2

                 3) -> veryExpensiveConverter -> cheapConverter -> filter3 -> output3

А хотелось бы такое

Input1 -> veryExpensiveConverter ->
                                                             1)-> filter1 -> output1  
                                                             2)-> filter2 -> output2
                                                             3)-> cheapConverter -> filter3 -> output3

Как такое можно провернуть?
источник

DC

Denis Chikanov in pro.jvm
Artyom Karnov
Привет!
Подскажите пожалуйста как лучше в spring reactor решить проблему вызова mapping функции на  каждом flux.

Суть такая. Есть один publisher который дает стринги и есть клиенты, которые парсят пришедшие строки и фильтруют дто. Я организовал код вот так

val publisher: Flux<String> = ..

val sub1 = publisher.map{veryExpensiveConverter.convert(it)}
                   .filter(it.metric<10)

val sub2 = publisher.map{veryExpensiveConverter.convert(it)}
                   .filter(it.metric>5)

val sub3 = sub2.map{cheapConverter.convert(it)}
                   .filter(it.metric>8)

Flux.merge(sub1, sub2, sub3, ..., subn)
    .map{//some logic for following data of subscribers}
    .subscribe()

Но получаю что на каждый sub1, sub2, на те же самые входные строки будет вызываться
veryExpensiveConverter

Получается такое

Input1 -> 1) veryExpensiveConverter -> filter1 -> output1

                 2) -> veryExpensiveConverter -> filter2 -> output2

                 3) -> veryExpensiveConverter -> cheapConverter -> filter3 -> output3

А хотелось бы такое

Input1 -> veryExpensiveConverter ->
                                                             1)-> filter1 -> output1  
                                                             2)-> filter2 -> output2
                                                             3)-> cheapConverter -> filter3 -> output3

Как такое можно провернуть?
Если я правильно понял, всё, что нужно - тупо кэшировать аутпут veryExpensiveConverter для заданного инпута?
источник

AK

Artyom Karnov in pro.jvm
Denis Chikanov
Если я правильно понял, всё, что нужно - тупо кэшировать аутпут veryExpensiveConverter для заданного инпута?
Хотелось бы использовать veryExpensiveConverter а потом "разделить" flux с результатом на flux'ы где будет фильтрация и другое конвертирование
источник

AK

Artyom Karnov in pro.jvm
типа Flux<String> ->veryExpensiveConverter-> Flux<DTO> ->
filter1 -> 1) Flux<Dto>
filter2 -> 2) Flux<Dto>
cheapConverter ->3)Flux<Dto1>
источник

В

Вадим in pro.jvm
Всем привет, подскажите хорошую литературу по junit, хотелось бы, чтобы избавиться от глупых вопросов, таких как, как правильно именовать класс и методы тестов. 👍
источник