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

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

     11.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Asterisk + AMI + Python

Для тех, кто умеет работать с AMI Asterisk, ничего интересного тут нет. Для тех, кто только начинает что-то делать, вряд ли разберётся в моём коде (хотя я старался писать понятно). Вангую комментарии вроде: «Зачем использовать Хабр для своих заметок?». С другой стороны, приведённый под катом скрипт может стать кому-то отправной точкой. Скрипт ничего не делает кроме того, что шлёт в консоль все события из AMI и умеет их фильтровать. Для примера, я показываю в консоле все звонки, которые попадают в любой из контекстов «zadarma-in» или «sibseti_in». Если заинтересовал, прошу под кат

     10.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy

Разбил много кружек в поисках решения для быстрого получения длинных историй цен для большого количества активов в Python. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas.

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

     10.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи
     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Аналоги в Python и JavaScript. Часть первая

Несмотря на то что Python и Javascript довольно сильно отличаются, существует много схожего, о чем должен знать любой фулстек разработчик. В этой серии из 4-х статей мы увидим что есть общего в обоих языках, и рассмотрим ряд известных проблем а также способы их решения.

     09.07.2018       Выпуск 238 (09.07.2018 - 15.07.2018)       Статьи

Django Tutorial - Различные шаблоны для рендеринга разных типов контента в поисковой выдаче на сайте

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

     08.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

NumPy в Python. Часть 4

Всем здравствуйте, вот мы и подошли к конечной части. Приятного чтения!

     06.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Нейробугу́рт. Как мы научили нейросеть придумывать мемы на год раньше Стэнфорда

К написанию статьи меня подтолкнула вот эта новость (+исследование) про изобретение генератора мемов учеными из Стэнфордского университета. В своей статье я попытаюсь показать, что вам не нужно быть ученым из Стэнфорда, чтобы делать с нейросетями интересные вещи. В статье я описываю, как в 2017 году мы обучили нейронную сеть на корпусе из примерно 30 000 текстов и заставили ее генерировать новые интернет-мемы и мемы (коммуникационные знаки) в социологическом смысле слова. Описан использованный нами алгоритм машинного обучения, технические и административные трудности, с которыми мы столкнулись.

     06.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Управление окружением Python c Pipenv

Предположу, что для управления Python окружением в вашем проекте до сих пор используется pip и virtualenv.

 

Если это так, то позвольте рассказать о таком инструменте, как Pipenv.

Pipenv — это современный инструмент для управления рабочим окружением в Python.

Основные возможности pipenv:

  • Создание и управление виртуальным окружением
  • Синхронизация пакетов в Pipfile при установке и удалении пакетов
  • Автоматическая подгрузка переменных окружения из .env файла

     05.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Как использовать HDF5-файлы в Python

HDF5 позволяет эффективно хранить большие объемы данных

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

     05.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

kaggle: IEEE's Camera Model Identification

В конце зимы этого года прошло соревнование IEEE's Signal Processing Society — Camera Model Identification. Я участвовал в этом командном соревновании в качестве ментора. Об альтернативном способе формирования команды, решении и втором этапе под катом

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Формула Таппера и реализация алгоритма на Python

Не так давно на просторах интернета узнал о такой замечательной и удивительной копии Вавилонской библиотеки как о формуле Таппера. Вернее, это больше неравенство Таппера, чем формула. Особенность данного неравенства — оно создает собственное же изображение на графике. Просто посмотрите на это чудо!

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Django. Как сделать поиск по нескольким моделям данных Django

Статья о том, как сделать поисковую страницу на сайте, которая будет искать контент сразу в нескольких моделях данных, без использования сторонних библиотек.

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Как ИИ учится генерировать изображения кошек

Опубликованная в 2014-м исследовательская работаGenerative Adversarial Nets (GAN) стала прорывом в сфере генеративных моделей. Ведущий исследователь Янн Лекун назвал состязательные сети (adversarial nets) «лучшей идеей в машинном обучении за последние двадцать лет». Сегодня благодаря этой архитектуре мы можем создать ИИ, который генерирует реалистичные изображения кошек. Круто же!

     03.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Насколько open-source экосистема R хороша для решения бизнес-задач?

Поводом для публикации послужила запись в блоге Rstudio: «Shiny 1.1.0: Scaling Shiny with async», которая может очень легко пройти мимо, но которая добавляет очень весомый кирпичик в задаче применения R для задач бизнеса. На самом деле, в dev версии shiny асинхронность появилась примерно год назад, но это было как бы несерьезно и «понарошку» — это же dev версия. Перенос в основную ветку и публикация на CRAN является важным подтверждением, что многие принципиальные вопросы продуманы, решены и протестированы, можно спокойно переносить в продуктив и пользоваться.

 

А что еще есть в R, кроме «бриллианта», что позволяет превратить его в универсальный аналитический инструмент для практических задач?

     02.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Сортировки вставками

Общая суть сортировок вставками такова: Перебираются элементы в неотсортированной части массива. Каждый элемент вставляется в отсортированную часть массива на то место, где он должен находиться. Траффик

     01.07.2018       Выпуск 236 (25.06.2018 - 01.07.2018)       Статьи

Введение в Data classes

Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по-умолчанию".

     29.06.2018       Выпуск 236 (25.06.2018 - 01.07.2018)       Статьи

Сравнение сортировок обменами

Сферические алгоритмы в вакууме — это прекрасно. Однако давайте спустимся с небес на грешную землю и посмотрим как вся эта теоретическая красота покажет себя на практике.

Разбор очередного класса сортировок будет завершаться тестами для сортировок класса. Сегодня мы прогоним (не в смысле вышвырнем вон, а в смысле обкатаем на тестах) сортировки обменами. Сортировки других классов будем прогонять потом.

     28.06.2018       Выпуск 236 (25.06.2018 - 01.07.2018)       Статьи

Как пушить ивенты из Veeam Backup & Replication в мессенджеры

В этом посте я расскажу о том, как доставлять информацию о результатах действий из Veeam Backup & Replication v9.5 в MS Teams. Описанный в посте способ будет работать не только в этом, но и в любом другом мессенджере — потребуется только организовать доставку сообщений, используя профильный API.