
Vladimir
20.09.2016
13:53:43
Просто делимся мудростью

Дмитрий
20.09.2016
13:53:45
Ну ты ошибся с выбором, только и всего)

Котяй Негодяй
20.09.2016
13:53:55
Существуют ли какие-либо good practice или соглашения для проектирования API на WebSocket?

Vladimir
20.09.2016
13:53:58
Сама главная мудрость - не использовать что-то, если можно не использовать

Google

Ҫѐҏӗѫӑ
20.09.2016
13:54:00
есть еще post + sse если што

マイク
20.09.2016
13:54:07

Ҫѐҏӗѫӑ
20.09.2016
13:54:11
збс
не ожидал
девки страшные только

マイク
20.09.2016
13:54:34
А я вот возвращаюсь домой

Ҫѐҏӗѫӑ
20.09.2016
13:54:35
90%

Котяй Негодяй
20.09.2016
13:54:38

Ҫѐҏӗѫӑ
20.09.2016
13:54:52
я уже из Екб вернулся
еще после израиля

マイク
20.09.2016
13:55:03
Пью вторую бутылку винишка в бизнес-лаунже
Быстр

Maxim
20.09.2016
16:01:21
Привет, есть чат по работе Node.JS?

Google

Suika
20.09.2016
16:01:50
кому интересно поработать над p2p/crypto-сетью (as is) стучите в личку.

Алексей
20.09.2016
16:03:55

Mikhail
20.09.2016
16:26:38

Никита
20.09.2016
19:13:42
А как можно хранить объекты для отдельного пользователя? Например есть функция:
```
function getMoneyApi(id) {
return new Promise(function (resolve, reject) {
if (!api) {
Account.findById(id)
.then(user=> {
if (!user.yMoneyToken)
reject('NEED_TOKEN');
api = new yandexMoney.Wallet(user.yMoneyToken);
resolve();
})
} else {
resolve();
}
});
}
```
И вот чтобы каждый раз в бд не лезть для инициализации. Можно ли хранить как нибудь типа req.session.moneyApi при использовании express и express-session

Froth
20.09.2016
19:15:12
this.tmp[id] = new yandexMoney.Wallet(user.yMoneyToken)

Никита
20.09.2016
19:16:18
А как долго будет храниться? До перезапуска сервера?

hamper ?
20.09.2016
19:17:34
Ну максимально можно в пределах процесса при желании до перезапуска хранить, все от области видимости зависит
Лишь бы оперативку всю не сожрало на всякие кеши )

Никита
20.09.2016
19:22:23
Спасибо :)

Roman
20.09.2016
19:32:50

Котяй Негодяй
20.09.2016
19:33:38

Roman
20.09.2016
19:35:02

Vladimir
20.09.2016
19:35:29
Истина

Roman
20.09.2016
19:35:58
А вебсокеты просрут все это.
Потому надо быть готовым к тому что коннективити то есть, то его нет.
И лучше еще уметь батчить события, чтобы клиенту оно приехало пачкой

Котяй Негодяй
20.09.2016
19:37:31
Ну, ладно. У меня тут просто, видимо, пробел в знаниях. Ткните пальцем, что читать, чтобы я понял, почему это опасно на уровне реализации протокола.
Мне нужно понять, почему.

Vladimir
20.09.2016
19:40:09
Проблема не в сокетах, а в том что нужно на сервере хранить неподвержденные сообщения, трекать их подтверждения, обрабатывать ошибки клиента в результате получения сообщений
Это все сокеты решать не помогают

Google

Котяй Негодяй
20.09.2016
19:44:12

Дмитрий
20.09.2016
19:44:39
Да
Без сокетов

Котяй Негодяй
20.09.2016
19:45:20
Что за консерватизм. =)

Vladimir
20.09.2016
19:46:18
Добрый день. Довольно такой дуратский вопрос, но как получить размер файла из POST запроса? Отправляю multipart. Получаю content_type, но размер там немного больше чем размер файла. Поэтому и хочется узнать как получить именно размер файла

Котяй Негодяй
20.09.2016
19:46:59
Я так понимаю, проблема в том, что сообщение может не дойти, а отправитель может не знать, что сообщение не получено адресатом, верно?

Дмитрий
20.09.2016
19:48:06

Vladimir
20.09.2016
19:48:12
Либо теряются данные, либо там учитывается размер всего http заголовка и прочего

Дмитрий
20.09.2016
19:48:20

Котяй Негодяй
20.09.2016
19:49:26

Дмитрий
20.09.2016
19:49:47
Ну то есть фетешизм)

Котяй Негодяй
20.09.2016
19:50:32

Roman
20.09.2016
19:51:08

Дмитрий
20.09.2016
19:51:21
Ну и. Вот

Котяй Негодяй
20.09.2016
19:51:58

Дмитрий
20.09.2016
19:52:08
Телепаты в треде
Ты только что это сказал вообще то

Котяй Негодяй
20.09.2016
19:52:24
Это твой домысел, и вообще, не очень вежливо.

Дмитрий
20.09.2016
19:52:27
Когда тебе говорят, что твоё решение неоптимальное, ты говоришь, что ты не про это спрашивал

Google

Roman
20.09.2016
19:52:49

Дмитрий
20.09.2016
19:53:27

Котяй Негодяй
20.09.2016
19:53:57
Короче, перебои со связью неактуальны. Нужно реализовать максимально однородную, прозрачную и простую событийную систему на фронте и на бэкенде. Нафиг мне рест, если эта абстракция будет стоять между одинаковыми сущностями по обе стороны от неё. Эта прослойка здесь будет только создавать оверхэд.

Дмитрий
20.09.2016
20:02:59
Правильно, а вебсокеты — не оверхед))

Котяй Негодяй
20.09.2016
20:03:12
Перебоев не будет, т.к. клиент и сервер — одна машина.

Дмитрий
20.09.2016
20:03:12
Молчу-молчу

Admin
ERROR: S client not available

Дмитрий
20.09.2016
20:03:43
Короче, ты делаешь микросервисы
?

Котяй Негодяй
20.09.2016
20:04:57
Правильно, а вебсокеты — не оверхед))
Нет. Мне всё равно нужно будет реализовать медиатор. Если событие будет попадать ещё и в сокет инстанс, архитектура не так усложнится, как это было бы в случае с рестом.

Дмитрий
20.09.2016
20:11:58
...

Paul
20.09.2016
20:14:10
Я весь тред не читал
Но откуда у http преимущества в плане сорханности перед ws?
Если сохранность обоих регулируется tcp

Алексей
20.09.2016
20:17:05
.. a TCP не гарантирует доставку сообщений …

Арсений
20.09.2016
20:17:36
udp не гарантирует

Paul
20.09.2016
20:18:03
tcp как раз гарантирует

Google

Paul
20.09.2016
20:18:07
В отличие от датаграм

Котяй Негодяй
20.09.2016
20:18:14
А какова необходимость над этим париться при доставке сообщений на localhost и обратно?

Арсений
20.09.2016
20:18:16
Перепутал наверное
Но это ключевое отличие udp vs tcp
Есть ещё вриант tcp over udp
Гугл что-то такое делали

Paul
20.09.2016
20:18:51
Неважно, localhost или нет, я не понял доводы людей, который топят в треде за лонгполинг и какую-то там доволнительную сохранность (щито?)

Арсений
20.09.2016
20:18:53
Протокол UDP но есть проверки

Котяй Негодяй
20.09.2016
20:20:06
Я теперь вообще запутался. Никто не привёл ни пруфов, ни хинтов, куда мне копать. =)

Алексей
20.09.2016
20:22:29
tcp гарантирует доставку пакетов и то при условии наличия соединения, а не сообщения.. если я отправил сообщения 10-и ресипиентам - а один из них отпал - он это сообщение не получит и все. Даже никогда не узнает что его должен был получить

Paul
20.09.2016
20:22:56
Ну да, он же отпал.

Котяй Негодяй
20.09.2016
20:23:43
Ну и не страшно.

Алексей
20.09.2016
20:24:25
Ну да, он же отпал.
так все, потеряно сообщение.. вы выключите базу данных из своего вооброжения - мы про чистый TCP

Котяй Негодяй
20.09.2016
20:24:38
Если клиент стейтлес, то логично, что при старте нового соединения, он запрашивает своё состояние у "источника правды".

Paul
20.09.2016
20:25:45

Алексей
20.09.2016
20:26:54

Paul
20.09.2016
20:27:46
Ок =)

Мерлин
20.09.2016
20:29:55

Котяй Негодяй
20.09.2016
20:30:19
У меня мало понимания о том, что там происходит на низком уровне. Суть в том, что использование сокетов — вовсе не выстрел себе в ногу?