Category : javascript

javascript
История одного архитектурного круга: реактивность Vue

Vue снова меняет способ обновления интерфейса. Во фреймворке появляется Vapor — режим рендеринга, который позволяет точечно менять страницу без виртуального DOM. Для разработчика привычный код при этом почти не меняется. Возникает логичный вопрос: если прежняя модель работала, зачем Vue понадобилось снова переделывать одну из ключевых частей фреймворка?Возможно, ответ в том, что Vue сделал круг в своём развитии. Его первые версии обновляли конкретные части страницы напрямую. Затем фреймворк пер…

  • среда, 12 августа 2026 г. в 00:00:13
javascript
Автоматизированное тестирование Webauthn с помощью Playwright

Авторизация — это сложно… Хотя казалось бы — самая часто используемая фича в мире. Очень многие процессы завязаны на авторизации и аутентификации. Начиная от ваших любимых соцсетей и заканчивая редакторами кода.Часть 1. Описание проблемыОбычной почты/пароля должно было хватать. А потом у нас появился social login (login via google, yandex, vk, facebook*). А совсем недавно начался тренд на использование 2-х факторной аутентификации, ибо безопасность — ничего не имею против. Я, как и все мы, наде…

  • среда, 12 августа 2026 г. в 00:00:07
javascript
Как не начать кодить слишком рано?

Часто разработка начинается с кода. Есть идея - мы открываем IDE, создаём проект и начинаем писать. Не задумываясь о том, что в этот момент мы ещё можем не понимать, какую проблему решаем и что вообще должна делать система.В этой статье разберём путь от пользовательской потребности до реализации: UCD → FR/NFR → KISS → компонентная разработка → код.С чего начинается задача?Представим, заказчик приходит с простой формулировкой:Нам нужен сайт, на котором студенты смогут смотреть расписаниеНа первы…

  • среда, 12 августа 2026 г. в 00:00:05
javascript
Kotlin? Swift? Flutter? Нет, кириллица: пишем production-приложение с картой и push-ами на 1С: Элем…

Привет, Хабр! (И тебе, 1С-ник, который открыл статью только чтобы убедиться, что пока точно не надо изучать новый продукт. И тебе, питонист, который сейчас будет морщиться. И тебе, мобильный разработчик, который уверен, что без Kotlin/Swift нормальное приложение не родится - держи кружку крепче.)Эта статья будет посвящена технологии, на которой можно написать своё мобильное приложение за пару дней. И я вам на примере реализованного мною полноценного проекта логистического приложения покажу, что…

  • вторник, 11 августа 2026 г. в 00:00:10
javascript
Размытая граница между состояниями CSS и событиями JavaScript

CSS «слушает» нас. Нет, не в буквальном смысле. Суть в том, что в CSS появляется все больше псевдоклассов, которые позволяют реагировать на события JS без необходимости писать сам JS. Формально псевдоклассы отслеживают состояния, а не события, но порой они настолько похожи на обработчики событий, что разница становится почти незаметной (хотя в контексте CSS это не так уж важно).Впрочем, что вообще сегодня представляет собой CSS? Например, в спецификации Animation Triggers есть предложение добав…

  • вторник, 11 августа 2026 г. в 00:00:09
javascript
Agent Skills в npm-пакетах: доставка агенту знаний о библиотеке

Когда ИИ-агент сталкивается с незнакомой библиотекой, он обычно исследует установленный пакет: находит точку входа, читает типы и исходный код, ищет README, примеры и тесты. Так можно разобраться практически с любой зависимостью.Но исходный код рассказывает о библиотеке слишком подробно и только со стороны реализации. По нему приходится восстанавливать назначение компонентов, публичные границы, порядок подключения, принятые соглашения и типичные ошибки. Агент тратит на это время и контекст моде…

  • вторник, 11 августа 2026 г. в 00:00:07
javascript
Вторая копия Vue: как лишняя строка в lockfile повесила Chromium

Сначала это выглядело как обычные капризы дев‑стендов: страница начинала загружаться и никогда не заканчивала. Консоль хранила молчание, логи nginx тоже не показывали ничего подозрительного. Самое странное — проблема проявлялась только в браузерах на базе Chromium, а Firefox и Safari вели себя так, будто ничего не произошло. Стенды у нас славятся нестабильностью, а команда была по уши в упаковке релиза и других задачах — баг просто списали на среду, пожали плечами, переключились на Firefox и пр…

  • понедельник, 10 августа 2026 г. в 00:00:15
javascript
Отдали базу штрихкодов статикой: 1,9 МБ, 1387 шардов, медиана в одну строку

У браузерного сканера штрихкодов есть неудобная развилка. Чтобы показать, что за товар человек держит в руках, надо сходить в товарный API — и отдать туда номер, IP и время. По одному запросу это ничего; по потоку запросов это фактический чек, собранный чужими руками.Второй путь: скачать базу один раз, порезать на файлы по префиксу номера и раздавать статикой. Браузер берёт нужный файл и ищет сам.Разбираем второй путь: как устроен, сколько приватности при этом всё равно утекает — а утекает — и …

  • воскресенье, 9 августа 2026 г. в 00:00:16
javascript
ИИ Агент для скоринга торговых рекомендаций

Исходный код, разобранный в статье, опубликован по ссылкеВ интернете полно людей, которые рекомендуют купить или продать актив, показывают win rate и красивые графики доходности. Проблема в том, что их статистика принадлежит им самим: неудачный сигнал можно удалить, удачный оставить, а результат посчитать от удобной точки входа. По итоговой ленте невозможно отличить талант от хорошо отредактированной историиТорговые рекомендацииНепонятны две вещи.1. Удаляет ли автор свои рекомендации задним чис…

  • воскресенье, 9 августа 2026 г. в 00:00:10