Как стать автором
Поиск
Написать публикацию
Обновить
403.82

Python *

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

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

Ищем порт на коммутаторах D-Link

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров261

Предисловие.

Есть у нас сеть. Не вдаваясь в подробности, состоит она из нескольких десятков коммутаторов D-Link и Cisco. Последние выполняют роль агрегаторов трафика, а D-Link занимаются доступом. Соответственно много VLAN, много устройств. И очень часто, пользователи меняют свое расположение, а вместе с ними переезжают их компьютеры и МФУ. Всё это дело хоть и подключается к нумерованным розеткам, часто поиск порта на коммутаторе для замены VLAN довольно долог и не удобен. Кроме того, техники, которые занимаются непосредственно подключением оборудования, не имеют доступа на коммутаторы. Им приходится глазами искать кабель в стойке, а потом просить инженеров проверить VLAN. Хотелось как-то упростить процесс.

Я уже давно неспешно изучаю Python в качестве дополнительного образования. В основном для применения в автоматизации на работе и дома. Ну тут вот и сошлось: Python, проблема и статья на Хабре Python3. Автоматизация конфигурации мультивендорного сетевого оборудования / Хабр. Прямо брать код из ее не стал, такой функциональности не требуется. Да и хотелось самому разобраться, опираясь на идею.

Написание кода началось с запроса к GigaChat, заодно было интересно проверить насколько он хорошо пишет скрипты. Не буду утомлять приводя весь цикл нашего общения, остановлюсь кратко: сперва GigaChat выдал скрипт на основе библиотеки paramiko, после уточнения, что нужно для Telnet выдал и эту версию. После нескольких итераций, в том числе с асинхронными функциями, остановился на библиотеке telnetlib. В Python 3.12 есть ее замена telnetlib3, т.к. сама telnetlib вырезана в релизе - устарела. ИИ вполне можно использовать для написания небольших скриптов, как отработка идеи или небольших функций в проектах. Однако стоит проверять код, т.к. в части случаев он получается совсем не рабочий. Ну и заодно - изображение в начале текста тоже сделал GigaChat, я то рисовать не умею.

Читать далее

Новости

Telegram Bot API 9.2: прямые сообщения и рекомендуемые посты

Время на прочтение4 мин
Количество просмотров505

15 августа 2025 года Telegram выпустил обновление Bot API 9.2. Если прошлые версии (9.0 и 9.1) в основном усиливали возможности ботов в работе с платным контентом, подарками и чек-листами, то 9.2 делает шаг в сторону более тесной интеграции ботов с каналами и их экосистемой.

В этом релизе добавили поддержку прямых сообщений в каналах, инструменты работы с рекомендуемыми постами, расширили систему чек-листов и доработали механику подарков. Давай разберём, что это значит для разработчиков и администраторов сообществ.

Читать далее

Скриншоты сайта в адаптивную Tailwind верстку

Время на прочтение2 мин
Количество просмотров413

Я знаю, что существует 100 500 способов перекинуть картинку в готовую вёрстку.
Но когда у меня дошло до дела, результат оказался так себе.
То ли я криворукий, то ли все эти инструменты ещё далеки от совершенства.
В итоге понял, что мне проще накидать свой собственный велосипед — скрипт на Python (~200 строк).

Решил выложить, может, кому‑то пригодится.

Скрипту можно скормить три скриншота сайта:

1) Десктоп‑версия

2) Планшет

3) Мобильная версия

На выходе получим одну HTML‑адаптивную вёрстку (десктоп, планшет, мобила) с использованием Tailwind CSS.

Читать далее

QTune — open-source решение для быстрого файн-тюнинга моделей

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров815

Сегодня я хочу рассказать о своем проекте QTune. Это open-source приложение с графическим интерфейсом, которое превращает сложный и требовательный процесс файнтюнинга в понятный и управляемый процесс, доступный каждому. Это не просто набор скриптов, а полноценная студия, охватывающая весь цикл: от создания датасета до запуска готовой модели локально.

Читать далее

Создаем простого грид-бота для Московской биржи через QUIK и Python

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

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

Читать далее

Сказ о том, как мы приложение для падел-тенниса создавали

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

Как‑то раз двое ML‑щиков решили соединить свою любовь к компьютерному зрению и ракеточным видам спорта. Так родилась идея сделать систему видеоаналитики для падел‑тенниса.

Падел — это игра на стыке большого тенниса и сквоша. От сквоша падел взял стеклянные стенки вокруг корта, а от большого тенниса — почти всё остальное.

Читать далее

Мой первый пет‑проект: как я создавал ядро для Telegram‑ботов

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

Я собрал ядро для Telegram‑ботов и описал архитектуру, которая держится на YAML‑сценариях и очереди в БД. Почему отказался от брокера, как экономлю апдейты в базе, как работает «разблокировщик» цепочек и что это даёт в предсказуемости. Показываю решения и компромиссы без «магии».

Читать далее

Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

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

Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные.

Todo-листы, интернет-магазины с товарами Item 1, Item 2, API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала.

Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера.

Так родился «Cynical Circle API» — API для тех, кто понял жизнь и устал от ванильных примеров.

(Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

Читать далее

От консоли к GUI: Как написать игру «Сапёр» на Python с нуля версия GUI (часть вторая)

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

Создайте свою версию легендарного «Сапёра» на Python с графическим интерфейсом! В этом подробном руководстве вы шаг за шагом реализуете полноценную игру: от настройки игрового поля с помощью Tkinter до обработки кликов, управления флагами и интеллектуального открытия клеток. Вы освоите генерацию мин с безопасной зоной, рекурсивное раскрытие пустых областей, систему подсчёта времени и проверку условий победы.

Читать далее

Как написать bzip2-архиватор на Python: разбираем преобразование Барроуза-Уилера

Уровень сложностиСложный
Время на прочтение25 мин
Количество просмотров2.8K

Привет! Я Рома, бэкендер-питонист в KTS.

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

Читать далее

GPT-4o vs YandexGPT: как мы отлаживали метрики в DeepEval из-за требований ИБ

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров883

В нашей компании мы занимаемся автоматизацией тестирования и часто сталкиваемся с необходимостью не только разворачивать сложные пайплайны, но и реализовывать метрики, которые действительно помогают выявлять тонкие баги в работе LLM-классификаторов. Есть понятная open-source инфраструктура, привычные инструменты и строгие требования ИБ. Но когда начинаешь сравнивать разные модели-судьи — например, GPT-4o от OpenAI и YandexGPT, — традиционные подходы к валидации и любимые метрики внезапно ведут себя очень по-разному.

В этой статье я расскажу, как обычный процесс локализации метрик для DeepEval вывел нас не только на поиск багов в коде, но и привёл к пересмотру самой логики автоматизированной оценки: почему педантичность одной LLM может “маскировать” ошибки, а прагматичность другой — неожиданно улучшить вашу диагностику. Разберём код живых метрик, покажем, как переход от faithfulness к relevancy помог нам обнаружить и устранить важную логическую уязвимость, и выделим пять универсальных уроков, которые понадобятся каждому, кто автоматизирует оценку LLM не “по учебнику”, а по-настоящему.

Если вам интересен опыт построения эксплуатируемых, не “пластмассовых” метрик для LLM-классификаторов в условиях ограничений ИБ и смешанных инфраструктур (OpenAI + российские модели) — добро пожаловать под кат!

Читать далее

Как экспортировать HTML-таблицы в Excel с помощью Python

Время на прочтение11 мин
Количество просмотров1.8K

Экспорт HTML-таблиц в Excel — это распространенная задача в обработке данных, отчетности и автоматизации. Независимо от того, работаете ли вы с данными, полученными с веб-страниц, панелями управления или отчетами на основе HTML, преобразование таблиц в формат Excel может облегчить анализ данных и их обмен.

В этом блоге мы рассмотрим...

Читать далее

Асинхронные тесты для UI и API на Python: примеры, подводные камни и трезвый вывод

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

Асинхронность в тестах выглядит как способ «бесплатно» ускорить прогон: пока один тест ждёт ответа сервера, другой мог бы выполняться. Я переписал UI (Playwright) и API (HTTPX) тесты на async/await, прогнал их в CI/CD и посмотрели на результат. Спойлер: магического ускорения не произошло — разбираемся, почему так и когда асинхронность всё-таки нужна.

Читать далее

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

Python: Генераторы. Методы send, throw и close

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

Это — обучающая статья, в которой подробно разбирается поведение send, throw и close методов генератора.

Впрочем, для опытных пользователей может быть интересно узнать про:
• нововведение, добавленное в close начиная с Python 3.13
• случай, в котором поведение CPython расходится с The Python Language Reference
• некоторые моменты, описанные в PEP 342 - Coroutines via Enhanced Generators

Всё это вы также найдете в статье.

Читать далее

Автоматическая сортировка файлов на Python: из хаоса в порядок одной командой

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

Привет, Хабр! Думаю, всем знакома ситуация: десятки файлов на рабочем столе, сваленных в единую кучу. Скрины, документы, архивы — и всё в одном рабочем пространстве. Наводить порядок не всегда получается, а жить в беспорядке не очень удобно. Недавно, в процессе наведения порядка, я утомился делать это руками и написал скрипт на Python, который структурирует и раскидает всё по папкам самостоятельно.

Скрипт в статье:

- Автоматически сортирует файлы по 9 категориям
- Поддерживает 50+ форматов файлов
- Предоставляет гибкие настройки

Читать далее

Голос клиента на автомате: разбираем, как анализировать звонки с помощью речевой аналитики и LLM

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров545

Привет, Хабр! Это Катя Саяпина, менеджер продукта МТС Exolve.

Самую честную обратную связь бизнес получает не из опросов, а из живых разговоров — когда клиент сам звонит и рассказывает, что его раздражает, что не работает или чего не хватает. Мы хотим извлекать эту ценность автоматически.

Сегодня покажу, как собрать простую систему фонового анализа звонков. Она забирает расшифровки разговоров через API МТС Exolve, отправляет их в GigaChat для обработки, а результаты сохраняет в базу SQLite.

Читать далее

XTools-py — универсальные утилиты для Python-разработчиков

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

🚀 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 на миллиарды строк: введение в обратимые фильтры Блума

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

Можно ли применить известный трюк с операцией XOR, используемый для поиска в списках одного или двух пропущенных чисел, сделав так, чтобы он подошёл бы для поиска тысяч отсутствующих идентификаторов в таблицах, содержащих миллионы строк?

Читать далее

Разработка Битрикс-бота: история о том, как документация врала, а облака смеялись

Время на прочтение9 мин
Количество просмотров1.3K

Привет, Хабр! (И тебе, случайный читатель, который зашёл сюда просто потому, что заскучал в корпоративном чате.)

Сегодня я расскажу вам историю о том, какая задача посетила меня на этот раз и как я сделал «корпоративного бота с возможностью оценки сотрудников» — казалось бы, простая задача, но…

Читать далее

Решаем задачи международной математической олимпиады у себя на домашнем компьютере

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

Двое ученых из университета Лос-Анжелеса повторили результат OpenAI и Google с золотой медалью IMO, но с помощью обычной публичной Gemini 2.5 Pro.

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

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

Вклад авторов