Обновить
512K+

Python *

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

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

Разработчик и маркетинговое сальто

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

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

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

В дату релиза проект деплоится в прод. Но почему-то там все также один пользователь — сам создатель.

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

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

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

Читать далее

«Аниме-завод» открыт: выкладываю код конвейера, который сам режет эпизоды на Shorts

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

За последнее время я написал три статьи про систему, которая превращает длинные видео в вертикальные клипы: общий обзор «аниме-завода», разбор виртуальной камеры с face tracking и рассказ о том, почему связка «транскрипт + LLM» почти всегда даёт мусор.

Комментарий, который повторялся под всеми тремя, был один и тот же: «покажи код».

Показываю.

github.com/ialakey/shorts-factory

Это витринная ветка большого приватного проекта: MVP, в котором оставлен полный путь «взял длинное видео → получил готовый вертикальный клип», а всё остальное вырезано. Ниже — что именно внутри, как код соотносится с тремя предыдущими статьями и что пришлось выкинуть.

Заглянуть на производство

Как запускать Python‑функцию с её зависимостями — и не засорять окружение проекта

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

Полезная внутренняя функция редко остаётся функцией без зависимостей. Сегодня ей понадобился python-dateutil, завтра — конкретная версия NumPy. Когда тот же код нужен во втором проекте, приходится либо менять его lockfile, либо собирать отдельный контейнер, либо превращать десять строк в сервис.

splime предлагает ещё один вариант: опубликовать доверенную Python‑функцию вместе с точными версиями пакетов и вызывать её по имени. Локальный демон сам собирает окружение и хранит его отдельно от проекта, который будет вызывать функцию. Общая модель была в первой статье, а упаковка функции — в предыдущей части. Этот текст можно читать отдельно.

Сначала запустим функцию, чья зависимость вообще не установлена у вызывающего кода. Затем посмотрим, откуда берётся venv, почему он кэшируется и когда одной ноде стоит назначить native, venv-subprocess или Docker. Материал рассчитан на macOS и Linux с Python 3.13+; в splime 0.4.9 сборка локальных окружений требует POSIX.

Читать далее

Как создавался агрегатор ИБ‑новостей: склейка сюжетов, семь признаков важности и порог по данным

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

Идея агрегатора новостей по кибербезопасности зародилась еще давно. Хотелось получать самое важное и без инфошума. LLM тогда ещё не были повседневным инструментом, и первую версию реализовал на модели суммаризации rut5_base_sum_gazeta, а важность считал textrank. Работало так себе. Потом появились сервисы, которые сами подбирают новости под настроенную ленту. Но оптимального решения так и не увидел – это либо про всё сразу, либо что-то про одну узкую тему.

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

Читать далее

Локальный путь в image_input съел четыре слота подряд

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

31 августа в 14:32 по Москве у нас вышла последняя штатная публикация. Дальше cron честно стартовал по расписанию, генератор успевал выбрать тему и написать текст, но в ленте ничего не появлялось. Так повторилось четыре раза: три запуска 1 сентября и утренний запуск 2 сентября.

Читать далее

Действительно ли Вселенная расширяется? Анализ спектра квазара после 2 миллиардов световых лет пути

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

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

Например, от Бетельгейзе свет идет около 600 лет, но в любой день сними ее спектр — линии на своих местах. А если взять объект за миллиарды световых лет от Земли, что покажут фотоны? Ученые говорят, на таком расстоянии длина волны света сильно растянута из‑за расширения пространства и линии смещены в красную зону спектра.

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

Читать далее

Как подключить к LLM вашу документацию и базу знаний

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

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

Разобрать подход

Написал детектор ИИ‑текста на 13 правил и прогнал 59 своих статей: сумма баллов не забраковала ни одну

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

Площадки перестали пускать машинный текст самотёком. Habr проверяет публикации автоматически, а Кевин Индиг пишет о том, что платформы строят anti-slop-системы — механизмы подавления массового низкокачественного ИИ-контента. Дальше обычно следует совет писать хорошо, и на этом разговор заканчивается.

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

Читать далее

Что нового в Location King

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

Главное: теперь можно играть, ничего не заводя.

Заходите на locationking.ru и жмите «Сыграть пять раундов без регистрации». Пять известных мест — Москва, Париж, Манхэттен, пирамиды Гизы, Лондон, — и минуты три времени. Аккаунт нужен только чтобы результаты сохранялись.

Об игре читайте в первой статье.

Читать далее

Я не откликаюсь на вакансии. Я пишу людям — и написал программу, которая их находит

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

24 коллектора, 111 ATS-досок компаний, 345 тестов, ноль API-ключей и ноль ИИ. Windows-exe, который считает совпадение резюме с вакансией и приносит 1–3 живых человека, которым можно написать самому. Внутри — архитектура, три бага, из-за которых я чуть не отправил письма сотрудникам чужих компаний, и раздел «честные ограничения», без которого это была бы реклама.

