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

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

     16.06.2020       Выпуск 339 (15.06.2020 - 21.06.2020)       Статьи
     15.06.2020       Выпуск 339 (15.06.2020 - 21.06.2020)       Статьи
     15.06.2020       Выпуск 339 (15.06.2020 - 21.06.2020)       Статьи

Отказываемся от платных RPA платформ и базируемся на OpenSource (OpenRPA)

Ранее на Хабре очень подробно освещалась тема Автоматизации десктопных GUI приложений на Python. В то время меня очень сильно привлекла эта статья, потому что в ней раскрываются элементы, схожие с элементами создания роботов. А так как по роду своей профессиональной деятельности я занимаюсь роботизацией бизнес-процессов компании (RPA — область, в которой не было полнофункциональных OpenSource аналогов до недавнего времени), данная тема была очень актуальна для меня.

     15.06.2020       Выпуск 339 (15.06.2020 - 21.06.2020)       Статьи

Какой должна была быть асинхронность

Синхронный и асинхронный код могут быть идентичными, но, тем не менее, могут работать по-разному. Это вопрос правильных абстракций. В этой статье я покажу, как можно написать синхронный код для исполнения асинхронных программ на Python.

     15.06.2020       Выпуск 339 (15.06.2020 - 21.06.2020)       Статьи

Самая сложная задача в Computer Vision

Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

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

Адаптивное разбиение кривых Безье 2-го и 3-го порядка

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

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

Красивая и подробная геологическая карта Марса, сделанная на Python, GDAL

На этой неделе — творческое переосмысление геологической (или все же ареологической?) карты Марса на основе карты, сделанной USCS. Использовалась те же геологические данные, что и для оригинальной, но было добавлено больше топонимов и подписей, проведен редизайн визуального стиля, а термины из легенды карты упрощены для общего понимания.

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

Параллелизм и эффективность: Python vs FSM

Признаюсь, но я не знаю Python. Просто потому, что не использую. Тем не менее, взявшись за его освоение, а также в попытках расшифровать загадочную аббревиатуру GIL, вышел на статью с описанием «необъяснимых магических явлений» параллельного варианта CPU-зависимой функции на Python. Возникло желание перепроверить данный тест и сравнить с эквивалентной реализацией в форме модели конечного автомата (Finite-state machine или сокращенно FSM) в среде Визуального Компонентного Программирования (автоматного) — ВКП(а).

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

Спасите пароль: сказочная реализация схемы разделения секрета Шамира на Python

Этот алгоритм, использующий язык Python и Схему разделения секрета Шамира, защищает ваш мастер-пароль от хакеров и вашей собственной забывчивости.

     12.06.2020       Выпуск 338 (08.06.2020 - 14.06.2020)       Статьи
     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)       Статьи
     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'е.