RU

Один платёж — один чек: идемпотентность в интеграции с «Мой налог»

Я делаю сервис по подписке и плачу налог как самозанятый. Пока платежей было три в день, чеки в «Мой налог» можно было выбивать руками. Когда они пошл…

самозанятыйчекиНПДМой налогФНСидемпотентностьплатеживебхукиPythonAPI
Habr
RU

Как я без опыта программирования создал Telegram‑бота, который уже два года ведёт новостной канал

Два года назад у меня практически не было опыта программирования. Когда‑то в школе мы немного изучали Pascal, но после этого я не&…

вайбкодингTelegram-ботPythonChatGPTLLMOpenAI APIGoogle GeminiApifySeleniumGoogle Cloud Run
Habr
RU

Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться

Проект представляет из себя быстрый способ воссоздать архитектуру состоящую из 2 серверов (локальный + удаленный) с определенными сервисами, которые р…

APIТестированиеLinuxИнструментыGitБезопасностьPythonRubyunixIDEМузыкаРаботаHTMLDIYGitHubНавыкиVPNTelegramСервисыDockerCloudflareФронтендRedisQAМессенджерdevСерверNFTМашин1CDeFiGrafanaVPSСтатьи
Tproger
RU

Ваш AI-агент не понимает код. Он просто очень уверенно угадывает — поэтому мы создали SLICER

AI-агенты отлично решают локальные задачи, но часто теряют связи между частями большой кодовой базы. Из-за этого изменение одной функции может незамет…

AI-агентыстатический анализграф зависимостейPythonTypeScriptMCPcode reviewрефакторингfullstackdeveloper tools
Habr
RU

Playwright не спасает от флапающих тестов: разбираемся, как он ждёт на самом деле

Локально тесты проходят стабильно, а в CI начинают падать в случайных местах — знакомая картина даже для проектов на Pla…

PlaywrightPythonpytest-playwrightавтотестыUI-тестированиеAPI-тестированиефлапающие тестыCIавтоожиданиелокаторы.
Habr
RU

LLM-судье нельзя верить на слово: как построить надёжный гейт и проверить сами тесты

Как перестать доверять LLM-судье на слово и построить безопасную двухконтурную систему оценки? Внутри статьи: Архитектурный паттерн сдерживания: почем…

LLMLLM-as-a-judgeLLMOpsPythonтестированиевалидация моделейархитектура системкаппа Коэнакачество данных
Habr
RU

Hypothesis: тесты, которые сами ищут контрпримеры к вашему коду

Обычные тесты находят только ожидаемые ошибки. В статье разберём, как Hypothesis сам ищет контрпримеры и сокращает их до минимального с…

Hypothesisproperty-based testingтестирование свойствPythonавтоматизация тестированиягенерация данныхконтрпримерыshrinkingstateful-тестированиеpytest
Habr
RU

Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM

Вызов LLM легко принять за обычную функцию — пока код не сталкивается с квотами, тайм‑аутами, повторными списаниями и плавающими р…

PythonLLMAPI языковых моделейасинхронные запросыограничение конкурентностиповторные запросынедетерминизмтестирование LLMуправление контекстомподсчёт токенов.
Habr
RU

1002 хендоффа за 60 дней: как я собрал шину координации для 12 Claude-агентов

Шестьдесят дней назад я держал всю координацию своего SaaS в голове. Двенадцать вкладок Claude Code, в каждой своя роль: тимлид, аналитик, тестировщик…

Claude Codeмультиагентные системыкоординация агентовblackboardLLM-агентыоркестрация агентовавтоматизация разработкиPythonсоло-разработкаAI-агенты
Habr
RU

Граф кода одной командой: ставим graphlens-mcp в проект и перестаём жечь токены на grep

В первых двух статьях я сделал две вещи и обе — честно. Описал движок graphlens: как он берёт исходники на Python, TypeScript, Go, Rust и PHP и нормал…

graphlensMCPграф кодакодовые агентыClaude CodeLLMстатический анализ кодаоптимизация токеновPythontree-sitter
Habr
RU

Как приручить legacy-код: безопасная модернизация без заморозки фич

Как модернизировать legacy-код без остановки продукта: Strangler Fig Pattern, feature flags, shadow testing и безопасная миграция данных. Практика и а…

