Category : javascript

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
javascript
Это под силу даже веб-разработчику! Размышляю, как создать драйверы на JavaScript с API WebUSB

Привет! Я Игорь Кечайкин, руководитель группы разработки во Frontend-команде Flocktory. Недавно, решая задачу, связанную с API WebUSB для Fingerprint-атрибуции пользователя, задался совершенно не связанным теоретическим вопросом: а как создать с этим API  драйверы на JavaScript?Чтобы разобраться, изучил спецификацию API WebUSB, а теперь принёс на Хабр выжимку самых важных элементов. В статье я расскажу о принципах работы решения и том, что с ним делать веб-разработчику, который хочет напрямую р…

  • суббота, 12 апреля 2025 г. в 00:00:04
javascript
Как заставить TS работать на вас

Привет! Меня зовут Дмитрий, и я уже много лет работаю с TypeScript. За это время я был частью разных команд с разным уровнем владения этим языком, в том числе тех, кто только готовился перевести проект с JavaScript. И нередко я замечал, что разработчики воспринимают TypeScript не как инструмент, упрощающий работу, а как рутинную обязанность, которая лишь замедляет процесс. В этой статье я расскажу, как сделать TypeScript своим союзником и заставить его работать на вас, а не против. Первая встре…

  • пятница, 11 апреля 2025 г. в 00:00:04
javascript
Как создать веб-приложение со своей картой: подключение API v3 Яндекс Карт

Сколько карт установлено на вашем смартфоне? Попробуйте ответить на этот вопрос и задумайтесь, как часто их добавляют разработчики приложений. Кто-то отмечает на картах свои магазины, кто-то — делает проекты в духе Zenly, другие — показывают зоны доставки еды и т. д. Если вам тоже пришлось «вшить» в свое веб-приложение карты, запаситесь терпением. В инструкции рассказываем, как это сделать и настроить тестовое окружение с IDE в облаке. Подробности под катом! Введение: зачем инструкция, если…

  • четверг, 10 апреля 2025 г. в 00:00:05
javascript
Решаем фундаментальную проблему асинхронных JavaScript-ошибок

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

  • четверг, 10 апреля 2025 г. в 00:00:04