Обновить
1024K+

Python *

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

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

Множественная регрессия: Расширяем горизонты прогнозирования

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

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

В этой статье вы узнаете:

Математическую основу множественной линейной регрессии – от уравнения гиперплоскости до метода наименьших квадратов;
Разбор полного кода на Python с использованием scikit-learn на реальном датасете Advertising (200 наблюдений);
Как интерпретировать коэффициенты модели;
Сравнение с простой линейной регрессией – насколько лучше работает множественная модель;
Расширение до полиномиальной регрессии, когда линейности недостаточно.

Читать далее

PSA (Project Specific Autocomplete) — плагин для продуктов IntelliJ

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

PSA (Project Specific Autocomplete) — плагин для продуктов IntelliJ

Хочу представить Вашему вниманию плагин для продуктов IntelliJ, который позволяет создавать:

Автокомплит на основе кода Вашего проекта

Переходы к определению элемента синтаксического дерева (на основе кода Вашего проекта)

Шаблоны кода, состоящие из одного файла (на основе кода Вашего проекта)

Шаблоны кода. состоящие из нескольких файлов (на основе кода Вашего проекта)//

Ссылка на репорзиторий здесь. Для подробностей, прошу под кат.

Читать далее

CodeClone 2.0.0b1: когда детектора клонов уже мало

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

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

За это время проект заметно изменился. Если раньше это был в первую очередь детектор клонов, то 2.0.0b1 — уже скорее инструмент для контроля структурного здоровья проекта в CI.

Читать далее

Как оценить акцию без A/B-теста: от простых способов к сложным

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

Как правильно оценивать влияние кампаний, если А/В-тест не возможен? Рассмотрим несколько вариантов: от самых простых к не самым, но сложным.

Читать далее

Мой маленький мониторинг

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

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

~120 строк на Python.

Читать далее

/tmp кончился — пишем виджет для qtile с предсказанием по тренду

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

qtile — тайловый оконный менеджер для Linux, целиком написанный на Python. Конфиг — тоже Python, с asyncio, доступом к procfs и вообще ко всему, что есть в системе. Я сижу на qtile уже почти 15 лет с одним и тем же конфигом, который потихоньку допиливаю, и что мне в нём нравится: панель оконного менеджера — удобное место для визуализации метрик, собранных из произвольных Python-скриптов.

Читать далее

Испанский в кармане: Архитектура Telegram-бота с локальным Whisper.cpp, AI-диалогами и оценкой произношения

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

Привет, Хабр! Меня зовут Vlad, я начинающий Python‑разработчик и энтузиаст изучения языков.

Недавно я столкнулся с классической проблемой полиглота‑самоучки: учебники дают теорию, аудиокурсы — пассивное восприятие, но нет главного — обратной связи по произношению. Репетиторы дороги, а разговорные клубы требуют уровня, которого у меня еще не было.

Я решил закрыть эту боль кодом. Моя цель была амбициозной: создать Telegram‑бота, который:

1. Слушает голосовые сообщения и распознает речь без дорогих облачных API.
2. Оценивает точность произношения в процентах, сравнивая с эталоном.
3. Поддерживает живой диалог через LLM, исправляя ошибки на лету.
4. Работает быстро и экономно на слабом VPS.

В этой статье я подробно разберу архитектуру проекта, покажу, как интегрировать бинарный whisper.cpp в асинхронный aiogram 3.x, реализую алгоритм оценки речи и расскажу про управление состояниями (FSM). Под капотом — Python, нейросети и немного магии.

Читать далее

Вайбкодинг есть, а вайбрезультатов нет?

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

Поклонники вайбкодинга и агентных инструментов говорят, что стали продуктивнее в 2, в 10, а то и в 100 раз. Кто-то собрал целый браузер с нуля. Впечатляет!

Тогда скептики резонно спрашивают: где все приложения? Если разработчики стали (возьмём консервативную оценку) хотя бы вдвое продуктивнее, где искать вдвое больше произведённого ПО? Такие вопросы исходят из допущения, что мир хочет больше программ, а значит, если их дешевле делать, их будут делать больше. Если вы с этим согласны — где тогда этот избыток, который можно назвать «AI-эффектом»?

Посмотрим на PyPI — центральный репозиторий Python-пакетов. Он большой, публичный и стабильно измеримый, так что AI-эффект должен быть хорошо заметен.

Читать далее

Как я построил «аниме-завод»: систему, которая сама превращает эпизоды в YouTube Shorts

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

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

Последние месяцы я строил систему, которую внутри называю «аниме-заводом»: на вход она получает исходный эпизод, а на выходе собирает готовый YouTube Shorts с динамическим кадрированием, субтитрами, постобработкой и метаданными для публикации.

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

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

