IT-новости про 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 — они-то смотрят гораздо больше разных фильмов, чем рядовой зритель. Поэтому спрогнозировать, как оценит фильм обычная публика, показалось занятным.

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

Jupyter Notebook для начинающих: учебник

Jupyter Notebook – невероятно мощный инструмент для интерактивной разработки и представления проектов в области наук о данных.

     08.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Как обойти капчу, используя звук

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

     07.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Рост. Вес. Три соседа

В нём есть данные о росте и весе 10 000 мужчин и женщин. Никакого описания. Ничего «лишнего». Только рост, вес и метка пола. Эта таинственная простота мне понравилась.

     07.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Передача двухмерных списков из python в DLL

Решил несколько дополнить статью C/C++ из Python.
Передача стандартных типов, таких как int, bool, float и так далее довольно проста, но мало необходима. С такими данными быстро справится и сам python, и врядли у кого-то возникнет необходимость вынесения части такого кода в библиотеку C/C++.

А вот передача больших массивов данных, или еще лучше двумерных массивов данных, или даже двумерных массивов объектов.

     07.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Разработка ТамТам-бота на Python

После появления Bot API у мессенджера ТамТам, я как истинный, а значит ленивый программист, создал 2 библиотеки Python для работы с ним:

 

  • open API клиента (далее — OAC) — изначально сгенерировал её при помощи OpenAPI Generator на основе схемы API, затем адаптировал с учётом особенностей генератора;
  • оболочку для этого клиента — TamTamBot (далее — TTB), упрощающую работу с OAC.

Так появился некий ТамТам Python SDK.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики


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

Имея это в виду, в этой статье представлен «топ-10» тонких, трудных для обнаружения ошибок, которые могут допустить даже продвинутые разработчики Python.

     06.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

C/C++ из Python

Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже.