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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     10.11.2016       Выпуск 151 (07.11.2016 - 13.11.2016)       Статьи

Способы задания цвета в Matplotlib matplotlib

Статья с описанием возможных способов задания цвета в библиотеке для построения графиков Matplotlib.

     09.11.2016       Выпуск 151 (07.11.2016 - 13.11.2016)       Статьи

Рекомендации на основе изображений товаров

В данной статье я хотел бы рассмотреть на практике вариант построения простейшей рекомендательной системы основанной на схожести изображений товаров. Этот материал предназначен для тех, кто хотел бы попробовать применить Deep Learning, а именно свёрточные нейронные сети, в простом, интересном и практически применимом проекте, но не знает с чего начать.

     07.11.2016       Выпуск 151 (07.11.2016 - 13.11.2016)       Статьи

Немного фактов о python asyncio

Всем привет! Хотелось бы поделиться опытом использования python asyncio. За полтора года использования в продакшене накопился некоторый опыт, общие приемы, облегчающие жизнь. Естественно, были и грабли, о которых также стоит упомянуть, ибо это поможет сэкономить кучу времени тем, кто только начинает использовать в своих приложениях asyncio. Кому интересно — прошу под кат.

     07.11.2016       Выпуск 151 (07.11.2016 - 13.11.2016)       Статьи

Как устроен парсер Python, и как втрое уменьшить потребление им памяти

Любой, кто изучал устройство языков программирования, примерно представляет, как они работают: парсер в соответствии с формальной грамматикой ЯП превращает входной текст в некоторое древовидное представление, с которой работают последующие этапы (семантический анализ, различные трансформации, и генерация кода).

     04.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Видео

Олег Чуркин (Rambler&Co) - Django: правильно готовим ORM

Доклад с Moscow Python Conf 2016 (http://conf.python.ru)
Слайды: https://conf.python.ru/django-orm/

В докладе будут затронуты большинство тем, которые необходимо знать современному python-разработчику, чтобы эффективно использовать функционал Django-ORM для построения высоконагруженных web-проектов.
Поговорим и про классические ошибки при работе с QuerySet’ами и про профилирование и про code style. Выясним как можно сэкономить память и время при выполнении запросов, покажу популярные ошибки при проектировании схемы данных и при использовании миграций, а так же рассмотрим несколько распространенных задач современного веба, которые в Django еще не решены или решены некорректно.

     04.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Видео

Алексей Лавренюк (Яндекс) - Методика нагрузочного тестирования

Доклад с Moscow Python Conf 2016 (http://conf.python.ru)
Слайды: https://conf.python.ru/metodika-nagruzochnogo-testirovaniya/

Я расскажу об этапах тестирования производительности типичного сервиса, о том, какие виды тестов нужно проводить, как интерпретировать результаты измерений и об инструментах, которые мы применяем для генерации нагрузки и анализа результатов тестов. Слушатели доклада научатся применять opensource и бесплатные инструменты, созданные в стенах Яндекса, для тестирования производительности своих сервисов.

     04.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Видео

Андрей Светлов (Python Core Developer) - Оптимизация производительности при помощи Cython

Доклад с Moscow Python Conf 2016 (http://conf.python.ru)
Слайды: https://conf.python.ru/optimizaciya-proizvoditelnosti-pri-pomoshi-cython/

Тридцать лет назад все стремились писать быстрые программы.
Сейчас ничего не изменилось.
Лекция расскажет о методиках ускорения программ на Python вообще и применении для этого Cython в частности.
О том когда надо ускорять, что и надо ли вообще.
Каких результатов можно достичь и какую цену за это нужно платить.
И, самое главное, на каком месте нужно остановиться.

     03.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

И снова автоматизация: Python «дополз» до маршрутизаторов

Скорость развития технологий в наши дни поражает. Скачок научно-технического прогресса в последние годы можно сравнить разве что с темпами развития космической отрасли в период с конца 50-х по середину 70-х годов ХХ века. Как тогда присутствие человека в космосе стало реальностью, так же и сейчас повсеместная замена людей машинами уже не кажется чем-то заоблачным.

     03.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Интересные проекты, инструменты, библиотеки

Django-pushall - Push-уведомления в Django

Django-pushall предназначен для отправки Push-уведомлений через систему Pushall как всем пользователям сайта, так и персонально. Можно использовать для отправки уведомлений самому себе в каких-либо скриптах

     02.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

Подключение шлюзов Intel для интернета вещей к AWS и обмен данными с облаком при помощи Node-RED или Python

Расскажем о том, как подключить шлюз Intel для интернета вещей к Amazon Web Services (AWS) и приступить к созданию приложений, рассчитанных на работу с этой платформой, с использованием Node-RED и Python. В итоге мы придём к решению, в котором шлюз будет передавать в облако данные, используя протокол MQTT.

     02.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

Как pdf преобразовать в текстовый txt-файл

Вы скажете, что самый простой способ — выделить весь текст в pdf, скопировать его в буфер обмена и вставить из буфера обмена в текстовый файл. И будете правы. Но это не наш случай. Файл pdf — результат сканирования многостраничного документа. Т.е. содержимое pdf — это изображения текста.
Предлагаемый вариант решения реализован под Windows-8, но с небольшими корректировками, думаю, вполне может быть использован для Linux и OS X.

     02.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

Как запускать Python через SAS?

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

     02.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

Kivy. От создания до production один шаг. Часть 1 Kivy

Буквально статью тому назад, большинством голосов, было решено начать серию уроков по созданию аналога нативного приложения, написанного для Android на Java, но с помощью фреймворка Kivy + Python. Будет рассмотрено: создание и компоновка контроллов и виджетов, углубленное исследование техники разметки пользовательского интерфейса в Kv-Language, динамическое управление элементами экранов, библиотека, предоставляющая доступ к Android Material Design, и многое другое...

     31.10.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

Парсинг JSON — это минное поле

JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.

     31.10.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Статьи

Как развернуть для своей команды архив slack сообщений c синхронизацией и поиском

Я сам сторонник идеи что если нравится продукт то нужно покупать его и своими деньгами поддержать программистов. 
Но иногда бывает что компания на этот софт денег тратить не может или не хочет. Особенно сложно платить от 100$ в месяц когда есть бесплатные аналоги или если чаты используются в некоммерческих целях.

     27.10.2016       Выпуск 149 (24.10.2016 - 30.10.2016)       Статьи

Стратегии расширения Django User Model Django

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

Как правило возникает потребность хранить дополнительные данные о пользователях, например, краткую биографию (about), дату рождения, местоположение и другие подобные данные.

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

     27.10.2016       Выпуск 149 (24.10.2016 - 30.10.2016)       Статьи

Что нам стоит сервис email-маркетинга построить? Взгляд изнутри, часть первая

Насколько сложно построить полноценный сервис email-маркетинга? Что для этого нужно предусмотреть? Какие подводные камни могут встретиться на пути пытливых умов разработчиков? 
Давайте попробуем разобраться вместе. В рамках нескольких статей я расскажу о том, как я за год сделал свой собственный сервис email-рассылок, какие уроки для себя извлек и что планирую со всем этим делать дальше.

     26.10.2016       Выпуск 149 (24.10.2016 - 30.10.2016)       Статьи

Automatic Relevance Determination или машинное обучение когда данных очень мало

 

Когда речь заходит про машинное обучение, обычно подразумевают большие объемы данных — миллионы или даже миллиарды транзакций, из которых надо сделать сложный вывод о поведении, интересах или текущем cостоянии пользователя, покупателя или какого-нибудь аппарата (робота, автомобиля, дрона или станка).
Однако в жизни обычного аналитика самой обычной компании много данных встречается нечасто. Скорее даже наоборот — у вас будет мало или очень мало данных — буквально десятки или сотни записей. Но анализ все же нужно провести. Причем не какой попало анализ, а качественный и достоверный.

     25.10.2016       Выпуск 149 (24.10.2016 - 30.10.2016)       Статьи

Книга «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»

Цель этой книги — как можно быстрее ввести читателя в курс дела, чтобы тот начал писать на Python работоспособные программы (игры, визуализации данных и веб-приложения), и одновременно заложить основу в области программирования, которая пригодится ему на протяжении всей жизни. Книга написана для людей любого возраста, которые прежде никогда не программировали на Python или вообще никогда не программировали. Если вы хотите быстро изучить азы программирования, чтобы сосредоточиться на интересных проектах, а также проверить свое понимание новых концепций на содержательных задачах — эта книга для вас. Книга также прекрасно подходит для преподавателей, желающих предложить вводный курс программирования, основанный на проектах.