TGViewer
Channel Public Channel
Хитрый Питон

Хитрый Питон

@tricky_python

Я много читаю и делюсь в этом канале заинтересовавшими меня материалами, в основном про Python. @korneevm
Subscribers
3.46K
Photos
5
Videos
0
Links
258

Showing posts older than #169 · Back to latest

Older Posts 20 shown
Post #168 3.52K
Привет, сегодня будем записывать финальный выпуск Moscow Python Podcast за 2023 год:

в 14:00 по МСК как обычно в прямом эфире обсудим самые интересные новости года. Пишите в комментарии, что вам больше всего запомнилось за этот год? И какой выпуск больше всего понравился.

➡️Когда: 29 декабря в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Youtube - YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
  • 🔥 19
  • 👍 1
Post #167 3.62K
Сегодня в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast с Михаилом Вознесенским, руководителем группы разработки почтовых решений RuPost. В этот раз зарубимся про комментарии в коде и надо ли их писать.

➡️Когда: 22 декабря в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
YouTube Культура комментариев в коде Спонсор подкаста — https://learn.python.ru Ведущие – Григорий Петров и Михаил Корнеев Гость выпуска — Михаил Вознесенский, руководитель группы разработки почтовых решений RuPost (входит в «Группу Астра») 00:00 — интро 5:06 — начинаем разгонять про комментарии…
  • 👍 14
  • 🔥 7
  • 👎 1
Post #166 4K
Я в последнее время активно играюсь с FastStream — это такой приятный фреймворк для работы с очередями и наследник FastKafka. Сейчас уже поддерживает Kafka, Rabbit и NATS и вот в последнем релизе они добавили поддержку redis. Если вам нужен фреймворк для написания продюсеров/консьюмеров то прямо рекомендую посмотреть https://github.com/airtai/faststream
GitHub GitHub - ag2ai/faststream: FastStream is an asynchronous Python framework for building event-driven applications. It brings together… FastStream is an asynchronous Python framework for building event-driven applications. It brings together message broker integration, dependency injection, validation, testing utilities, and AsyncA...
  • 👍 42
  • 🔥 10
  • 👎 1
Post #165 3.63K
Сегодня в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast с Андреем Столбовским и обсудим:
🟡лучшие практики в мониторинге;
🟡архитектуру мониторинга на примере Yandex Cloud Monitoring;
🟡как устроены системы мониторинга под капотом.

➡️Когда: 15 декабря в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
YouTube observability / как сжать int в один бит / мониторинг в Яндексе Спонсор подкаста — https://learn.python.ru Ведущие — Михаил Корнеев и Григорий Петров 00:00 — интро 1:00 — что такое SDM? 1:25 — Андрей о себе и чем занимается сейчас 3:10 — как в больших компаниях строится мониторинг 8:10 —почему большие компании вкладываются…
  • 👍 17
  • 🔥 4
  • 👎 1
Post #163 4.14K
Сегодня будет традиционный ежемесячный эфир про новости из мира Python, к сожалению я сегодня не смогу прийти на эфир, но зато у нас будет гость - Сергей Васечко, член программного комитета Podlodka Python. Темы выпуска:

🟡Релиз Django Ninja 1.0
🟡PEP 734 — сабинтерпретаторы в stdlib
🟡Nvidia показала cudf.pandas (GPU)
🟡Опрос Python-разработчиков от JetBrains
🟡PyPi прошел первый аудит безопасности
и другие новости за последний месяц.

➡️Когда: 1 декабря в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
YouTube Новости мира Python за ноябрь: PEP 734 / Django Ninja/аудит безопасности PyPI Спонсор подкаста — https://learn.python.ru Podlodka Python Crew — https://podlodka.io/pythoncrew Ведущие – Григорий Петров и Сергей Васечко 00:00 — интро и Миша не мог прийти 1:38 — Сергей Высечко о себе и конференции Podlodka Python Crew 4:05 — Релиз…
  • 🔥 17
  • 👍 5
  • 👎 1
