StackOverflow опубликовали результаты своего ежегодного опроса среди разработчиков.
Вот моя диванная аналитика:
* JS всё ещё самый популярный язык — его используют две трети всех разработчиков. TS продолжает набирать популярность.
* Если не брать в расчёт HTML и SQL (которые не совсем языки программирования), то следующим языком по популярности все ещё идёт Python.
* Go, Kotlin и Rust потихонечку растут, а Java и PHP потихонечку сдуваются. Популярность C# пока находится в относительном равновесии.
* Люди всё ещё в восторге от Rust.
* PostgreSQL продолжает откусывать от MySQL по чуть-чуть популярности год за годом.
* FastAPI стал в два раза популярнее, чем в прошлом году (3% и 6%).
В целом, всё вполне ожидаемо. Тенденции предыдущих лет сохраняются.
https://survey.stackoverflow.co/2022/
Вот моя диванная аналитика:
* JS всё ещё самый популярный язык — его используют две трети всех разработчиков. TS продолжает набирать популярность.
* Если не брать в расчёт HTML и SQL (которые не совсем языки программирования), то следующим языком по популярности все ещё идёт Python.
* Go, Kotlin и Rust потихонечку растут, а Java и PHP потихонечку сдуваются. Популярность C# пока находится в относительном равновесии.
* Люди всё ещё в восторге от Rust.
* PostgreSQL продолжает откусывать от MySQL по чуть-чуть популярности год за годом.
* FastAPI стал в два раза популярнее, чем в прошлом году (3% и 6%).
В целом, всё вполне ожидаемо. Тенденции предыдущих лет сохраняются.
https://survey.stackoverflow.co/2022/
Stack Overflow
Stack Overflow Developer Survey 2022
In May 2022 over 70,000 developers told us how they learn and level up, which tools they’re using, and what they want.
🔥4❤3👍2❤🔥1
Веб-фреймворк Quart, который создавался как асинхронный Flask, присоединился к проекту Pallets.
Теперь у Pallets есть и WSGI, и ASGI микрофреймворк, а в итоге они в какой-то момент хотят слить их вместе. Думают над созданием универсальных плагинов, которые будут подходить к обоим фреймворкам.
https://palletsprojects.com/blog/quart-pallets/
#flask
Теперь у Pallets есть и WSGI, и ASGI микрофреймворк, а в итоге они в какой-то момент хотят слить их вместе. Думают над созданием универсальных плагинов, которые будут подходить к обоим фреймворкам.
https://palletsprojects.com/blog/quart-pallets/
#flask
👍12🔥2
Ещё в тему Flask. Зафиксировано невероятное: в большом популярном (75 млн установок в месяц) проекте нет открытых подвисших PR и issue. Ну не чудо ли?
#flask
#flask
🔥16❤🔥3
PyPI продолжает раскатывать многофакторную аутентификацию, и теперь для некоторых проектов она становится обязательных требованием. Топ 1% проектов по количеству скачиваний за последние полгода считаются «критически важными», и для владельцев и мейнтейнеров таких проектов MFA включат насильно.
Для таких юзеров сейчас как раз происходит раздача физических USB ключей безопасности. Отправляете заявочку и вам пришлют две штуки бесплатно.
Как понимаете, это всё ради того, чтобы аккаунты с правами на публикацию популярных проектов было сложнее угонять. Именно такие случаи потом зачастую приводят к громким заголовкам в новостях.
https://pypi.org/security-key-giveaway/
Для таких юзеров сейчас как раз происходит раздача физических USB ключей безопасности. Отправляете заявочку и вам пришлют две штуки бесплатно.
Как понимаете, это всё ради того, чтобы аккаунты с правами на публикацию популярных проектов было сложнее угонять. Именно такие случаи потом зачастую приводят к громким заголовкам в новостях.
https://pypi.org/security-key-giveaway/
PyPI
PyPI 2FA Security Key Giveaway
PyPI is implementing a 2FA requirement for critical projects, and distributing security keys to critical maintainers.
👍10
Новость про обязательность MFA для критически важных проектов на PyPI вызвала некоторое смятение.
Автор проекта
От необходимости включать MFA это всё равно не избавило 😅
Странно, что PyPI позволяет удалять пакеты. Странно, что на исключительно положительную по моему мнению для всего сообщества новость люди так по-разному реагируют 🤔
https://github.com/untitaker/python-atomicwrites/issues/61
Автор проекта
atomicwrites
(зависимость пайтеста, например) попытался удалить и восстановить проект на PyPI, чтобы избавиться от этого требования. Удалить-то получилось, а вот восстановить уже нельзя. Короче, старые версии оказались потеряны и были недоступны примерно 10 часов. Всё это время, видимо, где-то падали сборки. Пришлось призывать админов PyPI, и они всё починили.От необходимости включать MFA это всё равно не избавило 😅
Странно, что PyPI позволяет удалять пакеты. Странно, что на исключительно положительную по моему мнению для всего сообщества новость люди так по-разному реагируют 🤔
https://github.com/untitaker/python-atomicwrites/issues/61
GitHub
atomicwrites' old versions have been purged from pypi · Issue #61 · untitaker/python-atomicwrites
pypi just told me i had to enable 2fa to keep uploading this package. because I thought that was an annoying and entitled move in order to guarantee SOC2 compliance for a handful of companies (at t...
👍5
😁6🤩3👍2🤡1
Сегодня я узнал, что из
А пример этот вот из этой статьи, тут ещё много разной дичи: https://habr.com/ru/company/oleg-bunin/blog/485960/
Кстати, кто-нибудь пользуется
finally
лучше никогда не возвращать значения. Это работает, но лучше не надо. Судя по результатам опроса, узнал новое сегодня не только лишь я.А пример этот вот из этой статьи, тут ещё много разной дичи: https://habr.com/ru/company/oleg-bunin/blog/485960/
Кстати, кто-нибудь пользуется
wemake-python-styleguide
? Расскажите, как оно вам?Хабр
Чистое зло Python
Темные силы не дремлют. Они пробираются в дивное королевство Python и используют черную магию, чтобы осквернить главную реликвию — чистый код. Однако опасны не т...
😁5🤮1
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
Ого, консольный Git становится чуть более человечным. Сколько же раз я копипастил команду, которую он выдаёт в ошибке.
#git
#git
❤23👍6🎉3
Сейчас происходит серьёзное развесистое обсуждение инициативы по запрету удаления пакетов из PyPI.
Это, как вы понимаете, после недавнего инцидента, когда разработчик удалил свой популярный пакет в попытках сбросить счётчик скачиваний, чтобы обойти требование по настройке 2FA. Это, конечно, была проблема не масштабов left-pad из NPM, когда полыхало на весь интернет, но агония длилась около 10 часов и тоже много кого затронула. Получилось неприятно.
Кстати, PyPI находится в меньшинстве — в числе индексов, которые позволяют удаление пакетов и файлов. Вероятно, для этого нет каких-то веских причин, а скорее это из-за того, что PyPI появился ещё во времена, когда люди не думали о том, что подобные проблемы с зависимостями в принципе возможны (2003 год).
Кажется, что все более продвинутые индексы пакетов либо уже пришли к этому решению, либо изначально не давали такой возможности. И PyPI тоже рано или поздно придёт.
Это, как вы понимаете, после недавнего инцидента, когда разработчик удалил свой популярный пакет в попытках сбросить счётчик скачиваний, чтобы обойти требование по настройке 2FA. Это, конечно, была проблема не масштабов left-pad из NPM, когда полыхало на весь интернет, но агония длилась около 10 часов и тоже много кого затронула. Получилось неприятно.
Кстати, PyPI находится в меньшинстве — в числе индексов, которые позволяют удаление пакетов и файлов. Вероятно, для этого нет каких-то веских причин, а скорее это из-за того, что PyPI появился ещё во времена, когда люди не думали о том, что подобные проблемы с зависимостями в принципе возможны (2003 год).
Кажется, что все более продвинутые индексы пакетов либо уже пришли к этому решению, либо изначально не давали такой возможности. И PyPI тоже рано или поздно придёт.
❤13👍1
Тут для PyCon в Москве ребята из Positive Technologies сделали квиз с интересными вопросиками. С первой попытки у меня получилось набрать 7/10. Узнал кое-что новое. Кто-то смог 8/10. Людей, набравших больше, я пока не встречал. Попробуйте, сколько сможете?
@Positive_QuizBot
После конференции, то есть уже в понедельник, бота скорее всего отключат. Сразу предупрежу, что бот соберёт с вас номер телефона, чтобы мировое правительство могло за вами следить.
@Positive_QuizBot
После конференции, то есть уже в понедельник, бота скорее всего отключат. Сразу предупрежу, что бот соберёт с вас номер телефона, чтобы мировое правительство могло за вами следить.
🤮18🥰1
Forwarded from Хитрый Питон
Вышла джанга 4.1 https://www.djangoproject.com/weblog/2022/aug/03/django-41-released/ из интересного:
1. Поддержка асинхронных запросов в ORM, но магическим образом запросы асинхронными не станут, надо в явном виде вызывать начинающиеся с
2. В class-based views можно делать асинхронные методы
3. Meta.constraints теперь проверяются во время валидации модели. Я не успел посмотреть как это работает, но если модель сама начнет неявно лазить в базу для проверки
Еще всякие мелочи, которые показались интересными:
-
- новая команда
- поддержка пеерименования индексов в миграциях
-
-
- добавили механизм ротирования 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
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
Вот тут молодой человек издевается над структурным паттерн-матчингом в 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
Первый релиз кандидат для 3.11 только что созрел. Оно приближается!
Python.org
Python Release Python 3.11.0rc1
The official home of the Python Programming Language
🥰8🔥4❤🔥2❤1👍1
Питонические атаки
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
* Джангисты всё ещё образцовая каста разработчиков в плане перехода на новые версии интерпретатора. Некоторые (между прочим 13% опрошенных) обновляются настолько хорошо, что использовали Python 3.10 ещё за три месяца до финального релиза
* Большинство разработчиков чем-то форматирует свой код. 35% используют black, чуть менее популярен autopep8 (30%). Вопреки моим ощущениям, YAPF почти никто не пользуется (2%).
* Оказывается, есть какая-то зависимость между годами опыта и предпочтениями к линтерам. Новички любят pylint, а ветераны склоняются к flake8.
#django
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🥰1
Ну и чтобы два раза не вставать, давайте сразу посмотрим на результаты 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.
* Переход на Python 3 продолжается. В 2020 году было 94% перешедших, а в 2021 уже 95%. Видимо, все кто мог, уже обновились, а дальше ещё долго будет тянуться хвост из тех, кому обновляться слишком сложно и дорого.
* На конец 2021 года самой популярной версией интерпретатора была 3.9. Тогда только-только вышла 3.10, но на неё уже успело перейти 16% пользователей. Остальные версии постепенно убывают.
* FastAPI стабильно закрепился в тройке популярных веб-фреймворков со значительным отрывом от четвёртого места, которое занял Tornado. При этом FastAPI самый молодой фреймворк в рейтинге. Первое и второе место рейтинга, думаю, называть не нужно.
* В этом году в опрос добавили вопросы про packaging. Похоже, сообщество почти поровну разделилось на пользователей poetry, pipenv и pip-tools. Большинство разработчиков продолжают пользоваться ванильным pip.
👍11🥰1