Если кратко, то
unique_together больше не нужен, индексы на ForeignKey работают не так, как вы думаете, миграции могут блокировать продакшен, а правильный порядок операций и частичные индексы экономят гигабайты и спасают нервы.📚 Подробности на Хабр: https://habr.com/ru/articles/942252/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5🔥2
Команда Python for Devs подготовила перевод статьи о том, как сделать Django-сайты быстрее.
Автор разбирает два пути — «делать больше» (масштабирование инфраструктуры) и «делать меньше» (уменьшение задержек через оптимизацию кода и запросов).
В статье — практические примеры, баг N+1, кэширование и инструменты вроде Django Debug Toolbar, Locust и APM.
📚 Подробности на Хабр: https://habr.com/ru/articles/942296/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥2
🏎 Самый быстрый способ читать Excel в Python
В статье результаты тестирования pandas, openpyxl, Tablib, DuckDB, LibreOffice и даже связки с Rust.
Кто справился лучше всех и как за 4 секунды Python «проглотил» полмиллиона строк — читайте в статье.
📚 Подробности на Хабр: https://habr.com/ru/articles/942320/
В статье результаты тестирования pandas, openpyxl, Tablib, DuckDB, LibreOffice и даже связки с Rust.
Кто справился лучше всех и как за 4 секунды Python «проглотил» полмиллиона строк — читайте в статье.
📚 Подробности на Хабр: https://habr.com/ru/articles/942320/
🔥5❤3👍3
Команда Python for Devs подготовила перевод статьи о самых популярных Python-фреймворках и библиотеках 2025 года.
FastAPI уверенно догоняет Django и Flask, Requests и Asyncio остаются незаменимыми, а Streamlit и Starlette усиливают свои позиции в нишевых сценариях.
📚 Подробности на Хабр: https://habr.com/ru/articles/943616/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥2
С помощью генераторов множеств можно создавать, преобразовывать и фильтровать множества одной строкой кода.
Разбираем примеры, практические приёмы и ошибки, которых стоит избегать.
📚 Подробности на Хабр: https://habr.com/ru/articles/943720/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
Forwarded from AI for Devs
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍2🔥2
🫡 Еженедельный дайджест №1
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Эволюция ForeignKey в Django: от наивной модели до продакшена
– Быстрый Django: всё, что нужно знать о производительности
– Самый быстрый способ читать Excel в Python
– Самые популярные Python фреймворки и библиотеки 2025 года
– Python и множества: генераторы, которые делают код чище
Самый популярный комментарий этой недели – комментарий к статье "Самые популярные Python фреймворки и библиотеки 2025 года" от пользователя
@python_for_devs
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Эволюция ForeignKey в Django: от наивной модели до продакшена
– Быстрый Django: всё, что нужно знать о производительности
– Самый быстрый способ читать Excel в Python
– Самые популярные Python фреймворки и библиотеки 2025 года
– Python и множества: генераторы, которые делают код чище
Самый популярный комментарий этой недели – комментарий к статье "Самые популярные Python фреймворки и библиотеки 2025 года" от пользователя
@Tishka17:Смешались в кучу кони, люди
@python_for_devs
❤4👍4👎2🔥2
🤔 Zen of Python: философия языка
Команда Python for Devs подготовила перевод статьи о Zen of Python — шуточном, но глубоком своде афоризмов, которые уже четверть века задают тон питонячей культуре.
Как появился этот «питонячий декалог», зачем он нужен и стоит ли ему следовать?
📚 Подробности на Хабр: https://habr.com/ru/articles/944678/
Команда Python for Devs подготовила перевод статьи о Zen of Python — шуточном, но глубоком своде афоризмов, которые уже четверть века задают тон питонячей культуре.
Как появился этот «питонячий декалог», зачем он нужен и стоит ли ему следовать?
📚 Подробности на Хабр: https://habr.com/ru/articles/944678/
❤4👎2🔥2👍1
🐍 Пасхалка в Python: антигравитация
Рэндалл Манро, автор легендарного веб-комикса xkcd, часто упоминает Python в своих работах. В одном из комиксов он с юмором показывает простоту и элегантность языка: персонаж будто бы достигает антигравитации с помощью одной из «батареек в комплекте» Python.
👉 Комикс: https://xkcd.com/353/
А теперь попробуйте сами:
или в REPL:
После этого в браузере откроется тот самый комикс.
#пасхалки
Рэндалл Манро, автор легендарного веб-комикса xkcd, часто упоминает Python в своих работах. В одном из комиксов он с юмором показывает простоту и элегантность языка: персонаж будто бы достигает антигравитации с помощью одной из «батареек в комплекте» Python.
А теперь попробуйте сами:
python -m antigravity
или в REPL:
import antigravity
После этого в браузере откроется тот самый комикс.
#пасхалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁3👎2❤1
😵💫 Как победить циклические импорты в Python простым способом
Команда Python for Devs подготовила перевод статьи о том, как справляться с циклическими импортами в Python.
В статье показан простой приём: иногда не нужно переписывать архитектуру, а достаточно изменить стиль импорта, чтобы избежать ошибок.
📚 Подробности на Хабр: https://habr.com/ru/articles/944684/
Команда Python for Devs подготовила перевод статьи о том, как справляться с циклическими импортами в Python.
В статье показан простой приём: иногда не нужно переписывать архитектуру, а достаточно изменить стиль импорта, чтобы избежать ошибок.
📚 Подробности на Хабр: https://habr.com/ru/articles/944684/
👍4🔥3❤2👎2
🚀 PEP 750: t-строки — новый уровень форматирования в Python!
Python 3.14 приносит крупное обновление синтаксиса — template-строки (или коротко t-строки). Это расширение привычных f-строк, которые мы любим за удобство и читаемость.
Что это такое?
t"..." — это строки с подстановкой выражений и шаблонов. Они позволяют смешивать f-строки,
Например:
Зачем они нужны?
🟣 Единый механизм вместо трёх (f-строки, format(), Template).
🟣 Безопасность: можно использовать в шаблонах без выполнения кода.
🟣 Гибкость: легко комбинировать динамическое и статическое форматирование.
🟣 Производительность: компилятор оптимизирует t-строки лучше, чем старые API.
Что важно знать?
t-строки — это супермножество f-строк, всё, что работало раньше, продолжит работать.
Новый синтаксис понятен даже новичкам: меньше магии, больше прозрачности.
Отлично подходит для логов, шаблонов сообщений и любых случаев, где f-строки были избыточны или небезопасны.
В Python 3.14 логирование будет выглядеть сильно приятнее:
Подробности про PEP-750: https://peps.python.org/pep-0750
А вы уже представляете, где будете применять t-строки? Пишите в комментариях👇
Python 3.14 приносит крупное обновление синтаксиса — template-строки (или коротко t-строки). Это расширение привычных f-строк, которые мы любим за удобство и читаемость.
Что это такое?
t"..." — это строки с подстановкой выражений и шаблонов. Они позволяют смешивать f-строки,
str.format() и шаблоны для безопасного форматирования. Например:
name = "Alice"
msg = t"Hello, {name}!"
print(msg) # Hello, Alice!
Зачем они нужны?
Что важно знать?
t-строки — это супермножество f-строк, всё, что работало раньше, продолжит работать.
Новый синтаксис понятен даже новичкам: меньше магии, больше прозрачности.
Отлично подходит для логов, шаблонов сообщений и любых случаев, где f-строки были избыточны или небезопасны.
В Python 3.14 логирование будет выглядеть сильно приятнее:
t"User {user} logged in at {time:%H:%M}"
Подробности про PEP-750: https://peps.python.org/pep-0750
А вы уже представляете, где будете применять t-строки? Пишите в комментариях👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👎211👍15🔥5❤3
Все говорят, что ИИ уже умеет писать приложения, но стоит чуть отклониться от привычных сценариев — и всё идёт наперекосяк.
Картофельная Африка вместо карты, пинбол, превращающийся в пинг-понг, и счёты с отрицательными числами — смотрим на коллекцию своих провалов с vibe coding.
📚 Подробности на Хабр: https://habr.com/ru/articles/944698/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28👎24❤2🔥2
#PythonHero 👑 Великодушный пожизненный диктатор
Команда Python for Devs считает важным рассказать о людях, которые внесли наибольший вклад в развитие языка Python и его экосистемы. В первом посте из серии #PythonHero мы расскажем о Гвидо ван Россуме — человеке, чье имя давно стало легендой в мире компьютерных наук.
–––
Долгое время у Python был один человек, который имел последнее слово в спорных вопросах — Гвидо ван Россум, создатель языка. Сообщество уважало его решения и доверяло его видению, даже если споры шли жаркие.
Этот статус назывался «Benevolent Dictator For Life» — великодушный пожизненный диктатор. Формулировка ироничная: диктатор — потому что финальное решение за ним, а великодушный — потому что все его решения были в интересах развития Python.
В 2018 году Гвидо сложил с себя полномочия BDFL. Вместо единоличного лидера Python теперь управляется Steering Council — советом из пяти человек, которых выбирают core-разработчики.
Сегодня «BDFL» — это уже часть истории, символ того, как личность может сформировать культуру и ценности целого сообщества.
А вы знали, что Python был одним из немногих крупных языков, у которого долгое время был один признанный лидер?
Команда Python for Devs считает важным рассказать о людях, которые внесли наибольший вклад в развитие языка Python и его экосистемы. В первом посте из серии #PythonHero мы расскажем о Гвидо ван Россуме — человеке, чье имя давно стало легендой в мире компьютерных наук.
–––
Долгое время у Python был один человек, который имел последнее слово в спорных вопросах — Гвидо ван Россум, создатель языка. Сообщество уважало его решения и доверяло его видению, даже если споры шли жаркие.
Этот статус назывался «Benevolent Dictator For Life» — великодушный пожизненный диктатор. Формулировка ироничная: диктатор — потому что финальное решение за ним, а великодушный — потому что все его решения были в интересах развития Python.
В 2018 году Гвидо сложил с себя полномочия BDFL. Вместо единоличного лидера Python теперь управляется Steering Council — советом из пяти человек, которых выбирают core-разработчики.
Сегодня «BDFL» — это уже часть истории, символ того, как личность может сформировать культуру и ценности целого сообщества.
А вы знали, что Python был одним из немногих крупных языков, у которого долгое время был один признанный лидер?
❤5🔥3👍2
😳 Как мы освободили 20 ГБ в PostgreSQL без удаления данных
Команда Python for Devs подготовила перевод статьи о том, как можно освободить десятки гигабайт места в PostgreSQL без удаления данных и индексов.
TL;DR:удаляем неиспользуемые индексы, чистим bloat, пересобираем таблицы и используем частичные индексы, чтобы хранить только то, что реально нужно.
📚 Подробности на Хабр: https://habr.com/ru/articles/944704/
Команда Python for Devs подготовила перевод статьи о том, как можно освободить десятки гигабайт места в PostgreSQL без удаления данных и индексов.
TL;DR:
📚 Подробности на Хабр: https://habr.com/ru/articles/944704/
👍4❤2🔥2
🔥 Нововведение, которое изменило Python
В 2018 году Python получил оператор присваивания в выражениях
Что это такое?
Оператор позволяет присвоить значение переменной прямо внутри выражения:
Зачем?
Это упрощает код, избавляя от дублирования. До
⚠️ Почему сообщество было против?
* Новый синтаксис казался слишком «магическим» и непривычным.
* Опасения, что Python потеряет читаемость и станет «вторым Perl».
* Многие считали, что выгода слишком мала, чтобы ломать стиль кода.
Финальное решение
Несмотря на жаркие споры, Гвидо ван Россум лично принял решение в пользу PEP 572. Но цена оказалась высокой: давление и негатив вокруг этой дискуссии подтолкнули его уйти с поста BDFL (Benevolent Dictator For Life).
К чему это привело?
* Python получил «walrus» начиная с версии 3.8.
* Управление языком изменилось навсегда: вместо одного лидера теперь решения принимает Steering Council, избираемый core-разработчиками.
* Этот кризис стал поворотной точкой: Python перешёл к более демократичной модели развития.
🐍 Оператор
А вы используете walrus в своём коде или до сих пор относитесь к нему с недоверием?
В 2018 году Python получил оператор присваивания в выражениях
:=, известный как walrus operator. Он появился благодаря PEP 572 и стал одной из самых обсуждаемых фич за всю историю языка.Что это такое?
Оператор позволяет присвоить значение переменной прямо внутри выражения:
if (n := len(data)) > 10:
print(f"Слишком длинный список: {n} элементов")
Зачем?
Это упрощает код, избавляя от дублирования. До
:= приходилось дважды писать одно и то же выражение: сначала вычислять его, потом использовать.
n = len(data)
if n > 10:
print(f"Слишком длинный список: {n} элементов")
⚠️ Почему сообщество было против?
* Новый синтаксис казался слишком «магическим» и непривычным.
* Опасения, что Python потеряет читаемость и станет «вторым Perl».
* Многие считали, что выгода слишком мала, чтобы ломать стиль кода.
Финальное решение
Несмотря на жаркие споры, Гвидо ван Россум лично принял решение в пользу PEP 572. Но цена оказалась высокой: давление и негатив вокруг этой дискуссии подтолкнули его уйти с поста BDFL (Benevolent Dictator For Life).
К чему это привело?
* Python получил «walrus» начиная с версии 3.8.
* Управление языком изменилось навсегда: вместо одного лидера теперь решения принимает Steering Council, избираемый core-разработчиками.
* Этот кризис стал поворотной точкой: Python перешёл к более демократичной модели развития.
🐍 Оператор
:= изменил не только синтаксис, но и саму систему управления Python.А вы используете walrus в своём коде или до сих пор относитесь к нему с недоверием?
👍7❤3🔥2
Команда Python for Devs подготовила перевод статьи о том, какой фреймворк выбрать для веб-разработки на Python: Django, Flask или FastAPI.
Django берёт надёжностью и готовой функциональностью, Flask — гибкостью и минимализмом, FastAPI — скоростью и современными возможностями.
📚 Подробности на Хабр: https://habr.com/ru/articles/944708/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤2