Как же ты каждый раз попадаешь, изучаю ТС - ты выпускаешь ролик, готовлюсь к собесу - выпускаешь ролик, делаю модуль чата в системе по работе (пока только вникаю) - ты выпускаешь ролик, спасибо Real Time КЛИЕНТ-СЕРВЕР на JavaScript. Long polling, event sourcing, websockets & комнаты
Это самое крутое объяснение которое я видел за 13 лет в разработке. Без воды, без затягивания, все по сути, просто и понятно. Ты очень крутой, уметь так понятно и кратко объяснить это талант.
Хочу добавить, что при реализации long polling нужно обязательно на сервере прописывать res.end(); во всех контроллерах, иначе в некоторых браузерах, таких как chrome или firefox вы не сможете отправить больше 5-7 запросов, т.к. браузер будет ждать ответа на предыдущие, а сервер попросту не отвечает на них. Это может сэкономить вам кучу времени, особенно если вы начинающий.
Спасибо.. Но странное поведение обнаружилось. В Файрфоксе всё нормально отрабатывает, а в Хроме, что заслать 1 сообщение надо нажать дважды. А в файрфоксе при этом появляется 2 одинаковых сообщения, посланных из хрома.
Мужик, спасибо тебе огромное. Я уже хотел кулаком монитор разбить ахаха Миллион раз перепроверил, что все написал правильно, а сообщения все равно не отправляются, а тут вон оно что))
Прохожу курсы по фронтенду на одном из онлайн агрегаторов и там как раз изучаю тему вебсокетов. На мой взгляд в этом видео намного лучше разобраны некоторые фундаментальные вещи, которые помогают понять логику работы веб сокетов. Спасибо!
Очень информативно, без воды, всё по фактам! Конечно хотелось бы узрить как отправлять сообщения только между двумя пользователями, в идеале что-то вроде чата на сайте, между менеджером и пользователем. Есть мысль, как бы передавать это сообщение с сайта в телегу и с телеги же отвечать - было бы очень удобно!
Спасибо, искал информацию чтоб разобратся и стартовать в этой теме, и это видео лично мне очень подошло. Качественное видео, без воды, и быстро, не нужно смотреть вебинар на три часа чтоб запусть hello word :)
Случайно нашел твой канал, залип капец. Крутой контент, спасибо))) Вдруг найдешь время, было бы интересно посмотреть больше про деплой, особенно с докером
Доступно и интересно обьясняешь , и оказывается, не сложно ). Есть еще один костыльный вариант реализации реал-тайма (у меня на проекте старом был): на фронте стоит таймер, и каждую секунду шлет запросы по http за сообщениями ).
Видео супер. Пересмотрел 3 раза) Вот, столкнулся со странностью. Long polling и event soursing отправляют по 5 сообщений и на этом их полномочия всё. С вебсокетами все отлично, они работают стабильно.
@@Vitalion83 скорее всего потому, что у всех браузеров есть ограничение на количество открытых соединений с каким-то определенным хостом. У хрома - 6. Поскольку у тебя на серверной части не было res.end(), то запрос зависал и после 5 сообщений общее количество запросов превышало лимит.
Тимур, я прошу тебя, давай больше про веб-сокеты, это действительно тема) Кстати, прошло около месяца, а число подписчиков удвоилось) Поздравляю, люди видят годный контент
Для поддержки канала)) Давай серию уроков про jest, тестировать можно одно из тех приложений что ты делал в предыдущих видео. Думаю многим будет актуально.
А откуда терминология? в англоязычных ресурсах Long pOlling вместо long pUlling. Также, второй подход так и называется -- event stream (или Server Sent Events), а Event Sourcing это вообще архитектурный паттерн, переводится как "хранение событий", т.е. формирование состояния объекта на основании событий (как в git, состояние проекта = ничего + набор коммитов), вместо классического хранения состояния в SQL табличке или JSON в монге.
Супер! Спасибо! Хотелось бы конечно чтобы все новые ролики шли с TS уже, я понимаю, что это увеличит продолжительность ролика, но мне кажется это будет большим плюсом тебе. Конечно, это обзорный ролик технологии, но все примеры рабочие и действенные, а когда пишешь с TS постоянно на какие-то грабли наступаешь и бывает на элементарную ошибку тратишь пару часов поиска. Может оно так и должно быть, через боль и терзания, это уже риторический вопрос)
Досмотрел. повторил, как всегда материал огонь! Спасибо! небольшой момент по первому варианту "longpulling" там в ответе "res.status(200)" работает плохо не отдает 200, заменил на "res.sendStatus(200)" работает как надо.
1. создаёте отдельные классы 2. прописываете условие в отображении сообщения (по юзернейм, например) 3. присваиваете классы всем подключившимся, кроме того, кто открыл это окно/страницу (ему, как владельцу - можно свой класс прописать)
Спасибо за видео) небольшая ремарка, заголовок HTTP Cache-Control: "no-cache" - значит что нужно кешировать запрос, но проверять его валидность(fresh/eTag) на сервере, если они разные прилетит новый ответ, если eTag одинаковый, ответ возьмётся из кеша браузера. Чтобы сказать браузеру не кешировать запросы, значение нужно поставить в no-store no-store - не кешировать запросы\ответы no-cache - кешировать, но проверять их свежесть на сервере Сам первое время путался, так как семантические неудачное название для no-cache)
Какой из способов предпочтительнее для создания real-time браузерных игр? Хотелось бы узнать подробнее про недостатки каждого из способов и какой способ в каких случаях выбирать
Как же ты каждый раз попадаешь, изучаю ТС - ты выпускаешь ролик, готовлюсь к собесу - выпускаешь ролик, делаю модуль чата в системе по работе (пока только вникаю) - ты выпускаешь ролик, спасибо Real Time КЛИЕНТ-СЕРВЕР на JavaScript. Long polling, event sourcing, websockets & комнаты
Читаю мысли!)) спасибо за поддержку
Он за тобой следит 👀
Не досмотрев лукаса!!!👍👍👍👍👍Спасибо большое за труды!!!
Спасибо дружище!)
Это самое крутое объяснение которое я видел за 13 лет в разработке. Без воды, без затягивания, все по сути, просто и понятно. Ты очень крутой, уметь так понятно и кратко объяснить это талант.
Спасибо за поддержку 🤝
Автор как всегда лаконичен и точен. Контент как всегда предельно полезен. Автору спасибо!
спасибо за поддержку!)
Парюсь в выборе чата)) . От тебя подарок летит)) Голосую за продвинутый чат !!!
Будет!
@@UlbiTV не произошло)
Отлично! Смотрю и делаю. Ты как всегда на высоте!
Спасибо, Артем!)
Ролики от Тимура +100 к знаниям за кратчайший срок
Хех)) спасибо, успехов!
Редкое сочетание краткости и понятности контента. Спасибо. Тема очень интересна. Жду о вебсокетах с комнатами, скоро мне в проекте понадобится ;)
Спасибо большое!) будет!
@@UlbiTV привет. Спасибо за подробное объяснение. А уже есть видео про комнаты?
Хочу добавить, что при реализации long polling нужно обязательно на сервере прописывать res.end(); во всех контроллерах, иначе в некоторых браузерах, таких как chrome или firefox вы не сможете отправить больше 5-7 запросов, т.к. браузер будет ждать ответа на предыдущие, а сервер попросту не отвечает на них.
Это может сэкономить вам кучу времени, особенно если вы начинающий.
спасибо, как раз то, что искал!
Спс огромное, я чуть в депрессию не ушёл.
Спасибо.. Но странное поведение обнаружилось. В Файрфоксе всё нормально отрабатывает, а в Хроме, что заслать 1 сообщение надо нажать дважды. А в файрфоксе при этом появляется 2 одинаковых сообщения, посланных из хрома.
огромное человеческое спасибо за Ваш совет!
Мужик, спасибо тебе огромное. Я уже хотел кулаком монитор разбить ахаха
Миллион раз перепроверил, что все написал правильно, а сообщения все равно не отправляются, а тут вон оно что))
Досмотрел до конца не толбко из интереса но и из за подачи матерала. классно !!! спасибо
Благодарю!
Топ канал!! Сча если в чем то надо быстро разобраться, сразу ищу тут.
Реально годный контент. Все реальные темы затрагиваешь в своих видео, а то у большинства каналов одна база.
Стараюсь, спасибо за поддержку!)
Прохожу курсы по фронтенду на одном из онлайн агрегаторов и там как раз изучаю тему вебсокетов. На мой взгляд в этом видео намного лучше разобраны некоторые фундаментальные вещи, которые помогают понять логику работы веб сокетов. Спасибо!
Real Time КЛИЕНТ-СЕРВЕР на JavaScript. Long polling, event sourcing, websockets. Спасибо за работу
Спасибо за ролик. Хорошее видео про websocket. Надо только раз пять пересмотреть)
Очень достойный канал. Автор всегда очень лаконичен и точнее.
Спасибо автору за точную и полезную информацию.
Спасибо за поддержку!)
Спасибо за контент и (НАКОНЕЦ-ТО))) хороший звук
Заметили)) спасибо!
Отличный контент, кругозор расширился) . Спасибо алгоритмам ютуба, что ваш канал в рекомендованные попал )
А тебе спасибо за отзыв!)
Очень информативно, без воды, всё по фактам! Конечно хотелось бы узрить как отправлять сообщения только между двумя пользователями, в идеале что-то вроде чата на сайте, между менеджером и пользователем. Есть мысль, как бы передавать это сообщение с сайта в телегу и с телеги же отвечать - было бы очень удобно!
Спасибо, искал информацию чтоб разобратся и стартовать в этой теме, и это видео лично мне очень подошло.
Качественное видео, без воды, и быстро, не нужно смотреть вебинар на три часа чтоб запусть hello word :)
Случайно нашел твой канал, залип капец. Крутой контент, спасибо))) Вдруг найдешь время, было бы интересно посмотреть больше про деплой, особенно с докером
Буду смотреть, спасибо!
Спасибо!
Бро, спасибо, что ты есть )
И тебе спасибо!)
Отличный контент!
Лайк, коммент!)
Спасибо огромное за Ваши ценнейшие знания и проделанную работу! Все таки это единсветнные инвестиции, которые сто проц окупятся )
Большое спасибо! Уже третий раз пересматриваю. Очень полезный материал.
Доступно и интересно обьясняешь , и оказывается, не сложно ). Есть еще один костыльный вариант реализации реал-тайма (у меня на проекте старом был): на фронте стоит таймер, и каждую секунду шлет запросы по http за сообщениями ).
Бедный сервер)
Если вы не понимаете, что происходит с вашей жизнью - поставьте на паузу и вдумайтесь
Просто машина! Спасибо за полезнейшую информацию!🔥
Спасибо!)
Огромное спасибо что делаешь такие видео и выкладываешь их во всеобщий доступ, давая возможность легко осваивать материалы. Ты супер сенсей
спасибо за видео)
ты лучший!
Спасибо огромное за отличное видео по node, Long polling, event sourcing, websockets
Привет!
Максимально информативно, абсолютно без воды!
Спасибо!
Стараюсь друг) спасибо!
Спасибо огромное! Благодаря тебе узнал про EventSource
очень полезный топик, очень интересный канал, очень хорошая подача материала. Продолжай в том же духе))))
Очень толковый парень!
Видео супер. Пересмотрел 3 раза) Вот, столкнулся со странностью. Long polling и event soursing отправляют по 5 сообщений и на этом их полномочия всё. С вебсокетами все отлично, они работают стабильно.
Всё, разобрался. Надо закрывать post посредством res.end(). Но я всё равно не понял, почему 5 запросов только работает.
@@Vitalion83 место в раю людям которые когда находят ответ отвечают себе ))
@@Vitalion83 скорее всего потому, что у всех браузеров есть ограничение на количество открытых соединений с каким-то определенным хостом. У хрома - 6. Поскольку у тебя на серверной части не было res.end(), то запрос зависал и после 5 сообщений общее количество запросов превышало лимит.
Благодарствую. Решение я бы все равно нашел, но ты сэкономил мне кучу времени.
Тимур, я прошу тебя, давай больше про веб-сокеты, это действительно тема)
Кстати, прошло около месяца, а число подписчиков удвоилось) Поздравляю, люди видят годный контент
Будет!
Спасибо!)
@@UlbiTV на php можно что то из первых двух вариантов сделать?
@@UlbiTV ПЛС Продвинутый чат на websocket плс. P.S. не отказывай теске плс
@@awenn2015 на php можно сделать даже больше :D
Для поддержки канала)) Давай серию уроков про jest, тестировать можно одно из тех приложений что ты делал в предыдущих видео. Думаю многим будет актуально.
Тимур - легенда!
Спасибо тебе за отличные видосы. Посмотрел на одном дыхании, все без воды и максимально понятно)
начал смотреть видео чтобы узнать что такое websocket в итоге создал полноценное чат приложение 😁
Бомба для начинающих!!!
💣
Отличное видео!
Благодарю)
Было интересно! Спасибо за такой ввод, теперь есть 0оть понимание!
Отлично, однозначно лайк)
Спасибо большое за твой контент!!
Отличное видео! Сделай пожалуйста урок по комнатам
Будет!
@@UlbiTV а как скоро он будет ? хотелось бы глянуть )
Не надо видео по комнатам. Сам реализуй. Автор в видео все подсказал. Что тебе еще надо?
@@Peter-vz4tb из головы придумать как это реализовать?) Комнаты и глобальное соединение это разные вещи
@@Peter-vz4tb вопрос по комнатаи мне, к примеру, понятен. А вот как лучше организовать хранение данных в БД - хотелось бы практической инфы.
Супер видео, спасибо большое
Отличный урок. Всегда нахожу у тебя именно то, что мне нужно в данный момент. Удачи, бро
Самые толковые уроки у Вас! Спасибо!
Тебе бы рекламу где то взять, контент уникальный, но подписчиков мало, потому что просто не знают о существовании канала, подумай над этим
Он делает её в определенных кругах, я его часто замечаю )
@@NeoJohnSmit ниразу не делал рекламу
Реклама это хорошо, но пока вроде и без нее есть движение
@@UlbiTV В Вк вижу брат посты в группах от тебя )))
@@NeoJohnSmit это не реклама) я за это не плачу, они сами постят
Тимур, интересный контент, полезный. Особенно про веб сокеты. Спасибо!
Спасибо за труды! Все на высоте как всегда! Буду ждать продолжения :)
о боже, тупа лайк не глядя!!!!!!!!!!!! спасибо за контент)
Красава, очень круто) Было бы интересно посмотреть чат на ws с добавлением в контакты
Подписался! Лайк поставил! Колольчик активировал! Жду ещё годного контента! Спасибо Большое! Успеха!
Голосую за подробное видео по вебсокетам !
Будет!
А откуда терминология?
в англоязычных ресурсах Long pOlling вместо long pUlling.
Также, второй подход так и называется -- event stream (или Server Sent Events), а Event Sourcing это вообще архитектурный паттерн, переводится как "хранение событий", т.е. формирование состояния объекта на основании событий (как в git, состояние проекта = ничего + набор коммитов), вместо классического хранения состояния в SQL табличке или JSON в монге.
Спасибо Тимур! Очень доступно и информативно
КПД контента просто зашкаливает. Спасибо большое!
Спасибо, очень круто!
Спасибо!)
все еще уникальный контент! Спасибо за твой труд!
Спасибо, Тимур, это было бодро👍
Благодарю;)
спасибо Тимур, как всегда полезно и коротко
ТОП контент! ))
Молодец, я доволен )
Спасибо!)
Спасибо, шикарный контент!
Супер! Спасибо! Хотелось бы конечно чтобы все новые ролики шли с TS уже, я понимаю, что это увеличит продолжительность ролика, но мне кажется это будет большим плюсом тебе. Конечно, это обзорный ролик технологии, но все примеры рабочие и действенные, а когда пишешь с TS постоянно на какие-то грабли наступаешь и бывает на элементарную ошибку тратишь пару часов поиска. Может оно так и должно быть, через боль и терзания, это уже риторический вопрос)
Спасибо, учту про тс!)
0:15 не “pulling”, а “polling” - “long polling” (длинные опросы).
ДАЕШЬ КРУТОЙ ЧАТИК С WS и DB.
Будет!)
Досмотрел. повторил, как всегда материал огонь! Спасибо! небольшой момент по первому варианту "longpulling" там в ответе "res.status(200)" работает плохо не отдает 200, заменил на "res.sendStatus(200)" работает как надо.
просто пушка
Было бы полезно узнать больше про создание продвинутого чата. Хорошие ролики делаешь!
Спасибо! Будет!
шикарно для стартового ознакомления, спасибо
Ещё нужен свой цвет месседжа для каждого пользователя и смещение сообщений влево вправо.
1. создаёте отдельные классы
2. прописываете условие в отображении сообщения (по юзернейм, например)
3. присваиваете классы всем подключившимся, кроме того, кто открыл это окно/страницу (ему, как владельцу - можно свой класс прописать)
Годнотент!
Спасибо!)
Спасибо за видео)
небольшая ремарка, заголовок HTTP Cache-Control: "no-cache" - значит что нужно кешировать запрос, но проверять его валидность(fresh/eTag) на сервере, если они разные прилетит новый ответ, если eTag одинаковый, ответ возьмётся из кеша браузера. Чтобы сказать браузеру не кешировать запросы, значение нужно поставить в no-store
no-store - не кешировать запросы\ответы
no-cache - кешировать, но проверять их свежесть на сервере
Сам первое время путался, так как семантические неудачное название для no-cache)
Спасибо! За отличный урок!
Супер! Полезно и понятно! Спасибо!
Классное видео. Спасибо!
that's going to be nice. I suppose.
Thx
Спасибо за сокеты!
до конца досмотрел. Классный курс
Тема Web сокетов не раскрыта до конца. Требуем следующего ролика :)
Огромное спасибо
Круто!
Большое спасибо тебе за информацию.
Годнота
Сделал как в 1 примере, но не смог разобраться почему максимальное количество сообщений равно 5, может кто подскажет?
Дякую за відео, дуже інформативно вийшло, про long pollind і event soursing зрозуміло, а з webcosket трохи тяжко.
Просто красава, контент, речь все топ!
Какой из способов предпочтительнее для создания real-time браузерных игр? Хотелось бы узнать подробнее про недостатки каждого из способов и какой способ в каких случаях выбирать
Продвинутый чат в студию...
Будет!
Сделай, пожалуйста, полноценный чат на вебсокетах с базой, будет очень интересно
Будет!
Прекрасная идея объединить 3 технологии в одном ролике. Спасибо!
А ничего что на 10 минуте мы создаем асинхронную функцию внутри компонента и вызываем ее не в useEffect?
Вызываем-то как раз в useEffect, а создавать хоть в другом файле можем
Спасибо за видео Тимур
Очень бы хотелось увидеть реализацию крутого чата с базой данных на вебсокетах с комнатами и всеми остальными фишками
Коммент в поддержку!
А ты хорош
ДА ЭТО ЖОСКА
😂