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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     07.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Колонка автора

Полезные инструменты: tox как средство тестирования

Если вы автор Python-библиотеки, то скорее всего вам необходимо поддерживать несколько версий Python. Стандартный набор - 2.6, 2.7, 3.3, 3.4 и сейчас уже 3.5. Поддерживать несколько версий Python помогают тесты.

Не секрет, что тесты помогают допускать меньше ошибок во время поддержки проекта. Например, вы можете смелее делать рефакторинг и быть уверены, что функционал который проверяют тесты работает.

Пускай написали тесты для озвученных версий Python, как их запускать? Постоянно менять venv и тыкать python run_test.py? Есть удобнее инструмент - tox...

     06.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Колонка автора

Учебные материалы: научная графика в python

На русском языке не так много хороший книг, но есть. Среди них выделяется пособие Шабанова Павла.

Данное электронное пособие на русском языке посвящено работе с научной графикой с помощью графической библиотекой matplotlib языка программирования python.

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

Главная цель пособия - облегчить изучение библиотеки matplotlib и предложить ряд готовых решений для создания научной графики высокого публикационного качества. Приведённые в учебнике примеры показывают возможности языка python для визуализации результатов научной деятельности.

Ссылка на книгу: https://github.com/whitehorn/Scientific_graphics_in_python

     06.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Колонка автора

Таинство стандартной библиотеки: functools.lru_cache — кэшируем результат выполнения функции

Начиная с версии 3.2, в Python появилась возможность стандартными средствами организовать мемоизацию. Иными словами, кэшировать результаты вызова функции. Этот механизм представлен в виде декоратора в модуле functools и называется lru_cache (least recently used cache)...

     03.10.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Статьи

Рекомендательная система на .Net или первые шаги с MyMediaLite

Пошел я как-то на курсы по BigData, по рекомендации друзей и мне посчастливилось поучаствовать в соревновании. Не буду рассказывать об обучении на курсе, а расскажу о библиотеке MyMediaLite на .Net и о том, как я ее использовал. 

     05.10.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Таинство стандартной библиотеки: multiprocessing

GIL Python снимает множество головной боли с программиста, но и не дает малой кровью использовать всю мощь CPU.
А что если реально надо быстрее исполнить код? Например, надо сделать 1000 запросов в web.
Можно...[Продолжение]

     03.10.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Таинство стандартной библиотеки: logging

Logging — библиотека для удобного ведения логов в Python
В любой разработке приходится рано или поздно вести логи, ведь не отдашь же заказчику программу где отладочные сообщения выводятся с помощью print, да и в...[Продолжение]

     02.10.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Hardcore Python: Python и Real-time?

Возможно!
Рассказ "Управление памятью в real-time приложениях Python" Антона Патрушева покажет как можно писать Python приложения с максимально быстрым откликом.

PyNSK #3 — третья встреча Новосибирского Python сообщества

IT-досуг в Новосибирске не отстает от столицы — почти каждую неделю можно пообщаться о технологиях в кругу единомышленников. Для любителей Python организовано сообщество PyNSK. 11-го октября (воскресенье) состоится третья встреча. Она пройдет в анти-кафе «Самовар» и начнется 13-00. На встрече вас ждет море общения и 2 доклада:...

     30.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Статьи

Пробуем JSON в Django и PostgreSQL (и сравниваем с MongoDB)

В Django 1.9 будет добавлено поле JSONField, его можно использовать с базой данных PostgreSQL >= 9.4. Давайте попробуем с ним поработать и оценить, насколько оно удобно.

В данный момент доступна альфа версия django 1.9, финальная запланирована на декабрь 2015. Установить альфа версию можно так:

pip install --pre django

Итак представим, что у нас есть интернет магазин, в котором мы предлагаем товары разных типов. Например, ноутбуки и футболки. Очевидно, что у таких товаров будет разный набор параметров: у футболок будет размер, цвет, а у ноутбуков - размер экрана, частота процессора, объем жесткого диска и прочее. Один из подходов для работы с такими данными в SQL - Entity–attribute–value model (EAV).

     01.10.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Интересные концепции: mixin'ы (примеси)

В определенных случаях множественное наследование это зло.
Добро - когда классы родители не перекрывают друг друга. Частный случай такой схемы - примиси == миксины == mixin == mix in.
Концепция примисей...[Продолжение]

     01.10.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Полезные инструменты: pythontutor.com

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

Полезные инструменты: pylint - в поисках ошибок

Статический анализ кода — анализ кода без реального исполнения кода.
Под словом "анализ" можно понимать многое - что код соответствует PEP8, что код безопасный (все типы верно приведены), что код не содержит...[Продолжение]

     29.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Статьи

Наиболее частые проблемы Python и решения

Перевод статьи «Most Frequent Python Problems and Solution» с сайта pamno.com. Мы проанализировали Stack Overflow на предмет наиболее часто встречающихся проблем и резюмировали ответы. 

     30.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Полезные библиотеки: langid.py

Представим ситуацию: есть блог, в котором публикуются посты на двух языках (а может и на 10). Необходимо рассортировать посты по языкам в разные RSS. (постов очень много, пускай 1000)
Вопрос к аудитории - как вы...[Продолжение]

     29.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Видео
     28.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Таинство стандартной библиотеки: Магические методы в Python

Статья от Rafe Kettler.
Что такое магические методы?
Они всё в объектно-ориентированном Питоне. Это специальные методы, с помощью которых вы можете добавить в ваши классы «магию». Они всегда обрамлены двумя...[Продолжение]

     28.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Синтаксис Python: frozenset - морозное множество

frozenset и set, это как кортеж (tuple) и список. Первые являются неизменяемыми, вторые изменяемые.
Иммутабельные(неизменяемые) структуры данных - это коллекции, которые нельзя изменить. Примерно как числа. Число...[Продолжение]

     25.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Статьи

Перенаправление данных из COM-порта в web. Доработка

Недавно я опубликовал статью «Перенаправление данных из COM-порта в web», в которой описал прототип системы, транслирующей строки из последовательного порта компьютера в веб-браузер. В той статье я указал направления, в которых надо доработать прототип, чтобы приблизить его к продакшен-стадии:
— никакой дизайн веб-страницы
— в каждый момент времени данные получит только один веб-клиент
— очень ограниченный набор браузеров, с помощью которых можно получить доступ. Например, не работает ни в Internet Explorer 8, ни в браузере из Android 2.3.5
— требуется установка python

     27.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Таинство стандартной библиотеки: collections

Модуль collections - предоставляет специализированные типы данных, на основе словарей, кортежей, множеств, списков. Этот модуль хорошо себя показывает при частой работе со словарями и списками.
Например, данный...[Продолжение]

     25.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Статьи

ZIP в python (zipfile)

Модуль zipfile (входит в стандартный набор python) позволяет как создавать так и читать zip файлы. Разберем все на примерах.