Size: a a a

2020 January 17

ST

Slava Tutrinov in graalvm_ru
Oleg Shelajev
говорят во второй части будет как работает так что один и тот же код работает и на клиенте и на сервере — (я так понимаю модуль вызовов или через сеть или через точечку :))
но это будет круто прям)
источник

ST

Slava Tutrinov in graalvm_ru
ждём)
источник

OS

Oleg Shelajev in graalvm_ru
источник

OS

Oleg Shelajev in graalvm_ru
Жора Монтировка
например в jackson есть TreeNode, он естественно с граалем не умеет работать, чтобы напрямую как JS Object работать
приходится сериализовывать в дажве в строку, и десериализовывать обратно в Object уже в JS
вот я не очень понимаю почему через строку надо делать, я уверен что вы думали над этим. Но не очень с ходу вот так понятно
источник

ЖМ

Жора Монтировка in graalvm_ru
а как? у тебя там вложенная древовидная структура, сам jackson не умеет же через точку отдавать значения
источник

ЖМ

Жора Монтировка in graalvm_ru
это надо чтобы интерфейс TreeNode и смежные реализовывали ProxyObject
источник

ЖМ

Жора Монтировка in graalvm_ru
еще интересно что у них с памятью
т.к там есть проблема, что только один тред может использовать AST кэш, и если я запущу тот же код на другом контексте в другом треде то никакого AST кэша уже не будет
https://github.com/oracle/graal/issues/1013
даже ишшуя есть
источник

ЖМ

Жора Монтировка in graalvm_ru
где-то в другой ишшуе был развернутый ответ от Кристиана
источник

ЖМ

Жора Монтировка in graalvm_ru
мы пробовали идею с пулом контекстов, там оно работает  хорошо, но если контекст перескакивает при следующем обращении на другой тред то постепенно в контексте остается мусор
да, документация советует закрывать контекст, но на насхорне такой финт прокатывает :)
вариант завести 200 контекстов на 200 http тредов мы кстати не пробовали, возможно в нем будет совсем всё хорошо :)
источник

OS

Oleg Shelajev in graalvm_ru
Жора Монтировка
это надо чтобы интерфейс TreeNode и смежные реализовывали ProxyObject
Да, я понимаю теперь
источник

ЖМ

Жора Монтировка in graalvm_ru
По поводу TreeNode было бы интересно иметь аналогичное апи Target Mapping
Всовываешь адаптер, в нем так же маппинг, из какого интерфейса джавийного в Value полиглота преобразовывать, и туда делаешь реализацию ProxyObject, который для реализации методов и будет обращаться к методам объекта того же TreeNode, чтобы узнать что у него есть
Так можно для любых third-party вещей иметь автоматическое преобразование без прямой реализации Proxy интерфейсов
Подозреваю где-то идеи на это есть
источник

ОК

Олег Коровин in graalvm_ru
Slava Tutrinov
@djmadcow , а во второй части статьи детали планируется вставить? хочется именно код с гитхаба стащить и запустить (минимальный HelloWorld с npm модулями и прочими штуками, с которыми работают фронтовые ребята)
На гитхабе еще ничего нету. Но поскользу есть запросы, то попробуем что-то соорудить такое минимальное.
источник

ЖМ

Жора Монтировка in graalvm_ru
Вспомнил кстати, у меня есть на гитхабе запускалка JS'a через Java
https://github.com/mdsina/graaljs-executor-web-service
там в разных бранчах разные стратегии исполнения, в проде у нас нечто аналогичное, местами только может сложнее разве что
NPMа там нет, только простенький require, за NPM можно посмотреть например это:
https://github.com/mikehearn/nodejvm
источник

ST

Slava Tutrinov in graalvm_ru
Олег Коровин
На гитхабе еще ничего нету. Но поскользу есть запросы, то попробуем что-то соорудить такое минимальное.
мерси боку)
источник
2020 January 18

AZ

Aleksei Zhogov in graalvm_ru
источник

AZ

Aleksei Zhogov in graalvm_ru
источник

OS

Oleg Shelajev in graalvm_ru
Это спам, да?
источник

k

koctbik in graalvm_ru
Человек явно ошибся чатиком
источник

OS

Oleg Shelajev in graalvm_ru
Алексей! Это не тот чат, нам так кажется. Может эти файлы где-то ждут
источник
2020 January 19

CP

Creeks Petronela in graalvm_ru
источник