Обновить
256K+

Python *

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

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

ИИ-помощник для КТ головы

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

Исследовательский прототип на бесплатной Tesla T4 в Google Colab. Не медицинское изделие.

Я обучил нейросеть искать кровоизлияния на КТ головы в бесплатном Google Colab. На первом фолде получил AUC 0.963 и обрадовался. После полной проверки осталось 0.931. А потом выяснилось, что модель, которая видит только костное окно, где мозга почти не видно, всё равно даёт AUC 0.86. В статье разбираю, откуда берутся такие цифры, что показывают маски врачей.

Читать далее

Новости

Senpy или зачем визуальной новелле семантический линтер, если в Ren’Py уже есть встроенная проверка?

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

Как попытка пофиксить русификатор для мода к DDLC вылилась в разработку собственного семантического анализатора для Ren'Py со скоростью 77 000 строк за 3.8 секунды, собственным ScopeStack, AST-парсером и LSP-сервером для VS Code.

Рассказываю, почему встроенный renpy lint бесполезен на CI, как неочевидные предиктивные рендеры экранов воруют золото у игроков, почему переменные без default гарантированно убивают сохранения после релизных патчей и как защититься от RCE при распаковке чужих .rpa архивов.

Читать далее

Бот для поиска туров на Python: LLM разбирает запрос, а API туроператоров подкидывают сюрпризы

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

Я сделал бота для Telegram и MAX. Ему пишут обычной фразой: «Египет в ноябре с 10-го ±3 дня на 8 ночей, двое взрослых и ребёнок 7 лет, 4–5 звёзд». Бот находит туры, билеты и отели, а по кнопке следит за ценой и пишет, когда она падает.

В статье — техническая часть: как языковая модель превращает фразу в строгий запрос, как один код обслуживает два мессенджера, как устроено слежение за ценами и какие грабли нашлись в API Слетать.ру и Aviasales. Код на Python 3.12, asyncio, httpx, pydantic, SQLite; живёт в Docker на VPS.

Читать далее

Как я собрал русскоязычную GPT на 112 млн параметров с нуля на PyTorch: претрейн, SFT, Telegram-бот

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

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

Так появился jarvis - компактный decoder-only transformer для русского текста и диалогов. В проекте нет готового AutoModelForCausalLM: я сам реализовал архитектуру, обучил токенизатор, собрал пайплайн подготовки данных, добавил претрейн и SFT, KV-cache для генерации, консольный чат, Telegram-бота и простой бенчмарк. Готовый SFT-checkpoint и соответствующий токенизатор опубликованы на Hugging Face.

Читать далее

Свёрточные сети в финансовом анализе: от компьютерного зрения к прогнозированию рынков

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

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

Изучить метод

HabrExporter: сохраняем статьи и целые блоги Хабра в офлайн

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

Салют, Хабр!

Не так давно мне захотелось сохранить себе подборку статей одного автора: несколько десятков публикаций вместе с комментариями (которые зачастую не менее ценны, чем сами статьи). Конечно, будь статья одна, я, не задумываясь, нажал бы Ctrl+S или Ctrl+P. Но жать их полсотни раз — удовольствие сомнительное. Готовые решения нашлись, но меня ни одно не устроило (о них ниже). Поэтому я, как истинный программист, озадачился написанием собственного инструмента. А как истинный ленивый программист — поручил часть этой задачи Claude Code.

Так появился HabrExporter — приложение с графическим интерфейсом и CLI, которое сохраняет статьи, блоги авторов и закладки Хабра в PDF, EPUB, Markdown и ещё нескольких форматах. PDF при этом выглядит точь‑в‑точь как на сайте, вместе с деревом комментариев, а данные программа берёт не парсингом HTML, а из внутреннего API Хабра.

О том, как это устроено, что умеет программа, я и расскажу.

Save as...

Как строить сканирование активов в MaxPatrol VM. Ч.5 — Автоматизация по API. Ч.1 — IP-план, задачи сканирования

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

Добрый день, дорогие читатели!

Мы переходим к использованию API MaxPatrol VM по-взрослому.

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

Сегодня мы загрузим в MPVM IP-план Организации, создадим задачи по сканированию Пентестом и затронем задачи по Аудиту.

