Обновить
488.93

Python *

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

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

Обзор UDTF в PySpark

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров993

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

Сегодня разберём фичу из PySpark — UDTF. Если раньше мы писали UDF и UDAF, то UDTF — это про функцию, которая запускается в секции FROM запроса и возвращает как бы несколько строк для каждой входной записи. Звучит круто.

UDTFs пригодятся, когда на один входной объект нужно получить множество выходных строк. Простой пример: у нас есть строка текста и мы хотим разделить её на слова так, чтобы каждое слово вышло отдельной строкой. Со стандартным UDF такое не сделать (он возвращает одно значение, например конкатенацию или длину). Но UDTF может делать цикл yield внутри и выдавать сколько угодно строк. Итак, приступим к делу.

Читать далее

Учебник под микроскопом. Часть 1: из PDF в TXT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.7K

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

Читать далее

Мой личный экзамен: как я разработал MVP LLM-агента на Google ADK

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

В этой статье я делюсь личным опытом разработки MVP LLM-агента на базе Google ADK в образовательных сценариях. Рассказываю, как строил архитектуру от монолитного агента до модульной системы, с какими вызовами столкнулся (память, токены, оркестрация) и какие инженерные лайфхаки помогли справиться. Но главное — делюсь философией: почему работа с LLM похожа на экзамен, как меняется роль CTO и чему учат такие проекты. В финале — 10 уроков, которые я вынес из этого «AI-экзамена».

Читать далее

Честно про вайб-кодинг с нуля для гуманитария

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров13K

Статья для гуманитариев, решивших освоить вайб-кодинг с нуля. Автор, юрист без опыта программирования, делится 6-месячным опытом работы с Python, Excel и LLM. Рассказывает о трудностях, лайфхаках и результатах, предостерегая от иллюзий и вдохновляя на старт в IT.

Читать далее

Эволюция ForeignKey в Django: от наивной модели до продакшена

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

Команда Python for Devs подготовила перевод статьи о том, как легко «сломать» внешние ключи в Django и что с этим делать. Если кратко, то unique_together больше не нужен, индексы на ForeignKey работают не так, как вы думаете, миграции могут блокировать продакшен, а правильный порядок операций и частичные индексы экономят гигабайты и спасают нервы.

Читать далее

Чистим строку от лишних/повторяющихся пробелов (и пробельных символов) в строковых значениях компактно. RegExp

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.8K

Хочу поделиться компактной функцией для очищения лишних, повторяющихся пробелов и пробельных символов в строках. Не считайте это призывом, но если можно привести строковые данные в красивый вид без лишних хлопот, то почему бы и не воспользоваться. Те, кто не знаком с регулярными выражениями (regular expressions, RegExp, regex), может приоткроет форточку в этот славный и замороченный мир (Регулярные выражения (regexp) — основы)

Читать далее

Парсинг Телеграм каналов, групп и чатов с обработкой в LLM

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

Всем привет! Вероятно, у каждого бывало: открываешь Телеграм-чат, а там тысячи новых сообщений за день. И где-то внутри этой «солянки» важный ответ на твой вопрос или обсуждение нужной темы. Или вам нужно отслеживать определённые сообщения для бизнес-целей.

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

Читать далее

Цифровые призраки: Полное руководство по поиску скрытых данных и история создания нашего «детектора лжи»

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

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

Читать далее

Arch Linux на ZFS для людей: новый TUI-установщик archinstall_zfs

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

Установка Arch Linux на ZFS всегда была не очень тривиальным делом: нужно знать много тонкостей, прочитать кучу статей и различные вики, разобраться с флагами создания датасетов и пула, с конфигурацией initramfs и с тем, какие systemd сервисы стоит включать, с параметрами командной строки ядра и правильными конфигами. Если ставить вручную, то установка занимает целый вечер, с вдумчивым раскуриванием мануалов перед черной консолью.

А можно ли проще?

