
soontothemoon
18.04.2018
06:44:22
Когда на жабе приходилось исполнять очень много джс благо был насхорн, но это был такой геморрой, такой жестЯк творился

Гибкин
18.04.2018
07:32:04
Ууух я думал заблочили ночью и с впн не заходило???
Дуров гений

JRoot3D
18.04.2018
07:34:07

Google

Oleg
18.04.2018
07:39:00
И зачем это надо, когда можно просто ноду запустить без всяких джав
потому что ноду дальше обслуживания браузерного UI пускать нельзя (потому что JS - плохой язык для написания бэка)
вижу это так: запросы с фронта на бэке может принимать Нода, чтобы интегрироваться с фронтовыми либами. Это такой шлюз, между адов м браузере и чистым светлым миром Java
но когда нода является частью Java-бэка, ей с веростностью соточка понадобятся какие-то данные с джавы.
тащить эти данные с помощью микросервисов а) медленные/дорогие вызовы удаленного кода б) дорого и неприятно (микросервисы нужно писать и поддерживать - без Очень Большой Необходимости лучше с ними не связываться)
и вот тут нам помогает магическая нода-на-джаве, которая позволяет писать нодовский жирносервис
олсо, при этом будут доступны все "жирносервисовые" плюшки Джавы, вроде полноценной многопоточности, и возможности работать с терабатным хипом, и GC который такие объемы переваривает


soontothemoon
18.04.2018
07:46:06
потому что ноду дальше обслуживания браузерного UI пускать нельзя (потому что JS - плохой язык для написания бэка)
вижу это так: запросы с фронта на бэке может принимать Нода, чтобы интегрироваться с фронтовыми либами. Это такой шлюз, между адов м браузере и чистым светлым миром Java
но когда нода является частью Java-бэка, ей с веростностью соточка понадобятся какие-то данные с джавы.
тащить эти данные с помощью микросервисов а) медленные/дорогие вызовы удаленного кода б) дорого и неприятно (микросервисы нужно писать и поддерживать - без Очень Большой Необходимости лучше с ними не связываться)
и вот тут нам помогает магическая нода-на-джаве, которая позволяет писать нодовский жирносервис
олсо, при этом будут доступны все "жирносервисовые" плюшки Джавы, вроде полноценной многопоточности, и возможности работать с терабатным хипом, и GC который такие объемы переваривает
Почему js плохой для бекенда, как в таком случае маштабировать приложение?
Почему тогда не использовать ноду как фронтенд, как часто это делают с пхп? Типа приходит запрос на инджинс если надо идёт к ноде и если надо к жабе, если все норм настроенно, все быстро родит)


Oleg
18.04.2018
07:46:58
Потому что JS - мерзкий отвратительный язык, да еще и динамический, например? Там даже многопоточности нет

Sergey
18.04.2018
07:47:19
>JS - мерзкий отвратительный язык.
а чуть конструктивнее можно?
ноу оффенс, спасибо за вклад в развитие
просто мне реально интересно

Denis
18.04.2018
07:47:51
вброс-вбсро-вброс ?

Oleg
18.04.2018
07:48:19
ну это будет опять обсуждение JS, коих тысячи в интернете. Зачем на это тратить время. У меня аргументы все те же самые, что и у любого джависта, который хочет "One Java to Rule Them All"
но в некоторых областях приходится работать с JS, потому что просто нет выбора

Sergey
18.04.2018
07:49:03
есть альтернатива в виде TS

Evgeny
18.04.2018
07:49:27
.. и Kotlin)

Sergey
18.04.2018
07:49:43
статикли тайпед, с возможностью фоллбека (наговнякать с <any> и свалить)

soontothemoon
18.04.2018
07:50:18
Нет разрабы тоже только нет платформу любят

Google

Quantum Harmonizer
18.04.2018
07:50:44

soontothemoon
18.04.2018
07:51:52

Oleg
18.04.2018
07:56:53
Вообще, это точно канал о JVM?

soontothemoon
18.04.2018
07:59:32
Это про js
https://youtu.be/wrfS94cfE4Y