Post #162 5.75K
Разработка REST Api кажется простым делом - перекладывай json-чики с места на место и все дела. Но когда ты сталкиваешься с плохо спроектированными Api-шками и начинаешь задумываться о том, как спроектировать хорошо, тут то и открывается бездна. Особенно интересно то, что каждый знает "как правильно проектировать Api" и часто даже в небольшой команде начинаются жаркие споры и каждый тянет одеяло на себя.

Вот еще одна из миллиона статей на тему "как делать правильно", которая мне понравилась взвешенным подходом и подробной аргументацией к каждому пункту. Если вы работаете на проектах, где нет внутреннего стандарта на Api, то рекомендую почитать https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
GitHub How to (and how not to) design REST APIs Jeff Schnitzer's Blog. Contribute to stickfigure/blog development by creating an account on GitHub.
  • 🔥 28
  • 👍 11
  • 👎 1
Post #161 3.24K
В последнее время монорепозитории становятся модными, по крайней мере я все чаще вижу обсуждения вроде "давайте все переходить на монорепы". Вероятно для больших компания (таких как Google и Facebook) это имеет смысл, но вот мой личный опыт работы с монорепами говорит, что они требуют сильно больше усилий по настройке и написанию тулов, чтобы можно было нормально работать.

В этой статье авторы продвигают идею монорепозиториев, постоянно ссылаясь на Google и Facebook. Несмотря на то, что они явно влюблены в идею монореп и из-за этого несколько необъективны, я все-таки рекомендую потратить время на статью:

1. Если просто интересно, что такое монорепа и как с ней работать
2. Там показана действительно интересная работа со сложными github actions и я для себя узнал много полезного

https://monadical.com/posts/from-chaos-to-cohesion.html
Monadical Consulting From Chaos to Cohesion: Architecting Your Own Monorepo Build a simple monorepo using GitHub Actions as a CI/CD tool.
  • 👍 13
  • 👎 1
Post #160 6.75K
Вышла Django Ninja 1.0 - это такой аналог Django Rest Framework, но несколько более быстрый из-за использования pydantic и лучшей работой с асинхронностью. Что нового:

1. Перешли на pydantic 2 (поддержку v1 дропнули)
2. Поддержка async в аутентификации
3. Много всяких других улучшений, которые мне сложно оценить так как я сам django ninja трогал совсем чуть-чуть и на реальных проектах не сталкивался

Но всех, кто пользуется, поздравляю с мажорным релизом https://django-ninja.dev/whatsnew_v1/
django-ninja.dev What's new in V1 - Django Ninja Django Ninja - Django REST framework with high performance, easy to learn, fast to code.
  • 🔥 21
  • 👍 6
  • 👎 1
Post #159 4.68K
Post #158 2.93K
Kenneth Reitz (автор `requests`) официально прекратил работать асинхронный requests3. Некоторое время назад он даже собирал под это дело донаты, но потом от него долго не было коммитов и статус проекта был непонятен. По его словам, асинхронка в питоне не оправдала его ожиданий и requests останутся синхронными.

На редите в комментах народ бурлит и обсуждает его в негативном ключе. Но я могу понять Кеннета - сам был в ситуациях, когда вроде обещал и понимаешь, что надо сделать, но просто не можешь заставить себя взяться за задачу (код) потому-то с души воротит. Тем более Кеннет давно писал, что у него биполярка.

В общем, если вы ждете асинхронный requests3 - имеет смысл посмотреть на альтернативы. Я лично в любом случае благодарен Кеннету за отличный requests.

https://kennethreitz.org/essays/why-im-not-collaborating-with-kenneth-reitz
  • 👍 32
Post #157 2.97K
В эту пятницу поговорим про новости из мира Python. Темы для обсуждения:
🟡вышла первая бета Django 5.0;
🟡наконец принят PEP 703 про опциональный GIL из коробки;
🟡Рассел КейтМакги сделал PEP 730 где предлагается добавить iOS в полноценно поддерживаемые платформы;
🟡отчет Security Developer-in-Residence за 3 квартал.

