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

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

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

Запускаем LDA в реальном мире. Подробное руководство

На просторах интернета имеется множество туториалов объясняющих принцип работы LDA(Latent Dirichlet Allocation — Латентное размещение Дирихле) и то, как применять его на практике. Примеры обучения LDA часто демонстрируются на "образцовых" датасетах, например "20 newsgroups dataset", который есть в sklearn.

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

Django. Как добавить авторизацию через социальные сети. ВКонтакте

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

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

В объятьях Питона (только для женщин)

Я, как всегда, никуда не собиралась, когда в новостной ленте «ВКонтакте» вдруг увидела сообщение, что завтра последний день подачи заявок на Django Girls в Санкт-Петербурге — мастер-класс по программированию на Python для женщин. Обычно я читаю такие сообщения, когда регистрация на мероприятие уже закрыта. У меня особое везение на такие дела — узнать о событии на следующий день после его завершения. Поэтому, когда я поняла, что появилась реальная возможность попасть на бесплатный тренинг по Python, то быстро заполнила заявку, на всякий случай забронировала отель и стала ждать.

Мне кажется, я сразу знала, что меня примут, иначе как объяснить, что я проморгала аналогичное событие в Москве месяцем раньше и попала именно в Санкт-Петербурге! Можно ли придумать лучшее время для поездки: лето и белые ночи, чемпионат мира с возможностью посетить фан-зону на Конюшенной площади, знакомство с IT-сообществом Django Girls и офисом Wargaming, и под занавес праздник «Алые паруса»!

     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). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по-умолчанию".