Category : javascript

javascript
Платформер в стиле DOOM: портируем старую курсовую на чистый JavaScript

Вступление: работа, которая распалась на два проектаНесколько лет назад у нас с одногруппником был зачёт по C++, и вместо того чтобы сделать что-то скромное (например, «Калькулятор» или «Генератор паролей»), мы, конечно же, решили замахнуться на какую-то игру, и тогда нам попалась новость о 30-летнем юбилее игры DOOM. План был красивый, т. к. на тот момент командной работы у нас не было, мы решили, что мой одногруппник пишет псевдо-3D-движок в духе классического рейкастинга, а я делаю 2D-платфо…

  • суббота, 22 августа 2026 г. в 00:00:12
javascript
DI во фронтенде: от Context API к Composition Root

Цикл статей «Tactical DDD во фронтенде»:«Почему мы снова говорим про архитектуру?»DI во фронтенде: от Context API к Composition Root (Вы здесь)UI как плагин: паттерн Фасад и реактивные потоки данных (Скоро)В прошлой статье мы определились с глобальными подходами к изоляции бизнес-логики в веб-приложениях. Но как реализовать все озвученные концепции на практике? С чего вообще начать и как подступиться к столь масштабной задаче?Прежде чем нырять с головой в проектирование самих доменов — их сущно…

  • суббота, 22 августа 2026 г. в 00:00:10
javascript
Как я запарился считать плитку для ванной и написал свой калькулятор раскладки

Затеял ремонт в ванной, дошёл до плитки — и тут понеслось. Санузел у меня Г‑образный, в углу венткороб, раскладку хочу диагональную, а «раздели площадь на плитку» вообще не работает, я это понял когда мои циферки не сошлись с тем что плиточник насчитал — разница набежала непонятно откуда.Плиточник говорит — берите пятнадцать процентов запаса и всё. Пятнадцать процентов от плитки по 2000 с лишним за метр это уже сумма, я в столбик посчитал и решил что нет, надо по‑другому. Калькуляторы онлайн — …

  • суббота, 22 августа 2026 г. в 00:00:10
javascript
Bun в 2026

Для кого эта статья: для разработчиков JavaScript/TypeScript, которые хотят узнать о главных событиях и новых возможностях Bun в 2026 году.2026 год стал переломным для Bun. Переписывание на Rust с помощью Claude Fable 5 за 11 дней показало новые возможности AI‑ускоренной разработки, а 20 августа 2026 вышел Bun v1.4 — первый production‑релиз, полностью работающий на Rust‑версии рантайма (до этого Rust использовался только внутри, например в Claude Code). Версия 1.3.14 добавила Bun.Image, HTTP/3 …

  • суббота, 22 августа 2026 г. в 00:00:07
javascript
Как мы переводили страницу объявления на Beduin в мобильной версии Авито

Всем привет! Меня зовут Егор Савинцев, я Frontend Platform Engineer в Авито. Сейчас я работаю в команде архитектуры, а до этого в команде Phobos в рамках Платформизации переводил страницу объявления на Beduin — разрабатывал клиентскую архитектуру и переписывал блоки. Сразу важное отступление. Beduin — это Backend‑Driven UI. Если в нативе в коде клиентского приложения есть компоненты, бэкенд присылает им данные, и всё работает. В Beduin бэкенд присылает и данные, и сами компоненты в специальном …

  • суббота, 22 августа 2026 г. в 00:00:06
javascript
Как не ошибиться при работе с датами и временем. Разбираем все нюансы и ограничения

Всем привет! Меня зовут Денис Смирнов, больше шести лет я работаю в компании iSpring и участвую в разработке нашего основного продукта — платформы для онлайн-обучения. Эта статья - текстовая версия моего доклада на нашем митапе, полное видео можно посмотреть здесь.Особенность платформы в том, что в ней достаточно гибко настраивается работа с датой и временем. Часовые зоны (таймзоны) можно указать на уровне аккаунта, тогда каждый пользователь может выбрать собственный часовой пояс. В некоторых м…

  • суббота, 22 августа 2026 г. в 00:00:05
javascript
Миграция AI-agent harness: как перенести rules, skills и MCP между ИИ-агентами

Смена ИИ-агента может за один день обнулить месяцы настройки рабочего процесса. Новый инструмент откроет тот же репозиторий, но не будет понимать правил проекта, команд проверки, границ доступа к файлам, ролей субагентов и подключений к внешним системам. Вам снова придётся объяснять контекст в каждом запросе.Проблема возникает потому, что ценность накоплена не только в выбранной модели. Вокруг неё постепенно формируется отдельный инженерный слой: правила проекта, инструкции для повторяемых зада…

  • суббота, 22 августа 2026 г. в 00:00:04
javascript
Пагинация. Ошибки тестирования списков и курсоров

У списка операций были тесты и на API, и на интерфейс. API возвращал не больше 20 элементов и nextCursor, а браузер показывал первые 20 строк. Всё проходило.В продакшене пользователь прокрутил список, переключил фильтр с «Все» на «Ошибочные» и увидел странную смесь. Часть старых операций осталась, одна строка повторилась, а несколько ошибочных операций не появились. Во вкладке Network были такие запросы:GET /operations?status=ALL&limit=20&cursor=all-2 GET /operations?status=ALL&limi…

  • суббота, 22 августа 2026 г. в 00:00:02
javascript
Shadow AI — почему инженеры скрывают, что пользуются ИИ

Shadow AI — почему инженеры скрывают, что пользуются ИИглавнаяДоброго дня, инженеры и те, кто инженеров ведёт.Слушал подкаст Code of Leadership, выпуск про AI-assisted engineering. Полтора часа про то, как правильно встроить ИИ в разработку: копайлоты, MCP, метрики, место ИИ в SDLC. Разговор хороший, по делу. И где-то в середине проскочил термин, за который я зацепился и с которым хожу уже неделю — shadow AI. Проскочил сноской, в ряду прочих ИБ-рисков, между утечками и комплаенсом.А я на этой с…

  • пятница, 21 августа 2026 г. в 00:00:22