Обновить
32K+

Node.JS *

Среда для запуска JavaScript-приложений

40,88
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

BB изнутри: как устроена открытая IDE для Claude Code и Codex, которая обновляет себя без перезапуска

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.9K

BB - это открытая программа под лицензией MIT, в которой Claude Code, Codex, Pi и ACP-агенты работают в одном окне. За 7 месяцев репозиторий собрал около 4 тысяч звёзд. Главное в BB не окно, а то, что его интерфейс достраивается плагинами и новый плагин подхватывается без перезапуска программы.

Недавно я снимал про BB ролик. Там агент за 20 минут и два промпта собрал плагин, который расшифровывает запись созвона, выделяет договорённости со сроками и пишет письмо клиенту. Ролик был про то, что это даёт пользователю, а в этой статье я разберу код и покажу, за счёт чего это работает. Всё ниже проверено по репозиторию get-bb/bb по состоянию на конец сентября 2026.

Читать далее

Новости

Сделал себе тренера на Claude Code и выложил его в open source

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели4K

Днём я пишу код в Claude Code, вечером хожу в зал: у меня пауэрлифтинг, тренировки тяжёлые, часа по два. Тренера я сделал для себя. Хотелось, чтобы тот же Claude, в котором я работаю, вёл и мои тренировки.

Так появился claude-gym-coach, open-source тренер по силовым внутри Claude Code. Один раз рассказываете ему, кто вы и чего хотите, и дальше он ведёт сам: составляет программу под ваш зал, перед каждой тренировкой расписывает веса по вашей истории, после тренировки записывает то, что вы скажете в телефон, и раз в блок разбирает, что сработало. Если раньше был дневник, его можно перенести, и новые тренировки тренер строит от него. Отдельное приложение и отдельная подписка не нужны: всё работает внутри Claude Code, на той подписке Claude, которая у вас и так есть.

Больше всего меня раздражало, что чат-боты уверенно называют рабочий вес, взятый ниоткуда. Поэтому все цифры по истории в этом тренере считает обычный скрипт на Node, а модель получает их готовыми.

Читать далее

Галлюцинация нейросети в коде обычно ломает сборку. С выдуманным пакетом иначе: его имя может занять вредонос

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели10K

Я взял 139 имён пакетов, которые пять свежих ИИ-моделей выдумывают одинаково, и 22 сентября проверил каждое по живым PyPI и npm. Это реестры, откуда ставятся библиотеки для Python и JavaScript. Список ценен тем, что не привязан к одной нейросети: раз имя выдумывают все пять, под ударом пользователи любой из них. Список раскрыли 30 апреля 2026 года.

Занято 7 имён из 139. Под одним из них, metro-evaluator, в декабре 2025 года лежал вредоносный код: npm снял его через пять дней и поставил заглушку. Это было ещё до раскрытия списка, и совпадение это или расчёт на выдуманное имя, по реестру не видно. Остальные шесть имён заняли четыре чужих настоящих проекта, владелец бренда своей заглушкой и пустой пакет в 53 байта, который появился уже после раскрытия. По совету нейросети pip install odf поставит чей-то другой инструмент вместо нужной библиотеки.

Читать далее

Сотни Telegram‑ботов в одном процессе Node.js: общий webhook, очередь в PostgreSQL и Mini App на 5 КБ

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.6K

Каждому пользователю моего конструктора нужен свой Telegram‑бот. Рассказываю, как держать сотни ботов в одном процессе Node.js: общий webhook, очередь в PostgreSQL на SKIP LOCKED и Mini App на 5 КБ. С замерами нагрузки и честным разбором, где у схемы потолок.

Читать далее

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

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.2K

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

Читать далее

Событие вместо поля: как журнал медиации вернул историю, которую система стирала

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.3K

В феврале я написал три текста о том, что статусы не показывают процесс и что юридический сервис без событийной модели не масштабируется. В августе показал первый кейс: булево поле в схеме исполнительного производства, которое полгода лгало.

Теперь про центр процесса, досудебную медиацию: как выглядела слепота, какие три варианта рассматривали, что построили за две недели, какие баги поймали до и после выкладки и что журнал из 540 тысяч событий показал в первые же часы.

Читать далее

YApi заброшен с 2022 года. Я продолжил его и нашёл токены, которые может подделать любой участник проекта

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели10K

YApi — платформа документации API, мок-сервера и тестов с 27 тысячами звёзд — не обновлялась с 2022 года. На новом Node.js у неё ломаются токены, клиент не собирается, нужное ей расширение браузера больше не работает в Chrome, а мок-скрипты позволяют выполнить код на сервере.

Я продолжил проект и по дороге нашёл, что без настройки passsalt токены проектов шифруются общеизвестным ключом — участник проекта может выдать себя за другого пользователя. В статье — как это исправлено без поломки старых токенов, песочница для скриптов на isolated-vm, своё расширение на Manifest V3 и тест обновления на настоящей базе YApi.

