Собрали в одном месте самые важные ссылки
читайте нас в Telegram
Доклад поможет раскрыть несколько важных моментов, которые помогут написать тесты дешево, быстро и правильно: Общая архитектура приложения, при которой удобно использовать интеграционные тесты Общая архитектура тестов Использование 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 и бизнес подход к решению задач.
Поговорили о идеальном возрасте разработчика и существует ли он и о том, почему происходит утечка мозгов и возможно ли с этим что-то сделать.
Kubernetes is a tool to manage containers. This type of management is called orchestration because it does more than just manage the containers such as it will scale up and scale down resources as needed (among many other things). Since Kubernetes is a massive tool, we're going to be covering a practical implementation using a Docker-based Django application.
На этом 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?» Я отвечу: «Нет, не проще!». Семь лет инсайтов и открытий в моем докладе.