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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

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

Расширяем модель User в Django Django

Для работы с пользователями, Django предоставляет готовую модель User. Часто, одной этой модели недостаточно. Приходится ее расширять, либо переписывать, если не устраивает стандартная реализация.

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

Хотите рейтинги значимости проектов с GitHub? Их есть у нас!

На прошлой неделе наткнулся на репозиторий «Made in Russia» — один из многочисленных однотипных репозиториев Ионики, с перечислением проектов, принадлежащих авторам, указавшим в профиле ту или иную страну.

Из-за того, что данные не живые, a собранные из дампа, содержимое репозиториев довольно быстро теряет актуальность, а разворачивать Node и всю кухню проекта, чтобы обновить дамп — дело долгое и скучное. Потому лично я не очень верю в развитие упомянутых проектов. Однако же я верю, что можно сделать лучше и интереснее.

Лучше и интереснее, развивая идею, я попытался сделать в новом проекте — CodeOrigins
 

     27.09.2017       Выпуск 197 (25.09.2017 - 01.10.2017)       Вакансии

Вакансия: разработчик в improvado.io

improvado.io - агрегация, анализ и визуализация больших рекламных данных. 

Куча модных технологий и buzzwords, в числе которых: Big Data, Machine Learning.
Главный офис располагается в Сан-Франциско. Центр разработки - в Томске.
Компания успешно прошла программу акселерации в 500 Startups и уже получила более 3 миллионов долларов инвестиций от крайне известных людей в маркетинговой индустрии из Кремниевой долины. 

Что мы предлагаем?

- Работа в офисе, в центре Томска;
- Гибкий график с плавающим началом дня;
- Бесплатные обеды в офисе;
- Уютное рабочее место;
- Футбол;
- Курсы английского языка;
- И, конечно же, крутая команда и взаимоуважение!

Какие навыки нам необходимы?

- Опыт разработки на Python;
- Плюсом будет: опыт Django, Apache Spark, PostgreSQL, Tornado.

Зарплата: 

- От 70 000 до 150 000, по результатам собеседования.

Если твой опыт соответствует требованиям - будем рады ознакомиться с твоим резюме!
Присылай на ivan@improvado.io

     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/