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

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

     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. Статья расскажет о структуре интерпретаторе. Эта статья сможет помочь погрузиться в тему интерпретаторов

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

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

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

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

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

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

Asyncio Tarantool Queue, вставай в очередь

В одной из своих статей я рассказывал об асинхронной работе с Tarantool на Python. В данной статье продолжу эту тему, но внимание хочу уделить обработке информации через очереди на Tarantool. Мои коллеги опубликовали несколько статей о пользе очередей (Инфраструктура обработки очередей в социальной сети Мой Мир и Push-уведомления в REST API на примере системы Таргет Mail.Ru). Хочу дополнить информацию об очередях на примере решений наших задач, а также рассказать о работе с Tarantool Queue на Python и asyncio. Почему мы выбираем именно Tarantool, а не Redis или RabbitMQ?

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

Нейросеть в 11 строчек на Python: часть 1

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

Дайте код!

X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)

Слишком сжато? Давайте разобьём его на более простые части.

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

Хроники лаборатории: как мы молотый кофе считали софтом для анализа клеточных структур

Продолжаю кофейную тематику, которую я начал еще на geektimes: Здравствуйте, я Meklon и я кофеин-зависимый. Сегодня мы будем творить непотребства с софтом для биоинженерных задач — CellProfiler. Нормальные люди им считают клетки, плазмиды, экспрессию белка и прочие нужные вещи. Мы долбанутые, поэтому будем проводить гранулометрический анализ помола по микрофотографии, бить кофе статическим электричеством и думать, как прицепить к этому безобразию фен. Ну и конечно нам потребуется скотч для получения графена картины распределения частиц.

В целом, компьютерный анализ изображения — штука гибкая и может применяться в совершенно странных задачах. Заодно проверим, можно ли заменить турку колбой с магнитной мешалкой. В конце концов, главный принцип выживания в лаборатории — «Нет кофе — нет работы») Под катом очень много фотографий, но я постарался их ужать до приличных размеров.

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

Raspberry Pi 2 + цветок == интересная задача

Статья описывает как воспользоваться датчиком влажности и получить с него данные через Интернет. 

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

Конвертируем XLSX в PDF

По ссылке вы найдете готовый код для конвертирования XLSX в PDF

     22.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Статьи

JSON парсеры - производительность и потребление памяти

В статье вы найдете подробное сравнение JSON парсеров. Будут рассматрваться такие параметры как производительность и потребление памяти.

Список JSON библиотек:

cjson, rapidjson, yajl, ujson, jsonlib2, jsonlib, simplejson, json.

 

     20.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Статьи

Профилируем Python используя cProfile

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

     20.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Статьи

Пишем распределенную систему на AWS Lambda, Python и DynamoDB

В этой статье мы представим полный пример системы агрегации данных с помощью Python, событий S3 и DynamoDB.

     20.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Статьи

Сравнение 7 инструментов для визуализации

В этой статье мы будем использовать реальные данные и попробуем визуализировать их с помощью 7 библиотек для визуализации.

     20.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Статьи

Асинхронное программирование на Python 3

Введение в async и await и асинхронное программирование

     19.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Статьи

Скачивание треков с Autotravel.ru

Как и многие любители путешествовать, я нахожу координаты достопримечательностей городов на сайте autotravel.ru (далее — сайт). Под свои нужды написал небольшую утилиту для скачивания файлов с достопримечательностями для последующей заливки в навигатор. Программа предельно простая, но работает именно так, как мне было нужно. Кроме того реализовано простейшее средство экономии времени загрузки и траффика — кэширование.

Программа, которую я назвал AtTrackDownloader, написана на Python 3 с использованием Beautiful Soup — библиотеки для синтаксического разбора файлов HTML. Для графического интерфейса используется PyQt — просто потому, что я знаком с Qt.