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

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

     04.12.2021       Выпуск 415 (29.11.2021 - 05.12.2021)       Видео

Moscow Python Podcast. Ответственность и безответственность разработчиков (level: all)

В гостях у Moscow Python Podcast Python ведущий разработчик компании BestDoctor Александр Хмелевский. Поговорили с Александром о самоорганизации, ценностях в команде и социальной валюте.

     22.11.2021       Выпуск 414 (22.11.2021 - 28.11.2021)       Видео

Максим Данилов. Скрытая супер-сила Django Admin Panel в масштабируемом Backend приложении

В своем докладе я расскажу о том, что на самом деле может django.contrib.admin, как и зачем преодолевать внутреннее сопротивление при работе с ним. Django Admin Panel — сложный и мало документированный инструмент в Django Framework, который способен значительно повысить скорость разработки, если в нём по-настоящему разобраться. — «A Не проще ли нам написать свой Backend?» Я отвечу: «Нет, не проще!». Семь лет инсайтов и открытий в моем докладе.

     19.11.2021       Выпуск 413 (15.11.2021 - 21.11.2021)       Видео

Moscow Python Podcast. Из тестирования в разработку (level: all)

В гостях у Moscow Python Podcast Python developer компании Grid Dynamics Russia Лариса Петрова. Поговорили с Ларисой о ее пути в разработку, обсудили опыт прохождения собеседований и подготовку к ним.

     16.11.2021       Выпуск 413 (15.11.2021 - 21.11.2021)       Видео

Андрей Ермилов, Максим Белоусов. Советы по использованию опциональной статической типизации

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

     14.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Moscow Python Podcast. На чем писать код (level: all)

В гостях у Moscow Python Podcast ведущий разработчик компании NVIDIA Роман Сакал. Поговорили с Романом о том, на чем писать код, на чем его пишут в NVIDIA и о том, почему Python is the second best language.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Артем Иннокентьев. Pattern matching: польза или хайп?

Осенью в Python завезут pattern matching. Так же как десять лет назад с аннотациями, разработчики языка пока не очень понимают для чего и как новая фича будет использоваться. И будет ли использоваться вообще. Мы перерыли черновики, обсуждения, посмотрели на другие языки — и поделимся своими прогнозами. В докладе: лучшие применения для pattern matching, концепция «как рассказать кодом историю» и деревья. Много разных деревьев.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Ярослав Игошев. Distributed Data Processing and XGBoost Training and Prediction

Расскажу о том, как можно ускорить пайплайн, который включает в себя обработку данных, обучение XGBoost модели и предсказание, даваемой этой моделью, за счет распределения вычислений на множество процессов. При этом вам не придется изучать новые библиотеки и их API. Фокус будет сосредоточен вокруг небольшого ряда библиотек хорошо известных людям, которые знакомы с Data Science и Machine Learning. В частности, речь пойдет о таких библиотеках как pandas, Modin и XGBoost. Покажу, как Modin позволяет ускорить pandas запросы, всего лишь, изменив одну строку кода вашего сценария, а также расскажу о его распределенной реализации обучения и прогнозирования XGBoost модели.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Олег Ивашов, Сергей Матвеенко. Шина сообщений NSQ в Python — что это, зачем и как

Часто при выборе шины сообщений для Python проекта выбор сводится к Kafka или RabbitMQ. Однако, есть ещё одна менее известная в Python-сообществе альтернатива — NSQ. Сергей расскажет как прийти к выбору NSQ для вашего проекта, про положительные и отрицательные стороны использования NSQ в продакшене. Олег покажет библиотеку ansq, приемы её удобного использования и расскажет про подводные камни, с которыми пришлось столкнуться. Доклад основан на опыте использования NSQ в большом реальном продукте на протяжении последних 1.5 лет.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Андрей Ермилов, Максим Белоусов. Советы по использованию опциональной статической типизации

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

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Павел Дружинин. Из веб-девелопмента к "железу"

