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

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

     16.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Статьи

R vs Python: лицом к лицу утилиты для анализа

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

     16.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Статьи

Парсим изображения с помощью Python и Scrapy

В этом посте вы узнаете, как с помощью Python спарсить все изображения обложек журнала Time.

     16.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Статьи

Создаем интерактивную карту криминала на Folium

Этот пост описывает, как использовать Folium, чтобы визуализировать набор данных о преступности в Сан-Франциско. А затем как задеплоить код как сервис с помощью Domino

     16.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Колонка автора

Опыт разработчиков: использование переменной _

Хорошие имена переменных - это признак хорошего кода. Для циклов часто используют одно-буквенные переменные, для временных переменных тоже короткие, для глобальных - ЗАГЛАВНЫЕ. Есть и другие рекомендации. Все они написаны кровью из глаз разработчиков.

Перейдем к заголовку и сразу пример: Пускай есть функция, которая возвращает 3 значения...

     15.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Интересные проекты, инструменты, библиотеки

datalab - интерактивная утилита для Big Data на базе Google Cloud Platform

Google Cloud DataLab предоставляет удобный, интерактивный инструмент для визуализации, анализа, обработки данных. Утилиты позволяют работать с Python, SQL, и Google Cloud Platform с сервисами BigQuery и Storage.

     15.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Колонка автора

Таинство стандартной библиотеки: сериализуем данные с помощью marshal

Наверное, вы слышали про модуль Pickle, который умеет сериализовать объект в бинарный вид, который можно потом сохранить/загрузить в /из файл.

А модуль marshal сериализует объект в текстовый вид. Получив строку вы можете отправить ее другу по email, а уже из строки снова получить объект

     14.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Видео

Python + GPGPU: ожидания и реалии

В докладе расскажу, как добиться дополнительного ускорения сложных вычислений. Будут разобраны подводные камни многопоточности в CUDA, перечислены особенности оптимизации программ для графического процессора и представлены полезные средства отладки и профилирования. Дополнительно приведу примеры из собственного опыта распараллеливания и оптимизации такого рода программ.

     14.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Видео

Получаем текст веб-страниц из Python и как это работает

Мы рассмотрим python-библиотеку под названием readability-lxml (https://github.com/buriy/python-readability), её применение и механизм работы для задачи извлечения текстов новостных страниц.

     14.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Колонка автора

Интересные концепции: fuzzy-testing - тестирование грубой силой

Тестирование программ повышает уверенность в ее способности работать. Есть даже большие школы, которые говорят о тестах, например, TDD, BDD.

У ручных тестов есть недостаток, среди прочих - тесты пишет человек. В следствии этого - он не сможет проверить работу функции/класса/etc на всех данных. А когда нам быть уверенным что даже на самых невалидных данных работает корректно, то без случайных данных не обойтись.

     13.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Колонка автора

Полезные инструменты: fabric - автоматизируем рутину

Ситуация: написали web-проект, свой, домашний, а может и на работе. Надо его опубликовать в Интернет - задеплоить. Зашли на сервер, активировали venv, скачали новые исходники из репозитория, накатили миграции, обновили static-файлы, перезапустили, предположим, celery, перезапустили uwsgi.

И тут, поняли что забыли раскоментировать строчку в коде. Делаем коммит, снова заходим на сервер, активировали venv.... Зачем вся эта рутина с деплоем? Может есть способ проще? Мы же IT-шники, давайте напишем скрипт.

     14.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Релизы

pex - 1.1.0

Библиотека и утилита для генерации .pex (Python EXecutable) файлов. Изменения описаны по ссылке https://allmychanges.com/p/python/pex/#1.1.0. Скачать можно по ссылке: https://pypi.python.org/pypi/pex

     13.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Интересные проекты, инструменты, библиотеки

vim-autosurround - автоматически закрываем скобки в Vim

vim-autosurround - это плагин написанный на Python, который позволяет упростить установку второй скобки (закрывающей)

     13.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Колонка автора

Интересные концепции: какой смысл с Объектном подходе?

В Интернет часто говорят об ООП, об объектах. Так какой смысл во всем этом? Какая польза, недостатки? Соображения на эту темы вы сможете найти в видео:

     12.10.2015       Выпуск 95 (12.10.2015 - 18.10.2015)       Колонка автора

Синтаксис Python: do...while

Цикл do while отличается от цикла while тем, что в do while сначала выполняется тело цикла, а затем проверяется условие продолжения цикла. Из-за такой особенности do while называют циклом с постусловием. Таким образом, если условие do while заведомо ложное, то хотя бы один раз блок операторов в теле цикла do while выполнится.

Иииии.... такой конструкции - do...while нет в Python. Написать цикл с постусловие можно так:

     10.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Интересные проекты, инструменты, библиотеки

Скрытая отправка файлов через DNS

В рамках проекта dnsteal развивается фиктивный DNS-сервер, позволяющий организовать скрытую отправку файлов по протоколу DNS, используя штатные системные утилиты резолвинга.

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

Python проекты: интерпретатор PyPy

PyPy — это интерпретатор Python, который написан на Python (RPython) и может компилировать сам себя.

Основное отличие от обычного CPython — наличие JIT компилятора. Прелесть JIT компилятора в том, что в течении работы программы оптимизируются ее части.

Скорость исполнения кода на PyPy выше. На сайте http://speed.pypy.org/ вы можете найти сравнения CPython и PyPy. На сайте есть график (в самом низу): На графике видно, что скорость исполнения одного и того же кода на CPython и PyPy различается в среднем в 7 раза.

     12.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Статьи

pywhat - подборка неочевидных и вводящих в заблуждение языковых консрукций

Не только в Ruby и JavaScript есть неочевидные вещи. Python тоже не отстает.