ИнтернетAPIJavaGitОпросPythonRubyMySQLПрактикаSQLРефакторингРаботаTorGitHubБотыHRMITФинтехICORedisQAБэкендTwitterИграПриложениеСерверKubernetesБиблиотекианалитикOpenTelemetryPostgreSQLDeFiGrafanaБизнесLegacyТехникаСтатьи
Tproger
RU

Property-based тестирование: как находить баги, которые вы не придумали

Классический unit-тест — это «вход X → ожидаю Y». Вы придумали кейс, зафиксировали ожидание, поехали. Проблема в том, что баги обычно живут не в кейса…

property-based testingHypothesisтестированиеQAавтотестыPythonshrinkingfast-check
Habr
RU

Аудит алгоритмов: как реализация Boyer-Moore с 190K звёзд на GitHub оказалась brute-force

Проверил реализацию Boyer-Moore в TheAlgorithms/Python (190K+ звёзд). Оказалось, что сдвиг bad character записывается в переменную for-цикла, что в Py…

алгоритмыBoyer-MoorePythonтестированиебагиopen sourceproperty-based testingстроковый поиск
Habr
RU

Открыл бету AI-Мастера для D&D. Главная проблема оказалась не в кубиках, а в памяти

Я уже несколько месяцев в свободное время пилю одну штуку — Telegram-бота, который водит тебя по D&D 5e в одиночку. Нейросеть тут за Мастера: гене…

DnDAI Dungeon MasterLLMнейросетиTelegram-ботPythonпет-проектgamedev
Habr
RU

Как я случайно открыл функцию активации с багом, побеждающую Swish

Началось всё с того, что мне было нечем заняться, и я баловался с языковой моделью, мучая её всякими разными вопросами по ML. В какой-то момент дело д…

MLФункция активацииPythonматематика и программирование
Habr
RU

Property-based testing на практике: как находить баги, о которых вы не подумали

Тридцать зелёных юнит‑тестов ещё не означают, что код готов к продакшену. Баги часто прячутся в данных, которые никто не дога…

property-based testingHypothesisавтоматизация тестированиягенерация тестовых данныхPythonинвариантыконтрпримерыstateful-тестированиестратегии Hypothesisпоиск багов
Habr
RU

Десктопный аналитик криптовалют: как устроена мультифакторная система сигналов на TA-Lib

Когда я начал торговать криптой, меня раздражало одно: большинство аналитических инструментов выдают «BUY» или «SELL» без объяснений. Три индикатора с…

технический анализкриптовалютаTA-LibPythonторговые сигналыиндикаторыMACDсвечные паттерныBinance APIFlask
Habr
RU

Ваши тесты медленные не из-за базы данных. Я измерил

Есть устойчивое поверье: интеграционные тесты медленные, потому что ходят в настоящую базу. «Подними SQLite в памяти», «замокай репозитории», «не гоня…

pytestpytest-asyncioинтеграционные тестыPythonsqlalchemypostgresqlfixturesasynciocprofileevent loop
Habr
RU

Как за один вечер я написал сервис инвентаризации оргтехники для филиальной сети из 16 локаций

Знакомая работает в IT-департаменте организации с 16 филиалами и ~5000 единиц оргтехники на балансе. Попросила: “Сделай сервис, чтобы загрузить фотку …

PythonFastAPISQLiteETLpandasинвентаризацияClaude visionOpenRouterSQLAlchemy
Habr
RU

Как у меня НЕ получился торговый бот на Polymarket

Привет, Хабр. Видел в интернете кейс. где сделали бота с LLM для торговли на Polymarket и он сделал $10k из $1k за месяц. Ну и чо бы не попробовать чт…

Polymarketрынки предсказанийLLMалготрейдингnegative resultfavorite-longshot biassurvivorship biasPythonбэктестингметодология
Habr
RU

Как запихнуть килограмм LLM в телеграм-бота и не сойти с ума

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

LLMTelegram botPythonClaudeGeminiGPT-4oAPITelegram Mini Appsасинхронностьархитектура
Habr
RU

Основы парсинга сайтов: от HTML до готового датасета для NLP

Даже сильная NLP‑модель быстро упирается в банальную проблему: ей нужны данные, причём не абстрактные «готовые датасеты», а тексты…

парсинг сайтовPythonHTMLBeautifulSouprequestsPlaywrightNLPдатасеточистка данныхязыковые модели
Habr
RU

Почему Python стал главным помощником Java‑команд

Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD…

JavaPythonbackend-разработкаинтеграционное тестированиемикросервисыpytestавтоматизация тестированияtestcontainersOpenAPI