➡️Когда: 3 ноября в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
YouTube Новости мира Python за октябрь Спонсор подкаста — https://learn.python.ru Ведущие — Михаил Корнеев и Григорий Петров 00:00 — интро 00:50 — релиз беты Django 5.0 21:23 — можно ли реализовать теоретически в базе данных асинхронность для транзакций? 23:54 — PEP 703 — опциональный GIL…
  • 🔥 14
  • 👍 2
Post #156 3.01K
Многие начинающие разработчики и даже мидлы иногда не осознают всей пользы, которую может принести использование модуля functools в Python. Если вы еще не используете functools то мы идем к вам, почитайте эту статью. В ней описано несколько практических примеров, демонстрирующих, как functools может сделать ваш код и вашу жизнь чуть лучше: https://pybit.es/articles/6-cool-things-you-can-do-with-the-functools-module/
pybit.es 6 Cool Things You Can Do With The Functools Module – Pybites
  • 🔥 28
  • 👍 8
  • 👎 1
Post #155 4.32K
Новости nogil. Steering Council принял PEP 703 - опциональный gil из коробки. На discuss.python.org большой пост про это, я приведу только заинтересовавшие меня моменты:

Пока нет уверенности, что выпиливание gil не поломает совместимость со сторонними либами, не сделает интерпретатор медленнее на 10–15% и не усложнит его поддержку. Выбрали вполне ожидаемый подход - реализуем и посмотрим, как пойдет, потому что на прототипах и теоретических выкладках далеко не уедешь.

Как и предполагали раньше, все будет происходить в несколько этапов:

1. Возможность отключить gil на этапе сборки — это точно не продакшен решение, а инструмент для авторов библиотек и экспериментаторов
2. Финализация изменений API и ABI, после чего nogil-сборка будет уже считаться не экспериментальной но все еще не включаться по дефолту
3. Отключенный gil по умолчанию с возможностью включить при сборке

В общем планируют переходить очень постепенно и не загонять людей в светлое будущее палкой вплоть до того, что готовы отозвать PEP 703 если переход окажется слишком калечащим.

https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-in-cpython-acceptance/37075
Discussions on Python.org PEP 703 (Making the Global Interpreter Lock Optional in CPython) acceptance (Posted for the whole Steering Council.) As we’ve announced before, the Steering Council has decided to accept PEP 703 (Making the Global Interpreter Lock Optional in CPython) . We want to make it clear why, and under what expectations we’re doing so. It…
  • 🔥 20
  • 👍 6
Post #154 6.67K
Вышла первая бета Django 5.0, а значит значимого изменения состава релиза уже не будет и можно смотреть, что завезли:

1. Много поддержки асинхронности - в contrib.auth, возможность получить и обработать asyncio.CancelledError внутри вьюхи, если клиент разорвал соединение до того, как мы закончили обрабатывать запрос, поддержка асинхронки в куче декораторов, асинхронная отправка сигналов, новые асинхронные методы у моделек
2. На первом месте довольно спорная фича - возможность показывать количество фильтруемых объектов в боковом фильтре в админке. Там под капотом COUNT и естественно на более-менее приличных объемах данных тормозить будет нечеловечески. Благо можно глобально отключить
3. Упрощенная шаблонизация для форм из коробки, для тех кто работает с html-формами код станет читабельнее (хотя думается мне, что те кто работает с большими формами уже давно что-то подобное у себя реализовали)
4. Возможность задавать дефолты на уровне базы данных
5. `GENERATED`-поля в моделях, значение которых рассчитывается на уровне БД
6. В Choice-полях теперь можно использовать словарь, вместо кортежей

В общим никаких революций https://docs.djangoproject.com/en/5.0/releases/5.0/
  • 👍 23
