landing page для наглядностиВступление 1Эта статья модификация прошлой статьи двухлетней давности: https://habr.com/ru/articles/569410/В той статье я излагал свои мысли, получил кучу критики и в итоге многое переосмыслил. Там я в целом описывал ряд изменений связанных со временем (недели, месяцы, часовые пояса, часы, минуты и секунду). Но сейчас я понимаю, что с практической точки зрения, реализация тех идей не рациональна. И поэтому я сократил свое кардинально. Из всех изменений я оставил тол…
Есть много библиотек и фреймворков, которые помогают преодолеть все препятствия на пути JavaScript разработчика. Если раньше мы использовали ванильный JS, то со временем пришёл jQuery, а затем React и Vue. Каждый год появляется все больше новых библиотек, фреймворков и инструментов. Некоторые из них продолжают развиваться и находят свою аудиторию, в то время как другие исчезают и постепенно забываются. В статье рассмотрим ещё одну библиотеку, которая может быть полезной для разработки небольши…
В данной статье поговорим о том, почему Event Loop вообще был создан, как с ним работать и почему про него спрашивают на собесах.JS был спроектирован как однопоточный язык программирования. Это значит, что он может выполнять только одну операцию одновременно. Тем не менее у JavaScript есть такой механизм как Event Loop, который как раз и позволяет выполнять "асинхронные" операции. Почему "асинхронные" в кавычках? Да просто потому что JavaScript тоже выполняет их синхронно, асин…
CollagenCollagen позволяет создавать тестовую анимацию управляемую с клавиатуры, имеется редактор уровней который позволяет создавать слои, перемещать камеру вида а также управлять анимацией персонажа. Для создания анимации небходимо создать в редакторе все необходимые спрайты: спрайты с анимацией, спрайты с фоновой подложкой, сохранить их в проект. Как создавать спрайты читать в описании редактора. В данном примере будет объяснена простейшая анимация движения персонажа, а также принцип работ…
Рис 1. Одновременная работа в редакторе блок схем с помощью WebRTCWebRTC позволяет браузерам обмениваться информацией напрямую без сервера. Можно передавать видео, звук и данные.Для соединения браузеры должны обменяться параметрами соединения: SDP и ICECandidate-ами SDP описывает требования к соединению - т.е. что будет передаваться: видео/аудио/текст, какие кодеки поддерживаются. ICECandidate-ы это адреса, куда можно посылать пакеты.Для WebRTC соединения нужно:Обменяться требованиями к соеди…
Привет, уважаемые участники Хабр!Сегодня продолжим создание мини-игры с движущимися кружочками и интересным капельным эффектом. В первой части было сделано базовое перемещение кружочков по странице. А в сегодняшнем уроке мы сделаем анимацию “взрыва” и поглощения кружочков. Финальное демо второй части урока:Давайте начинать!Генерация кружочков Для того, чтобы сделать “деление” одного кружка на несколько в класс Substance добавим новую функцию splitting, которая в цикле будет создавать заданн…
Немного обо мнеЯ занимаюсь frontend уже 8 лет и с самого начала карьерного пути наблюдал как наш продукт рос и развивался (и я вместе с ним), формировалось frontend-сообщество, мировые web-стандарты получали второе дыхание и быстрое развитие, а accessibility приходило в наши дома. За это время я успел достаточно глубоко проникнуться идеями доступности, поскольку ранее и сам уделял внимание клавиатурному вводу в личном пользовании интернетом. Полагаю, все знакомы со стандартным паттерном аутент…
Любой программист, часто работающий с API, может сэкономить массу времени, если использует ChatGPT для автоматизации преобразования JSON в интерфейсы Typescript. Зачем это нужноAPI — удобный и универсальный способ наладить взаимодействие с сайтом или другим веб-приложением. Основная проблема при написании кода обычно заключается в том, он должен быть уведомлен об ответе. Но в результате обращения к API вы не получаете завершения.У этой проблемы есть два основных варианта решения:Отправить запр…
В текущих проектах я применяю подход Behavior Driven Development (BDD) для написания end‑to‑end тестов. Хотя раньше я скептически относился к Given‑When‑Then синтаксису, теперь часто его использую. Главная причина — я больше не пишу BDD‑сценарии вручную, а генерирую их с помощью ChatGPT.В статье расскажу, как вы можете генерировать AI-тесты в своем проекте и запускать их в реальном браузере с помощью Playwright.AI пишет тестыДля примера я буду использовать демо‑приложение TodoList, разработанн…