GyaanSetu JavaScript

Экосистема JavaScript и TypeScript.

62 articlesDeep, practical knowledge

Как настроить React Context

Как настроить React Context. Prop drilling портит ваш код. Вы передаете данные через пять уровней компонентов, которым они не нужны. React Context решает эту проблему. Однако большинство способов настройки созда…

JavaScript · 2 мин чтения

Тестирование процессов смены email без пропущенных ссылок

Тестирование процессов смены email без пропущенных ссылок. Смена email аккаунта кажется незначительной задачей, но это распространенная ловушка для QA-команд. Один тестировщик обновляет адрес, а другой человек открывает письмо…

JavaScript · 2 мин чтения

Правило трех секунд для веб-производительности

Правило трех секунд для веб-производительности. У вас есть три секунды. После этого ваши пользователи уходят. Исследования Google показывают, что 53% мобильных пользователей покидают сайт, если он загружается дольше 3 сек...

JavaScript · 2 мин чтения

Использование React Refs и хука useRef

Использование React Refs и хука useRef. React использует декларативный подход. Вы обновляете состояние, и React обновляет пользовательский интерфейс. Это работает для большинства задач. Но иногда вам нужно выйти за рамки...

JavaScript · 2 мин чтения

Почему использование индекса в качестве ключа в React — плохая идея

Почему использование индекса в качестве ключа в React — плохая идея. Вы создаете динамический список в React. Удаляете один элемент, и вдруг состояние интерфейса другого элемента меняется. Или вы сортируете список, и...

JavaScript · 2 мин чтения

Отслеживайте посетителей сайта в реальном времени без подписок

Отслеживайте посетителей сайта в реальном времени без подписок. Клиент хотел видеть, кто находится на его сайте в режиме реального времени. Им понравился виджет Tidio, но они не хотели платить за подписку...

JavaScript · 2 мин чтения

Мой ИИ-агент для кодинга помнил сессии, а не саму работу

Мой ИИ-агент для кодинга помнил сессии, а не саму работу. Агент для написания кода может поддерживать поток активным, но при этом казаться забывчивым. Я столкнулся с этой проблемой при создании CliGate. Я исправил продолжение сессий…

JavaScript · 2 мин чтения

TypeScript: ключевое слово using и явное управление ресурсами

TypeScript: ключевое слово using и явное управление ресурсами. Утечки памяти в продакшене часто возникают из-за одной ошибки: разработчики получают ресурсы, но не освобождают их. Подключения к базе данных...

JavaScript · 2 мин чтения

Как я обновил все филиалы, не притронувшись ни к одному компьютеру

Как я обновил все филиалы, не притронувшись ни к одному компьютеру. Я разработал внутренний десктопный инструмент на базе Electron. Он работает на компьютерах во множестве филиалов. В этих офисах есть раз…

JavaScript · 2 мин чтения

My Backup Lost Every Photo

My Backup Lost Every Photo I built a backup button for an offline mood tracker. It exported data to a JSON file. Users could save it and move it to a new phone. It seemed perfect.…

JavaScript · 2 мин чтения

Почему ваш сайт, созданный «на вайбе», никогда не попадет в топ

Почему ваш сайт, созданный «на вайбе», никогда не попадет в топ. В прошлом месяце один основатель показал мне сайт. Он выглядел отлично: плавная анимация и хлесткие тексты. Он собрал его за один день, используя A…

JavaScript · 3 мин чтения

Собственный интернет-магазин на Firebase

Собственный интернет-магазин на Firebase. Я разработал индивидуальный интернет-магазин с нуля, не используя готовые платформы. В работе я использовал Firebase Realtime Database и Netlify. Целью было…

JavaScript · 2 мин чтения

Подписанный токен между двумя PWA: HMAC SHA256 без бэкенда

Подписанный токен между двумя PWA: HMAC SHA256 без бэкенда. Вам нужно передать идентификатор пользователя из одного PWA в другой. Оба приложения работают в разных проектах Firebase. У них нет общих данных...

JavaScript · 2 мин чтения

Создайте своего первого Discord-бота на JavaScript

Создайте своего первого Discord-бота на JavaScript. Вы хотите создать Discord-бота. Возможно, вы видели ботов, которые играют музыку или проводят опросы, и задавались вопросом, как они устроены. К концу этой серии…

JavaScript · 2 мин чтения

Почему я вернулся к JavaScript спустя 7 лет

Почему я вернулся к JavaScript спустя 7 лет. Я UI-разработчик с 7-летним опытом. Я знаю HTML и CSS. Я умею превращать дизайн из Figma в код. Но я никогда не чувствовал себя настоящим де…

JavaScript · 2 мин чтения

Вы не используете связанные списки. Но на них работает половина вашего ПО.

Вы не используете связанные списки. Но на них работает половина вашего ПО. Скорее всего, вы никогда не будете писать связанные списки в реальных JavaScript-проектах. Встроенные массивы вашего языка...

JavaScript · 2 мин чтения

Когда React говорит о ререндере, это означает три вещи

Когда React говорит о ререндере, это означает три вещи. Когда вы вызываете setState, React не просто обновляет DOM. Он последовательно выполняет три отдельных этапа. Большинство разработчиков путают...

JavaScript · 2 мин чтения

100 дней, 87 инструментов, ноль серверов

100 дней, 87 инструментов, ноль серверов. Я потратил 100 дней на создание ToolKnit. Это набор из 87 браузерных инструментов. Большинство сайтов с инструментами работают так: вы загружаете файл, а сервер обрабатывает…

JavaScript · 2 мин чтения

Я провел собеседования с 5 кандидатами на техническую должность

Я провел собеседования с 5 кандидатами на техническую должность. На прошлой неделе я собеседовал пять кандидатов на роль frontend-разработчика. У них был разный опыт и разные навыки. К концу дня…

JavaScript · 2 мин чтения

Фрагменты GraphQL: пусть каждый компонент сам управляет своими данными

Фрагменты GraphQL: пусть каждый компонент сам управляет своими данными. Поначалу GraphQL-запросы выглядят аккуратно: один запрос получает все необходимые данные. Но затем ваше приложение растет, и запрос страницы начинает собирать поля…

JavaScript · 2 мин чтения