Category : javascript

javascript
Разрабатываем PWA. Полная инструкция по работе с Web App Manifest и Service Worker

Привет! Меня зовут Сергей Васильев, я фронтенд-разработчик в AGIMA. Наша команда часто работает с PWA — прогрессивными веб-приложениями. Они стали особо популярны в последние три года, когда из-за санкций некоторым корпорациям пришлось отказаться от мобильных приложений. Но и раньше многие компании с интересом смотрели на это решение.Ниже расскажу, как сделать из обычного веб-приложения прогрессивное: вместе настроим Web App Manifest и Service Worker. Если вам еще не доводилось работать с PWA —…

  • пятница, 18 апреля 2025 г. в 00:00:04
javascript
Охота за 100% покрытием: как собрать все метрики воедино в монорепозитории Nx

Монорепозитории становятся всё более популярными и инструмент Nx уже давно зарекомендовал себя как мощное решение для их поддержки. Он упрощает управление зависимостями, автоматизирует задачи генерации кода, обеспечивает кэширование сборок и, конечно же, помогает запускать тесты и оценивать покрытие кода. Однако стандартный подход Nx при запуске тестов через Jest имеет одну особенность: для каждого проекта создаётся свой собственный отчёт.Проблема разрозненных отчётовКогда запускается тестирова…

  • четверг, 17 апреля 2025 г. в 00:00:04
javascript
Как я вуз автоматизировал. Штурм веба

Здравствуйте.Меня зовут Андрей.  Работаю я в государственном вузе. И, как водится, в такого рода учреждениях люди, которые занимаются компьютерами, занимаются ими в широком смысле слова.Первая часть этой истории находится тут. Там можно почерпнуть некоторую информацию о том, что из себя представляет описываемая мной система.  Хотя бы в части устройства базы данных.  А база это наше все!Я не отношу себя к реальным программистам, так как не было опыта работы в команде со всеми вытекающими. По это…

  • среда, 16 апреля 2025 г. в 00:00:08
javascript
Параллельный цикл на worker. Многопоточность JS

Мне очень нравится JavaScript своей легкостью, доступностью и функциональностью. Он перекрывает 90% всех моих потребностей в программировании. Спектр решаемых с помощью него задач огромен, и в том числе, иногда возникают задачи в которых необходимо изменить каждый элемент массива независимо от остальных элементов. Одно из типовых решений этой задачи через цикл или метод map.Пример программы с простым циклом//Функция, изменяющая элемент массива function f(a) { let a0 = 1; for (let i = 0; i &…

  • вторник, 15 апреля 2025 г. в 00:00:06
javascript
Как я oauth proxy навайбокодил

Чем хорош TRMNL -- так это возможностью выводить что-то своё за считанные минуты.С помощью "Private Plugins" можно взять ссылку, что отдаёт JSON (недавно добавили поддержку XML и сырого текста), рисуем простой шаблон на HTML с Liquid, готово! Для пущей динамики возможе неще и javascript, что позволяет выводить графики. Можно опубликовать для других пользователей, можно брать опубликованное другими и либо использовать как есть -- либо подправить под себя. Раздолье!График сахара -- пять м…

  • вторник, 15 апреля 2025 г. в 00:00:05
javascript
Плавность как фича: сравниваем фреймворки по анимации UI на реальных кейсах

UI-анимации — это не только про красоту, но и про восприятие, структуру и даже скорость. В этой статье рассматриваются популярные фреймворки для создания анимаций в интерфейсах: CSS, Framer Motion, GSAP и Motion One. Сравнение проводится на реальных кейсах с кодом, примерами и субъективным мнением, где каждый инструмент показывает свои сильные и слабые стороны. В конце — небольшие выводы и неожиданные результаты. Когда "просто появляется" уже не работаетПару лет назад дизайнер принес м…

  • вторник, 15 апреля 2025 г. в 00:00:03
javascript
Reconciliation в React, обновления виртуального DOM: что это и как работает под капотом простыми сл…

Привет, меня зовут Дмитрий, я React-разработчик и в статье хочу снова рассмотреть тему, которая у всех на слуху, однако «подкапотной» информации по ней не так много. Всем известно, что React обновляет компоненты, когда это необходимо, но как это происходит на самом деле, «под капотом»? Постараюсь описать суть простыми словами. Давайте разберемся вместе — что мне удалось узнать.Reconciliation в React — это процесс обновления виртуального DOM, при котором React определяет, какие части интерфейса …

  • вторник, 15 апреля 2025 г. в 00:00:02
javascript
Обнаружение изменения положения DOM элемента с помощью IntersectionObserver

Это перевод моей статьи: Detecting size and position change of a DOM element as a result of scroll, resize or zoom with IntersectionObserver.Недавно мне понадобилось решение для наблюдения за изменением положения элемента DOM, чтобы соответствующим образом подстраивать другой элемент, который может быть размещен как рядом, так и выше или ниже наблюдаемого элемента. Мне не удалось найти готового решения, которое бы удовлетворяло моим потребностям: при любых обстоятельствах надежно обнаруживать л…

  • суббота, 12 апреля 2025 г. в 00:00:06
javascript
Организация задач на новом уровне: интеграция Google Sheets и Telegram-бота для эффективного планир…

Привет, Хабр!Меня зовут Евгений, и в этой статье я хочу рассказать, как я создавал свой таск - менеджер на базе Google Sheets и TelegramВведениеВ современном мире, насыщенном информацией и обязанностями, управление временем и задачами становится критически важным навыком. Многие из нас используют различные приложения и инструменты для планирования, однако зачастую они не обеспечивают необходимой гибкости, удобства и функциональности.Работая в ИТ-сфере и совмещая несколько ролей, в том числе рук…

  • суббота, 12 апреля 2025 г. в 00:00:05