Обновить
1024K+

Python *

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

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

Какой подход к предсказанию последовательности стоит выбрать

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

Построение прогноза последовательности (графика) это тема отдельной книги, поэтому в статье я только слегка коснусь двух подходов:
- построение прогноза по одной точке, используя цикл;
- построение прогноза на весь период одним махом.

И постараюсь пояснить на примерах, почему один из них скорее всего будет пустой тратой времени.

Читать далее

Новости

Строки в Python: всё не так просто, как кажется

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

Начинающим разработчикам строки обычно кажутся едва ли не самым простым, что есть в языке программирования. Возможно, причина в том, что знакомство с новым языком зачастую начинается с вывода на экран строки Hello, world!.

«Это же просто набор символов, заключённый в кавычки!» — обычно восклицает джуниор Python-разработчик.

Но в Python всё немного интереснее. И за простым синтаксисом скрывается большой набор возможностей, правил и нюансов. Более того, если посмотреть внимательнее, окажется, что в Python целый зоопарк строковых представлений и связанных с ними особенностей.

Привет, я Евгений Бартенев, автор и техлид курса «Python-разработчик» в Практикуме. В этой статье последовательно разберу, какие бывают строки в Python, чем они отличаются друг от друга, какие возможности дают и какие подводные камни могут встретиться в работе с ними. Поговорим и о базовом использовании, и о важных деталях, которые стоит помнить каждому разработчику.

Читать далее

Как я сделал “Авиасейлз для логистики”: агрегатор заявок из 16+ источников

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

В логистике проблема часто не в том, что нет данных.

Проблема в том, что данные разбросаны по разным местам.

Одни заявки лежат во внутренней системе, другие — в закрытых кабинетах грузоотправителей, третьи — на тендерных площадках, четвёртые приходят через Excel-выгрузки, пятые доступны только через веб-интерфейс. Где-то есть нормальный HTTP-обмен, где-то данные спрятаны за фронтендом, где-то приходится читать DOM-таблицу, а где-то сначала кажется, что всё просто, пока не выясняется, что цена приходит в копейках, маршрут состоит из трёх точек, а тип кузова записан как “тент 20т, верхняя загрузка”.

Для менеджера всё это выглядит не как единый рынок грузов, а как набор вкладок в браузере.

Открыть один кабинет. Потом второй. Потом третий. Проверить направление. Сравнить цену. Посмотреть дату. Понять, где реф, где тент, где просто “20 тонн”. Не забыть про аукцион, у которого скоро истекает время. Потом всё равно перенести результат в таблицу или открыть внутреннюю панель.

В какой-то момент стало понятно: нам нужен не ещё один парсер, а единая витрина.

Так появился внутренний агрегатор заявок — условный “Авиасейлз для логистики”.

Читать далее

Инженерия качества: Как перестать надеяться на удачу и начать измерять своих ИИ-агентов [Часть 3]

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

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

Читать далее

Заменит ли ИИ настоящих судей? Я скормил ему дело которое арбитры разбирали 3 недели

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

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

После того как вердикт уже был вынесен, я прогнал то же самое дело через свой Telegram-бот на Claude Sonnet 4.6. Те же скриншоты, та же фактура, никаких подсказок.

Бот выдал тот же вердикт за двенадцать минут. Не на 100%, но суть совпала: кто прав, кто что должен сделать, какой срок, что при неисполнении.

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

Внутри статьи: архитектура с двумя ИИ (секретарь на Haiku отсеивает мусор, арбитр на Sonnet выносит решения), куски кода с промптами, дебаунс через asyncio чтобы бот не бомбардировал участников ответами, проверка криптотранзакций по 12 блокчейн-сетям параллельно, изолированные приватные группы через Telethon-userbot.

И главный вопрос в конце: пора ли увольнять живых арбитров?

Читать далее

Клиент — это тоже вектор? Как мы хотели улучшить ML-модель, а построили similarity engine

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

Поговорим о том, как превращать последовательности пользовательских событий в векторы, зачем обучать BERT на "языке" клиентского поведения и почему embedding-пространство может неожиданно начать отражать будущую ценность пользователей

Читать далее

Отказоустойчивый запуск WSGI приложения. Обзор архитектуры Gunicorn

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

Gunicorn кажется простым, пока не сталкиваешься с эксплуатацией: внезапные ошибки 502, зависшие воркеры и странное поведение при перезапусках. За этими симптомами стоят вполне конкретные причины — от медленных клиентов и отсутствия буферизации до особенностей реализации GThread и механики Graceful Shutdown.

