Python — тестирование с помощью pytest(ч.1)

Я знаю, что разработчики по-разному относятся к тестированию программного обеспечения. Вот некоторые примеры подхода к тестам, которые встречались мне за время работы:

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

Я знаю, что разработчики по-разному относятся к тестированию программного обеспечения. Вот некоторые примеры подхода к тестам, которые встречались мне за время работы:

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

Личные финансы: важная тема в области финансовой грамотности. Хорошо бы понимать, сколько приходит, сколько уходит, откуда и куда, чтобы планировать долгосрочные финансовые цели. Для этого можно использовать базовую аналитику банка, приложения для учета финансов, но у них есть минусы.
Но если вы знаете python и хотя бы раз сталкивались с pandas, для вас финансовая аналитика может показаться куда более интересной.

Всем привет! На связи команда AI-Run из X5 Tech, мы занимаемся генеративными сетями в целом и языковыми моделями в частности. В этой статье мы опишем наш опыт работы с большими языковыми моделями (LLM), их внедрение для обработки корпоративных данных, а также поделимся нашими результатами и выводами.
Ещё мы расскажем о нашем подходе к использованию LLM, подробно остановимся на методе Retrieval Augmented Generation (RAG) и рассмотрим примеры использования чат-ботов на корпоративных порталах X5.
Эта статья будет полезна разработчикам, которые интересуются внедрением LLM для работы с корпоративными данными. Она основана на нашем выступлении на митапе, но не ограничивается им, а, скорее, дополняет его.

Атрибуция — определение авторства — имеет много применений как в науке, так и в приземленных задачах, например, в судебной практике. Ниже мы будем говорить о текстовой атрибуции, и иногда от того, кто автор текста, зависит судьба крупной суммы денег, иногда — карьера или свобода человека, а иногда людям просто интересно, кто же написал то или иное произведение. Так, с точки зрения науки о литературе, строго говоря, всё равно, является автором «Тихого Дона» Михаил Шолохов или Фёдор Крюков, но общественность этот вопрос волновать не перестанет, наверное, уже никогда.
Атрибуция может выглядеть по-разному. Надежнее всего такая, которая основана на документах. Если бухгалтерия в своей строгой отчетности зафиксировала выплату денег за определенный текст некоторому лицу, очень высока вероятность, что получатель денег и есть автор этого текста. Вероятность этого выше, чем при любом другом способе выяснить, кто автор.
Но у нас не всегда есть надежные документы. И даже чаще их нет. Тогда единственным способом докопаться до истины будет сам текст, и люди верят, что, опираясь только на содержащиеся в нем косвенные свидетельства, можно установить, кто его написал. Хотя вообще-то это не более чем самонадеянная гипотеза, но мифы эпохи модерна слишком сильны.

Друзья, рад представить вам свою новую статью, посвященную Playwright — мощному инструменту для автоматизации браузера и тестирования. Этот фреймворк уже превзошел Selenium по многим параметрам и продолжает набирать популярность. В статье я подробно рассказываю о его преимуществах и особенностях.
Материал станет первой частью нового цикла. Если тема вам интересна, с удовольствием продолжу делиться своими знаниями о Playwright.

Привет, Хабр!
Sumy — это инструмент для автоматического обобщения текстов на Python. В основе работы лежит задача резюмирования текста, которая позволяет получать краткие и четкие версии больших объемов информации.
Если вы работаете в крупном дата-центре и ваша задача заключается в поддержке межсетевых экранов (Cisco ASA), то вы наверняка сталкивались с огромным количеством строк в их конфигурациях. Эти конфигурации могут включать тысячи объектов и правил доступа (Access Lists).
Для выполнения задач аудита вам иногда нужно найти все правила доступа для определённого сервера, например, с IP-адресом A.B.C.D. В других случаях требуется добавить новое правило доступа, но перед этим необходимо убедиться, что уже существует аналогичное правило. Например, если существует группа клиентов, подключающихся к какому-то серверу, вам нужно найти соответствующее правило и добавить нового клиента в эту группу.
Для решения таких задач существуют коммерческие продукты, такие как Algosec, Tufin и др. Однако несколько Python-скриптов могут выполнить эти задачи не менее эффективно. Далее я покажу примеры таких программ на Python.
Напомню, что Python предустановлен в любой версии Linux и доступен бесплатно.
Я разделил процесс на несколько простых шагов:
Привет, Хаброжители!
Обучение школьников программированию — это популярный тренд в сфере дополнительного образования детей. Однако нередко юные айтишники и их родители не могут решить, с какого языка стоит начать ребенку без опыта в разработке.
Сделали обзор и спросили экспертов, какой язык выбрать для первых шагов в IT: мнения разделились.

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

