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

Python *

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

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

Цифровой профиль в ВТБ: как графы и эмбеддинги помогают банку понимать клиентов

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

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

Читать далее

Хамелеон-стеганография. Часть 2: Прячем данные в документах OpenOffice (.odt, .ods, .odp)

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

В прошлой статье мы разбирались, как можно спрятать данные внутри файлов Microsoft Office, причем не только в текстовых документах (.docx), но и в таблицах (.xlsx) и презентациях (.pptx), используя стандартный механизм Custom XML Parts. Сегодня мы продолжим исследовать мир офисной стеганографии и обратим свой взор на открытый и популярный формат OpenDocument Format (ODF), на котором работают LibreOffice и Apache OpenOffice. Этот метод так же универсален и применим ко всей линейке форматов: .odt (текстовые документы), .ods (таблицы) и .odp (презентации).

Читать далее

Что с Python? Меньше производительности, никакого сахара и больше багов

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

Python продолжает меняться, но не всегда так, как ждёт сообщество. Новый синтаксический сахар отклоняют, прирост производительности оказывается скромнее обещанного, а очередные депрекации в setuptools ломают проекты. При этом экосистема получает долгожданный стандартный lock-файл и поддержку uv в Dependabot. В статье разбираем, что это значит на практике и почему начинающим Python-разработчикам важно следить за этими изменениями.

Читать далее

Python и множества: генераторы, которые делают код чище

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

Команда Python for Devs подготовила перевод статьи о генераторах множеств в Python. С их помощью можно создавать, преобразовывать и фильтровать множества одной строкой кода. Разбираем примеры, практические приёмы и ошибки, которых стоит избегать.

Читать далее

Создание Системы генерации ответов на истории тикетов поддержки (часть 1)

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

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

Меня зовут Анатолий, занимаюсь диалоговыми системами, автоматизацией бизнес-процессов, применением Искусственного Интеллекта в бизнесе.

Кейсовая задача - создать ассистента оператора службы поддержки, используя существующую историю тикетов.

Читать далее

Почему асинхронный Python не такой популярный?

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

Недавно на Youtube появилась документалка о Python. Примерно в середине ленты есть драматический эпизод о том, как переход от Python 2 к 3 разделил сообщество (спойлер: в конечном итоге этого не случилось).

Первые версии Python 3 (3.0-3.4) в основном делали упор на стабильность и упрощение перехода пользователей с версии 2.7. В 2015 была выпущена версия 3.5 с новой фичей: ключевыми словами async и await для выполнения корутин.

Миновало десять лет и девять релизов, через считанные недели выпустят финальную версию Python 3.14.

Пока все отвлеклись на фичи разноцветного REPL в 3.14, в release notes появились серьёзные заявления, связанные с конкурентностью и параллелизмом.

Читать далее

Napkin Random Bot: как мы создали бота для честных розыгрышей

Время на прочтение6 мин
Количество просмотров413

Всем привет!

Этим летом моему проекту «Код на салфетке» исполнилось два года. Отметить это событие я решил проведением розыгрыша среди подписчиков. Разыгрывались 10 книг по программированию, которые, надеюсь, оказались полезными победителям.

Но было бы скучно использовать готового Telegram-бота для этого (дело не только в скуке, но об этом дальше по тексту). Тогда я решил сделать своего бота для проведения розыгрышей — Napkin Random Bot.

О том, почему я решил его сделать и как всё прошло, расскажу в этой статье.

Если вам интересны подобные материалы, подписывайтесь на наш Telegram-канал «Код на салфетке» — будем рады новым подписчикам! Впереди ещё больше розыгрышей и активностей.

Читать далее

Мониторинг Celery. Pull-модель

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

В этой статье рассмотрим возможность получать метрики Celery непосредственно от самих воркеров, хитрости, на которые придётся пойти, чтобы решить эту задачу, и, самое главное, какие преимущества от этого можно получить по сравнению с классическим подходом к мониторингу Celery. Также продемонстрирую небольшой Django-проект и пример его конфигурации. Особое внимание будет уделено режиму мультипроцессинга и тому, как та или иная конфигурация запуска Celery будет влиять на сложность решения.

Читать далее

Самые популярные Python фреймворки и библиотеки 2025 года

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

Команда Python for Devs подготовила перевод статьи о самых популярных Python-фреймворках и библиотеках 2025 года. FastAPI уверенно догоняет Django и Flask, Requests и Asyncio остаются незаменимыми, а Streamlit и Starlette усиливают свои позиции в нишевых сценариях.

Читать далее

Сколько весит секрет? Считаем стеганографическую емкость контейнеров на Python

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

Привет, Хабр! При работе со стеганографией первый и самый важный вопрос, который возникает перед пользователем: «А мой файл вообще поместится в эту картинку?». Попытка спрятать 10-мегабайтный архив в иконку размером 64x64 пикселя обречена на провал. Именно поэтому оценка стеганографической емкости контейнера — это краеугольный камень любой операции по сокрытию данных.

Емкость — это не просто размер файла. Это сложное понятие, которое кардинально меняется в зависимости от формата контейнера (PNG, JPEG, DOCX) и метода сокрытия (LSB, DCT и др.).

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

Читать далее

Особенности Python, о которых вас точно спросят на техническом собеседовании

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

Python кажется простым и понятным — именно поэтому с него так классно начинать карьеру разработчика. Но за этой простотой скрываются тонкости, которые любят проверять на собеседованиях. И тут начинающий разработчик может неожиданно попасть впросак: вроде бы код работает, но поведение совсем не такое, как ожидалось.

Как автор курса «Python-разработчик» в Яндекс Практикуме, я часто разбираю подобные ситуации на своём YouTube-канале, где провожу открытые тестовые интервью с джунами. Всё, о чём я говорю, — это не абстрактные примеры, а реальные наблюдения и выводы, сделанные прямо в ходе этих собеседований. 

В статье я собрал самые интересные особенности Python, которые неоднократно встречались в подобных интервью и которые почти наверняка всплывут на вашем техническом собеседовании. Покажу, что именно спрашивают интервьюеры, и поясню, почему это важно. Если вы только готовитесь к первой работе или хотите подтянуть фундаментальные знания — продолжайте читать.

Читать далее

WhatsApp Web и Telegram коннектор для Bitrix24: наш опыт реализации и внедрения. Часть 1 — Интеграция Bitrix24

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

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

Работая в формате крупного IT-аутсорсинга, мы в компании столкнулись с проблемой: использование общего WhatsApp/Telegram Web, подключённого на компьютерах сотрудников поддержки, оказалось неэффективным. Такой подход не позволял контролировать качество диалогов, а также затруднял перевод обращений клиентов в структурированные тикеты, вследствие чего была начата разработка коннектора к нашему корпоративному порталу Bitrix24.

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

Читать далее

Как подружить 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 мин
Количество просмотров11K

Спрос на 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.1K

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

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

Читать далее

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

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

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

Читать далее

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