Обновить
852.66

Python *

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

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

Мониторинг рынка аренды Санкт-Петербург

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

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

Данные: ЦИАН, 7 038 объявлений (цены предложения, не сделки). База - медиана, чтобы не искажаться хвостом.

В итоге собрал вот такой PDF-отчет за январь 2026 (яндекс диск).

Читать далее

Git-хуки, которые не дают коммитить плохой код

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

Здравствуйте, коллеги программисты!

Большинство фейлов в CI — это мелочи: забытый console.log, форматирование, линт, сломанный импорт, файл без теста. Такие ошибки не должны доезжать до сборки или код-ревью.

Git-хуки позволяют запускать проверки прямо во время git commit и блокировать коммит, если были обнаружены нарушения.

В прошлой статье я рассказывал про скрипты, которые я использую для проверки качества кода в PHP/Laravel.

В этой статье я хочу рассказать о скриптах для JavaScript/TypeScript и Python — линтинг, форматирование, тесты, статический анализ и проверка наличия тестов.

Все скрипты, описанные в статье, находятся здесь.

Читать далее

Crypto Orderbook или Биржевой стакан на криптобирже: взгляд изнутри, часть 1

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

Как устроены биржи? Откуда берется рыночная цена и чем лимитный ордер отличается от рыночного? Что такое стакан, спред, bid и offer? Разберемся на Python

Читать далее

Как Python управляет памятью под капотом

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

В Python разработчик редко задумывается об освобождении памяти. Объекты создаются, используются и будто бы исчезают сами. Это создает ощущение, что памятью «занимается Python», и на этом можно не фокусироваться. На практике понимание того, как именно работает сборка мусора, помогает писать более стабильный, предсказуемый и эффективный код.

Читать далее

Реализация MCP в Open WebUI. Часть 1. Интеграция c Open WebUI

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

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

На первый взгляд MCP в связке с LLM полностью закрывал данные проблемы, однако с ростом объема данных стало заметно, что LLM не удается обрабатывать их быстро и качественно, а написание SQL запросов для нее не всегда легкая задача (даже если примеры этих запросов у нее есть в промпте). В итоге мы получили потерю контроля над контекстом модели и непредсказуемый результат.

В этой части я расскажу про интеграцию с Open WebUI и какая архитектура модели позволила победить вышеуказанные проблемы. Следующие статьи расскажут о реализации MCP таким, каким он позволяет выполнять наши задачи (но не финальной версии). Эта статья может быть полезна всем, кто строит свои модели на основе Open WebUI или еще только выбирает фреймворк, на котором предстоит строить будущую модель

К интеграции с Open WebUI

Подсушенный флоу вайб-кодинга с Claude Code + speckit

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

tl dr:

итеративный constitution.md

промтинг фич с помощью md-файлов

модификация скриптов speckit

ChatOps с уведомлениями в Telegram

git-ветки для контроля урона

вычитка документации вручную

авто-кодинг с код-ревью финального mr.

На скрине случайно получившаяся сегодня гармоничная композиция из того, чем себя можно занять, пока агент в IDE коптит.

Читать далее

Я автоматизировал поиск работы, чтобы пройти тест Тьюринга у HR. Открытый эксперимент

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

Привет, Хабр. Я Вадим, QA-инженер.

Все мы знаем, как работает найм. Твое резюме может быть идеальным, но если в нем нет нужного ключевого слова или оно не понравилось алгоритму первичного отсева (ATS) — ты в пролете.

Я решил взломать эту систему. Инженерно.

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

Ниже — краткий лог разработки: как мы боролись с «машинным акцентом», почему нейросети врут про опыт и удалось ли мне обмануть рекрутеров.

Читать далее

Синдром импостора: как перестать бояться публиковать код

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

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

Читать далее

От Python к Go: Как я ускорил сканер в 10 раз и обошел Cloudflare

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

Современные WAF — это крепости, которые открывают ворота любому, кто знает секретное рукопожатие. Я переписал свой Red Team сканер с Python на Go и обнаружил, что топовые защиты сдаются и отдают бинарные данные, принимая бота за легитимный браузер. История о том, как uTLS и правильный ClientHello ломают логику "защитников". Код, бенчмарки и (конечно) тесты, проведенные строго на внутренних полигонах.

Читать далее

Я почувствовал себя клоуном, подключая 5 библиотек ради устойчивого API-клиента

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

Если ваш API-клиент выглядит как башня декораторов — вы уже в зоне инженерной боли. Рассказываю, как я из этого выбрался.

Читать далее

Автоматизация SEO для агросайта: от 134 страниц каталога до 358 SEO-страниц с ИИ. Технический разбор

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

Claude AI + Python + pandas = экономия 85% времени. Полный разбор архитектуры, кода и подводных камней.

Читать далее

Запускаем AI-ассистента на бесплатном CPU: Qwen2.5 + Gradio + Hugging Face Spaces

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

Каждый раз, когда кто-то говорит про запуск LLM, возникает вопрос: "А где взять GPU?" Облачные GPU стоят денег, локальные видеокарты стоят ещё больших денег, а бесплатные GPU-тиры исчезают быстрее, чем появляются.

Но что если можно запустить полноценного AI-ассистента вообще без GPU? На обычном CPU. Бесплатно. С хорошей поддержкой русского языка. И развернуть его за 15-20 минут.

В этой статье рассказывается, как запустить Qwen2.5-3B на бесплатном CPU-тире Hugging Face Spaces, создать веб-интерфейс с помощью Gradio и получить работающего ассистента с поддержкой русского языка. Никаких глубоких знаний не требуется — только базовый Python и аккаунт на Hugging Face.

