Привет! В этой статье мы научимся добавлять WebAuthn в веб‑приложения со стороны frontend‑разработчика. WebAuthn представляет собой новый метод аутентификации, который обеспечивает более высокий уровень безопасности, заменяя устаревшие пароли и SMS‑подтверждения на аутентификацию на основе публичных ключей. Это не только повышает защиту от несанкционированного доступа, но и упрощает вход для пользователей. Например VK и другие компании уже переходят на подобные технологии, отходя от обычных па…
Всем привет. На этот раз покажу как парсил dom элементы и создавал для них визуальную подсветку. Разберу зачем это нужно и как сделано. Спойлер, очень просто. Значительную часть статьи рассказываю на чём я споткнулся, пока это писал. Про высчитывание позиции блока. Продолжаю эпопею. Вот вводная статья: Интерактивный парсер web страниц / Хабр (habr.com) Менеджер страницы (PageManager)В какой-то момент я понял, что создавать addEventListener и давать ему бесконтрольно запускать код — ужасная за…
Фингерпринт пользователя — это уникальный набор данных о пользователе, который включает в себя информацию о его поведении в интернете, какие сайты он посещает, какие товары покупает, какие сообщения отправляет и т.д. Этот набор данных может быть использован для создания профиля пользователя и предоставления ему персонализированных рекомендаций или услуг.Отслеживание поведения пользователя на сайте или в приложении может осуществляться с помощью различных методов, включая анализ действий пользо…
О чем речь?Похоже, что в череде всевозможных инициатив по борьбе со «сторонними» куками начал проглядываться конец. Давайте разберемся, что происходит и зачем все это нужно.Куки — браузерный механизм, который позволяет хранить данные по пользователю с привязкой к домену и затем передавать эти данные при запросах. Куку можно установить как со стороны сервера через специальный заголовок Set‑Cookie, так и в браузере прямо на странице через javascript. После этого кука будет передаваться при каждо…
Я хочу посвятить эту статью известной задаче в математике, относящейся к теории вероятности. Так же мы попытаемся решить эту задачу на JavaScript. Я сразу приступлю к условию задачи.Условие задачиНа картинке видно три двери. За одной из них находится новый автомобиль, а за другими двумя находятся козлы. Чему равна вероятность что за случайно выбранной дверью находится машина? Я думаю что тут всем понятно, что вероятность равна 1/3, или 33.3%. Затем я, как ведущий, попрошу вас выбрать одну из н…
Периодически я пробую разные инструменты, и если они стабильно покрывают все необходимые сценарии - включаю в свою экосистему для коммерческих проектов. С третьего подхода за последние 3 года esbuild, наконец, приблизился по функционалу к Webpack. В статье привожу проблемы, с которыми я столкнулся при миграции, и пути их решения.Что я ожидаю от бандлера?Используя последние ~6 лет Webpack я сильно привязался к его экосистеме и возможностям. В частности, я ожидаю от бандлера:Возможность работы ч…
Всем привет. Меня зовут Влад и по профессии я Java Backend.Для начала вкратце введу в курс дела. 3 года назад ко мне в голову закралась навязчивая мысль написать интерактивный словарь-помощник для чтения на английском языке. И с тех пор начались мои приключения в мире расширений для браузеров на ядре Chrome'а. Идея была такова. Вот у нас есть страница. Что если её всю спарить и отрисовать каждое слово на ней как интерактивный элемент. Кликаешь на него и слово летит в Wordbook (Аля личный с…
Оригинальное изображение из задач к Yandex Cup 2023Участие в таких событиях дает неплохой пинок для того, чтобы пощупать даже то, что еще находится на этапе эксперимента в мире JS и не только. Вот и я решил в этом году, все же попробовать решить пару тройку задач. И хочу представить вашему вниманию разбор задачи про экспериментальную фитчу в JS - это стандарт относящийся к декораторам. Вообще я ранее слышал про то, что обсуждается в сообществе возможность применения декораторов нативно, "к…
С момента своего появления в браузерах, JavaScript зарекомендовал себя как один из самых динамичных и гибких языков программирования. В центре этой динамичности находится движок V8, который превращает скрипты высокого уровня в машинный код, летящий на космических скоростях. Но что на самом деле происходит между строк кода и выполнением программы? Какие механизмы в движке V8 позволяют JavaScript выступать наравне с компилируемыми языками по производительности? И так давайте рассмотрим более под…