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

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

     28.11.2017       Выпуск 206 (27.11.2017 - 03.12.2017)       Видео

Александр Швец (CTO @ Marilyn) - Как взбодрить грустную панду? Используем Pandas в Production

Последние 7 лет я активно занимаюсь разработкой в области AdTech, а это всегда работа с данными, порой очень и очень большими. Также я читаю курс в Нетологии, посвященный исследованию данных на Python. На Moscow Python Conf я хочу поделиться с вами практикой промышленного использования Pandas и чем она отличается от теории. Ведь существует мнение, что Pandas предназначен только для исследовательских задач или для того, чтобы что-нибудь быстро прикинуть на коленке, так как он медленный и неповоротливый. Однако мы на своем опыте убедились, что Pandas можно и нужно использовать в бою, если вы работаете с большим количеством данных. В докладе я расскажу про оптимизацию Pandas для быстрой обработки больших массивов данных

Слайды: https://conf.python.ru/kak-vzbodrit-grustnuyu-pandu-ispolzuem-pandas-v-production/

     28.11.2017       Выпуск 206 (27.11.2017 - 03.12.2017)       Видео

Сергей Пронин (CTO @ App in the Air) - Python & Google Cloud Platform

В рамках доклада расскажу про шестилетний опыт работы на Python с AppEngine и Google Cloud Platform. 
Отличие сервисов, вариантов хранения данных, интеграция между ними; использование Google APIs. 
Плюсы / минусы / подводные камни, сравнение с другими облачными платформами. 
Другими словами, «Как за 6 лет вырастить стартап с нуля до трех миллионов пользователей, не думая о scaling-е»

Слайды: https://conf.python.ru/python-google-cloud-platform/

     27.11.2017       Выпуск 206 (27.11.2017 - 03.12.2017)       Статьи

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

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

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

В качестве нейросети я решил воспользоваться torch-rnn, которую достаточно легко установить и настроить. Список городов и сел я нашел тут (можно скачать все в формате csv). С csv пришлось немного повозиться, чтобы привести ее к utf-8, после чего я запихнул ее в нейросеть и оставил на пару часов. Когда тренировка модели закончилась я взял небольшой сампл и получил следующий результат:

     27.11.2017       Выпуск 206 (27.11.2017 - 03.12.2017)       Статьи

ScadaPy сервер JSON

В продолжение предыдущих статей о применении python для построения собственной scada системы, хотелось бы описать способ организации обмена между устройствами и вывод данных посредством json — текстового формата обмена данными.

В данном случае будем использовать клиентские части modbusTCP и OPCUA библиотек.
В итоге у нас получится http сервер, работающий в качестве master для подчиненных устройств, которые в свою очередь работают в режиме slave.

     26.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

«Пишите письма…» или тренируемся работать с данными по обращениям граждан в правительство Москвы (DataScience)

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

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

Итак, сегодня мы с Вами поднимем животрепещущую тему – обращения граждан в органы исполнительной власти Москвы, нас с вами сегодня ждет: краткое описание набора данных, примитивный анализ данных, применение к ним модели линейной регрессии, а также краткая отсылка к учебным курсам для тех, кто совсем ничего не поймет из материала статьи. Ну и конечно же останется пространство для самостоятельного творчества.

Напомню, что наша статья рассчитана в первую очередь на начинающих любителей Python и его распространённых библиотек из области DataScience. Готовы? Тогда, милости прошу под кат.

     24.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Развитие стратегий устойчивости

В предыдущей статье я описал несколько алгоритмов эволюционных стратегий (evolution strategies, ES), помогающих оптимизировать параметры функции без необходимости явно вычислять градиенты. При решении задач обучения с подкреплением (reinforcement learning, RL) эти алгоритмы можно применять для поиска подходящих наборов параметров модели для агента нейросети (neural network agent). В этой статье я расскажу об использовании ES в некоторых RL-задачах, а также опишу методы поиска более стабильных и устойчивых политик.

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

RNN: учим нейронную сеть писать как Лев Толстой

При изучении технологий Deep Learning я столкнулся с нехваткой относительно простых примеров, на которых можно относительно легко потренироваться и двигаться дальше.

В данном примере мы построим рекуррентную нейронную сеть, которая получив на вход текст романа Толстого «Анна Каренина», будет генерировать свой текст, чем-то напоминающий оригинал, предсказывая, какой должен быть следующий символ.

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

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Как сделать свой блокчейн. Часть 1 — Создание, Хранение, Синхронизация, Отображение, Майнинг и Доказательная работа

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

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Torskel — упрощаем рутину в Tornado

