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

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

     15.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

Распознавание и локализация исчезающих китов с помощью сверхглубоких нейронных сетей

В статье автор описывает свое решение этой проблемы. Решение этой Kaggle задачи заняло 2ое-место.

     15.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Новости

PEP 0510 -- Specialize functions with guards

В Python много изменяемого состояния: встроенные функции, код функций, глобальные переменные, локаьные переменные... Для оптимизации программ необходимо знать где какой-то объект изменился.

PEP добавляет в Python функции на C API, чтобы специализировать чисто Python-функции: добавить возможность писать функции с "охраннимиками" (guards), которые следят за объектами (делают версионирование объектов). Это позволит реализовать статические оптимизаторы соблюдая семантику Python

     15.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Новости

PEP 0509 -- Скрытая версия для словарей

В Python много изменяемого состояния: встроенные функции, код функций, глобальные переменные, локальные переменные... Для оптимизации программ необходимо знать где какой-то объект изменился.  

Этот PEP добавляет "охранников" (guards), которые следят за объектами словарей. При изменении словаря версия словаря увеличивается.

     15.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Интересные проекты, инструменты, библиотеки

jug - фреймворк для распределенных вычислений

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

     14.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

Проектирование сложных приложений в Flask

Данная статья, размещенная в репозитории Flask на GitHub, является плодом коллективного творчества небезразличных программистов, а изначальный её автор — Brice Leroy. Она представляет собой достаточно полезный для начинающих материал по Flask. Лично для меня он стал ответом на многие простые вопросы, основным из которых был «как структурировать проект».

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

Описанный пример протестирован на Python 3.5, Flask 0.10, Flask-SQLAlchemy 2.1, Flask-WTF 0.9.

     13.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Интересные проекты, инструменты, библиотеки

django-classic-theme - классическая тема (из django 1.8-)

Модуль содержит набор css/js, которые возвращают старую админку для django 1.9+

     13.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

hasattr() - вредная конструкция

Статья описывает почему не стоит использовать hasattr() в своем коде. 

     13.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

Мой подход к Class Based Views

Когда-то я писал о своей неприязни к Class Based Views (CBV) в Django. Их использование заметно усложняет код и увеличивает его объём, при этом CBV мешают применять некоторые достаточно распространённые шаблоны (скажем, когда две формы представлены в одном view). И судя по всему, я не единственный из разработчиков Django, придерживающийся такой точки зрения.

Но в этом посте я хочу рассказать об ином подходе, который я применил в одном из проектов. Этот подход можно охарактеризовать одной фразой: «Создавайте свой собственный базовый класс». 

     14.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

CPython для самых маленьких: объекты и их атрибуты

Продолжение обсуждения бекенда CPython - всего того, что стоит за транслятором текста в байткод

     13.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Интересные проекты, инструменты, библиотеки

Собственный pypi сервер

Pypi это бекенд для pip. Сервер, позволяет проксировать запросы с pypi.python.org, а также заливать собственные с авторизацией.

     12.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи
     12.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

Django Single Sign-On и Microsoft Active Directory

Однажды мне пришлось заняться разработкой Web-приложения для корпоративного использования на Python+Django. И самым первым вопросом, который пришлось решать — это прозрачная авторизация на сайте или Single Sign-On (SSO).

Хотя о вопросе реализации SSO для Django написано немало статей, однако для того, чтобы реализовать то, что мне было необходимо, пришлось затратить относительно много времени. Поэтому, чтобы избавить некоторых из вас от возможных долгих поисков информации и ее сборки в работающую схему, предлагаю вам свой мануал, как сделать прозрачную авторизацию в приложении Django с использованием учетных записей Active Directory.