Для некоторых задач, связанных с обновлением данных в реальном времени — например, новостные ленты, уведомления или поток чата, можно обойтись без сложных двусторонних протоколов, как WebSocket. Мы можем использовать простой механизм передачи данных от сервера к клиенту через HTTP, который часто оказывается удобнее и эффективнее в настройке для однонаправленного обмена данными.Как это работает?Клиент открывает постоянное HTTP-соединение с сервером. Сервер же периодически отправляет данные по ме…
Привет, друзья! В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это пятая часть серии. Первая часть Вторая часть Третья часть Четвертая часть Сегодня мы рассмотрим систему непересекающихся множеств, фильтр Блума и кэш актуальных данных. Код, представленный в этой и других статьях серии, можно найти в этом репозитории. Интересно? Тогда прошу под кат. 15. Система непересекающихся множеств Описание Википедия YouTube Система непе…
Я хочу, чтобы посетители моего сайта наслаждались им, так что я забочусь об accessibility и проверяю, что даже без JavaScript тут есть, на что смотреть. Я забочусь о том, насколько быстро грузятся страницы, ведь на некоторых из них есть большие иллюстрации, поэтому я минифицирую HTML.Вот только есть один нюанс, который ставит мне палки в колёса и не даёт сделать блог лёгким как пёрышко.ПалкаНаиболее сильно уменьшает трафик (а значит и latency на мобильных устройствах!) не минификация, а сжатие.…
Иногда наша компания участвует в тендерах и чтобы это было выгодно компания должна оценить свои затраты на строительство и оснащение объекта ещё до подачи ценовой заявки на участие в конкурсе. Для оценки затрат обычно берётся спецификация оборудования к рабочей документации и составляются таблицы с ценами на товары и услуги.При этой оценке очень часто присутствует большой объем механического поиска цен товаров и услуг в интернете на сайтах поставщиков. В какой-то момент мне захотелось упростить…
Мы часто сталкиваемся с тем, что многочисленные ресурсы и руководства по JavaScript предлагают свой уникальный подход к кодированию. И хотя они дают ценные знания, порой они также могут создавать проблемы с пониманием кода из-за непоследовательных соглашений об именовании и неясных структур.Это руководство посвящено написанию чистого и удобного кода на JavaScript и TypeScript. Мы рассмотрим лучшие практики работы с функциями, переменными и методами, чтобы ваш код был не только эффективным, но и…
Добрый день! Меня зовут Тимур и я программист. Сегодня я предлагаю рассмотреть очередную мою работу. Я пробросил в js прямой доступ к кешам chromium-a и теперь ими можно манипулировать из расширений браузера (при наличии соотв. permissions). Если вас не интересуют кресты а хочется халяльного js кода — переходите сразу в конец статьи, там описано реализованное api и как им пользоваться. Итак, о чем речь и зачем это нужно? В первую очередь это первый шаг к построению антидетект браузера, а на ос…
Всем привет! В данной статье я бы хотел рассказать о таком понятии как "ключи" в JavaScript фреймворках и библиотеках; зачем они используются и как помогают в работе с DOM.Зачастую, на собеседованиях спрашивают про эту тему и нередко выходят ответы по типу: "чтобы предотвратить неконтролируемое поведение" или "их нужно указывать, т.к. это что-то на подобие уникальных идентификаторов" и др. Конечно, данные ответы с одной стороны - правильные, но главного они не отражают. …
ВведениеВ этой статье я хочу обратить внимание на такой аспект разработки как нейминг.Мы рассмотрим, почему важно уделять внимание названиям переменных и функций, и как грамотный подход к неймингу может сократить время и усилия на поддержку и развитие проекта. Надеюсь, мои мысли окажутся полезными. Буду рада обратной связи в комментариях.Описание проблемыЧтобы писать хороший код, мы стремимся следовать различным принципам, таким как SOLID, DRY, KISS, осваиваем паттерны проектирования, анализиру…
Меня зовут Ахетов Даниил и уже более 5 лет я занимаюсь автоматизацией тестирования web-приложений на JavaScript. За это время я успел попробовать все самые популярные фреймворки для автоматизации тестирования UI, Playwright, WebDriver.io, Cypress и т.д. Нельзя сказать, что какой-то фреймворк лучше или хуже, у каждого есть свои уникальные возможности и особенности, которые нужно учитывать при подборе инструментов автоматизации тестирования в каждом конкретном проекте. И хоть все инструменты разн…