Обновить
1024K+

Python *

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

В мире 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-библиотек.

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Обзор UDTF в PySpark

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

Читать далее