Читать дальше

Flowise закрыли, я его форкнул — и выяснил, что форкать было нельзя

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели24K

Flowise — визуальный конструктор для LLM-приложений: перетаскиваете на холст модель, векторное хранилище, инструменты и память, соединяете их линиями и получаете чат-бота, RAG-поиск по документам или агента. У проекта 55 тысяч звёзд на GitHub, 25 тысяч форков и почти 7 миллионов скачиваний Docker-образа. Его разворачивают у себя компании, которым нельзя отправлять данные в облачные конструкторы.

29 июля 2026 года команда объявила о закрытии: «разработчики всё чаще доверяют сложные задачи агентам для программирования, а жёсткие low-code-процессы упираются в потолок». 13 августа репозиторий заархивировали, 31 августа поддержка закончилась. В объявлении прямо сказано: код под Apache 2.0 ваш, форкайте.

Установки при этом никуда не делись, а бюллетени об уязвимостях продолжили выходить. Десятого сентября GitHub опубликовал ещё шесть advisory для Flowise — все с пометкой «исправленной версии нет». Я решил сделать то, что предложили авторы, и продолжить проект под именем Keelflow (GitHub, Apache-2.0). Киль (keel) держит судно на курсе — примерно этого и хочется от проекта, у которого кончилась команда.

Оказалось, что форкнуть Flowise «как есть» нельзя. Об этом, о том, что пришлось переписать, и о том, что нашлось в коде по дороге, — эта статья.

Читать дальше

Next.js без Vercel: деплой на один VPS с переключением без простоя и откатом за секунды

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.4K

Я держал проект на Next.js на Vercel почти три месяца и уехал на обычный VPS за 990 рублей в месяц. Главное, чего боялся: потерять то, за что Vercel любят. Сборка, которая не трогает живой сайт. Переключение без простоя. Откат одной кнопкой. Под катом схема, которая всё это повторяет на одном сервере без Kubernetes, Docker и прочей тяжёлой артиллерии, и список граблей, на каждую из которых я наступил.

Читать далее

Какая страховка нужна трейдеру? Бэктест, не просто риск менеджемент

Время на прочтение7 мин
Охват и читатели5.5K

🤝 Реальная страховка трейдера: проверить самому перед тем как лезть в лодку

Методология поминутной проверки торгового сигнала описана в статье, с учётом просадки портфеля, ликвидации, блокировки капитала в нескольких открытых позициях на разных тикерах

Проверил два платных канала с сигналами: структурированный дал плюс 10.3%, безструктурный «я беру по 1%» дал минус 18%.

Читать далее

Веб‑кошелёк Monero на официальном monero‑wallet‑rpc: digest‑авторизация, двухфазная отправка и BigInt вместо float

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.8K

Как‑то я захотел кошелёк Monero с нормальным веб‑интерфейсом, но без компромиссов по ключам: чтобы он работал на моей машине, ходил в мой узел и не притворялся кастодиальным сервисом. Писать криптографию самому — плохая идея, поэтому вся работа с ключами осталась за официальным monero-wallet-rpc, а на мне была «всего лишь» оболочка: бэкенд, интерфейс и куча инфраструктурной логики, которая внезапно оказалась самой интересной частью задачи.

Читать далее

Агент поддержки на LLM, который не может забыть сходить за заказом

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5K

Первая версия моего агента поддержки в трети ходов не ходила за заказом, а выдумывала его статус. Модель сама решала, когда звать тул, и решала неправильно. В харнесе модель ничего не решает, за данными ходит код, модель вызывается два раза, чтобы понять вопрос и написать ответ.

Агентский цикл, где модель решает сама, поднимается за вечер и пропускает тул в 1 ходу из 24. Конвейер для прода не пропускает вызов тула совсем, но роутер и сценарии для него пишет человек. 1000 диалогов на Qwen стоят $0.48, на Opus $30.

Читать далее

Четверо в одной транзакции: кейс-батлы, PgBouncer под Prisma и реплика, которая показывает пустой инвентарь

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели9.1K

Обе мои предыдущие статьи про этот сайт с кейсами CS2 заканчивались списком того, чего в нём нет: платежей, депозита предметов, кейс-баттлов, рефералки, KYC. Список закрыт — и почти всё сложное в нём свелось к одному вопросу: что происходит, когда несколько человек одновременно двигают одни и те же деньги. Батл на четверых в одной транзакции, порядок блокировок, из-за которого не случается дедлок, PgBouncer под Prisma и правило чтения с реплики, которое нельзя выразить типом.

Читать далее

Ближайшие события

Имя вашей внутренней библиотеки может занять кто угодно, и сборка возьмёт его версию

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.6K

