Category : javascript

javascript
Один пакет — один мини-плеер: почему мы перенесли голос БОЛТУНа в AudioWorklet

В прошлой статье мы разбирались, почему после сборки БОЛТУНа на Tauri трещал голос, автокалибровка вмешивалась в разговор, а демонстрация экрана через минуту превращалась в чёрный прямоугольник.После тех исправлений мы продолжили разбирать звуковой тракт и нашли ещё одну проблему. Сам аудиопакет мог прийти вовремя, успешно декодироваться и содержать нормальные сэмплы — а на выходе всё равно появлялся короткий щелчок.Причина оказалась не в сети и не в кодеке. Мы слишком буквально превратили сете…

  • среда, 2 сентября 2026 г. в 00:00:11
javascript
Пакуем PHP в PHP, чтобы запаковать в JS, чтобы обернуть в HTML

Прочтя недавний перевод про запаковку БД в exe, решил рассказать об идее, которую реализовал лет 6 назад в своем домашнем проекте. Сам проект недоделал и ценность его в 2026 сомнительна, но речь в статье о реализации архитектуры файлов и их запаковке, а не о проекте.Суть проекта в двух словах: генератор CRUD APIUser case: я хочу на любом самом дешевом хостинге быстро развернуть REST API с типовым набором CRUD операций (создание, изменение, поиск) для произвольной структуры данных. Это API должн…

  • среда, 2 сентября 2026 г. в 00:00:10
javascript
JavaScript и TypeScript в OpenIDE: Node.js, React, Angular, Git и работа с API

Если вы пишете на JavaScript или TypeScript, выбор инструмента обычно начинается с двух знакомых вариантов.VS Code хорош именно своей модульностью: из него можно собрать среду почти под любой проект и точно под себя. Обратная сторона в том, что эту среду сначала придётся собрать. Нужно подобрать расширения для фреймворка, линтеров и форматтера, настроить запуск проекта и остальные инструменты. Тут важно учесть, что многие плагины разрабатывали энтузиасты, и давно забросили, так что фикса бага м…

  • среда, 2 сентября 2026 г. в 00:00:08
javascript
Проверка исходников VSCode

Теперь можно говорить без всяких прикрас: мы выпустили анализатор для языков JavaScript и TypeScript. А значит, это повод испытать его в полевых условиях и посмотреть, что он найдёт в исходном коде хорошо знакомого многим Open Source проекта Visual Studio Code. Если вам интересно узнать, какие ошибки и подозрительные фрагменты кода обнаружил анализатор, — добро пожаловать в статью.О чём будем рассказыватьЭтот раздел будет полезен тем, кто не знаком с нашим форматом статей. Что вас ждёт в статье…

  • среда, 2 сентября 2026 г. в 00:00:07
javascript
TUI-агент включает alt-буфер один раз за сессию. Через 256 КБ вывода это ломает терминал

Короткая версия. Жалоба звучала как «скролл нестабильный»: колесо в панели с агентом то работает, то нет, текст съезжает, кадры дублируются. Виноват не скролл. Claude Code под ConPTY включает альтернативный буфер и отчёты мыши один раз при старте и больше их не переотправляет, а replay-буфер панели ограничен 256 КБ. За долгую сессию эти включения вымывает за границу буфера, и свежий xterm после реаттача остаётся в нормальном буфере, хотя агент давно в альтернативном. Ниже механика, фикс на 60 с…

  • среда, 2 сентября 2026 г. в 00:00:06
javascript
Непротиворечивая классификация IoC

Direct Control DC — модуль сам контролирует к каким конкретно реализациям ему обращаться. class Form extends Object { scope = 'Form' @mem get log() { return new ConsoleLog( this.scope ) } // direct @mem get net() { return new HttpNet( this.scope ) } // direct send( payload: string ) { this.log.info( 'Sending', payload ) this.net.request( payload ) } } class SignIn extends Form { scope = 'SignIn:' + this.auth.id + ':' + super.scope @mem ge…

  • вторник, 1 сентября 2026 г. в 00:00:08
javascript
Быстродействие, или Смотря как измерять

Всем привет! Меня зовут Владимир, я разработчик СберБанк Онлайн в канале «web». Наверняка вам встречалось мнение, что один и тот же язык должен показывать примерно одинаковую скорость: если код написан на JavaScript, место его запуска – браузер, Node.js, Deno или Bun – кажется второстепенной деталью, а результаты должны быть близкими. Но есть одна проблема: язык сам по себе мы почти никогда не запускаем. Например, в браузере JavaScript исполняется внутри процесса Google Chrome, а Node.js, Deno,…

  • вторник, 1 сентября 2026 г. в 00:00:07
javascript
React Fiber: как React научился прерывать рендер и расставлять приоритеты

Всем привет! Я Артем, фронтенд-разработчик в команде мессенджера Т-Банка. Работаю с React не первый год, участвовал в миграции на разные версии реакта, в том числе в переходе с классовых компонентов на функциональные. Мне всегда было интересно, зачем will*-методы были помечены как deprecated и  как устроены переходы на функциональные компоненты.Банальный пример — когда печатаешь в input, а интерфейс начинает лагать на большом списке: классическая боль старого React. Я решил разобраться, как и п…

  • вторник, 1 сентября 2026 г. в 00:00:06
javascript
Из генерации — в переписку: доводим ответ ИИ‑агента до клиента и CRM на n8n

Всем привет! Напомню: в первой статье я показал дебаунс на Redis, который склеивает дробные сообщения клиента. Во второй — модуль привязки «чат = сделка» и то, почему вебхуки стоит держать в изолированных ключах. Если первые две части были про архитектуру и концепции, то эта — с обилием кода. Я покажу, как именно вырезаются теги, парсятся телефоны и нарезаются абзацы, потому что без кода это превратится в «я просто настроил ноды». Обе предыдущие статьи заканчиваются примерно одинаково: «...и те…

  • понедельник, 31 августа 2026 г. в 00:00:10