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

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

     07.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Сколько нужно нейронов, чтобы узнать, разведён ли мост Александра Невского?

На той неделе darkk описал свой подход к проблеме распознавания состояния моста(сведён/разведён).

Алгоритм, описанный в статье использовал методы компьютерного зрения для извлечения признаков из картинок и скармливал их логистической регрессии для получения оценки вероятности того, что мост сведён.

     04.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Пульт управления серверным демоном своими руками

Сегодня расскажу о том, как управлять компьютером с мобильного устройства. Нет, это не очередной аналог radmin'a, и не пример того, как можно поиздеваться над компьютером друга. Речь пойдет об удаленном управлении демоном, а точнее — о создании интерфейса для управления демоном, написанном на Python.

     04.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Сделай сам веб-сервис с асинхронными очередями и параллельным исполнением

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

     03.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Искусственные нейронные сети для новичков, часть 1

Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.

     02.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Оверинженеринг при документировании ViewSets Django REST Framework Django Django rest framework drf

Случается в нашей жизни, уважаемые коллеги, что хочешь сделать как проще, а получается как у новичка. И, что интересно, существует не мало мощных инструментов, которые предлагают простое решение в обмен на душу. Я имею ввиду, что цена абстракции бывает несоразмерна красоте её использования. Для меня примером такого неравноценного обмена стал Django Rest Framework 3.4.0, его механизм ViewSets и необходимость вывести подробную документацию по разрабатываемому API. 

     02.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Распределенное выполнение Python-задач с использованием Apache Mesos. Опыт Яндекса

Подготовка релиза картографических данных включают в себя запуск массовой обработки данных. Некоторые задачи хорошо ложатся на идеологию Map-Reduce. В этом случае задача инфраструктуры традиционно решается использованием Hadoop или YT

В реальности часть задач таковы, что разбиение их на маленькие подзадачи невозможно, или нецелесообразно (из-за наличия существующего решения и дорогой разработки, например). Для этого мы в Яндекс.Картах разработали и используем свою систему планирования и выполнения взаимосвязанных задач. Одним из элементов такой системы является планировщик, запускающий задачи на кластере с учетом доступных ресурсов.

     02.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Сколько нужно нейронов, чтобы распознать сводку моста?

История началась, когда я переехал жить на остров Декабристов в Санкт-Петербурге. Ночью, когда мосты развели, этот остров вместе с Васильевским полностью изолирован от большой земли. Мосты при этом нередко сводят досрочно, иногда на час раньше опубликованного расписания, но оперативной информации об этом нигде нет. После второго "опоздания" на мосты, я задумался об источниках информации о досрочной сводке мостов. Одним из пришедших в голову вариантов была информация с публичных веб-камер. Вооружившись этими данными и остаточными знаниями со специализации по ML от МФТИ и Яндекса, я решил попробовать решить задачу "в лоб". Картинки и кишочки под катом

     02.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

Часть 1. Платформа СППР Универсальные алгоритмы

Приветствую, уважаемое сообщество! Забегая вперед прошу прощения у тех, кто ожидает новизны или революционных идей. Их тут нет. Но есть вполне хорошая прикладная система. Системы поддержки принятия решений сейчас набирают обороты. Причем я не буду особо останавливаться на перечислении способов реализации. Оговорюсь только об основных свойствах. Я бы очень упрощенно и обобщенно назвал эти системы вероятностными. То есть они выдают рекомендации с известной долей вероятности используя накопленную и проанализированную статистику. Не скажу что это плохо. Тема BigData и Machine learning нынче в тренде. Так же эти системы работают по принципу черного ящика. Поэтому проверить достоверность работы заложенной модели не всегда можно выявить. Читать дальше →

     02.08.2016       Выпуск 137 (01.08.2016 - 07.08.2016)       Статьи

О некоторых горячих клавишах в PyCharm

Хочу поделиться с вами горячими клавишами, которыми пользуюсь или к которым пытаюсь привыкнуть в своей повседневной работе. В современных средах их количество может просто зашкаливать, но постепенное добавление новых сочетаний в копилку, способно значительно повысить вашу продуктивноть. Приведенные сочетания относятся к редактированию, навигации, рефакторингу и справедливы только для раскладки Default for XWin (Linux). Читать дальше →

     15.07.2016       Выпуск 134 (11.07.2016 - 17.07.2016)       Статьи

Библиотека f для функционального программирования в Питоне

Я расскажу о библиотеке для Питона с лаконичным названием f. Это небольшой пакет с функциями и классами для решения задач в функциональном стиле.

— Что, еще одна функциональная либа для Питона? Автор, ты в курсе, что есть fn.py и вообще этих функциональных поделок миллион?

— Да, в курсе.

     13.07.2016       Выпуск 134 (11.07.2016 - 17.07.2016)       Статьи

Анонс steampak 0.3.0: Steam из командной строки

Краткое описание нововведений очередной версии приложения для работы со Steam из Python.

     13.07.2016       Выпуск 134 (11.07.2016 - 17.07.2016)       Статьи

Развёртывание Django 1.9 на IIS 7+ Django

Не так давно ко мне обратились с просьбой о создании сайта. Интересный крупный проект с множеством "хочу вот это". Среди пожеланий были два главных, определивших web framework для написания, это интернационализация и панель администратора. Как уже понятно из заголовка статьи, таким framework'ом стала Django.

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

     13.07.2016       Выпуск 134 (11.07.2016 - 17.07.2016)       Статьи

Мониторинг торрентов и автоматическая скачка

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

     13.07.2016       Выпуск 134 (11.07.2016 - 17.07.2016)       Статьи

Hello, TensorFlow. Библиотека машинного обучения от Google

Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим графдвижения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!

     11.07.2016       Выпуск 134 (11.07.2016 - 17.07.2016)       Статьи

typus — локальный типограф на python

Хочу поделиться своей небольшой разработкой: типографом, который можно использовать локально.

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

Workflow просмотра сериалов для Alfred

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


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

     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 существует возможность избежать возни с созданием установочного файла.