Обновить
1024K+

Python *

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

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

Q-scribe: сервис транскрибации для двоих с нулевой подпиской, разработанный за один вечер

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

Как за один вечер собрать собственную систему транскрибации, если вам надоело платить за подписки и сливать записи конфиденциальных встреч в «облачные мозги»?

В этой статье разбираем Q-scribe — прагматичный open-source конвейер для маленькой команды. В основе: OpenAI Whisper для распознавания речи, Streamlit для быстрого интерфейса и Tailscale для безопасного удаленного доступа к вашей видеокарте RTX 4080 без «выхода» в открытый интернет.

Минимум кода, максимум контроля и нулевые затраты на облака. Идеально для тех, кому нужно быстро превращать видео встреч в текст, сохраняя данные на своем железе.

Читать далее

С Django мы все дальше от Бога

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

Я долго работал в коммерческом проекте в роли backend-разработчика с всемирно известным фреймворком Django, а также с его альтер эго - Django Rest Framework. Всегда кажется, что работать с чем-то многозвёздочном на GitHub - это кататься сыром в масле. На входе имеем: отличную документацию, отзывчивое сообщество, множество решений одной и той же проблемы, так как все уже (пред)решено...

Читать далее

Рекурсия в Python: от матрешки до стека вызовов. Полный гид для новичков

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

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

Читать далее

MITM-атаки в телеграмм ботах и почему этот вектор самый опасный

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

Многие Telegram-боты, особенно связанные с криптовалютами, используют HTTP-запросы для взаимодействия с внешними API. В этой статье мы разберем, как на этом можно построить MITM-атаку для подмены кошельков, чеков и перехвата данных, почему это работает, и какие меры защиты стоит применять разработчикам и пользователям. Рассмотрим реализацию на Python с использованием mitmproxy.

Telegram-боты стали неотъемлемой частью экосистемы — от новостных каналов до торговых платформ. Однако архитектура многих ботов, особенно тех, что используют популярные библиотеки вроде aiogram или python-telegram-bot, часто подразумевает выполнение внешних HTTP-запросов для обработки команд (например, для проверки баланса или генерации платежного адреса).

Если такой бот использует сторонний HTTP/HTTPS-прокси, все его запросы и ответы проходят через промежуточный сервер. Это открывает возможность для атаки «человек посередине» (MITM), когда злоумышленник может не только перехватывать, но и модифицировать трафик в реальном времени. На практике это может привести к подмене криптокошельков, платежных реквизитов или токенов доступа.

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

Читать далее

Сегодня я для себя открыл: Project Loom

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

"Loom" означает "ткацкий станок" - так назывался проект по добавлению асинхронности в джаву. Тяжёлые системные потоки заменили легковесными виртуальными потоками. Потоки и нити в английском называются одинаково - thread - отсюда название.

Проект успешно внедрили пару лет назад, и я, к сожалению, это полностью пропустил. Основная причина, конечно - что я в принципе не ожидал от джавы никаких прорывов (и оказался на 100% неправ!) Ну и, как бэкенд-разработчик на питоне, я не очень-то слежу за развитием JVM-языков.

Но исправляюсь: Project Loom - это блестящая идея. Учитывая, что его внедрили совместимым образом, и почти не было ломающих изменений. Я считаю, это оптимальная реализация асинхронности для высокоуровневого серверного языка.

Уже почти все использующие JVM языки переехали на новую версию JVM, и, таким образом, на проект Loom: деваться им некуда. Так что, есть надежда, что это изменение откроет новую главу для некоторых из них. Есть также предположение, как оно может повлиять на скриптовые языки, такие как питон. Гипотеза только.

Также, вы узнаете, почему Гвидо ван Россум не ошибся, когда добавлял async/await в питон, а Мацумото — создатель Ruby — тоже угадал, когда, наоборот, отказался от async/await.

Читать далее

Как я сделал свой АИС-Налог и для чего он нужен

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

Эта статья — описывает проект, по созданию универсальной системы для бизнеса «АIS NP», которая решает проблемы сопровождения налоговых проверок и налогового контроля в целом.

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

У AIS NP очень конкретная задача: навести порядок в налоговом сопровождении, когда ты работаешь с большим объёмом разрозненной информации и вынужден держать слишком много в голове. По сути это программа, которая помогает:

Читать далее

