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

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

     26.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Статьи

Свой сервер обложек на Python для интернет-радио

Я перфекционист который любит во всём порядок. Больше всего меня радует когда вещи работают именно так, как они должны работать (в моём, разумеется, понимании). А ещё у меня уже давно есть своё персональное интернет-радио на базе IceCast-KH + LiquidSoap. И много лет мне не давал спокойно спать тот факт, что сервера потокового радиовещания не умеют отдавать обложки (artwork) проигрываемых треков в потоке. Да и не только в потоке — вообще никак не умеют. Я и на IceCast-KH (форк от IceCast2) перешёл только из-за одной его убер-фичи — он умеет отдавать mp3-тэги внутри flv потока (это нужно для отображения исполняемого трека при онлайн воспроизведении на сайте через флэш-плеер). И теперь пришло время закрыть последний вопрос — отдачу обложек проигрываемых треков — и успокоиться. Поскольку готовых решений не нашлось, я не придумал ничего лучше, чем написать свой сервер обложек для .mp3 файлов. Как? Добро пожаловать под кат.

     25.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Статьи

Визуализация результатов выборов в Москве на карте в Jupyter Notebook

 

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

В качестве примера возьмем недавно отгремевшие муниципальные выборы в Москве. Сами данные можно взять с сайта мосгоризбиркома, в можно просто забрать датасеты с https://gudkov.ru/. Там даже есть какая-никакая визуализация, но мы пойдем глубже. Итак, что же у нас в итоге должно получиться?

     24.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

Django. Добавление Google reCAPTCHA

Использование Google reCAPTCHA для форм на Django сайте с использованием декоратора.

     21.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

Есть ли OpenVPN GUI для Linux?

Название статьи подсказала тема на одном из форумов. Несмотря на то, что с момента возникновения вопроса прошло шесть лет, в этом направлении мало что изменилось. А поскольку в последнее время у меня на слуху постоянно был OpenVPN, то было решено исправить данную ситуацию. Так родилась графическая утилита VpnGUI для создания, редактирования, запуска и контроля выполнения утилиты openvpn. 

     19.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи
     19.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

Прототипирование в среде Python-Arduino

Привет, Хабр! Хочу на примерах рассказать о самом простом способе создания чего то сложного. Суть страшного слова «прототипирование» сводится к использованию аналогий или шаблонов в проекте Arduino. 

Не хочу пугать длинными словами начинающих пользователей Python-Arduino, по-этому идем сразу по примерам.

     18.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

Режем XML по разметке XQuery

Для работы с web-сервисами традиционно используется SoapUI от SmartBear Software. Отличный инструмент и к тому же бесплатный. Но… это инструмент разработчика, тестировщика, архитектора, но никак не ориентированный на работу конечного пользователя.

     18.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

Kaggle: как наши сеточки считали морских львов на Алеутских островах

В связи со значительным уменьшением популяции сивучей на западных Алеутских островах (принадлежащих США) за последние 30 лет ученые из NOAA Fisheries Alaska Fisheries Science Center ведут постоянный учет количества особей с помощью аэрофотоснимков с дронов. До этого времени подсчет особей производился на фотоснимках вручную. Биологам требовалось до 4 месяцев, чтобы посчитать количество сивучей на тысячах фотографий, получаемых NOAA Fisheries каждый год. Задача этого соревнования — разработать алгоритм для автоматического подсчета сивучей на аэрофотоснимках.

     18.09.2017       Выпуск 196 (18.09.2017 - 24.09.2017)       Статьи

«Используй Силу машинного обучения, Люк!» или автоматическая классификация светильников по КСС

«Сила машинного обучения среди нас, методы её окружают нас и связывают. Сила вокруг меня, везде, между мной, тобой, решающим деревом, лассо, гребнем и вектором опорным»

     15.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

И снова о кешировании в Django

Для django уже есть множество библиотек для кеширования и они уже обсуждалось на хабре, но, к сожалению, проблемы с производительностью не решить добавлением строчки в INSTALLED_APPS. В библиотеках патчащих queryset кеш инвалидируется либо слишком часто, либо слишком редко и самое главное у программиста мало контроля за этим процессом. Можно написать инвалидацию вручную, но потребуется много кода, в котором легко допустить ошибку.

     15.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

Методы разработки потока программного обеспечения датчиков движения, работающих с Arduino

