Обновить
1024K+

Python *

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

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

Как сделать SEO для телеграмм-канала и бесплатный кросспостинг в VK и MAX

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

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

Простой и бесплатный кросспостинг из телеграмм в VK и MAX.

Читать далее

Автоматизация физических задач и формул, а так же расчет продуктивности мозга написанная на Python

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

Как я разработал собственную консоль для автоматизации расчетов формуле по физике на Python? Порой даже обычные формулы кажутся уж слишком скучными и выносят мозг. Поэтому чтобы школьники такие как я не особо парились с домашним заданием по физике, я разработал собственную консоль для расчета формул за 1 клик. Полный обзор а так же исходный код программы.

Ещё

Что если собирать агентов как dbt-проект?

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

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

Читать далее

Декларативный Data Pipeline

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

В статье разберём, как построить декларативный data pipeline на Python: от базовых идей до реализации собственного мини-фреймворка с шагами, контекстом и SQL-интеграцией.

Декларативный data pipeline

Как я перестал копипастить одно и то же в каждом Django-проекте и собрал boilerplate

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

Каждый раз, когда начинаешь новый SaaS-проект на Django, первые две недели уходят на одно и то же. Сначала — кастомная модель пользователя с UUID вместо integer PK, потому что потом не переедешь. Потом JWT-аутентификация, настройка SimpleJWT, написание RegisterViewLoginViewLogoutView — всё это уже было в прошлом проекте, но лежит в другом репозитории и просто так не скопируешь. Дальше Docker Compose: сервисы webdbrediscelerycelery-beatflower — шесть штук, которые надо поднять и связать между собой. Потом разбираться с Celery, который в новой версии изменил синтаксис конфига. Stripe webhooks с идемпотентностью — отдельная история. Мультиарендность, роли, permissions — ещё неделя.

В итоге к первой рабочей фиче добираешься к концу третьей недели.

Добавь сюда ещё один нюанс: каждый раз это проект с немного другим стеком. Где-то Kafka вместо Redis, где-то allauth с самого начала, где-то биллинг на пользователя, а не на команду. Но ядро остаётся одним: каждый раз перед стартом ты тратишь одинаково одни и те же две недели. Вот это и хотелось исправить.

Я прошёл через это несколько раз и в какой-то момент решил, что хватит. Собрал Django SaaS boilerplate под названием Shipyard — не как набор сниппетов в Notion, а как полноценный, готовый к production репозиторий, который можно клонировать и сразу писать продуктовую логику.

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

Читать далее

Как опубликовать Python-пакет в PyPI с помощью Poetry

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

Как создать и подготовить пакет к публикации с помощью Poetry и обойти подводные камни которые могут помешать это сделать.

Читать далее

Как ИИ написал локальный редактор IPTV-плейлистов на FastAPI + React 19

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

Заголовок: Как я написал локальный редактор IPTV-плейлистов на FastAPI + React 19 (и почему всё состояние хранится по именам)

Хабы: React, FastAPI, TypeScript, Tailwind CSS, Open source, IPTV, Python

Теги: m3u, m3u8, iptv, fastapi, react, hls, epg, drag-and-drop, self-hosted

Читать далее

Как я запускал Qwen 3.5 на Mac: бенчмарк 8 локальных LLM-серверов. Кто быстрее?

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

Взял MacBook Pro M2 Max, 64GB, и задал простой вопрос: какой MLX-сервер реально готов держать Qwen 3.5 35B как локальный API для команды? Оказалось - серверов восемь, каждый в README обещает «blazing fast», а по факту между ними пропасть.

Написал харнесс на Python, прогнал пять итераций на восьми промтах - от AIME до 52k токенов. Single-user тройка идёт ноздря в ноздрю. Но стоит пустить два запроса параллельно - и четыре фреймворка из шести откатываются в очередь, один деградирует до 0.85×, и только один выдаёт честные 2.17×.

По дороге всплыли квадратичный attention в 2026 году, фантомные 14 000 tokens/sec из-за одной строчки в SSE-парсере и зомби-процесс на 20GB RAM, про который молчат все README. Внутри - графики, таблица «что выбрать под ваш сценарий» и репозиторий, чтобы повторить у себя.

Читать далее

Почему ваш AI-агент тратит 80% токенов на файлы, которые уже читал вчера — и как это починить тремя markdown-файлами

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

В прошлой статье я разобрал почему Claude Code ломает проекты (context drift, отсутствие CLAUDE.md, нет хуков на тесты) и как выстроить защиту от регрессий. Статья попала в топ-5 Хабра за сутки — видимо, проблема задела нерв.

Но в комментариях и в личных сообщениях всплыл вопрос, который я тогда обошёл стороной: а что с самими токенами? Контекстное окно стало миллион, но агент всё равно жрёт его как не в себя. Куда уходят токены? Почему одна и та же сессия с одним и тем же проектом каждый раз начинается с нуля?

Я работаю с 20+ проектами на нескольких VPS-серверах. После того как я замерил, куда реально уходит контекст — картина оказалась неприятной.

Читать далее

