RU

Эвакуация за один день: как я перенёс два приложения и детектив-ARG из облака под ударами на собственный VPS

Привет, Хабр. Это продолжение истории студии из одного человека. В прошлый раз я рассказывал, как собрал детектив-ARG на чистой статике , а бэкенд м…

serverlessvpsdisaster recoveryбэкапыdockercaddysqlitenode.jsяндекс облакоindie
Habr
RU

Устанавливаем Jenkins на облачный сервер для автоматизации сборки приложений

Привет, Хабр! Меня зовут Завур, я фронтенд-разработчик в Selectel . Сборка, тестирование и развертывание приложения — операции, которые приходится п…

jenkinsselectelcicdvdsubuntunode.jsgitsshавтоматизацияdevops
Habr
RU

Мы искали, куда coding agents тратят токены. Дело оказалось не в промптах

Мы много разрабатываем с помощью coding agents: веб-приложения, MCP-серверы, пайплайны обработки данных, системы из нескольких агентов. И чем лучше…

coding agentsllmmcpоптимизация токеновai-разработкаcontext engineeringai агентыnode.jsdevtoolsтестирование
Habr
RU

Трон для самого звёздного: я сделал игру, которая живёт внутри GitHub‑репозитория

Помните Million Dollar Homepage? В 2005 году студент продал миллион пикселей по доллару за штуку и заработал миллион. Никакой пользы…

githubgithub actionsgraphqlsvgnode.jsopen sourceиграreadmepet-проектserverless
Habr
RU

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

Каждому пользователю моего конструктора нужен свой Telegram‑бот. Рассказываю, как держать сотни ботов в одном процессе Node.js: общий webh…

боттелеграмминиприложениеwebhookpostgresqlnode.jsочередиtelegram bot api
Habr
RU

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

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

yapiapimock-серверnode.jsmongodbisolated-vmmanifest v3безопасностьself-hostedopen source
Habr
RU

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

Как‑то я захотел кошелёк Monero с нормальным веб‑интерфейсом, но без компромиссов по ключам: чтобы он работал на моей машин…

moneroxmrmonero-wallet-rpcnode.jstypescriptjson-rpcself-hostedбезопасностьbigintкриптокошелёк
Habr
RU

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

У нас с друзьями долги копятся не за один вечер, а месяцами. Сходили поесть, кто‑то заплатил за всех, на месте ск…

telegram bottelegram mini appsnode.jsjavascriptбез зависимостейалгоритмыдележ расходовраспознавание чеков152-ФЗpet project
Habr
RU

Claude Code — Все статуслайны показывают тебя. Я сделал тот, который показывает других

В два часа ночи ты упираешься в лимит модели. Сессия на середине, мысль на середине, и до сброса окна ещё полтора часа. Ты сидишь и смотришь в терми…

claude codeстатуслайнclinode.jsразработка инструментов
Habr
RU

Я 22 месяца двигал ставки в Telegram Ads руками, потом написал автомат. Он воевал сам с собой

За 22 месяца в Telegram Ads у меня накопилось 1 043 канала, 3 000 креативов и стопка скриптов вокруг кабинета: харвест справочника, скоринг каналов…

telegram-adsapiавтоматизацияnode.jsпостмортем
Habr
RU

Тест проходил за миллисекунды. На настоящем файле тот же код думал минуту

«👋».length === 2 — это знают все. Дальше все пишут честную функцию, которая ходит по строке по символам, а не по кодовым единицам UTF-16. И почти вс…

javascripttypescriptunicodeutf-16строкипроизводительностьалгоритмическая сложностьтестированиеnode.jsоптимизация
Habr
RU

IndexNow из Node.js: переобход без аккаунтов, и почему fetch обрывается там, где curl проходит

Чтобы сказать Яндексу «страница изменилась, приди посмотреть», аккаунт в Вебмастере не нужен. Есть протокол IndexNow: вы кладёте в корень сайта файл…

indexnownode.jsиндексация сайтаяндекс вебмастерsearch consoleundicivercelseo
Habr
RU

Заголовки товарной кампании Директа — это теги YML-фида: прослойка на Node вместо правки сайта

Товарная кампания и смарт-баннеры Яндекс Директа не дают редактировать текст объявления в интерфейсе. Заголовок Директ берёт из тега <name> то…

товарный фидymlсмарт-баннерыllmnode.js
Habr
RU

Переписал ядро языка целиком. Ни один из 444 эталонов не сдвинулся

Свой язык программирования пишут все. Обычно это калькулятор с переменными, пересказ главы про рекурсивный спуск и заброшенный репозиторий. Интересн…

компиляторыинтерпретаторязык программированияtypescriptnode.jsтестированиефаззингgolden-тестыоптимизация производительностирегрессионные тесты
Habr
RU

Сторож бюджета сработал ровно так, как я его написал. Поэтому за сутки ушло 225 евро при жёстком пороге 150

Я сам написал скрипт, который следит за расходом Telegram Ads и глушит кампании при превышении дневного лимита. Двадцать пятого июня он отработал ро…

постмортеминцидентcronалертыnode.jstelegram-adsавтоматизация
Habr
RU

Приложение течёт, а утечки нет: как оптимизатор картинок Next.js съел 4-гигабайтный VPS

История про то, как я три дня искал утечку памяти в Node-приложении, не нашёл — и был прав, что не нашёл. А ещё про то, что у каждого починенного пу…

next.jsnode.jssharplibvipsутечка памятиmalloc_arena_maxsystemdnginxоптимизация изображенийavif
Habr
RU

Как получить пожизненный бан на VC.ru за open-source проект на Node.js без рекламы. Кейс CMTT

Всем привет. На днях моя техническая статья с open source кодом про написание нейросети с нуля на Node.js вышла из песочницы Хабра благодаря НЛО, на…

vc.ruкомитетмодерацияopen sourceличный брендблокировка аккаунтаnode.jsит-сообщество
Habr
RU

Один файл, одна команда: как мы упростили запуск dev-окружения с помощью Runium

Локальный запуск dev-окружения в крупном проекте может превратиться в отдельный квест: несколько процессов, Docker-контейнеры, переменные окружения,…

запускRuniumлаборатория касперскогоjsondockerjavascriptnode.js
Habr
RU

pkg-cache — простой локальный кеш пакетов

Пример реализации простого кэширующего прокси для пакетов npm, composer и pip на базе node.js для Windows и Linux. Читать далее

кеширующий проксиnpm-пакетыcomposer пакетыpipразработка программного обеспеченияofflineоптимизация рабочего времениnode.jsopencode
Habr
RU

Spec-Driven Development на практике: как локальный job-агрегатор живёт без ревьюеров и не ломается

Поиск работы в 2026 году — это инженерная задача, которую все решают вручную. hh.ru перемешивает релевантные роли с шумом: на запрос «Senior PHP» пр…

поиск работыагрегатор вакансийvanilla javascriptSSRFspec-driven developmentSSEopen sourcenode.jsi18nтестирование
Habr
RU

Как я заставил 9B обгонять 30B: три месяца с local LLM агентом

Я дал 9B и 30B одну задачу. 30B сделал 24 шага и вернул неправильный ответ. 9B справился за 3. Разбираю почему размер модели — не главное, и что на…

локальные llmлокальный агентуправление контекстомагентный CLIlm studioslmnode.jsэмбеддинги
Habr