Ждали все доклады на PiterPy 2024?
Дождались! Вся программа конференции — уже на сайте.

ML
— Большие языковые модели в облаке Yandex Cloud —
Дмитрий Сошников
Научимся извлекать структурированные данные из больших массивов текстовых данных, строить вопросно-ответные системы и автоматические ответы на отзывы и решать другие задачи с помощью больших языковых моделей в облаке.
— За пределами простых запросов: расширяем возможности YandexGPT с помощью RAG — Александр Константинов и Кузьма Лешаков
Все тонкости, которые нужно знать при создании RAG-приложения на базе YandexGPT: от специфики применения YandexGPT в русскоязычных задачах до обзора баз данных для работы с векторными данными.
— Вашей компании LLM не нужен? Построение инфраструктуры с нуля — Мичил Егоров
Как построить инфраструктуру для использования больших языковых моделей (LLM) с нуля? Узнаем о всех подводных камнях из опыта Х5 Tech.
____________________________________________________________________________
Backend
— Драматическое приручение кролика — Святослав Посохин
Однажды в Точке решали задачу обработки реестров платежей. Для проверки статусов, отправки уведомлений, формирования выписок и других фоновых задач выбрали Dramatiq. И спустя 3 года получили свою первую ошибку от RabbitMQ — «100 connection limit reached». Зачем им столько соединений? Почему это плохо и как они держат нагрузку в 10 раз больше, имея в 10 раз меньше соединений?
— Backend-Driven UI: как мы это сделали и что из этого вышло — Александр Киверин
Как в Циане за год смогли с нуля реализовать 2 отдельных BDUI-языка, подружили их в одном сервисе, не испугались полиморфных и рекурсивных Swagger-схем, научили backend-разработчиков основам верстки на всех платформах, поменяли принцип мышления стейкхолдеров и запустили новую форму подачи объявления на первых пользователей.
— Еще один фреймворк: как мы стали пилить интеграции за спринт вместо квартала — Дмитрий Иванюшин
Как в ContactPay разработали фреймворк для интеграций с платежными шлюзами, который существенно сокращает T2M с момента подписания договоров.
____________________________________________________________________________
Testing
— To TBD or Not to TBD? — Руслан Морозов и Антон Новиков
Как при разработке KasperskyOS внедряли подход trunk-based development? Поговорим, как хранить код, изменять, собирать, тестировать, релизить. Узнаем про текущие дизайн-решения, рассмотрим их плюсы и минусы.
— Брокеры сообщений и Python в 2024-м — Никита Пастухов
Пройдемся по всем больным мозолям Python-клиентов к брокерам сообщений, сформируем список требований к «современному» инструментарию, познакомимся с FastStream и немного окунемся в историю его создания.
— Практические шаблоны и лучшие практики для разработки Python-библиотек — Максим Ликсаков
На примере реальных задач посмотрим, как можно улучшить процессы разработки Python-инструментов, минимизировать возможные ошибки и ускорить внедрение изменений. Обсудим, как стандартизация и автоматизация тестирования помогает в поддержке и развитии больших проектов.
____________________________________________________________________________
Tools & Frameworks
— Всё или ничего: как обновить Python и не попасть на костер — Сергей Яхницкий
История про внедрение новых инструментов и борьбу с легаси на масштабе в сотни микросервисов. Будет полезно сеньорам и техлидам.
— Accelerating API Development in PostgreSQL with PostgREST — Krishna Lodha
На воркшопе научимся быстрой разработке API в среде PostgreSQL с использованием PostgREST. Освоим тонкости интеграции PostgREST с базами данных PostgreSQL — от базовой установки до расширенной конфигурации, обеспечения масштабируемости и безопасности.
— Миграция с Python 2 на Python 3: подходы, процессы, трудности — Виктор Азаубаев
Как мигрировать 200 000 строк кода с Python 2 на Python 3, оставаясь в основе внутренней инфраструктуры так, чтобы пользователи этого не заметили? Узнаем про кейс в Яндексе: какие подходы использовали, с какими трудностями столкнулись, как подготовиться к большим переездам и что можно сделать иначе
____________________________________________________________________________
Data
— Apache Kafka для Python-разработчиков — Григорий Кошелев
Обсудим внутреннее устройство, принцип работы основных компонентов и особенности использования Python-клиента к Apache Kafka. Разберем основные сценарии использования и best practices.
— Из бэкенда в дата-инженерию: типовые ошибки и паттерны — Юлия Волкова
Практический доклад с кейсами и наглядными примерами про важнейшие базовые вещи в дата-инженерии. Посмотрим на реализацию обыденных для бэкенда, но абсолютно неправильных паттернов с точки зрения дата-инженерии. Поговорим о работе со временем, перекладывании данных из базы туда-обратно, важности инструментов для обработки данных, любви к foreign key и о другом.
— Обработка геоданных в Python — Александр Мещеряков
Как получить и обработать геоданные в Python, какие библиотеки использовать для работы с геоданными, как можно джойнить данные не только по текстовым полям, но и при помощи геометрий? Научимся правильно рассчитывать расстояния, использовать различные проекции, получать картограммы и агрегировать данные.
____________________________________________________________________________
Internals
— Python JIT и extension на C: чего ожидать в будущем? — Александр Боргардт
Как JIT-компиляции и расширения на языке C влияют на производительность Python-приложений, какие новые возможности и улучшения нас ожидают, а также какие вызовы предстоит преодолеть разработчикам.
— Optimizing Python Startup Time by Code Data Share — Yichen Yan
Как сократить время запуска Python-программ с помощью совместного использования данных кода? Погрузимся в CPython и узнаем, как в Alibaba кэшируют байткод без накладных расходов.
— PyPy: ускоряем Python с помощью Python — Андрей Шарапов
Что, если можно на порядок поднять производительность CPU-bound операций, не меняя стек на asm, Go, Rust, Node.js или другие и не расширяя команду? Это избавит от затрат на дорогого специалиста под одну задачу или переобучение Python-разработчика с размытием фокуса компетенций на два стека.
____________________________________________________________________________
Fundamentals
— Внедряя SOLID — Денис Аникин
Исходя из разработки множества энтерпрайзных систем и общения на большом количестве собеседований спикер расскажет, как жить с принципами SOLID, как их внедрять, как все в индустрии их «хорошо» используют (спойлер: не очень) и как можно некоторые из принципов достичь автоматически.
— Senior. Ретроспектива, или Что я сначала не понимал в своей карьере, а потом как понял — Дмитрий Аникин
Пройдемся снизу вверх по ступеням грейдов и поговорим об аспектах и навыках в Python, которые помогают получить буст в карьере. Затем пойдем в обратном порядке, чтобы уже с высоты текущего развития посмотреть на каждый из этапов и понять, что хорошие специалисты сами такими не станут, если им не помочь.
— D в DDD: где D — это доменная логика — Макс Столпасов
Почему так важно понимать бизнес-процессы вашего проекта и как это помогает создавать качественный и гибкий код? Реальные примеры, как DDD помогает решать сложные задачи. Как правильно организовать код, чтобы он был легче в поддержке и адаптации к изменениям.
____________________________________________________________________________
Cybersecurity
— И снова про безопасность в мире Python-разработки — Алексей Смирнов
Что происходит в мире безопасности open source-пакетов, какие есть тренды и есть ли что-нибудь положительное в них? Что делает сообщество, чтобы защитить разработчиков от злоумышленников? Какие ошибки чаще всего допускают Python-разработчики и как их можно было бы избежать?
— Выбираем open-source SAST для Python-проектов — Максим Кобелев
Популярные open source-инструменты для статического анализа безопасности (SAST) в Python-проектах: Bandit, SonarQube, Semgrep, CodeQL. Обсудим преимущества и недостатки каждого с примерами использования на подготовленном бенчмарке — заранее уязвимом Python-приложении (OWASP Top 10).
____________________________________________________________________________
Vanilla Python
— Стили в Python: как перестать рвать на себе волосы, читая чужой код — Игорь Мосягин
Вас «тошнит» от Литкода, но хочется иметь больше универсальности в своей коробке инструментов? Возьмем для примера понятную задачу вордкаунта и рассмотрим, как одну и ту же штуку можно сделать разными способами и что из этого получится.
— Tackling Thread Safety in Python — Adarsh Divakaran
Рассмотрим подводные камни и проблемы, возникающие, когда код, не рассчитанный на безопасность потоков, выполняется в многопоточной среде: влияние блокировки глобального интерпретатора и использование примитивов синхронизации для обеспечения безопасности потоков.
____________________________________________________________________________
Замена Питону
— Bend vs Mojo. Чей хайп сильнее? — Михаил Гурбанов
В прошлом году Mojo влетел «с ноги» в топ-чарты интернета и продолжает набирать популярность. Но совсем недавно появился Bend, который набрал 15K звезд за неделю. Оба языка заточены под ML и параллелизм, но какой лучше и сильнее? Посмотрим на их особенности, немного покопаемся во внутренностях. Конечно же, будем бенчмаркать до потери пульса, так как эти языки очень хорошо подходят для ML, где скорость крайне важна.