Athenix — мониторинг котировок с глубоким анализом объёмов и прогнозами от ИИ

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

Проект Athenix — это уникальная система мониторинга котировок с глубоким анализом объёмов торгов и прогнозами на основе искусственного интеллекта. Если вы интересуетесь финансовыми рынками, трейдингом и современными технологиями, эта статья для вас.

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

Проект предлагает практичный подход к сложностям анализа рынка — концентрируется на главном, снимая с трейдера необходимость обрабатывать сотни показателей вручную. Будут подробно рассмотрены методы обработки объёмных данных, шумоподавление с вейвлет-преобразованиями, бинарное прогнозирование и использование LSTM-нейросетей.

Эта статья будет полезна тем, кто хочет понять, как современные технологии и алгоритмы могут помочь в эффективной среднесрочной и долгосрочной торговле. Погрузитесь в мир финансового анализа будущего с Athenix!

Читать далее

Обработка результатов моделирования Fire Dynamics Simulator на Python (часть 1)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров863

Здравствуйте меня зовут Роман, я занимаюсь обеспечение пожарной безопасности в зданиях и сооружениях более 15 лет, основной профиль моей деятельности - это моделирование развития пожара.

В основном моделирование развития пожара провожу в специализированном программном обеспечении Fire Dynamics Simulator (FDS), оно используется от Японии до США при обосновании отступлений требований пожарной безопасности. При моделировании развития пожара очень много времени занимает обработка результатов моделирования. В цикле статей я хочу поделиться способами обработки данных, которые использую при работе.
 
Статья ориентирована на специалистов, которые уже используют FDS в своей работе. Подробности моделирования развития пожара в FDS в данной статьи не будут рассматриваться.

Читать далее

Паттерны проектирования в Python, о которых следует забыть. Часть вторая

Время на прочтение9 мин
Количество просмотров8.7K

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

Назначение этого паттерна: та проблема, для решения которой он предназначен Реализация: точная структура класса или код для воплощения этого паттерна

Рассказывая о «паттернах проектирования в Python, о которых следует забыть», мы имеем в виду как раз реализации. В самом деле, эти паттерны решают реальные задачи. Но в Python решение этих задач ничуть не напоминает те варианты, которые предлагаются на C++ или Java.

Держа в уме эту идею, делаем простой вывод:

Мишка учится лазать по деревьям, чтобы добраться до мёда. Но орлы никуда не лазают, они летают.

Читать далее

Ожившие фото: Создаем приватный стеганографический аудиоплеер на Python и PyQt6

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

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

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

Это не магия, а стеганография. Сегодня я расскажу о проекте ChameleonLab, а точнее — о его уникальной функции: стеганографическом имидж-плеере. Это десктопное приложение, которое позволяет не только прятать аудиофайлы внутри изображений, но и проигрывать их, как в обычном плеере, создавая новый способ для приватного и творческого обмена информацией. Проект уже имеет готовые сборки для Windows и macOS.

Читать далее

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

Обучающий проект на одноплатнике — изучение embedded-программирования. Проект первый — простая метеостанция

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров5.9K

Если Вы хотите начать свой Путь в изучении Мира автоматики и телеметрии, начать практиковать Embedded-разработку, т.е. разрабатывать встраиваемые программно-аппаратные решения и собственные системы управления и сбора данных или же если Вы в этом дока и хотите найти готовое решение и материал для занятия со своими детьми, то эта статья для Вас. А ещё если Вы искали прикольные практические проекты с которыми хотели бы начать работать с одноплатными компьютерами даже просто как повод для изучения Linux, то этот материал так же Вам подходит.

Связка одноплатного компьютера с различными устройствами в виде датчиков и исполнительных механизмов является отличным образовательным инструментом, позволяющим изучать работу с датчиками, интерфейсами и осваивать программирование. А работа с одноплатными компьютерами открывает огромный интересный Мир embedded-программирования и вообще разработки, в т.ч. работы с Linux, создания собственных проектов автоматизации и систем сбора данных и погружения в IT отрасль.

