@jvmchat

Страница 2742 из 2890
Alexander
19.08.2018
21:51:27
в примере у тебя ваще непойми что происходит

если сделать более правильно как в примере - оно работать не будет, т.к. хранить мапу в новосозданной функции которая после вызова не нужна - ну ок, бессмысленно

тебе нужно вернуть функцию, которая внутри будет уже хранить эту мапу в которой будет делаться computeIfAbsent

проще кодом показать

Google
Maxim
19.08.2018
21:55:02
Что значит функция не нужна. Она дальше по стеку передается: store.computeIfAbsent(input, key -> function.apply(this, key)) this и отдает эту самую функцию (на самом деле экземплят анонимного класса) в качестве аргумента. А этот экземпляр содержит в себе поле с мапой.

Alexander
19.08.2018
21:55:32


вот так это работать будет

а вот твой код я даже скопировав так и не понял как вызвать

Maxim
19.08.2018
21:56:33
Эта хрень правда ломает голову. Прежде чем писать догадки повтыкай в него каое-то время.

Alexander
19.08.2018
21:56:44
ну и пробрасывание this в функцию, где будет вызов этой же функции

Maxim
19.08.2018
21:56:49
Я же дал прямую ссылку на репо. Там два класса, у одного из них есть мейн метод: https://github.com/xCASx/fp-in-java/tree/master/src/main/java/fp/in/java/recursion/memoization

Alexander
19.08.2018
21:56:59
ага

особенно у мемоизера

Maxim
19.08.2018
21:57:15
Ну и в чем проблема запустить?

Alexander
19.08.2018
21:57:27
ты сам то по ссылке пройди

там и без мейна видно что бред какой-то происходит, потому computeIfAbsent рекурсивно сам в себя приходит

Maxim
19.08.2018
22:02:43
computeIfAbsent зовет BiFunction, которая снова вызовет memoized, что может привести к повторному мызову computeIfAbsent. Это и происходит. Я об этом с самого начала написал. Но memoized сам себя нигде не вызывает. Т.е. код не рекурсивный, а рекуррентный. А вопрос на миллион долларов: как это заставить работать как задумал автор?

Google
Aleksey
19.08.2018
22:32:31
По-моему, никак. И вторичный вход в computeIfAbsent (особенно для того же ключа) на моей памяти является логической ошибкой, которую коллекция может задетектить, а может и нет.

Maxim
19.08.2018
22:36:00
Непонятно как за 5 лет существования книги никто этого не зарепортил. Как вообще такой код попал в примеры, там же целая глава вокруг этого подхода написана. Похоже, пора призывать Венката.

Bogdan
20.08.2018
04:40:43
Скинь полностью задание и тебе покажут как сделать правильно
Так я понял что это не задание, а готовый код

Alexandr
20.08.2018
05:20:34
как то тут было обсуждение за галеры и бодишопы. наброшу еще?

кто что о КРОКе слышал?

тоже бидишоп?

Mackenlly
20.08.2018
05:25:44
С одной яблони яблоки

Akim
20.08.2018
06:23:16
А есть статья про крок? я о них только хорошее читал

Denis
20.08.2018
06:48:33
А есть статья про крок? я о них только хорошее читал
https://habr.com/company/croc/blog/415995/ вот тут про 10 часовой рабочий день например)

Mikhail
20.08.2018
06:51:03
ку

помогите мне с идеями

не вполне дев, скорее девопс

есть DTLS поток данных, есть прокси (goldy) которая из DTLS делает UDP и шлет себе дальше, короче, обычная тема

но фишка в том, что порты у меня динамические, может приехать поток на любой порт от 10000 до 65535

вот и как это хорошо сделать?

запустить прокси, чтобы она слушала все-все-все порты?)

Akim
20.08.2018
06:53:36
слушать одном на входном потоке и потом перебрасывать на другие?

Mikhail
20.08.2018
07:05:13
слушать одном на входном потоке и потом перебрасывать на другие?
допустим, я могу iptables собирать данные с range портов и пробрасывать на один

Google
Mikhail
20.08.2018
07:05:26
но как проси тогда узнает, на какой порт какой поток переправлять?

Akim
20.08.2018
07:07:04
допустим, я могу iptables собирать данные с range портов и пробрасывать на один
прости, я подумал что с прокси перекидывать поток на один порт на котором балансер уже отправляет в ответ пакеты с другого порта

Enterpise
20.08.2018
07:18:56
как правильно отловить проблему интероперабельности

вызов нативной dll, которая загружает jvm

