Собрали в одном месте самые важные ссылки
читайте авторский блог
Доклад поможет раскрыть несколько важных моментов, которые помогут написать тесты дешево, быстро и правильно: Общая архитектура приложения, при которой удобно использовать интеграционные тесты Общая архитектура тестов Использование pytest и mocker На реальном примере покроем приложение сначала юнит-тестами и убедимся, что такой подход к тестированию не совсем корректный и в итоге пропускает ошибки в функционале. Параллельно посмотрим, что наличие исключительно интеграционных тестов тоже несет не всегда позитивные последствия. На примере доклада рассмотрим подход к разработке, который находится между TDD и "разработал и после покрыл тестами". Помимо всего прочего, сможем посмотреть, как можно тестировать код на максимальную глубину, даже захватывая базовые классы Слушатели смогут убедиться, что высокий процент покрытия тестами — это не всегда хорошо. А так же смогут понять, что разработка и параллельное тестирование собственного кода — это сбалансированный подход в плане качества кода, стоимости разработки. Мы сможем посмотреть на реальном примере, что писать тесты с хорошей архитектурой не так сложно и долго.
На питоне можно писать так и эдак, но когда ты в команде, кто-то "старший" решает, как лучше это делать. Вы могли слышать, что "этот код не питонячий", "так на питоне не пишут". Стоит разобраться почему. Я совсем недавно открыл для себя функциональное программирование, и мне понравился этот стиль. В основном композиция функций на языке Хаскель. Так как мой основной стек это Python, я предполагал, что такое можно сделать и на нем. Но почему все используют императивный подход в разработке и внедрить в свой рабочий проект новые идеи очень сложно. Если все таки захотим использовать функциональный стиль, с какими проблемами можем столкнуться? Если честно, в питоне мало фичей для ФП, но можно использовать диалекты, с помощью которых ваш код будет декларативным и более читаемым для людей. Но есть свои недостатки, которые нельзя игнорировать. В своем докладе я предлагаю познакомиться с этой темой и, возможно, вы отметите для себя что-то интересное.
Для работы HFT необходимы очень маленькие задержки. Поэтому при внедрении ML модели нужно учитывать ограничения на время расчёта признаков. Есть много докладов и статей на тему ускорения расчётов на pandas. Сюда можно отнести и pandarallel, и dask, и polars. Ребята из Intel даже рассказывали на прошлом PyCon-е про modin. Все эти инструменты работают при больших объемах данных. Но что делать, если количество строк меньше 1000 или даже 100? В данном докладе хочу осветить несколько тем: Почему так важна низкая задержка при hft Какие возможны оптимизации для снижения количества расчетов Numpy Structured arrays как замена Pandas DataFrame Вспоминаем математику и ещё немного сокращаем количество операций.
Рекомендации Авито — это первое, что видит пользователь, когда попадает на главную страницу. Нагрузка на наш основной сервис — порядка 200 тысяч запросов в минуту. За последние два года мы сильно улучшили качество рекомендаций, но сильно проиграли в latency. Главным врагом производительности и latency стало добавление ML модели второго уровня на основе CatBoost для ранжирования объявлений от базовых ML моделей первого уровня в реалтайм. В докладе я расскажу: Как мы приняли решение переписать все на Go, перед этим мы выжали из Python все, что смогли; Как подружили CatBoost с Go и стали использовать ML модель на основе CatBoost в Go; Что получили по latency и потреблению memory/cpu.
В гостях у Moscow Python Podcast Python Data Scientists компании Кухня на районе Кирилл Малев и Сергей Макарин.
В гостях у Moscow Python Podcast Python ведущий разработчик компании Monite Богдан Евстратенко. Обсудили с Богданом CI/CD, Kubernetes и нужно ли сейчас знать это разработчику, собеседования в IT и бизнес подход к решению задач.
Поговорили о идеальном возрасте разработчика и существует ли он и о том, почему происходит утечка мозгов и возможно ли с этим что-то сделать.
На этом Python-стриме мы встречаемся с Константином Игнатовым, Staff Engineer в Kiwi.com. Поговорим про инженерную культуру в Kiwi.com, работу в распределённых командах и прочих интересных вещах. :)
В гостях у Moscow Python Podcast Python сооснователь компании Epoch8 и Агима искусственный интеллект Андрей Татаринов. Поговорили с Андреем о том, что такое машинное обучение на практике и зачем оно нужно.
В гостях у Moscow Python Podcast Python разработчик компании 4Taps Александр Дегель. Поговорили с Александром о его пути от преподавателя в детско-юношеской спортивной школе до Python разработчика.
Хочу рассмотреть кейс, когда разработчик приходит на проект, а там: автоматизации тестов — нет и команда не хочет ее внедрять; cd/ci — нет и не предвидится. Хочу обсудить: типовые причины, которые приводят к такой ситуации; проблемы, которые будут у разработчиков. Слайды: https://moscowpython.ru/meetup/76/fight-for-autotests/
PostgreSQL — наиболее популярная база данных, которая используется в Python разработке сейчас. Не все разработчики знают, с какими нюансами можно столкнуться при ее использовании. В докладе будет много полезной информации по тому как правильно настроить PostgreSQL под ваш проект чтобы повысить ее эффективность и надежность. Слайды: https://moscowpython.ru/meetup/76/postresql-basics/
В гостях у Moscow Python Podcast Python Техлид компании СберДевайсы Владимир Соколов. Поговорили с Владимиром о том, чем может заниматься Python разработчик в ML системах и о проблемах речевой аналитики.
На нашем стриме Сергей Галич - выпускник курсов Learn Python, который живёт в Сан-Франциско и работает в Tesla. Про его карьерный путь и работу мы и поговорим в этом интервью.
В гостях у Moscow Python Podcast Python руководитель разработки ML систем компании СберДевайсы Денис Усачев. Поговорили с Денисом о том, для чего нужна автоматизация и о возможных вариантах автоматизации.
В гостях у Moscow Python Podcast Python разработчик компании Утконос Онлайн Павел Кузнецов. Поговорили с Павлом о том, что делает Python в retail и в частности в Утконос Онлайн.
В гостях у Moscow Python Podcast Python ведущий разработчик компании BestDoctor Александр Хмелевский. Поговорили с Александром о самоорганизации, ценностях в команде и социальной валюте.
В своем докладе я расскажу о том, что на самом деле может django.contrib.admin, как и зачем преодолевать внутреннее сопротивление при работе с ним. Django Admin Panel — сложный и мало документированный инструмент в Django Framework, который способен значительно повысить скорость разработки, если в нём по-настоящему разобраться. — «A Не проще ли нам написать свой Backend?» Я отвечу: «Нет, не проще!». Семь лет инсайтов и открытий в моем докладе.
В гостях у Moscow Python Podcast Python developer компании Grid Dynamics Russia Лариса Петрова. Поговорили с Ларисой о ее пути в разработку, обсудили опыт прохождения собеседований и подготовку к ним.