Post #153 2.86K
Сегодня будет прямой эфир Moscow Python Podcast со Станиславом Змиевым из Monite. Обсудим:

🟡как делался pathlib.Path.walk в 3.12;
🟡как работает большой Open Source на примере CPython.

➡️Когда: сегодня, 20 октября в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
YouTube Как одна маленькая идея может превратиться в полгода работы Спонсор подкаста — https://learn.python.ru Ведущие — Михаил Корнеев и Григорий Петров 00:00 — интро 1:30 — Станислав про себя 2:11 — pathlib.Path.walk в Python 3.12 7:06 — имплементация и верификация контрибьюторов 10:45 – про разработку Open Source…
  • 👍 12
  • 🔥 6
Post #152 4.45K
Для FastApi выпустили документацию к коду. Какие доступны классы, какие у них методы, что принимают/отдают — вот это вот все. Поиск по коду дело хорошее, но тут удобно то, что поиск по документации на сайте сразу будет показывать спецификацию. https://fastapi.tiangolo.com/reference/
Tiangolo Reference - FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for production
  • 🔥 44
  • 👍 12
Post #151 3.34K
Привет! Сегодня будет традиционный ежемесячный эфир про новости Python, темы:

🟡релиз Python 3.12;
🟡релиз Flask 3.0;
🟡результаты Python Developers Survey 2022;
🟡Python-редактор в Excel.

➡️ Когда: сегодня, 13 октября в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке
YouTube Релиз Python 3.12 / релиз Flask 3.0 / Python Developers Survey 2022 / Python-редактор в Excel. Спонсор подкаста — https://learn.python.ru Ведущие — Михаил Корнеев и Григорий Петров 00:00 - интро 1:12 - Python 3.12 33:00 - сравнивал ли кто-то скорость f-строк в 12 и 11 версии 34:35 - как скоро все библиотеки адаптируют под 3.12 38:58 - уйдет ли…
  • 👍 24
  • 🔥 5
Post #150 4.55K
JetBrains выпустили результата Python Developers Survey 2022. Вот несколько моментов, которые показались мне любопытными:

- Python 2 до сих пор используют около 7% опрошенных
- Flask и Django занимаю 1 и 2 место по популярности, FastAPI на 3-м месте
- Из фреймворков для тестирования самый популярный pytest, который используют более 50% опрошенных
- На 5% больше, чем в прошлом году стали использовать облачные платформы
- Самая популярная платформа для разработки - Linux, Windows на втором месте
- Github Actions стали самым популярным CI-решением
- Из инструментов автоматизации работы с зависимостями Poetry на первом месте, 2 и 3 по популярности ним pipenv и pip-tools
- 34% опрошенных участвовали в разработке библиотек

Ссылка на отчет https://lp.jetbrains.com/python-developers-survey-2022/
JetBrains: Developer Tools for Professionals and Teams Python Developers Survey 2022 Results Official Python Developers Survey 2022 Results by Python Software Foundation and JetBrains: more than 23k responses from almost 200 countries.
  • 👍 29
Post #149 5.33K
Вышел python 3.12, из самых интересных новинок:

- Новое api для профайлинга/дебага - должно позвонить сильно сократить накладные расходы на профилирование python-кода
- Переработали парсер f-строк, теперь в f-строки можно запихивать сложные синтаксические конструкции (например 'str'.join())
- Улучшили читаемость exception-ов, чтобы было понятнее что именно поломалось в коде
- List comprehensions теперь будут отрабатывать быстрее, ну и в целом обещают до 5% улучшения производительности
- Ускорили asyncio и обещают прирост производительности до 75%
- У субинтерпритаторов теперь отдельный GIL, правда пока как и раньше они доступны только из C-api
- Несколько изменений в типизации, самое на мой взгляд интересное - теперь можно использовать ключевое слово type для объявления своих type alias
- Выпилили distutils

Подробнее вот тут https://docs.python.org/dev/whatsnew/3.12.html
  • 🔥 60
  • 👍 8
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 →