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

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

     24.09.2019       Выпуск 301 (23.09.2019 - 29.09.2019)       Статьи

Робот-танк на Raspberry Pi с Intel Neural Computer Stick 2

Вот и наступил новый этап в развии Raspberry-танка.

В предыдущей серии оказалось, что семантическая сегментация из коробки не по зубам Raspberry.

     21.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.

     20.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Как создать Python wrapper и не сойти с ума

Недавно прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrapper) для Cи-шной библиотеки. В тот момент я подумал "О, что-то интересное, уверен, это займет не больше часа". Как же сильно я ошибался.

 

В этой статье я решил показать не один путь для решения подобной задачи, а несколько разных вариантов. Я покажу варианты создания модулей на Pythonс компиляцией в С, использование маленькой самописной библиотеки С в Python и – последний вариант – использование большой C библиотеки в Python без боли и pxd файлов.

     20.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Задача: извлечь ключевые выражения из текста на русском языке. NLP на Python

Что было нужно в самом начале:

 

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

     19.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

C/C++ из Python (CFFI, pybind11)

Продолжаем тему как вызывать C/C++ из Python3. Теперь используем библиотеки cffi, pybind11. Способ через ctypes был рассмотрен в предыдущей статье.

     19.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Наследование и композиция: руководство по ООП в Python

В этой статье мы подробно рассмотрим наследование (inheritance) и композицию (composition) в Python. Наследование (Inheritance) и композиция (composition) – это две важные концепции в объектно-ориентированном программировании, которые моделируют отношения между двумя классами. Они являются строительными блоками объектно-ориентированного проектирования (object oriented design) и помогают программистам писать повторно используемый код.

Оригинальная статья  Isaac Rodriguez  – Inheritance and Composition: A Python OOP Guide

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Делаем домашнюю библиотеку с Notion и Python

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

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Анализируем историю прослушивания в «Яндекс.Музыке»

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

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Must-have алгоритмы машинного обучения


Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

     18.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib

Что будет в этой статье.

Общий случай:

 

  1. Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy)
  2. Опишем материальную точку и поле взаимодействия
Частный случай (на основе общего):

 

  1. Сделаем визуализацию векторного поля напряженности электромагнитного поля (первая и третья картинки)
  2. Сделаем визуализацию движения частиц в электромагнитном поле

     17.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

Как оптимизировать pandas при работе с большими datasetами (очерк)

Когда памяти вагоны и/или dataset небольшой можно смело закидывать его в pandas безо всяких оптимизаций. Однако, если данные большие, остро встает вопрос, как их обрабатывать или хотя бы считать.

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

В качестве датасета будем использовать хабрастатистику с комментариями пользователей за 2019 г., которая является общедоступной благодаря одному трудолюбивому пользователю:
dataset

     17.09.2019       Выпуск 300 (16.09.2019 - 22.09.2019)       Статьи

PyCrunch – Интеллектуальное выполнение тестов и визуальное покрытие кода в IDE

Около 3 лет назад я перешел с C# разработки на Python. Два с половиной года я пытался найти инструмент, который был бы похож на NCrunch по удобству в ежедневной работе.

В какой-то момент я забил забил на unit-тестирование, и писал код, прогоняя тесты на CI.

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

Полгода разработки, и активное использование на собственных проектах, вызывает желание показать продукт сообществу.

     13.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Робот-тележка на ROS.Часть 4. Создаем симуляцию робота в rviz и gazebo

Продолжение цикла статей о создании небольшого робота. В этот раз речь пойдет о создании копии робота в симуляции, которую предлагают визуальные ROS-среды rviz и gazebo (далее «редакторы»). Работа в редакторах будет вестись на виртуальной машине, образ которой был ранее предоставлен для скачивания (образ). Так как речь идет о симуляции, построении модели, сам робот-тележка не понадобится.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Анализ эмоциональной окраски отзывов с Кинопоиска

Обработка естественного языка (NLP) является популярной и важной областью машинного обучения. В данном хабре я опишу свой первый проект, связанный с анализом эмоциональной окраски кино отзывов, написанный на Python. Задача сентиментного анализа является довольно распространенной среди тех, кто желает освоить базовые концепции NLP, и может стать аналогом 'Hello world' в этой области.

В этой статье мы пройдем все основные этапы процесса Data Science: от создания собственного датасета, его обработки и извлечения признаков с помощью библиотеки NLTK и наконец обучения и настройки модели с помощью scikit-learn. Сама задача состоит в классификации отзывов на три класса: негативные, нейтральные и позитивные.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Проектирование дашбордов для веб-аналитики e-commerce сайта. Часть 4: Youtube-канал

Легко посчитать, сколько трафика пришло с ютуб-канала. К примеру, зайти в счетчик Яндекс Метрики или Google Analytics. А вы попробуйте узнать, что происходило с вашим видео на канале. Кто его посмотрел, кто добавил в фавориты, а кто дислайкнул. Вот для выгрузки таких данных и потребуется скрипт на Python.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Проектирование дашбордов для веб-аналитики e-commerce сайта. Часть 3: SEO-канал

Для аналитики динамики позиций поисковых фраз потребуется выгрузки из Яндекс.Вебмастера и Google Search Console. Для оценки «полезности» прокачивания позиции поисковой фразы будут полезны данные о частотности. Их можно получить из Яндекс.Директа и Google Ads. Ну а для анализа поведения технической стороны сайта воспользуемся Page Speed Insider.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

JWT: Атака на цифровую подпись VS MAC-атака

Во время последнего пентеста я наткнулся на схему авторизации на основе JSON Web Token (или просто JWT). JWT состоит из трех частей: заголовок, полезная нагрузка, информация для верификации. Первая часть заголовка содержит имя алгоритма, который в дальнейшем будет использоваться для верификационной части JWT. Это опасно, так как злоумышленник может изменить эту информацию и таким образом (возможно) проконтролировать, какая схема будет использоваться сервером для проверки.

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Сравнение популярных CLI-библиотек для Python: click, cement, fire и другие

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

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Скоро Django 3

Не так долго осталось ждать декабря, на который запланирован выпуск новой версия каркаса для веб-разработки Django. Уже сейчас можно ознакомиться с альфа версией готовящегося выпуска.

Рассмотрим, чего нам ждать от новинки.