враппер через DllImport

невозмножно отловить стек исключения

из-за вероятной проблемы с путями

ну нельзя просто так взять передать стек ява в дот нет, дьа

Anton
20.08.2018
07:30:33
ну нельзя просто так взять передать стек ява в дот нет, дьа
Между разными стеками проще сделать два отдельных сервиса, которые будут общаться между собой по станлартному транспорту (tcp, например), чем городить то, что ты написал

Vladimir
20.08.2018
07:36:45
запустить прокси, чтобы она слушала все-все-все порты?)
Мне кажется, лучше поднять отдельный интерфейс (tun), ловить на нём IP-пакеты и потом уже делать с ними что угодно, например, отправлять куда-то дальше с этого же интерфейса

Enterpise
20.08.2018
07:36:50
Не понял вашего ответа

Enterpise
20.08.2018
07:37:11
как в дотнете правильно загружать нативную библиотеку враппер, которая грузит jvm.dll и потом jar

LoadLibraryExA

Enterpise
20.08.2018
07:44:37
вы случаем чатом не ошиблись?
а мультичат по интероперабельности есть?

Vladimir
20.08.2018
07:54:59
эта прокси получает DTLS датаграммы и разбирает их в обычный UDP
Эта прокси - это отдельное приложение, которое слушает один порт и его нельзя модифицировать, так что ли?

Google
Mikhail
20.08.2018
07:55:30
модифицировать в какую сторону:?

слушать все порты?

это то, с чем я пришел, если ничего умнее не придумаю - так и буду делать

Admin
ERROR: S client not available

Vladimir
20.08.2018
07:58:02
модифицировать в какую сторону:?
Чтобы оно слушало не один порт, а tun-интерфейс

Mikhail
20.08.2018
08:00:26
Чтобы оно слушало не один порт, а tun-интерфейс
а как узнать, куда пересылать дальше?

farid
20.08.2018
08:00:28
koqo ect notepad++ na komputer?

ili sublime text 3?

guga
20.08.2018
08:05:03
tol’ko vim, a chto ti hotel?

Vladimir
20.08.2018
08:05:30
а как узнать, куда пересылать дальше?
Куда - это на какой хост? Тут зависит от контекста задачи

Mikhail
20.08.2018
08:08:16
еще раз

вот схема

источник --- рандомный порт --- прокси --- тот-же рандомный порт --- бэкенд

Vladimir
20.08.2018
08:08:38
нет, на какой порт
Ну так в прилетевшем пакете будет порт, на него и посылать

Mikhail
20.08.2018
08:09:07
надо подробнее посмотреть, какая инфа есть в пакете

Vladimir
20.08.2018
08:12:47
надо подробнее посмотреть, какая инфа есть в пакете
Адрес источника (хост+порт), адрес назначения (хост прокси + порт) Можно поймать пакет, вытащить из него UDP-дейтаграмму, расшифровать, и отправить в этот же интерфейс с исходным адресом назначения. Главное, не накосячить с маршрутами. Со стороны бэкенда будет выглядеть так, будто ему прилетел расшифрованный пакет с исходного адреса.

Slava
20.08.2018
10:22:29
кто знает как лечить ситуацию, когда при клике на зелёную кнопуку play возле main метода IDEA мне говорит "Could not find or load main class org.my.package.MyClass" ? Build в Before Launch есть, compile типа запускается версия IDEA - 2018.1

Google
Slava
20.08.2018
10:23:23
то же самое относится к Recompile class - ничего нифига не компилится, хотя где-то там внизу окна IDEA какой-то процесс билда проскакивает

guga
20.08.2018
10:23:45
а в run опциях все норм?

Slava
20.08.2018
10:23:58
output смотрит в target/class и target/test-classes

а в run опциях все норм?
да, если руками скомпилю и потом на play нажму - то всё ОК

на 2017. x такого не замечал

Slava
20.08.2018
10:30:07
выше писал) оно там есть

короче, отбой, отмена - где-то в настройках проекта жопа творится

Дмитрий
20.08.2018
10:30:23
Скажите, а есть ли чат, посвященный базам данных Oracle?

Роман
20.08.2018
10:30:39
Slava
20.08.2018
10:30:42
на другом проекте попробовал то же самое сделать - всё ОК запускается

Роман
20.08.2018
10:31:09
Run maven goal || Run Gradle Task

Slava
20.08.2018
10:31:10
попробуй через maven/gradle собирать например
собирается всё, но это долго, для быстротестов и фиксов не годится

да да, так всё работает

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