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

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

     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)       Статьи

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

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

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

5++ способов в одну строку на Python решить первую задачу Проекта Эйлера

Однажды меня посетила мысль, а что если попробовать решить первую задачу Проекта Эйлера всевозможными способами, но с условием, что решение должно быть в одну строку. В итоге получилось более пяти однострочных решений с применением Filter, Map, Reduce, Generator Expression и т.д. В этой статье я покажу то, к чему я пришёл.

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

Новая версия статьи про рисование трехмерных поверхностей в Matplotlib

На прошлой неделе я писал о том, что начал обновлять статьи про рисование графиков на Python с помощью библиотеки Matplotlib, поскольку с момента их написания в библиотеке Matplotlib многое поменялось. Следующей на очереди для исправления у меня была статья про рисование трехмерных графиков (поверхностей). В первую очередь я планировал переписать примеры, где используются устаревшие функции, и обновить скриншоты, но что-то я увлекся и не только практически полностью переписал статью, но еще и добавил в нее новые примеры. Например, теперь в ней говорится о том, как выставлять точку наблюдения и перемещать источник света, а заодно описал несколько способов прореживания данных при рисовании. И даже старые примеры кода полностью переписал.

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

Игра в бисер на Python

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

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

Реализация кластеризации методом k-средних на Python (с визуализацией)

Кластеризация — разбиение множества объектов на подмножества, называемые кластерами. Кластеризация, будучи математическим алгоритм имеет широкое применение во многих сферах: начиная с таких естественно научных областей как биология и физиология, и заканчивая маркетингом в социальных сетях и поисковой оптимизацией.

Существует множество алгоритмов кластеризации, однако ниже будет рассмотрен метод k-средних, так как он является наиболее лаконичным и простым для понимания.

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

Как стать web-разработчиком на Python за полгода: конкретный план действий

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

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

Генерация признаков из временных рядов

Когда мы хотим рассчитать количество звонков в колл-центр через час, поставить в пятничную смену достаточно курьеров или предсказать потребление электроэнергии небольшим городком через 5 лет, мы обращаемся к теме обработки временных рядов. На тему обработки timeseries (временной ряд, англ.) написано множество статей и создано несчетное количество часов видео. Но попробуйте задать поисковой системе вопрос: как работать с временными рядами. Уверен, вы закопаетесь в многообразии ссылок, похожих по смыслу и содержанию. Однако, ни одна из них не ответит на вопрос полностью. Авторы выдают два или три метода обработки как панацею от всех проблем в работе со временем.

Мы попробуем собрать в одной статье все классические и современные методы обработки даты и времени.

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

Препарирование нейронок или TSNE и кластеризация на терабайтах данных

У вас продакшн нейронные сети, терабайты данных? Вам хочется понять, как работает нейронная сеть, но на таком объеме это сложно сделать? Сложно, но можно. Мы в NtechLab находимся именно в той ситуации, когда данных так много, что привычные инструменты интроспекции нейронных сетей становятся не информативны или вовсе не запускаются. У нас нет привычной разметки для обучения атрибутов. Но нам удалось вытащить из нейронной сети достаточно, чтобы классифицировать все имеющиеся данные на понятные человеку и учтенные нейронной сетью атрибуты. В этом посте мы расскажем, как это сделать.

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

Python кодогенерация на благо ETL — часть 2

В первой части я поделился мыслями, которые побудили к созданию python библиотеки convtools. Кратко о ней: предоставляет примитивы (конверсии), объединяя которые, можно описывать сложные конверсии для обработки данных. Конверсия генерирует узкоспециализированный код, компилирует его и возвращает функцию, решающую конкретную задачу.

     16.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Анализ и визуализация данных в финансах — анализ ETF с использованием Python

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

     15.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Пишем свой блокчейн

Вы здесь, потому что, как и я, взволнованы ростом криптовалют. И хотите знать, как работает блокчейн - фундаментальную технологию, лежащую в его основе.Но понять блокчейн непросто - по крайней мере, не для меня. Я пробирался через тупые видео, следовал руководствам и разочаровывался из-за слишком малого количества примеров.Мне нравится учиться на практике. Это заставляет меня заниматься предметом на уровне кода, что разжигает любопытство. Если вы сделаете то же самое, в конце этого руководства у вас будет работающий блокчейн с твердым пониманием того, как он работает.

     14.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Хардкорная разработка под Телеграм. Бот-модератор своими руками. Часть 3

Продолжаем писать своего крутого бота-модератора чатов на Python.В этой части мы сделаем команды для модерации. Админы чата смогут банить участников, запрещать им писать в чате, давать предупреждения с помощью команд /ban, /mute, /warn.Некоторые боты-администраторы используют не слэш-команды, а команды через, например, восклицательный знак: !ban, !mute. Но мы будем использовать слэш: это "нативные" команды в Телеграме. Они подсвечиваются в сообщениях, и их можно добавить в список команд для автодополнения.

     14.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Разработка системы заметок с нуля. Часть 3: знакомство с Neo4j, работа над микросервисами CategoryService и APIService

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

     14.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Поиск и обработка информации на файловых ресурсах

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

     13.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Прогнозируем сервис оборудования … по истории Service Desk

Попытаемся спрогнозировать запросы на обслуживание оборудования, по истории запросов в Service Desk. Имеется однотипное оборудование компании, в разных регионах, например, станки, или сервера. Имеется департамент сервиса, который выполняет заявки на обслуживание серверов: почистить, заменить деталь, обновить софт. Имеется Service Desk система, в которой ведется история этих заявок, за несколько лет.

     13.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Частотный биграммный анализ на Python

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

     13.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Пишем свой Google, или асинхронный краулер с rate limits на Python

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