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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     29.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Fake Django Objects With Factory Boy

The factory_boy library is a tool for managing fixtures for your tests. This article shows you how to use it with Django.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Concurrency testing — отлавливаем состояния гонки

В статье разберём некоторые техники обнаружения плавающих багов, вызванных конкурентностью. Сделаем подход к автоматическому тестированию устойчивости веб-сервисов к различным race condition. Примеры будут на python + asyncio + sqlalchemy, но эти подходы применимы к любым моделям конкурентности, которые подвержены состояниям гонки.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Loss Landscape Analysis — новая библиотека для анализа точности обучения и оценки обобщающей способности нейросетей

При работе с нейросетями-классификаторами у всех на слуху какие-то известные архитектуры, которые характеризуются числом параметров, скоростью вычислений (инференса), точностью выполнения той или иной известной задачи. Популярны соревнования, посвящённые тому, насколько точно можно решить задачу классификации на типовых датасетах, и часто борьба уже идёт за доли процента [PWC]. Однако в реальных задачах нейросети часто показывают себя куда хуже, чем в «лабораторных» условиях, что переводит акццнт внимания с тренировочных и тестовых (train-test) задач на проверку обобщающей способности (generalization) нейросетей.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Апгрейд Telegram-бота для управления внутренними процессами: наш опыт вам в копилку

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

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Релизы
     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Чистый код в Python

!Это перевод статьи Clean Code in Python. В данной статье Nik Tomazic рассказывает о чистом коде, его преимуществах, различных стандартах и принципах, но что самое главное– он дает общие рекомендации по написанию чистого кода. Прочитав данную статью в оригинале, я понял, что это именно то, что я хотел бы прочитать в самом начале своего пути разработки на Python.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Контролируемая генерация для больших языковых моделей (LLM)

Вы когда-нибудь сталкивались с тем, что языковая модель, даже лучшая, типа GPT-4 или Клод, не соблюдает строгий формат ответа? Например, выдаёт неверный JSON или добавляет лишние поля, что приводит к сбоям в сервисе? Эти проблемы могут вызывать значительные трудности при интеграции с другими системами, требуя сложных обходных решений и усложняя логику обработки данных. На этом докладе я покажу, как можно заставить модели строго следовать заданным форматам ответов. Я расскажу, как использовать современные фреймворки для контролируемой генерации, чтобы гарантировать выдачу корректных структурированных данных, будь то JSON, код или любые другие форматы. Доклад будет полезен не только специалистам по языковым моделям, но и разработчикам, знакомым с простыми концепциями конечных автоматов. Вы увидите, как эти известные алгоритмы в сочетании с языковыми моделями дают интересные результаты. Кроме того, я объясню дополнительные преимущества контролируемой генерации, такие как zero-shot классификация, вызов внешних функций и ускорение генерации.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Как тестировать питонячьи либы

Рубль, вложенный в тестирование библиотеки, даёт сильно больше велью, чем тот же рубль, вложенный в тесты бизнес-логики. Если пренебречь тестированием, карточный домик из абстракций легко рассыпается. Давайте разберёмся, как сделать так, чтобы как можно больше домиков не сыпались.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Долгая дорога к JIT

JIT или не JIT? Вот в чём вопрос. Python — язык с многолетней историей. И на протяжении всей своей истории он не был фаворитом в вопросах производительности. Было много разных попыток приблизиться к решению этой проблемы, в том числе и с добавлением JIT (pypy, numba, etc.), но у большинства из них был фатальный недостаток. Они были инструментами для решения конкретных проблем, про которые вспоминали, только когда других вариантов уже не осталось, когда уже не жалко инвестировать дополнительное время в ускорение узкий мест и переписывание кода. Но что же нам предвещает добавление JIT в коробочную версию cpython? Мы получим бесплатное ускорение всех наших программ и возрадуемся или всё не так просто? Давайте попробуем разобраться вместе.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Я ускорил всё, кроме себя

