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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

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

Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

В интернетах не прекращается хайп вокруг чат-ботов — в частности Telegram — благодаря шуму в СМИ, неоспоримых достоинствах платформы, политике продвижения, средствам разработки и т.д.

Смотришь новости: ну жизни нет без чат-ботов! 
Да если их не будет — поезда с рельс сойдут, упадут самолеты, погибнут люди от тоски, когда не смогут найти картинки с котиками.

Но давайте положим руку на сердце: когда последний раз вы что-то заказывали в интернет магазине через чат-бот? 

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

Ринат Хабибиев (zvooq.com, ведущий разработчик) - Django и http-кэширование

Много лет работая с Django, мне часто приходилось дорабатывать встроенные решения, либо заменять их на свои собственные реализации. На встрече речь пойдёт о механизме HTTP-кэширования Django, об эффективном его использовании и о том, как сделать этот инструмент ещё более эффективным, устранив в нем несколько проблем и добавив новых возможностей. Заодно, разберём лучшие практики HTTP-кэширования и попробуем решить главнейшую проблему в программировании - инвалидацию кэша
 
Слайды: https://conf.python.ru/django-and-http-cash/

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

Владимир Филонов (itcanfly, Founder/CTO) - Асинхронность в Python: оглядываясь назад

Уже примерно год, как я использую асинхронный python в боевых проектах. Мнолитные системы, микросервисы, утилиты. Думаю пора рассказать какие выводы я сделал за этот год, чего хотел бы увидеть в python в будущем, и почему продолжаю применять Erlang\Elixir

Слайды: https://conf.python.ru/asinhronnost-v-python-oglyadyvayas-nazad/

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

Александр Карпинский - Работа с изображениями на Python в 2017 году

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

Слайды: https://conf.python.ru/rabota-s-izobrazheniyami-na-python-v-2017-godu/

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

Артём Малышев (Software Engineer @ Advance) - HTTP/2 глазами потребителя

Протокол HTTP/2 поддерживается всеми современными браузерами. Google performance team пропагандирует его адаптацию. Всё больше известных сайтов начинают предоставлять его поддержку наравне с обычным HTTP. Доклад о том, зачем нам это всё надо, какие преимущества в целом даёт и как это готовить в питоне. Да, про Django тоже будет

Слайды: https://conf.python.ru/http2-glazami-potrebitelya/

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

Александр Ковалёв - Построение распределённых Django систем

Занимаюсь разработкой почти 25 лет. Последние 4 года пишу backend и утилиты на Python. В докладе расскажу, из чего можно построить сеть однотипных веб-сайтов с централизованным управлением пользователями и публикуемыми материалами. Как обычно, пишем максимально абстрактный код, чтобы избежать постоянного переписывания кода и "допиливания" под каждый сайт. Я рассмотрю выбранный и отвергнутый инструментарий (Django, Redis, RabbitMQ, Celery, Docker), подход к синхронизации данных, вспомню про любимые аббревиатуры DRY и MVP и расскажу про некоторые ошибки и недоработки. Постараюсь успеть рассказать про deploy

Слайды: https://conf.python.ru/distributed-django/

     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

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