@jvmchat

Страница 1813 из 2890
Anton
27.09.2017
06:46:58
м… выглядит интересным. как раз с метеора пытаюсь переделать
переписываешь всё или пытаешься заменить бек на жабовый, а фронт оставить от метеора?

Aleksander
27.09.2017
07:39:46
а скажите мне из приложения нужно открыть вебсокет и из него слать обновления на страницы. как это проще всего сделать? может библиотеки модные какие есть?
Spring websocket, на фронте либа sock js. Спринг имеет с ней интеграцию, реализует ее фоллбек протокол через лонг поллинг или xhr стриминг

Если нужно сделать одну точку входа, для браузеров и мобильных приложений - это все тоже работает. По протоколу sock js, можно работать используя нативную реализацию вебсокетов. Т.е не обязательно поддерживать фоллбек

Dmitry
27.09.2017
07:53:41
переписываешь всё или пытаешься заменить бек на жабовый, а фронт оставить от метеора?
было бы интересно оставить фронт от метеора, но он не сильно сложный. пара страничек, пяток диалогов. боюсь, что косты для прикручивания этого фронта будут сопостовимы с переписыванием на что-то нативное

Google
Dmitry
27.09.2017
07:56:14
Если нужно сделать одну точку входа, для браузеров и мобильных приложений - это все тоже работает. По протоколу sock js, можно работать используя нативную реализацию вебсокетов. Т.е не обязательно поддерживать фоллбек
у меня чуть другая задача. есть софт по управлению железом (ну и само железо), а нужно накидать вебморду для управления софтом. плюс туда же завести несколько экранов с браузерами в режиме киоска. и, скорее, интересна синхронность обновления и меньшая задержка, чем широта поддерживаемых устройств

Anton
27.09.2017
07:59:33
было бы интересно оставить фронт от метеора, но он не сильно сложный. пара страничек, пяток диалогов. боюсь, что косты для прикручивания этого фронта будут сопостовимы с переписыванием на что-то нативное
вот поэтому и было интересно, говорят, что фронт можно от метеора открутить, а на практике этим почти никто не занимается. только робкие попытки на гитхабе

Aleksander
27.09.2017
08:02:07
Скорость одинакова. И будет зависеть от сети между фронтом и беком.
Там нет никакой магии. Главное установить http соединение, сделать хендшейк на вебсокет, а дальше гоняй байты туда сюда

https://github.com/Atmosphere/atmosphere
Вот эту штуку пробовал, трахался знатно. Но у меня была задача поддержать socket io

Dmitry
27.09.2017
08:05:31
https://github.com/Atmosphere/atmosphere
у меня глупый вопрос. вчера забрёл на список поддерживаемых атмосферой вебсерверов. там всякие WebSphere, JBoss, Tomcat а можно ли тупо положить статику на нжингс и пробросить сокет? ну или вообще открыть вебсокет на другом порту?

Aleksander
27.09.2017
08:06:18
а на бэке что?
На беке кошка том, со спрингом

Dmitry
27.09.2017
08:07:29
(я прост ниразу не делал вебсервера на яве)

Google
Aleksander
27.09.2017
08:09:07
(я прост ниразу не делал вебсервера на яве)
Он может пробросить http на другой порт. И соотвественно вебсокет

Aliaksei
27.09.2017
08:09:24
Dmitry
27.09.2017
08:11:22
Так может тогда не надо в Java?
или не нужно делать вебсервер. ведь вебсокет < полноценный сервер

Aliaksei
27.09.2017
08:12:28
Тогда причём здесь Java?

Исходя из названия канала и вопроса, я посчитал что нужно решение по быстрому и легкое на Java

Aleksander
27.09.2017
08:13:16
или не нужно делать вебсервер. ведь вебсокет < полноценный сервер
Чтобы работать с вебсокетом тебе придётся полностью поддержать http протокол

В своём приложении

Aleksander
27.09.2017
08:14:37
Чтобы работать с вебсокетом тебе придётся полностью поддержать http протокол
Поэтому, я тебе советую взять spring boot и найти туториал boot + websocket