Примеры будут также на Python.

Читать далее

Python-разработчик в 2026 году: что учить, чтобы не застрять на одном грейде

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

Python знают миллионы разработчиков. Но что сегодня отличает Junior+ от Middle, а Middle от Senior, кроме количества лет в резюме? Собрали актуальную матрицу компетенций для питонистов: от объектной модели и pytest до высоконагруженных систем, Big Data и промышленных решений с LLM.

Читать далее

Книга по Python для школьников и студентов

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

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

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

                Книг такого характера можно пересчитать по пальцам, у которых действительно есть связь со школьной программой, условно, от 3 до 11 класса по определённым предметам. В моём случае – это математика, информатика и физика. И вот относительно недавно у меня появилась новая книга, отвечающая заданным критериям, под названием «Азбука Python. Подробный самоучитель для школьников и студентов».

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

Читать далее

Помнит ли ИИ-агент вчерашний разговор? Проверил: 0 из 10 без памяти, 10 из 10 с ней — и три бага по дороге

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

«У нас есть память между окнами» — это мы писали в README и на Хабре. Но ни разу не проверяли, что агент в новом окне действительно вспоминает вчерашнее. Проверил на своей рабочей базе. В новом окне агент без памяти вспомнил 0 фактов из 10, со skillmem — 10 из 10. А пока я добывал цифру для README, нашлись три бага: треть заметок не попадала в базу, пересказы сессий забивали поиск, и агент не доверял правилам, которые я сам ему продиктовал.

Читать далее

Чат на сайте не должен врать: почему наш ассистент иногда честно отвечает «точного ответа нет»

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

Представьте: посетитель интернет‑магазина спрашивает в чате, сколько дней на возврат. Бот бодро отвечает: «30 дней, без вопросов». На сайте при этом написано 14. Через три недели покупатель приходит с товаром и скриншотом переписки. Спорить с ним бесполезно: «ваш же консультант сказал».

Мы делаем для сайтов ассистента. Это чат, который отвечает на вопросы о магазине или компании — доставка, оплата, условия, контакты, статус заказа — и зовёт живого оператора, когда сам не справляется. Когда собирали первую версию, быстро стало понятно: «не знаю» — далеко не худшее, что может сказать такой чат. Худшее — уверенная неправда. Языковая модель прекрасно умеет звучать убедительно. А вот отличать «знаю» от «похоже на правду» у неё получается гораздо хуже.

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

Читать далее

Поисковик с «Теорией Связей» на FastAPI и Manticore Search

Время на прочтение4 мин
Охват и читатели528

Изначально я планировал написать классический лонгрид про своё участие в чемпионате ROADEF 2026. Там я занял "почётное" 48-е место из 78 валидных участников, так что и кодом есть чем делиться, и историями с полей. Но тут на глаза мне попалось объявление на Кворке: какой-то суровый заказчик предлагал за 500 рублей разработать с нуля связку «Браузер + Поисковик».

Я сидел, смотрел на это и думал: кого же мне порадовать? Дорогого читателя или этого щедрого продюсера с биржи фриланса? Решение пришло компромиссное: мы сделаем Поисковик-Браузер для хабровчан и пробросим через сервер в народ. А заказчик с Кворка пусть оставит 500 рублей, купит мороженку.

(барабанная дробь) Встречайте SBrowserV2 — легковесный асинхронный поисковый движок.

Читать далее

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

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

Допустим, ваш продукт продаётся в России и за рубежом, и по-русски нейросети уже ссылаются на ваш сайт и статьи. Я проверил, переносится ли это на английский: сравнил, из каких сайтов Google AI Overviews, Perplexity и Алиса AI собирают ответы на русские и на английские вопросы. В Google и Perplexity русских сайтов на английском почти не осталось, хотя регион в настройках Google стоял российский. Видимость по-русски сама в английскую не превратится, её придётся строить отдельно.

Читать далее

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

Как я заставил ИИ-агентов собирать себе harness под конкретную задачу

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

