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

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

     26.05.2020       Выпуск 336 (25.05.2020 - 31.05.2020)       Статьи

Python.org рекомендует: Программирование для НЕпрограммистов

Предлагаем вашему вниманию подборку материалов от python.org о том, с чего начать первые шаги в программировании. Если Вы никогда не занимались программированием раньше, эти материалы для вас. Данные туториалы не предполагают, что у вас есть какой-то опыт. (Если у вас уже есть опыт программирования, посетите Beginners Guide).

     26.05.2020       Выпуск 336 (25.05.2020 - 31.05.2020)       Статьи

Оптимизация запросов Django ORM

Оригинальная статья: Rocio Aramberri – Optimizing Django ORM Queries

Django ORM (Object Relational Mapping) – одна из самых мощных функций Django. Благодаря ей мы можем взаимодействовать с базой данных, используя код Python вместо SQL.

     25.05.2020       Выпуск 336 (25.05.2020 - 31.05.2020)       Статьи

6 способов значительно ускорить pandas с помощью пары строк кода. Часть 1

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

     25.05.2020       Выпуск 336 (25.05.2020 - 31.05.2020)       Статьи

Шпаргалка по визуализации данных в Python с помощью Plotly

В этой простыне все примеры разобраны от совсем простых к более сложным, так что разработчикам с опытом будет скучно. Так же эта «шпаргалка» не заменит на 100% примеры из документации.

     24.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи
     23.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии)

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

Недавно мы столкнулись с проблемой больших временных затрат на этот процесс. В конкретной задаче было более 100000 документов, средняя длина которых около 1000 символов, и требовалось реализовать обработку на обычном локальном компьютере, а не на нашем сервере для вычислений. Решение на просторах интернета мы найти не смогли, но нашли его сами, и я хотел бы поделиться — продемонстрировать сравнительный анализ двух наиболее популярных библиотек по лемматизации в этой статье.

     22.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Как сделать тематическое моделирование форума быстро или что беспокоит людей с целиакией

В данной статье я расскажу и покажу на примере, о том, как человек с минимальным Data Science опытом, смог собрать данные из форума и сделать тематическое моделирование постов с использованием LDA модели, и выявил наболевшие темы людей с глютеновой непереносимостью.

     22.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

3D ML. Часть 1: формы представления 3D-данных

Сегодня появляется все больше 3D датасетов и задач, связанных с 3D данными. Это связано с развитием робототехники и машинного зрения, технологий виртуальной и дополненной реальности, технологий медицинского и промышленного сканирования. Алгоритмы машинного обучения помогают решать сложные задачи, в которых необходимо классифицировать трехмерные объекты, восстанавливать недостающую информацию о таких объектах, или же порождать новые. Несмотря на достигнутые успехи, в области 3D ML остаются нерешенными еще очень много задач, и эта серия заметок призвана популяризировать направление среди русскоязычного сообщества.

     22.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Асинхронные задания в Django с Celery

Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме.

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

     22.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Как выучиться на Data Scientist: наиболее востребованные технические навыки

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

     22.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Интеграция .pre-commit hook в Django проект

Для начала пару слов, о том что такое в целом хуки (hooks) и для чего они могут быть нужны. Git «из коробки» предоставляет инструмент, который умеет запускать ваши скрипты при наступлении какого либо события (к примеру пуш на сервер и т.п.)

.pre-commit это удобная надстройка над дефолтным git pre-commit hook, которая запускает скрипты описанные в .pre-commit-config.yaml перед созданием коммита. В теории звучит просто, перейдем к практике.

     21.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

[Перевод] Высокоскоростной Apache Parquet на Python с Apache Arrow

Дизайн: высокопроизводительные колоночные данные в Python.
C++ библиотеки Apache Arrow и Parquet являются вспомогательными технологиями, которые изначально проектировались нами для согласованной совместной работы.

Одной из основных целей Apache Arrow является создание эффективного межоперационного уровня транспортировки колоночной памяти.

     21.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Celery + asyncio

Хочу рассказать, как я решал проблему эффективного конкурентного исполнения asyncio задач в Celery.

     20.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Бизнес-эксперт и программирование. Совмещать нельзя разделять


Вообще же, про data driven легко говорить и кайфово это реализовывать в компаниях, в которых большинство сотрудников являются power users, то есть легко напишут запрос к базе, не отрываясь от заваривания чая, а в голове у них есть вопросы и задачи, которые можно решить только при наличии технологии Big Data.

     19.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Авторизация пользователя при помощи Starlette + Vue.js

Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек.

Почему Starlette? В первую очередь скорость. Starlette ультимативно быстр, и в тестах уступает только BlackSheep (https://pypi.org/project/blacksheep/). Во вторых Starlette весьма прост и писать на нем в силу его продуманности легко и приятно.

В качестве ORM мы будем использовать Tortoise ORM (со моделями и выборками «аля Django ORM»). В качестве сессионного механизма мы будем использовать JWT.

     19.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Как построить диаграмму Венна с 50 кругами? Визуализация множеств и история моего Python-проекта с открытым кодом

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

     19.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Как не править Python тесты

И вынести тестируемые результаты вне кода. Это статья об автоматизации и увеличения удобства тестирования на Python.

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

Регрессионное тестирование было одним из шагов для более уверенной разработки. Его суть в сравнении вычисленных данных с последним канонизированным результатом работы программы.

Результаты выполнения можно проверять в python коде тестов. Это близко к контексту выполнения и зачастую удобно.

     18.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

5 визуализаций, который помогут улучшить Data Story

Сторителлинг – один из важнейших навыков для специалистов, которые занимаются анализом данных. Чтобы доносить идеи и делать это убедительно, нужно простраивать эффективную коммуникацию. В этой статье мы познакомимся с 5 методами визуализации, которые выходят за рамки классического понимания, и могут сделать вашу Data Story более эстетичной и красивой. Работать мы будем с графической библиотекой Plotly на Python (она также доступна на R), которая позволяет создавать анимированные и интерактивные диаграммы с минимальными усилиями.

     18.05.2020       Выпуск 335 (18.05.2020 - 24.05.2020)       Статьи

Материальный Python. Кастомные карточки с OpenGL эффектами

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

     17.05.2020       Выпуск 334 (11.05.2020 - 17.05.2020)       Статьи

Сравниваем работу open source Python — библиотек для распознавания именованных сущностей

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

Для решения это задачи я опробовал десятки решений в области обработки естественного языка, в том числе решения с открытым кодом и хотел бы поделиться опытом работы с open source Python — библиотеками для распознавания именованных сущностей.