В корпорациях любят всё автоматизировать. Большое количество энтерпрайз-продуктов и внутренних веб-сервисов, которые общаются между собой — все это привычные задачи внутренней и инфраструктурной разработки. Но что, если необходимо автоматизировать выдачу оборудования сотруднику компании? Это возможность выйти за рамки стандартных веб-сервисов и узнать что происходит на уровне железа. Как включить огромную железную коробку, которая умеет только принимать байты на серийный порт, в привычный нам, веб-разработчикам, стек Django, React. js, PostgreSQL, Celery и заставить все это общаться между собой? Посмотрим на консьюмеры Kombu, RabbitMQ. Поучимся управлять пружинами вендинга при помощи Python, читать оптические датчики. Построим всю систему до пользовательского интерфейса «снизу-вверх». И постараемся по пути не отрезать себе палец, когда будем перекидывать питание крутящих серво-приводов между шинами :)

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Максим Данилов. Скрытая супер-сила Django Admin Panel в масштабируемом Backend приложении

В своем докладе я расскажу о том, что на самом деле может django.contrib.admin, как и зачем преодолевать внутреннее сопротивление при работе с ним. Django Admin Panel — сложный и мало документированный инструмент в Django Framework, который способен значительно повысить скорость разработки, если в нём по-настоящему разобраться. — «A Не проще ли нам написать свой Backend?» Я отвечу: «Нет, не проще!». Семь лет инсайтов и открытий в моем докладе.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Юлия Волкова. Разработка на Python. А можно еще быстрее?

Расскажу о том, как экономить время на старте проектов. Посмотрим как тут выручает генерация кода и что есть из готовых решений. Как можно, просто введя 2 команды из DDL схемы базы данных, получить готовый CRUD REST сервис с моделями и endpoint-ами. Зачем мне в 2020 пришлось писать свой ddl парсер и генерацию ORM & Pydantic моделей, и как это облегчило жизнь проекту. Что из чего вообще можно генерировать, чтобы не писать это руками. Бегло посмотрим какие есть готовые библиотеки на сегодняшний день (основные их категории) и кейсы их использования. Обсудим плюсы данного тренда. Лично мне кажется, что это тренд — с каждым годом таких библиотек все больше и больше, и мы стараемся не писать тот код, который можно не писать. Рассмотрим кейсы, когда это удобно/полезно (про быстрые PoC, RnD) и направления, куда двигаться дальше, если тема интереса.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Богдан Володарский. Data/ML QA on Python

Сегмент данных взрослеет и за этим следует потребность в их валидации. Расскажу как построить процесс тестирования на данных на проекте на основе фреймворка great expecations. Как интегрироваться в дата пайплайн в AWS. Расскажу, как мы решили проблему репортинга и дашбординга + как на результатах Data QA устроить ML QA

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

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

Мы много лет используем Sentry (28k звёзд, 3.2k форков на гитхабе) для мониторинга исключений на проектах, а так же мессенджер Telegram для общения. Когда я захотел получать уведомления об инцидентах из Sentry в Telegram, я не нашёл такой возможности, но что самое интересное — ни слова в официальной документации как добавить такой плагин. Пройдя путь от изучения устройства плагинов, поддерживаемых авторами Sentry и работы с ними в самом ядре Sentry, до создания своего плагина, используемого многими компаниями, я вижу, по поступающим вопросам, что интерес к теме не уменьшается со временем, а актуальной информации в сети всё так же нет. Я вижу, что отдельные разработчики регулярно создают свои плагины для Sentry, но каждый из них вынужден проходить этот путь с нуля и самостоятельно, как это делал я. Неплохо разобравшись в процессе с вопросом, я был бы рад поделиться знаниями с участниками PyCon. Вместе со участниками мы пройдём по таким пунктам как: общее устройство плагина для Sentry: от простого к более сложному его место в общей архитектуре Sentry и как он запускается проблема с использованием популярных плагинов в cloud версии Sentry правильный способ установки плагинов в Sentry (грабли, по которым прошёл я, и провёл за собой N пользователей первых версий своего плагина) добавление своих интерфейсов настроек в интерфейс Sentry работа с сетью из вашего плагина: отправка запросов и получение их от внешних систем работа с базой данных и миграциями недокументированные, но вычленённые из исходников, best practice которые следует использовать при создании плагинов, чтобы не поотстреливать ноги себе и своему админу, который поддерживает Sentry

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Данил Ахтаров. Кеширование — делаем всё правильно

