Обновить
860.78

Python *

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

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

От 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.8K

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

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

Что имеем 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.9K

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

От «яблока» до «королевы»: как нейросети учатся понимать смысл слов через эмбеддинги

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

Представьте, что вы объясняете ребёнку, что такое «яблоко». Вы покажете картинку, дадите попробовать, расскажете, что оно круглое, сладкое, растёт на дереве, а теперь попробуйте объяснить это нейросети. Она не видит, не пробует, но она понимает только числа.

Как же тогда заставить машину понять, что «яблоко» ближе к «груше», чем к «трактору»? Ответ на самом деле кроется в элегантном приёме, который произвёл революцию в NLP- векторных представлениях слов, или эмбеддингах.

Проблема «слепого» кодирования: почему one-hot не работает

Самый наивный подход- это пронумеровать все слова в словаре и закодировать каждое вектором из нулей и одной единицы:

Читать далее

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

MCPHero: MCP tools как native tools в openai

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

MCPHero - новая библиотека/проект для Python для использования MCP tools как native tools в ИИ библиотеках типа openai, которые не поддерживают MCP сами по себе.

Читать далее

Ритуал создания API в традициях древних ацтеков (часть II)

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

Процесс масштабирования бэкенд приложения на основе flask_restx и OpenApi. Реализация авторизации в приложении и обеспечение базового уровня безопасности.

Читать далее

Все об устройстве Q65 с примерами на Python (часть 3)

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

Q65 — цифровой протокол, разработанный Джо Тейлором (K1JT) и его командой в 2021 году для проведения минимальных связей в условиях сложных трасс прохождения радиосигнала.

В предыдущих частях цикла были рассмотрены структура протокола, алгоритмы формирования сигнала, механизмы компенсации эффекта Доплера, синхронизация и детектирование сигнала в условиях быстрых затуханий сигналов. В этой части статьи рассматривается механизм декодирования данных Q-ary Repeat Accumulation кодов протокола Q65.

Статья может быть интересна радиолюбителям, людям, интересующимся темой цифровой обработки сигналов и кодами коррекции ошибок.

Читать далее

unihttp – пишем декларативные API-клиенты на Python

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

Привет! Хочу представить вам свою библиотеку – unihttp.

Уверен, что все сталкивались с необходимостью работы с какими-либо API, но что делать, если у этого сервиса (внешнего или внутреннего) отсутствует библиотека, позволяющая лаконично вызывать нужные методы?

Читать далее

Разбираю статью про FS-Researcher: как учёные научили ИИ вести конспекты

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

ChatGPT и другие LLM "забывают" начало диалога при серьезном ресерче. Обычная проблема. Новые факты вытесняют старые из-за ограниченного контекстного окна, и отчет получается поверхностным. Недавнее исследование предлагает простое решение — дать ИИ-агенту "блокнот". Разбираемся как такой подход обходит ограничения контекста.

Читать далее

Визуализация данных в Python с помощью библиотеки Plotly: база для новичков

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

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

В статье разбираем базовые возможности Plotly и основные типы графиков.

Читать далее

Приложение на коленке! Почему Vial и QMK — шляпа?

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

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

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

И теперь пришло время рассказать про софт.

Почему лично для меня софт — это очень важная часть клавиатуры.

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

Даже в магазине, выбирая пакет молока, мы в первую очередь смотрим на дизайн упаковки — часто вообще подсознательно. И если дизайн «так себе», появляется ощущение, что и само молоко будет таким же.

Если на упаковке сделали всё спустя рукава, то и на производстве, скорее всего, не заморачивались. Не факт конечно! но ощущение возникает именно такое.

С софтом всё работает точно так же. Он либо вызывает доверие и желание работать дальше, либо сразу оставляет чувство «ну такое».

Читать далее