Category : javascript

javascript
Чем отличается реализация non-keyed от keyed в javascript фреймворках?

Часто, при разработке сайтов на фреймворках, не придаётся особого внимания деталям, которые в данный фреймворк включены. И это нормально, ведь главная задача фреймворка - чтобы удобно было сайт делать и чтобы он был быстрым и функциональным. Но, эти детали тем и интересны, что узнав некоторые моменты, взгляд на javascript разработку чуть дополняется. Одной из таких деталей является keyed реализация. Что это такое? Keyed реализация - это прежде всего создание ассоциации между данными и DOM узло…

  • понедельник, 31 июля 2023 г. в 00:00:13
javascript
IntelliJ IDEA 2023.2. Language Server Protocol, AI Assistant, IntelliJ Profiler в редакторе, GitLab…

Только что вышла IntelliJ IDEA 2023.2. В этом релизе в IDE появилась куча интересных фичей и важных улучшений.Вы можете скачать последнюю сборку с официального сайта, или из бесплатного приложения Toolbox, или из snap-пакетов для Ubuntu.Этот релиз IntelliJ IDEA 2023.2 представляет вам AI-ассистента, вооруженного набором инструментов машинного обучения. IntelliJ Profiler показывает подсказки в редакторе, делая профилирование более интуитивным и иформативным. Еще, в этом релизе появилась интегра…

  • воскресенье, 30 июля 2023 г. в 00:00:31
javascript
Как работает Evercookie в 2023 году

Evercookie представляет разработчику идентифицировать пользователя, если тот удалил куки. Основная цель evercookie — это записать во все доступные хранилища браузера уникальный идентификатор. Если идентификатор удаляется из какого либо хранилища, то значение восстанавливается с помощью чтения значения из другого хранилища.Реализацию evercookie можно глянуть в репозитории на github — https://github.com/samyk/evercookie.Принцип работы evercookie по шагам:Получение уникального идентификатора (UID…

  • суббота, 29 июля 2023 г. в 00:00:19
javascript
Futhark в браузере

В IT так: если что-то существует, то рано или поздно это будет существовать и в браузере. Сегодня так устроен мир. Благодаря работе Филипа Лассена, теперь вы можете гонять Futhark у себя в браузере. В данном посте рассказано, как этого удалось добиться, и почему этот функционал пока не так полезен, как мог бы (спойлер: пока не поддерживается работа с GPU), и какие есть перспективы этот функционал доработать. Подробно о том, как спроектирован этот язык, рассказано в магистерской диссертации Фи…

  • суббота, 29 июля 2023 г. в 00:00:18
javascript
React + Styled Components — идеальная анимация. Параметризованная анимация

ВведениеРассмотрим способ реализации “параметризованной” css анимации React компонента с помощью styled components. Параметризованная потому что css анимация описывается через параметры, которые динамически рассчитываются на основе пропсов и состояний компонента при его рендеринге.Идея возникла при необходимости создания анимации таймера: Требуемая анимацияАнимация цифры не представляет трудности, а вот бегущая закрашенная часть границы достаточно интересна. Длина закрашенной части границы ум…

  • суббота, 29 июля 2023 г. в 00:00:18
javascript
Как работает Zustand

Hello world! Zustand (читается как "цуштанд", что переводится с немецкого как "состояние") — это, на мой взгляд, один из лучших на сегодняшний день инструментов для управления состоянием приложений, написанных на React. В этой статье я немного расскажу о том, как он работает. Давайте начнем с примера использования zustand для реализации функционала отображения/скрытия модального окна. Код проекта лежит здесь. Демо: Для работы с зависимостями я буду использовать Yarn. Создае…

  • пятница, 28 июля 2023 г. в 00:00:19
javascript
Под капотом анимаций в React Native. Часть 1/2: Animated and Bridge

Привет! Меня зовут Евгений Прокопьев, я старший инженер-разработчик в СберМаркете. На React Native (далее просто RN) я пишу уже больше 6 лет и очень люблю создавать красивые анимации. В интернете часто сталкиваюсь с мнением, что на RN невозможно сделать красивые и стабильные анимации: их трудно делать и они ужасно лагают. По моему опыту всё обстоит совсем не так — вопрос именно в том, как их готовить. Хочу поделиться опытом, что сделать, чтобы у вас анимации не лагали, и по возможности восста…

  • пятница, 28 июля 2023 г. в 00:00:18
javascript
Web API для Angular

Веб — богатая экосистема с массой мощных API, которая только пополняется. В нашем распоряжении уже знакомые инструменты — Canvas или Intersection Observer, но в 2023 мы также имеем Web MIDI API, Speech Recognition и даже такие экзотические штуки, как геймпады и VR прямо в браузере. Естественно, эти API сложно использовать в Angular из-за разницы парадигм нативного JavaScript и декларативного Angular. Вот тут и появляемся мы!Как все начиналосьWeb API для Angular — это опенсорс-инициатива, котор…

  • пятница, 28 июля 2023 г. в 00:00:18
javascript
TypeScript 5.2: Новое ключевое слово: 'using'

Эта статья — перевод оригинальной статьи "TypeScript 5.2's New Keyword: 'using'".Также я веду телеграм канал “Frontend по-флотски”, где рассказываю про интересные вещи из мира разработки интерфейсов.В TypeScript 5.2 появится новое ключевое слово 'using', которое можно будет использовать для утилизации чего-либо с помощью функции Symbol.dispose, когда оно покидает область видимости.{ const getResource = () => { return { [Symbol.dispose]: () => { …

  • пятница, 28 июля 2023 г. в 00:00:17