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

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

     05.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Вопросы и обсуждения
     05.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Вопросы и обсуждения
     05.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Использование Python для формирования отчетов в отдельно взятой компании

Эта история случилась в реальной компании, несмотря на то, что некоторые имена и события вымышлены.

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

Хитрым глазом смотрело начальство на менеджера по продажам и вопрошало: а что ты сделал сегодня для Родины. Продавец отвечал: провел столько то встреч, предлагал услуги стольким то людям. Руководство пришло к Славе и говорит: скажи, правду ли говорят сотрудники или так, отсебятину несут. Нужна статистика.

     04.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Как создать свой итератор в Python

Некоторое время назад я написал статью о протоколе итераторов, который поддерживает цикл for в Python. Одна вещь, которую я пропустил в этой статье, это то, как создавать свои собственные итераторы.

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

     04.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Python: range не является итератором!

После моего выступления в Loop Better на PyGotham 2017 кто-то задал мне отличный вопрос: iterator – это lazy iterable (iterable это итерируемый объект а lazy означает отложенное действие прим. переводчика), и range – это lazy iterable в Python 3? Является ли range итератором?

К сожалению, я не помню имя человека, который задал мне этот вопрос. Я помню, что говорил что-то вроде «о, я люблю этот вопрос!»

Мне нравится этот вопрос, потому что range объекты в Python 3 (xrange в Python 2) действительно объекты с отложенным действием то есть lazy, но range объекты не являются итераторами, и это то, что, как я вижу, люди часто путают.

В прошлом году я много раз слышал, что новички в Python, опытные программисты Python и даже другие инструкторы Python ошибочно называют range объекты в Python 3 итераторами. Это особенность часто путает многих людей.

     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Моделируем алгоритм MUSIC для задач определения направления прихода электромагнитной волны

Начну своё вступление издалека. Давным-давно, в далеких 2016-2017 годах вашему покорному слуге удалось съездить на полугодовое обучение в далекий город Ильменау (Германия), где он успешно (в общем и целом) закончил магистерскую программу Communications and Signal processing. Программа оказалась не из простых, однако сейчас о ней вспоминать даже приятно. Иногда...

 

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

Один из таких материалов перед вами.

     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи
     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи
     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Релизы
     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Monkey Patching в Python: объяснение с примерами

В этой статье рассказано о monkey patching (обезьяний патч см wiki), то есть о том, как динамически обновлять поведение кода во время выполнения. Мы также рассмотрим некоторые полезные примеры monkey patching в Python.

     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Экзотические структуры данных: Modified Merkle Patricia Trie

Примерно к этому сводятся комментарии большинства статей про прохождение технических интервью. Основной тезис, как правило, заключается в том, что всё так или иначе используемое уже реализовано по десять раз и с наибольшей долей вероятности заниматься этим рядовому программисту вряд ли придётся. Что ж, в какой-то мере это верно. Но, как оказалось, реализовано не всё, и мне, к сожалению (или к счастью?) создавать Структуру Данных всё-таки пришлось.

     03.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Статьи

Анализ статистики по рекламным кампаниям — создаем в DataFrame новую метрику (python)

Для маленьких клиентов (а также для клиентов, у которых сложная для анализа многоканальность) я слежу за чистым CPC (клики, CTR, цена клика, отказы).

Задача: понять какая рк работает эффективней и, исходя из этого, отредактировать ставки.

Для этого я в аналитике использую стоимость полезного клика (CUC — Cost per Useful Click). Данный показатель учитывает стоимость клика, и показатель отказов.

     02.04.2019       Выпуск 276 (01.04.2019 - 07.04.2019)       Конференции, события, встречи разработчиков

Moscow Python Conf ++ через три дня: о чем расскажет Bobuk и кто в это время выступит в параллельных залах?

Эксперимент по подготовке докладов на Moscow Python Conf ++ с нуля на финишной прямой. Слайды готовы, прогоны провели, осталось только дождаться премьеры — уже в эту пятницу 5 апреля. В расписании 24 доклада про использование Python в продакшене крупных компаний. Под катом — взгляд на организацию глазами программного комитета и смешные проблемы вроде «кого ставить в параллель хедлайнеру, чтобы не было пустых залов и обиженных спикеров».