React обеспечивает предсказуемость и прозрачность UI при условии соблюдения его модельных ограничений: однонаправленный поток данных, детерминированный рендер на основе props и state, а также явное управление побочными эффектами. На практике даже опытные команды допускают архитектурные и эксплуатационные огрехи: сохраняют производные значения в состоянии, инициируют внешний код в эффектах без необходимости, пересоздают функции на каждом рендере, маскируют ошибки ремоунтом по key и преждевременн…
Даже если вы никогда не заглядывали «под капот» фреймворков, Svelte 5 — отличный повод это сделать. Вместо сухих теорий мы шаг за шагом разберём, как привычный HTML-подобный код Svelte превращается в быстрый JavaScript, способный работать без лишнего балласта. Автор статьи, Тан Ли Хау из сообщества Svelte, показывает этот процесс на простых примерах, так что вы сможете буквально «скомпилировать» Svelte у себя в голове и понять, как на самом деле работает ваш код.Давайте освежим в памяти, как мы…
В первой части я рассказывал об основах LESS: переменных, миксинах, и некоторых приёмах. А сегодня мы поговорим о вещах, оставшихся в прошлый раз нераскрытыми:Как автоматически проверять графические файлы, подготовленные художником для сайта или приложения, в процессе компиляции LESS-кода в CSS;Как из картинок генерировать CSS для контролов;Как сделать интерфейс более адаптивным при помощи автоматически масштабируемых изображений;Как использовать вложенность классов совместно с семантической ра…
В мире frontend есть проблема: многие разработчики плохо ориентируются в структурах данных и не умеют их грамотно применять, чтобы получать эффективные и производительные решения своих задач. Мы, Руслан Мирзоев и Тимофей Соломенников, разработчики онлайн-кинотеатра PREMIER, хотим поделиться своим опытом и на реальных примерах показать, что даёт правильное использование структур данных. Если сейчас выбор структуры данных вызывает эмоции, как у персонажа на иллюстрации, то давайте вместе разбира…
Что делать, когда твой ребёнок признаёт только это приложение? Вот не хочет пользоваться аналогами, и всё тут! Как убрать недостатки в такой ситуации и добавить достоинств? Об этом и поговорим.Какие недостатки YouTube Kids я хотел бы убрать?Невозможно сделать раздачу исключительно русскоязычной. Это может быть особенно плохо, например, для детей с аутизмом, у которых спец-интерес после просмотра мультиков может проявиться в английском (или любом другом) языке, с нежеланием говорить по-русски.Не…
В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов разработки. Сегодня мы сосредоточимся на хуке «useScript», одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React.Github: https://github.com/sergeyleschev/react-custom-hooks import useAsync from "../useAsync/useAsync" export default function useScript(url) { return useAsync(() => { …
Привет, меня зовут Дмитрий, и я руководитель фронтенд-разработки в компании Интелси. В данной статье я хочу подробно разобрать enum в TypeScript, чтобы было понятно, что это такое, для чего нужно и почему это работает именно так.Давайте создадим простой enum, который в качестве ключа будет содержать название профессии, а в качестве значения то, чем обычно занимается представитель данной профессии (врач лечит, учитель обучает):enum ProfessionAction { doctor = 'treat', teacher = '…
Привет! Я — Александр Дудукало, автор базового курса по JavaScript. Кажется, пришло время поговорить о массивах. Не просто поговорить, но еще и разобрать полезные примеры, которые помогут узнать о них больше. В этой статье я доступно расскажу, что такое массивы, какие у них особенности и для чего они вообще нужны. Заваривайте чай, открывайте редактор кода на своем компьютере для экспериментов — начнем разбираться!Что такое массивыЕсли вы начали изучать JavaScript, то наверняка уже знакомы с так…
Привет, Хабр. Давайте о больном. У вас 5+ лет опыта, вы уверенно решаете сложные задачи, менторите джунов и знаете свой стек досконально. Вы чувствуете себя сеньором. Но раз за разом на собеседованиях вам либо предлагают позицию Middle+, либо дают оффер с зарплатой, которая явно не дотягивает до сеньорской.В чем проблема?Проблема в том, что вы пытаетесь измерить свой уровень одномерной линейкой «знания технологий». А в голове у адекватного нанимающего менеджера — многомерная система координат.К…