Category : javascript

javascript
Работаем с асинхронностью в Nuxt 3: сравниваем хуки из коробки и кастомный fetch

Nuxt 3 — это мощный фреймворк на основе Vue, который упрощает разработку серверно-рендерируемых и статически генерируемых веб-приложений. Одна из его особенностей — возможность работы с асинхронными данными с помощью специальных хуков. Они обеспечивают эффективное взаимодействие с API, динамическую загрузку данных и подгрузку контента. Многие знают про эти хуки, но далеко не все используют их потенциал в полной мере. Меня зовут Леша Смолыгин, я разработчик в Lamoda Tech. Разберемся, как использ…

  • вторник, 31 декабря 2024 г. в 00:00:05
javascript
Чистая архитектура фронтенд приложений. Часть вторая

ПредисловиеВ первой части я говорил общими терминами и больше рассуждал про бизнес-процессы (почитать можно тут). Далее я буду более детально углубляться в структуру проекта и частные случаи, постараюсь продемонстрировать разные подходы и порассуждать, чем они хороши или плохи. Но, для начала, еще пара общих слов. Ошибки — это норма Ошибаются все, от джунов до генеральных директоров. Важен не сам факт ошибки, а реакция на нее. Если пытаться сразу оправдать или начать отрицать ее, придумывать ку…

  • понедельник, 30 декабря 2024 г. в 00:00:10
javascript
«Непонятки» в изучении программирования

Однажды, в ходе очередной попытки освоить программирование, мне попалась переводная книга, где автор на первых страницах обещал научить программировать даже тех, кто никогда этого не делал. И в качестве примера приводил собственного сына 8 лет, которого он как бы научил тоже.Воодушевлённый таким началом я бодро взялся за чтение. И вот, где-то на первых страницах, при обсуждении типов данных, автор ничтоже сумняшеся сообщает, что целое число, которое Int, может быть Int16, Int32 и т.д., со всеми…

  • понедельник, 30 декабря 2024 г. в 00:00:08
javascript
Оптимизация React-приложений: Используем useTransition, useDeferredValue и useOptimistic для плавно…

Изображение, созданное DALL-E Веб-приложения сегодня требуют всё большей интерактивности, отзывчивости и быстродействия. В ответ на это команда React постоянно совершенствует инструментарий, позволяющий нам тонко управлять рендерингом и пользовательским опытом. Если вы работали только с классическими методами оптимизации вроде useMemo, useCallback, мемоизации компонент через React.memo и другими известными приёмами, то вас могут заинтересовать следующие хуки:useTransition - устанавливает прио…

  • понедельник, 30 декабря 2024 г. в 00:00:07
javascript
Почему важно проверять response.ok в Fetch API и почему HTTP-ошибки не вызывают отклонение промисов

Если ты читаешь эту статью, значит, ты уже начал погружаться в асинхронный JavaScript и, в частности, в работу с промисами и fetch. Как и в любом новом деле, здесь есть свои нюансы, которые важно понимать, чтобы писать надежный код. Один из таких нюансов — это проверка на response.ok. Давай разберемся, зачем это нужно и почему без этого можно попасть в неприятности.Посмотри, пожалуйста, на эту строчку кода:fetch(url).then(response => response.json()).catch(error => console.log(error))Если…

  • понедельник, 30 декабря 2024 г. в 00:00:07
javascript
Используем всю мощь JavaScript для написания счётчика. Разбор от Олега Иванова, фронтенд-разработчи…

Приветствуют читателей Хабра. Меня зовут Олег Иванов, последние пару лет являюсь фронтенд-разработчиком в ит-компании WMT Group. В этой статье не будет серьёзных рассуждений, глобальных задач и историй успеха. Скандалов, интриг и расследований из глобального ит-мира тоже не планируется.Вместо этого мы напишем функцию-счётчика на JavaScript. Несколько раз, причём всякий раз по-разному с пользой.Казалось бы, задача простейшая, даже старый-добрый to-do list куда сложнее и заковыристее. Предложени…

  • воскресенье, 29 декабря 2024 г. в 00:00:05
javascript
Порты в веб-разработке: от локальной разработки до продакшена

Эта статья предназначена в первую очередь для веб-разработчиков. Я не являюсь экспертом в области сетей, администрирования или DevOps, поэтому представленный материал не углубляется в сетевые аспекты. Из любопытства, я как то задался вопросом практического использования разных номеров портов: что они означают для разработчиков, почему используются определенные порты, и какие приложения чаще всего запускаются на них. Цель статьи — пролить немного света на эти “магические” циферки с точки зрения …

  • воскресенье, 29 декабря 2024 г. в 00:00:04
javascript
Фронт без бэка: как мы сумели собрать тысячу форм в одну систему и не потерять рассудок

Когда три года назад в июле к нам пришли с просьбой сделать фронтенд для маленькой системы документооборота, мы оценили задачу в полгода… ТЗ принесли на создание более 1000 разных форм. Обещанные нами полгода перестали казаться спокойными. Через пару недель к задаче добавились две крупные системы на 1С и ещё несколько в разработке, с бэкендами на С++ и Java. Объём работы стал выглядеть неподъёмно. Плюс основное требование — всё должно быть в едином интерфейсе. Так мы поняли, что нужно браться…

  • суббота, 28 декабря 2024 г. в 00:00:13
javascript
Как приготовить обфускацию в JavaScript и не сжечь лабораторию: AST, babel, плагины

ВступлениеВероятно каждый программист или компания, сталкивались с мыслями о своей крутости или хотя бы крутости своих алгоритмов 😎. Разумеется, в этом случае может возникнуть соответствующее нежелание делиться разработками с широкой аудиторией. Данная проблема минимизируется переносом части кода на сервер (если речь идёт о клиент-серверных приложениях). Однако, такой подход не всегда применим, и порой обстоятельства вынуждают нас оставлять чувствительные участки кода прямо на виду.В этой стать…

  • суббота, 28 декабря 2024 г. в 00:00:12