IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Twitter

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Передача динамических объектов от setup к тестовой функции в py.test

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

 

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

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Бот-викторина для ВКонтакта

Месяца три назад мы с друзьями по сети «ВКонтакте» в общем чате (беседе) играли в угадайку — игру по мультфильму «Смешарики», который мы все любим. Правила: ведущий пишет цитаты персонажей мультика, игроки угадывают из какой серии эта цитата. Я решил сделать игру более интересной, и назначить на роль ведущего бота.

     18.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Почему здравый смысл важнее паттернов, а Active Record не так уж и плох

Так уж вышло, что разработчики, особенно молодые, любят паттерны, любят спорить о том, какой паттерн нужно применять здесь или там. Спорить до хрипоты: это фасад или прокси, а может даже синглтон. А если у вас не чистая, гексагональная архитектура, то некоторые разработчики готовы сжечь на костре Святой Инквизиции.

При этом они забывают, что паттерны — это лишь возможные решения. У паттернов, также как и у любых принципов, есть границы применимости, и важно их понимать. Дорога в ад вымощена слепым и религиозным следованием пусть даже и авторитетным словам.

А наличие во фреймворке нужных паттернов никак не гарантирует их правильного и осознанного применения.

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Как писать аккуратные конвейеры для машинного обучения

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

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Автоматизируем обработку изображений с помощью Jupyter и Python

Недавно мой ребёнок захотел сделать раскраску для персонажа из любимого мультфильма. Очевидным решением было использовать какой-нибудь графический редактор для Linux (потому что я линуксоид), но потом я вспомнил, что я ленивый человек.

К счастью, я знаком с Python и JupyterLab. Посмотрим, насколько Jupyter облегчит задачу.

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Распознавание мяча в волейболе с OpenCV и Tensorflow

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

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Конфуций и Маргарита

Соревнований по машинному обучению как и платформ, на которых они проводятся, существует немало и на любой вкус. Но не так часто темой контеста является человеческий язык и его обработка, еще реже такое соревнование связано с русским языком. Недавно я принимал участие в соревновании по машинному переводу с китайского на русский, прошедшего на платформе ML Boot Camp от Mail.ru. Не обладая большим опытом в соревновательном программировании, и проведя, благодаря карантину, все майские праздники дома, удалось занять первое место. Про это, а также про языки и подмену одной задачи другой я постараюсь рассказать в статье.

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

VKWave — фреймворк для разработки ботов ВКонтакте

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

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Первые шаги в визуализации данных с использованием Geopandas и OSM

У многих хоть раз возникала необходимость быстро нарисовать карту города или страны, нанеся на нее свои данные (точки, маршруты, тепловые карты и т.д.).
Как быстро решить такую задачу, откуда взять карту города или страны для отрисовки — в подробной инструкции под катом.

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

pyOpenRPA туториал. Управление WEB приложениями

Долгожданный туториал по управлению сторонними WEB приложениями с помощью pyOpenRPA. Во 2-й части мы разберем принципы роботизированного воздействия на HTML/JS. А также своими руками сделаем небольшого, но очень показательного робота.

Этот робот будет полезен тем, для кого актуальна тема покупки/продажи недвижимости.

     15.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Попытка определить язык манускрипта Войнича, Random Forest Classifier

Пытаемся определить язык таинственной рукописи — манускрипта Войнича — простыми методами обработки естественных языков на Python.

     14.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Визуализация статистики Яндекс Директ своими руками. От API до Data Studio

Мне, как специалисту по рекламе, требуется постоянно присматривать за клиентами. В этом мне помогает Data Studio.
Однако специалистам по рекламе редко выделяют бюджеты на аналитику, поэтому приходится делать все своими руками.

     14.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Калькулятор Wolframalpha в диалоге Telegram

В диалогах телеграма я очень часто использую телеграм бот: inlatexbot. Он позволяет вставлять Latex прямо в диалоге телеграма — это удобно: математическое обозначение можно отправить понятной картинкой.

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

     14.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Создание голосового ассистента на Python, часть 1

Наверное, все смотрели фильмы про железного человека и хотели себе голосового помощника, похожего на Джарвиса. В этом посте я расскажу, как сделать такого ассистента с нуля. Моя программа будет написана на python 3 в операционной системе windows. Итак, поехали!

     14.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

CLI приложение + Dependency Injector — руководство по применению dependency injection + Вопросы / ответы

Пошаговая инструкция по построению CLI приложения применяя принцип dependency injection. Это завершающее руководство этой серии. В качестве бонуса: ответы на часто задаваемые вопросы о dependency injection.

     13.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Обзор методов создания эмбедингов предложений, Часть2

Здравствуйте, продолжение статьи про методы создания эмбедингов предложений. В этом гайде мало слов и много кода, готово для Ctrl+с, Ctrl+v, улучшений и дальнейших тестов.

     13.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Обзор методов создания эмбедингов предложений, Часть 1

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

 

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

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

     12.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Видео

Moscow Python Podcast. Алгоритмы vs Профилировщик (level: All)

В гостях у Moscow Python Podcast разработчик в Яндекс.Диск и куратор курсов Learn Python Ася Воронцова. Поговорили о необходимости знаний алгоритмов разработчиком, когда они требуются и от том, почему в крупных компаниях на собеседовании могут спрашивать знание алгоритмов.

     12.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Выявляем признаки аудиомонтажа методами AI

Одной из задач фоноскопической экспертизы является установление подлинности и аутентичности аудио записи — другими словами, выявление признаков монтажа, искажения и изменения записи. У нас возникла задача её проведения в целях установления подлинности записей – определения того, что на записи не осуществлялось никаких воздействий. Но как провести анализ тысяч, и даже сотен тысяч аудиозаписей?