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

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

     21.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Статьи

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки

Для всех хабравчан, у которых возникло ощущение дежавю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ быстрее Python", "Rust ещё быстрее C++", "Python не нужен" и т.д. Удивительно, что не вспомнили Ruby!

 

Как сказал Бьярн Страуструп,

«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует».

     21.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Статьи

Возможности Python 3, достойные того, чтобы ими пользовались

Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как код со скобками, написанный на Python 2. По его словам, он и сам грешит чем-то подобным. Здесь он приводит примеры некоторых замечательных возможностей, доступных лишь тем, кто пользуется Python 3. Он надеется, что эти возможности облегчат жизнь тем, кто о них узнает.

     21.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Статьи

Криптография простым языком: разбираем симметричное и асимметричное шифрование на примере сюжета Звездных войн

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

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

Подборка и поиск датасетов для машинного обучения


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

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

Пишем свой веб-сервер на Python: протокол HTTP

Это третья статья из серии про разработку простого веб-сервера на Python. В ней рассматривается, как написать с нуля свой HTTP-сервер, основываясь на работе с TCP-сокетами.

     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 имеет большое значение, о чем он, как все это развивается.