Я дал Claude Code (Opus 5.5) тестовое задание: нарисовать в SVG сцену из «Бегущего по лезвию 2049». Агенты, которые я пробовал, провалили его одинаково: на настоящий кадр никто не посмотрел, рисовали по памяти и сообщали бездумно, что готово. Тогда я начал подсказывать агенту вопросы: есть ли документация, с чем сравнивать результат, когда остановиться. Из этих вопросов вырос AutoHarness — скилл, который заставляет агента подготовиться к задаче до того, как он начнёт её делать.

Читать далее

Google отказывал нашему скрейперу, пока мы не поняли, что он смотрит не на IP

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

Задача звучала скучно: собирать выдачу Google. Много, регулярно, через обычные резидентные прокси и без платных SERP API.

Первая версия честно открывала Chrome, вбивала запрос и получала капчу. Вторая получала капчу чуть реже. А потом один IP отработал 1210 запросов подряд, и Google ни разу не попросил доказать, что мы не робот. Между этими двумя точками было двадцать экспериментов и вкладка, которая съела 3 гигабайта памяти. И главный вывод: мы всё это время думали о Google неправильно.

Читать далее

Два сервиса писали в один ключ Redis одно и то же. Это и было опасно

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

Переводя сервис прогнозов на общий Redis, я увидел в чужой базе ключ current_occupancy_cache и обнаружил, что ровно такой же пишет мой сервис. Развёл по разным номерам баз. Сегодня полез проверять эту историю и выяснил две вещи. Во-первых, коллизия стала невозможна через два дня сама по себе: мультигородность добавила ключу суффикс :city, и ни в одном коммите той фичи сервис прогнозов не упоминается. Во-вторых, и это интереснее, на тот день обе записи были одинаковыми поле в поле. То есть затирание прошло бы совершенно корректно, без ошибки и без строчки в логе. Опасным оно стало бы четырьмя днями позже, когда в одну из записей добавили has_live_data, а на фронте стоит ?? true. Про то, почему совпадение данных это не свойство системы, а след копипасты, и почему разводить общие пространства имён надо до того, как данные разъехались.

Читать далее

Друг предложил отдать суд нейросети. Я посчитал, что из этого выйдет

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

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

Оказалось, ломается она уже на простой арифметике: система распознавания лиц с долей ложных совпадений 0,1% на городе в 10 миллионов почти всегда указывает на невиновного. Посчитал это на Python, разобрал реальные случаи ошибочных арестов и алгоритм COMPAS, прикинул, как мог бы выглядеть честный ИИ-судья, и посмотрел, что сами модели вытворяют на тестах.

Где ломается ИИ-судья

Пишем свой immutable‑логгер на Python: как защитить данные на edge‑устройствах без облаков и SIEM

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

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

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

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

Корпоративные SIEM-системы (вроде ELK) слишком тяжелы для К сожалению, данная публикация не сможет пройти модерацию, в соответствии с п.4 Правил ресурса.в с ограниченной памятью и вычислительной мощностью. Облачные решения неприменимы из-за отсутствия связи.

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

Читать далее

aiogram 3 и FSM: три грабли, на которые я наступил в заказных ботах

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

Большая часть моих заказов на ботов выглядит одинаково. Человек хочет, чтобы клиент нажал кнопку, ответил на несколько вопросов и заявка упала менеджеру. Имя, телефон, что нужно, удобное время. Звучит как задача на вечер, и по коду это правда вечер.

Проблемы начинаются потом, когда бот уже работает у заказчика. Ниже три истории, после которых я поменял свой шаблон. Все примеры на aiogram 3.

Большая часть моих заказов на ботов выглядит одинаково: клиент отвечает на пару вопросов, заявка падает менеджеру. По коду это вечер. Проблемы начинаются, когда бот уже работает у заказчика. Рассказываю про три случая с FSM в aiogram 3, после которых я переписал свой шаблон: MemoryStorage в проде, /cancel, который сохранился как имя, и бот, который молчит, если ему прислали не то.

Читать далее

Телефон сказал «Нет связи». Сервер в это время читал этикетку

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

Телефон уверял пользователя, что интернета нет. Интернет был, зато OCR на сервере читал мелкий состав дольше, чем приложение соглашалось ждать. Рассказываю, как мы нашли таймаут и исправили его без нового сервера.

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