Oleg
18.04.2018
08:00:52
Js стабильно развивается, есть неплохой ts
зачем ты мне это пишешь? Я не хочу JS. Я видеть его не могу. Мне неинтересно, развивается он или нет, есть там какие-то "проблемы" которые могут "чинить другие либы" или нет.
мне интересно сынтегрироваться с ним, написать прослойку для обработки фронтовых либ, и забыть поскорей как страшный сон

Yan
18.04.2018
08:02:10
"мне интересно сынтегрироваться с ним, написать прослойку для обработки фронтовых либ, и забыть поскорей как страшный сон"
+1

soontothemoon
18.04.2018
08:04:33

S
18.04.2018
08:04:44
0 days since last языкосрач

Oleg
18.04.2018
08:04:58
еще важный поинт в том, чтобы не быть фашистами. Если фронтендерам нравится писать на JS свой кусок бэка - пусть пишут. У нас теперь есть технология, позволяющая смешивать любые языки в любых пропорциях

soontothemoon
18.04.2018
08:06:13
Жаба всемогущая)

Oleg
18.04.2018
08:06:20
а еще у HTTP безумно дорогие накладные расходы на вызов кода, даже если все происходит на локалхосте в одном докере
а когда ты через Граль дергаешь другой язык - это стоит примерно ничего. Хай перфоманс солюшен, епта

soontothemoon
18.04.2018
08:07:33

Yan
18.04.2018
08:07:47
сокетами)

soontothemoon
18.04.2018
08:08:13

Google

Oleg
18.04.2018
08:09:05
нет нет, подожди. На самом сервере тоже должен быть JS. Наверняка весь фронт у тебя собирается Вебпаком. Наверняка всякая фигня типа вебсокетов будет фронтендерами писаться именно на Ноде, где есть для этого удобные приятные библиотеки. Всякие круды с вебформами. И прочие вопросы, связанные с обслуживанием фронта

soontothemoon
18.04.2018
08:10:37

Oleg
18.04.2018
08:12:34
то что у тебя, скорей всего, для обработки таких фронтовых вопросов - отдельная команда фронтовиков. Которые проектируют браузер-серверное взаимодействие, пишут протокол, DTOшки, и вот это все. И эти люди с вероятностью 146%, как и все фронтендщики, будут влюблены в JavaScript. Можно заставить их писать на Java, но тогда они ненавидеть тебя будут до конца жизни, ибо для джаваскриптеров джава - это нечто старое, мерзкое, тормозное, негибкое

soontothemoon
18.04.2018
08:12:36

Anton
18.04.2018
08:13:29

Oleg
18.04.2018
08:13:43
> сильно соснёт у ноды по перфомансу
все обстоит прямо противоположным способом =)

soontothemoon
18.04.2018
08:14:55

Anton
18.04.2018
08:15:24
все обстоит прямо противоположным способом =)
лол, насамом деле нет. влажные джява-фантазии, о производительном nio малой кровью. ты можешь приблизиться к ноде, только если спустишься очень низко, на netty куда-нибудь. но так же просто и быстро писать не получится

soontothemoon
18.04.2018
08:17:12
Если нужна большая производительность берите go он ракета и многопоточность есть и сразу можно си вставки делать

Oleg
18.04.2018
08:17:34
в том и поинт, что оно в жвм выполняться будет. В перфоманс Graal (самого лучшего JIT-компилятора на Java-платформе), GC (надо поробовать подключить Shenandoah), базовых библиотек для многопоточности итп - вложены десятки лет лучших разработчиков
это как раз у V8 теперь будет вопрос, что нельзя просто так взять и повторить успехи жабы
кстати, это отличная идея для статьи. Устроить избиение младенцев: сборщик мусора V8 против Shenandoah на терабайте хипа

Anton
18.04.2018
08:19:12

soontothemoon
18.04.2018
08:19:30

Alexander
18.04.2018
08:19:39

soontothemoon
18.04.2018
08:20:16

Anton
18.04.2018
08:20:48
Но зато оч быстро
не существенно быстрее ноды, но удобство разрабооки сильно отличается.