PostgreSQL + VectorChord = Гибридный поиск. Часть 2. Безоблачная

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

В первой части мы развернули инфраструктуру на базе PostgreSQL и VectorChord, настроили базовые CRUD-операции и запустили гибридный поиск с реранкингом.

В этой части мы заменим игрушечные компоненты на локальные SOTA-модели, сохраняя оффлайн-архитектуру и отказываясь от облачных API. Пошагово развернём llama.cpp-сервер для мультиязычного эмбеддинга Jina v4, поднимем нативный реранкер через transformers + PyTorch, подключим чанкер на базе chonkie и, наконец, оценим качество поиска.

Читать далее

PostgreSQL + VectorChord = Гибридный поиск. Часть 1. Инфраструктура

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

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

В данном материале я покажу, как поднять инфраструктуру с VectorChord, настроить VechordRegistry, написать пайплайны работы с БД, организовать гибридный поиск и добавить простейший реранкинг.

Поехали.

Читать далее

CorpClaw-Lite или как я сделал безопасный аналог OpenClaw

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

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

Читать далее

Бюджетный Polaroid. Ну, почти

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

Сразу сделаю оговорку — «Полароидом для бедняков» я эту штуку называю не потому, что она недорогая (ибо детали суммарно мне обошлись дороже, чем самый дешёвый полароид), а потому что это просто наколенночный проект. Который всё же работает. И при этом вышло, что в долгосрок это обходится дешевле — одна фотка на оригинальный полароид стоит около 1 евро, а на эту камеру — около цента (исходя из стоимости рулона термоленты).

Но мы не будем напрямую сравнивать полученные фото, потому что это совсем разные истории. Итак, давайте про эту поделку.

Де-факто у меня получилась моментальная камера, которая печатает фотографии с помощью термопринтера — как чеки на контрольно-кассовых терминалах. Само собой, качество фотографий не такое высокое, как у самопроявляющейся пленки Polaroid. Но своё, гм, очарование у этого тоже есть.

Так вот.

Читать далее

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

Метрики упали в лужу

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

Метрики могут «упасть» даже если вы ничего не меняли в модели.
Разбираемся, как распознать distribution shift и что с ним делать в продакшене.

Читать далее

Партитура для невидимого оркестра

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

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

Именно так устроен мир программирования. Проблема очевидна любому, кто хоть раз пытался написать инструмент для анализа кода. Допустим, вы создали превосходный анализатор цикломатической сложности для Python. Он великолепен: находит вложенные условия, считает точки ветвления, рисует графы потоков управления. Затем к вам приходит коллега и спрашивает: «А для Ruby сделаешь?» И тут выясняется, что весь ваш труд – все эти обходчики деревьев, все эти паттерн-матчинги над питоновским AST – нужно переписать заново. С нуля. Для другого дерева, с другими узлами, другой семантикой и другими подводными камнями. А потом придет третий коллега и попросит то же самое для Haskell.

MetaAST to the rescue

Как навайбкодить полезный инструмент для работы с ВМ

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

При решении очередной задачи по небольшой "модификации" ПО- возникло решение запуска его под ВМ. По рукой уже стояла Oracle VirtualBox. Но вот незадача- ПО опознало виртуалку и отказалось выдать триал период. 2 промпта и 3 минуты на копирование и сборку решили проблему.

Читать далее

Тридцать лет libmorph

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

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

Давным-давно, когда Рунет только появлялся, морфологические анализаторы и системы контроля орфографии уже производили вау-эффект: они не только сводили разные словоформы к основной (словарной), но и зачастую умели их склонять/спрягать, описывали грамматику вхождений и предлагали варианты замены ошибочных начертаний. Да и чуть позже, при появлении первого русского морфологического поиска в Интернет – это был Апорт! – на выставках тоже равнодушных не было. Тогда и родился libmorph.

Читать далее

LLM-агент для поиска свободных доменов: автоматизируем подбор

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

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

Привет, Хабр! Меня зовут Сергей. Я работаю инженером в Selectel, а в свободное время пишу пет-проекты для души. Недавно я прикинул: а что, если прямо сейчас мне понадобится запустить свой бренд или продукт? Первое, во что упираешься в таких раздумьях — это выбор домена. В этой статье я покажу небольшой проект, благодаря которому можно подбирать доменные имена не вручную, а автоматически с применением ИИ-агентов. Удобно или нет, решайте сами, подробности под катом.

Читать далее

«Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки

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

Что будет, если столкнуть классический переборный алгоритм упаковки и «математику потока» на базе Numpy? Мы взяли реальный кейс на 398 предметов и проверили: можно ли за доли секунды найти решение, которое окажется дешевле и безопаснее ручного планирования.

Внутри — разбор «Бизнес-Ассемблера», борьба с весовыми лимитами и ответ на вопрос: почему при КПД 61% по объему контейнер может считаться идеально упакованным.

Читать далее

Пошаговые диалоги в Python без боли: описываем визарды в JSON, а не в if-ах

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

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

Без спагетти-кода. Без привязки к платформе. С возможностью собрать рабочего бота за вечер.

Читать далее