На днях у нас в проекте возникла проблема. Был запрос, который очень долго обрабатывался на бэке и в итоге отваливался по таймауту. Предложение увеличить таймаут для этого запроса - ненадежная история, поэтому начали искать альтернативы. Решили использовать веб-сокеты!
Короче, протокол веб-сокет обеспечивает возможность обмена данными между браузером и сервером через постоянное соединение. Данные передаются по нему в обоих направлениях в виде «пакетов», без разрыва и дополнительных HTTP-запросов. Эта тема хороша для мессенджеров, онлайн-игр, торговых площадок и всего, где нужно постоянное обновление данных.
В итоге решение нашей проблемы: 1. Устанавливаем веб-сокет соединение. 2. Я передаю в сообщении данные, которые отправляла в обычном https запросе 3. Бэк их обрабатывает какое-то время и после обработки отправляет мне сообщение о том, что процесс окончен 4. Я понимаю, что процесс окончен, и дальше работа в обычном режиме с https запросами
То есть теперь вся логика спокойно выполняется на бэке, а я просто жду сообщение об успехе. Красота🙌🏼
Чтобы создать сокет: const socket = new WebSocket("wss://наш_урл_для_сокета");
Можно еще просто ws, но лучше конечно шифровать данные, это мы знаем,то же самое как http и https.
Как только объект WebSocket создан, мы слушаем его события: • open – соединение установлено (здесь же мы можем отправить наши данные на сервер), • message – получены данные (здесь после получения данных можем вызывать какие-то свои экшены), • error – ошибка (можно просто вывести уведомление об ошибке), • close – соединение закрыто
Если мы хотим отправить что-нибудь, то вызываем socket.send(data). Только data должна быть строкой, так что если изначально это был объект, то не забываем про JSON.stringify().
Веб-сокеты можно так же смотреть в network в devtools, только надо выбрать WS, а не обычный наш fetch.
Вот и всё! Ничего сложного)) Если есть вопросы - пишите, разберёмся вместе😌 Ну и подкиньте огоньков плиз, если заходит такой познавательный контент🔥
1. Навигация с помощью голосового помощника. Спикер рассказал, насколько продвинулись браузеры и JavaScript в распознании голоса и произнесении речи. Рассмотрели доступные решения и создали небольшое приложение с голосовым помощником.
2. 10 ошибок в UX для незрячих пользователей. Разбирали особенности верстки для незрячих, семантику и прочее.
3. Раз, два, три джс, или как я делал 3D-сайт. Спикер поделился опытом создания 3D сайта, как изучал three.js, какие проблемы возникали и как он их решал.
4. Путеводитель по архитектуре фронтенда в 2024. На примере игры разобрали все инструменты и комплексы инструментов для построения архитектуры проекта.
Это доклады, которые я слушала с удовольствием и которые меня вдохновили! Были и другие доклады, которые я выключала, потому что было скучно/непонятно. Были те, которые я просто не успела посмотреть, их планирую посмотреть чуть позже.
Короче, прикольно!) Больше всего шок контент для меня был доклад про незрячих. Я вообще никогда не задумывалась о таком, а там оказывается целый мир! Думаю теперь, как это можно все внедрить в наши продукты)) А ещё появилось желание изучить three.js и написать свое мини приложение с голосовым помощником😱 Надеюсь, моё вдохновение не улетучится через пару дней)
У меня сегодня первый день конференции HolyJS😍 Начало в 15:00, самое классное расскажу вам обязательно после!
А пока что я разбираюсь с веб-сокетами🙈 Никогда с ними не работала, а сейчас надо в одном месте в проекте подключить. Прикольно, люблю новое)) Пока что вроде ничего сложного😌
Я часто слышу, что разработка - это творческая профессия и все такое. Но, мне кажется, здесь важно разобраться, а что именно для вас творчество.
Буду писать, как чувствую.
Для меня существует два вида творчества: интеллектуальное и душевное. При интеллектуальном я использую голову, чтобы что-то сотворить. В таком случае, конечно, да, fronted разработка очень творческая профессия. При душевном я голову отключаю и творю от сердца. В таком случае моя профессия вообще ничего общего с творчеством не имеет. Такое творчество для меня - это живопись.
Хотя для меня существует два вида творчества, я все-таки больше воспринимаю это явление как душевный порыв. Поэтому, друзья, не могу сказать, что у меня творческая профессия.
Если отвечать на вопрос, хватает ли мне творчества в профессии, отвечу «нет». Но это нормально, что одна профессия не закрывает все потребности в самореализации. Поэтому я проявляюсь творчески в другом и совмещаю работу со своими хобби. И не вижу ничего страшного в этом, потому что люблю разработку, она дает мне свободу логически мыслить, включать голову и думать)) А это для меня важнее.
Как по мне, пытаться найти одну профессию, которая закроет абсолютно все потребности - очень сложно, особенно если ты мультипотенциал. Да и зачем, если можно не выбирать что-то одно, а совмещать?
Буду рада почитать, что для вас творчество и хватает ли вам его в работе🧡
Красивый, колоритный, но слишком сумбурный для меня город. Нам повезло с погодой и компанией. Много гуляли, смеялись, невкусно ели, наслаждались солнышком, удивлялись дельфинам, ходили по магазинам, подглядывали за парочками, пели в такси и танцевали🧡
Классная получилась поездка, я рада, что согласилась поехать, потому что в итоге провела эти дни в хорошем настроении😌 То, что надо!
Впервые за очень долгое время лечу куда-то без своего мака💻😱 Шок!)) Он уже стал частью меня, поэтому даже непривычно, что его нет в рюкзаке на моей спине или в папке в руке🙈 Не по себе аж)
Если вам будучи джуном стремно спрашивать вопросы у сеньоров, то посмотрите на меня: я мидл и спрашиваю порой простые штуки😂
Задачка: по нажатию на кнопку скачать pdf. Изи, да? Но я положила pdf в папку assets, а не public, и получала ошибку при скачивании.
Так как эта задача должна быть завтра на проде, а завтра у меня дэй офф, то я пошла с этим вопросом к сеньору, потому что уж лучше спросить фигню, чем не выкатить фичу.
У меня много собственных миров, на которые я опираюсь, которые дают мне силы. Какие-то миры мне были даны от рождения, например, мир семьи, а какие-то я создала себе сама в течение жизни.
Эти 4 дня в Сочи я опиралась на свои 4 мира: - Собственный внутренний мир - Мир друзей - Мир хобби - Мир путешествий В видео можете увидеть, как они переплетаются между собой, усиляя друг друга 🧡