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

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

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Статьи

Логистическая и Softmax-регрессии. Теоретические основы и реализация с нуля на Python

Начнём с более простого. Логистическая регрессия — линейный бинарный классификатор, основанный на применении сигмоидальной функции к линейной комбинации признаков, результатом которого является вероятность принадлежности к определённому классу. Обычно порог устанавливается 0.5: если вероятность меньше порога — класс относится к 0, а если больше — к 1. В принципе, условия определения логистической регрессии такие же как и у линейной за исключением бинаризации таргета.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Статьи

Как работает multiprocessing в Python под капотом

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

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Serverless для деплоя ml/dl моделей (с gpu зависимостью)

Основной профит, который можно будет вынести с доклада — сакральные знания (нет), темплейт упаковки, док, как это паковать. Ну и еще поговорим про: текущую ситуацию на рынке serverless сервисов с поддержкой gpu — какие еще есть сервисы плюсы и минусы serverless (священный холивар selfhosted vs serverless) как съехать с них на другой serverless или на self-hosted особенности/грабли/боль двух платформ выше

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Автоматизация процесса создания набора данных на примере РЖЯ

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

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

А побыстрее можно?

Сколько существует python, столько все жалуются, что он медленный. Дошло до того, что даже автор языка признал, что так жить больше нельзя, и запустил проект по ускорению CPython. Но что именно можно (нужно?) ускорить в python? Какие изменения реализуются уже сейчас прямо на наших глазах? Нам предстоит погрузиться в некоторые аспекты работы интерпретатора, чтобы на примере одного из свежих изменений воочию увидеть, как же все-таки разгоняют python.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Утечки памяти и дедлоки: как выстрелить себе в ногу

Есть устоявшееся выражение про «выстрелить себе в ногу», его интерпретация для языка Python гласит следующее: «Вы пытаетесь выстрелить себе в ногу, но то и дело попадаете промеж пальцев. А всё потому, что Питон настолько гибкий — что из пальцев выскальзывает». Оказывается, попасть в ногу намного проще. Минорным обновлением Python вполне реально дедлокнуть себе интерпретатор, а запуск подпроцесса с пользовательским кодом превращается в дебаг утечки памяти. В таких случаях поиск root cause проблемы чаще всего оказывается сильно сложнее, чем хотфикс. И без понимания что же все-таки произошло, можно наступать на те же грабли снова и снова. Посмотрим на пару таких случаев со стороны стандартной библиотеки: как диагностировали и что полезного из этого вынесли. Заодно разберем, чем плох системный вызов fork, и как им можно сделать себе очень больно. Послушать будет интересно всем сочувствующим, особенно тем, кто использует библиотеки subprocess, multiprocessing и concurrent.futures.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Отладка на низком уровне

Отладка в IDE — это, конечно, здорово. Но что, если по какой-то причине она нам недоступна? Попробуем разобраться, как отлаживать код в консоли, контролировать расход процессорного времени и памяти, а также поанализируем сетевой траффик нашего приложения.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Легковесный ЧПУ с EtherCAT на python и С

Эта история о том, как python разработчик и инженер-электронщик совместными усилиями сделали прототип промышленного ЧПУ. Мы использовали Python, Cython и язык С, чтобы разработать гибкую систему, способную управлять различными аппаратными конфигурациями для решения производственных задач. В рамках доклада мы рассмотрим следующие темы: Архитектура приложения ЧПУ: выбор дизайна, обеспечивающего гибкость и адаптивность системы Расчет точной траектории движения Интеграция аппаратного и программного обеспечения Достижение короткого цикла синхронизации для нескольких приводов (двигателей) Приглашаем вас принять участие в докладе, где мы поделимся опытом создания легковесного ЧПУ с поддержкой EtherCAT на Python и C.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Как использовать serverless и не наломать дров

В этом докладе я расскажу о неожиданностях использования serverless по сравнению с server подходом. Зачем и почему serverless нужен Как делать версионирование, canary deployment, релизы в AWS Lambda и другие вещи для production ready бэкенд разработки Об особенностях python разработки под лямбды, о бесполезности асинхронности, сложности дебага ошибок, о поражающей скорости деплоймента кода в продакшен Как потратить сотни долларов на метрики и логи, которые никто не читает О том, как не сломать базу, если в нее ходят сразу 2–3 тысячи экземпляров лямбд

     31.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Релизы

IPython - 8.23.0

Интерактивная оболочка для языка программирования Python. Скачать можно по ссылке: https://pypi.python.org/pypi/IPython

     31.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Релизы

lxml - 5.2.0

Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Да кто такие эти ваши тайп-чекеры?

Как же все-таки следить за качеством своей кодовой базы? Как при минимальных затратах со стороны разработки получить максимальный профит и минимальное количество глупых ошибок? В этом докладе мы разберём существующие решения для тайп чекеров, после чего станет яснее, какой подходит вам лучше всего. Разберем слабости и преимущества четырех популярных решений на рынке. Узнаем об особенностях каждого из них. Посмотрим, что они умеют, кроме тайп чекинга. Проведем сравнение с разных точек зрения, чтобы определить их сильные стороны, после чего вы сможете выбрать, какой же подходит именно вам.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео
     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Функциональщина в Python — это плохая идея?

Функциональное программирование — не самый популярный подход к написанию кода на Python. Но у ФП в Python есть активные сторонники. Они широко применяют и продвигают модули вроде functools, itertools из стандартной библиотеки и пакеты вроде toolz, funcy, returns и др. Мы рассмотрим, как идеи элегантного ФП кода и красивых математических абстракций сталкиваются с реальностью интерпретатора CPython и культуры pythonic кода. Доклад будет полезен программистам на Python, интересующимся функциональным программированием (уже применяющим его или заинтересованным в применении) и желающим обсудить, насколько ФП нужно и полезно им в Python. Предполагается знание основных концепций ФП (чистые функции, побочные эффекты, функции высшего порядка).

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Mojo — революция или хайп?

В мае разработчики движка Modular опубликовали публичную версию языка Mojo. Код на Mojo выглядит один-в-один, как код на питоне, и это не случайно. Mojo — это одновременно под- и надмножество питона, позволяющее выжимать адскую производительность в требовательных к CPU задачах — например, в задачах ML и AI. Подробностей пока мало: запустить Mojo локально нельзя, можно лишь воспользоваться специальной версией Jupyter Notebook, доступ к которой выдаётся через лист ожидания. Из материалов про Mojo пока доступны в основном только красивые презентации его авторов (показывающие, например, ускорение относительно CPython в тысячи раз на задаче умножения двух матриц). Я получил доступ к превью Mojo и немного в нём поковырялся. Так что теперь давайте вместе во время доклада попробуем разобраться, есть ли у этой разработки шансы на революцию, или это просто попытка выехать на хайпе вокруг AI?

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Эволюция нового сервиса и типичные ошибки при его развитии

В рамках доклада я расскажу про возможные пути развития нового сервиса, а также поделюсь опытом, куда может завести недопроектирование и перепроектирование на разных этапах развития проекта. Затронем: - Общение с бизнесом - Проектирование - Тестирование и многое другое Доклад будет полезен тем, кто хочет запустить сервис, который будет поддерживаться и развиваться в условиях меняющихся требований.

     29.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Релизы

lxml - 5.1.1

Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Статьи

Управление цветами в Seaborn: как визуализировать данные красиво

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

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Статьи

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров

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