В статье рассматривается выбор оптимального шага при рекурсивном отборе признаков (RFE). Предлагаются три подхода: фиксированный шаг, динамический шаг, зависящий от количества признаков, и динамический шаг, основанный на значимости признаков. На основе как искусственно сгенерированных, так и реальных наборов данных проводится анализ эффективности каждого метода, выявляются их преимущества и недостатки. Также внимание уделяется недостаткам текущей реализации RFE в библиотеке Scikit-learn, и предлагаются пути их улучшения, а также креативные подходы к решению задач feature selection.

Доброго времени суток! Думаю, у всех, кто начинал свой путь в сферу веб-разработки, было желание захостить свою работу. В этот раз мы попробуем максимально быстро задеплоить сайт-одностраничник.
Эта статья создана для новичков, которые смогут просто скопировать код и в “два клика” опубликовать сайт.

Привет, Хабр!
Очень важно не только писать хороший код, но и использовать все возможности инфраструктуры на максимум. Именно с этой целью в этой статье рассмотрим, как правильно использовать инструменты кэширования внутри Kubernetes и как настроить CDN для максимума производительности Python-приложения.

Привет, Хабр. Вряд ли эта статья откроет Америку для прожженных разработчиков "парсеров" или тестировщиков, но должна помочь тем, кто работает с Selenium время от времени.
Если вы иногда занимаетесь автоматизированным сбором информации с веб-ресурсов (т.н. веб-скрапинг или парсинг), то однозначно сталкивались с проблемой, что некоторые ресурсы недоступны из некоторых регионов, по разным причинам. Сейчас этой проблемы стало даже чуточку больше. И для преодоления этого препятствия нам помогают прокси-серверы (промежуточные серверы). Однако, если в части библиотек для работы с запросами использование прокси является очевидным решением, идущим из коробки, то такой инструмент как Selenium очевидного встроенного решения или не имеет, или я не смог его обнаружить. Не смог его обнаружить я, в том числе, и на Хабре, поэтому решил это исправить.

В этой статье рассмотрим создание асинхронного приложения на Python с использованием библиотеки httpx для рассылки уведомлений пользователям о предстоящих событиях, на которые они зарегистрировались.

Основой семантического поиска может являться ML задача Sentence Similarity, а если быть еще конкретнее, то это Semantic Textual Similarity. Модели, обученные под эту задачу, способны оценивать насколько близки предложения по своему смыслу. Всё, что нам дальше остается, так это засунуть модель в некоторую поисковую систему...
В статье описывается работа в Python с криптопровайдерами, прежде всего российскими, через CryptoAPI. Особое внимание уделено получению штампа времени - рассмотрено взаимодействие между клиентом и Time-Stamp сервером и формирование запроса в соответствии с Time-Stamp протоколом.

Недавно, просматривая рекомендации на популярном сайте поиска работы по моему резюме «Senior Python Backend», я заметил, что система предлагает вакансии, весьма «далекие» от моей специализации. Это натолкнуло меня на размышления о том, как можно улучшить процесс подбора вакансий для IT‑специалистов. В результате я решил за два вечера, создать свою собственную рекомендательную систему, которая бы более точно учитывала специфику работы в сфере разработки программного обеспечения.

В данной статье представляю свое видение процесса автоматического формирования проверок на коллизии в Navisworks для проекта с большим количеством моделей. Метод основан на работе с xml файлами с помощью Python. Также предлагается шаблон Power BI для визуализации отчета по полученным проверкам.