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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     10.05.2021       Выпуск 386 (10.05.2021 - 16.05.2021)       Статьи

«ФП на Python посредством Coconut!» |> print

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

     10.05.2021       Выпуск 386 (10.05.2021 - 16.05.2021)       Статьи

Pythonnet. Как запустить C# код из Python

На сегодняшний день Python является одним из самых популярных языков программирования, но даже это не помогает ему покрыть все потребности программистов. Самый очевидный минус чистого CPython - это его скорость, поэтому некоторые программисты выбирают для своих задач другие языки программирования, а кто-то просто реализует узкие места на C/C++ и подключает их к Python.

Однако бывают случаи, когда есть некая база кода, написанного на C#, а возможности быстро переписать всё на Python/C/C++ нет. Тогда встает вопрос “как подключить C# к Python?”. Для этого была разработана библиотека pythonnet. В этой статье разберем: как запустить C# код из Python и что из этого может получиться.

     09.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Аналог фейсбучной ленты для Телеграма. Тупенький ИИ OLEG

Этот пост — о том, как я решил сделать систему коллаборативной фильтрации постов из пабликов Телеграма на основе машинного обучения.

     08.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Storytelling R отчет против BI, прагматичный подход

Когда говорят про отчеты к данным (неважно, какая тема) все хотят гибкие дашборды, МНОГО дашбордов, играют конкурсы про BI, выдумывают разные сложные требования и кейсы, отсматривают массу вендоров и решений, разбиваются на непримиримые лагеря и на 100% уверены, что это то, без чего жизнь на работе тяжела, уныла и печальна.

 

Так ли это? По описанию очень сомнительно (похоже на серебряную пулю), а практика дает подтверждение «отнюдь не так».

     06.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Py4J – мост между Python и Java

Название Py4J можно встретить разве что в списке библиотек, используемых PySpark, но не стоит недооценивать данный инструмент, который обеспечивает совместную работу Python и Java. В этой статье будет кратко описана работа Py4J, рассмотрен пример использования и перечислены сильные и слабые стороны библиотеки. В конце будут описаны альтернативные способы связи Java и Python.

     06.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Нейродайджест: главное из области машинного обучения за апрель 2021

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

     05.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

[Перевод] Моржовый оператор в Python

Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения вычислений.

Давайте посмотрим на моржовый оператор и приведем примеры того, где он может быть полезен.

     05.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel

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

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

     05.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Как получить доступ из одного докер-контейнера в другой докер-контейнер

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

  • Создадим образ Docker используя простой веб-сервис с использованием Python и Flask.

  • Запустим два отдельных контейнера

  • Создадим сеть в Docker

  • Объединим контейнеры используя созданную сеть

     05.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Структурированное сопоставление с шаблонами в Python 3.10

Версия Python 3.10, работа над которой началась 25 мая 2020 года, запланирована к выпуску  4 октября 2021 года и будет содержать ряд интересных нововведений. Одним из многообещающих нововведений будет структурированное сопоставление с шаблонами (structured pattern matching). Для этого будет введена специальная инструкция сопоставления с шаблонами match. Функциональность сопоставления с шаблонами несомненно вызовет интерес, в особенности у программистов ФП, где она играет важную роль. Остальные новинки новой версии языка описаны здесь.

     04.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

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

Сегодня, в 2021 году, мы видим, что инструменты, платформы и сервисы для интеллектуальной обработки данных и машинного обучения всё чаще внедряются почти во всех отраслях: здравоохранение, финансы, производство, розничная торговля, развлечения, транспорт…

     04.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Звездные войны или подробный гайд по dplyr

Сегодня, 4 мая, в день Звездных войн мы подготовили для Вас подробный гайд по основным функциям библиотеки dplyr. Почему именно в день Звездных войн? А потому что разбирать мы все будем на примере датасета starwars.

     04.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Как я уместил систему управления товарами на сайте Presta Shop в пяти кнопках

Я работаю в обычном велосипедном магазине в центре Варшавы. Торгуем как стационарно, так и в интернете. Среднее количество купленных велосипедов за день ~2 на весь год. При этом пик продаж приходится на лето и тогда в день можем иметь по ~17 интернет-заказов и столько же в магазине, а зимой не продавать вообще ничего.

В 2020г. в связи с пандемией COVID, спрос на велосипеды вырос до невероятных показателей, а мы, как порядочная контора, начали расширение.

     04.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Простой Telegram-бот для получения информации через MQTT

Этот бот был разработан для просмотра информации, находящейся на mqtt сервере внутри локальной сети. Он может работать на одном компьютере с mqtt сервером (в том числе на Raspberry PI или подобном) или отдельно. Задача удалённого управления не ставилась, только предоставление доступа к данным.

     03.05.2021       Выпуск 385 (03.05.2021 - 09.05.2021)       Статьи

Программирование беспроводных модулей на MicroPython с Thonny

Я неоднократно разрабатывал проекты на MicroPython для различных embedded-решений, включая парочку ESP32 WiFi модулей. Для таких проектов есть несколько инструментов:

     01.05.2021       Выпуск 384 (26.04.2021 - 02.05.2021)       Статьи

Первые шаги в BI-аналитике. Роль Data Engineering

Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, например, бюджетирование) по сбору, обработке и анализу данных, представляющая конечные результаты в виде графиков, диаграмм, таблиц. Это требует слаженной работы сразу нескольких специалистов. Дата-инженер отвечает за хранилища и ETL/ELT-процессы, аналитик данных помогает в заполнении базы данных, аналитик BI разрабатывает управленческие панели, бизнес-аналитик упрощает коммуникации с заказчиками отчетов. Но такой вариант возможен, только если фирма готова оплачивать работу команды. В большинстве случаев небольшие компании для минимизации затрат делают ставку на одного человека, который зачастую вообще не обладает широким кругозором в области BI, а имеет лишь шапочное знакомство с платформой для отчетов. В таком случае происходит следующее: сбор, обработка и анализ данных происходит силами единственного инструмента – самой BI-платформой. При этом данные предварительно никак не очищаются, не проходят компоновки.  Забор информации идет из первичных источников без участия промежуточного хранилища. Результаты такого подхода можно легко лицезреть на тематических форумах. Если постараться обобщить все вопросы касательно BI-инструментов, то в топ-3 попадут, наверное, следующие: как загрузить в систему плохо структурированные данные, как по ним рассчитать требуемые метрики, что делать, если отчет работает очень медленно. Что удивительно, на этих форумах вы практически не найдете обсуждений ETL-инструментов, описания опыта применения хранилищ данных, лучших практик программирования и запросов SQL. Более того, я неоднократно сталкивался с тем, что опытные BI-аналитики не очень лестно отзывались о применении R/Python/Scala, мотивируя это тем, что все проблемы можно решить только силами BI-платформы. Вместе с тем всем понятно, что грамотный дата инжиниринг позволяет закрывать массу проблем при построении BI-отчетности. Читать далее

     01.05.2021       Выпуск 384 (26.04.2021 - 02.05.2021)       Статьи

Основы функционального программирования на Python

Этот пост служит для того, чтобы освежить в памяти, а некоторых познакомить с базовыми возможностями функционального программирования на языке Python. Материал поста разбит на четыре части:

     30.04.2021       Выпуск 384 (26.04.2021 - 02.05.2021)       Статьи

Полив газона с помощью модели сегментации изображений и системы на базе Arduino

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

     29.04.2021       Выпуск 384 (26.04.2021 - 02.05.2021)       Статьи