Сборник IT новостей про Python. Самые актуальные новости про Python на одной странице.Читайте нас через Telegram @py_digest, RSS
Попробуйте наш тренажер IT инцидентов https://app.incidenta.tech. Вы научитесь диагностировать самые популярные сбои в IT.
Чистим аудиокниги от шума нейросетями
Фоновая музыка, гул, шипение — классические фильтры с этим не справляются. Нейросети справляются, но падают на длинных файлах. Решение: чанкование + сохранение прогресса. Делюсь инструментом.
Работа с несбалансированными данными: SMOTE мёртв, что работает
Бывали у вас датасеты, где класс «1» встречается в 100 раз реже класса «0»? У меня — постоянно. Модель радуется высокой точности, а на деле совершенно промахивается по редкому классу. Давайте обсудим, почему старый добрый SMOTE уже не торт, и что помогает в таких случаях.
Я на выходных люблю поиграть в днд. А так как мастеров не так уж и много, а тех, кто хочет ими быть, ещё меньше, то мне регулярно приходится садиться за ширму. Ну а какой мастер не хочет водить по своему собственному миру? Вот так вот мне и понадобилась карта. А точнее, много карт, чтобы выбрать подходящую.
Nothing to Declare: From NaN to None via null
Explore the key differences between NaN, null, and None in numerical data handling using Python. While all signal “no meaningful value,” they behave differently. Learn about the difference and how to correctly handle the data using Pydantic models and JSON serialization.
Asyncio Is Neither Fast Nor Slow
There are many misconceptions on asyncio, as such there are many misleading benchmarks out there. This article looks at how to analyse a benchmark result and to come up with more relevant conclusions.
Как я создал свой сканер и пришёл к выплатам на багбаунти
Сегодня хочу поделиться историей о том, как желание автоматизировать рутинную работу привело меня к созданию собственного инструмента FullMute и, как следствие, к первым серьезным выплатам на платформах bug bounty.Как многие начинающие исследователи, я начал с хаотичного ручного поиска уязвимостей: проверял заголовки, искал известные пути к админкам, пытался угадать версии CMS. Это было неэффективно, медленно и сильно зависело от везения. Мне нужен был «компас», который бы проводил первоначальную разведку за меня и давал четкие цели для атаки. Так родилась идея FullMute.
Cложные запросы через паттерн Repository. Large Repository
После негодования по поводу реализации паттерна Repository в обучающих материалах, а именно скудность функционала, я решил, что нужно расширяться и это привело к тому, что появился ORM Query Builder, о котором подробно расскажет вам эта статья.
Разбор threading vs multiprocessing vs asyncio в Python
threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.
Django ORM: как QuerySet ленится, цепляется и генерирует SQL
Django ORM прячет SQL за красивым Python-интерфейсом. Пишешь User.objects.filter(active=True).order_by('name')[:10] — получаешь список пользователей. Круто. Но когда запросы тормозят или N+1 пожирает базу, приходится понимать, что вообще происходит.Разберём внутренности QuerySet: почему он ленивый, как работает chaining, когда запрос реально выполняется, и чем select_related отличается от prefetch_related на уровне SQL.
Параллелизация pytest: от xdist до Kubernetes
Тесты — это хорошо. Медленные тесты — это CI на 40 минут и разработчики, которые забывают их запускать локально. Разберём, как ускорить pytest от простого -n auto до распределённого запуска в Kubernetes.
Как использовать API поисковых подсказок Google
Google Autocomplete (Google Suggest) — механизм автодополнения поисковых запросов, который отображает подсказки в реальном времени. Несмотря на отсутствие официальной документации, его поведение достаточно стабильно и широко используется в SEO, анализе поискового интента и сборе семантики.
Линейная регрессия, встряска рейтинга и первое место. Часть 1: Ёлочка, живи
Сказ о том, как после долгого перерыва я "взял в руки шашки" (поучаствовал в ML-соревновании) и дотащил задачу на "таблички" до первого места на финальном "приватном" лидерборде с помощью простейшей подготовки фич и классической линейной регрессии с регуляризацией, внезапно обогнав при этом всех модных катбустеров, банально переобучившихся на "паблике".
Генетический алгоритм как инструмент инженера: практический кейс раскроя полотен
Генетический алгоритм как инструмент инженера: практический кейс раскроя полотенГенетический алгоритм — это «умный» инструмент для автоматизации раскроя материалов (металл, ткань, пластик). Вместо ручного подбора или полного перебора он по принципам естественного отбора ищет компактное размещение деталей, минимизируя отходы. В статье показан практический кейс на Python: как без сложной математики создать алгоритм, который экономит материал, время. Этот подход можно адаптировать под ваши производственные задачи.
Улучшаем Backend-разработку в Cline на примерах
Сейчас я расскажу, как использую агенты, чтобы упростить себе backend-разработку и не тратить на рефакторинг больше, чем на написание кода.Какие задачи идеально подходят для оптимизации с помощью ИИ, а какие не стоит отдавать агенту.
На работе одним из постоянных и важных процессов является проверка чеков на подлинность. Их поток достаточно большой (порядка нескольких сотен каждый день) и при этом каждый документ разбирается вручную - это может занимать до нескольких минут на один файл. На дистанции получается достаточно много. К тому же ручная проверка это медленно, дорого, и зачастую с ошибками из-за усталости аналитиков.
Работа с нестабильными тестами в Allure 3
Вооружившись лучшими практиками, нестабильность можно свести к минимуму, но полностью избавиться от неё крайне трудно. Чтобы лучше её контролировать, нужны инструменты, позволяющие выявлять нестабильные тесты — например, Allure Report. В этом руководстве мы посмотрим, как Allure работает с нестабильными тестами
Рассматриваю метод интерпретации модели на временных рядах, который работает как инструмент дебага с интервенционным протоколом, а не как банальная визуализация. Метод строит карту вклада входных сигналов в координатах время × масштаб × признак, и я проверяю ее через два фальсифицируемых теста. Цель — не проиллюстрировать веса конкретной предобученной нейросети, а деанонимизировать поведение модели: прямо и доказуемо увидеть внутреннюю стратегию чтения сигнала.