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

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

     08.07.2016       Выпуск 133 (04.07.2016 - 10.07.2016)       Статьи

Cериалокачалка на python3 с поддержкой расширений

В качестве вступления стоит сказать что я пользуюсь macOS и потому некоторые части: Автозапуск (launchd) Формат конфигурационных файлов (plist) Программа, используемая для уведомлений (terminal-notifier) будут специфичны для этой ОС. Однако, если Вас заинтересует проект, думаю, поменять пару путей и слегка поправить несколько функций, чтобы заставить этот код работать с Вашей системой уведомлений, yaml'ом и, допустим, кроном, не составит труда. Итак, к делу. Проверять трекеры на обновления любимых телевизионных шоу, вспоминать в момент когда вышел новый эпизод, смотрел ли ты предыдущий, — надоедает. К тому же, как известно, все что нужно делать больше двух раз, стоит автоматизировать. Проект был начат на скорую руку и, вероятно, будет совершенствоваться. Что же он из себя представляет...

     08.07.2016       Выпуск 133 (04.07.2016 - 10.07.2016)       Статьи

Вычисления с плавающей точкой: можно ли доверять результатам?

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

Если, например, вычисления, полученные на одинарной и удвоенной точностях совпадают, то создается чувство уверенности в результате, по крайней мере с точностью сопоставимой с одинарной. Здесь, я бы хотел привести один интересный пример, демонстрирующий, что даже в сравнительно несложной арифметической задаче подобная устойчивость при переменной точности представления чисел не может служить основанием для такой уверенности.

     06.07.2016       Выпуск 133 (04.07.2016 - 10.07.2016)       Статьи

Машинное обучение вместо DPI. Строим классификатор трафика

В данной статье я хочу предложить альтернативный способ решения одной из главных задач DPI – определения протокола прикладного уровня – на основе очень маленького количества информации, при этом не сверяясь со списком широко известных портов (well-known ports) и не глядя в полезную нагрузку пакетов. Вообще.

     05.07.2016       Выпуск 133 (04.07.2016 - 10.07.2016)       Статьи

Platypus и Packages. Создаём и устанавливаем программы на macOS

Очень часто бывает необходимо собрать код, написанный на Python, в приложение для Windows, Linux или OS X. Да, для этого действительно существует множество пакетов, таких как кросс-платформенные cx_Freeze и PyInstaller, а также обособленных py2exe и py2app. Но для macOS существует возможность избежать возни с созданием установочного файла. 

     04.07.2016       Выпуск 133 (04.07.2016 - 10.07.2016)       Статьи

JetBrains и Django анонсировали 30% распродажу PyCharm, c передачей всех денег в фонд Django

После нескольких лет поддержки фреймворка Django в PyCharm JetBrains и Django Software Foundation договорились о партнерстве и проведении 2-х недельной распродажи лицензий PyCharm c последующей передачей всех заработанных на распродаже денег в фонд Django на развитие различных проектов и активностей. В дополнение к распродаже, частью партнерства является внедрение нового стандарта аннотаций типов в Python (PEP 484 Type Hints) в будущие версии Django. 

     01.07.2016       Выпуск 132 (27.06.2016 - 03.07.2016)       Статьи

Пишем текстовую игру на Python/Ren'Py ч.2: мини-игры и подводные камни

Краткое содержание предыдущих двадцати пяти тысяч серий: мы пишем текстовую игру про плавание по морю и ввязывание в истории. Пишем мы её на движке Ren'Py, который изначально предназначен для визуальных новелл, но после минимальной настройки способен делать всё, что нам надо. В прошлой статье я рассказал, как сделать простенькую интерактивную читалку, а в этой мы добавим ещё пару экранов с более сложными функциями и наконец поработаем на питоне.

     30.06.2016       Выпуск 132 (27.06.2016 - 03.07.2016)       Статьи

Кодогенерация на службе написания музыки. Язык описания ритма

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

     28.06.2016       Выпуск 132 (27.06.2016 - 03.07.2016)       Статьи

Игра Престолов. Поиск авторов диалогов в книгах


На основании результата голосования в статье Теория Графов в Игре Престолов, я перевожу обучающий материал Эрика Германи (Erik Germani), который получил социальный граф связей из 5 первых книг серии «Песнь льда и пламени», лёгший в основу вышеупомянутой статьи. Статья не содержит подробного описания методов машинного обучения, а скорее рассказывает как на практике можно использовать существующие инструменты для поиска авторов диалогов в тексте. Осторожно, много букв! Поехали. 

     27.06.2016       Выпуск 132 (27.06.2016 - 03.07.2016)       Статьи

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

В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно.

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

     23.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Решаем Hola Javascript Challenge с помщью LSTM

Вдохновлено недавним Hola Javascript Challenge. Упаковывать алгоритм в 64кб не будем, но зато точность получим пристойную.

     23.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Запускаем простой блог на Wagtail CMS (Django) Django CMS

Являясь большим фанатом Python и фреймворка Django постоянно искал решение, как сделать разработку новых веб-проектов быстрее и удобнее. Все, кто знаком с разработкой на Django знают насколько не удобно строить на нем интуитивно понятную админ.панель. До мегапопулярного WordPress очень далеко, что делает порог вхождения в разработку сайтов выше, чем у PHP-фреймворков и CMS. После долгого поиска и тестирования различных решений я нашел для себя оптимальный вариант — Wagtail CMS. Wagtail — это полноценная CMS написанная на Django компанией Torchbox. За что им большое спасибо. Проект с открытым исходным кодом, поддерживается сообществом энтузиастов и выпускается под BSD лицензией. Читать дальше →

     22.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Интервью с программистом из Google Мартином Горнером о TensorFlow

