Все потоки
Поиск
Написать публикацию
Обновить
458.96

Python *

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

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

Как подружить MISP и Python? Мой опыт

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

Привет, хабровчане! С вами снова Иван — разработчик, который пишет на Python, и хаброписатель, который пишет для блога МТС.

Если вы работаете в сфере кибербезопасности или интересуетесь ей, то, скорее всего, знаете о существовании индикаторов компрометации. «Да, они есть, и что дальше?» — скажете вы. Ответ: их нужно где-то хранить. Для этой задачи есть различные платформы, одни платные, другие — нет. Сегодня мы сфокусируемся на MISP — у этого продукта множество фанатов, и их можно понять. Но вручную вносить все индикаторы скучно, не так ли? Поэтому мы добавим нотку автоматизации, и тут нам поможет Python. Как именно, узнаете дальше.

Читать далее

Самый быстрый способ читать Excel в Python

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

Команда Python for Devs подготовила перевод статьи о том, как читать Excel в Python быстрее всех. В статье результаты тестирования pandas, openpyxl, Tablib, DuckDB, LibreOffice и даже связки с Rust. Кто справился лучше всех и как за 4 секунды Python «проглотил» полмиллиона строк — читайте в статье.

Читать далее

Рынок труда тестировщиков-автоматизаторов в России (2025)

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

Спрос на QA-специалистов в России продолжает расти, однако конкуренция в этой нише очень высокая. Так, по данным Computerra, в числе наиболее востребованных ИТ-специалистов в 2025 году оказались именно тестировщики и специалисты по написанию автотестов. При этом работодатели всё чаще требуют от тестировщиков навыков уровня начинающего разработчика: знания бэкенда, фронтенда, работы с БД и умения писать скрипты для автотестов. В этой статье мы подробно рассмотрим актуальные языки программирования, фреймворки и инструменты в автоматизации тестирования, требования работодателей, типичные этапы собеседований, а также рекомендации по подготовке.

Читать далее

Двойное дно: реализуем свой формат шифрования .CHA на Python и прячем его в стеганографии

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

Привет, Хабр! Когда речь заходит о защите конфиденциального файла, на ум приходят два пути: шифрование и стеганография. Первый делает файл нечитаемым для посторонних. Второй — делает сам факт существования файла незаметным. А что, если объединить эти два подхода, создав по-настоящему надежное "двойное дно" для ваших данных?

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

Читать далее

Отладка «Тетрисом»: Пошаговый гайд по созданию и сокрытию классической игры в вашем проекте

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

Привет, Хабр! У каждого разработчика в серьезном проекте наступает момент, когда хочется отвлечься и написать что-то для души. Что-то простое, классическое, но в то же время увлекательное. Часто такие "внутренние пет-проекты" становятся «пасхальными яйцами» — секретами для самых любопытных пользователей.

Сегодня мы расскажем, как и зачем мы спрятали в нашем приложении для стеганографии «ChameleonLab» классический «Тетрис». Это не просто история о «пасхалке», а пошаговый гайд с подробным разбором кода на Python и PyQt6, который покажет, что, несмотря на кажущуюся простоту, создание «Тетриса» — это интересная задача с множеством подводных камней.

Читать далее

40 млн GitHub-репозиториев: открытый датасет метаданных для анализа и обучения

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

Я собрал датасет метаданных по ~40 млн публичных репозиториев GitHub. Внутри — звёзды, форки, лицензии, язык, описание, размер, дата создания и др. Схема по смыслу максимально совместима с GH Archive/GitHub API. Лицензия — MIT. Ниже — как скачать, что внутри и идеи использования.

Датасет: ibragim-bad/github-repos-metadata-40M

Читать далее

Храним секреты правильно: от .env файлов к Vault и Doppler. Практическое руководство

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

Привет, Хабр! Все мы знаем золотое правило: никогда не хранить секреты в коде. Но на практике часто оказывается, что за этим строгим запретом скрывается лишь папка с .env-файлами на сервере, доступ к которой есть у половины команды. А потом случаются утечки, скомпрометированные API-ключи и паника.

Хранение секретов — это не про запреты, а про инструменты и процессы. В этой статье мы разберемся, как организовать управление секретами на профессиональном уровне, и посмотрим на два подхода: мощный самодостаточный HashiCorp Vault и элегантный developer-friendly Doppler.

Читать далее

Прятки в пикселях: вскрываем стеганографию с помощью статистики и Python

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

Привет, Хабр! В наших прошлых статьях мы рассмотрели общие принципы работы стеганографии и создали многофункциональное приложение «ChameleonLab» для сокрытия данных. Но как насчет обратной задачи? Как понять, что в безобидной на вид картинке спрятано тайное послание?

Читать далее

Клик без промаха: комбинированный подход в автоматизации Windows-приложений на примере UWP

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

Привет, Хабр! Меня зовут Иван Калашников, я занимаюсь автотестированием в Инфовотч.

