Статья подготовлена в рамках курса «Автоматизатор тестирования на JavaScript». Привет, Хабр!Меня зовут Андрей Бирюков. Я — независимый эксперт в области ИТ и ИБ, преподаю в учебных центрах и пишу статьи и книги.Вы когда‑нибудь получали от ИИ тесты, которые «идеально проходят», а через неделю ловили баг в том самом месте, которое должно быть покрыто? Это не случайность — это симптом тавтологического тестирования.Для того, чтобы понять суть проблемы, давайте представим себе функцию расчёта налога…
Что поисковики и ИИ предлагают учить перед собеседованиями? Чаще всего — что-то в духе списка вопросов с гитхаба.github.com/sudheerj/reactjs-interview-questionsИ как это учить? Тупо нажимать на каждый ответ и заучивать разницу в синтаксисе?А на собесе потом:— Расскажите про состояние на фронте.— useState нужен для маленького состояния, useContext — для чуть больших приложений. Для совсем больших берём Redux. Иногда можно и Jotai.— А в чём разница?— Для useState не нужен <Provider>, для Re…
В прошлой статье мы разбирались, почему после сборки БОЛТУНа на Tauri трещал голос, автокалибровка вмешивалась в разговор, а демонстрация экрана через минуту превращалась в чёрный прямоугольник.После тех исправлений мы продолжили разбирать звуковой тракт и нашли ещё одну проблему. Сам аудиопакет мог прийти вовремя, успешно декодироваться и содержать нормальные сэмплы — а на выходе всё равно появлялся короткий щелчок.Причина оказалась не в сети и не в кодеке. Мы слишком буквально превратили сете…
Прочтя недавний перевод про запаковку БД в exe, решил рассказать об идее, которую реализовал лет 6 назад в своем домашнем проекте. Сам проект недоделал и ценность его в 2026 сомнительна, но речь в статье о реализации архитектуры файлов и их запаковке, а не о проекте.Суть проекта в двух словах: генератор CRUD APIUser case: я хочу на любом самом дешевом хостинге быстро развернуть REST API с типовым набором CRUD операций (создание, изменение, поиск) для произвольной структуры данных. Это API должн…
Если вы пишете на JavaScript или TypeScript, выбор инструмента обычно начинается с двух знакомых вариантов.VS Code хорош именно своей модульностью: из него можно собрать среду почти под любой проект и точно под себя. Обратная сторона в том, что эту среду сначала придётся собрать. Нужно подобрать расширения для фреймворка, линтеров и форматтера, настроить запуск проекта и остальные инструменты. Тут важно учесть, что многие плагины разрабатывали энтузиасты, и давно забросили, так что фикса бага м…
Теперь можно говорить без всяких прикрас: мы выпустили анализатор для языков JavaScript и TypeScript. А значит, это повод испытать его в полевых условиях и посмотреть, что он найдёт в исходном коде хорошо знакомого многим Open Source проекта Visual Studio Code. Если вам интересно узнать, какие ошибки и подозрительные фрагменты кода обнаружил анализатор, — добро пожаловать в статью.О чём будем рассказыватьЭтот раздел будет полезен тем, кто не знаком с нашим форматом статей. Что вас ждёт в статье…
Короткая версия. Жалоба звучала как «скролл нестабильный»: колесо в панели с агентом то работает, то нет, текст съезжает, кадры дублируются. Виноват не скролл. Claude Code под ConPTY включает альтернативный буфер и отчёты мыши один раз при старте и больше их не переотправляет, а replay-буфер панели ограничен 256 КБ. За долгую сессию эти включения вымывает за границу буфера, и свежий xterm после реаттача остаётся в нормальном буфере, хотя агент давно в альтернативном. Ниже механика, фикс на 60 с…
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…
Всем привет! Меня зовут Владимир, я разработчик СберБанк Онлайн в канале «web». Наверняка вам встречалось мнение, что один и тот же язык должен показывать примерно одинаковую скорость: если код написан на JavaScript, место его запуска – браузер, Node.js, Deno или Bun – кажется второстепенной деталью, а результаты должны быть близкими. Но есть одна проблема: язык сам по себе мы почти никогда не запускаем. Например, в браузере JavaScript исполняется внутри процесса Google Chrome, а Node.js, Deno,…