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

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


Новый материал в ленте
  lxml - 5.1.1

Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/


Python Дайджест. Выпуск 97

(26.10.2015 - 01.11.2015)

поделиться выпуском 
pythondigest.ru: Выпуск 97

Статьи

  VIM и Python - Брак, заключенный на небесах

Эта статья покажет вам, как настроить vim для разработки на Python.

  PyTest

По историческому призванию я SQL-щик. Однако судьба занесла меня на BigData и после этого понесла кривая — я освоил и Java, и Python, и функциональное программирование (изучение Scala стоит в списке). Собственно на одном из кусков проекта встала необходимость тестирования кода на Python. Ребята из QA посоветовали для этих целей PyTest, но даже они затруднились толком ответить чем этот зверь хорош. К сожалению, в русскоязычном сегменте информации по данному вопросу не так уж и много: как это используют в Yandex да и все по-хорошему. При этом описанное в этой статье выглядит достаточно сложно для человека начинающего путешествие по этой стезе. Не говоря уже об официальной документации — она приобрела для меня смысл лишь после того, как я разобрался с самим модулем по другим источникам. Не спорю, там написаны интересные вещи, но, к сожалению, совсем не для старта.

Учебные материалы

  Фреймворк для распределенного Deep Learning

По этой ссылке вы найдете большой документ об фреймворке для распределенного "глубого обучения". Затронуты вопросы тестирования Deep Neural Network (DNN), big data, и машинное обучение

Колонка автора

  Hardcore Python: Оптимизация на грани и за ней

Возможно, вы видели доклад Антона Патрушева про оптимизацию Python — вплоть до отключения Garbage Collector. Это свежий доклад (PyCon RU 2015) и в нём вы найдете развитие идей оптимизации Python

  Пишем web-проекты: Погружение в полнотекстовый поиск, используя Python

Чем больше/непонятней сайт, тем чаще используют поиск. В докладе Андрея Солдатенко вы сможете узнать как организовать хороший поиск по вашему сайту

https://www.youtube.com/watch?v=vXl7EEURfO8

  Hardcore Python: Пишем свой интерпретатор

Говорят, что отличный результат для мужчины — построить дом, вырастить сына и посадить дерево. А если ты программист, то ещё написать свой язык программирования.

Сейчас уже нет чисто интерпретируемых языков, даже Python сначала компилируется в байт-код, а потом интерпретируется — исполняется. Но как это он делает?

Чтобы узнать магию внутренностей интерпретаторов предлагаю цикл статей Let’s Build A Simple Interpreter:

  Синтаксис Python: raw-unicode-escape против u'\xd0\x9a'

ython 2 и проблемы с кодировками — это единое целое. И мало, что сами файлы с исходниками сохраняют в самых разных кодировках, так и текстовые файлы с данными этим грешат. Казалось бы, используйencode/decode и что тут думать. Но бывает, что декодируешь юникод и получаешь строку:

u'\xd0\x9a\xd1\x83\xd1\x80\xd1\x83\xd0\xbc\xd0\xbe\xd1\x87'

  Учебные материалы: Куда ползёт питон?

Чем Python и его экосистема отличается от других языков программирования? Какая у Python ниша? Какие сильные и слабые стороны у языка и батареек? На все эти вопросы Григорий попробует ответить в своём обзорном докладе, рассказывающем о том, куда ползёт Python в 2015 году

https://www.youtube.com/watch?v=_79KfX-3sQc

  Пишем web-проекты: Использование gevent для эмуляции высокой нагрузки

Обязательное действие перед выпуском более-менее серьёзного проекта — тестирование производительности. На высоконагруженных проектах нужно точно знать, какую нагрузку они могут выдержать, причём заранее. Следовательно, нужен способ эмуляции высокой конкурентности, желательно чтобы в теории он позволял полностью загрузить канал траффиком. К тому же, неплохо было бы, чтобы для этого не нужно было использовать несколько десятков серверов. В докладе будет рассказано об опыте использования gevent для подобной задачи, что позволило бы обойтись одним t1.micro инстансом, с которого выполняется тестирование.

Интересные проекты, инструменты, библиотеки

  stackanswers.vim - плагин для vim, получаем ответы со stackoverflow прям из редактора

Проект служит хорошим примером соединения vimL (языка Vim) и Python для создания плагина.

  libtree - деревья в Python

Библиотека позволяет организовать работу с деревьями. Это будет очень просто и производительно. НО! Используется БД - Postgresql

  memorpy - редактируем память windows программ на лету

memorpy с помощью ctypes позволяет находить запущенные программы на Windows и редактировать их блоки памяти.

  agate - анализ данных для людей

agate - библиотека для анализа данных, которая оптимизируется для людей, а не для машин. При использовании agate множество рутинных задач берет на себя автоматика предоставляя наружу понятный API

  Legofy – превращаем изображение в лего-подобное

Библиотека для превращения изображения в лего-подобную

Before After

Релизы

  Релиз pyston 0.4

Реализация интерпретатора Python с помощью LLVM  и JIT.

  django-sitemessage 0.7.0 — Отправляем сообщения Telegram из Django

Вслед за torrt рассылать телеграммы научилось и django-sitemessage.

  PyPy 4.0.0

В отличие от прошлых выпусков, в версии PyPy 4.0 впервые наблюдается снижение производительности: новый выпуск в среднем на 1.5% медленнее прошлой версии PyPy, но по-прежнему в 7 раз быстрее классического CPython 2.7.