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

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

     07.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Как отличать птиц от цветов. Или цветы от птиц

В качестве программы выходного дня мне захотелось поиграться с как бы «нейронной» сетью (спойлер — в ней нет нейронов). А чтобы потом не было мучительно больно за бесцельно прожитые годы часы, я подумал, что зря мы его кормим, пусть пользу приносит — пусть заодно эта сетка разберет домашний фотоархив и хотя бы разложит фотографии цветов в отдельную папку.

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Airflow — инструмент, чтобы удобно и быстро разрабатывать и поддерживать batch-процессы обработки данных

В этой статье я хочу рассказать об одном замечательном инструменте для разработки batch-процессов обработки данных, например, в инфраструктуре корпоративного DWH или вашего DataLake. Речь пойдет об Apache Airflow (далее Airflow). Он несправедливо обделен вниманием на Хабре, и в основной части я попытаюсь убедить вас в том, что как минимум на Airflow стоит смотреть при выборе планировщика для ваших ETL/ELT-процессов.

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Торговый робот для веб-дизайнеров

Написание торговых роботов, как правило, достаточно трудоемкая задача — помимо понимания принципов торговли (равно как и представления о том, как та или иная стратегия выглядит), необходимо знать и уметь работать с протоколами, используемыми для торговли. Вкратце — существуют две основные группы протоколов, которые предоставляются биржей или брокерами: FIX, в котором без бутылки не разобраться, и проприетарный бинарный протокол, который редко бывает лучше. Это приводит к одной из двух проблем: либо код выглядит так, что любой джуниор схватится за голову, либо хороший, красивый код, который умеет делать примерно ничего (а то, что умеет, делает с разными неожиданными проблемами).

     06.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Как настроить логирование в Django

Настройка логов и их внешнего вида в Django

     05.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Django ORM — медленный? Оптимизируем (хардкорно) Django

Наступила осень, и, несмотря на хорошую погоду, наши зрители потянулись за новым видеоконтентом. Бекенд-серверы, обслуживающие эмбеды с видео, стали упираться в CPU. С криками "а-а-а" прибежали системные администраторы и начали отбирать у отдела разработки ноутбуки и десктопы, грозясь поставить их в датацентры "на усиление". Разработке это конечно всё не понравилось и все поувольнялись с этой хренью решили что-нибудь сделать.

     05.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Изучаем блокчейн на практике

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

Но разобраться в блокчейне не так-то просто, по крайней мере, по моему опыту. Я корпел над заумными видео, продирался через туториалы и с нарастающей досадой отмечал недостаток иллюстрирующих примеров.

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

     03.10.2017       Выпуск 198 (02.10.2017 - 08.10.2017)       Статьи

Английские субтитры с Лео

 

Я продолжительное время учу английский и хочется достичь идеала, но этот процесс не быстрый. На данный момент уровень моего английского позволяет мне довольно таки неплохо распознавать разговорную речь, но фильмы, пока, я смотрю всё так же с субтитрами. Даже без них, я уверен, в видео могут попадаться слова, которых я не знаю и хоть общий смысл будет понятен, мне всё равно захочется узнать, что это за слово.

     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
 

     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 кеш инвалидируется либо слишком часто, либо слишком редко и самое главное у программиста мало контроля за этим процессом. Можно написать инвалидацию вручную, но потребуется много кода, в котором легко допустить ошибку.