Обновить
792.7

Python *

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

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

Мета-модель для диагностики обучения нейросетей

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

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

Что именно происходит во время обучения?

Обычно мы смотрим на графики метрик и пытаемся вручную интерпретировать происходящее.

Можно посмотреть на learning curves и понять, что происходит:

Но этот анализ почти всегда выполняется вручную или с помощью простейших эвристических правил. А ведь сколько времени, сил и нервов можно было бы сэкономить, если обучить до 100 эпохи а не до 500 (см картинка выше) :-(

Но можно задать интересный вопрос:

А можно ли автоматически определить состояние обучения модели?

Читать далее

22 протокола мониторинга в PingZen: от пинга до Playwright-сценариев

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

Вам точно нужен только HTTP-мониторинг? А как насчёт проверки, что DNS резолвится правильно, SMTP-сервер принимает почту, а Minecraft-сервер отвечает на handshake? В PingZen мы добавили 22 протокола, включая Transaction с Playwright, чтобы вы могли мониторить буквально всё. Рассказываю, зачем это нужно и как работает «под капотом».

Читать далее

Подробный технический разбор реализации Autoresearch, ИИ-исследователя Андрея Карпаты

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

Это несколько текстов, основной из которых — Autoresearch: Минимальный «агентский цикл» Карпаты для автономного экспериментирования с LLM . Пытаемся подробно разобраться в работе минималистичного ИИ-агента для исследований, предложенного Андреем Карпаты в начале марта. Это веха в истории ML, показывающая один из путей (хотя и не идеальный — и об этом тоже есть в статье) совершенствования ИИ. Бонус! Анализируем также весь python-код и инструкции агенту. Для всех, кто перешагнул уровень "спроси у ChatGPT" и задумывается о чём-то большем, но не знает, с чего начать...

Читать далее

Apache Superset 2026. Как работает Drill Down и Drill By

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

Работая с аналитикой, мы часто сталкиваемся с одной и той же проблемой: данные есть, но исследовать их неудобно.

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

Если таких гипотез несколько, количество запросов быстро растёт с геометрической прогрессией. Каждый новый уровень детализации требует отдельного SQL.

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

Именно здесь на помощь приходят BI-инструменты. Один из самых популярных open-source инструментов для аналитики — Apache Superset.

Читать далее

Ищи работу правильно — как не ошибиться в важном выборе

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

Поиск работы в IT часто выглядит похожим образом: десятки откликов, постоянные собеседования, новые команды, разные проекты и условия.

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

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

В результате решение об оффере принимается почти вслепую.

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

За время регулярных выходов на рынок я выработал несколько простых практик, которые позволяют существенно снизить вероятность подобных сюрпризов.

Поделюсь основными из них, надеюсь, что всем будет полезно 👇

Читать далее

Система рекомендаций для изображений: пример на Python и CLIP

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

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

Читать далее

Шаблонный сервис на FastAPI

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

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

Так зачем же нужен шаблонный сервис?

Читать далее

Как я поймал Трансформер на читерстве: гроккинг, математика и Mechanistic Interpretability

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

Феномен Grokking и Mechanistic Interpretability — главные тренды в исследованиях лабораторий уровня OpenAI и Anthropic. Я решил потрогать эти концепции своими руками на уровне тензоров. Цель казалась тривиальной: заставить кастомный микро-Трансформер (всего 1М параметров) выучить базовую арифметику с нуля. Однако вместо математического гения я получил ленивого мошенника. Эта статья — инженерный детектив о том, как нейросети пытаются нас обмануть (Specification Gaming), и как вскрытие Attention-матриц помогает поймать их за руку.

Вскрыть Трансформер

Робот с видеонаблюдением и отслеживанием объекта

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

Введение

Данный проект, является логическим продолжением развития темы "Солнечный трекер на Arduino".

Используя базу солнечного трекера (его конструкцию) и web-камеру можно собрать роботизированную конструкцию, которая будет отслеживать в режиме реального времени назначенный маркер или группу маркеров в определённой области пространства.

Распознавать маркеры можно по разным критериям: выбранному цвету, текстуре, форме и т.д.

Я выбрал второй вариант. Делаю фото объекта web-камерой, с выбранным однородным цветом, которую буду использовать на роботе.

Подготовка ПО

Для корректной работы программы вам нужно:

1. Установить Python https://www.python.org/

2. Установить модули numpy, opencv и pyserial используя инструмент pip https://pypi.org/project/numpy/

https://pypi.org/project/opencv-python/

https://pypi.org/project/pyserial/

3. Установить Arduino ide

https://learnlange.blogspot.com/p/blog-page_28.html

Сборка робота

Система представляет стационарную установку с двумя степенями свободы, которые позволяют вращаться в пространстве цилиндрической формы. На верхней части системы закреплена USB web-камера (её можно заменить на smart камеру или ip камеру).

Для быстрого создания прототипа использую образовательный набор КЛИК: базовый и ресурсный
Поворотные механизмы реализованы с использованием DC моторов с понижающей передачей.

Читать далее

Анатомия современного антифрода и автоматизация мультиаккаунтинга: Технический разбор AdsPower и его Local API

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

Если вы все еще считаете, что покупка «качественных» прокси или использование дефолтных настроек антидетект-браузера — это гарантия того, что ваш бот или скрипт не улетит в бан через 15 минут после запуска, у меня для вас плохие новости. Современные антифрод-системы (от Google и Meta до Cloudflare) уже давно перестали смотреть только на ваш IP-адрес.

Сегодня ваш «цифровой отпечаток» — это сложная нейросетевая модель. Они анализируют всё: от скорости отрисовки WebGL-контекста до того, как именно (с точностью до миллисекунд) ваш курсор перемещается по экрану.

В этой статье я не буду предлагать вам «волшебную таблетку». Я покажу, как выглядит современная лаборатория автоматизации «изнутри». Мы разберем, почему классические Selenium-фермы сегодня — это «красная тряпка» для систем защиты, и как через связку Python + Local API конкретного инструмента (в моем случае — AdsPower) выстроить систему, которую нейросети систем защиты будут принимать за реального, «офисного» пользователя.

Мы идем дальше, чем просто «создать профиль». Мы идем в сторону инженерной автоматизации.

Читать далее

PEP — это не стиль, это язык, которым ты думаешь о коде

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

Я долго думала, что PEP — это про оформление. PEP 8: называй переменные вот так, PEP 257: пиши докстринги вот так.

Потом начала использовать их по‑настоящему и выяснилось, что часть из них вообще не про то, как выглядит код!

Читать далее

Я устал каждый раз собирать проект с нуля — и сделал универсальный Docker+Python-шаблон

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

Всем привет! Это моя первая статья на Хабре и я надеюсь и рассчитываю на вашу критику, дельные замечания, внимание и аплодисменты. Сим я начинаю серию статей посвящённых тому как создавать SaaS продукты, как подбирать нишу, как его собственно программировать и отлаживать, как выводить на рынок и всё в таком духе. Поделюсь своим опытом, так сказать.

Эта статья (и несколько последующих) будет посвящена сугубо технической части вопроса. Я расскажу о своём шаблоне для разработки и тестирования MVP, который ускоряет дело. Он у меня появился потому, что я любитель экспериментов и много раз делал разные микропроекты — боты, игры, сайты, парсеры и тому подобное В какой‑то момент я заметил что таскаю между проектами один и тот же кусок кода, который здорово ко всему подходит и с которого начинается каждый мой новый проект.

Итак, вашему внимаю представляю МЕГА ШАБЛОН УДОБНОГО БЫСТРОГО ПРОГРАММИРОВАНИЯ

«Чем же он так хорош?», спросите вы. И правильно сделаете что спросите! А я вам отвечу.

Читать далее более сильнее погнале

Как я определял дистрибутивы Linux по установленным пакетам, и при чем тут KUMA?

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

Как определить дистрибутив Linux? А что, если имеется только информация о пакетах, установленных на устройстве? История одного «велосипеда» или мы не нашли готового решения.

Представьте, что вам нужно определить дистрибутивы, опираясь исключительно на установленные пакеты. Инвентаризация есть, но данные неполные — часто известно только имя хоста, IP и список установленных пакетов. Операционная система может быть указана как «Linux» без уточнения дистрибутива и версии. О создании алгоритма, работе с KUMA и написании код в данной статье.

Читать далее

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

Векторный поиск в PostgreSQL: PGVector, SQLAlchemy и FastAPI

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

Реализуем сервис семантического поиска на базе PostgreSQL с расширением PGVector. В статье: настройка БД через Docker, миграции Alembic, асинхронный слой на SQLAlchemy и API на FastAPI. Иллюстрация на обложке - нейрослоп для привлечения внимания

Читать далее

Руководство по настройке отчётов через плагины в Allure 3

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

Привет, Хабр. Сегодня поговорим о новой версии Allure Report — Allure 3, а именно о её модульной архитектуре. В ней можно настроить сколько угодно отображений тестовой иерархии в разных форматах; я покажу это на простом примере. В какой ситуации может это быть полезно?

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

Мы сделаем так, чтобы при каждом запуске тестов Allure генерировал два отчёта, каждый со своим отображением тестов.

Читать далее

Execution completion

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

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

В статье приведен proof-of-concept модели выполнения, вдохновленной chat completion, в которой управление возвращается вызывающей стороне при необходимости выполнить побочный эффект.

Читать далее

Автоматизация браузера и развёртывание функций прямо из терминала

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

Notte — платформа для автоматизации браузера. Недавно мы выпустили CLI, который позволяет управлять браузерными сессиями, запускать AI-агентов, извлекать структурированные данные и развёртывать функции автоматизации — всё это прямо из терминала.

В этой статье разберём, что он умеет и как устроен.

Какую проблему мы решали

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

Notte CLI подключается напрямую к облачным браузерным сессиям. Браузер запущен не у вас — он работает у нас. Это означает, что то, что вы делаете в терминале, в точности совпадает с тем, что будет работать в продакшне.

Как работают сессии

Весь CLI построен вокруг сессий. Сессия — это живой экземпляр браузера (headless или headed), запущенный в облаке.

Запустить её можно так:

notte sessions start --headless

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

При запуске сессии поддерживается широкий набор настроек: кастомные viewport'ы, user agent'ы, ротация прокси, решение капч, файловое хранилище, переопределение CDP URL и сохранение профиля браузера.

Видимость

При запуске headless-сессии в выводе появляется viewer URL. Откройте его в браузере — и вы наблюдаете за живой сессией в реальном времени, пока команды выполняются в терминале. Удобно для отладки без переключения в отдельный интерфейс.

Читать далее

CDC Consumer с криптографической подписью: от Kafka до Hive

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

Шестая статья цикла о построении CDC-пайплайна с нуля. Данные уже текут из PostgreSQL в Kafka, но дальше просто исчезают по retention. Сегодня пишем Consumer на Python, реализуем криптографическую верификацию сообщений и строим трёхслойную архитектуру данных.

Читать далее

Шаблонные строки в Python 3.14: как получить контроль над интерполяцией данных

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

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

В Python 3.14 появился новый инструмент — t-строки (шаблонные строки). На первый взгляд они выглядят как еще одна вариация f-строк. Но на самом деле это принципиально другой механизм: строка больше не собирается автоматически, а передается разработчику в виде структуры, где отдельно хранится статический текст и отдельно — значения для интерполяции.

Меня зовут Алексей Макаров, я инженер по информационной безопасности в Лиге Цифровой Экономики. В этой статье разберемся, как работают t-строки в Python 3.14, чем они отличаются от привычных f-строк и в каких сценариях действительно помогают писать более безопасный код, а где использовать их не стоит.

Читать далее

ЧАСТЬ 2 — Мониторинг МФУ на Flask: новые функции, проблемы и планы

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

Опубликовал ЧАСТЬ 2: проект вырос из простого SNMP‑опрашивателя в рабочий инструмент для парка принтеров. Теперь есть склад картриджей, журнал ТО, отдельная страница парка и удобные экспорты в Excel. Пишу про реальные боли (цветные МФУ, разные прошивки, потеря данных в CSV) и о том, что планирую доделать

Читать далее