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

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

     27.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи

Оптимизация производительности Django REST Framework

Статья описывает один из способов оптимизации модуля Django-rest-framework

     27.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи

Старт с Docker, Compose и Django

Это пошаговый туториал о том, как начать использовать docker с django

     27.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи

BDD тестирование REST приложения

Это статья-введение в behaviour-driven development (BDD) на примере REST Python-Flask приложения

     27.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи

Python 3.5 type hinting в PyCharm 5

Статья рассказывает как PyCharm поддерживает type hinting 

     27.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи
     27.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи

Python интерпретатор написанный на Python

Byterun это интерпретатор Python написанный на Python. Статья расскажет о структуре интерпретаторе. Эта статья сможет помочь погрузиться в тему интерпретаторов

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Новости

PythonDigest — выпуск номер 100 и другие замечательные новости

Python жив! С такого громкого заявления хочется начать статью. 

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

В конце 2014 года мы подводили итоги за год. В этот раз мы рассмотрим тенденции за неполные 11 месяцев 2015-года.

Но перед тем как перейдем к тенденциям — расскажем что сделали за (почти) год. 

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Интересные концепции: webhook

Webhook — механизм получения уведомлений об определённых событиях (в основном о действиях пользователей) на свой собственный сайт. В момент срабатывания события - бросается запрос (чаще всего POST) на указанный URL.

Например, разновидность Webhook - GitHook - отслеживает статус Git-репозитория на предмет изменений - пришел коммит на определенную ветку, проставили тэг и другое. 

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Практические задачи: Задача #001 - генерация псевдо-настоящих данных о пользователе

Задача #001 - псевдо-настоящих данных о пользователе.
Описание:

Запускается сайт знакомств - http://super-dating-site.com/ и чтобы повысить привлекательность среди новых пользователей необходимо заполнить сайт пользователями.....

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Пишем web-проекты: jinja2 - шаблонизатор

Jinja — это шаблонизатор для языка программирования Python. Он подобен шаблонизатору Django, но предоставляет Python-ические выражения, обеспечивая исполнение шаблонов в песочнице. Это текстовый язык шаблонов и, таким образом, может быть использован для создания какой-либо разметки, а также исходного кода. Шаблонизатор Jinja позволяет настраивать теги, фильтры, тесты и глобальные переменные. Также, в отличие от шаблонизатора Django, Jinja позволяет конструктору шаблонов вызывать функции с аргументами на объектах.

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Пишем web-проекты: django-braces - набор миксин на все случаи жизни

При разработке сколько-либо сложного django-проекта необходимо из раза в раз писать одинаковые куски кода - разграничивать доступ к контенту.

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

В случае с уровнем доступа, с авторизацией и прочими типовыми задачами есть набор готовых миксин - django-braces.
Django-braces позволяет в пару copy-paste сделать авторизацию, регистрацию пользователя, вернуть ответ view'хи в виде JSON, работать с SSL- эти и многие другие куски кода можно взять в этом модуле.

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Полезные библиотеки: swig - запускаем C-код из Python

Для работы с С-библиотеками есть несколько способов:
- Писать программу на С/C++ и подключать DLL (.so) файлы
- Попытаться напрямую запустить C код из нужного языка. 

Перед тем как продолжить - зачем нужно запускать C/C++ код?
Все просто - например, работаем с железом, а значит и с драйверами (а их пишут на C). Вот здесь и появляется необходимость взаимодействовать с С кодом.

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

API всему голова: ВКонтакте - от начала до отправки сообщения другу

Работа с API сервисов это всегда история по типу "Ожидание...реальность". Ибо даже простое API может скушать день, а то и 2 дня рабочего времени.

API Вконтакте не исключение. Уже есть очень много материалов на тему использования этого интерфейса

И из раз в раз гугл мучается от запросов "Vk.com api". Пользователи ищут примеры авторизация, документацию, примеры использования. Поэтому я приведу один из вариантов старта в API Вконтакте, а именно. Мы отправим hello world другу.

     25.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Статьи

Нам нужны не столь мощные языки программирования

Сегодня многие системы и языки программирования позиционируются как «мощные». Нельзя сказать, что это плохо. Почти каждый из нас считает это положительным свойством. Но в этом посте я хочу донести такую точку зрения, что во многих случаях нам нужныменее мощные языки программирования и системы. Но прежде чем продолжить, уточню: здесь будет мало оригинальных, моих собственных размышлений. Я буду излагать ход мыслей, возникший по прочтении книги Дугласа Хофштадтера «Гёдель, Эшер, Бах», которая помогла мне собрать воедино разрозненные идеи и мысли, бродившие в голове. Также большое влияние на нижеизложенный материал оказали пост Филипа Вадлера и видеозапись с конференции Scala. Ключевая мысль такова:

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

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

     25.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Интересные проекты, инструменты, библиотеки

AppImageKit - покуем desktop приложение в виде AppImages

AppImages позволяет запустить приложение на самых различных Linux'ах -  RHEL, CentOS, Ubuntu, Fedora, Debian и подобных