Если вы устали искать бесплатный GPU или просто хотите поэкспериментировать с LLM без лишних затрат — эта статья для вас.

Читать далее

AG-UI. Как написать AI ассистента для подбора подарков за 20 минут

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

Всем привет! Я Никита, Principal Engineer в стартапе AG2, мейнтейнер одноименного фреймворка для разработки AI агентов (AG2), автор фреймворка FastStream и просто опенсорс и AI энтузиаст.

И, как любой разработчик, я иногда запускаю пет-проекты.

Один из таких проектов, который я запустил после новогодних праздников - это AI ассистент по подбору подарков (с интегрированным вишлистом) Дарий

На его примере я хочу рассказать о протоколе AG-UI и на практике показать, как разработать ChatGPT-like агентное приложение за пару минут. Рассмотрим как бекенд (python), так и фронтенд (NextJS).

Важное уточнение: это реальный проект, с которым вы можете взаимодействовать. Это не разбор искусственных hello-world примеров.

После прочтения статьи у вас будет подробное руководство по разработке интерактивных chat-based приложений с элементами Generative UI.

Читать далее

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

Telegram‑бот для (само)дисциплины на Python: aiogram 3, APScheduler и деплой на VDS

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

Привет, Хабр!

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

Что имеем as is - пет‑проект о том, как я с нуля собрал и выкатил в прод Telegram‑бота, который напоминает о фокусе дня, считает выполнения, дает ачивки, мягко мотивирует, работает по таймзонам и крутится на VDS под systemd.

Заценить

Статанализ — must-have для проектов с Codex/ClaudeCode

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

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

Хочу дополнить аргументом, который в 2026 году уже стал прям must-have: статанализ и типы — это лучший self-check для AI-агента.

Современные агенты для разработки (Claude Code на Opus 4.5 и ChatGPT Codex 5.2 High) хорошо пишут код. Ошибок уровня «переменная не объявлена», «импорт забыл», «опечатка в имени метода» по сути уже почти нет. 

Основные промахи чаще про другое:

Читать далее

«Спрятать и не потерять»: Реализуем DSSS-стеганографию в MP3 на Python. AES-256 против сжатия с потерями

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

Принято считать, что стеганография в аудио умирает, как только файл пережимают в MP3. Классический метод LSB (замена младших битов) действительно не выдерживает встречи с психоакустической моделью сжатия — данные просто стираются как «неслышимый мусор».

Но что, если подойти к задаче не как к замене битов, а как к радиосвязи? В этой статье мы напишем приложение ChameleonLab на Python (PyQt6 + NumPy). Мы откажемся от хрупких методов в пользу военной технологии DSSS (расширение спектра), применим криптографию AES-256 и научим наш сигнал выживать даже при перекодировании в 128kbps. Разберем математику корреляции, борьбу с рассинхронизацией ffmpeg и почему иногда шум — это хорошо.

Читать далее

Я устал выпрашивать логи у завода, поэтому написал свой симулятор сталеплавильной печи

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

Давайте честно. Все эти конференции про "Цифровые Двойники" и "AI на производстве" - это красиво только на слайдах в PowerPoint.

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

Читать далее

Как мы пытались научить ML считать трудоёмкость в промышленности — и что из этого вышло

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели5.8K

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

В последние годы руководители IT-подразделений всё чаще рассматривают методы анализа данных и машинного обучения как универсальный инструмент, способный «автоматически» решить задачу расчёта норм времени. Иногда — с избыточным оптимизмом. Часто при этом забывается простая, но важная мысль: если существующий процесс расчёта неточен и данные в нём некачественные, то автоматизация такого процесса лишь ускоряет распространение ошибок. Особенно если применять вероятностные модели к накопленным за годы «грязным» данным.

Именно с такой реальностью нам (мне и коллегам) и пришлось столкнуться.

Читать далее

Одно кольцо, чтобы повелевать остальными: собираем лимитирование, ретраи и circuit breaker в одной библиотеке

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

Я чувстовал себя клоуном подключая 5ю библиотеку для написания устойчивого к ошибкам API клиента. После этого я написал библиотеку объединяющую все воедино. Мотивация и история архитектурных решений.

Читать далее

Как мы с помощью ML попали на остров

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

Машинное обучение обычно ассоциируется с датасетами, метриками и бесконечными экспериментами в ноутбуках. Но в какой-то момент для нас ML перестал быть абстрактной технологией - и стал маршрутом. Причём буквально. Эта история о том, как модели, гипотезы и пара неочевидных решений привели нас не только к рабочему результату, но и на самый настоящий остров Парамушир (северные Курилы).

Попытка улететь на вертолёте из Петропавловска-Камчатского в Северо-Курильск сразу превратилась в маленькое приключение: местные хором пугали погодой и перспективами — «можете не прилететь, а если вдруг прилетите, то потом не улетите». Камчатка в этом смысле честна и беспощадна, особенно к планам. Но желание полетать на вертолёте здесь перевешивало все разумные доводы — уж слишком манила сама идея увидеть полуостров с воздуха, да ещё и недорого (у вертолетных экскурсии на Камчатке кусачие цены). На вопрос "как не играть в рулетку с погодой" - ответ очевиден, ML.

P.S. хоть Хабр и не про туризм, но вдруг кому интересно, на Парамушире есть и свои достопримечательности, такие как действующий вулкан Эбеко и аэродромное плато (бывшие японские ангары) поэтому не только ради дешевого полета на вертолете мы оказались в Северо-Курильске.

Читать далее