Читать далее

Я управлял AutoCAD из Claude Code через Python — пока не понял, что AutoCAD вообще не нужен

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

В прошлой статье я разбирал флот из тридцати трёх ИИ-агентов и в разделе про энергетику упомянул вскользь: чертёж там рисуется одной функцией сразу в двух форматах. Большинство читателей эту фразу пропустили, а зря — за ней стоит развилка, на которой я потерял недели.

Задача звучит просто. Есть данные — параметры подстанции, состав оборудования, нагрузки. Нужен чертёж: не картинка, а лист формата А3, который инженер откроет в AutoCAD и поправит.

Очевидный путь — взять AutoCAD и рисовать в нём программно. Я так и сделал: подключился к нему из Python по COM и начал водить его снаружи. Работает. Но когда дошло до генерации по данным, выяснилось, что CAD в этой задаче чаще мешает, чем помогает.

Разберу оба пути на живом коде: где COM незаменим, где он тихо врёт, и почему в итоге чертежи у меня генерирует код, не открывающий никакого CAD вообще.

Вот что на выходе — лист, собранный кодом из строки текста с параметрами:

Читать далее

JupyterLab на GPU-сервере: полное руководство по настройке для команды в 2026 году

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

Пошаговое руководство по развертыванию JupyterLab на GPU-сервере. Рассказываем про настройку JupyterHub, драйверов NVIDIA, безопасности (Nginx/SSL), лимитов ресурсов и мониторинга.

Читать далее

Как проверять ответы API Яндекс Директа и не соврать заказчику

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

Отчёт Директа показал пять конверсий, потом ноль, потом три. Все три запроса вернули 200 OK. Разбор трёх мест, где успешный ответ API не означает, что вы получили нужные данные, что операция выполнилась и что настройка совпала с замыслом.

Читать далее

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

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

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

Ответ нейросети с включённым поиском обычно приходит со списком источников, и этот список выглядит как готовый ответ на вопрос «где про эту тему пишут». Я собрал такой список по семи запросам одной темы из логов собственного прогона — получилось 359 уникальных адресов. Раскрыть удалось 199. За остальными 160 стоит редирект, за которым реальный сайт не виден ни из кода, ни глазами.

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

Читать далее

Лучший бесплатный и платный хостинг для Телеграм‑бота на Python в 2026

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

В статье мы сравним основных PaaS и VPS-провайдеров, рассмотрим критерии выбора и опишем деплой бота на хостинг. Также расскажем, как сделать так, чтобы Телеграм-бот работал несмотря на региональные блокировки.

Читать далее

Мой первый RAG без LangChain

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

В наши дни все, кому было интересно, уже попробовали RAG, я в том числе. И стандартная схема тривиальна: цепляем LangChain, три импорта, .from_documents() — и бот с базой знаний готов. Мой первый опыт был такой же, и это даже заработало за один вечер.

Но как это поддерживать? А что случится, если всё полетит?

Пять слоёв абстракции, и я без понятия, что происходит на любом из них. Поэтому я решил повторить свой эксперимент с контейнерами: отбросил все слои и переписал вручную на Python.

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

Читать далее

Одна сессия Claude Code на нескольких машинах: что ломается, если просто синхронизировать папку

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

Разговор с Claude Code остаётся на той машине, где начат. Разбираю, почему облачная папка эту задачу не решает, и шесть граблей, на которые я наступил, пока делал перенос сессий, памяти и инструментов между Linux, Windows и macOS.

Читать далее

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

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

Год назад я написал статью «Переводим fb2 книжки, с нейронками, для себя» — про то, как собрал на паре Tesla P40 в гараже программу Sunny Narrator («Солнечный сказочник»), которая переводит художественные книги через локальные и облачные LLM. Тогда это был скорее прототип «доказать себе, что так можно»: черновики читались с головной болью, книга в тысячу страниц переводилась два дня, а электричество, отключённое посреди процесса, стоило ещё двух.

За год программа доехала до версии 2.1, я перевёл достаточно книг, чтобы набить руку, и понял главное: это уже инструмент не только для меня, но и для переводчиков — и для всех любопытных. Рассказываю, что изменилось, сколько это стоит в токенах и почему без человека ничего не работает.

Читать далее

Кроссплатформенный мониторинг аппаратных ресурсов на C++ и Python: библиотека hardware_monitor_cpp

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

После того как мой пет-проект случайно «выстрелил» на Reddit, я решил, что пора поделиться так же и своей кроссплатформенной библиотекой на C++20 для мониторинга железа, с нативной поддержкой Python.

Рассказываю историю создания hardware_monitor_cpp: как избавиться от лишних зависимостей, получить адекватную статистику swap-файла под Windows и macOS, упаковать все в удобное C++ API, а заодно получить готовую консольную утилиту с визуализацией графиков прямо в терминале.

Читать далее

Код прошёл ревью, потому что читался правильно. Выполняется он иначе

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

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

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

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

Читать далее