Если вы устали каждый раз писать длинное ключевое слово function при создании функций и хотите, чтобы ваш JavaScript-код выглядел компактно, то впору задуматься об использовании стрелочных функций. Привет! Меня зовут Александр Дудукало, я автор базового курса по JavaScript. В этой статье расскажу, как стрелочные функции помогают сокращать записи функций, делают код визуально чище и как использовать их без потери смысла. Также покажу, чем обычные функции проигрывают стрелочным и почему одно нель…
Service Worker на практике: стратегия stale-while-revalidate (+ готовый гист)Что делает stale-while-revalidate (SWR)Идея простая:Сразу отдать то, что уже лежит в кэше (stale).Параллельно сходить в сеть за свежей версией (revalidate).Бесшовно обновить кэш «в фоне», чтобы следующий визит был уже со свежими данными.Пользователь видит быстрый отклик, а мы — постоянно «подтягиваем» актуальный контент.Когда применять SWRСтатика: CSS/JS/шрифты/картинки (особенно CDN).API, не критичное к абсолютной све…
Когда маркетолог говорит «давайте отслеживать всё», разработчик обычно слышит «давайте усложним жизнь прямо сегодня». И, как ни странно, оба правы. Потому что базовых целей в Яндекс.Метрике вроде «клик по кнопке» или «отправка формы» хватает ровно до того момента, пока бюджет на рекламу не становится больше бюджета на кофе в офисе.С этого момента простые цели превращаются в бесполезную статистику: да, мы знаем, что форму заполнили 300 человек, но кто из них реально купил, а кто просто решил про…
ПреамбулаКак‑то на просторах интернета мне попалась интересная вещь, а именно — микроконтроллер ESP-32. Ранее я о нем слышал и даже хотел собрать себе простенькую «мыльницу». До этого тыкал ардуино (вспомнил о нем потому, что принцип программирования у них схож). В то время меня это не сильно зацепило, поэтому я бы и в этот раз прошел мимо, если бы не одно but... (Решил добавить немного междунородности в пост 👽).На данный момент я изучаю JS и было дикое желание практиковаться. Писать код в вирт…
POKEЧестно, я устал каждый месяц искать новый способ для скачивания различного контента с youtube. Что сегодня работает — завтра уже не подает признаков жизни. После очередной смерти одного из загрузчиков — я понял, что проще уже сделать свой, чем вот так тратить время на постоянные поиски.Зачем, если уже есть готовые решения?Тут все просто. Просмотрев некоторые варианты, я понял, что выбирать не приходиться. Интерфейсы есть, но они довольно ограничены в функционале и больше подходят для тех, к…
Компания Ontinue обнаружила новый тип кибератак, при котором злоумышленники внедряют JavaScript в файлы SVG. Эта техника получила название «SVG Smuggling» и позволяет незаметно перенаправлять пользователя на подконтрольные хакерам сайты.SVG — это обычно безопасный формат векторных изображений, однако при открытии или предварительном просмотре такого файла в браузере запускается скрытый скрипт. Основными целями атак становятся B2B-поставщики услуг, компании, работающие с финансовыми и кадровыми…
React обеспечивает предсказуемость и прозрачность UI при условии соблюдения его модельных ограничений: однонаправленный поток данных, детерминированный рендер на основе props и state, а также явное управление побочными эффектами. На практике даже опытные команды допускают архитектурные и эксплуатационные огрехи: сохраняют производные значения в состоянии, инициируют внешний код в эффектах без необходимости, пересоздают функции на каждом рендере, маскируют ошибки ремоунтом по key и преждевременн…
Даже если вы никогда не заглядывали «под капот» фреймворков, Svelte 5 — отличный повод это сделать. Вместо сухих теорий мы шаг за шагом разберём, как привычный HTML-подобный код Svelte превращается в быстрый JavaScript, способный работать без лишнего балласта. Автор статьи, Тан Ли Хау из сообщества Svelte, показывает этот процесс на простых примерах, так что вы сможете буквально «скомпилировать» Svelte у себя в голове и понять, как на самом деле работает ваш код.Давайте освежим в памяти, как мы…
В первой части я рассказывал об основах LESS: переменных, миксинах, и некоторых приёмах. А сегодня мы поговорим о вещах, оставшихся в прошлый раз нераскрытыми:Как автоматически проверять графические файлы, подготовленные художником для сайта или приложения, в процессе компиляции LESS-кода в CSS;Как из картинок генерировать CSS для контролов;Как сделать интерфейс более адаптивным при помощи автоматически масштабируемых изображений;Как использовать вложенность классов совместно с семантической ра…