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

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

     23.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи

Деплоим ML проект, используя Flask как REST API, и делаем доступным через приложение на Flutter

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

 

Мы будем использовать Flask для нашего REST API, Flutter для мобильного приложения и Keras для машинного обучения. В качестве базы данных для хранения информации о содержимом изображений используем MongoDB, а для получения информации возьмём уже натренированную модель ResNet50. При необходимости мы сможем заменить модель, используя методы save_model() и load_model(), доступные в Keras. Последний потребует около 100 Мб при первоначальной загрузке модели. Почитать о других доступных моделях можно в документации.

     23.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи

Выписки из Росреестра через ФГИС ЕГРН и python. Часть 1 — образец

У Романа Андреевича Карцева есть неплохой монолог про раков вчерашних по 5 руб. и сегодняшних по 3-и. Будем считать, что прошлый пост был про раков по 5 руб. Так как выписка из ЕГРН по 300 руб., хоть и автоматизированная не каждому по карману, если речь идет о массовых запросах.

В этот раз рассмотрим как получить тот же результат, потратив 400 руб. за 100 выписок из ЕГРН. Наша программа будет выполнять нехитрые манипуляции, заходить на сайт, заполнять за нас все необходимые поля при подаче запроса в Росреестр. Как и в прошлый раз мы не будет использовать api Росреестра.

     22.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи

Python Celery Guide

Все в сообществе Python слышали о Celery хотя бы один раз, и, возможно, уже работали с ним. По сути, это удобный инструмент, который помогает запускать отложенный или выделенный код в отдельном процессе или даже на отдельном компьютере или сервере. Это экономит время и усилия на многих уровнях.

     22.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи
     22.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи
     22.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи

Отчет с PyDaCon meetup в Mail.ru Group, 22 июня

В конце июня, в московском офисе прошел митап на котором собрали 2 секции: доклады по Python, состав которого был сформирован на основе общего списка докладов к PyCon Russia и PyData-трек от PyData Moscow meetup. Под катом собрали презентации, записи докладов и небольшие комментарии.

     20.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Подборка рабочих примеров обработки данных

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

     20.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Простое шифрование текста — кортежем цифр, с регулированием сложности

Захотелось сделать очень простое криптографическое приложение для текста, вдруг будет такая необходимость.

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

Сам ключ храниться в .json поэтому отправить, посмотреть, редактировать его просто.

     19.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Оптимальная линейная фильтрация: от метода градиентного спуска до адаптивных фильтров

Развивая тему конспектов по магистерской специальности "Communication and Signal Processing" (TU Ilmenau), продолжить хотелось бы одной из основных тем курса "Adaptive and Array Signal Processing". А именно основами адаптивной фильтрации.

     19.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Вероятность того, что 2 шахтёра имеют одинаковый мир

Недавно меня заинтересовал вопрос: «может ли быть такое, что 2 игрока в Minecraft имеют один и тот же одиночный мир?»

Дело в том, что мир Minecraft генерируется случайным образом из заданного семени. Его можно задать вручную или получить казённый псевдослучайный. Стоит отметить, что одно и то же семя генерирует один и тот же мир.

     19.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Управление конечным автоматом с использованием Django FSM

Представьте себе приложение типа JIRA со сложным рабочим процессом. Для создания такого приложения требуется поддержка управления конечным автоматом. Если вы создаете свое приложение с помощью Django, Django FSM предоставляет вам готовую поддержку для управления конечным автоматом.

Предположим, что наше приложение имеет следующий рабочий процесс выполнение Task.

     19.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Безумный конвертер GIF'ок в анимированные стикеры для Telegram

xZibit тоже рад, ведь здесь GIF вставлены в стикеры, чтобы быть вставлеными в GIF для КДПВ!

А теперь о подробностях реализации.

Всё началось с дискуссии в чатике Telegram-разработчиков о грядущей фиче

     19.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Пишем простую нейронную сеть с использованием математики и Numpy

Зачем очередная статья про то, как писать нейронные сети с нуля? Увы, я не смог найти статьи, где были бы описаны теория и код с нуля до полностью работающей модели. Сразу предупреждаю, что тут будет много математики. Я предполагаю, что читатель знаком с основами линейной алгебры, частными производными и хотя бы частично, с теорией вероятностей, а также Python и Numpy. Будем разбираться с полносвязной нейронной сетью и MNIST.

     17.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Есть ли что-то общее у разных песен-хитов?

Если выполнить вход на Spotify.me, то можно получить персонализированную сводку того, как Spotify понимает вас через музыку, которую вы слушаете на этом сайте Spotify. Это круто!

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

Мне было очень любопытно, существуют ли какие-то конкретные ингредиенты, из которых составлены хитовые песни. Что делает их крутыми? Почему нам нравятся хиты, и есть ли у них определённая «ДНК»?

     17.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Галерея лучших блокнотов по ML и Data Science

Подборка примечательных файлов формата Jupyter Notebook по Machine Learning, Data Science и другим сферам, связанным с анализом данных. Эти блокноты Jupyter, будут наиболее полезны специалистам по анализу данных — как обучающимся новичкам, так и практикующим профи.

     16.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Рецепты для ELFов

На русском языке довольно мало информации про то, как работать с ELF-файлами (Executable and Linkable Format — основной формат исполняемых файлов Linux и многих Unix-систем). Не претендуем на полное покрытие всех возможных сценариев работы с эльфами, но надеемся, что информация будет полезна в виде справочника и сборника рецептов для программистов и реверс-инженеров.

 

Подразумевается, что читатель на базовом уровне знаком с форматом ELF (в противном случае рекомендуем цикл статей Executable and Linkable Format 101).

Под катом будут перечислены инструменты для работы, описаны приемы для чтения метаинформации, модификации, проверки и размножения создания эльфов, а также приведены ссылки на полезные материалы.

     16.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Автоматизация импортов в Python

Так получилось, что аж с 2012 года я разрабатываю open source браузерку, являясь единственным программистом. На Python само собой. Браузерка — штука не самая простая, сейчас в основной части проекта больше 1000 модулей и более 120 000 строк кода на Python. В сумме же с проектами-спутниками будет раза в полтора больше.

     16.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Модуль dis в Python и свертка констант

Недавно я очень удивился, когда обнаружил, что

 

>>> pow(3,89)

работает медленнее, чем

>>> 3**89

Я пытался придумать какое-либо приемлемое объяснение, но не смог. Я засек время выполнения этих двух выражений, используя модуль timeit из Python 3:

     15.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи