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

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

     14.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Модель ПИД регулятора на Python

Моделированию работы ПИД регулятора посвящено большое количество публикаций в сети. Лидирует проектирование моделей ПИД регулятора с применением Matlab Simulink [1,2] (134 миллиона ссылок в yandex). Сам процесс создания модели какой-то однообразный. В модель переносят всё новые и новые блоки. Одно движение ручного манипулятора и нате вам ПИД контролер, ещё одно и вот передаточная функция объекта. Соединяешь блоки, настраиваешь параметры, готовишь вычислитель. Да, возможностей много, но как-то слишком всё искусственно. И уже становится совсем непонятным к чему тут дифференциальные уравнения, методы их решения и то операционное исчисление, которым долго морочили голову. Ищу реализацию ПИД в Mathcad, тут ссылок в том же yandex, поменьше, всего то 81 миллион, а математики и формул побольше. Рассматриваю пример ПИД, поставляемый вместе с пакетом Mathcad 14. 

     12.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

10 основных ошибок, совершаемых Django-разработчиками Django

В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.

     12.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Метрики в задачах машинного обучения

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

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

     09.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Как я писал свой логгер. Разбор ошибок

Относительно недавно я начал изучать Python. На чём бить шишки было непонятно, а делать упражнения ради упражнений наскучило достаточно быстро. Мне хотелось сделать что-то полезное и сделать это с энтузиазмом. Так родилась идея сделать логгер с цветным аутпутом. Проект был назван «SCLogger», начало было положено. Что получилось в итоге и какие ошибки при проектировании были допущены далее под катом.

     09.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Пишем скрипт для синхронизации папок с Google Drive, плюс учимся использовать Google Drive API

В этой статье мы рассмотрим основные инструменты работы с Google Drive REST API, осуществим "прямую" и "обратную" синхронизацию папки на компьютере с папкой в облаке Гугл Диска, а заодно выясним какие сложности могут возникнуть при работе с Google Docs через API Диска и как правильно их импортировать и экспортировать чтобы (почти) никто не пострадал.

     09.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Изменяемые свойства классов в питоне: польза для дела и мелкого хулиганства

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

     08.05.2017       Выпуск 177 (08.05.2017 - 14.05.2017)       Статьи

Нейрокурятник ч.0. Или нейро- без курятника

Или как правильно закоптиться в нейросети
Курочка снесла яичко. Сам процесс выглядит ужасно. Результат — съедобно. Массовый геноцид кур.
В этой статье будет описано:

  1. Где, как и почему можно получить небольшое качественное самообразование в сфере работы с нейросетями БЕСПЛАТНО, СЕЙЧАС и СОВСЕМ НЕ БЫСТРО;
  2. Будет описана логика рекурсии и будут порекомендованы книги по теме;
  3. Будет описан список основных терминов, которые нужно разобрать на 2-3 уровня абстракции вниз;
  4. Будет приведен ipynb-notebook, который содержит необходимые ссылки и базовые подходы;
  5. Будет немного своеобразного саркастичного юмора;
  6. Будут описаны некоторые простые закономерности, с которыми вы столкнетесь при работе с нейросетями;

     07.05.2017       Выпуск 176 (01.05.2017 - 07.05.2017)       Статьи

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

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

     06.05.2017       Выпуск 176 (01.05.2017 - 07.05.2017)       Статьи

Простая модель адаптивного фильтра Калмана средствами Python

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

     04.05.2017       Выпуск 176 (01.05.2017 - 07.05.2017)       Статьи

Нейрокурятник: часть 1. Установка Raspberry Pi и камеры в курятник и их настройка

 

Большой брат следит за тобой, птица!

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

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

     02.05.2017       Выпуск 176 (01.05.2017 - 07.05.2017)       Статьи

От двух камертонов из опытов Лиссажу к одной эллиптической уровнемерной трубке с шагом в столетия и всё на Python

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

     01.05.2017       Выпуск 176 (01.05.2017 - 07.05.2017)       Статьи

Поиск в Django REST Framework с помощью Elasticsearch Django Elasticsearch

 

