Михаил Макарычев
если я правильно понял, тебе нужно создать вебсервер, который будет посредником между двумя вебсерверами. В таком случае тебе как минимум нужно испольовать нодовский модуль http/https
Так-то логично. Сам пока не понимаю, как этого избежать. Есть строчка в задани: "считается что все приложения запущенны на разных серверах и общаются только через redis" Может, я просто не так понимаю само условие
Aleksand
не хотел бы демотивировать, но больше я не трачу времени на большие / сложные тестовые задания )
вообще всегда с трудом понимаю смысл заданий. в разговоре же все виднее лучше всего, если в башке порядок и нелинейные задачи хорошо языком решаются то накодить это вообще не проблема же
Aleksand
грубо говоря от программиста нужен не код а концепт, код это не важно по сути, это 30% времени в разработке
GG
Так-то логично. Сам пока не понимаю, как этого избежать. Есть строчка в задани: "считается что все приложения запущенны на разных серверах и общаются только через redis" Может, я просто не так понимаю само условие
иногда бывает так, что работадатели сами не шарят что пишут. Так что пропусти это задание. Тут вообще бред какой-то. Ну или слишком мало информации. Вообщем это не одекватно
V
Паб-саб редиса, не?
GG
помню сюда писали, просили помощи составить тестовое задание для приема на работу, его протролли, а он мог это реально воспринять, так как не шарит
Михаил Макарычев
Dmitry
Если мне не изменяет память они разрешали использовать штатный пакет для работы с redis
Dmitry
Я это задание сам делал года полтора назад. ЗАпущено несколько инстансов они между собой должны договориться кто будет генерировать сообщения, остальные обработчики. Если генератор умер, то обработчики должны сами выбрать кто станет генератором
Dmitry
И штатные модули можно использовать, во всяком в случае в той версии что я делал была фраза "Ограничения. При написании разрешено использовать любые встроенные nodejs модули(за исключением cluster), а также logger, underscore, async, step, redis, minimist."
Dmitry
Ну так задание не секрет, я же не решение выкладываю )
Михаил Макарычев
Ну так задание не секрет, я же не решение выкладываю )
Забавно. Я уже и решение нашёл у какого парня на битбакете. Возможно, это даже ваше решение)
Dmitry
Общаться через редис, а в че проблема то?
Михаил Макарычев
Общаться через редис, а в че проблема то?
"Считается что все приложения запущенны на разных серверах" В этом. Есть у меня два компьютера, которые ничего не знают друг о друге. Чтобы их связать, мне же в любом случае надо сервер какой-нибудь поднимать
Dmitry
Я в редисе хранил очередь и там же был хэш ключ куда все инстансы писали свой сгенеренный идешник и время последнего отклика. Периодически запускался процесс который проверял что генератор жив и в случае беды назначал нового
Dmitry
Меня кстати не взяли, почему не ответили. Может это был неверный подход )
Dmitry
Хм, звучит более-менее разумно. Странно, что не взяли
Ну может кодом не угодил. Я тогда работу не особо планировал менять, задание решил сделать чтобы скилл прокачать. Тем более что задача достаточно интересная. Если бы сейчас делал, то еще бы выбирал из инстансов арбитра, который бы решал кого назначать генератором, ибо теоретически возможна ситуация, что несколько инстансов начнут выборы главного одновременно..
Dmitry
А так все классически, очередь в редисе и несколько ключей для служебной инфы, которая доступна всем инстансам
Vladimir
Идиотское тестовое задание. По этой теме не одна диссертация написана
Дима
Тестовое задание: доказать, что для всех натуральных чисел больше двух уравнение a^n + b^n = c^n не имеет решений
доня.
а ты неплох
ixplo
Кстати, роутер дописал. Завтра причешу его и выложу. И буду ждать критики и пулреквестов 😂
ixplo
Пока писал, в голову пришло несколько решений, но пока пути сверяются разбиением по "/" и сравнением по кускам. Кода получилось немного больше, чем ожидал. Но это в основном из-за использования for i
ixplo
Оч вероятно, что есть смысл разбивать не по /, а по :xxx параметрам
Vladimir
Лучше такое: доказать что P != NP
GG
Как-то просто
для всех натуральных чисел больше двух уравнение как это? 😅
доня.
ясно же что для нулевых a,b,c решение есть например
hamper 𓅝
ясно же что для нулевых a,b,c решение есть например
Понятие натуральных чисел не включает 0, он входит только в расширенный натуральный ряд.
Егор
Всем привет. Посоветуйте хорошую штуку для экспорта страницы html в excel?
доня.
Понятие натуральных чисел не включает 0, он входит только в расширенный натуральный ряд.
ну хорошо, если например a = 1, b = 1, c = 2 тоже решение есть (1^1 + 1^1 = 2^1)
Cenator 🐈
Народ, может кто сказать, почему падает сервер вебсокетов? вот код https://github.com/Djelnar/websocket
Cenator 🐈
ошибка такая Websocket error: Error: not opened
Cenator 🐈
независимо, 2 ли коннекта, или 5
Cenator 🐈
не прослежтиается никакая закономерность но до падения работает, как надо
Cenator 🐈
upd: немного пофиксил статик сервер и залил на хост
Cenator 🐈
http://82.202.212.41:1338/
Cenator 🐈
http://82.202.212.41:1338/
но смысла нет, т.к. он падает, а перезапускать постоянно я не могу
Cenator 🐈
выше написал ошибку, больше ничего
Kons
но смысла нет, т.к. он падает, а перезапускать постоянно я не могу
Очевидно, что падает не сервер, а закрывается соединение. В доках пишут, как можно это проверять — https://github.com/websockets/ws#how-to-detect-and-close-broken-connections
Cenator 🐈
И вообще, юзабельна ли эта либа? (ws) Или есть получше?
Kons
То есть, чтобы другие клиенты не ощущали обрыва одного, что-то нужно специально делать?
Вот, кстати, в их же доках есть пример, где проверяется, не закрыто ли соединение — https://github.com/websockets/ws#broadcast-example
Cenator 🐈
Спс, буду копать дальше
Kons
И вообще, юзабельна ли эта либа? (ws) Или есть получше?
Либа вполне юзабельна. «Лучше-хуже» зависит, имхо, от задач, которые решаются :)
Cenator 🐈
А вообще, может ли проблема быть из-за того, что я передаю слишком много данных (координаты mousemove)??
Cenator 🐈
перезалил с фиксом, вроде пока работает) зайдите плс, хочу потестить) http://82.202.212.41:1338/
Lev
что ищем то?
Lev
номер 2 на связи
Cenator 🐈
да ничего, просто тест)
Lev
стресс-тест, раз уж на то пошло. и никаких вопросов со стороны)
Cenator 🐈
вот
Anonymous
Такой вопрос: избыточен ли будет шаблонизатор используемый с react? Тот же handlebars Или можно все более-менее одним react’ом сделать? Под всем имеется ввиду отделение представления от логики. Сорри за, возможно, глупый вопрос. Я еще зеленый
Anonymous
Поэтому тут и спрашиваю))) Мне нужно объективное мнение
Anonymous
У меня там динамики кот наплакал: три списка, которые должны в реальном времени с базы подтягиваться В образовательных целях пишу так сказать
Anonymous
Ну и собсна статики никакой нет
Anonymous
Приложение в одну страницу можно сказать
KlonD90
Aleksandr почему кадди то лучше траефика?
KlonD90
кадди вообще какую-то другую задачу решает
KlonD90
оно реально веб-сервер
Aleksand
оно реально веб-сервер
так nginx тоже тогда веб-сервер
Aleksand
caddy, traefik, gobetween - у каждого свой фокус, в ту или иную сторону
Aleksand
но все делают примерно одно и то же