Читать далее

Топологический аудит ECDSA: Практическая реализация с минимальными входными данными

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

Топологический аудит ECDSA: как найти уязвимости с одной подписью

Традиционный анализ безопасности ECDSA требует сотен подписей для выявления уязвимостей. Но что делать, когда у вас есть только одна подпись из блокчейна?

Мы разработали AuditCore — систему топологического аудита, которая анализирует безопасность ECDSA, используя лишь публичный ключ и одну реальную подпись. Система автоматически генерирует необходимое количество валидных подписей и проводит глубокий анализ пространства (u_r, u_z) как топологического тора.

Ключевые возможности:

Определение уязвимостей по топологическим инвариантам (числам Бетти)

Расчет TVI Score — количественной метрики уязвимости

Автоматическое обнаружение паттернов: фиксированный k, линейные зависимости, кластеры

Генерация необходимого количества данных для статистически значимого анализа

Система состоит из нескольких специализированных модулей:

TopologicalAnalyzer для вычисления персистентных гомологий

BettiAnalyzer для интерпретации топологических показателей

CollisionEngine для поиска коллизий

SignatureGenerator для создания валидных подписей

TCON для оценки соответствия топологии тора

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

Полная реализация доступна на GitHub: https://github.com/miroaleksej/AuditCore/tree/main/Scripts

Читать далее

Библиотека OutboxML от Страхового Дома ВСК

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

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

Меня зовут Семён Семёнов, я руковожу Data Science и Machine Learning в Страховом Доме ВСК. В этой статье расскажу, как мы создали систему автоматического обучения и развёртывания моделей машинного обучения с открытым исходным кодом.

Первый вопрос, который может задать себе читатель, знакомый с темой современного машинного обучения:
«Почему бы не взять одну из десятков (если не сотен) открытых AutoML-библиотек?»

Ответ прост: мы не стремились создать ещё один «стандартный» проект AutoML. Наша цель — сфокусироваться на вещах, которые редко встречаются в готовых решениях:

Читать далее

Тихий герой воскресного утра: как bash-скрипт спас нас от OOM Killer

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

Привет, Хабр! Статья не входила в планы, пишу с чувством лёгкой сюрреалистичности. В воскресенье утром наш основной API-гейтвей пережил маленькую апокалиптическую битву с памятью и выиграл без моего участия. Делюсь с Вами, как небольшой скрипт, на который я не полагал абсолютно никаких надежд, отработал аварию.

Читать далее

Делаем аутентификацию без push и SMS: звонок с диктовкой кода роботом

Время на прочтение7 мин
Количество просмотров3.3K

Привет, Хабр! Я Катя Саяпина, менеджер продукта МТС Exolve. Сегодня расскажу, как сделать двухфакторную аутентификацию через звонок с применением технологии text-to-speech. Работает просто — пользователь получает код, продиктованный роботом во время голосового вызова. ​​Этот альтернативный SMS и push-уведомлениям способ доставки кода, при этом относительно простой в реализации, дешевле SMS и работает без интернета.

Я покажу, как это работает, на конкретном кейсе.

Читать далее

Состояние Python в 2025 году

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

Команда Python for Devs подготовила перевод статьи, основанной на 30 000 ответов разработчиков. TL;DR: 50% разработчиков пишут на Python меньше двух лет, Rust тихо становится «вторым пилотом», FastAPI вырывается вперёд, а агентный AI уже меняет то, как мы пишем код.

Читать далее

Определение положения объектов на изображении: как найти пространственные координаты объекта, используя OpenCV

Время на прочтение26 мин
Количество просмотров8.8K

Как найти 3D координаты объектов на изображении?

Статья о задаче пространственной локализации объектов на изображении с одной камеры и о её решении с помощью OpenCV

Читать далее

Вклад авторов