В мире web и тонких клиентов по-прежнему приходится тестировать классические приложения: Office apps, Explorer, Telegram, WhatsApp. Сегодня для примера мы возьмем WhatsApp.

Погрузившись в автоматизацию ручных кликов в приложениях Windows с помощью Python, я попробовал несколько известных библиотек, каждая из которых поодиночке оставляла ощущение «чего-то не хватает». PyAutoGUI не видит скрытые элементы, плохо находит элементы с экранами разного масштаба и разрешения, а pywinauto требует разбирать дерево элементов UIA (Microsoft UI Automation), которого может попросту не быть.

В этой статье разберём, как объединение этих инструментов позволяет обойти ограничения каждого и надёжно автоматизировать windows-приложения. Комбинация UI-ориентированных (pywinauto, Win32/UIA) и image-based (PyAutoGUI) техник остаётся самым гибким способом тестировать Windows-приложения. Но чтобы смесь действительно работала, нужны: сравнение бэкендов, явные ожидания, DPI-awareness.

Мы пройдем через ряд мини-кейсов — от кликов, поиска, отправки сообщения, до чтения текста с экрана и выясним, как справляется связка Python-библиотек.

Читать далее

Быстрый Django: всё, что нужно знать о производительности

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

Команда Python for Devs подготовила перевод статьи о том, как сделать Django-сайты быстрее. Автор разбирает два пути — «делать больше» (масштабирование инфраструктуры) и «делать меньше» (уменьшение задержек через оптимизацию кода и запросов). В статье — практические примеры, баг N+1, кэширование и инструменты вроде Django Debug Toolbar, Locust и APM.

Читать далее

RabbitMQ как инструмент «деградации с честью»

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

Как построить микросервисы на RabbitMQ так, чтобы система не падала каскадом, а деградировала предсказуемо: outbox, mandatory, AE, идемпотентность, DLQ, приоритеты и реальные грабли из продакшена

Читать далее

Три уровня отслеживания в Яндекс Метрике: Level 3 — Measurement Protocol и виртуальные визиты

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

Приветствую, Хабр! В прошлых двух статьях я рассмотрел варианты кастомизации Целей Яндекс Метрики, когда мы начинаем собирать не просто факт отправки, например, формы, но и смысл а еще и возможность досылать срабатывания целей произошедшие уже офлайн. В сумме это уже поможет улучшить точность вашей рекламы в том же Директе на +60-65%. А что нам дате точность? Чаще всего снижение CPC и CPA/ Сегодня же расскажу о, так называемом GOD Mode Метрики, когда любой чих можно превратить в нужное нам событие и отправить его в Метрику, к тому же оно еще и не потеряется, как офлайн-конверсия.

Читать далее

Как НЕ нужно писать автотесты на Python

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

Разбираем самые странные антипаттерны в автотестах на Python: от sleep(0.1) и стрелочек вниз до глобальных курсоров и "фреймворков" на 3500 строк. Почему так делать не стоит и какие есть взрослые альтернативы.

Читать далее

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

Случаи из разработки на асинхронных фреймворках в Python. Часть 1. FastAPI

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

Асинхронность в Python кажется простой — добавил async/await, и всё летает. Но на практике синхронные вызовы внутри асинхронного кода превращаются в «бутылочное горлышко», блокируя event loop и приводя к непредсказуемым последствиям: от подвисших запросов до деградации производительности. Как разбираться в таком случае и почему важно знать особенности фреймворков в подкате...

Читать далее

Как локально и бесплатно распознать текст лекции или совещания и делать это регулярно

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

В новостях всё чаще говорят об «ИИ‑диктофонах» — гаджетах, которые записывают каждый ваш разговор в течение дня, отправляют аудио в облако, превращают его в текст и даже готовят краткую сводку по итогам. Звучит футуристично, но такие решения стоят дорого, требуют постоянной подписки и вызывают вопросы о приватности.

Лично мне идея тотальной записи кажется избыточной. Зато куда практичнее другая задача: получить точную текстовую расшифровку лекции, доклада или публичного выступления. Чтобы потом не переслушивать часы аудио, а быстро найти нужную цитату или мысль простым поиском по тексту.

В этой статье я покажу, как построить такую систему без платных подписок и полностью под вашим контролем. Всё, что нужно — обычный диктофон за 1–3 тыс. рублей или даже просто приложение на телефоне — тогда затраты вообще равны нулю, и набор бесплатных, открытых программ, которые работают на вашем компьютере. Я купил диктофон для теста и поделюсь результатами.

Сердцем решения станет OpenAI Whisper — мощная технология распознавания речи от создателей ChatGPT. Главное её преимущество — она может работать полностью автономно на вашем ПК, не отправляя никуда ваши данные. К тому же Whisper распространяется как open‑source: исходный код и модели доступны бесплатно — вы можете скачать, использовать и при необходимости даже модифицировать.

Мои скрипты выложены на GitHub.

Кто что сказал

Обзор UDTF в PySpark

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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