Evgeniy
18.04.2018
08:21:05
сново с производительностью набросы , какая разница какой язык , все равно упрешься в организацию данных в 90% случаев

soontothemoon
18.04.2018
08:21:08

Alexander
18.04.2018
08:21:22
Но зато оч быстро
Я бы сказал очень параллельно и без лишнего геморра. Те же регэкспы и числовые вычисления пока не очень

Google

S
18.04.2018
08:21:35
Вертикс быстрее ноды. Голый нетти тем более. Дискасс

Oleg
18.04.2018
08:21:41

soontothemoon
18.04.2018
08:22:11

Alexander
18.04.2018
08:22:33
Ну приложение в 300 гигов кучи само по себе вызывает вопросы, нафига так писать

soontothemoon
18.04.2018
08:22:46

Admin
ERROR: S client not available

Anton
18.04.2018
08:22:59

Oleg
18.04.2018
08:23:35
у джавы тоже нативные промисы, только их нам пока не показывают - инсайдерская инфа (с)

S
18.04.2018
08:23:38

Oleg
18.04.2018
08:23:46
их делает Рон Пресслер - тот чувак, который уже сделал Квазар

soontothemoon
18.04.2018
08:23:57

S
18.04.2018
08:23:59
И квазар точно

Alexander
18.04.2018
08:24:18
Я вот вспоминаю всякие клустера из веблоджиков в кровавом банковском тырпрайзе на десятки гигов хипа как страшный сон, а сотни - это вообще ппц. Как хипдамп в случае чего анализировать?

S
18.04.2018
08:24:26

soontothemoon
18.04.2018
08:24:46

Oleg
18.04.2018
08:25:05
с квазаром есть проблема - он работает не всегда. У Елизарова по этому поводу можно спросить, он шарит. А вот Loom в OpenJDK должен будет работать в большей части случаев (кроме очевидно теоретически невозможных)

S
18.04.2018
08:25:24

soontothemoon
18.04.2018
08:25:34

Evgeniy
18.04.2018
08:26:05
на highloadcup уже все это проходили epoll(0) , только в реальности ты никогда не упираешься в производительность http сервера

soontothemoon
18.04.2018
08:26:11
а еще у HTTP безумно дорогие накладные расходы на вызов кода, даже если все происходит на локалхосте в одном докере

Google

Vladimir
18.04.2018
08:26:31

Oleksandr
18.04.2018
08:26:35

Anton
18.04.2018
08:26:43

Oleg
18.04.2018
08:26:58
фраза выдрана из контекста
у HTTP безумно накладные расходы против вызова нативного метода =) Что, с этим кто-то хочет поспорить, серьезно?

soontothemoon
18.04.2018
08:27:03

Alexander
18.04.2018
08:27:30

soontothemoon
18.04.2018
08:28:03

Oleg
18.04.2018
08:28:14
что угодно медленней передачи управления JIT-скомпилированному нативному коду

S
18.04.2018
08:28:21

Hydra
18.04.2018
08:29:08
Кто-то работал / работает с графовыми БД, например Neo4j ?

Oleg
18.04.2018
08:29:15
блин, работать надо. Причем, срочно. Позже отвечу, только тэгайте по юзернейму плз

soontothemoon
18.04.2018
08:29:28


Oleg
18.04.2018
08:32:34
так я и не скрывал, что поклонник монолитных жирносервисов, высокооптимизированных в closed world. Вызов микросервиса можно делать только тогда, когда задача не подразумевает пиковый перфоманс на этом конкретном участке тракта (например, это какой-то CRUD, и запрос все равно будет висеть на запросе к базе охуллион времени)
проблема в том, что на словах каждый второй пишет ИИ-стартап, и для него нужны высшие достижения человечества в области перфоманса.
А на самом деле, вся работа в том, чтобы клепать CRUDы пачками, которые берут из базки и показывают в UI в браузере, потом забирают в UI и кладут в базку. И все.
И самое большое перфомансное достижение - это заменить все сортировки пузырьком на тимсорт, чтобы получить ускорение на порядок.
Только об этом неловко говорить в приличном обществе)