Мартин Горнер (Martin Gorner) стоял у истоков зарождения электронных книг, начиная с запуска Mobipocket, который позже стал частью программного обеспечения на Amazon Kindle и его мобильных вариантов, а с 2011 года Мартин работает в Google, где активно занимается машинным обучением и TensorFlow — принципиально новой, быстрой, умной и гибкой системой машинного обучения, которая способна работать как на простом смартфоне, так и на тысячах узлов в центрах обработки данных. 

Ниже — короткое интервью с Мартином о том, что из себя представляет TensorFlow, почему Google открыли TensorFlow для разработчиков в open source, и чем система может быть интересна разработчику, не знакомому с машинным обучением.

     21.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Telegram бот для службы поддержки (часть 1) Telegram API

В этом цикле статей мы реализуем службу поддержки для онлайн-чатов. Система должна уведомлять команду операторов о новом сообщении, делить нагрузку на команду любого размера, делегировать сообщения в зависимости от приоритета. Звучит жутко. Но без паники, я поделюсь нашим опытом построения такой системы, которая уместилась всего в пару сотен строк кода. Да, мы будем использовать Telegram-бота. Но не потому, что это модно, а потому что супер удобно.

     20.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Интервью с python-разработчиком Александром Кошкиным о языке Python и жизни в США

Серию интервью со спикерам PyCon Russia продолжает разговор с Александром Кошкиным, python-разработчиком в компании Positive Technologies. Последнее время Александр живет в Бостоне и занимается разработкой различных компонентов PT SIEM. Мы поговорили с Сашей про python и его жизнь в США. Александр — спикер многих конференций. Вот, например, его выступление «Знай и люби свой PyObject, ты же программист» на Python Meetup в Минске

     20.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Философия Channels

 

Прошло много времени с моего последнего поста о Channels, и вместе с этим много чего случилось — API разработано и стабилизировано, добавился функционал вроде "контроля за переполнением" (backpressure), ситуация с бекендами выглядит гораздо лучше, особенно после того, как слой взаимодействия локальных и удаленных машин стал немного взрослее.

     20.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Пишем текстовую игру на Python/Ren'Py

Как сделать текстовую игру? Да как угодно. Как сделать кроссплатформенную текстовую игру на русском с иллюстрациями, звуком, работающими сохранениями, без проблем с кириллицей, и с каким-никаким геймплеем? Да ещё и в свободное время, не отрываясь от основной работы? Вот это уже интересней и на самом деле — довольно несложно. Заинтересовавшихся прошу под кат.

     20.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Stepic.org в Telegram: как мы разрабатывали бота и что из этого получилось

Зимой 2016 года у нас в Stepic.org возникла идея сделать для наших учащихся персонального помощника, поэтому мы позвали студента СПбАУ РАН Константина Чаркина на стажировку, результатом которой видели Telegram-бота. Это потом всё вышло из под контроля и появился набор стикеров и каналы по курсам… Но обо всём по порядку!

     20.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Python: ListDlls и Handles

Если посмотреть на большинство third party утилит критически, окажется что стоящих из них единицы, однако это вовсе не мешает им обретать своих пользователей в том числе и среди системных администраторов. Сисадмины очень любят делать упор на то, дескать они ленивы, но это скорее более самоирония, нежели правда, хотя если учесть, что системное администрирование уже немыслимо без навыков программирования, все же доля правды в этом есть. Имея в своем распоряжении, скажем, всего лишь интерпретатор Python, можно вполне всего за пять-десять минут написать аналог какой-нибудь утилиты, что оказывается несомненным плюсом в случае, когда ошибки в последней не правятся годами, а помимо этого хотелось бы что-то исключить\дополнить из\в ее функционал[а|е]. Хотелось бы, например, подстроить вывод ListDlls и Handle (утилиты из набора Sysinternals Suite) под себя, и здесь видется два варианта решения: либо писать сценарий-обертку, перехватывающий и затем переопределяющий вывод, либо написать все самому с нуля. Последнее многие исключают по, в общем-то, банальной причине, мол, решение требуется здесь и сейчас (хотя такое тоже бывает), но, как уже было сказано выше, сисадмин без навыков программирования таковым уже не считается — нынешнии реалии.

     20.06.2016       Выпуск 131 (20.06.2016 - 26.06.2016)       Статьи

Emacs как редактор кода для Python и Golang

 

Когда полгода назад я решил перейти с Vim на Emacs сначала я решил поискать статьи по настройке последнего на хабре. К моему удивлению нашлась всего одна статья в которой рассказывали, как настроить данный редактор для работы с Python. У меня было 2 года опыта работы с vim и имелись определенные требования, которые не были затронуты в данной статье. Вообще рускоязычных статей про работу в Emacs над Python очень мало на просторах интернета. Я не буду рассказывать про тонкости настройки самого Emacs, для этого не хватит даже отдельной статьи.

     16.06.2016       Выпуск 130 (13.06.2016 - 19.06.2016)       Статьи

Интервью с автором Flask Армином Ронахером

Продолжаем серию интервью с докладчиками PyCon Russia о Python, их работе и увлечениях. Готовы мини-интервью с разработчиком языка Python Андреем Светловым и программистом из Scrapinghub Александром Сибиряковым. Под катом — короткое интервью c Армином Ронахером (Armin Ronacher), автором фреймворка Flask, проекта Pallets, одним из основателей Pocoo Team, автором известного шаблонизатора для языка Python Jinja2 и нескольких библиотек с открытым исходным кодом. Сейчас Армин живет в Австрии и работает партнером Sentry и консультантом для Fireteam.