Aliaksei
27.09.2017
08:14:49
Ну тогда причём тут nginx? В любом случае нужен “сервер” что бы слушать порты. вот примитивный пример https://github.com/undertow-io/undertow/blob/master/examples/src/main/java/io/undertow/examples/chat/ChatServer.java

Rikland
27.09.2017
08:17:59
Ну тогда причём тут nginx? В любом случае нужен “сервер” что бы слушать порты. вот примитивный пример https://github.com/undertow-io/undertow/blob/master/examples/src/main/java/io/undertow/examples/chat/ChatServer.java
Ну вообще, если у тебя есть несколько серваков в dmz и ты хочешь чтоб с разных доменных имён ходили на них. То тебе придется делать проксю на nginx или dnat по портам.

Aliaksei
27.09.2017
08:18:31
Я ж не знаю как оно там по требованиям

Rikland
27.09.2017
08:19:28
Или придумывать балансировку, на которую если клиент не тобой пишется, ему может быть и болт положить на все твои идеи (:

Aliaksei
27.09.2017
08:20:15
Ставьте nginx и пробрасывайте порты на java приложение, пожалуйста.

Dmitry
27.09.2017
08:20:39
Чтобы работать с вебсокетом тебе придётся полностью поддержать http протокол
м… а почему полностью то? ведь для нативного вебсокета нужно ответить на GET запрос и в этом коннекте уже гонять данные по ws хотя если какой-нибудь long pool, то там большая поддержка http нужна

Rikland
27.09.2017
08:21:16
Ставьте nginx и пробрасывайте порты на java приложение, пожалуйста.
Это да. Ещё нужно не забыть настроить заголовки, если хотите чтобы nginx отдавал их Java приложухе

Aliaksei
27.09.2017
08:21:32
Ну это уже детали вне вопроса, но важные

Dmitry
27.09.2017
08:23:05
может я что-то ещё не понимаю, но мне просто не нравится идея ещё одного вебсервера на машине

Google
Aleksander
27.09.2017
08:23:12
Есть какие-нибудь ограничения по производительности и размеру приложения

?

Dmitry
27.09.2017
08:23:36
самое ужасное ограничение — оно будет на малинке крутится

Aleksander
27.09.2017
08:25:54
может я что-то ещё не понимаю, но мне просто не нравится идея ещё одного вебсервера на машине
Сейчас много кто использует докер и фактически на одной машине крутят 10-ки контейнеров. А вообще не вижу проблемы второе вебприложение поднять, если первое не умеет по вебсокету

Rikland
27.09.2017
08:26:19
Dmitry
27.09.2017
08:31:23
Сейчас много кто использует докер и фактически на одной машине крутят 10-ки контейнеров. А вообще не вижу проблемы второе вебприложение поднять, если первое не умеет по вебсокету
малинка это мелкий модуль, на котором всего лишь Quad Core 1.2GHz Broadcom BCM2837 64bit CPU 1GB RAM и там всё довольно медленно из-за дискового IO. поэтому текущая идея нжингс для статики и в моём приложении что-то легковесное для работы с WS. какжется тот Undertow, что выше посоветовали, похож на требуемое. и на это взгромоздить какой-нибудь небольшой «фреймворк» для синхронизации «моделей» на бэкенде и фронтенде

Так может на Go написать?
э… наверное можно, но зачем?

Anton
27.09.2017
08:33:21
э… наверное можно, но зачем?
экономный по памяти, писать удобно: няшный минималистичный язык с быстрой компиляцией

Aliaksei
27.09.2017
08:38:32
Если требование просто, минималистично, запускать на малинке и работать с вебсокетами, и не обязательно java, то можно и Go Вот нагуглил https://github.com/gorilla/websocket/blob/master/examples/chat/README.md

Dmitry
27.09.2017
08:41:25
у меня управление железом уже на яве сделано. и нужно просто добавить чуть вебморды к этому. но для следующего проекта посмотрую. а Go также удобно отлаживать, как и яву?

Sergey
27.09.2017
08:42:37
да

Viktor
27.09.2017
09:28:43
можно как то спростить вложеную лямбду: https://pastebin.com/VBX5H9vT

Dmitry
27.09.2017
09:31:33
если взять на бэк Undertow + Atmosphere, то что взять на фронт? Socket.IO/SockJS/смешная третья опция? типичная задача — синхронизировать состояние моделей. есть массив из моделей с состоянием железок (общее состояние и разные порты ввода/вывода). мне нужно при коннекте пушнуть эти модели на клиента, а потом быстро обновлять статус при изменении оного в железе. обратно просто нужны ручки для управления железом. на каком «фронте» это будет проще сделать? взял модель, «запаковал» ее toJSON и пушнул на клиент. там отрисовал. или вообще пофиг на чём такое делать?

Vladimir
27.09.2017
11:52:37
Всем привет! А есть кодер на JAVA, который Spring OAuth знает и может подсказать? Отблагодарюю за кодревью!)

