RU

Gauntlet Loop — величайшее заклинание в мире маглов

Привет, Хабр! Сегодня я расскажу о том, как пользователю ИИ, далекому от профессионального проектирования полиагентных систем, получать результаты,…

сезон Код будущегоразработка с ИИChatGPTCodexGauntlet Loopтестированиеинтерактивные лекцииHTMLJavaScriptлинейная алгебра
Habr
RU

Функциональные флаги в CI/CD: что, зачем и как

Что такое функциональные флаги и как они ускоряют CI/CD. Виды флагов, инструменты (Flagsmith, LaunchDarkly), интеграция с pytest и лучшие практики в…

APIJavaScriptТестированиеФункциональное программированиеБэкендПриложениеРазработкаСтатьи
Tproger
RU

«По будням в 9:30» → 30 9 * * 1–5: парсер расписаний на русском, который отказывается угадывать

Библиотека называется cronsense. Она переводит расписание, записанное обычными словами на русском или английском, в cron‑выражение и…

cronпарсерnatural languageTypeScriptJavaScriptopen sourceрасписаниеJSRMCPproperty-based testing
Habr
RU

Как тестировать API с 202 Accepted и не пропускать сбои фоновой обработки

Запрос получил 202 , автотест прошёл, а через несколько дней выясняется, что часть операций так и не завершилась успешно. Такая ситуа…

автотестытестирование APIAPIJavaScriptасинхронные операцииавтоматизация тестированияHTTPинтеграционное тестированиепроверка качестваразработка ПО
Habr
RU

Негативные тесты API, которые ничего не доказывают

Негативные тесты часто выглядят убедительно: отправили некорректный запрос, получили 4xx , проверка зелёная. Но такой результат ещё не гарантирует,…

тестированиеавтотестытестирование APIQAнегативное тестированиеавтоматизация тестированияпроверка качестваAPIPlaywrightJavaScript
Habr
RU

Zero на Three.js: инженерный разбор интерактивного сайта

Разбираем, как BUNQ LABS сделала zero.university: виртуальный скролл, шейдеры, KTX2/DRACO, адаптивное качество и загрузка текстур без фризов. Провер…

JavaScriptВеб-разработкаЛучшая практикаПроизводительностьHTMLДизайн интерфейсов и UXФреймворки и библиотекиФронтендСтатьи
Tproger
RU

Прототипирование фронта в 2к26 от системного аналитика

Раньше для согласования интерфейса я собирал макет в Figma, описывал каждое поле, отдавал его дизайнеру, а потом отдельно объяснял логику фронтенд-р…

системный аналитикпрототипирование интерфейсоввайбкодингискусственный интеллектLLMFigmaHTMLCSSJavaScriptтребования
Habr
RU

Симулятор рисков для крипты: написал инструмент, который считает за меня размер позиции и стресс-тестирует портфель

Большинство трейдеров управляют рисками интуитивно. «Войду на 20% депозита, стоп поставлю пониже» — и пошёл. Исследование 500+ активных криптотрейде…

риск-менеджменткриптовалютатрейдингATRстресс-тестированиеDeepSeekJavaScriptбраузерное приложениеуправление капиталомалготрейдинг
Habr
RU

Новый Intl.DurationFormat привел к неожиданной ошибке приложения

В этой статье расскажу о свежем баге, который ронял один тип транзакций, пока остальные работали штатно. Если используете @formatjs /intl-durationfo…

JavaScriptTypeScriptReactIntlDurationFormatfrontendотладкаполифиллплатёжные системыErrorBoundary
Habr
RU

Вы неправильно тестируете асинхронный код: тест проходит раньше, чем выполняется проверка

В статье разберём, как именно раннер решает, что тест прошёл, почему .then без return выполняется уже после теста, почему try/catch в…

асинхронное тестированиеавтотестыJestJavaScriptPromiseложноположительные тестыunit-тестытест-раннерAPI-тестирование
Habr
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реа…

APIJavaScriptJavaAndroidStack OverflowGitБезопасностьОпросIDESQLiOSРаботаTorGitHubБазы данныхHRReactDockerMITАлисаRedisQAМессенджер5gПриложениеВзломdevСервер1CPostgreSQLGrafanaСтатьи