Квантовые обновления

09 августа 2022
Квантовые обновления

Нам давно предсказывали наступление эры квантовых вычислений. Прогнозы оправдались и первой ласточкой стала Nvidia, разработавшая новую архитектуру QODA с упором на гибридный подход к вычислениям. Это и многое другое в нашем августовском дайджесте.

QODA для кода

15 лет назад произошла революция в мире вычислений — появилась архитектура Nvidia CUDA. Идея использования графических процессоров Nvidia в качестве вычислителей была отличной и полностью себя оправдала. Оборудование и SDK совершенствовались, породив таких «монстров» для вычислений в сфере AI, как Nvidia DGX A100.

Недавно Nvidia представила новую архитектуру — QODA (Quantum Optimized Device Architecture). Она предназначена для постепенного сдвига традиционной модели вычислений с помощью суперкомпьютеров в сторону квантовых вычислений. Исходя из названия, мы вступаем в новую эпоху, где существующим приложениям на C++ или Python можно будет добавить квантовые вычисления.

Такой гибрид позволит задействовать физические или эмулированные квантовые процессоры (QPU). В зависимости от количества кубитов ускорение должно быть колоссальным. Для 20 кубитов заявлено ускорение в 280 раз. По прогнозам создателей архитектуры — она будет востребована в медицине, химии, финансовой сфере и логистике. Пощупать новинку своими руками можно, оставив предварительную заявку на портале для разработчиков.

Встречаем Django 4.1

Один из самых популярных фреймворков для Python получил обновление до версии 4.1. Изменений много, упомянем лишь наиболее заметные. Новая версия Django обзавелась асинхронным интерфейсом к ORM. Теперь можно не оборачивать операции ORM в sync_to_async(), просто пишите асинхронный код. А операции доступа к данным называются в полном соответствии с текущими, только с префиксом a – acreate(), aget(), etc…

Это лишь один из этапов внедрения асинхронного взаимодействия. Пока базовые операции БД остаются синхронными, новый интерфейс лишь инкапсулирует операции sync_to_async(). Но это отличный задел на будущее, ведь потом такой код станет использовать все преимущества асинхронной поддержки ORM.

Ещё появились асинхронные обработчики для представлений на основе классов. Раньше в пределах одного класса обработчики должны были быть только синхронными или только асинхронными. Смешанные объявления не допускались и вызывали исключение. Теперь Django сам обнаруживает асинхронные представления и запускает их в соответствующем контексте.

С выходом 4.1 предыдущая версия 4.0 будет поддерживаться до апреля 2023 года, так что разработчики рекомендуют выполнить обновления до даты окончания поддержки. С полным списком изменений в 4.1 можно ознакомиться на странице примечаний к выпуску.

«Проклятая» версия Python 3.11

В одном из прошлых дайджестов мы уже рассказывали о сложностях с Python 3.11b5, относительно которого звучали крайне пессимистичные прогнозы. В частности, что если не будут исправлены проблемы со стабильностью, то релиз отложат до декабря 2022 года. Это не лучшим способом сказалось бы на графиках выхода некоторых дистрибутивов Linux.

Судя по всему, Python 3.11 выйдет в срок. 5-го августа Пабло Галиндо Сальгадо, ведущий разработчик и менеджер выпуска Python 3.10/3.11 сообщил:

Пабло Галиндо Сальгадо, ведущий разработчик и менеджер выпуска Python 3.10/3.11 сообщил

Спустя 3 дня стало ясно, что первый релиз-кандидат готов. Значит, что финальную версию Python 3.11 увидим в октябре:

Значит, что финальную версию Python 3.11 увидим в октябре

Генерируем штрихкоды в Python

Знаете ли вы, что штрихкоды вполне имели шанс быть круглыми? Увы, принтеры того времени часто смазывали чернила по вертикали. Так что предпочтение отдали вертикальным полосам — даже смазанную информацию можно считать корректно.

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

Эту же цель преследует и символ > в конце кода. Он говорит считывателю, что далее находится «мёртвая зона», которую не нужно никак интерпретировать. Ещё один элемент контроля корректности считывания — контрольная цифра, рассчитываемая по алгоритму Луна.

В штрихкоде можно закодировать что угодно, но для начала решим простую задачу — когда внутри есть только цифры по стандарту UPC-A.

Вот что нужно для успешного решения задачи:

  • определить таблицы кодирования цифр и защитных полос;
  • создать механизм расчёта контрольной суммы;
  • сгенерировать изображение в формате SVG.

Вместе с этими основными задачами будет нужно учесть особенности формата, такие как инверсия при считывании слева-направо и справа-налево. Детальная информация и примеры кода есть в статье Ясуба Халида (Yasoob Khalid) — Understanding and Generating a UPC-A barcode using Python. Рекомендуем к прочтению.

Митапы

Онлайн

Python meetup

 19:00

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

Регистрация

 

Пропустили наш предыдущий митап? Не беда! Все доклады мы выложили на Youtube в кинематографическом качестве 4к:

Андрей Корчагин (Утконос ОНЛАЙН) рассказал о том, как добиться сильного ускорения кода минимальным набором дополнительных строк.

 

Александр Боргардт (duckstax) поднял тему неявных накладных расходов при вызове нативного кода из Python.

 

Петр Ермаков (Yandex) поделился опытом построения рекомендательной системы на Python без глубоких знаний математики.

Если вам есть, что рассказать и опыт, которым вы хотите поделиться, то смело пишите нам на почту andy@evrone.com или предложите доклад через форму.

Конкурсы для разработчиков

Онлайн

Python Quiz

до 24 августа 2022

Предлагаем проверить себя в нашем новом квизе. Его составляли наши опытные разработчики, так что придётся хорошо подумать. Внутри семь вопросов и несколько вариантов ответов, из которых лишь один правильный.

Среди тех, кто правильно ответит на 6 или все 7 вопросов мы разыграем Яндекс Станцию. Торопитесь принять участие, розыгрыш уже 24 августа.

Принять участие

Обучение

Онлайн

Курс Python в Evrone Academy

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

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

 

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

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

Регистрация

Вакансии

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

Evrone 

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

Подробнее

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