Mini Tower Kit для Raspberry Pi 5: Переделываем проект под Raspberry Pi 4 с Ubuntu Server

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

Переработка проекта Mini Tower Kit для Rasberry Pi 5 под Rasberry Pi 4 с приятным тюнингом или когда Pi 5 не завезли, а руки всё равно чешутся

Читать далее

История одного коннектора: как мы научили Qlik говорить с каталогом данных

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

В статье рассказывается, как команда интегрировала Qlik с OpenMetadata, создав собственный коннектор вместо использования коробочного решения. Авторы объясняют, почему стандартный подход не обеспечивал нужного lineage и привязки к глоссарию, и как они решили проблему с помощью парсера скриптов Qlik, поддержки include-файлов и доменной модели Business Views. В результате удалось связать дашборды с источниками данных и бизнес-терминами, сократив время поиска отчётов с 2 часов до 2 минут и обеспечив покрытие lineage более чем для 85% приложений. Статья будет полезна тем, кто сталкивается с управлением метаданными в крупных BI-инфраструктурах.

Читать далее

Как мы мигрировали с Zeppelin и что из этого вышло. Часть 2. Формы

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

Это вторая (и заключительная) часть цикла статей о нашей миграции с Zeppelin. О причинах и первом опыте перехода с Zeppelin я рассказал здесь. В данной статье я хочу большее внимание уделить второму виду Zeppelin notebook, которые срочно нуждались в переносе.
Конечно, отчеты для клиентов не были настолько "забагованы" как рассылки: большая часть проблем с Zeppelin крылась именно в cron-е, который временами работал как хотел (или в интерпретаторах, мы так и не смогли разобраться, но ошибка интерпретатора возникала только когда запускали через cron). В отчетах этого звена не было, поэтому их перенос был плавным и основан скорее на особенностях UI/UX дизайна.
Данная статья может быть полезна аналитикам, которые не знают, какой инструмент использовать для своих задач и думают, что писать графический интерфейс крайне сложно (спойлер, нет), а также для команд, которые устали от Zeppelin как UI-инструмента (и от Zeppelin в целом)

Как аналитики пишут UI?

Как на потоке получать продуктовые инсайты из звонков в службу поддержки

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

Привет, Хабр! Продуктовая аналитика хорошо работает с событиями и метриками, но ломается на живых коммуникациях. Звонки зачастую остаются неохваченными анализом, хотя именно там слышно как клиент злится или сомневается, но эти сигналы доходят до менеджера продукта хаотично, а не в системном виде.

В этом гайде разберём, как превратить записи звонков в продуктовые инсайты без ручного прослушивания — с помощью Python, звонков от МТС Exolve, интерфейса на Streamlit и нейронкой MWS GPT от МТС.

Читать далее

Почему 95% пилотов с LLM-агентами не доходят до прода: технический разбор

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

Работаю над внедрением LLM-агентов в бизнес-процессы. За последний год видел десятки проектов — своих и чужих.
Паттерн один и тот же: красивый PoC → попытка масштабирования → провал.
MIT Media Lab в 2025 году подтвердил это цифрами: 95% пилотов по GenAI не дают измеримого влияния на P&L. Gartner добавляет: 40%+ проектов по агентному ИИ отменят к 2027.
Причина не в моделях. GPT-4, Claude, GigaChat — все работают нормально.
Проблема на стыке технологий и инфраструктуры. И о ней интеграторы предпочитают молчать, т.к. её решение — это 70-80% бюджета проекта.

Нырнём глубже

Данные, дедлайны и бессонные ночи: хроники junior дата-инженера на крупнейшем хакатоне 2025

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

Всем привет!Меня зовут Екатерина — data engineer jr. Если вы начинающий специалист и думаете, что хакатоны — удел опытных сеньоров, эта история для вас. Год назад я не верила, что смогу подняться на сцену крупнейшего IT‑соревнования. Однако мой опыт на хакатоне «Лидеры цифровой трансформации — 2025» доказал, что победа на старте карьеры возможна.

«Лидеры цифровой трансформации»‑ это крупнейший международный онлайн‑хакатон мэра Москвы для IT‑специалистов. Проект фокусируется на реальных проблемах Москвы и бизнеса, предлагая участникам искать нестандартные решения для живых кейсов, а победители получают не только призовые деньги, но и преимущество при рассмотрении резюме для дальнейшего сотрудничества.

