
Показываем на практике, как с помощью ChatGPT можно за несколько минут преобразить реально существующие фрагменты легаси-кода на Python.
Высокоуровневый язык программирования
Показываем на практике, как с помощью ChatGPT можно за несколько минут преобразить реально существующие фрагменты легаси-кода на Python.
Как исполнять Python внутри Spring Boot?
Я прошёл путь от сырых AOP-костылей до production-ready библиотеки с REST, gRPC и безопасным исполнением скриптов. В статье: опыт, архитектура и базовые примеры использования.
Предисловие.
Есть у нас сеть. Не вдаваясь в подробности, состоит она из нескольких десятков коммутаторов D-Link и Cisco. Последние выполняют роль агрегаторов трафика, а D-Link занимаются доступом. Соответственно много VLAN, много устройств. И очень часто, пользователи меняют свое расположение, а вместе с ними переезжают их компьютеры и МФУ. Всё это дело хоть и подключается к нумерованным розеткам, часто поиск порта на коммутаторе для замены VLAN довольно долог и не удобен. Кроме того, техники, которые занимаются непосредственно подключением оборудования, не имеют доступа на коммутаторы. Им приходится глазами искать кабель в стойке, а потом просить инженеров проверить VLAN. Хотелось как-то упростить процесс.
Я уже давно неспешно изучаю Python в качестве дополнительного образования. В основном для применения в автоматизации на работе и дома. Ну тут вот и сошлось: Python, проблема и статья на Хабре Python3. Автоматизация конфигурации мультивендорного сетевого оборудования / Хабр. Прямо брать код из ее не стал, такой функциональности не требуется. Да и хотелось самому разобраться, опираясь на идею.
Написание кода началось с запроса к GigaChat, заодно было интересно проверить насколько он хорошо пишет скрипты. Не буду утомлять приводя весь цикл нашего общения, остановлюсь кратко: сперва GigaChat выдал скрипт на основе библиотеки paramiko, после уточнения, что нужно для Telnet выдал и эту версию. После нескольких итераций, в том числе с асинхронными функциями, остановился на библиотеке telnetlib. В Python 3.12 есть ее замена telnetlib3, т.к. сама telnetlib вырезана в релизе - устарела. ИИ вполне можно использовать для написания небольших скриптов, как отработка идеи или небольших функций в проектах. Однако стоит проверять код, т.к. в части случаев он получается совсем не рабочий. Ну и заодно - изображение в начале текста тоже сделал GigaChat, я то рисовать не умею.
15 августа 2025 года Telegram выпустил обновление Bot API 9.2. Если прошлые версии (9.0 и 9.1) в основном усиливали возможности ботов в работе с платным контентом, подарками и чек-листами, то 9.2 делает шаг в сторону более тесной интеграции ботов с каналами и их экосистемой.
В этом релизе добавили поддержку прямых сообщений в каналах, инструменты работы с рекомендуемыми постами, расширили систему чек-листов и доработали механику подарков. Давай разберём, что это значит для разработчиков и администраторов сообществ.
Я знаю, что существует 100 500 способов перекинуть картинку в готовую вёрстку.
Но когда у меня дошло до дела, результат оказался так себе.
То ли я криворукий, то ли все эти инструменты ещё далеки от совершенства.
В итоге понял, что мне проще накидать свой собственный велосипед — скрипт на Python (~200 строк).
Решил выложить, может, кому‑то пригодится.
Скрипту можно скормить три скриншота сайта:
1) Десктоп‑версия
2) Планшет
3) Мобильная версия
На выходе получим одну HTML‑адаптивную вёрстку (десктоп, планшет, мобила) с использованием Tailwind CSS.
Сегодня я хочу рассказать о своем проекте QTune. Это open-source приложение с графическим интерфейсом, которое превращает сложный и требовательный процесс файнтюнинга в понятный и управляемый процесс, доступный каждому. Это не просто набор скриптов, а полноценная студия, охватывающая весь цикл: от создания датасета до запуска готовой модели локально.
Алгоритмическая торговля на Московской бирже с помощью терминала QUIK остаётся популярным способом автоматизировать стратегии. В этой статье мы напишем грид-бота, который выставляет ордера сеткой вокруг текущей цены и зарабатывает на колебаниях.
Как‑то раз двое ML‑щиков решили соединить свою любовь к компьютерному зрению и ракеточным видам спорта. Так родилась идея сделать систему видеоаналитики для падел‑тенниса.
Падел — это игра на стыке большого тенниса и сквоша. От сквоша падел взял стеклянные стенки вокруг корта, а от большого тенниса — почти всё остальное.
Я собрал ядро для Telegram‑ботов и описал архитектуру, которая держится на YAML‑сценариях и очереди в БД. Почему отказался от брокера, как экономлю апдейты в базе, как работает «разблокировщик» цепочек и что это даёт в предсказуемости. Показываю решения и компромиссы без «магии».
Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные.
Todo-листы, интернет-магазины с товарами Item 1
, Item 2
, API для управления книгами... Серьезно? После пятого GET /todos
начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала.
Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера.
Так родился «Cynical Circle API» — API для тех, кто понял жизнь и устал от ванильных примеров.
(Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)
Создайте свою версию легендарного «Сапёра» на Python с графическим интерфейсом! В этом подробном руководстве вы шаг за шагом реализуете полноценную игру: от настройки игрового поля с помощью Tkinter до обработки кликов, управления флагами и интеллектуального открытия клеток. Вы освоите генерацию мин с безопасной зоной, рекурсивное раскрытие пустых областей, систему подсчёта времени и проверку условий победы.
Привет! Я Рома, бэкендер-питонист в KTS.
Это вторая статья в моем цикле об алгоритме архивации bzip2. Первую можно прочитать здесь, но для понимания сегодняшней темы она необязательна. Ниже я разберу преобразование Барроуза-Уилера — ключевой этап сжатия bzip2.
В нашей компании мы занимаемся автоматизацией тестирования и часто сталкиваемся с необходимостью не только разворачивать сложные пайплайны, но и реализовывать метрики, которые действительно помогают выявлять тонкие баги в работе LLM-классификаторов. Есть понятная open-source инфраструктура, привычные инструменты и строгие требования ИБ. Но когда начинаешь сравнивать разные модели-судьи — например, GPT-4o от OpenAI и YandexGPT, — традиционные подходы к валидации и любимые метрики внезапно ведут себя очень по-разному.
В этой статье я расскажу, как обычный процесс локализации метрик для DeepEval вывел нас не только на поиск багов в коде, но и привёл к пересмотру самой логики автоматизированной оценки: почему педантичность одной LLM может “маскировать” ошибки, а прагматичность другой — неожиданно улучшить вашу диагностику. Разберём код живых метрик, покажем, как переход от faithfulness к relevancy помог нам обнаружить и устранить важную логическую уязвимость, и выделим пять универсальных уроков, которые понадобятся каждому, кто автоматизирует оценку LLM не “по учебнику”, а по-настоящему.
Если вам интересен опыт построения эксплуатируемых, не “пластмассовых” метрик для LLM-классификаторов в условиях ограничений ИБ и смешанных инфраструктур (OpenAI + российские модели) — добро пожаловать под кат!
Экспорт HTML-таблиц в Excel — это распространенная задача в обработке данных, отчетности и автоматизации. Независимо от того, работаете ли вы с данными, полученными с веб-страниц, панелями управления или отчетами на основе HTML, преобразование таблиц в формат Excel может облегчить анализ данных и их обмен.
В этом блоге мы рассмотрим...
Асинхронность в тестах выглядит как способ «бесплатно» ускорить прогон: пока один тест ждёт ответа сервера, другой мог бы выполняться. Я переписал UI (Playwright) и API (HTTPX) тесты на async/await, прогнал их в CI/CD и посмотрели на результат. Спойлер: магического ускорения не произошло — разбираемся, почему так и когда асинхронность всё-таки нужна.
Это — обучающая статья, в которой подробно разбирается поведение send
, throw
и close
методов генератора.
Впрочем, для опытных пользователей может быть интересно узнать про:
• нововведение, добавленное в close
начиная с Python 3.13
• случай, в котором поведение CPython расходится с The Python Language Reference
• некоторые моменты, описанные в PEP 342 - Coroutines via Enhanced Generators
Всё это вы также найдете в статье.
Привет, Хабр! Думаю, всем знакома ситуация: десятки файлов на рабочем столе, сваленных в единую кучу. Скрины, документы, архивы — и всё в одном рабочем пространстве. Наводить порядок не всегда получается, а жить в беспорядке не очень удобно. Недавно, в процессе наведения порядка, я утомился делать это руками и написал скрипт на Python, который структурирует и раскидает всё по папкам самостоятельно.
Скрипт в статье:
- Автоматически сортирует файлы по 9 категориям
- Поддерживает 50+ форматов файлов
- Предоставляет гибкие настройки
Привет, Хабр! Это Катя Саяпина, менеджер продукта МТС Exolve.
Самую честную обратную связь бизнес получает не из опросов, а из живых разговоров — когда клиент сам звонит и рассказывает, что его раздражает, что не работает или чего не хватает. Мы хотим извлекать эту ценность автоматически.
Сегодня покажу, как собрать простую систему фонового анализа звонков. Она забирает расшифровки разговоров через API МТС Exolve, отправляет их в GigaChat для обработки, а результаты сохраняет в базу SQLite.
🚀 XTools-py — универсальные утилиты для Python-разработчиков
Если вы когда-либо писали на Python и ловили себя на мысли «Опять писать парсер конфигурации…» или «Где-то у меня был код кеша, надо найти» — эта библиотека для вас.
XTools-py — это набор мощных и удобных инструментов для Python, которые помогают упростить рутинные задачи и ускорить разработку.
Вместо того чтобы тратить время на повторное изобретение велосипеда, вы получаете готовые и проверенные решения.
✨ Возможности
Find — быстрый поиск и работа с коллекциями данных.
Matrix — операции с матрицами.
Config — удобная работа с JSON, YAML, INI.
Validator — валидация строк, чисел и других типов.
Cache — простой кеш с TTL.
DateTimeUtils — работа с датами и временем.
MathUtils — расширенные математические функции.
ColorUtils — преобразование и обработка цветов.
EncryptionUtils — шифрование и хеширование.
TextUtils — удобные манипуляции с текстом.
UnitConverter — конвертация единиц измерения.
AWS S3 — облачное хранилище (асинхронно/синхронно).
Можно ли применить известный трюк с операцией XOR, используемый для поиска в списках одного или двух пропущенных чисел, сделав так, чтобы он подошёл бы для поиска тысяч отсутствующих идентификаторов в таблицах, содержащих миллионы строк?