Обновить
1024K+

Python *

Высокоуровневый язык программирования

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

Как мы автоматизировали отдел продаж в Bitrix24 с помощью ИИ

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

Привет! Я Влад Вандер, контент-маркетолог в Velmi. Ребята из команды рассказали мне, как автоматизировали отдел продаж и научили ИИ-бота квалифицировать лидов в Битриксе. В этой статье расскажу про это: от архитектуры до граблей, на которые пришлось наступить.

Читать кейс →

Новости

Жесты вместо горячих клавиш: подключаем ИИ к веб-камере

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

Наткнулся на старую веб-камеру, которая валялась без дела. Дешевый вариант с посредственным качеством. С такой камерой не стать звездой онлифанс. Но выкидывать жалко. Пришла в голову мысль — почему не соорудить управление жестами для компьютера?

Полноценное управление компьютером, как в фильмах с Томом Крузом, пока остаётся фантастикой: руки затекают, случайные движения превращаются в случайные команды. А вот привязать к жестам пару действий — выключить звук, свернуть окна, прокрутить ленту — реально и за один вечер. Понадобится старая веб-камера, Python и готовые модели Google. В статье — пошаговая сборка, разбор кода и инструкция, как обучить модель реагировать на жесты.

Читать далее

Вебхуки оплаты ЮKassa, IP-check, event log, idempotency и аварийный capture

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

Платежный код обычно выглядит ровным ровно до первого реального сбоя. Пока платежи идут по ожидаемому сценарию, кажется, что достаточно создать оплату, дождаться вебхука и обновить локальный статус. Но как только вебхук приходит повторно, приходит позже нужного, прилетает от не того IP, или удаленный платеж уже живет в одном статусе, а локальная база в другом, становится ясно, что платежный контур без защит почти всегда врет.

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

В одном из проектов этот узел был собран так, первый платеж создается с capture=False, входящий webhook проверяется по IP, каждое событие сначала пишется в журнал, потом маршрутизируется в обработчик, capture подтверждается стабильным idempotence key, успешный платеж валидируется по сумме, валюте и metadata, а на случай расхождения остается отдельный ручной confirm, который умеет дочитать фактический статус из ЮKassa и синхронизировать локальную базу.

То есть задача тут не просто принять webhook, а построить платежный контур, которому можно верить.

Читать далее

Как перестать сливать ключи клиентов в ChatGPT: пишем умный буфер обмена для n8n и Python

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

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

В этой статье я покажу, как навсегда закрыть проблему утечки данных (NDA) при работе со стеком n8n и Python. Мы напишем фоновый демон, который на лету перехватывает буфер обмена Mac/Linux, вырезает все секреты, а когда ИИ возвращает исправленный код — автоматически подставляет реальные ключи обратно из локального сейфа. Итог: 100% безопасность коммерческой тайны, сохранение типов данных для n8n и ноль рутины.

Читать далее

Питон по Пассову: как NLP помог сделать Python понятным гуманитариям

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

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

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

Читать далее

Контекстный менеджер Python: пишем свой with и управляем ресурсами через ООП

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

Работа с внешними ресурсами — файлами, базами данных или сетевыми соединениями — требует строгой дисциплины. Забыли закрыть соединение? Приложение в итоге столкнется с утечками памяти или исчерпанным пулом коннектов.

Чтобы не писать громоздкие и плохо читаемые конструкции try…finally, в Python используется оператор with. Однако многие разработчики применяют его исключительно как встроенный инструмент для функции open(), упуская огромный архитектурный потенциал этой конструкции.

Читать далее

Локальный инструмент для поиска закупок ЕИС по 44-ФЗ и 223-ФЗ: ключевые слова, фильтры и выгрузка в Excel

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

Смотрю на этот текст и понимаю, что все пользуются ИИ, просто кто-то это хорошо скрывает.

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

Проблема не только в том, чтобы открыть сайт ЕИС и вбить пару фильтров. Проблема в том, что нужно быстро понять: подходит закупка или нет, относится ли она к нужной теме, есть ли там нужные работы, стоит ли тратить время на документацию.

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

ИИ с такой первичной сортировкой может помочь. Но для этого ему нужно дать нормальные данные: таблицу, где есть номер закупки, заказчик, регион, наименование, цена, сроки, ОКПД2, ссылка и дополнительные поля.

Мне был нужен не просто “поиск на сайте”, а программа, которая создаёт Excel для последующей загрузки в ИИ и ручного анализа.

Так появилась идея сделать локальную программу, которая:

Читать далее

Пять продуктов в одном FastAPI-монолите: HTMX вместо React, грабли Telegram Mini App и биллинг на Stars

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

TL;DR: Привет, Хабр. С 2 по 12 мая я в режиме нон-стоп писал Doday — кросс-платформенный todo: web, Telegram Mini App, чат-бот. Получилось 317 коммитов, ~40 000 строк кода, 633 теста, 38 модулей в app/. Стек — FastAPI + HTMX + Alpine.js + Tailwind, без единой строчки React. Писал в паре с Claude Code, и не скрываю этого — расскажу как именно и какая часть кода реально моя голова, а какая — клавиатура. Грабли, цифры, ссылки внутри.

Читать далее

Как я проектировал очередь задач для работы с AI-агентом

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

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

Читать далее

Python-проект в 2026: uv, ruff, pyproject.toml. Настраиваем за 5 минут

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

