ch
Feedback
Питонические атаки

Питонические атаки

前往频道在 Telegram

Всяческие заметки про программирование на Python и другие весёлые истории.

显示更多
1 299
订阅者
无数据24 小时
-37
-1130
帖子存档
Первый релиз кандидат для 3.11 только что созрел. Оно приближается!

Вот тут молодой человек издевается над структурным паттерн-матчингом в 3.10 при помощи ABC. Создаёт разные странные типы, а паттерн-матчинг с удовольствием их матчит. В продакшн такое точно затаскивать нельзя, потому что уж слишком неожиданно получается, но для понимания работы механизмов — весьма интересно. Кстати, насколько я вижу, пока что большинство людей используют паттерн-матчинг как обычный switch-case по набору констант, чтобы сэкономить символы на цепочке if-elif-else. У вас так же? Нашли ли вы способ применить распаковки (destructuring) в паттерн-матчинге?

Вышла джанга 4.1 https://www.djangoproject.com/weblog/2022/aug/03/django-41-released/ из интересного: 1. Поддержка асинхронных запросов в ORM, но магическим образом запросы асинхронными не станут, надо в явном виде вызывать начинающиеся с a методы типа .afirst() вместо .first() 2. В class-based views можно делать асинхронные методы 3. Meta.constraints теперь проверяются во время валидации модели. Я не успел посмотреть как это работает, но если модель сама начнет неявно лазить в базу для проверки unique то это скорее минус Еще всякие мелочи, которые показались интересными: - makemigrations --scriptable выглядит как удобная для использования в CI штука - новая команда optimizemigration обещает некие оптимизации для миграций, интеерсно будет посмотреть как это работает - поддержка пеерименования индексов в миграциях - bulk_create() теперь кажется умеет делать update если такая строка уже есть в базе - iterator() научили делать prefetch_related - добавили механизм ротирования SEKRET_KEY-а https://docs.djangoproject.com/en/4.1/ref/settings/#secret-key-fallbacks - много всякого removed/deprecated но ничего для себя интересного в списке я не нашел https://docs.djangoproject.com/en/4.1/releases/4.1/#backwards-incompatible-changes-in-4-1 Попробую на выходных один пет-проджект перевести на 4.1

Тут для PyCon в Москве ребята из Positive Technologies сделали квиз с интересными вопросиками. С первой попытки у меня получилось набрать 7/10. Узнал кое-что новое. Кто-то смог 8/10. Людей, набравших больше, я пока не встречал. Попробуйте, сколько сможете? @Positive_QuizBot После конференции, то есть уже в понедельник, бота скорее всего отключат. Сразу предупрежу, что бот соберёт с вас номер телефона, чтобы мировое правительство могло за вами следить.

Сейчас происходит серьёзное развесистое обсуждение инициативы по запрету удаления пакетов из PyPI. Это, как вы понимаете, пос
Сейчас происходит серьёзное развесистое обсуждение инициативы по запрету удаления пакетов из PyPI. Это, как вы понимаете, после недавнего инцидента, когда разработчик удалил свой популярный пакет в попытках сбросить счётчик скачиваний, чтобы обойти требование по настройке 2FA. Это, конечно, была проблема не масштабов left-pad из NPM, когда полыхало на весь интернет, но агония длилась около 10 часов и тоже много кого затронула. Получилось неприятно. Кстати, PyPI находится в меньшинстве — в числе индексов, которые позволяют удаление пакетов и файлов. Вероятно, для этого нет каких-то веских причин, а скорее это из-за того, что PyPI появился ещё во времена, когда люди не думали о том, что подобные проблемы с зависимостями в принципе возможны (2003 год). Кажется, что все более продвинутые индексы пакетов либо уже пришли к этому решению, либо изначально не давали такой возможности. И PyPI тоже рано или поздно придёт.

Ого, консольный Git становится чуть более человечным. Сколько же раз я копипастил команду, которую он выдаёт в ошибке. #git
Ого, консольный Git становится чуть более человечным. Сколько же раз я копипастил команду, которую он выдаёт в ошибке. #git

