Category : javascript

javascript
Как мы вшили нагрузочное тестирование в CI/CD, чтобы не хоронить фичи в проде глубокой ночью

Привет Хабр! Я Дима, DevOps-инженер в IT-компании. Эпик-фейлы бывают разные. Можно забыть закоммитить config.json. А можно так упаковать новый эндпоинт, что всё апи ляжет костьми в час-пик и будет тихо плакать под лавиной реквестов. Ручные нагрузочные тесты — это как проверять тормоза на уже летящем с горы автомобиле. Сегодня говорим о том, как автоматизировать эту магию — вшивать проверку производительности прямо в CI/CD, чтобы не краснеть перед продом и спокойно спать по ночам. Запускайте сво…

  • суббота, 13 сентября 2025 г. в 00:00:08
javascript
Nextjs SSR vs SSG. Приготовить заранее или испечь по заказу? Гайд по рендерингу для пиццерий и разр…

Cowabunga, друзья!На связи Игорь, frontend-разработчик компании fuse8. Даже если вы не застали легендарный мультсериал 90-х, вы наверняка слышали о четырех черепашках-мутантах в цветных банданах, которые мастерски владеют мечом, нунчаками, парой сай и бо… и которые без ума от пиццы. Но проходят дни, пролетают года и вот уже Шреддер повержен, Крэнг изгнан, и что остается делать нашим уже далеко не подросткам черепашкам-ниндзя. Правильно! Открывать свою пиццерию.Казалось бы — идеальный план, одна…

  • суббота, 13 сентября 2025 г. в 00:00:08
javascript
Создание интерактивного макета. Задача упаковки кругов в круг. Метод отжига

Я начала разработку интерактивного интерфейса для своего проекта «Florist». Центральным элементом сайта должен был стать интерактивный макет — с его помощью пользователь мог бы визуализировать различные цветочные дизайны, располагая в ячейках макета цветы из каталога. Я создала прототип, внедрила его в сайт и доработала окончательный дизайн до такой картинки: Концепт интерактивного макета реализован в два этапа: сначала пользователь выбирает количество цветов и форму букета из предложенных вар…

  • пятница, 12 сентября 2025 г. в 00:00:07
javascript
Push-Notifications в PWA и браузере: полная реализация без сторонних сервисов

Service Worker + Push API + VAPID ключи + Notifications API = полноценные push-уведомления в браузере. Никаких внешних сервисов, полный контроль над функциональностью.В отличие от нативных приложений, веб-push не требует установки, обновляется автоматически и работает на всех платформах. Единственная сложность — особенности iOS, где Apple добавила поддержку только в 2023 году.Архитектура push-уведомленийСистема push-уведомлений — это сложная экосистема из четырех компонентов. Они работают вмест…

  • пятница, 12 сентября 2025 г. в 00:00:06
javascript
Почему браузеры ограничивают JavaScript таймеры?

Команда JavaScript for Devs подготовила перевод статьи о том, почему браузеры намеренно замедляют выполнение setTimeout и других таймеров. Автор объясняет, как это связано с защитой пользователей, рассказывает о своём бенчмарке разных подходов (setTimeout, MessageChannel, scheduler.postTask) и делает прогноз, какие таймеры будут использоваться в будущем.Даже если вы давно пишете на JavaScript, вас может удивить, что setTimeout(0) на самом деле не совсем setTimeout(0). Вместо этого колбэк может …

  • пятница, 12 сентября 2025 г. в 00:00:05
javascript
Прочитал документацию и подготовил обзор библиотеки Motion для React и её возможностей

Что представляет из себя данная статья?Когда я начал разбираться с Motion для React, то оказалось, что свежих обзорных статей почти нет — нашёл только несколько старых постов про framer-motion. Поэтому я решил написать свой обзор: перевёл и разобрал документацию (ссылки в конце), попробовал библиотеку в деле и собрал всё в одном месте. В статье есть примеры кода, GIF-анимации и описание хуков, которых, по моему личному мнению, достаточно, чтобы понять Motion, и, возможно, попробовать его руками…

  • пятница, 12 сентября 2025 г. в 00:00:03
javascript
Как мы обманули Mozilla и почти взломали коллег

Привет, Хабр!  Я Ксюша, младший специалист по безопасности конечных устройств в Selectel. Мы с командой ежегодно проверяем наших сотрудников на внимательность с помощью фишинг-тестов. В этот раз решили отойти от формулы привычного фишинга и сделать что-то новое. Написали браузерное расширение на JavaScript, убедили Mozilla  в своей честности, запустили весьма правдоподобную рассылку для сотрудников и немного поиграли на чувствах тех, кто верит, что ИИ будет работать за нас. Подробности под като…

  • пятница, 12 сентября 2025 г. в 00:00:02
javascript
Как я начал писать unit-тесты для Vue. Part deux: год спустя…

Итак, прошел год с предыдущей серии, многое поменялось, из каждого утюга сообщают, что вот-вот нейронки заменят всех и вся, а я всё также тружусь во fuse8 и пишу тесты для vue-компонентов. В этой серии мы поговорим интеграции с mock service worker (msw). Так же опишу, что пытался внедрить в борьбе за живучесть, что из этого получилось, а что — не очень. Ну что, помогли тебе твои тесты? Я не могу сказать, что временные затраты с лихвой окупились, но то, что это была не пустая трата времени — …

  • среда, 10 сентября 2025 г. в 00:00:09
javascript
SRE на Frontend`е

На хабре уже есть статьи про качество кода (линты, хинты, хорошие практики), стратегии обработки ошибок (feature toggle, request retry) и UX/UI их отображения.Это еще одна статья про разбор ошибок и аварий, но с точки зрения небольших фич фронта, которые вы можете внедрить самостоятельно и упростить свою работу, а также помочь отделу в целом.До того, как ошибка попала в продТестировщики пишут тесты. В рамках этих тестов они работают с версткой. Их работа станет сильно проще если они смогут писа…

  • среда, 10 сентября 2025 г. в 00:00:08