Пользователи ищут товары в интернет-магазине, ищут стати, поиск это неотъемлемый компонент сайта. Быстрый и гибкий поиск сложно реализовать средствами реляционных баз данных. Для таких задач используют поисковые движки, один из которых Elasticsearch. Elasticsearch хорошо документирован и доступен из коробки на AWS.

 

Для работы с elasticsearch используется библиотека elasticsearch-py или elasticsearch-dsl-py. elasticsearch-dsl-py это надстройка над elasticsearch-py, она проста в использовании и поддерживает elasticsearch версии 5.x. На базе этой библиотеки была создана библиотека django-rest-elasticsearch, которая основана на идеологии существующего поиска в Django REST Framework. Ниже я детально распишу как реализовать поиск в Django REST Framework с помощью elasticsearch используя данную библиотеку.

     30.04.2017       Выпуск 175 (24.04.2017 - 30.04.2017)       Статьи

Django - Like Dislike система с помощью GenericForeignKey Django

Статья описывает пример использования GenericForeignKey из инструментария Django/Python для создания системы Like Dislike на сайте с использованием полиморфных связей, что позволяет использовать одну модель данных Like Dislike для контента различного типа: Статьи, Комментарии и т.д.

     25.04.2017       Выпуск 175 (24.04.2017 - 30.04.2017)       Статьи

«Почему вы просто не перепишете это на язык X?»

Каждый раз, как какой-нибудь новый язык программирования становится популярным его преданные фанаты превозносят его достоинства до небес и пытаются обратить людей в свой культ, отправляя существующим проектам отчет о багах примерно следующего содержания:

«Привет, я тут заметил, что ваш проект написан на [языке программирования X]. Вам бы стоило все переписать на языке Y, потому что он лучше в плане функции Z. Спасибо-до свидания!»

Изложенное в таком виде, предложение кажется совсем не трудным. Раз функция Z лучше, то, конечно, всем следует тут же переписать свои проекты на Y.

     24.04.2017       Выпуск 175 (24.04.2017 - 30.04.2017)       Статьи

Открытый курс машинного обучения. Тема 9. Анализ временных рядов с помощью Python

Cсегодня поговорим о временных рядах.

Посмотрим на то, как с ними работать в Python, какие возможные методы и модели можно использовать для прогнозирования; что такое двойное и тройное экспоненциальное взвешивание; что делать, если стационарность — это не про вас; как построить SARIMA и не умереть; и как прогнозировать xgboost-ом. И всё это будем применять к примеру из суровой реальности.

     24.04.2017       Выпуск 175 (24.04.2017 - 30.04.2017)       Статьи

The uWSGI Spooler

 

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

Самой популярной системой очередей в Python является Celery, она обладает широким набором возможностей по управлению задачами. К сожалению, системы на базе Celery сложно поддерживать в работоспособном состоянии, и когда что-то идёт не так, то найти проблему бывает весьма не просто. Можете спросить любого девопса об опыте работы с Celery, но будьте готовы услышать не очень приятные слова.

К счастью, есть альтернативное решение — uWSGI Spooler, и в этой статье я расскажу о нём подробнее.

     24.04.2017       Выпуск 175 (24.04.2017 - 30.04.2017)       Статьи

Публикация постов Вконтакте через Trello

Предположим есть группа в Вконтакте о кино, в которой публикуются анонсы новых фильмов и ещё какая-нибудь информация. Необходимо заранее подготавливать посты и публиковать по расписанию. Для этого я собираюсь использовать доску Trello, где хранятся посты и Вконтакте API чтобы публиковать эти посты в группе.

     21.04.2017       Выпуск 174 (17.04.2017 - 23.04.2017)       Статьи

Введение в pandas: анализ данных на Python Pandas

pandas это высокоуровневая Python библиотека для анализа данных. Почему я её называю высокоуровневой, потому что построена она поверх более низкоуровневой библиотеки NumPy (написана на Си), что является большим плюсом в производительности. В экосистеме Python, pandas является наиболее продвинутой и быстроразвивающейся библиотекой для обработки и анализа данных. В своей работе мне приходится пользоваться ею практически каждый день, поэтому я пишу эту краткую заметку для того, чтобы в будущем ссылаться к ней, если вдруг что-то забуду. Также надеюсь, что читателям блога заметка поможет в решении их собственных задач с помощью pandas, и послужит небольшим введением в возможности этой библиотеки.