TGViewer
Channel Public Channel
Питонические атаки

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

@pythonic_attacks

Всяческие заметки про программирование на Python и другие весёлые истории.
Subscribers
1.15K
Photos
184
Videos
4
Links
462

Showing posts older than #510 · Back to latest

Older Posts 17 shown
Post #509 1.04K
Там проект Faster CPython (это где Гвидо ускоряет питон) опубликовал цели, над которыми собираются работать в рамках релиза 3.12.

* Вероятно, наконец станет можно запускать саб-интерпретаторы прямо из кода на питоне. Это позволит занять интерпретаторами все ядра в нескольких потоках (не процессах!), потому что у каждого будет свой собственный GIL.
* Зачатки JIT будут развиваться — добавят больше специализированных оп-кодов, интерпретатор научится заменять оп-коды на более эффективные целыми пачками, а не по одному.
* Сделают структуры в пямяти более компактными. Хотят уменьшить служебную информацию, которая приделывается к каждому объекту, с 5 до 2 машинных слов. Ожидается, что от этого не только уменьшится количество потребляемой памяти для всех программ на питоне, но и кэши процессора будут использоваться эффективнее.

https://github.com/faster-cpython/ideas/wiki/Python-3.12-Goals
GitHub Python 3.12 Goals Contribute to faster-cpython/ideas development by creating an account on GitHub.
  • 👍 25
  • ⚡ 3
  • ❤ 1
Post #507 1.18K

Forwarded from Code Mining

Energy Efficiency across Programming Languages

Увлекательное и довольно очевидное по выводам исследование опубликовали коллеги из Португалии в 2017 году.

Рецепт прост: взяли 27 языков, взяли приличный список программ для замера эффективности исполнения (потребление энергии, время, ресурсы памяти), свели результаты в таблички.

Конечно не без выводов, но таблица как бы намекает ;)

Насладиться научным подходом можно здесь.

ЗЫ: только тссс, зелёным не говорите, а то ещё с забастовками против Python будут выходить.
  • ❤ 7
  • 👍 1
  • 👎 1
Post #506 1.36K

Forwarded from ITGram

🐍 debuglater is a Python library that saves stacktrace into a file when your app crashes with an exception. Not just a traceback, but the whole stack, including all variables. It's all is saved using dill, so if you have the same code, you can load the saved stacktrace into a pdb session and debug the crash, as if you could if you had put an actual breakpoint into the place of failure. Pretty cool, huh?
  • ❤ 17
Post #505 1.79K
  • 👍 3
  • 🥰 1
  • 😁 1
  • 😱 1
Post #504 1.54K
Говорят, numpy протестился под 3.11 и даже выложил колёса, так что теперь можно (нужно?) тестировать всё, что зависит от numpy.
  • 🔥 5
  • ❤ 1
  • 🥰 1
Post #502 1.18K
Ну и чтобы два раза не вставать, давайте сразу посмотрим на результаты Python Developers Survey 2021, который проводили PSF и JetBrains в конце прошлого года. Опять же, выпишу некоторые пункты, за которые зацепился глаз.

* Переход на Python 3 продолжается. В 2020 году было 94% перешедших, а в 2021 уже 95%. Видимо, все кто мог, уже обновились, а дальше ещё долго будет тянуться хвост из тех, кому обновляться слишком сложно и дорого.

* На конец 2021 года самой популярной версией интерпретатора была 3.9. Тогда только-только вышла 3.10, но на неё уже успело перейти 16% пользователей. Остальные версии постепенно убывают.

* FastAPI стабильно закрепился в тройке популярных веб-фреймворков со значительным отрывом от четвёртого места, которое занял Tornado. При этом FastAPI самый молодой фреймворк в рейтинге. Первое и второе место рейтинга, думаю, называть не нужно.

* В этом году в опрос добавили вопросы про packaging. Похоже, сообщество почти поровну разделилось на пользователей poetry, pipenv и pip-tools. Большинство разработчиков продолжают пользоваться ванильным pip.
  • 👍 11
  • 🥰 1
Post #500 837
Питонические атаки Django Software Foundation и JetBrains проводят опрос про экосистему вокруг этого популярного веб-фреймворка. Практикующих и сочувствующих призываю принять участие. https://www.djangoproject.com/weblog/2021/aug/04/2021-django-developers-survey/ #jetbrains
Наткнулся на результаты опроса среди Django-разработчиков за 2021 год, который проводили год назад. Так как я не слишком глубоко погружен в мир вокруг джанги, то глаз цепляется в основном за всякие смежные детали. Выпишу некоторые тезисы.

* Джангисты всё ещё образцовая каста разработчиков в плане перехода на новые версии интерпретатора. Некоторые (между прочим 13% опрошенных) обновляются настолько хорошо, что использовали Python 3.10 ещё за три месяца до финального релиза 😕

* Большинство разработчиков чем-то форматирует свой код. 35% используют black, чуть менее популярен autopep8 (30%). Вопреки моим ощущениям, YAPF почти никто не пользуется (2%).

* Оказывается, есть какая-то зависимость между годами опыта и предпочтениями к линтерам. Новички любят pylint, а ветераны склоняются к flake8.

#django
  • 👍 12
  • 🥰 1
Post #498 1.58K
Вот тут молодой человек издевается над структурным паттерн-матчингом в 3.10 при помощи ABC. Создаёт разные странные типы, а паттерн-матчинг с удовольствием их матчит. В продакшн такое точно затаскивать нельзя, потому что уж слишком неожиданно получается, но для понимания работы механизмов — весьма интересно.

Кстати, насколько я вижу, пока что большинство людей используют паттерн-матчинг как обычный switch-case по набору констант, чтобы сэкономить символы на цепочке if-elif-else. У вас так же? Нашли ли вы способ применить распаковки (destructuring) в паттерн-матчинге?
Hillel Wayne Crimes with Python's Pattern Matching Let's make the CPython team regret adding pattern matching to Python!
  • 🔥 2
  • 😁 2
Post #497 1.21K

Forwarded from Хитрый Питон

Вышла джанга 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
  • 🔥 10
  • 👍 1
  • 👎 1
Post #496 1.27K
Тут для PyCon в Москве ребята из Positive Technologies сделали квиз с интересными вопросиками. С первой попытки у меня получилось набрать 7/10. Узнал кое-что новое. Кто-то смог 8/10. Людей, набравших больше, я пока не встречал. Попробуйте, сколько сможете?

@Positive_QuizBot

После конференции, то есть уже в понедельник, бота скорее всего отключат. Сразу предупрежу, что бот соберёт с вас номер телефона, чтобы мировое правительство могло за вами следить.
  • 🤮 18
  • 🥰 1
Post #495 1.59K
Сейчас происходит серьёзное развесистое обсуждение инициативы по запрету удаления пакетов из PyPI.

Это, как вы понимаете, после недавнего инцидента, когда разработчик удалил свой популярный пакет в попытках сбросить счётчик скачиваний, чтобы обойти требование по настройке 2FA. Это, конечно, была проблема не масштабов left-pad из NPM, когда полыхало на весь интернет, но агония длилась около 10 часов и тоже много кого затронула. Получилось неприятно.

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

Кажется, что все более продвинутые индексы пакетов либо уже пришли к этому решению, либо изначально не давали такой возможности. И PyPI тоже рано или поздно придёт.
  • ❤ 13
  • 👍 1
Post #494 1.43K
Ого, консольный Git становится чуть более человечным. Сколько же раз я копипастил команду, которую он выдаёт в ошибке.

#git
  • ❤ 23
  • 👍 6
  • 🎉 3
Post #493 1.01K
GitHub в своём блоге выпустил пост про то, как Python и его либы (в частности, astropy) используются для обработки данных с телескопа Джеймса Уэбба: https://github.com/readme/featured/webb-telescope-astropy

🔭👽🛰
GitHub Astronomy community shapes their own destiny with Astropy Astropy is the open source software that astronomers will use to glean insights from the James Webb Space Telescope.
  • 🔥 11
  • 👍 1
  • 👎 1
  • 👏 1
Post #492 1.17K
Сегодня я узнал, что из finally лучше никогда не возвращать значения. Это работает, но лучше не надо. Судя по результатам опроса, узнал новое сегодня не только лишь я.

А пример этот вот из этой статьи, тут ещё много разной дичи: https://habr.com/ru/company/oleg-bunin/blog/485960/

Кстати, кто-нибудь пользуется wemake-python-styleguide? Расскажите, как оно вам?
Хабр Чистое зло Python Темные силы не дремлют. Они пробираются в дивное королевство Python и используют черную магию, чтобы осквернить главную реликвию — чистый код. Однако опасны не т...
  • 😁 5
  • 🤮 1
Post #491 931
  • 😁 6
  • 🤩 3
  • 👍 2
  • 🤡 1
Post #489 916
Понедельничная разминка
  • 🤮 11
  • 🤔 3
  • 💩 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →