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

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

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

Как мы запускали Хабр для гуманитариев (с водолазами и выплатами для всех)

«В следующие два года нужно не пытаться изобразить из себя что-то особенное, а просто быть достаточно умным, чтобы компоновать то, что человечество уже создало» (с) bobuk


Год назад на внутреннем хакатоне наши ростовские ребята за ночь скрестили визуальный текстовый редактор, «Типограф Муравьева» и антиплагиат-сервис. Получилась штука, которая помогала быстро подготовить и отправить публикацию в блог. 

Одно время штука жила как сайд-проект, затем нам дали немного ресурсов — ну, как внутреннему стартапу. В итоге получилось удобное коллективное медиа без редакции.

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

Как в Matplotlib менять оформление линий по умолчанию matplotlib

Статья про установку стилей линий по умолчанию в библиотеке для построения графиков Matplotlib.

     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остоянии пользователя, покупателя или какого-нибудь аппарата (робота, автомобиля, дрона или станка).
Однако в жизни обычного аналитика самой обычной компании много данных встречается нечасто. Скорее даже наоборот — у вас будет мало или очень мало данных — буквально десятки или сотни записей. Но анализ все же нужно провести. Причем не какой попало анализ, а качественный и достоверный.