Читать далее

Ursina 3D-игры. Определение расстояния между двумя объектами

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

В этом руководстве мы разберёмся, как в игровом движке Ursina определять расстояние между объектами. Это очень важно для создания интерактивных игр: чтобы враги замечали игрока, предметы можно было подбирать, а интерфейс реагировал на действия пользователя.

Также приведено несколько практических примеров с подробными комментариями для начинающих:
1. Простое обнаружение стены
2. Подбор предмета (альтернатива distance)
3. Пуля и враг
4. Система подбора предметов
5. ИИ врага — зона обнаружения
6. Столкновения в Pong

Читать далее

От 0.034 до 0.791 и обратно: Legal RAG, 17 итераций и стена масштабирования

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

Я участвовал в ARLC 2026 — юридическом AI-челлендже по построению RAG-пайплайна поверх корпуса судебных решений и законов. Соло, с Claude Code в качестве напарника. За 5 дней и 17 итераций прошёл путь от 0.034 до 0.791 на warmup — а потом вышел в финал и потерял 42% на 300 документах вместо 30. Внутри — архитектура, код, математика F-beta, три провала и честный разбор работы с AI-ассистентом.

Читать далее

От «Долгого Джонта» Кинга до pip install: пишем HAL для атомного манипулятора

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

Начал с фантазий про телепортацию из рассказа Кинга, закончил Python-пакетом для управления атомным микроскопом. Симулятор вместо оборудования за $500K, замена LabVIEW на asyncio, drop-in для RL-агента.

Читать далее

Часть 5: Интеграция с устройствами «Умного дома» — от модели к реальному устройству

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

Что сработало хорошо

MQTT — надёжный и простой протокол для умного дома

Плагин-архитектура — легко добавлять новые устройства

Обработка ошибок — система устойчива к сбоям

Очередь команд — предотвращает конфликты

Что можно улучшить

Поддержка больше протоколов — Zigbee, Z-Wave, Matter

Голосовая обратная связь — подтверждение команд голосом

Сценарии — поддержка сложных сценариев (макросов)

Машинное обучение — адаптация под привычки пользователя

Советы для разработчиков

Начинайте с простого — начните с одного устройства, затем масштабируйте

Тестируйте надёжность — тестируйте в реальных условиях

Обрабатывайте ошибки — устройства могут быть недоступны

Документируйте API — облегчает добавление новых устройств

Читать далее

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

Pygame (Урок № 1)

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

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

Читать далее

Векторный поиск в PostgreSQL: pgvector, pgvectorscale или VectorChord?

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

Привет Хабр! Меня зовут Владимир сегодня я постараюсь исправить ошибку из моей первой статьи про векторный поиск. Основная претензия к статье (два из трех комментариев 😂) была в том, что тема сисек векторного поиска не раскрыта.

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

Читать далее

Развиваем проект: фильтрация, поиск и экспорт данных

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

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

Читать далее

Open-source персистентная память для LLM

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

Задача, которая казалась тривиальной: научить LLM помнить, с кем она разговаривает. Пользователь пишет «я вегетарианец», а через три сообщения модель предлагает стейк-хаус. Знакомо?
Стандартные решения — обрезка истории, суммаризация, внешние векторные базы — всё это костыли. Я пошёл другим путём и сделал NGT Memory — модуль персистентной памяти с открытым исходным кодом.
В статье подробно расскажу про архитектуру, эксперименты и все найденные решения. Если строили чат-ботов или AI-агентов — будет интересно

Читать далее

В каждом JPEG зашита модель вашей сетчатки. Буквально

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

После того как я написал статью про то, что ваш монитор не умеет показывать бирюзовый и 65% видимых цветов для него просто не существуют, один мой знакомый (далекий правда от технической отрасли) спросил: «Окей, монитор врёт, а что тогда делает JPEG с оставшимися 35%?» И это хороший вопрос. Я полез в спеку, а через полчаса забыл, зачем вообще полез. Потому меня уже интересовало другое: ребята, которые в 1992-м финализировали этот стандарт, по сути заревёрсили человеческое зрение и запихнули его в алгоритм сжатия.

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

Читать далее

Бот для отправки графиков из Redash в Mattermost

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

Расскажу, как я автоматизировала регулярную отправку графиков из BI в мессенджер.

Задача была довольно типичная: есть дашборд в redash, на который смотрят каждый день. Данные иногда приходят с задержками и нельзя быть уверенным, что в 9 утра все "доедет", плюс зайти руками и прокликать несколько разрезов это долго и неудобно, хочется сразу все видеть в мессенджере как только данные обновились.

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

Читать далее

GIL в Python для senior interview

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

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

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

Читать далее