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

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

     05.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Telegraph API: автоматизированное создание заметок

Сервису telegra.ph уже много лет, но информации о том как пользоваться его api почему-то не много, тем временем, крупные телеграм-каналы потихоньку приступили к промышленному освоению. Инструмент вполне себе неплохая альтернатива созданию веб-страниц, к тому же появилась удобная библиотека, которая позволяет автоматизировать процесс.

     04.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Получаем кривую плотности распределения вероятности случайного процесса… быстрее и точнее

Недавно на Хабре вышла статья за авторством MilashchenkoEA , в которой автор восполняет обнаруженный им пробел в доступных материалах по методам построения кривых плотности распределения вероятности по имеющемуся набору числовых данных. Акцент в статье сделан на методическую сторону получения (оценки) плотности вероятности случайной величины, поэтому автор не преследует цели получения оптимального, с вычислительной точки зрения, алгоритма. Что ж, в данной заметке попытаемся исправить эту ситуацию, а также взглянем под другим углом на способ решения данной задачи.

     03.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Простой GUI калькулятор на Python #2

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

     03.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Нейродайджест: главное из области машинного обучения за октябрь 2021

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

     03.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Ещё одна статья о декораторах в python, или немного о том, как они работают и как они могут поменять синтаксис языка

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

     01.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Простой GUI калькулятор на Python #1. Создание дизайна приложения

Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение вот прямо как в системе. Ну или хотя бы что-то похожее.

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

     01.11.2021       Выпуск 411 (01.11.2021 - 07.11.2021)       Статьи

Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python

Как вы, наверное, знаете, глобальная блокировка интерпретатора (GIL, Global Interpreter Lock) — это механизм, обеспечивающий, при использовании интерпретатора CPython, безопасную работу с потоками. Но из-за GIL в конкретный момент времени выполнять байт-код Python может лишь один поток операционной системы. В результате нельзя ускорить Python-код, интенсивно использующий ресурсы процессора, распределив вычислительную нагрузку по нескольким потокам. Негативное влияние GIL на производительность Python-программ, правда, на этом не заканчивается. Так, GIL создаёт дополнительную нагрузку на систему. Это замедляет многопоточные программы и, что выглядит достаточно неожиданно, может даже оказать влияние на потоки, производительность которых ограничена подсистемой ввода/вывода.

     30.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Обучение с подкреплением на Python: Пример не из «качалки»

Обучение с подкреплением молодая и бурно растущая дисциплина. Это обстоятельство привело к тому что информации об этом мало на английском и почти нет на русском языке. Особенно, если дело касается объектно-ориентированного подхода, и практических задач не из арсенала Open Gym. Стало интересно, как решать задачи RL в других средах.

     30.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Профилирование программ

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

     29.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Пишем первого робота для банка

В этой статье мы разберемся, что такое "робот", поймем, как они помогают операционистам, напишем и запустим простого робота на Python.

Исходный код робота и данные для работы можно скачать здесь.

     29.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Pytorch lightning. Simple is better

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

     29.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Лучший способ выбора случайной точки в круге

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

     28.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Как правильно готовить автоматизацию или Что покрывать тестами в первую очередь

Каждый ручной тестировщик считает, что автоматизация — это круто и её непременно нужно втащить в проект. Что может быть лучше, чем полное покрытие автотестами продукта, когда тесты гоняются 24/7 и отлавливают баги? Вот прочитал я эти строки, и захотелось ещё раз всё заавтоматизировать!

     28.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Python как инструмент сборки

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

     26.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Как сделали нейросеть для оцифровки паспортов и отправили её в облако

Уже не раз поднимали тему распознавания паспортов, и даже заявляли о том, что тема закрыта.

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

     26.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Главный секрет операторов match/case в пайтоне

Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Erlang, Rust.

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

     25.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Немного примеров match/case в Python 3.10

Не так давно (а именно 4 октября 2021 года) официально увидела свет юбилейная версия языка python, а именно версия 3.10. В ней было добавлено несколько изменений, а самым интересным (на мой взгляд) было введение pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Erlang, Rust.

Для тех, кто еще не знаком с данным оператором и всей его красотой, предлагаю познакомиться с pattern matching в данной статье. 

     25.10.2021       Выпуск 410 (25.10.2021 - 31.10.2021)       Статьи

Подсчет автомобильного трафика с использованием COMPUTER VISION4

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

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

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

     24.10.2021       Выпуск 409 (18.10.2021 - 24.10.2021)       Статьи

Создаем начальную миграцию с alembic для существующей базы

Не так давно я пришел на проект, где пользовали SQLAlchermy и Alembic. Но по воле рока так случилось, что alembic подключили после того, как создали в базе кучу объектов. Для тех, кто не в курсе, SQLAlchemy - это библиотека и ORM для питона, а Alembic - это инстумент для работы с миграциями для SQLAlchemy.

     24.10.2021       Выпуск 409 (18.10.2021 - 24.10.2021)       Статьи

Получаем кривую плотности распределения вероятности случайного (или нет) процесса

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