Здесь не будет мотивационной речи, только анализ того, как нашей команде удалось войти в топ-3. Разберемся как собрать команду из «я один», что делать, когда данные подводят, как перестроить свою роль на ходу и почему хакатон — лучший в мире лифт для джуна.

Читать далее

Go рухнул с 7 на 16 место в TIOBE: пора ли российским компаниям пересмотреть технологический стек?

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

В ноябре 2024 года язык программирования Go достиг своего исторического максимума — седьмого места в престижном индексе TIOBE, укрепив позиции в топ-10. Однако всего через 14 месяцев, в январе 2026 года, картина кардинально изменилась: Go обвалился на 16-е место, потеряв сразу 9 позиций. Это один из самых драматичных спадов года среди топовых языков. Парадокс в том, что в России Go переживает противоположную тенденцию — язык активно набирает популярность, его используют крупнейшие технологические компании и количество Go-разработчиков превысило 40 тысяч. Возникает критический вопрос для отечественной индустрии: не движемся ли мы против глобального технологического тренда, делая ставку на язык, который теряет позиции на мировой арене?

Читать далее

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

Математическая битва ИИ: сравнение ChatGPT 5.2 Pro и Gemini 3 Pro в решении задач

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

Признайтесь: вы когда-нибудь задумывались, можно ли уже сегодня доверить ИИ олимпиадную задачу по математике? Не просто посчитать пример, а распутать геометрическую спираль, оптимизировать “спичечное” представление числа или найти все неоднозначные моменты на странных часах без цифр?

Я – да. И поэтому, когда в конце 2025 года OpenAI анонсировала ChatGPT 5.2 Pro, заточенный именно под сложные рассуждения и научные задачи, я понял: пора проверять по-настоящему.

Мы решили устроить настоящую математическую дуэль между двумя титанами: ChatGPT 5.2 Pro и уже успевшим нашуметь Gemini 3 Pro от Google. Без веб-поиска, без подсказок – только чистая логика, длинные цепочки рассуждений и, где нужно, аккуратный Python-код.

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

Результаты оказались не просто интересными. Готовы узнать, кто победил?

Читать далее

Компрессор для данных или как я написал свой первый custom transformer

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

Эта статья будет полезна DS специалистам, и тем, кто хоть когда-нибудь сталкивался с такой проблемой, как выбросы в данных или OOD (out of distribution), и ищет пути решения проблем, возникающих из-за них.

Читать далее

Автоматизированные системы мониторинга моделей машинного обучения с помощью нашего open source фреймворка

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

Любая модель машинного обучения начинается с данных. Известное выражение «garbage in, garbage out» как нельзя лучше описывает главную уязвимость ML‑систем. В автоматизированном машинном обучении (AutoML) наиболее критичными точками являются процесс сборки данных и проблема мониторинга данных, в т.ч. в онлайне. Если процессы feature engineering и обучения наша библиотека формализует «из коробки» с помощью конфигурационных файлов и единых правил, то ответственность за загрузку и получение данных несет пользователь.

Читать далее

Git Worktree: Секретное оружие ML-инженера

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

Долгие ML-тренировки, срочные PR и боль от git checkout посреди эксперимента – знакомо?
git worktree позволяет держать несколько веток в разных директориях одновременно и не убивать запущенные процессы.
В статье – практический workflow для ML-инженеров: параллельные эксперименты, большие датасеты, изоляция окружений и интеграция с Cursor. Всё – с командами и реальными сценариями.

Читать далее

Объяснение, что такое классы в Python на примере 3D-игры. Пошагово с нуля

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

Объясняю, что такое классы простыми словами, на примере создания сфер в 3D мире Python Ursina. Есть такие понятия, как self и init.

Читать далее

Тестирование LLM-приложений с DeepEval

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

В этой статье я расскажу о способе написания тестов для LLM-приложений с использованием инструмента DeepEval. Рассмотрены базовые концепции данного инструмента, а также приведен пример его использования на реальном приложении c RAG. Будет теория и много примеров на Python.

🔥 Начинаем 🔥

Создаем свой проектный фреймворк автотестирования API [Часть 1/3]

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

Автоматизированное тестирование API часто начинается с простых решений в виде коллекций Postman или скриптов на коленке. Такой подход работает на старте, но быстро исчерпывает себя.

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

Статья поделена на три части.

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

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

Читать далее