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

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

     17.06.2018       Выпуск 234 (11.06.2018 - 17.06.2018)       Статьи

Обзор Ubuntu DSVM: алхимия ни при чём

В течение последних месяцев в нескольких проектах наш партнер использовал виртуальную машину для обработки и анализа данных (DSVM) на базе Ubuntu от Microsoft. Он решил попробовать ее в деле уже используя продукт Amazon. Рассмотрим все плюсы и минусы, а также сравним наш инструмент с похожими решениями.

     17.06.2018       Выпуск 234 (11.06.2018 - 17.06.2018)       Статьи

Анализ таблиц маршрутизации, или зачем ещё сетевому инженеру Python

  • Имеется набор текстовых файлов, содержащих вывод таблиц маршрутизации с различных сетевых устройств;
  • Каждый файл содержит информацию с одного устройства;
  • Устройства могут иметь различный формат вывода таблицы маршрутизации;
  • Необходимо на основании имеющихся данных по запросу выводить путь до произвольной подсети или IP-адреса с каждого из устройств;
  • Вывод должен включать на каждом участке пути информацию о записи из таблицы маршрутизации, по которой будет смаршрутизирован пакет.

     11.06.2018       Выпуск 234 (11.06.2018 - 17.06.2018)       Статьи

Стеганография в IP-пакетах

Однажды, перед защитой очередной лабораторной работы мне задали вопрос: какие поля IP-пакета можно использовать для стегано? Я не знал и лишь пожал плечами. Но вскоре я всё же решил изучить этот вопрос.

Под катом вас ждёт изучение заголовков IP-пакетов, собственная утилита ping на Python и несколько способов передать данные, не привлекая внимания.

     11.06.2018       Выпуск 234 (11.06.2018 - 17.06.2018)       Видео

Trio: Асинхронная конкурентность для простых смертных

Конкурентные программы весьма полезны: в веб-приложениях, обслуживающих запросы и вебсокет-подключения; чат-боты, участвующие во множестве обсуждений одновременно; пауки, собирающие данные сразу с нескольких страниц. А вот писать конкурентные приложения непросто — они пугают новичков и бросают вызов бывалым.
Но так ли должно быть? Питон известен своей простотой и однозначностью; может ли он привнести в конкурентное программирование эти черты? Думаю, да.

     10.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Статьи

Состязательные атаки (adversarial attacks) в соревновании Machines Can See 2018

Или как я оказался в команде победителей соревнования Machines Can See 2018 adversarial competition.

     10.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Статьи

Как я писал логин по протоколу SRP6a на Python, а получил… JavaScript и Python в одной коробке

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

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

     09.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Учебные материалы

NumPy в Python. Часть 3

Продолжаем наш цикл статей по переводу мана о numpy. Приятного чтения.

     08.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Учебные материалы

Вероятностное программирование и байесовский метод для хакеров

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

     05.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Учебные материалы

Книга «Глубокое обучение на Python»

Глубокое обучение — Deep learning — это набор алгоритмов машинного обучения, которые моделируют высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных преобразований. Согласитесь, эта фраза звучит угрожающе. Но всё не так страшно, если о глубоком обучении рассказывает Франсуа Шолле, который создал Keras — самую мощную библиотеку для работы с нейронными сетями. Познакомьтесь с глубоким обучением на практических примерах из самых разнообразных областей. Книга делится на две части: в первой даны теоретические основы, вторая посвящена решению конкретных задач. Это позволит вам не только разобраться в основах DL, но и научиться использовать новые возможности на практике.

     05.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Статьи

Как нас анализируют в кинотеатрах… и не только

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

     04.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Статьи

Сборка Caffe в Google Colaboratory: бесплатная видеокарта в облаке

Google Colaboratory — это не так давно появившийся облачный сервис, направленный на упрощение исследований в области машинного и глубокого обучения. Используя Colaboratory, можно получить удаленный доступ к машине с подключенной видеокартой, причем совершенно бесплатно, что сильно упрощает жизнь, когда приходится обучать глубокие нейросети. Можно сказать, что она является некоторым аналогом гугл-документов для Jupyter Notebook.

     04.06.2018       Выпуск 233 (04.06.2018 - 10.06.2018)       Статьи

Хабра-словарь. Часть 1

Решал задачу составления словаря Хабрахабра для целей отслеживания появления новых языков, фреймворков, практик управления и т.п. Короче новых слов.

 

Результатом стал список английских слов «в именительном падеже и единственном числе».

     03.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Вопросы и обсуждения

Выбор выступления для перевода и озвучивания 2018

К голосованию приглашаются все желающие. Голосуйте сами, зовите друзей.

     03.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Видео

Type-checked Python in the real world

Слышали про аннотации типов в Питоне, но не знаете насколько они полезны? Беспокоитесь, что кода слишком много и не можете себе позволить его аннотировать?
Проверка типов в Питоне существует, она не миф, она может помочь вам в отлове ошибок и сделать ваш код проще для понимания.
И сейчас мы поделимся с вами своим опытом поэтапной типизации реального приложения на миллион строк!

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

Мы даже продемонстрируем, как проверка типов может сочетаться с утиной типизацией! Готовьтесь окунуться в проверку типов в Питоне.

     03.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Видео
     03.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Видео

A Bit about Bytes: Understanding Python Bytecode

Рано или поздно любой питонист сталкивается с файлами байткода Питона — теми самыми .pyc файлами, которые Питон любит оставлять за собой после запуска.

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

     03.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Видео

Trio: Async concurrency for mere mortals

Конкурентные программы весьма полезны: в веб-приложениях, обслуживающих запросы и вебсокет-подключения; чат-боты, участвующие во множестве обсуждений одновременно; пауки, собирающие данные сразу с нескольких страниц. А вот писать конкурентные приложения непросто — они пугают новичков и бросают вызов бывалым.
Но так ли должно быть? Питон известен своей простотой и однозначностью; может ли он привнести в конкурентное программирование эти черты? Думаю, да.

Тщательно изучив промахи других библиотек, и воспользовавшись новыми возможностями Python 3, я создал новый набор примитивов, позволяющих существенно облегчить написание правильных конкурентных программ, и оформил их в новую библиотеку под названием Trio.

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

Выступление предполагает наличие базовых знаний о Питоне, но не требует какого-либо опыта в конкурентности, async/await или сетевом программировании.

     03.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Видео

Big-O: How Code Slows as Data Grows

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

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

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

     02.06.2018       Выпуск 232 (28.05.2018 - 03.06.2018)       Видео

Dataclasses: The code generator to end all code generators

Модуль dataclasses, описанный в PEP 557, доступен в Питоне начиная с версии 3.7. Скоро он станет важным инструментом для каждого питониста.

Из этого выступления вы узнаете о задачах, которые решает модуль, о применённых в нём архитектурных решениях. Будут и примеры его использования.

Классы данных представляются очередным шагом в развитии инструментов для работы с данными: кортежи, словари, обычные классы, классы-пачки, именованные кортежи, records, attrs и, наконец, классы данных. Каждый из инструментов базируется на предшественнике, добавляя выразительность в обмен на сложность.

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

И классы данных и typing.NamedTuple используют аннотации переменных, введённые в Python 3.6.