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

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

     11.12.2017       Выпуск 208 (11.12.2017 - 17.12.2017)       Статьи

Airflow Workshop: сложные DAG’и без костылей

Airflow — это opensource-библиотека для разработки ETL/ELT-процессов. Отдельные задачи объединяются в периодически выполняемые цепочки задач — даги (DAG — Directed Acyclic Graph).

Как правило, 80 % проекта на Airflow — это стандартные DAG’и. В моей статье речь пойдёт об оставшихся 20 %, которые требуют сложных ветвлений, коммуникации между задачами — словом, о DAG’ах, нуждающихся в нетривиальных алгоритмах.

     10.12.2017       Выпуск 207 (04.12.2017 - 10.12.2017)       Статьи

Решение задачи оптимизации многоступенчатых ракет

Методы нелинейной оптимизации широко применяются при проектировании машин и механизмов. Указанные методы применяются и в ракетостроении, например, для оптимизации многоступенчатых ракет [1].

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

     08.12.2017       Выпуск 207 (04.12.2017 - 10.12.2017)       Статьи

Учим машину разбираться в генах человека

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

     05.12.2017       Выпуск 207 (04.12.2017 - 10.12.2017)       Статьи

Tcl/Tk. Тематические виджеты TTK и дизайнер TKproE-2.20

Просматривая свои заметки по проектированию GUI с использованием виджетов Tk, я почувствовал какую-то неудовлетворенность. А дело оказалось в том, что я фактически упустил работу с тематическими виджетами ttk (themed tk). Они в скользь были задействованы при рассмотрении пакета Tkinter для Python и использовании дизайнера Page . Там речь шла о виджете TNotebook (блокнот, записная книжка) из пакета ttk. 

     05.12.2017       Выпуск 207 (04.12.2017 - 10.12.2017)       Статьи

Как я написал приложение, которое за 15 минут делало тоже самое, что и регулярное выражение за 5 дней

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

Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки FlashText. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.

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

     04.12.2017       Выпуск 207 (04.12.2017 - 10.12.2017)       Статьи

Введение в обучение с подкреплением: от многорукого бандита до полноценного RL агента

Обучение с подкреплением является одним из самых перспективных направлений машинного обучения. С его помощью искусственный интеллект сегодня способен решать широчайший спектр задач: от робототехники и видеоигр до моделирования поведения покупателей и здравоохранения. В этой вводной статье мы изучим главную идею reinforcement learning и с нуля построим собственного самообучающегося бота.

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

Учим компьютер писать как Толстой, том I

 

Недавно на хабре наткнулся на эту статью https://habrahabr.ru/post/342738/. И захотелось написать про word embeddings, python, gensim и word2vec. В этой части я постараюсь рассказать о обучении базовой модели w2v.

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

Hik or Hack? (НЕ)безопасность Интернета вещей на примере IP-камеры Hikvision

В современном мире нас окружают «умные» устройства, в том или ином виде представляющие собой маленький компьютер. С точки зрения интеграции с современным оборудованием, будь то бытовая электроника и умные дома, медицинское и банковское оборудование, развлекательные системы и промышленное оборудование — все это представляет собой встраиваемые системы (embedded-устройства).

«Умные» гаджеты очень плотно влились в нашу жизнь, и их число из года в год растёт благодаря их низкой стоимости, удобству и простоте в использовании, в том числе через Интернет. Однако за рядом плюсов скрываются минусы, невидимые на первый взгляд рядовому пользователю. 

     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. Готовы? Тогда, милости прошу под кат.