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

Собрали в одном месте самые важные ссылки
консультируем про IT, 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)       Учебные материалы

Книга «Глубокое обучение с подкреплением на Python. OpenAI Gym и TensorFlow для профи»

Глубокое обучение с подкреплением (Reinforcement Learning) — самое популярное и перспективное направление искусственного интеллекта. Практическое изучение RL на Python поможет освоить не только базовые, но и передовые алгоритмы глубокого обучения с подкреплением. Эта книга предназначена для разработчиков МО и энтузиастов глубокого обучения, интересующихся искусственным интеллектом и желающих освоить метод обучения с подкреплением. Прочитайте эту книгу и станьте экспертом в области обучения с подкреплением, реализуя практические примеры в работе или вне ее. Знания в области линейной алгебры, математического анализа и языка программирования Python помогут вам понять логику изложения материала.

     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 (далее «редакторы»). Работа в редакторах будет вестись на виртуальной машине, образ которой был ранее предоставлен для скачивания (образ). Так как речь идет о симуляции, построении модели, сам робот-тележка не понадобится.

     12.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Видео

Moscow Python Podcast. Нужен ли вам в разработке serverless-подход (level: middle+)

В гостях Михаил Новиков, CTO компании FastTrack. Вместе с ним мы разбираемся, что такое serverless, какие у него есть альтернативы, в каких сценариях разработки он применим, чему нужно уделять внимание при его внедрении.

     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. Уже сейчас можно ознакомиться с альфа версией готовящегося выпуска.

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

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

Хабрастатистика: как живет Хабр без geektimes

Данная статья является логическим продолжением рейтинга Лучших статей Хабра за 2018 год. И хотя год еще не закончился, но как известно, летом произошли изменения в правилах, соответственно, стало интересно посмотреть, повлияло ли это на что-нибудь.

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

Угадай меня, если сможешь: прогнозирование рейтинга фильма до его выхода

Недавно мне на глаза попался датасет на Kaggle с данными о 45 тысячах фильмов с Full MovieLens Dataset. Данные содержали не только информацию об актерах, съемочной команде, сюжете и т.п., но и оценки, выставленные фильмам пользователями ресурса (26 миллионов оценок от 270 тыс.пользователей).

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