psycopg3
вышла уже почти три года назад, но я уверен, что многие пока по разным причинам сидят на psycopg 2
. Вот тут померяли скорость работы psycopg2 vs psycopg3
и результаты на мой взгляд получились неоднозначные:1. В обычных
select from
запросах psycopg3 в три раза быстрее psycopg2
. Кажется для большинства проектов, у которых чтения больше записи переход вполне оправдан2. А вот на всяких более редких кейсах типа batch-записи или получения blob-ов из базы тройка проигрывает двойке
В общем я задумался о том, чтобы проекты, где под капотом psycopg начать переводить на третью версию https://www.timescale.com/blog/psycopg2-vs-psycopg3-performance-benchmark/
Timescale Blog
Psycopg2 vs Psycopg3 Performance Benchmark
A comparison of psycopg2 versus psycopg3 to assess the performance gains of the latest version.
Недавно у меня возникла рабочая задача поревьюить кодовую базу - не очень большую, но и не микросервис - порядка 16 тысяч строк. И по результатам мне нужно было сформулировать свои рекомендации и как-то их аргументировать. И вот я понимаю, что во многих местах код переусложнен, но нужно это как-то аргументировать.
И вот тут мне прямо хорошо зашла тула https://github.com/rohaquinlop/complexipy - это штука для оценки cognitive complexity (можно почитать тут https://habr.com/ru/articles/565652/).
На самом деле есть разные тулы для этого, но complexipy мне понравился скоростью, довольно гибкими настройками и в хорошем смысле замороченностью автора, который пошел за ревью к G. Ann Campbell, которая собственно основной автор методики.
Конечно, у любой методики оценки качества кода есть свои минусы, но чем мне нравится этот конкретный вариант - он хорошо показывает куда смотреть и где скорее всего код требует рефакторинга.
И вот тут мне прямо хорошо зашла тула https://github.com/rohaquinlop/complexipy - это штука для оценки cognitive complexity (можно почитать тут https://habr.com/ru/articles/565652/).
На самом деле есть разные тулы для этого, но complexipy мне понравился скоростью, довольно гибкими настройками и в хорошем смысле замороченностью автора, который пошел за ревью к G. Ann Campbell, которая собственно основной автор методики.
Конечно, у любой методики оценки качества кода есть свои минусы, но чем мне нравится этот конкретный вариант - он хорошо показывает куда смотреть и где скорее всего код требует рефакторинга.
GitHub
GitHub - rohaquinlop/complexipy: An extremely fast Python library to calculate the cognitive complexity of Python files, written…
An extremely fast Python library to calculate the cognitive complexity of Python files, written in Rust. - rohaquinlop/complexipy
Напоминаю, что продолжаются моковые собеседования для тех, кто хочет научиться решать алгоритмы.
Во многих топовых компаниях алгоритмы стали неотъемлемой частью собесов, а для разработчиков — головной болью💪
Если вы уже прорешали по сотне задачек на LeetCode, но все еще не разобрались, как применять алгоритмы на практике и справляться с незнакомыми заданиями на собеседованиях, тогда мы идем к вам 😁
На стримах вы сможете посмотреть, что спрашивают, как разбирают ответы участников, получить знания и стать увереннее в себе.
Можно позадавать вопросы на трансляции, а можно подать заявку на участие и пройти собеседование в прямом эфире 😉
Сегодня вечером можно прийти посмотреть на первое собеседование по JavaScript по ссылке 🙂 Будет полезно и интересно ☺️
Во многих топовых компаниях алгоритмы стали неотъемлемой частью собесов, а для разработчиков — головной болью
Если вы уже прорешали по сотне задачек на LeetCode, но все еще не разобрались, как применять алгоритмы на практике и справляться с незнакомыми заданиями на собеседованиях, тогда мы идем к вам 😁
На стримах вы сможете посмотреть, что спрашивают, как разбирают ответы участников, получить знания и стать увереннее в себе.
Можно позадавать вопросы на трансляции, а можно подать заявку на участие и пройти собеседование в прямом эфире 😉
Сегодня вечером можно прийти посмотреть на первое собеседование по JavaScript по ссылке 🙂 Будет полезно и интересно ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
events.solvery.io
Собеседования по алгоритмам
Solvery организовывает бесплатные прямые эфиры с моковыми собеседованиями для Junior разработчиков! Менторы проведут интервью по Go, C++, JavaScript и Python разработке
Всем привет!
Наш подкаст теперь будет выходить по четвергам, поэтому 21 марта в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast со Станиславом Змиевым, Tech Lead of Platform Engineering в Monite и обсудим:
🟡 что такое API-First компании и почему они становятся популярными;
🟡 как проектировать хорошее API;
🟡 что такое API Версионирование и как его правильно готовить.
➡️ Когда: 21 марта в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
🟡 Станислав уже записывал с нами выпуск про pathlib.Path.walk, запись можете посмотреть по ссылке
Наш подкаст теперь будет выходить по четвергам, поэтому 21 марта в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast со Станиславом Змиевым, Tech Lead of Platform Engineering в Monite и обсудим:
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
API версионирование: как, зачем и почему?
Спонсор подкаста: Курсы Python для новичков и продвинутые курсы — https://learn.python.ru
CFP PHDays —https://docs.google.com/forms/d/e/1FAIpQLSdfWqy2eSlLOcpR6BzHp0ypUqFSBBWrUBgb0ZveD1oKPqOmoQ/viewform
Ведущие – Григорий Петров и Михаил Корнеев
CFP PHDays —https://docs.google.com/forms/d/e/1FAIpQLSdfWqy2eSlLOcpR6BzHp0ypUqFSBBWrUBgb0ZveD1oKPqOmoQ/viewform
Ведущие – Григорий Петров и Михаил Корнеев
Мы у себя в компании начали аккуратно переходить на новый менеджер пакетов
Так как тула новая, пришлось ждать пока пофиксят 2 бага в которые мы упирались. После чего все равно не заработало, но проблема была уже на нашей стороне. Но самое главное, что после решения этих проблем все работает как часы уже вторую неделю 🙂
Все сложности были при использовании нескольких индексов:
- политика разрешения зависимостей
- авторы решили не переиспользовать переменную окружения
- в
Но какая же
1. Внутренняя библиотека (меньше 20 зависимостей)
- pip-tools 4 минуты 7 секунд
- с uv 10 секунд
2. Большой старый монолит на Django (больше 100 зависимостей):
- с pip-tools 18 минут 19 секунд
- с uv 32 секунды (!!!)
В общем я очень доволен результатом и рекомендую как минимум посмотреть на эту тулзу.
uv
(https://github.com/astral-sh/uv) и решил рассказать, как все идет.Так как тула новая, пришлось ждать пока пофиксят 2 бага в которые мы упирались. После чего все равно не заработало, но проблема была уже на нашей стороне. Но самое главное, что после решения этих проблем все работает как часы уже вторую неделю 🙂
Все сложности были при использовании нескольких индексов:
- политика разрешения зависимостей
uv
отличается от pip
- это важно, когда используется свой индекс в добавок к pypi- авторы решили не переиспользовать переменную окружения
PIP_EXTRA_INDEX_URL
- для uv
надо задавать UV_EXTRA_INDEX_URL
- в
UV_EXTRA_INDEX_URL
лушче прописывать `/simple`-индекс, у меня сначала было не так, pip работал, а uv уже нетНо какая же
uv
офигенно быстрая. Вот примеры двух наших разных проектов:1. Внутренняя библиотека (меньше 20 зависимостей)
- pip-tools 4 минуты 7 секунд
- с uv 10 секунд
2. Большой старый монолит на Django (больше 100 зависимостей):
- с pip-tools 18 минут 19 секунд
- с uv 32 секунды (!!!)
В общем я очень доволен результатом и рекомендую как минимум посмотреть на эту тулзу.
GitHub
GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.
An extremely fast Python package and project manager, written in Rust. - astral-sh/uv
Любопытная статья от Lyft о том, как они полуавтоматически апгрейдят python в 1500+ внутренних репозиториях. Было интересно посмотреть, как они подходят к этому, прямо скажем, непростому вопросу. https://eng.lyft.com/python-upgrade-playbook-1479145d52f4
Medium
Python Upgrade Playbook
How Lyft upgrades Python at scale—1500+ repos spanning 150+ teams…
Я думаю, что многие python-разработчики хотя бы раз в жизни слышали про то, что использование встроенного модуля
tl;dr - скачивать веса ml-моделек в pickle-формате - плохая идея. Подробнее тут - https://lwn.net/Articles/964392/
pickle
может быть небезопасным. Но кажется далеко не все знают, в чем заключается "небезопасность". Хорошая статья на lwn, где высокоуровнево разбирается то, как работает pickle и приводятся примеры, как с помощью него вам могут сделать больно. tl;dr - скачивать веса ml-моделек в pickle-формате - плохая идея. Подробнее тут - https://lwn.net/Articles/964392/
lwn.net
Insecurity and Python pickles
Serialization is the process of transforming Python objects into a sequence of
bytes which can be used to recreate a copy of the object later — or on another
machine.
pickle is Python's native serialization module. It can store complex Python
objects,
making…
bytes which can be used to recreate a copy of the object later — or on another
machine.
pickle is Python's native serialization module. It can store complex Python
objects,
making…
Привет!
Сегодня в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast и обсудим:
🟡 релиз ruff 0.3.0
🟡 style czar или попытка привести языки к одному стилю
🟡 Gemini Pro объявила кеширование «риском безопасности»
🟡 Cloudflare запустили поддержку python в cloud-workers
🟡 как за год изменилось состояние Web Assembly в Python
➡️ Когда: 4 апреля в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
Сегодня в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast и обсудим:
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Новости мира Python за март 2024
Спонсор подкаста: Курсы Python для новичков и продвинутые курсы — https://learn.python.ru
Python Day на Positive Hack Days: https://bit.ly/phd-mpp
Ведущие – Григорий Петров и Михаил Корнеев
Новости выпуска:
релиз ruff 0.3.0 — https://astral.sh/blog/ruff…
Python Day на Positive Hack Days: https://bit.ly/phd-mpp
Ведущие – Григорий Петров и Михаил Корнеев
Новости выпуска:
релиз ruff 0.3.0 — https://astral.sh/blog/ruff…
Frost Ming, автор менеджера пакетов
- для чего нужен lock-файл, как он устроен у pdm и почему именно так https://frostming.com/en/2024/pdm-lockfile/
- как pdm разрешает зависимости и какие есть стратегии формирования lock-файла https://frostming.com/en/2024/pdm-lock-strategy/
В статье довольно много pdm-специфичных вещей, но думаю почитать будет интересно и тем, кто использует другие менеджеры пакетов, чтобы лучше понять как все устроено "под капотом".
P.S. Автор честно предупреждает, что обе статьи — это автоматический перевод с китайского, но тем не менее читается легко и понятно.
pdm
выложил несколько постов про его внутреннее устройство:- для чего нужен lock-файл, как он устроен у pdm и почему именно так https://frostming.com/en/2024/pdm-lockfile/
- как pdm разрешает зависимости и какие есть стратегии формирования lock-файла https://frostming.com/en/2024/pdm-lock-strategy/
В статье довольно много pdm-специфичных вещей, но думаю почитать будет интересно и тем, кто использует другие менеджеры пакетов, чтобы лучше понять как все устроено "под капотом".
P.S. Автор честно предупреждает, что обе статьи — это автоматический перевод с китайского, но тем не менее читается легко и понятно.
Frostming
PDM Internals(1)
Lock file
Forwarded from Никита Соболев
всем привет! я очень долго обещал сделать бесплатный курс на ютюбе для всех желающих. и вот я, наконец, начал его делать!
встречайте: https://www.youtube.com/@sobolevn
уникальность формата в том, что я рассматриваю одну узкую тему с трех уровней сложности: junior, middle, senior. так что, контент должен быть интересным для всех уровней Python разработчиков!
обратите внимание, что курс не для тех, кто идет учить питон с нуля. он для тех, кто уже хоть немного знает, как погромировать на питоне.
важные ссылки:
- все материалы курса: https://github.com/sobolevn/the-best-python-course
- мой гитхаб: https://github.com/sobolevn
- поддержать мою работу: https://boosty.to/sobolevn
- вступить в наше новое глобальное сообщество: https://discord.python.ru
пишите в комментах к видео, если узнали что-то новое!
мета информация: https://www.youtube.com/watch?v=SVBPkrs9UFg
первый выпуск: https://www.youtube.com/watch?v=WBKf2Cw_9Pc
буду рад обратной связи!
в ближайших планах:
- починить звук и свет
- избавиться от слова "интересный" в описании примерно всего
- сделать много новых видео по разным темам
встречайте: https://www.youtube.com/@sobolevn
уникальность формата в том, что я рассматриваю одну узкую тему с трех уровней сложности: junior, middle, senior. так что, контент должен быть интересным для всех уровней Python разработчиков!
обратите внимание, что курс не для тех, кто идет учить питон с нуля. он для тех, кто уже хоть немного знает, как погромировать на питоне.
важные ссылки:
- все материалы курса: https://github.com/sobolevn/the-best-python-course
- мой гитхаб: https://github.com/sobolevn
- поддержать мою работу: https://boosty.to/sobolevn
- вступить в наше новое глобальное сообщество: https://discord.python.ru
пишите в комментах к видео, если узнали что-то новое!
мета информация: https://www.youtube.com/watch?v=SVBPkrs9UFg
первый выпуск: https://www.youtube.com/watch?v=WBKf2Cw_9Pc
буду рад обратной связи!
в ближайших планах:
- починить звук и свет
- избавиться от слова "интересный" в описании примерно всего
- сделать много новых видео по разным темам
Я всегда был сторонником обучения на практических задачах и сам не люблю при изучении новых языков/фреймворков/библиотек решать синтетические задачки. Поэтому мне понравился подход ребят из https://codecrafters.io/ - "напишите Redis, Git или Docker своими руками". Я некоторое время мариновал этот сайт в закладках, но тут во время отпуска решил попробовать.
Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу
У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для
- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного
В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.
Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу
У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для
go
, с которым я знаком поверхностно - мне было очень интересно посмотреть на разные подходы к решению одной и той-же задачи и что-то утащить себе в копилочку- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного
В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.
CodeCrafters
The Software Pro's Best Kept Secret.
Real-world proficiency projects designed for experienced engineers. Develop software craftsmanship by recreating popular devtools from scratch.
Вышел
Также они добавили свой language server, написанный на rust для интеграции с редакторами кода, которые поддерживают language server protocol (LSP). Предыдущий lang server у них был написан на питоне.
Ну и как обычно много всяких улучшений/исправлений меньшего размера.
Ссылка на анонс https://astral.sh/blog/ruff-v0.4.0
Ссылка на ченджлог https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md#040
ruff 0.4.0
. Из интересного - они переписали парсер, который преобразует код в ast
(abstract syntax trees). Это увеличит скорость работы ruff дополнительно на 20-40% что звучит здорово. Также новый парсер позволяет улучшить обработку ошибок парсинга, нарпимер сделав ошибки более читаемыми.Также они добавили свой language server, написанный на rust для интеграции с редакторами кода, которые поддерживают language server protocol (LSP). Предыдущий lang server у них был написан на питоне.
Ну и как обычно много всяких улучшений/исправлений меньшего размера.
Ссылка на анонс https://astral.sh/blog/ruff-v0.4.0
Ссылка на ченджлог https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md#040
astral.sh
Ruff v0.4.0: a hand-written recursive descent parser for Python
Ruff migrates to a hand-written recursive descent parser: >2x faster, with error recovery capabilities.
Хорошая статья про то, как устроены списки в питоне. Начинается с примера, который выглядит простым и понятным, и потом довольно быстро ныряет в зубодробительные детали сишной реализации list-ов.
Если интересно, как python устроен "под капотом" - очень рекомендую, так как автор явно заморочился, нарисовал много картинок и вообще расписал все очень детально, думаю даже для людей, никогда не писавших на C будет в целом понятно https://codeconfessions.substack.com/p/why-do-python-lists-multiply-oddly
Если интересно, как python устроен "под капотом" - очень рекомендую, так как автор явно заморочился, нарисовал много картинок и вообще расписал все очень детально, думаю даже для людей, никогда не писавших на C будет в целом понятно https://codeconfessions.substack.com/p/why-do-python-lists-multiply-oddly
Codingconfessions
Why Do Python Lists Multiply Oddly? Exploring the CPython Source Code
A look at the internals of list implementation in CPython to understand this weird quirk about them
И вдогонку чуть более простой и практически применимый материал. Наверное, большинство сейчас для форматирования строк используют f-строки, и чаще всего это просто
И сегодня наткнулся на pybites хороший гайд по тому, что f-строки умеют. Если вы всем этим богатством не пользовались - очень рекомендую https://pybit.es/articles/python-f-string-codes-i-use-every-day/
f"string {variable}"
, но на самом деле f-строки позволяют удобно форматировать переменную. Например, мне недавно надо было выводить целое число как трехпозиционную строку, т.е. если в числе меньше трех цифр - подставлять в начало нолики (5 -> "005", 10 -> "010", 123 -> 123).И сегодня наткнулся на pybites хороший гайд по тому, что f-строки умеют. Если вы всем этим богатством не пользовались - очень рекомендую https://pybit.es/articles/python-f-string-codes-i-use-every-day/
Pybites
Python F-String Codes I Use Every Day - Pybites
I use f-strings every day. The irony is I also every day end up searching the Web to find the correct format to use. Until one day I thought a
Всем привет! На этой неделе у нас будет 2 выпуска Moscow Python Podcast подряд.
🟢 Сегодня, 2 мая в 14:00 МСК, поговорим про новости Python за последний месяц - релиз ruff 0.4.0, сборку CPyhon из исходников, PEP-744 Jit Compilation, студенческие задания в open source и что с ними не так, Ubuntu 24.04 LTS онлайн и в записи по ссылке.
🟢 Завтра, 3 мая встретимся с Александром Гончаровым, автором телеграм-канала Блог погромиста. В следующем анонсе расскажу подробности выпуска.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Новости мира Python за апрель 2024
Спонсор подкаста: Курсы Python для новичков и продвинутые курсы — https://learn.python.ru
Positive Hacks Days —https://bit.ly/phd-mpp
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — Интро
1:00 — Pydantic запустили бета-версию Longfire
10:27 — Łukasz…
Positive Hacks Days —https://bit.ly/phd-mpp
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — Интро
1:00 — Pydantic запустили бета-версию Longfire
10:27 — Łukasz…
Привет, в четверг, 16 мая в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast с Иваном Кривошеевым, ведущим разработчиком Positive Technologies и обсудим:
🟡 идеальную ORM;
🟡 проблемы asyncio;
🟡 опыт перехода на Rust.
➡️ Когда: 16 мая в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Python Day Special с Иваном Кривошеевым
Спонсор подкаста: Курсы Python для новичков и продвинутые курсы — https://learn.python.ru
Python Day на Positive Hack Days — https://bit.ly/phd-mpp
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
2:15 — о sendbox в Positive Technologies
6:07…
Python Day на Positive Hack Days — https://bit.ly/phd-mpp
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
2:15 — о sendbox в Positive Technologies
6:07…
Я почти весь май проболел и почти не постил в канал и пропустил запись послдених выпусков подкаста, буду исправляться.
В пятницу 7 июня в прямом эфире Moscow Python Podcast в 14:00 (по мск) обсудим новости за май, а именно:
🟡 Релиз беты Python 3.13
🟡 Django Developers Survey 2023
🟡 В Django предложили затащить бекграунд-воркеры
🟡 Разработчики ставят себе бекдоры на тестовых собеседованиях
➡️ Когда: 7 июня в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
В пятницу 7 июня в прямом эфире Moscow Python Podcast в 14:00 (по мск) обсудим новости за май, а именно:
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Новости мира Python за май
Спонсор подкаста: Курсы Python для новичков и продвинутые курсы — https://learn.python.ru
CFP PiterPy — https://piterpy.com/callforpapers/
Ведущие – Григорий Петров и Михаил Корнеев
Интро:
00:00 — интро
1:15 — релиз бета python 3.13
8:50 — про версионирование…
CFP PiterPy — https://piterpy.com/callforpapers/
Ведущие – Григорий Петров и Михаил Корнеев
Интро:
00:00 — интро
1:15 — релиз бета python 3.13
8:50 — про версионирование…
В эту пятницу, 12 июля в прямом эфире Moscow Python Podcast в 14:00 (по мск) обсудим новости за июнь:
🟡 Должен ли Python использовать календарную нумерацию версий
🟡 Релиз NumPy 2.0
🟡 Как устроена инфраструктура работы с уязвимостями в Python
🟡 Современные практики для разработки на Python
➡️ Когда: 12 июля в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Новости Python за июнь 2024 года
Спонсор подкаста: Learn Python Advanced — курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://vk.cc/cyie3c
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
1:40 — пора ли Python переходить на календарную нумерацию…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
1:40 — пора ли Python переходить на календарную нумерацию…
Сегодня традиционно в первую пятинцу месяца, в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast и обсудим новости за июль:
🟡 утечку токена для полного доступа к GitHub-репозиториям проекта Python
🟡 python без GIL можно попробовать теперь и локально
🟡 почему Apple начал заворачивать приложения на Python 3.12 в App Store
🟡 релиз Polars 1.0
🟡 PEP 751 — общий формат для lock-файлов зависимостей
➡️ Когда: 2 августа в 14:00 по Москве.
➡️ Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Новости мира Python за июль 2024
Спонсор подкаста: Learn Python Advanced — курсы по Python-разработке для тех, кто уже знаком с веб-разработкой — https://vk.cc/cyie3c
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
1:15 — Гриша про PyCon
9:50 — утечка токена для полного доступа…
Ведущие – Григорий Петров и Михаил Корнеев
00:00 — интро
1:15 — Гриша про PyCon
9:50 — утечка токена для полного доступа…
Последние три месяца я был сначала занят на работе и не успевал писать новости, а потом поехал в отпуск и вообще старался не подходить к компу. Я немного отдохнул, выдохнул и попробую вернуться к регулярному постингу и начну с того, что разберу отложенные интересные статьи 🙂
Начну с короткой заметки, которая хорошо рассказывает о том, какие UUID бывают и для чего их использовать. Если вы всегда просто используете
Я последнее время с интересом смотрю в сторону uuid7 - по нему можно делать сортировку и поэтому он выглядит интересно в качестве id-шника. Из коробки модуль
Начну с короткой заметки, которая хорошо рассказывает о том, какие UUID бывают и для чего их использовать. Если вы всегда просто используете
uuid4
то думаю будет полезно расширить кругозор https://www.ntietz.com/blog/til-uses-for-the-different-uuid-versions/Я последнее время с интересом смотрю в сторону uuid7 - по нему можно делать сортировку и поэтому он выглядит интересно в качестве id-шника. Из коробки модуль
uuid
в питоне не поддерживает uuid6
, uuid7
и uuid8
(потому что пока они по факту не приняты как часть RFC), но есть либа uuid-utils
которая реализует все варианты https://github.com/aminalaee/uuid-utilsGitHub
GitHub - aminalaee/uuid-utils: Python bindings to Rust UUID
Python bindings to Rust UUID. Contribute to aminalaee/uuid-utils development by creating an account on GitHub.
Вышла Django 5.1, изменений не сильно много, но из интересного:
- поддержка connection pool-ов для psycopg 3
- миддлварь, которая делает аутентификацию обязательной для всех эндпоинтов (полагаю многие писали подобную миддлварьку для своих проектов)
- новый template tag
- для работы с сессиями пользователя теперь доступно асинхронные методы
- дропнули совместимость с Postgres 12, MariaDB 10.4 и SQLite ниже 3.31.0
ну и много всего по мелочи, почитать release notes можно здесь https://docs.djangoproject.com/en/5.1/releases/5.1/
- поддержка connection pool-ов для psycopg 3
- миддлварь, которая делает аутентификацию обязательной для всех эндпоинтов (полагаю многие писали подобную миддлварьку для своих проектов)
- новый template tag
querystring
, который позволяет в шаблоне легко добавить новый/заменить значение существующего параметра url-а, сохранив все остальные параметры- для работы с сессиями пользователя теперь доступно асинхронные методы
- дропнули совместимость с Postgres 12, MariaDB 10.4 и SQLite ниже 3.31.0
ну и много всего по мелочи, почитать release notes можно здесь https://docs.djangoproject.com/en/5.1/releases/5.1/
Django Project
Django 5.1 release notes | Django documentation
The web framework for perfectionists with deadlines.