В докладе поделюсь опытом настройки политики кэширования данных в Python-приложениях. Наверное, каждый, кто решал эту проблему, столкнулся с ней в неподходящий момент. Давайте сразу настроим «агрессивное» кэширование, а дальше будем оптимизировать инфраструктуру вокруг. А именно — решим вопросы: — Какой backend использовать: redis, keydb? А, может, in memory? — В каком формате хранить данные? — Как мы можем это мониторить? Нам точно нужен кэш? — Какой инструмент лучше всего подходит?

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Денис Аникин. FastAPI как основной framework для python бекендов

FastAPI уже не первый год с нами. Последние пару лет фреймворк явно на подъеме: количество звезд на гитхабе уже больше чем 50% от мастодонтов рынка — django, flask. В ds среде и в каждом туториале flask, в каждой второй вакансии суперсовременные горизонтально масштабируемые сервисы на… django. Однако, про fastapi разговоров довольно немного и проникновение как в рынок, так и в публичное пространство у него не велико. И уж тем более, пока ещё про него не говорили с позиции продакшена (как минимум, на конференциях). Так сложилось, что в банке мы сделали на нем несколько десятков сервисов и уже больше года активно эксплуатируем как раз в том самом продакшене, а так же рекомендуем его внутри, как основной, практически всем. За это время мы успели полюбить этот фреймворк, но при этом нашли его «зоны роста». В своем докладе я постараюсь раскрыть три темы: сделаю краткий обзор на сам фреймворк поделюсь тем, чего ему не хватает для полноценной жизни в продакшене (с моей точки зрения) подсвечу довольно очевидные потенциальные проблемы. Ну и, конечно же, займусь неймдроппингом: FastAPI!

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Альбина Альмухаметова. Оптимизация i-запросов в Django+Postgres или неточности документации

На рынке веб-разработки Django, пожалуй, один из самых популярных фреймворков. Но может ли оказаться так, что в документации такого «старичка» есть неточности? В докладе расскажу о том, как оптимизация простого поискового запроса пошла не по плану. Вспомним старые добрые индексы и разберёмся, какие нам действительно нужны, и как соединить их с нашим приложением. В конце обсудим, что же нового случилось в 3 версии и как она упростила нам жизнь.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Андрей Алексеев. ETNA Time Series Library: удобное прогнозирование временных рядов

Временные ряды — это любые данные, у которых есть временная метка. Некоторые ряды нужно прогнозировать — например, сколько глазированных сырков купят на этой неделе, сколько посетителей будет в магазине, сколько наличных останется в банкомате. Для их прогноза нужны разные модели и признаки, но подход к исследованию проблемы будет одинаковый. Сначала мы пробовали решать каждую отдельную задачу усилиями разных ML-специалистов: это было долго, каждый пилил свой собственный «велосипед», не было обмена опытом и не спасало от ошибок. Поэтому мы решили сделать ML-эксперименты с временными рядами простыми и быстрыми — и придумали библиотеку ETNA.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Алексей Кузьмин. Обработка ошибок в Python

В нашем IT-мире есть только один достоверный источник информации — исходный код. Документация может быть не актуальной, книжка может устареть, статья может осветить только один аспект. А исходный код — честен, доступен и открывает тайны всем, кто достаточно смел, чтобы заглянуть в него. На мой взгляд нет ничего интереснее, чем поковыряться в нем и понять как работает та или иная технология, тот или иной инструмент на самом деле. Я приглашаю Вас в увлекательное приключение по обработке ошибок в Python cо стороны исходного кода — мы заглянем внутрь, увидим как работают основные механизмы обработки ошибок, рассмотрим частные виды исключений и их особенности и еще много чего интересного.

     10.11.2021       Выпуск 412 (08.11.2021 - 14.11.2021)       Видео

Анна Богданова. Rефакторинг: Regулярный и ASTообразный

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