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

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

     18.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи
     17.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Классификация покрова земли при помощи eo-learn. Часть 2

Вторая часть серии статей про классификацию покрова земли, используя библиотеку eo-learn. Напоминаем, что в первой статье было продемонстрировано следующее:

 

  • Разделение AOI (area of interest, зоны интереса) на фрагменты под названием EOPatch
  • Получение изображений и облачных масок со спутников Sentinel-2
  • Расчёт дополнительной информации, такой как NDWI, NDVI
  • Создание референсной маски и добавление её к исходным данным

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

     17.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Классификация покрова земли при помощи eo-learn. Часть 1

Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиотеку с открытым исходным кодом, готовую для использования кем угодно, кто заинтересован в данных EO (Earth Observation — пр. пер.). Все в команде Sinergise ожидали момента перехода от этапа построения необходимых инструментов, к этапу их использования для машинного обучения. Пришло время представить вам серию статей, касающихся классификации покрова земли используя eo-learn

     17.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Реверс-инжиниринг клиента Dropbox

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

Объём скрытой фоновой работы на самом деле поражает. Во-первых, никуда не исчезают все проблемы, с которыми приходится иметь дело при создании и обслуживании кросс-платформенного приложения для основных десктопных операционных систем (OS X, Linux, Windows). Добавьте к этому поддержку различных веб-браузеров, различных мобильных операционных систем. И мы говорим только о клиентской части. Меня интересует также бэкенд Dropbox, который позволил достичь такой масштабируемости и низкой задержки с безумно тяжёлой рабочей нагрузкой, которую создают полмиллиарда пользователей.

     17.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Три способа хранения и доступа к множеству изображений в Python

Почему может возникнуть необходимость в изучение различных способов хранения и доступа к изображениям в Python? Так например если вам будет

     16.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией

Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том, как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() вызова у блочного шифра будет достаточно для безопасной отсылки по каналу связи. Другие же считают, что прикладная криптография — удел немногих, и приемлемо, что богатые компании типа Telegram с олимпиадниками-математиками не могут реализовать безопасный протокол.

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

     16.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Бот для VK на Python с MySQL за час ч.1

В интернете есть много туториалов как написать бота для Вконтакте, но все они имеют существенные недостатки для новичков. Они дают совсем минимальную базу из-за которой в будущем новичкам будет трудно понять как работают те или иные вещи.

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

     16.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Python — помощник в поиске недорогих авиабилетов для тех, кто любит путешествовать

Автор статьи, перевод которой мы публикуем сегодня, говорит, что её цель — рассказать о разработке веб-скрапера на Python с использованием Selenium, который выполняет поиск цен на авиабилеты. При поиске билетов используются гибкие даты (+- 3 дня относительно указанных дат). Скрапер сохраняет результаты поиска в Excel-файле и отправляет тому, кто его запустил, электронное письмо с общими сведениями о том, что ему удалось найти. Задача этого проекта — помощь путешественникам в поиске наиболее выгодных предложений.

     15.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Глубокая нейронная сеть MuseNet пишет музыку

Мы создали и представляем вам MuseNet — глубокую нейронную сеть, которая может создавать четырехминутные музыкальные композиции с помощью десяти разных инструментов. MuseNet экспериментирует, сочетая разные музыкальные стили: от кантри до шедевров Моцарта и бессмертных хитов The Beatles.

В основу сети легко не наше восприятие и понимание музыки, а навык находить образцы гармонии, ритма и стиля в сотнях тысяч MIDI-файлов, а затем создавать собственные произведения. Нейросеть MuseNet использует ту же технологию, что и GPT-2 — масштабная модель обучена предсказывать наилучшие последовательности как в тексте, так и в аудио. Знание множества стилей позволяет сети создавать совершенно уникальные комбинации музыки разных поколений.

     15.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Еще более секретные Telegramмы

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

     14.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

А не замахнуться ли нам на оптическую связь? Лазеры, космос, CubeSat