Я ускорил всё, кроме себя В своём докладе мне хочется дать слушателям самый полный и понятный список лучших решений для всего в бэкендах. Это будет небольшая энциклопедия лучших решений, многие из которых я и коллеги как следует «притёрли» в продакшене. Фреймворки, библиотеки, сервера, даже немного десктоп софта, сравнения — будет всё, а на что-то мы и вовсе посмотрим с неожиданных сторон.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Мультиагентные системы и автопромптинг

AI-агенты захватывают наш мир, и раз бороться с ними не выйдет — стоит научиться их делать. А ещё лучше — пусть AI-агенты создают себя сами. В докладе будет разбор того, как научить агентов писать себе промпты, измерять качество решений. Обсудим основные проблемы, которые могут возникнуть, и выбор правильной схемы памяти для агентов. Отдельное внимание уделим обучающимся агентам, которые анализируют обратную связь от пользователей и становятся лучше. Доклад будет наиболее интересен тем, кто создает персонализированных AI-ассистентов.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Как и зачем я пишу новый учебник по Python

Все, кто когда-либо писал учебники, хором говорят: не пишите учебник. Настала моя очередь присоединиться к этому хору: год назад я сел писать с нуля учебник по Python. И прямо сейчас провожу обкатку написанного на фокус-группе, а в начале 2025 года планирую издать книгу в бумаге. Это доклад о том, как увлечение нейрофизиологией переросло в мой самый большой эксперимент за 25 лет работы программистом: создание самоучителя для взрослых. Я расскажу, как выбирал последовательность обучения, почему начал учебник с expression/evaluation/value, зачем объяснять списки через словари, чем мне не нравится слово "переменная", и, главное — почему я хочу издать всё это в бумаге.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Python VS ГИС-инструменты: хватает ли питона для обработки гео-данных в индустрии?

В докладе сравним подходы программиста и ГИС-специалиста к обработке гео-данных. На примере проектов посмотрим, почему не стоит ограничиваться готовыми коробочными решениями и когда переходить к разработке собственных решений. Поделимся опытом использования питона для анализа пространственных данных и расскажем о стеке инструментов, необходимых для ГИС-моделирования.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Как мы тестируем дата-пайплайны в рекламе Яндекса

Как мы тестируем дата-пайплайны в рекламе Яндекса В рекламных технологиях Яндекса мы создаём конвейеры обработки данных для аналитики, подготовки датасетов и обучения ML-моделей. Сбои в работе этих конвейеров могут приводить к серьёзным финансовым потерям, поэтому мы вкладываем много сил в обеспечение их надёжности. Одной из целей разработки нашей платформы управления данными Logos было решение этой задачи. В докладе я поделюсь нашим опытом многоуровневого тестирования дата-пайплайнов. Вы узнаете о различных подходах к тестированию данных, их преимуществах и недостатках. Я расскажу, как мы формируем тестовые выборки данных, как верифицируем результаты тестовых расчётов, а также как устроена приёмка дата-пайплайнов в рамках релизного процесса.

     29.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Релизы

pymongo - 4.11

Python интерфейс для MongoDB. Скачать можно по ссылке: https://pypi.python.org/pypi/pymongo/

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Делаем из питона го. Зачем?

Делаем из питона го. Зачем? Давайте признаем, что синхронный код писать проще: он прост, как доска. Но иногда хочется добавить какую-то многозадачность в свой код, особенно если у вас I/O-bound приложение. Асинхронность в питоне решает эту проблему, но при этом создаёт дополнительные сложности, например, классическую проблему сине-зелёных функций. А если ещё и изначально проект был на синхронном питоне, то не переписывать же его с нуля? А может, будем писать почти как в go с горутинами? Ровно так мы и делаем на нашем проекте. Расскажем, как мы к этому пришли и кому за это мы продали душу.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Зачем Яндексу своя бинарная сборка python

Зачем Яндексу своя бинарная сборка python В Яндексе используется своя система сборки, которая появилась более 10 лет назад. Она умеет собирать Python в замкнутые бинарные программы под все популярные платформы. В докладе рассмотрим разные способы дистрибуции Python сервисов и инструментов, выясним, что же такое бинарная сборка, какие она накладывает ограничения и даёт возможности.