pip install, requirements.txt, virtualenv, black, isort, flake8, mypy, setup.py... Если вы настраиваете Python-проект так же, как в 2020 году, эта статья для вас. Показываю современный стек, который заменяет всё вышеперечисленное.

В 2026 году экосистема Python-инструментов наконец собралась в нечто цельное. Два инструмента (uv и ruff) + один файл (pyproject.toml) заменяют 7+ отдельных утилит. Вот как это работает.

Читать далее

Как я довёл расходы на LLM до нуля: почему на бесплатных тарифах параллелизм — враг

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

Это продолжение первой статьи про Briefka — там я описывал самого бота и базовую архитектуру каскада LLM-провайдеров. За прошедшие 4 месяца бот органически вырос с 59 до 84 пользователей, и именно на этом масштабе бесплатный каскад начал срываться на платного провайдера. Расскажу, почему так вышло и как я вернул расходы к нулю — с цифрами и кодом.

Код ниже — реальные фрагменты из боевого Briefka, слегка сокращённые для читаемости: убраны логирование и сбор статистики.

Читать далее

Топ-10 вопросов на Python backend собеседовании, которые валят джунов

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

Готовиться к собеседованию по списку из StackOverflow — значит знать ровно то же, что знают все остальные. Интервьюеры это чувствуют. В этой статье — 10 вопросов, которые реально задают на Python backend собеседованиях, с разбором так, как это объяснили бы вам после интервью на обратной связи.

Читать далее

Как одна кривая регулярка может «положить» ваш сервер: разбираем уязвимость ReDoS

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

Алерты кричат о 100% загрузке CPU, API лежит, но сетевой трафик на нуле? Знакомьтесь, это ReDoS — атака, при которой безобидная строка из 30 символов и одна неоптимальная регулярка заставляют сервер уйти в вычисления на десятилетия.

В этой статье разбираем «катастрофического возврата» (backtracking) под капотом Python, пишем эксплойт для зависания собственного процессора и разбираем правила, которые спасут ваш бэкенд.

Читать далее

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

Как дообучить LLM. Рассказываю шаг за шагом

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

В этой статье я шаг за шагом расскажу, как дообучить LLM под свою задачу. В качестве примера возьму open-source модель Qwen2.5-0.5B и дообучу её извлекать информацию из текста в формате JSON по заданной схеме. Сначала дам короткую вводную по этапам обучения языковых моделей, а затем перейдём к практике: подготовим данные, настроим LoRA, обучим модель в Colab и сравним метрики до и после — заодно проверим, насколько сильно модель забывает прежние знания. Рассказ будет сопровождаться кодом на Python.

🔥 Начинаем 🔥

Локальная Gemma 4 на MacBook читает графики и таблицы — и врёт красивее, чем говорит правду

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

MacBook M3, 16 ГБ, никакого облака. Поставил свежую Gemma 4, написал инструмент: кидаешь картинку с графиком или таблицей — получаешь CSV. Три кейса из семи — идеально. На остальных модель начала врать, причём аккуратнее, чем говорила правду: вместо рваных реальных чисел подсовывала гладкие выдуманные. Разобрал по шагам — сетап на маке, грабли с llama.cpp, сам инструмент — и собрал карту, где локальному зрению можно верить, а где оно тихо галлюцинирует

Читать далее

Русский метаболический ИИ оказался сложнее, чем может переварить Claude Code

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

Claude Code — лучший кодинг-агент в мире. На наших задачах сливается систематически: знает запреты, нарушает в следующем PR.

Читать далее

Crashprobe: перехват ошибок Python в синхронном коде и потоках

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

Привет, Хабр! Меня зовут Андрей, как и многие, я уставал от красных сообщений в консоли, где не видно значений переменных. Приходилось ставить print(), гуглить – терял кучу времени. Поэтому я написал crashprobe – библиотеку, которая делает отладку простой и наглядной.

Читать далее

Разбираемся в ML без воды: от базы до Attention. Часть 9: Дерево решений

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

В восьмой части мы завершили изучение SVM и разобрались с Kernel Trick. Теперь пришло время познакомиться с деревьями решений — одним из самых популярных и интуитивно понятных алгоритмов машинного обучения.

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

Читать далее

Парсинг Telegram: как мы автоматизировали сбор скрытых ID чатов через Telethon и сэкономили 20 часов рутины

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

Как автоматизировать перехват лидов из Telegram, если конкуренты прячут свои чаты и запрещают копирование ссылок? Клиент пришел с задачей: парсить комментарии из 50 крупных каналов в реальном времени. Проблема в том, что для прослушивания нужен ID скрытой группы, который менеджеры вытаскивали руками, тратя на это полдня. В этой статье показываю, как мы обошли визуальные ограничения интерфейса, вытащили нужные ID напрямую через API Telegram и сократили рутину с десятков часов до пары секунд. Внутри — готовый скрипт-сканер на Python.

Читать далее

Топ-10 вопросов на собеседовании по FastAPI

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

FastAPI окончательно закрепился в стеке Python-разработчиков, а значит, на собеседованиях вас точно будут гонять по корутинам, Pydantic и Dependency Injection. Я собрал 10 реальных вопросов (включая коварные подвохи от сеньоров!), которые сейчас задают джунам и мидлам. Никакой сухой теории из доков — только практика. Го под кат — проверим, насколько вы готовы к следующему интервью!

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