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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     30.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Видео

Python Junior подкаст. Разбираем код Telegram-бота GoLocal

Новая серия code review от нашей команды дотошных питонистов. На сей раз разбору подвергся код предназначенного для организации волонтёрских активностей Telegram-бота GoLocal (написан на базе фреймворка Telegram Bot API). Операцию ведут тимлид NVIDIA Злата Обуховская, сооснователь W12 и соорганизатор Moscow Python Conf++ Михаил Осипов, соорганизатор Moscow Python Conf++ и сооснователь Itcanfly Владимир Филонов. Они объясняют, зачем код даже простого бота целесообразно разносить по разным модулям, в чём ужас хардкод-логирования ошибок, как без лишних манипуляций реализовать многоязычность в программе на Python, чем полезен middleware и как всё-таки называть переменные правильно

     30.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи

Как я узнал, что моя виза не готова, сообщением в Slack

Пост актуальный для майских праздников. 6 недель назад я подал документы, чтобы получить визу в Ирландию. Вылет запланирован на 30 апреля. Существует сайт посольства, на котором публикуются списки решений по визам. Они это делают по понедельникам и четвергам. И вот я сижу в воскресенье, 28 апреля, по моей визе решения еще нет. И дальнейшие мои действия в понедельник зависят от того, будет ли мое заявление в новом отчете или нет. Если нет, то надо будет ехать в посольство и разбираться. Если есть, то дергать визовый центр. Сидеть и обновлять страничку целый день в понедельник казалось унылым времяпрепровождением, поэтому я написал скрипт на Python.

     30.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи
     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи

Создание системы формальной верификации с нуля. Часть 1: символьная виртуальная машина на PHP и Python

Формальная верификация — это проверка одной программы либо алгоритма с помощью другой.

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

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

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

     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи
     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи

Понимание алгоритма БПФ

Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов обработки сигналов и анализа данных. Я пользовался им годами, не имея формальных знаний в области компьютерных наук. Но на этой неделе мне пришло в голову, что я никогда не задавался вопросом, как БПФ так быстро вычисляет дискретное преобразование Фурье. Я стряхнул пыль со старой книги по алгоритмам, открыл ее, и с удовольствием прочитал об обманчиво простой вычислительной уловке, которую Дж. В. Кули и Джон Тьюки описали в своей классическойработе 1965 года, посвященной этой теме.

     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи

Под чёрным флагом пост, или Как я не выложил ваш видеокурс на трекер

В трудное время мы живем, не находите? Люди эгоистичны, не признают ценность чужих трудов, любят приходить сразу на все готовое. Интеллектуальная собственность для многих вообще выглядит не более чем бюрократической шуткой: «Как же это так, информация должна быть свободной, ведь это ИН-ФОР-МА-ЦИЯ!!!11». Согласен, в идеале это так. Эти ваши анархии, мятежнические настроения и философии андерграундных хакеров/пиратов, стоящих на страже прав простого люда, мне не чужды. Но парадокс в том, что истинная справедливость – это еще и отплачивать всем за их труд и заслуги, поэтому в большинстве случаев пиратство – антагонистическое предприятие. Но вот политика предоставления услуг по защите интеллектуальной собственности, предлагаемая таким замечательным вендором, как ИнфоПротектор, вызвал у меня праведный гнев.

     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Вопросы и обсуждения
     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи

Глубокое и поверхностное копирование в Python

В этом уроке мы собираемся обсудить поверхностное (shallow) и глубокое (deep) копирование с помощью примеров на Python. Мы рассмотрим определение глубокого и поверхностного копирования, а также их реализации на языке Python, чтобы оценить основные различия между двумя типами копирования.

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

     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Статьи

Создаем с нуля собственную нейронную сеть на Python

На повестке дня интересная тема — будем создавать с нуля собственную нейронную сеть на Python. В ее основе обойдемся без сложных библиотек (TensorFlow и Keras).

Основное, о чем нужно знать — искусственная нейронная сеть может быть представлена в виде блоков/кружков (искусственных нейронов), имеющие между собой, в определенном направлении, связи. В работе биологической нейронной сети от входов сети к выходам передается электрический сигнал (в процессе прохода он может изменяться).

     29.04.2019       Выпуск 280 (29.04.2019 - 05.05.2019)       Вопросы и обсуждения
     28.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Вопросы и обсуждения
     28.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Видео

Один в поле не воин, или причем тут OSS. Егор Пирогов, 100 Макетов

Доклад о том зачем начинающему (и не очень) разработчику участвовать в развитии OSS-проектов. Поговорим про PyPI, pip и Poetry, а также о не совсем очевидном следствии создания своего проекта.

     28.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Видео

Как прокачать линтер. Максим Мазаев, ЦИАН

В ЦИАН мы постоянно пользуемся линтером для проверки качества кода. Но случаются моменты, когда хочется проверять код на соответствие внутренним соглашениям, про которые линтер ничего не знает. Разработчикам приходится держать все соглашения в голове и самостоятельно проверять качество кода. Это усложняет и затягивает код-ревью. Я расскажу о том, как мы решили эту проблему с помощью Pylint, который имеет мощную систему создания плагинов. Покажу на примерах как плагины могут упростить процесс код-ревью. Рассмотрим процесс написания плагинов и попутно разберемся как работает сам Pylint изнутри.

     28.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Видео

Что внутри asyncio. Александр Меренков, Antida software

* Какие мотивы стояли за созданием библиотеки asyncio?

* Как в ней реализовано асинхронное выполнение кода? * Почему это полезно знать, если пишешь код с её использованием?

     28.04.2019       Выпуск 279 (22.04.2019 - 28.04.2019)       Видео

GIL: почему это боль и как с ним жить. Иван Меньших, RaRe Technologies

В Питоне всё прекрасно, кроме одного „фатального недостатка“, и имя ему — GIL. Эти три буквы превращают любое многопоточное приложение в кошмар. Поговорим о том, что это, почему он всё ещё живёт в интерпретаторе, как его можно выключить и ускорить код. Разберём несколько реальных примеров, в которых оптимизированный код на тредах на Питоне работает так же быстро, как версия на C, или даже быстрее.