Собрали в одном месте самые важные ссылки
читайте нас в Twitter
Сколько существует python, столько все жалуются, что он медленный. Дошло до того, что даже автор языка признал, что так жить больше нельзя, и запустил проект по ускорению CPython. Но что именно можно (нужно?) ускорить в python? Какие изменения реализуются уже сейчас прямо на наших глазах? Нам предстоит погрузиться в некоторые аспекты работы интерпретатора, чтобы на примере одного из свежих изменений воочию увидеть, как же все-таки разгоняют python.
Есть устоявшееся выражение про «выстрелить себе в ногу», его интерпретация для языка Python гласит следующее: «Вы пытаетесь выстрелить себе в ногу, но то и дело попадаете промеж пальцев. А всё потому, что Питон настолько гибкий — что из пальцев выскальзывает». Оказывается, попасть в ногу намного проще. Минорным обновлением Python вполне реально дедлокнуть себе интерпретатор, а запуск подпроцесса с пользовательским кодом превращается в дебаг утечки памяти. В таких случаях поиск root cause проблемы чаще всего оказывается сильно сложнее, чем хотфикс. И без понимания что же все-таки произошло, можно наступать на те же грабли снова и снова. Посмотрим на пару таких случаев со стороны стандартной библиотеки: как диагностировали и что полезного из этого вынесли. Заодно разберем, чем плох системный вызов fork, и как им можно сделать себе очень больно. Послушать будет интересно всем сочувствующим, особенно тем, кто использует библиотеки subprocess, multiprocessing и concurrent.futures.
Отладка в IDE — это, конечно, здорово. Но что, если по какой-то причине она нам недоступна? Попробуем разобраться, как отлаживать код в консоли, контролировать расход процессорного времени и памяти, а также поанализируем сетевой траффик нашего приложения.
Эта история о том, как python разработчик и инженер-электронщик совместными усилиями сделали прототип промышленного ЧПУ. Мы использовали Python, Cython и язык С, чтобы разработать гибкую систему, способную управлять различными аппаратными конфигурациями для решения производственных задач. В рамках доклада мы рассмотрим следующие темы: Архитектура приложения ЧПУ: выбор дизайна, обеспечивающего гибкость и адаптивность системы Расчет точной траектории движения Интеграция аппаратного и программного обеспечения Достижение короткого цикла синхронизации для нескольких приводов (двигателей) Приглашаем вас принять участие в докладе, где мы поделимся опытом создания легковесного ЧПУ с поддержкой EtherCAT на Python и C.
В этом докладе я расскажу о неожиданностях использования serverless по сравнению с server подходом. Зачем и почему serverless нужен Как делать версионирование, canary deployment, релизы в AWS Lambda и другие вещи для production ready бэкенд разработки Об особенностях python разработки под лямбды, о бесполезности асинхронности, сложности дебага ошибок, о поражающей скорости деплоймента кода в продакшен Как потратить сотни долларов на метрики и логи, которые никто не читает О том, как не сломать базу, если в нее ходят сразу 2–3 тысячи экземпляров лямбд
Интерактивная оболочка для языка программирования Python. Скачать можно по ссылке: https://pypi.python.org/pypi/IPython
Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/
Как же все-таки следить за качеством своей кодовой базы? Как при минимальных затратах со стороны разработки получить максимальный профит и минимальное количество глупых ошибок? В этом докладе мы разберём существующие решения для тайп чекеров, после чего станет яснее, какой подходит вам лучше всего. Разберем слабости и преимущества четырех популярных решений на рынке. Узнаем об особенностях каждого из них. Посмотрим, что они умеют, кроме тайп чекинга. Проведем сравнение с разных точек зрения, чтобы определить их сильные стороны, после чего вы сможете выбрать, какой же подходит именно вам.
Функциональное программирование — не самый популярный подход к написанию кода на Python. Но у ФП в Python есть активные сторонники. Они широко применяют и продвигают модули вроде functools, itertools из стандартной библиотеки и пакеты вроде toolz, funcy, returns и др. Мы рассмотрим, как идеи элегантного ФП кода и красивых математических абстракций сталкиваются с реальностью интерпретатора CPython и культуры pythonic кода. Доклад будет полезен программистам на Python, интересующимся функциональным программированием (уже применяющим его или заинтересованным в применении) и желающим обсудить, насколько ФП нужно и полезно им в Python. Предполагается знание основных концепций ФП (чистые функции, побочные эффекты, функции высшего порядка).
В мае разработчики движка Modular опубликовали публичную версию языка Mojo. Код на Mojo выглядит один-в-один, как код на питоне, и это не случайно. Mojo — это одновременно под- и надмножество питона, позволяющее выжимать адскую производительность в требовательных к CPU задачах — например, в задачах ML и AI. Подробностей пока мало: запустить Mojo локально нельзя, можно лишь воспользоваться специальной версией Jupyter Notebook, доступ к которой выдаётся через лист ожидания. Из материалов про Mojo пока доступны в основном только красивые презентации его авторов (показывающие, например, ускорение относительно CPython в тысячи раз на задаче умножения двух матриц). Я получил доступ к превью Mojo и немного в нём поковырялся. Так что теперь давайте вместе во время доклада попробуем разобраться, есть ли у этой разработки шансы на революцию, или это просто попытка выехать на хайпе вокруг AI?
В рамках доклада я расскажу про возможные пути развития нового сервиса, а также поделюсь опытом, куда может завести недопроектирование и перепроектирование на разных этапах развития проекта. Затронем: - Общение с бизнесом - Проектирование - Тестирование и многое другое Доклад будет полезен тем, кто хочет запустить сервис, который будет поддерживаться и развиваться в условиях меняющихся требований.
Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/
В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся. Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как использовать ту или иную палитру в конкретной задаче.
Гиперпараметры — это параметры, которые не учатся в процессе обучения модели. Они задаются заранее. От выбора гиперпараметров напрямую зависит качество и эффективность модели, а их оптимизация может улучшить результаты предсказаний.
Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/
Это вторая и заключительная часть статьи, в которой мы рассматриваем задачу классификации экзопланет. Если предыдущая статья была больше про предобработку данных, то здесь мы будем строить модели, отбирать лучшие и экспериментировать.
Очередной выпуск англоязычного подкаста Python Bytes