Материал, описанный ниже, является результатом совместной работы с преподавателями ТУ Ильменау в рамках местного курсового проекта (Advanced Research Project). Опыт интересный, но и не лишенный определенных сложностей. Делали мы этот проект (и ещё один) вместе с моей тогда ещё невестой — да, так вот нам повезло и учиться вместе, и поехать на стажировку в Германию. По правде сказать, эту часть работы делала в большей степени именно она, но популяризировать эту тему хочется мне.

     14.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а

В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваются целевые действия в рамках процесса реаттрибуции с рекламного источника (Direct, Criteo, AdWords UAC и прочих) по сравнению с целевыми действиями в группе, на которую реклама была отключена.

В статье дан обзор классических методик сравнения независимых выборок с кратким теоретическим базисом и описанием примененных библиотек, в т.ч. вкратце описывается суть метода bootstrap’а и его реализация в библиотеке FaceBook Bootstrapped, а также проблемы, возникающие на практике при применении этих методик, и способы их решения.

     13.05.2019       Выпуск 282 (13.05.2019 - 19.05.2019)       Статьи

Глубокое обучение с подкреплением: пинг-понг по сырым пикселям

Вы, возможно, знаете, что компьютеры теперь могут автоматически учиться играть в игры ATARI(получая на вход сырые игровые пиксели!). Они бьют чемпионов мира в игру Го, виртуальные четвероногие учатся бегать и прыгать, а роботы учатся выполнять сложные задачи манипуляции, которые бросают вызов явному программированию. Оказывается, что все эти достижения не обходятся без RL. Я также заинтересовался RL в течение прошлого года: я работал с книгой Ричарда Саттона (прим.пер.: ссылка заменена), читал курс Дэвида Сильвера, смотрел лекции Джона Шульмана, написал библиотеку RL на Javascript, летом проходил практику в DeepMind, работая в группе DeepRL, и совсем недавно — в разработке OpenAI Gym, – нового инструментария RL. Так что я, конечно, был на этой волне, по крайней мере, год, но до сих пор не удосужился написать заметку о том, почему RL имеет большое значение, о чем он, как все это развивается.

     10.05.2019       Выпуск 281 (06.05.2019 - 12.05.2019)       Статьи

Должны ли строки в Python быть итерируемы?

И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет?

Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex, так что вы останавливаетесь на следующем варианте кода

     10.05.2019       Выпуск 281 (06.05.2019 - 12.05.2019)       Статьи

Ищем свободное парковочное место с Python

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

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

     10.05.2019       Выпуск 281 (06.05.2019 - 12.05.2019)       Статьи

MU-MIMO: один из алгоритмов реализации

В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по нисходящему каналу (Down Link) на основе линейных методов, а именно блоковой диагонализации (Block Diagonalization) канала. Статья имеет внушающее количество цитирований, а также является краеугольной публикацией для одного из заданий экзамена. Поэтому почему бы и не разобрать основы предлагаемого алгоритма?

     10.05.2019       Выпуск 281 (06.05.2019 - 12.05.2019)       Статьи

Apache Kafka и потоковая обработка данных с помощью Spark Streaming

Сегодня мы построим систему, которая будет при помощи Spark Streaming обрабатывать потоки сообщений Apache Kafka и записывать результат обработки в облачную базу данных AWS RDS.

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

     09.05.2019       Выпуск 281 (06.05.2019 - 12.05.2019)       Статьи

Consumer Driven Contracts или Gitlab CI глазами QA test automation

Цели данной публикации:

 

  • Краткое введение в Consumer Driven Contracts (CDC)
  • Настройка CI pipeline на основе CDC

     09.05.2019       Выпуск 281 (06.05.2019 - 12.05.2019)       Статьи

Разработка белков в облаке с помощью Python и Transcriptic или Как создать любой белок за $360

Что, если у вас идея для классного, полезного белка, и вы хотите получить его в реальности? Например, хотите создать вакцину против H. pylori (как словенская команда на iGEM 2008), создав гибридный белок, который сочетает фрагменты флагеллина E. coli, стимулирующие иммунный ответ с обычным флагеллином H. pylori?