Мне часто приходится делать небольшие сервера на tornado. В каких-то проектах нужна поддержка работы с redis, в каких-то нет. В других надо рендерить ReactJS. И во всех нужно логирование. Для начала я поднял локальный pypi репозитарий, собрал свои наработки в питоний пакет и радовался жизни. Достаточно было установить пакет, импортировать из него классы, отнаследоваться и радостно пилить код дальше.

     22.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Шум Перлина

Я использовал шум Перлина для создания эффекта тумана и главного экрана в Under Construction. Я твитнул о моих усилиях по оптимизации алгоритма, и несколько людей ответили, что они не понимают, как работает шум Перлина и что это на самом деле такое.

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

     21.11.2017       Выпуск 205 (20.11.2017 - 26.11.2017)       Статьи

Машинное обучение своими руками (часть 2). Сервис для классификации обращений в тех. поддержку

В октябре команда облачного сервиса Okdesk приняла участие в пензенском хакатоне, в рамках которого мы разработали "коробочного" Telegram-бота для Okdesk. Бот позволит клиентам сервисных компаний отправлять заявки на обслуживание, переписываться по заявками и ставить оценки выполнению заявок не выходя из любимого мессенджера.

     18.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Автоколебания и резонанс

Здравствуйте! В связи с вопросами читателей моей публикации [1] касательно условий возбуждения автоколебаний в механической системе, я решил описать явление возникновения и поддержания автоколебаний подробно, выделив основные области возникновения и применения автоколебаний. В википедии автоколебания объясняют так [2]: Незатухающие колебания в диссипативной динамической системе с нелинейной обратной связью, поддерживающиеся за счёт энергии постоянного, то есть непериодического внешнего воздействия. Автоколебания отличаются от вынужденных колебаний тем, что последние вызваны периодическим внешним воздействием и происходят с частотой этого воздействия, в то время как возникновение автоколебаний и их частота определяются внутренними свойствами самой автоколебательной системы. При этом частота становится почти равной резонансной.

     17.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Классификация на гуманитариев и технарей по комментариям в VK

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

     16.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Синтаксический анализ в NLTK. Продолжение

Это небольшое продолжение предыдущей статьи, где рассматривались основы синтаксического анализа с помощью пакета Natural Language Toolkit (сокращенно, NLTK). Как и в прошлой статье, в этой я буду сопровождать примеры кодом на языке Python (версии 2.7).

     16.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Устраняем зависимости между объектами в Python

Хорошо спроектированная программа состоит из объектов, отвечающих принципу единственной обязанности. Такие объекты постоянно “общаются” друг с другом, и поэтому зависимость между ними неизбежна. Но эту зависимость можно свести к минимуму с помощью: внедрения зависимости (dependency injection), использования именованных параметров и изоляции внешних сообщений. Об этих методах пойдет речь в статье.

     15.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Пишем x86-64 комплятор JIT с нуля в стоковом Python

В этой статье я покажу, как написать рудиментарный, нативный x86-64 just-in-time компилятор (JIT) на CPython, используя только встроенные модули.

Код предназначен для UNIX-систем, таких как macOS и Linux, но его должно быть легко транслировать на другие системы, типа Windows. Весь код опубликован на github.com/cslarsen/minijit.

Цель — сгенерировать в рантайме новые версии нижеприведённого ассемблерного кода и выполнить их.

     15.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Статьи

Механизм общения браузера и сервера на языке Python

Разбираемся как браузер общается с веб сервером с помощью языка Python.

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Кирилл Кузьминых - zc.buildout

Слайды: https://speakerdeck.com/cykooz/zc-dot-buildout

Обзор инструмента для автоматизации сборки программ и подготовки окружения для их выполнения.

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Никита Варенцов - Kubernetes — вводная. Обзор архитектуры, деплой, печеньки

Обзор архитектуры, деплой, печеньки
Слайды: https://docs.google.com/presentation/d/1kOus5QRNZ-mm24U3RrOtNBSQjV2DqDLP2Kd3uhCkY0k/present#slide=id.p

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

     13.11.2017       Выпуск 204 (13.11.2017 - 19.11.2017)       Видео

Сергей Архипов - Вероятностные структуры данных

Слайды: https://speakerdeck.com/9seconds/probablistic-data-structures

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

В докладе будут упомянуты такие слова, как Кафка, Майсиквел и ВКонтакте. Блумфильтры, гиперлоглог и тидайджест.