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

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

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Освобождаем руки нескольким аналитикам: API Livy для автоматизации типовых банковских задач

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

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

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

Возможно вы что то слышали о стеках и задавались вопросом, что это такое? У вас есть общее представление об этом, но вам интересно, как реализовать стек в Python? Тогда вы пришли в нужное место!

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Как превратить свою аватарку в Telegram в часы

Недавно сидел я в одном сообществе программистов в Telegram и заметил один очень любопытный профиль. Любопытным было следующее — на главном фото у него было изображено нынешнее время. Мне стало жутко интересно как он этого добился, и я решил во что бы то ни стало написать такую же программу. 

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Python не запрещает вызов private/protected методов потому, что любит тебя :-)

Много копий сломано в обсуждениях того, почему питон эдакий бяка — не запрещает вызывать непубличные методы. И конечно, не раз звучали объяснения в духе «мы все тут взрослые люди», но похоже их было недостаточно, мне кажется, я наконец понял, как это объяснить более понятно, надеюсь, что это действительно так. Напомню, что для private методов питон всего-лишь динамически изменяет имя и никак не ограничивает доступ к нему, а для protected не делает и этого, это просто соглашение об именовании методов, для тех кто не очень в курсе, есть дополнительные материалы.

     21.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Как выбрать лучшее место для открытия филиала и визуализировать результаты на картах

Выбор места для нового филиала — ответственное решение. Ошибка может стоить дорого, особенно в капиталоемких отраслях. Чаще всего такие решения принимаются менеджментом экспертно: на основе знания города, отрасли, предыдущего опыта. В статье я расскажу о том, как аналитика может помочь в принятии таких решений. Как собрать информацию о населении, ценах на недвижимость и сделать интерактивные визуализации. Зависит ли кол-во клиентов от расстояния до филиала, года постройки дома, стоимости недвижимости. Население города с точностью до дома.

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Мелкая питонячая радость #4: Radon — качество кода, измеренное в числах

Инженеры очень любят измерения и числа. Поэтому нет ничего удивительного в том, что они пытаются измерять в численном виде такую нетривиальную штуку, как качество кода. Метрик для оценки текстов программ придумали немало — от банального количества строк кода в проекте до не столь очевидного "индекса поддерживаемости" (Maintainability Index). Подробно про все существующие способы обмазывания кода всякими метриками можно почитать в этой статье. В мире Python, конечно же, есть своя штука для оценки качества кода. Она называется radon. Она написана на Python и работает исключительно с питонячими файлами. 

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Автоматизация скучных вещей в Django с помощью фреймворка Check

В этой статье я описал примеры из моего личного опыта, как мы используем библиотеки inspect, ast.

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Выделение ядра Питона

Глиф Лефковиц озвучил идею отделения «батареек» Питона от ядра.

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи
     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml

В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой функциональности, написанных очень компетентными программистами на разных языках, и сравнить разницу в дизайне и выборе языка.

Я расскажу, почему считаю это хорошим сравнением, приведу некоторую информацию о каждом проекте и объясню некоторые причины различий в размере компилятора. Также сделаю выводы из каждого сравнения. Не стесняйтесь использовать эти ссылки, чтобы перейти к интересующему разделу:

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Нейросети и глубокое обучение: онлайн-учебник, глава 1

Этот учебник подробно расскажет вам о таких понятиях, как:

 

  • Нейросети — прекрасная программная парадигма, созданная под влиянием биологии, и позволяющая компьютеру учиться на основе наблюдений.
  • Глубокое обучение – мощный набор техник обучения нейросетей.
Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Полезные инструменты Python

Когда вы только начинаете учить Python, кто-то объясняет вам, что вы можете добавить свою папку с исходниками в переменную среды PYTHONPATH и тогда ваш код можно будет импортировать из других директорий. Очень часто объясняющий забывает сказать, что в большинстве случаев – это плохая идея. Некоторые люди узнают это в интернете, другие просто понимают на собственном опыте. Но слишком большое количество людей (особенно неопытные программисты), думают, что других альтернатив быть не может.

Эта статья в основном для них.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Книга «Вероятностное программирование на Python: байесовский вывод и алгоритмы»

Байесовские методы пугают формулами многих айтишников, но без анализа статистики и вероятностей сейчас не обойтись. Кэмерон Дэвидсон-Пайлон рассказывает о байесовском методе с точки зрения программиста-практика, работающего с многофункциональным языком PyMC и библиотеками NumPy, SciPy и Matplotlib. Раскрывая роль байесовских выводов при А/В-тестировании, выявлении мошенничества и в других насущных задачах, вы не только легко разберетесь в этой нетривиальной теме, но и начнете применять полученные знания для достижения своих целей.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Заполняем документы в Microsoft Word при помощи Python. Часть 1

Начиная с 21 декабря 2016 года вступили изменения в ФЗ РФ «О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма», касательно обязанности юридического лица по раскрытию информации о своих бенефициарных владельцах. В связи с этим, многие компании направляют запросы по цепочке владения с целью выяснения своих бенефициарных владельцев. Кто-то формирует запросы на бумаге, кто-то рассылает электронные письма.

     18.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Dataclasses и attrs: когда и почему

В Python 3.7 были представлены dataclasses (PEP557). Dataclasses могут быть удобным способом создания классов, основная цель которых состоит в том, чтобы содержать значения.

Дизайн dataclasses основан на существующей библиотеке attr.s. На самом деле Гинек Шлавак (Hynek Schlawack) является автором attrs и он же помог с написанием PEP557.

     17.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи
     17.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи
     17.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи
     17.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

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

Заголовок статьи может показаться странным и это неспроста — он прекрасен именно тем, что написал его не я, а LSTM-нейросеть (а точнее его часть перед "или").

И сегодня мы разберёмся, как можно генерировать заголовки статей Хабра (и в принципе сам текст можно генерировать этой же нейро-архитектурой). Весь код доступен для запуска онлайн в notebooks от Гугла. Данные, как всегда, открыты на github.