It’s…

12 мая 2022
It’s…

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

Evrone Python Guidelines update

С open source у нас давняя любовь: мы считаем, что должны делать свой вклад, раз уж используем свободно распространяемые инструменты в проектах. Например, уже больше года создаём и дополняем гайдлайны по созданию хорошего Python-кода. Все советы в репозитории проекта базируются на опыте разных проектов в Evrone. Мы декларируем простые принципы написания кода:

  • Поддерживаемость (представьте, сможете ли вы понять свой код через год или через два)
  • Простота (между сложным и простым решением следует выбрать простое)
  • Очевидность (представьте, когда подключится новый программист, насколько ему будет понятно, почему именно так написан этот код)

Они стали частью нашей работы, а их применение делает жизнь распределенных команд проще. Можно рассматривать их как воплощение знаменитого The Zen of Python. Актуальная версия Evrone Python Guidelines теперь доступна на русском и английском языках. 

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

Bloomberg Python Memory Profile

gif

Отличной новостью нас порадовала компания Bloomberg. Их Engineering департамент выложил в открытый доступ собственную разработку — профилировщик памяти для Python. Инструмент называется memray, исходный код доступен в репозитории на GitHub. Он умеет отслеживать потребление памяти в коде, интерпретаторе Python и нативных модулях расширения.

Количество отслеживаемой информации впечатляет. memray использует подход отслеживания функций и умеет в отчёты. Снижение производительности при этом незначительно. Помимо потоков, Python может обрабатывать нативные потоки, например, C++ в расширениях C. Документация с примерами выложена на сайте проекта

Из существенных минусов можно отметить отсутствие кроссплатформенности. Работает профилировщик только на Linux.

3.11b1 — что нового

Представлена первая из четырёх запланированных бета-версий Python 3.11. Тестирование продлится до 2-го августа этого года, когда выйдет первый релиз-кандидат. Если вам хочется внести свой вклад в разработку, тестируйте и сообщайте о найденных ошибках в баг-трекер.

Грядущее обновление до 3.11 должно значительно увеличить производительность. Новая версия эталонного интерпретатора CPython станет быстрее на 10-60%. Вот некоторые ключевые особенности:

  • более точная локализация ошибок (PEP 657);
  • улучшенная обработка исключений (PEP 654);
  • упрощенный способ аннотирования возвращающих экземпляр своего класса (PEP 673);
  • вариативные дженерики (PEP 646);
  • синтаксический анализ формата TOML (PEP 680);
  • произвольный буквенный тип строки (PEP 675).

Полный список изменений есть в changelog.

Сила f-strings в Python

Martin Heinz, DevOps-инженер в ΙΒΜ, в своей статье на Medium предложил задуматься о такой крутой фиче, как f-strings. Этот способ форматирования впервые появился (PEP 498) в версии 3.6. Чаще всего его применяют для форматирования чисел. Но мало кто задумывается, что с помощью f-strings удобно отображать дату/время. Она будет выглядеть также, как если бы вы использовали метод datetime.strftime.

Теперь к более интересному. С версии 3.8 появилась возможность отображения имени переменной вместе с её значением. Например, вот такая строчка print(f"x = {x}, y = {y}") напечатает x = <значение>, y = <значение>. Важное примечание: пробелы также учитываются.

Простые арифметические операции поддерживаются непосредственно в строках, что делает возможным такой трюк, как print(f"{x} + {y} = {x + y}"). Вместе с этим f-strings позволяют форматировать текст с помощью Format Specification Mini-Language. Осторожно — изучение всех возможностей f-strings может сделать из вас волшебника.

Обучение

Онлайн

Курс Python в Evrone Academy

60 учебных модулей 

Если вы думаете о смене работы или хотите стать частью нашей команды, но у вас недостаточно коммерческого опыта, то теперь можно учиться прямо в Evrone. А после — попасть к нам на оплачиваемую стажировку.

 

Основа обучения в Evrone Academy — наши высокие требования к разработчикам и опыт в проектах. Мы записали лекции, подготовили текстовые версии, добавили практические задания — это позволит вам подтянуть знания до middle-уровня. На стажировке мы дополним теорию практикой, а после — добро пожаловать на «боевой» проект.

Сейчас академия доступна в режиме early access — можно пройти базовые части по Python или Ruby. Но мы уже готовим новые материалы и практические задания, подписывайтесь на нас в соцсетях, чтобы не пропустить обновления!

Регистрация

Митапы

Онлайн

Python meetup

 19:00

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

 

Регистрация

Вакансии

Удаленка / Офис

Evrone 

Мы открыты для новых Python-разработчиков. Evrone работает удалённо с первого дня, участие в Open-source проектах оплачивается, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.

Подробнее

Подписаться
на Digest →
Важные новости и мероприятия без спама
Технологии которыми вы владеете и которые вам интересны
Ваш адрес электронной почты в безопасности - вот наша политика конфиденциальности.