В этой статье разберём реальные сценарии отказов, посмотрим, как менялась архитектура GThread в разных версиях Gunicorn, и соберём практичную конфигурацию с Nginx, Docker и Kubernetes, которая ведёт себя предсказуемо под нагрузкой.

Читать далее

ClearML Agent: обучение модели в Google Colab

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

ClearML — это целый космос, так что мы продолжаем разбирать его компоненты. В прошлой статье мы рассматривали ClearML Session и настраивали удаленную среду разработки с Jupyter Lab и VSCode. В этот раз поговорим о ClearML Agent и разберем, как с его помощью запустить обучение на удаленном сервере, в частности, Google Colab.

Итак, поехали!

Читать далее

Вам не нужен OpenClaw — напишите свой

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

Привет, Хабр! Меня зовут Никита Пастухов — автор FastStream, Principal Engineer и мейнтейнер AG2 (фреймворк для разработки агентов). Я уже 8 лет в разработке, последний год - по уши в агентах.

И я хочу доказать вам, что написать своего агента не сложнее, чем написать CRUD

Почему это вообще нужно доказывать? Потому что есть заметный разрыв между тем, что происходит с AI в мире, и тем, что происходит в среднестатистической российской компании. В мире — в каждой компании подписка на OpenAI, миллиард стартапов с AI-продуктами, агенты глубоко интегрированы в бэкофис. В России — «опасно, хостим свои модели», «непонятно» и чат-боты поддержки. В мире инженеры уже умеют разрабатывать агентов. В России — «что это вообще такое?»

Поэтому давайте разберём устройство агентов на примере OpenClaw — самого хайпового “личного AI-агента” прямо сейчас. Он живёт в вашем мессенджере, разбирает почту, ведёт соцсети, пишет код, деплоит сервисы. Его популярность — свидетельство того, насколько мало люди пока используют агентов в быту. Для тех, кто в теме, OpenClaw не привнёс ничего нового.

Давайте разбираться

Production‑стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит

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

Это восьмая статья из моей серии про инженерные решения в ONEMIX. До этого было про клиентскую часть мессенджера: кэш сообщений, E2E, WebRTC звонки, Electron, outbox‑паттерн. Параллельно про AI‑агента Лиру и мнение про вайб‑кодинг.

Сегодня про серверную сторону. Backend ONEMIX — это один файл main.py на 19 603 строки, 379 эндпоинтов, FastAPI + SQLite, держит мессенджер с регистрацией через SMS, звонками через LiveKit, E2E через Double Ratchet, push‑нотификациями на iOS и Android. Этот файл я пишу больше года. За это время он эволюционировал из прототипа на 800 строк в production монолит.

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

Сразу важная оговорка. У меня не было требования держать 100к одновременных пользователей или 10к RPS. Это бэкенд под мобильное приложение с трафиком который для соло‑разработчика разумно поддерживать одному. Если у вас задачи другого масштаба, мой опыт может не подойти.

Читать далее

Спецлаб‑Гамбит: Удобная программа разметки объектов нейросети под системы видеонаблюдения

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

Для разработчиков умных камер, умных видеорегистраторов и нейросетевой видеоаналитики ПО видеонаблюдения нужна нейросеть, способная работать в реальных условиях наших улиц. А там никто с профессиональной камерой не ходит, правильный ракурс не настраивает, свет не выставляет, без сжатия не снимает и вообще все делает вопреки здравому смыслу учебников ВГИК.

Гамбит, конечно, подойдет для любых других задач, но здесь сделан упор на удобство сбора материала ИЗ систем видеонаблюдения и на разметку датасета с целью создания нейросетей ДЛЯ систем видеонаблюдения.

Гамбит не столько для отшлифованных фоток и рилсов из Интернета, а как раз наоборот – для не особо качественных видеозаписей из архивов видеонаблюдения. В Спецлабе называют такой контент «диким».

Скачать бесплатно...

Создание MCP‑серверов на FastMCP: 7 ошибок, которых стоит избегать

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

FastMCP позволяет быстро собрать MCP‑сервер, но скорость легко оборачивается ошибками: лишние токены, слабые схемы, сырые API‑примитивы, плохая обработка ошибок и риски безопасности.

В статье разбираем 7 проблем, из‑за которых LLM‑агент начинает путаться, ломать сценарии и требовать лишних подтверждений, — и показываем, как их исправить.

Читать далее

Основы глубокого обучения. Часть 1

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