Хочу предложить реализацию двух подходов разработки программного обеспечения датчика движения, работающего совместно с платой Arduino. Ни датчик движения [1], ни Arduino [2]. в дополнительной рекламе не нуждаются. 

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

     15.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

Анализируем требования рынка для data scientist

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

     12.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

Яндекс.Блиц. Почему и какие алгоритмические задачи нужно уметь решать, работая в поиске

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

     11.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Видео

Создание exe файлов из скриптов на Python

"Я расскажу, как создавать исполняемые файлы (exe) с помощью библиотек cx_Freeze и PyInstaller из скриптов на языке Python".
Доклад - продолжение доклада о создание десктопных приложений на Python - https://www.youtube.com/watch?v=nz6G_ta3of0

Слайды: http://www.moscowpython.ru/meetup/48/exe-files-on-python/

     11.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Видео

Запуск тестов с tox и Docker

"Многие Python-библиотеки используют tox для тестирования на разных версиях интерпретатора и зависимостей. Зависимости можно сложить в отдельные виртуальные окружения. Но что делать с разными интерпретаторами? Не ставить же их все в систему. Конечно, можно воспользоваться Travis CI. Но что делать, если такая опция недоступна или если хочется прогнать тесты локально? Я расскажу, как решить эту задачу с помощью Docker".

Слайды: http://www.moscowpython.ru/meetup/48/tox-docker-tests/

     11.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Видео

Хранение секретных настроек

"Говорят, что секреты могут хранить двое, если один из них мёртв. А в веб-разработке обычно участвуют много людей, и для решения задач придумана масса инструментов. Я расскажу, как выбрать правильные инструменты под разные типы проектов".

Слайды: http://www.moscowpython.ru/meetup/48/keeping-secrets/

     11.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

Сегментация лица на селфи без нейросетей

Оказывается, не все компьютерное зрение сегодня делается с использованием нейронных сетей. Хотя многие стартапы и заявляют, что у них дип лернинг везде, спешу вас разочаровать, они просто хотят хайпануть немножечко. Рассмотрим, например, задачу сегментации. В нашем слаке развернулась целая драма. Одна богатая и высокотехнологичная селфи-компания собрала датасет для сегментации селфи с помощью нейросетей (а это непростое и недешевое занятие). А другая, более бедная и не очень развитая решила, что можно подкупить людей, размечающих фотки, и спполучить базу. В общем, страсти в этих ваших Интернетах еще те. Недавно я наткнулся на статью, где без всяких нейросетей на устройстве делают очень даже хорошую сегментацию. Для сегментации от пользователя требуется дать алгоритму несколько подсказок, но с помощью dlib и opencv такие подсказки легко автоматизируются. В качестве бонуса мы так же сгладим вырезанное лицо и перенесем на какого-нибудь рандомного человека, тем самым поймем, как работают маски во всех этих снапчятах и маскарадах. В общем, классика еще жива, и если вы хотите немного окунуться в классическое компьютерное зрение на питоне, то добро пожаловать под кат.

     11.09.2017       Выпуск 195 (11.09.2017 - 17.09.2017)       Статьи

Машинное обучение руками «не программиста»: классификация клиентских заявок в тех.поддержку

Одним из экспериментов стала разработка алгоритма классификации клиентских заявок по текстам для дальнейшей маршрутизации на группу исполнителей. В этой статье я хочу рассказать, как "не программист" может за 1,5 месяца в фоновом режиме освоить python и написать незамысловатый ML-алгоритм, имеющий прикладную пользу.

     10.09.2017       Выпуск 194 (04.09.2017 - 10.09.2017)       Статьи

Как найти хорошего преподавателя английского языка, используя анализ данных.

Многие из программистов хотят выучить английский язык по ряду причин. Кто то посещает курсы в оффлайне, занимается с частным репетитором в свободное от работы время. Другие же предпочитают занятия в онлайн-режиме, без траты времени на дорогу. Да и найти подходящий вариант в этом случае не так уж сложно - поскольку сейчас рынок онлайн-образования растет весьма быстро и предоставляет варианты подходящие под Ваш вкус и кошелёк. Весьма вероятно что читатель знает о компаниях которые предлагают свои услуги в этом сегменте. Если вам подходят любой из вышеупомянутых вариантов - можете не читать дальше, иным же, знакомым с Python/Pandas/Seaborn и прочие радостями анализа и визуализации данных - добро пожаловать.