GitHub в своём блоге выпустил пост про то, как Python и его либы используются для обработки данных с телескопа Джеймса Уэбба: https://github.com/readme/featured/webb-telescope-astropy 🔭👽🛰

Сегодня я узнал, что из finally лучше никогда не возвращать значения. Это работает, но лучше не надо. Судя по результатам опроса, узнал новое сегодня не только лишь я. А пример этот вот из этой статьи, тут ещё много разной дичи: https://habr.com/ru/company/oleg-bunin/blog/485960/ Кстати, кто-нибудь пользуется wemake-python-styleguide? Расскажите, как оно вам?

Что вернется?
Anonymous voting

Что вернется?
Anonymous voting

Понедельничная разминка
Понедельничная разминка

Новость про обязательность MFA для критически важных проектов на PyPI вызвала некоторое смятение. Автор проекта atomicwrites (зависимость пайтеста, например) попытался удалить и восстановить проект на PyPI, чтобы избавиться от этого требования. Удалить-то получилось, а вот восстановить уже нельзя. Короче, старые версии оказались потеряны и были недоступны примерно 10 часов. Всё это время, видимо, где-то падали сборки. Пришлось призывать админов PyPI, и они всё починили. От необходимости включать MFA это всё равно не избавило 😅 Странно, что PyPI позволяет удалять пакеты. https://github.com/untitaker/python-atomicwrites/issues/61

PyPI продолжает раскатывать многофакторную аутентификацию, и теперь для некоторых проектов она становится обязательных требованием. Топ 1% проектов по количеству скачиваний за последние полгода считаются «критически важными», и для владельцев и мейнтейнеров таких проектов MFA включат насильно. Для таких юзеров сейчас как раз происходит раздача физических USB ключей безопасности. Отправляете заявочку и вам пришлют две штуки бесплатно. Как понимаете, это всё ради того, чтобы аккаунты с правами на публикацию популярных проектов было сложнее угонять. Именно такие случаи потом зачастую приводят к громким заголовкам в новостях. https://pypi.org/security-key-giveaway/

Ещё в тему Flask. Зафиксировано невероятное: в большом популярном (75 млн установок в месяц) проекте нет открытых подвисших P
Ещё в тему Flask. Зафиксировано невероятное: в большом популярном (75 млн установок в месяц) проекте нет открытых подвисших PR и issue. Ну не чудо ли? #flask

Веб-фреймворк Quart, который создавался как асинхронный Flask, присоединился к проекту Pallets. Теперь у Pallets есть и WSGI, и ASGI микрофреймворк, а в итоге они в какой-то момент хотят слить их вместе. Думают над созданием универсальных плагинов, которые будут подходить к обоим фреймворкам. https://palletsprojects.com/blog/quart-pallets/

Среди питонячьих веб-фреймворков Django и Flask, понятное дело, лидируют, но идут они прям ноздря в ноздрю.
Среди питонячьих веб-фреймворков Django и Flask, понятное дело, лидируют, но идут они прям ноздря в ноздрю.

StackOverflow опубликовали результаты своего ежегодного опроса среди разработчиков. Вот моя диванная аналитика: * JS всё ещё самый популярный язык — его используют две трети всех разработчиков. TS продолжает набирать популярность. * Если исключить HTML и SQL, то вторым языком по популярности все ещё идёт Python. * Go, Kotlin и Rust потихонечку растут, а Java и PHP потихонечку сдуваются. Популярность C# пока находится в относительном равновесии. * Люди всё ещё в восторге от Rust. * PostgreSQL продолжает откусывать от MySQL по чуть-чуть популярности год за годом. * FastAPI стал в два раза популярнее, чем в прошлом году (3% и 6%). В целом, всё вполне ожидаемо. Тенденции предыдущих лет сохраняются. https://survey.stackoverflow.co/2022/

Вот ещё статья в тему mypyc. Товарищ Glyph настойчиво предлагает всем начать пользоваться этим инструментом, показывая как он ускоряет FizzBuzz в два с лишним раза. https://glyph.twistedmatrix.com/2022/04/you-should-compile-your-python-and-heres-why.html #mypy