Приветствую всех! Эта статья будет первой в серии статей про основы глубокого обучения. В этой части я расскажу про то, что такое модели, искусственный интеллект (ИИ), машинное (МО) и глубокое обучение (ГО), про виды этапа обучения моделей, что такое нейронные сети, градиентный спуск и обратное распространение. В конце затронем теорию свёрточных нейронных сетей.

Читать далее

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

Production MTProto user-бот на FastAPI + Telethon: WARP для обхода DPI и 5 граблей с Telegram

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

В большинстве туториалов по Telegram-ботам всё начинается с одного куска кода: получили токен у @BotFather, поставили python-telegram-bot или aiogram, написали хендлер, deploy. Это Bot API. И в 90% задач этого хватает.

А потом приходит задача которую Bot API не закрывает в принципе: программно создать супергруппу под конкретный проект и добавить туда нужных людей по @username, и сделать это десятки раз в день. Bot API такое не умеет даже теоретически - метода «создать группу» там нет, метода «добавить юзера в группу» тоже. Лезете в полную документацию Telegram API искать обход, упираетесь в раздел  channels.createChannel  /  channels.inviteToChannel под MTProto, и начинается совсем другая история - не Bot API, а user-бот через telethon.

В этой статье разбираю как мы сделали production MTProto user-бот на FastAPI + Telethon. Под капотом: Cloudflare WARP для обхода DPI (без него с российского VPS просто не подключиться), Singleton-клиент с keepalive, in-memory cache resolve-юзеров, и 5 ограничений Telegram которые знают только те кто лез туда ногами. Реальный production-сервис у клиента в нише строительства/монтажа, обслуживает связку Planfix → Telegram-группы под каждый проект.

Сервис написан на Python 3.11. Стек: Telethon 1.43.2, FastAPI 0.136.1, Uvicorn 0.46.0, Pydantic 2.13.4. На VPS под systemd, наружу через Cloudflare Tunnel. Вызывается из n8n через HTTP-ноду.

Читать далее

Как звучит JPEG? Или что будет, если сжать спектрограмму как фотографию

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

Бывают дни, когда на работе делать нечего. А бывают дни, когда ты — программист и звукорежиссёр одновременно, и в голову приходит странная мысль: «А что, если взять аудио, превратить его в картинку-спектрограмму, сжать эту картинку как фотографию (JPEG, WebP, AVIF), а потом попробовать восстановить звук обратно? Как оно будет звучать?»

Спойлер: иногда — удивительно хорошо. Иногда — как из унитаза. Но всегда — интересно.

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

Читать далее

Идемпотентность в System Design: полный пример

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

Идемпотентность в System Design: полный пример

Идемпотентность часто упоминается при проектировании систем (system design). Ниже будет простыми словами объяснено, что это такое, далее мы разберём основные детали идемпотентности, часто понимаемые неверно и, наконец, проиллюстрируем её на полном примере. 

Что такое идемпотентность?

Операция является идемпотентной, если при однократном или многократном выполнении она всякий раз даёт один и тот же результат.

Читать далее

Лучший код занял второе место: разбираем финал Dev-to-Dev хакатона и ищем границы агентной инженерии

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

В финале хакатона Dev-to-Dev: Agentic Engineering Challenge на втором месте оказался самый качественно написанный проект соревнования. 65 тестов, типы, защита от path traversal, Docker с non-root user, архитектура, в которой видно инженера, а не участника хакатона. И именно поэтому он не победил.

Победителем стал не самый чистый код и не самая смелая архитектура. Это решение точнее всех попало в то, что мы пытались измерить — agentic engineering. Термин, которому едва пара лет, и в который каждая команда пока вкладывает что-то своё.

Ниже разбираем 10 финалистов хакатона: что они построили, где заработали баллы и где их потеряли, какие архитектурные ставки сработали — и почему «писать хороший код» и «строить агентные системы» в 2026 году превратились в разные навыки.

Читать далее

Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

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

Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

Читать далее

Как мы перестали терять игроков/пользователей при рестарте сервера: Thin WebSocket Gateway + Redis»

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

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

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

Казалось бы, ничего страшного. Но ведь можно по-другому, верно?

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

Читать далее

[ALM моделирование] На примере дефолта Silicon Valley Bank

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

В условиях современного банковского надзора внезапный дефолт крупного банка — событие экстраординарное, особенно в США. Финансовые регуляторы выстроили глубоко эшелонированную систему защиты: Центральные банки непрерывно мониторят нормативы, проводят стресс-тесты и, как правило, действуют на упреждение.

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

В статье воссоздадим дефолт SVB в банковском ALM симуляторе: наберем тот самый портфель ценных бумаг, смоделируем изменение рыночной конъюнктуры и поведение вкладчиков.

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

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