Евгений
27.09.2017
13:05:53
Приветствую, есть опрос для всех, кто хотя бы иногда смотрит видеозаписи Java-докладов. Он может помочь нам (JUG.ru) сделать удобный поиск по нашим записям. Пояснения к ответам приветствуются.

Когда вы смотрите доклад, чаще всего он был выбран так... Я не искал что-то конкретное, а выбрал интересное из списка докладов – 40 ??????? 44% Я искал доклады этой тематики – 36 ?????? 40% Я ничего не искал и не выбирал, доклад просто попался на глаза – 8 ? 9% Я искал доклады этого спикера – 4 ? 4% Другое (расскажите) – 3 ? 3% ? 91 people voted so far.

Alexey
27.09.2017
13:47:02
жаль нет варианта "Я искал новый сезон Физрука, но доклад просто попался на глаза"

как поздравите 2000-го пришедшего в чат?

Google
Tolegen
27.09.2017
13:47:49
Admin
ERROR: S client not available

Tolegen
27.09.2017
13:47:59
Надо 2048 ждать

Фёдор
27.09.2017
13:48:18
2^11 тоже не очень круглое

Tolegen
27.09.2017
13:48:45
Ну так то да

Митко Соловец?
27.09.2017
13:54:02
Vitalii
27.09.2017
13:56:03
2000 членов в чате! УРА!
Но тут люди разного пола.

Tolegen
27.09.2017
13:57:03
Шутки за 300 подъехали

Yenq
27.09.2017
13:57:31
Ребят, тупой вопрос, есть 2 класса которые наследованы от AbstractList<Character>, почему я не могу один к другому привести?

Vladislav
27.09.2017
13:57:50
Господа, а есть ли в java такая возможность, аналогичная core dump? Т.е. когда возникает редкое исключение, сделать некий снимок и прислать разработчику, для того, чтобы он мог в отладчике походить и изучить в чем проблема

Vitalii
27.09.2017
13:57:53
Ребят, тупой вопрос, есть 2 класса которые наследованы от AbstractList<Character>, почему я не могу один к другому привести?
Потому что это разные классы. Ты можешь AbstractList<Character> привести либо к одному, либо к другому. Можешь сделать AbstractList<Character> list = new FirstList(); AbstractList<Character> list = new SecondList(); Но друг к другу они уже не относятся никак.

Evgeny
27.09.2017
13:58:30
Yenq
27.09.2017
13:58:45
Функция возвращает AbstractList<Character> в котором один класс, а я хочу то, что она вернет, преобраховать к другому

Vitalii
27.09.2017
13:59:24
Функция возвращает AbstractList<Character> в котором один класс, а я хочу то, что она вернет, преобраховать к другому
Это деление на ноль. Разве что ты можешь сделать new SomeList(AbstractList<Character>), а в конструкторе уже вытаскивать всё, что нужно, но только через методы, которые есть в AbstractList.

Jay
27.09.2017
13:59:25
2000 членов в чате! УРА!
1954 члена же только

Митко Соловец?
27.09.2017
13:59:45
1954 члена же только
ну это пример поздравления

Tolegen
27.09.2017
14:00:16
1954 члена же только
Возможно меньше



Google
Sergey
27.09.2017
14:26:36
А есть в спринг буте какая нибудь штука для глобал хранения каких нибудь штук, типа глобал кэша, в который можно залезть из любого сервиса. Или синглтон с конкаррент мапой единственный вариант ?

Митко Соловец?
27.09.2017
14:32:23
цитаты великих

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