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

Python *

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

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

Как я устал тестировать LLM-системы вручную и написал универсальный сканер уязвимостей

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

Полгода назад я работал над внедрением RAG-системы в крупной финансовой компании. Задача была типичная: построить корпоративного чат-бота, который мог бы отвечать на вопросы сотрудников по внутренним документам. Казалось бы, что может пойти не так? Берем готовую LLM, подключаем к базе знаний, добавляем немного магии с векторным поиском — и готово.

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

Читать далее

Bash vs Python: битва, где нет проигравших

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

Привет, Хабр! В мире автоматизации часто возникает вопрос: писать скрипт на Bash или на Python? Оба инструмента подходят отлично, но принципиально разные. Bash - больше про "скоропись", для системных задач, где важна скорость и краткость. Python же - универсальный язык, который намного лучше справляется со сложной логикой и структурами данных. Но когда лучше выбрать один, а когда - другой?

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

Читать далее

Промышленная автоматизация металлургического производства. Архитектурные решения и техническая реализация

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

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

Читать далее

RKNN Toolkit2: конвертация моделей и симуляция NPU Rockchip

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

Rockchip — довольно крупная китайская компания, которая разрабатывает микросхемы для ТВ-приставок, смартфонов и планшетов. Мне довелось поработать с одноплатным компьютером Orange Pi 5, оснащенным ARM чипом RK3588 и NPU (neural processing unit) с заявленной производительностью до 6 TOPS.

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

Читать далее

AFlow: как создавать мультиагентные системы без программиста

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

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

Меня зовут Ярослав, я магистрант AI Talent Hub в ИТМО. Сегодня расскажу об одной из самых интересных статей ICLR 2025 — AFlow: Automating Agentic Workflow Generation.

В ней предложен подход к автоматическому созданию мультиагентных систем для решения прикладных задач с помощью LLM и алгоритма Monte Carlo Tree Search (MCTS). Разберёмся, как это работает и почему это важно.

Читать далее

Как я сделал программу для импорта и аналитики постов из Телеграм-каналов с помощью ChatGPT (и дарю её вам)

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

Это программа-парсер. Вы указываете Telegram-канал, выбираете период — и получаете Excel-табличку со всеми публикациями, просмотрами, реакциями, репостами и вовлечённостью.

Хотите узнать, сколько всего текста опубликовал автор? Пожалуйста. Сколько платных звёздочек получил миллионник за 2024 год? Не вопрос. Хотите сформировать топ постов или сравнить эффективность разных форматов? Всё это — в один клик.

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

В конце — весь код и инструкция, как запустить парсер у себя.

Читать далее

Основы ETL на примере работы с Superset, Airflow и ClickHouse

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

В этой статье я расскажу, как можно запустить простой ETL-процесс на виртуальном сервере, используя связку Superset, Airflow и ClickHouse. В качестве платформы я взял готовую конфигурацию от Beget, включающую Superset и Airflow из коробки — это позволяет сосредоточиться на логике обработки данных, а не на настройке окружения.

В качестве примера мы подготовим процесс выгрузки и визуализации данных о товарах с сайта Wildberries.

Для извлечения данных мы будем использовать Python-библиотеки selenium и BeautifulSoup — они хорошо подходят для парсинга веб-страниц. Дополнительно применим re для обработки текстовой информации с помощью регулярных выражений.

Читать далее

Как мы топили «Госуслуги»: разбор фишинговой сети от разведки до abuse-репорта

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

Привет, Хабр. Сегодня я хочу поделиться историей одного небольшого, но увлекательного расследования. Все началось, как обычно, с малого — с одного подозрительного IP-адреса. А закончилось вскрытием целой сетки фишинговых доменов и отправкой финального «письма счастья» хостинг-провайдеру.

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

Читать далее

Ruff: мой опыт выселения legacy-линтеров и повышения производительности кода

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

Какими инструментами для линтинга и форматирования Python-кода вы пользуетесь? Black, Isort, Flake? Их существует множество, каждый следует своей цели, некоторые могут пересекаться по функциональности. Одни могут нравиться за автономность, другие — за возможности конфигурирования. И наверняка вы слышали о Ruff, который обещается заменить собой все.

Привет, Хабр! Я Гена, Python-разработчик в Selectel. В этой статье я опишу свой опыт перевода проекта на Ruff: что понравилось, что — не очень, к чему готовиться и, если все же решитесь, то как это сделать. Добро пожаловать под кат.

Читать далее

Высокоуровневые языковые возможности и тестирование в Python

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

Я впервые начал заниматься разработкой через тестирование ещё когда программировал на PHP. Тогда в нашем арсенале разработчика использовался отличный фреймворк SimpleTest от Маркуса Бейкера. Мне этот инструмент очень нравился. С тех пор я имел дело с фреймворками для тестирования на C, Perl, Java и Python, при этом SimpleTest до сих пор остаётся моим главным фаворитом независимо от языка.

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

Только когда я стал много программировать на Python, меня вдруг озарило, почему так происходит. В большинстве фреймворков xUnit, в особенности тех, где предоставляются хорошие мок-объекты, более чем адекватно поддерживаются любые паттерны тестирования, которые я только могу придумать. Фреёмворк SimpleTest определённо из их числа. Проблемы, с которыми я сталкивался, происходят из самого языка.

