Category : javascript

javascript
Принцип работы async/await в JavaScript

Если вам доводилось работать с JavaScript, то вы наверняка встречались с синтаксисом async/await. Эта функциональность позволяет прописывать асинхронную логику синхронным образом, упрощая тем самым её понимание. Некоторым ветеранам JS известно, что async/await – это просто синтаксический сахар для существующего Promises API. Это означает, что в JS должен быть способ реализации функциональности async/await без использования ключевых слов async и await, хоть и более громоздкий. Именно об этом …

  • понедельник, 11 сентября 2023 г. в 00:00:14
javascript
Vite плагин для удобной работы с Web Workers

Привет, Хабр! Я участвую в разработке крупного Web приложения и мы с коллегами на этапе проработки и планирования архитектуры пришли к выводу о необходимости выносить всю логику приложения в отдельный поток Web Worker, т.к. предполагается большое число фоновых операций и вычислений. К чему это привело? Сложности? Пути их решения? Обо всем попорядку.ВведениеВ современной веб-разработке постоянно ищутся способы оптимизации производительности и обеспечения плавности работы приложений. Одним из на…

  • воскресенье, 10 сентября 2023 г. в 00:00:12
javascript
Как отправлять пользовательский интерфейс по API

Есть приём, позволяющий совершенно по-новому представить работу с пользовательскими интерфейсами (UI). Можно передавать UI на клиент через различные API – так получаются серверно-управляемые пользовательские интерфейсы. Такой метод позволяет выйти на новый уровень гибкости и динамичности, трансформирует традиционные парадигмы разработки UI. Серверно-управляемые UI существуют совсем не только в теории. Их внедряют некоторые крупнейшие игроки технологической индустрии. В качестве примеров мож…

  • суббота, 9 сентября 2023 г. в 00:00:18
javascript
Создатель Ruby on Rails: «Turbo 8 отказывается от TypeScript»

Контекст: Turbo — это как htmx, т.е. с идеей передачи html между бэкендом и фронтендом и управлением состоянием на бэкенде, но от создателя Basecamp (сервиса менеджмента проектов), HEY (email-сервиса) и фреймворка Ruby on Rails. — прим. перевод.По общему мнению, TypeScript стал большим успехом для Microsoft. Я видел множество сияющих от радости людей, напичкавших JavaScript типами, которые могут быть проверены компилятором. Но я никогда не был его поклонником. Ни через пять минут размышлений, …

  • суббота, 9 сентября 2023 г. в 00:00:17
javascript
Проблема код-ревью: ESLint — больше, чем просто «extend»

На код-ревью зачастую тратят слишком много времени и энергии. Перфекционизм часто заставляет размениваться на мелочи вместо сути, а холивары разрушают команды. Хотя есть специальные инструменты, задача которых автоматизировать процесс и убрать лишние споры, это часто не работает. Ведь всё взаимодействие с ESLint сводится к extend’у от популярных конфигурации типа airbnb. Проблема в том, что эти конфигурации не покрывают даже малую часть того, что на самом деле может ESLint.Чтобы исправить ситу…

  • пятница, 8 сентября 2023 г. в 00:00:21
javascript
Повышаем продуктивность разработки: магия общей ESLint конфигурации

Всем привет! Меня зовут Дмитрий Пашкевич, я Frontend разработчик. Эта статья не просто туториал по созданию единой ESLint конфигурации, которую можно переиспользовать между проектами. Это история решения боли диcкуссий о форматировании кода на ревью от проекта к проекту.Статья будет полезна разработчикам: которые хотят унифицировать подход к форматированию кода в разных проектах; ищут проверенное решение для стандартизации кодовой базы.Зачем нужен единый плагин/конфиг ESLint?Единое форматирова…

  • четверг, 7 сентября 2023 г. в 00:00:14
javascript
Ускорение в 30 раз — requestIdleCallback

В данной статье я хотел бы привести пример практического кейса использования метода requestIdleCallback, который возник у меня на проекте. Кейс сам по себе небольшой, замеры времени отработки функции и отрисовки компонентов для использования производились с помощью React Profiler.Хотелось бы сразу сказать, что статья может быть не чем-то новым, но может оказаться полезной в плане практического понимания того, где может пригодиться requestIdleCallback и как он может быть использован.Коротко о п…

  • четверг, 7 сентября 2023 г. в 00:00:13
javascript
Как грамотный подход аналитиков может сэкономить бюджет компании за счет изменения подхода к реализ…

Привет, Хабр! Меня зовут Лена Махова, я работаю системным аналитиком в РСХБ‑Интех. Бывают ситуации, когда нужно решить проблему бизнеса и сократить время на разработку. Так случилось и у нас, когда пришел заказ от смежников доработать интеграцию в части передачи значения «номер ИД» (исполнительный документ). В материале рассказываю, как мы решили эту задачу, и даю шаблон кода решения, чтобы при желании вы также могли им воспользоваться.Аналитик достаточно часто встречается с ситуациями, когда …

  • четверг, 7 сентября 2023 г. в 00:00:13
javascript
Обертка для indexedDB / localStorage /…

Библиотека storage-facade, о которой пойдет речь в этой статье, предоставляет единый синхронный / асинхронный API хранилища, являющийся абстракцией над реальной реализацией хранилища. Для конечного пользователя она упрощает использование любых хранилищ, для которых абстрактный класс из storage-facade будет реализован. Как автор этой библиотеки, расскажу о её использовании.Есть реализации для IndexedDB, localStorage, sessionStorage, обёртка для Map.Рассмотрим самый простой вариант, storage-faca…

  • четверг, 7 сентября 2023 г. в 00:00:12