Здравствуйте, меня зовут Дмитрий Карловский, и я.. пилил веб-компоненты, когда их ещё не придумали, делал полноценные компоненты на AngularJS, когда там ещё были только директивы, и разработал компоненто-ориентированный фреймворк $mol с инверсией контроля и статической типизацией, когда это ещё не было мейнстримом. Короче, я немного в теме. И сейчас я расскажу вам, почему мы сразу отказались от Web Components и почему у них нет никаких перспектив. Немного истории В десятых годах веб усложнил…
Про начало разработки я писал в предыдущей статье. Напомню — я разрабатываю простенький 3D-редактор для моделирования под 3D-печать. С простым интерфейсом и, самое главное, работой прямо в браузере. Естественно, это будет не полноценная САПР, но для обучения и простенького проектирования функционала должно хватать.Целился я в нечто среднее между Tinkercad и Fusion360. Одной из задач было обойтись без сервера, т.е. работа на стороне клиента, а также быстрая работа. Поэтому в качестве основы я вы…
Меня всегда веселили люди, которые заявляют, что они "знают ЯП". Посмотрим на это на примере человеческого языка, словарный запас среднестатистического россиянина 30к слов. Минимально зафиксированное кол-во слов, которое содержит русский язык 200к. Только лишь этого хватает что бы сделать вывод — мы знаем собственный язык на 15%. А если считать еще и общую грамматику, правописание, пунктуацию, то думаю реалистичным числом будет 5%-10%, а кто-то вообще обходится в 2% и прекрасно себя чув…
Иногда хочется выгрузить список треков из плейлиста Яндекс Музыки — например чтобы:сохранить треклистперенести музыку в другой сервиссделать бэкаппроанализировать плейлистЕщё одна причина — версии треков. Иногда в каталоге Яндекс Музыки встречаются отредактированные версии песен (например, с запиканной ненормативной лексикой или изменёнными строками). Поэтому бывает полезно сохранить исходный список треков из плейлиста, чтобы при необходимости найти оригинальные версии композиций в других серви…
Примерно год назад я написал статью о том, как настроить OTA-обновления в Capacitor-приложении с помощью capacitor-updater. Подход работал, но со временем код стал разрастаться в одном компоненте и превратился в ту самую "кашу", с которой обычно начинают, а потом рефакторят. В этой статье еще раз разберем механизм обновления, и как я переписал систему обновлений с нуля — с нормальной архитектурой, двумя стратегиями обновления и отдельным слоем для работы с GitHub Releases.Зачем это нужн…
Последнюю пару лет мы наблюдали существенный рост сообщества e18e и связанного с этим увеличения количества коммитов, направленных на повышение производительности. Во многом причиной этого стала инициатива по «очистке»: сообщество избавлялось от избыточных, устаревших или неподдерживаемых пакетов.В процессе такой работы одной из самых часто поднимаемых тем становится «раздувание зависимостей»: деревья зависимостей npm со временем становятся больше, и зачастую это вызвано давно уже избыточным ко…
Привет, Хабр!У Node.js исторически была проблема с отменой операций. Запустил HTTP‑запрос — жди, пока не ответит или не упадёт по таймауту. Читаешь огромный файл — читай до конца. Запустил пачку промисов — сиди, смотри, как они доедают ресурсы. Механизма сказать «стоп, хватит» в языке просто не было. Кто‑то мастерил свои костыли на флагах, кто‑то использовал библиотеки вроде p-cancelable, но единого стандарта не существовало.AbortController эту проблему решает. Пришёл он из браузерного API (там…
В Angular v21 у разработчиков появится новый, пока что экспериментальный, способ создавать формы: Signal Forms.После многих лет работы с формами, управляемыми шаблоном, template-driven forms (ngModel), и реактивными формами, reactive forms (formGroup/formControl), у нас появился третий подход, целиком основанный на сигналах и доступный в пакете @angular/forms/signals.Это первая часть нашей серии о Signal Forms в Angular. В этой статье мы разберем основы: создание форм, обработку отправки и доба…
JavaScript — редкий язык, который одновременно является «родным» для браузера и при этом давно вышел за пределы фронтенда: на нём пишут бэкенд, десктопные приложения, мобильные клиенты и даже игры. При этом вокруг JS всё ещё много путаницы — от «Java и JavaScript это одно и то же» до «фронтенд = кнопочки».В этом интервью я, Александр Шулепов (телеграм-канал Shulepov Code), поговорил с Дмитрием Колотильщиковым — старшим разработчиком и автором канала «ИТ‑интроверт» — о том, как войти в профессию…