Привет, друзья! В этой небольшой заметке я хочу рассказать вам о том, как я разработал игру с вопросами по JavaScript за один вечер, потому что, во-первых, мне было скучно :D, во-вторых, мне стало интересно, как быстро я смогу "запилить" подобный MVP. Вот что мы имеем на сегодняшний день. Интересно? Тогда прошу под кат. Приложение представляет собой классическое SPA и состоит из двух страниц: Экран приветствия или список вопросов. Таблица с рекордами. В приложении реализован механи…
Привет, Хабр!Сегодня мы рассмотрим тему управления памятью в JavaScript — и речь пойдет не о классическом сборщике мусора, а о возможностях с WeakRef и FinalizationRegistry. Эти инструменты помогают работать со слабыми ссылками и асинхронной финализацией объектов, открывая дорогу к более тонкой работе с памятью.Если вам надоело, что объекты висят в памяти дольше, чем нужно, и хочется управлять ресурсами без лишних утечек — эта статья для вас. Начнем!Обзор синтаксиса WeakRef и FinalizationRegist…
Недавно наткнулся на занимательный merge request по замене зависимости isNumber. Удивительно было в целом осознавать, что как такого универсального метода по определению числа в переменной нет в базовой концепции JavaScript. И данная проблема породила npm-репозиторий isNumber c почти 72 миллионами еженедельных скачиваний на сентябрь 2024 года. Но стоит ли в очередной раз использовать мизерную зависимость в своём проекте? Предлагаю взглянуть на решение, представленное в ранее сказанном mr-е.Разб…
Время — деньгиВ индустрии анимации и визуальных эффектов время — бесценный ресурс. Работая над проектами, содержащими сотни или даже тысячи слоев, переименование каждого слоя вручную превращается в изнурительную задачу, способную занять часы. Это не просто утомляет — это выбивает из творческого потока и негативно сказывается на качестве работы. Время, которое могло быть потрачено на создание анимации, уходит на приведение проекта в состояние, когда с ним "хоть как-то можно начать работать.Я…
Всем привет! Помните череду недавних анонсов от IT-гигантов, о различном ИИ-функционале, внедренном во все, что только можно? Среди этих анонсов, например, были помощники в написании текстов писем и сообщений для почтовых и других сервисов. Эти помощники могут проверить вас на ошибки, перевести текст на другой язык, поменять тональность и настроение текста, сделать его более кратким, либо, напротив, дополнить. На мой скромный взгляд, сейчас складывается такая ситуация, что создавать собственные…
Приветствую всех! В данной статье хотелось бы рассмотреть такой проект как HMPL.js. "Зачем он нужен и как благодаря нему можно сократить размеры javascript файлов с сохранением дизайна сайта?" - на все эти вопросы я постараюсь ответить.Так как данный проект является активно мной разрабатываемым, то данным блогом я бы хотел начать для себя активную отчётную деятельность, где аудитория, как в роли заказчика, а я, как в роли исполнителя, буду делать небольшие статьи о проделанной работе. Е…
Часть 1. Общее описание подходаВпервые я столкнулся с CRM-системами совершенно неожиданным для себя образом. Когда я пришел в новую компанию, то обнаружил господствующую в диспетчерской систему учета заявок — GLPI. Никогда ранее я не слышал о ней, однако, спустя какое‑то время, прилетел таск на то, чтобы подумать и воплотить в жизнь некие дашборды или наглядные отчеты по следующим критериям:общее суточное количество заявокраспределение по отделамостальные подобные метрики и их производныеGLPI п…
В этой статье мы познакомимся с эффективными приемами работы с DOM, которые помогут минимизировать потребление памяти и обеспечить высокую производительность ваших приложений. ❯ Краткий обзор Document Object Model (DOM) Когда HTML-документ отображается в браузере, созданное в памяти представление этого документа называется DOM (Document Object Model — объектная модель документа). Вот что можно увидеть в разделе "Elements" инструментов разработчика: DOM можно представить в виде дре…
Стандарт EcmascrpitВ 2017 году я написал статью, в которой показал веб-разработчикам, как они могут деплоить код ES6+ (он же ES2015) в продакшен, без необходимости транспилировать его в ES5. Этот метод был выходом для разработчиков веб-сайтов, которые хотели без ограничений писать современный код, не беспокоясь о раздувании транспилера или полифилла.К сожалению, хотя многие разработчики веб-сайтов могли использовать этот метод, большинство авторов библиотек JavaScript не могли.Авторы библиотек …