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

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

     12.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Группировка вебсокет соединений для асинхронного фреймворка Starlette

Starlette довольно молодой фреймворк, и какие-то «плюшки» для него приходится писать самостоятельно. В предыдущей статье я показал как можно реализовать JWT сессии и «Djangoподобную» структуру, сегодня мы рассмотрим как группировать вебсокет соединения.

     11.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Нейросеть — Обучение без учителя. Метод Policy Gradient

Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя.
(Reinforcement Learning for Neuron Networks)

В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учителя. Первая статья будет по Policy Gradient, вторая по Q-learning, третья статья заключительная будет по методу Actor-Critic.

     10.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Как починить все самому, если баг-репорты игнорируются: как я собрал wkhtmltopdf под Windows

wkhtmltopdf — это один из самых мощных инструментов для генерации PDF. Он позволяет использовать в генерируемом документе все возможности HTML и CSS. «Под капотом» у него движок WebKit, так что результат почти в точности соответствует выводу «Print to PDF», встроенному в Chrome. Судя по вопросам на Stack Overflow, wkhtmltopdf используется для генерации карт, графиков, бухгалтерских отчётов, подарочных сертификатов, и практически любого другого контента, который в конечном счёте должен оказаться распечатанным на бумаге.

     10.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Обзор гибридной системы мониторинга Okerr

Два года назад я уже делал пост Простой failover для вебсайта про okerr. Сейчас есть некоторое развитие проекта, а еще я опубликовал исходный код серверной части okerr под открытой лицензией.

     10.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Почему список в кортеже ведет себя странно в Python?

В языках программирования меня всегда интересовало их внутреннее устройство. Как работает тот или иной оператор? Почему лучше писать так, а не иначе? Подобные вопросы не всегда помогают решить задачу «здесь и сейчас», но в долгосрочной перспективе формируют общую картину языка программирования. Сегодня я хочу поделиться результатом одного из таких погружений и ответить на вопрос, что происходит при модификации tuple'а в list'е.

     09.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Улучшения для генеративно-состязательных сетей (GAN)

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

     09.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Панорама-FM или как увидеть все радиостанции сразу с помощью SDR

Наверное все, хоть немного интересующиеся радиосвязью, знают что с помощью SDR-приемника возможно принимать и обрабатывать широкую полосу спектра радиодиапазона. Собственно, отображением спектра в таких программах как HDSDR или SDR# никого не удивить. Я покажу как построить псевдо-3D спектр принимаемых станций с помощью RTL-SDR, GNU Radio и примерно 100 строк кода на языке Python.

     09.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Data Science Digest (June 2020)

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning

     08.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Хранение изображений с помощью Django/Django REST

Мне в ходе разработки часто приходится работать с моделями, в которых должны быть изображения. Для удобной организации я использую древовидную структуру папок. В целом, Django предоставляет инструмент для работы с изображениями. Например, вот вопрос на Хабр Q&A о том, как работать с пикчами в Django: использовать ImageField

     08.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи

Все финансовые рынки мира в API Яху Финанс

В этой статье я расскажу об API агрегатора финансовых данных Yahoo! Finance. В рассказе есть один нюанс — официальное API Яху Финанс было закрыто три года назад, однако практически сразу же появилась его недокументированная работоспособная версия, которая жива до сих пор. Хочу в исследовательских целях рассказать об использовании этой работоспособной версии подробнее.
Тем более, что список рынков, данные с которых можно получать через Яху Финанс огромен. На текущий момент в нем 79 стран, включая и Россию.

     06.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи
     06.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Распознавание русского алфавита: от сбора датасета до создания GUI

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

     06.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Как GPU-вычисления буквально спасли меня на работе. Пример на Python

Сегодня мы затрагиваем актуальнейшую тему — Python для работы с GPU. Автор рассматривает пример, тривиальный в своей монструозности, и демонстрирует решение, сопровождая его обширными листингами. Приятного чтения!

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Как правильно: Мане или Моне? Отвечает нейросеть

Художников Эдуарда Мане и Клода Моне путали и при жизни (вот очень интересная статья на Арзамас). Что неудивительно, ведь они оба родоначальники импрессионизма и писали в схожей манере. Слушая на coursera курс по Convolutional neural networks, я решила попробовать сделать модель, определяющую, кем из художников написана картина.

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Эволюция монолитного приложения в микросервисы

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

 

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

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

wxpython. Доступность еще доступнее

Хотя многие приложения все больше переходят в разряд WEB, я хочу в данной статье поднять тему о прикладном ПО. А точнее о замечательной библиотеке GUI wxpython, которая является оберткой над WX Widgets.

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

А самое главное — она самая доступная в плане accessibility.

     04.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

10 полезных практик для ML-разработчиков на Питоне

Порой, будучи дата саентистами, мы забываем за что нам платят. А платят нам за то, что мы в первую очередь разработчики, потом исследователи и, возможно, математики. Наша основная обязанность при этом состоит в том, чтобы быстро создавать работоспособные решения для бизнеса.

Тот факт что мы создаем модели не делает нас особенными. Это не дает нам права писать плохой код.

     03.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Django: один пользователь для всего

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

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

Как выбрать лучший инструмент автоматизации для вашей работы в Revit. Дизайнеры против программистов

Новые средства автоматизации выводят планирование на новый уровень развития.
Какой инструмент позволит нам сэкономить тысячи часов за счет автоматизации процессов BIM в Revit?

     02.06.2020       Выпуск 337 (01.06.2020 - 07.06.2020)       Статьи

3D ML. Часть 2: функции потерь в задачах 3D ML

Основной сложностью при выборе функций ошибок для работы с 3D данными является неевклидовость рассматриваемых структур, из-за которой задача определения расстояния в пространстве 3D моделей становится совсем нетривиальной.

 

В этой заметке мы поговорим о том, какие функции ошибки (Loss functions) алгоритмов используются в 3D ML, какие из них можно использовать в качеств метрик качества (metrics), а какие — в качестве регуляризаторов (regularizers).