Читать далее

Регистрация событий в Astra Linux Special Edition

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

В статье вы найдете краткий обзор подсистемы регистрации событий - собственной разработки команды ОС Astra Linux.

Всё, что будет описано ниже, актуально для самой новой на момент написания статьи версии Astra Linux Special Edition - 1.8.2.

Поехали!

Читать далее

Шпаргалка для новичков — от GIT до Деплоя

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

Всем привет!

Недавно я провел опрос среди подписчиков моего Telegram-канала "Код на салфетке", спросив их о возникающих проблемах и ошибках при деплое. Ответов накопилось немало, и большинство из них касались применения Docker. Однако были и комментарии о том, как организовать проект и репозиторий.

В этой статье мы обсудим ключевые моменты, которые помогут вам правильно организовать git-репозиторий, подготовить Docker-файлы, а также сделать процесс деплоя более гладким. Кроме того, мы подробно рассмотрим механику деплоя на двух примерах: деплой приложения на облачную платформу Dockhost и классический деплой на VPS с помощью Docker Compose.

Читать далее

Автоматизируем сканирование IT-инфраструктуры: скрипт v2.0 для Сканер-ВС 6

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

Привет, Хабр! Это Антон Дятлов, инженер по защите информации в Selectel. В одной из предыдущих статей я рассказывал, как настроить скрипт, который через API «Сканер-ВС 6» запустит сканирование, создаст отчеты и отправит уведомление в Telegram. Мы научились запускать сканер по расписанию через cron, импортировать IP-адреса и подсети, получать отчеты об уязвимостях. Такой подход хорошо работал на небольших объемах, но в реальных задачах — особенно в инфраструктурах с десятками и сотнями хостов — быстро всплыли ограничения: скрипт требовал ручного контроля на многих этапах, переход между стадиями (сетевой скан → скан уязвимостей → отчет) приходилось отслеживать вручную, проявилась ошибка в сканере, которая не позволяла корректно удалять ассеты.

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

Читать далее

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

VisionPilot: автономный автопилот на Betaflight и Orange Pi 5 с YOLO и ELRS

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

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

Эта концепция уже воплощена в проекте VisionPilot — автономном автопилоте на базе Betaflight и Orange Pi 5 с аппаратным ускорением YOLO и управлением через ELRS. VisionPilot — это простой, расширяемый и доступный инструмент, который сочетает мощь нейросетевого обнаружения объектов и надёжность протокола управления для создания настоящей автономии.

Читать далее

VPN-клиент для Windows своими руками: L2TP, PPTP, маршруты и Telegram-уведомления

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

Рабочая задача: развернуть VPN на MikroTik с поддержкой L2TP и PPTP, авторизация — через Radius.
В роли серверов — стандартные для нас RouterOS CCR1016-12G. Параллельно возникло требование: подобрать клиент под Windows, чтобы можно было просто передать пользователям исполняемый файл, и они могли подключиться — без инструкций, .bat-файлов и шаманства.

Читать далее

PEP-734: Субинтерпретаторы в Python 3.14

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

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

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

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

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

Если вам такое интересно или целиком незнакомо – добро пожаловать!

Читать далее

Anchor Optical TrackeR: Система трекинга смещений и поворота на основе оптического потока

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

Реализация метода визуальной одометрии для оценки смещения и угла поворота камеры с использованием простого оборудования и OpenCV. Используется улучшенный трекинг оптического потока и «верёвочный» метод стабилизации движения.

Читать далее

Как превратить свою аватарку Telegram в термометр?

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

Снова всех приветствую. В моей прошлой статье "Как превратить статус Telegram в статус Steam" вдохновленной статьей "Как превратить свою аватарку в Telegram в часы" я описал интересную концепцию. Почитав комментарии с обеих статей, я пришел к еще одной идее. А именно - аватар с термометром. Это будет последняя статья, которая будет описывать скрипты для стилизации вашего аккаунта в ТГ.

Да, может я и высасываю идею из пальца, но мне показалось это весьма интересным. Ведь статус не очень заметен, а смена аватара часов очень любит вызывать flood-бан.

Читать далее

Приложение для генерации QR-кодов

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

Всем привет, в этой статье я хочу рассказать о своем приложении для генерации QR-кодов.

Мне 13 лет, и это мой первый крупный проект.

Я хочу узнать мнение других людей о моем проекте.

Читать

Запускаем несколько интерпретаторов в коде на Python — невероятная скорость

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

5 июня 2025 года был принят PEP-0734. Судя по информации на официальном сайте, он является продолжением PEP-0554. Этот PEP предлагает добавить новый модуль, interpreters, для поддержки проверки, создания и запуска кода в нескольких интерпретаторах в текущем процессе. А если идти дальше, то он является частью PEP-0684, которые предлагает один GIL на интерпретатор.

Несколько полноценных интерпретаторов работающих рядом. Какие плюсы?

— Один процесс;
— Один тред, но руками можно создавать еще;
— По GILу на интерпретатор, все еще можно получить плюшки настоящей многозадачности по сети;
— Работает с asyncio.

В этой статье вы узнаете как работает эта фича под капотом и в реальном питоне. Приятного чтения!

Читать далее

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