Сборка внутренней библиотеки внезапно стала долгой: вместо секунд - минуты, и в журнале появились обращения наружу. Своя, все зависимости тоже свои, ходить в интернет ей было незачем.

Первая версия - прокси-репозиторий перестал кешировать. Полез в его настройки, там всё в порядке.

Оказалось, что менеджер пакетов запрашивал наш собственный пакет не только у внутреннего репозитория, но и у публичного. И делал он это по конфигурации: второй источник был прописан в настройках.

Прописали его, кстати, не по глупости. Появляется он там ровно тогда, когда внутренний прокси проксирует не всё: часть внешних зависимостей он не отдаёт, сборка падает, и вместо того чтобы чинить прокси, в конфигурацию дописывают публичный индекс. Дальше это живёт годами.

Читать далее

Наблюдаемость распределенных систем. Практика

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели9.1K

Привет! Я — Алексей Бондаренко, работаю в команде авторизации Банки.ру.

Сегодня хочется обсудить такую тему, как “Наблюдаемость распределенных систем”.  На эту тему уже сказано много. В данной статье не открою Америку. Но хотел бы ее рассмотреть с практической стороны. Статья предназначена для новичков.

Читать далее

Как я схлопнул 14 переводов в 5: бот для дележа расходов на голом Node без единой зависимости

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.8K

У нас с друзьями долги копятся не за один вечер, а месяцами. Сходили поесть, кто‑то заплатил за всех, на месте скидываться неудобно: у кого‑то нет наличных, у кого‑то деньги на другой карте, кто‑то обещает перевести позже. Через неделю ресторан, платит другой. Потом кино, потом такси. Кто‑то ждёт зарплату, кто‑то просто забыл, кто‑то отдал часть и считает, что закрыл всё. Через месяц посчитать это уже нельзя.

Под катом три вещи: как схлопывать долги в минимум переводов, как считать чеки моделью со зрением и не гадать о расходах, и почему в проекте до сих пор ноль зависимостей.

Читать далее

Я профессионально создаю библиотеки 5 лет

Время на прочтение5 мин
Охват и читатели6K

7 лет назад я опубликовал в npm свою первую библиотеку — custom‑border‑mixin. Тогда я на неделю пропал, просто чтобы в своё удовольствие написать SCSS‑миксин. Если вам интересно, что весёлого может быть в SCSS, просто посмотрите на хелпер:

Или все-таки поменял?

Как соцсеть для Егоров превратилась в автономный город на Node.js и SQLite

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

11 недель назад я начал делать социальную сеть, в которой гражданство зависело только от имени.

Если тебя зовут Егор, Георгий или одной из форм имени, происходящего от Georgios, то это место для тебя, 100%! Остальные становятся Наблюдателями: могут читать, реагировать, писать в личку, жить в своих районах — что-то вроде ВНЖ.

На этом месте проект вполне мог закончиться хорошей шуткой, которой и являлся ИЗНАЧАЛЬНО. Но пользователи начали спрашивать, кто здесь главный.

Так в Егороде появился мэр. Потом люди спросили, кто выбирает мэра. Появились выборы.

Затем — партии, депутаты, кабинет, указы, вето и импичмент, а социальная сеть начала подозрительно напоминать государство, состоящее преимущественно из Node.js, SQLite и людей по имени Егор.

Сейчас в проекте около 11,9 тысячи регистраций, обычный DAU — примерно 30–35 человек, кодовая база выросла примерно до 210 тысяч строк, 176 таблиц и 2625 тестов.

И именно небольшой ежедневный онлайн в итоге сильнее всего повлиял на архитектуру, потому что город на 30 человек может позволить себе довольно простую инфраструктуру.

Но он не может позволить себе переставать существовать, когда эти 30 человек уходят спать.

Читать далее

Steam глазами разработчика: OpenID из 2007-го, звёздочка в имени ножа и цена строкой в чужой локали

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.3K

«Просто прикрутить вход через Steam и цены из маркета» — примерно так это выглядит из бэклога. На деле: OpenID 2.0 образца 2007 года вместо OAuth, звёздочка ★ в имени ножа, из-за которой одно и то же название готовится для двух соседних эндпоинтов противоположными способами, и цена, приходящая строкой в чужой локали. Собрал все проблемы в одном месте.

Читать далее

Я написал сайт с кейсами CS2 целиком и выложил под MIT

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели9.7K

Открыл кейс — получил предмет. Между этими двумя событиями лежат HMAC, миллион тикетов и RTP, который кто-то посчитал заранее. Я написал сайт с кейсами CS2 целиком и выложил под MIT: про то, где в «provably fair» проходит граница между «проверяемым» и «выгодным», и почему 0,023% перекоса я оставил осознанно.

Читать далее
1
23 ...