Forwarded from Liza Zharova
Всем привет!
Уже 20 марта в 19:00 по мск пройдет стрим с моковым собеседованием на Python Junior позицию.
Присоединяйтесь в качестве зрителя, поддержите нашего участника и задайте свои вопросы ментору в конце стрима.
Регистрируйтесь на стрим по ссылке
Хорошего вечера!
Уже 20 марта в 19:00 по мск пройдет стрим с моковым собеседованием на Python Junior позицию.
Присоединяйтесь в качестве зрителя, поддержите нашего участника и задайте свои вопросы ментору в конце стрима.
Регистрируйтесь на стрим по ссылке
Хорошего вечера!
Forwarded from Хитрый Питон
Последние несколько месяцев регулярно выходят новости в стиле "на pypi залили еще 100500 пакетов с названиями, похожими на популярные библиотеки и злодейским кодом внутри". Эта схема как-то работает потому, что особенно новички часто слышат где-то название библиотеки и ставят ее, не посмотрев внимательно, что это за код.
На realpython.com вышла статья, которая рассказывает том, как оценить качество либы перед тем, как начать ее использовать. В принципе ничего сложного, но как много людей, к примеру, обращают внимание на то, под какой лицензией выпущена библиотека?
Итак коротко, что они советуют:
- Посмотреть внимательно страницу пакета на pypi, кто автор, сколько было релизов, когда был последний релиз, какой Development Status - если там planning или alfa - точно ли вы хотите тащить к себе подобный код?
- Посмотреть страницу пакета на Libraries.io, это даст чуть больше информации чем pypi
- Заглянуть в репозиторий на github/gitlab и оценить активность разработки, количество issues, качество readme и т.д.
- Посмотреть, что за лицензия у либы. Это не очень важно для маленьких проектов, но если вы пишете коммерческий софт, проблемная лицензия может потребовать срочно менять библиотеку если к вам придет, например, аудит при получении инвестиций или заключении крупного договора. Поверьте, выпиливать либу проросшую корнями в код может быть очень, хм, интересным опытом.
В общем думайте, что вы скачиваете из интернетов (с) https://realpython.com/python-package-quality/
На realpython.com вышла статья, которая рассказывает том, как оценить качество либы перед тем, как начать ее использовать. В принципе ничего сложного, но как много людей, к примеру, обращают внимание на то, под какой лицензией выпущена библиотека?
Итак коротко, что они советуют:
- Посмотреть внимательно страницу пакета на pypi, кто автор, сколько было релизов, когда был последний релиз, какой Development Status - если там planning или alfa - точно ли вы хотите тащить к себе подобный код?
- Посмотреть страницу пакета на Libraries.io, это даст чуть больше информации чем pypi
- Заглянуть в репозиторий на github/gitlab и оценить активность разработки, количество issues, качество readme и т.д.
- Посмотреть, что за лицензия у либы. Это не очень важно для маленьких проектов, но если вы пишете коммерческий софт, проблемная лицензия может потребовать срочно менять библиотеку если к вам придет, например, аудит при получении инвестиций или заключении крупного договора. Поверьте, выпиливать либу проросшую корнями в код может быть очень, хм, интересным опытом.
В общем думайте, что вы скачиваете из интернетов (с) https://realpython.com/python-package-quality/
Realpython
How to Evaluate the Quality of Python Packages – Real Python
Just like you shouldn't download any file from the Internet, you shouldn't install third-party Python packages without evaluating them first. This tutorial will give you the tool set to evaluate the quality of external Python packages before you incorporate…
👍3👎1
Forwarded from Liza Zharova
Всем привет! Мы начинаем мок интервью на Junior Python разработчика!
Переходите по ссылке на канал Moscow Python🔥
Давайте поддержим нашего участника от сообщества!
Переходите по ссылке на канал Moscow Python🔥
Давайте поддержим нашего участника от сообщества!
👍4
У нас отличная новость - Николай Марков определился с темой доклада на митапе, который состоится в этот четверг. Доклад называется "Контейнерные змеи". Заинтригованы? Читайте подробности и регистрируйтесь тут (пока есть места): https://moscowdjango.timepad.ru/event/2353852/
Напоминаем, что онлайн-трансляция будет доступна на нашем сайте - moscowpython.ru
Митап проходит при поддержке YADRO, Geekfactor.io и Evrone.com
Напоминаем, что онлайн-трансляция будет доступна на нашем сайте - moscowpython.ru
Митап проходит при поддержке YADRO, Geekfactor.io и Evrone.com
moscowdjango.timepad.ru
Moscow Python Meetup №81 / События на TimePad.ru
🔥6
Выпустили анонс митапа на Хабре - поддержите плюсом, плз. :)
https://habr.com/ru/company/yadro/news/t/723806/
https://habr.com/ru/company/yadro/news/t/723806/
Хабр
Moscow Python Meetup x YADRO: встречаемся 23 марта
Привет, Хабр! 23 марта сообщество Moscow Python совместно с YADRO проведут митап: можно поучаствовать офлайн в Москве или присоединиться онлайн. В этом посте — короткие тезисы докладов, ссылки...
30 марта в 18.30 в Санкт-Петербурге пройдёт митап "Типичный Python", организованный компанией Selectel. Доступна будет также онлайн-трансляция.
На митапе будут сделаны доклады:
- «Oh-My-Py!» — Александр Полищук (Ведущий разработчик, МТС Digital)
- «Динамическая типизация» — Владимир Туров (Разработчик в отделе платформенной разработки выделенных серверов и оборудования, Selectel)
- «Мажорный релиз алхимии» — Анатолий Матвеев (Инженер по разработке в команде дисков и бэкапов, Selectel)
Видео-приглашение на митап: https://www.youtube.com/watch?v=KLf1z_KZY9c
Ссылка на регистрацию на онлайн: https://slc.tl/e211f
Ссылка на регистрацию на офлайн: https://slc.tl/yvgst
На митапе будут сделаны доклады:
- «Oh-My-Py!» — Александр Полищук (Ведущий разработчик, МТС Digital)
- «Динамическая типизация» — Владимир Туров (Разработчик в отделе платформенной разработки выделенных серверов и оборудования, Selectel)
- «Мажорный релиз алхимии» — Анатолий Матвеев (Инженер по разработке в команде дисков и бэкапов, Selectel)
Видео-приглашение на митап: https://www.youtube.com/watch?v=KLf1z_KZY9c
Ссылка на регистрацию на онлайн: https://slc.tl/e211f
Ссылка на регистрацию на офлайн: https://slc.tl/yvgst
YouTube
Приглашение на Selectel MeetUp: типичный Python 30.03.23
Официальный сайт Selectel — https://slc.tl/hbJ0QПодписывайтесь на Selectel в социальных сетях: Twitter — https://twitter.com/selectel Telegram — https://t.me...
🔥9👍5🤩1
Forwarded from Liza Zharova
Всем привет!
Напоминаем, что 27 марта в 19:00 по мск пройдет вторая часть мок собеседования на Python Junior позицию - разбираем практические задания😎
Присоединяйтесь в качестве зрителя, поддержите нашего участника и задайте свои вопросы ментору в конце стрима.
Регистрируйтесь на стрим по ссылке
Всем отличного настроения!
Напоминаем, что 27 марта в 19:00 по мск пройдет вторая часть мок собеседования на Python Junior позицию - разбираем практические задания😎
Присоединяйтесь в качестве зрителя, поддержите нашего участника и задайте свои вопросы ментору в конце стрима.
Регистрируйтесь на стрим по ссылке
Всем отличного настроения!
Добавили немного мест на сегодняшний митап - успевайте регистрироваться, если ещё не успели: https://moscowdjango.timepad.ru/event/2353852/
Также напоминаем, что будет доступна онлайн-трансляция на на нашем сайте moscowpython.ru
Также напоминаем, что будет доступна онлайн-трансляция на на нашем сайте moscowpython.ru
moscowdjango.timepad.ru
Moscow Python Meetup №81 / События на TimePad.ru
🔥5👎1
Forwarded from Хитрый Питон
List comprehensions (выражения типа
И вот в новом PEP 709 предлагают оптимизировать их работу. Сейчас при переводе list/dict/set comprehension в байткод происходит создание вложенной функции и ее исполнение. Авторы PEP предлагают не создавать эту дополнительную вложенную функцию, а сразу писать в байткоде ее содержимое (inline). Это должно быть безопасно, так как в случае list comprehention мы не можем стандартными средствами в процессе его выполнения как-то повлиять на переменные внутри.
У этого подхода есть большой плюс - ускорение исполнения подобных выражений на 11% на тестах. Из минусов - в трейсбеках больше не будет пункта listcomp и при трейсинге/профилировании не будет видны вход в comprehension и выход из него. На мой взгляд плюсы заметно перевешивают минусы, надеюсь этот PEP примут и внедрят в одном из ближайших релизов.
Ссылка https://peps.python.org/pep-0709/
[x for x in iterable]`) в питоне обычно сложновато даются новичкам. Но стоит один раз разобраться с синтаксисом, как понимаешь, насколько это удобный инструмент. Более того, они быстрее чем .append()` в список в цикле.И вот в новом PEP 709 предлагают оптимизировать их работу. Сейчас при переводе list/dict/set comprehension в байткод происходит создание вложенной функции и ее исполнение. Авторы PEP предлагают не создавать эту дополнительную вложенную функцию, а сразу писать в байткоде ее содержимое (inline). Это должно быть безопасно, так как в случае list comprehention мы не можем стандартными средствами в процессе его выполнения как-то повлиять на переменные внутри.
У этого подхода есть большой плюс - ускорение исполнения подобных выражений на 11% на тестах. Из минусов - в трейсбеках больше не будет пункта listcomp и при трейсинге/профилировании не будет видны вход в comprehension и выход из него. На мой взгляд плюсы заметно перевешивают минусы, надеюсь этот PEP примут и внедрят в одном из ближайших релизов.
Ссылка https://peps.python.org/pep-0709/
Python Enhancement Proposals (PEPs)
PEP 709 – Inlined comprehensions | peps.python.org
Comprehensions are currently compiled as nested functions, which provides isolation of the comprehension’s iteration variable, but is inefficient at runtime. This PEP proposes to inline list, dictionary, and set comprehensions into the code where they a...
👍8❤1
Forwarded from Liza Zharova
Всем привет! Мы начинаем вторую часть мок собеседования на Python Junior разработчика - разбираем практические задания😎
Переходите по ссылке на канал Moscow Python🔥
Давайте поддержим нашего участника от сообщества!
Переходите по ссылке на канал Moscow Python🔥
Давайте поддержим нашего участника от сообщества!
👍3
Forwarded from Alla
6 апреля в 19:00 (GMT+4) состоится Python Meetup by JettyCloud 🙌
Дмитрий Алимов из JettyCloud и Ян Пономарев из LitRes поговорят о решении проблемы, связанной с hashlib, а также поделятся опытом разработки CQRS. Каждый зритель сможет задать вопрос спикерам в прямом эфире. Язык митапа: Русский.
Участие бесплатное, но необходимо зарегистрироваться: https://www.jettycloud.com/events/python
Дмитрий Алимов из JettyCloud и Ян Пономарев из LitRes поговорят о решении проблемы, связанной с hashlib, а также поделятся опытом разработки CQRS. Каждый зритель сможет задать вопрос спикерам в прямом эфире. Язык митапа: Русский.
Участие бесплатное, но необходимо зарегистрироваться: https://www.jettycloud.com/events/python
🔥4
Forwarded from Хитрый Питон
Ребята, которые делают Starlite - еще один интересный веб-фреймворк, написали чуть больше подробностей о версии 2.0. Что интересного обещают:
- они выпиливают pydantic как обязательную зависимость. Можно будет продолжать использовать его, но если нужна скорость, можно взять тот же msgspec
- добавили event bus - возможность отправлять и получать сообщения. Сейчас работает только с in-memory очередью, но к релизу обещают поддержку reddis/rabbitmq
- поддержка key-value хранилищ - in-memory, redis, файлы. Теперь не нужно придумывать свою реализацию для, скажем, кеш-бекенда
Прямо интересно наблюдать за проектом, развивается активно и притаскивают интересные фичи. Полностью анонс можно прочитать на reddit https://www.reddit.com/r/Python/comments/122ld24/starlite_updates_march_22_20_is_coming/
- они выпиливают pydantic как обязательную зависимость. Можно будет продолжать использовать его, но если нужна скорость, можно взять тот же msgspec
- добавили event bus - возможность отправлять и получать сообщения. Сейчас работает только с in-memory очередью, но к релизу обещают поддержку reddis/rabbitmq
- поддержка key-value хранилищ - in-memory, redis, файлы. Теперь не нужно придумывать свою реализацию для, скажем, кеш-бекенда
Прямо интересно наблюдать за проектом, развивается активно и притаскивают интересные фичи. Полностью анонс можно прочитать на reddit https://www.reddit.com/r/Python/comments/122ld24/starlite_updates_march_22_20_is_coming/
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
👍3
Forwarded from Хитрый Питон
В пятницу, 31 марта в 14:00 встретимся в прямом эфире Moscow Python Podcast с Мстиславом Казаковым, тимлидом в Usetech. Вместе с гостем обсудим:
• наблюдаемость(observability) сервисов;
• стандартизацию логов;
• подключение Elastic APM к Django-приложению;
• использование Openmetrics для выгрузки данных.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь по ссылке и ставьте колокольчик 😀, чтобы не забыть.
• наблюдаемость(observability) сервисов;
• стандартизацию логов;
• подключение Elastic APM к Django-приложению;
• использование Openmetrics для выгрузки данных.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь по ссылке и ставьте колокольчик 😀, чтобы не забыть.
YouTube
Боли и радости observability / подключение Elastic APM / liveness пробы и хелсчеки в Django
00:00 - интро
1:07 - что за такое observability
4:11 - куда смотреть, если observability не завезли
8:10 - зачем придумывать навороты с логгингом
12:03 - как ввести в проект observability
16:55 - о главной проблеме логов
21:04 - о readiness и liveness или…
1:07 - что за такое observability
4:11 - куда смотреть, если observability не завезли
8:10 - зачем придумывать навороты с логгингом
12:03 - как ввести в проект observability
16:55 - о главной проблеме логов
21:04 - о readiness и liveness или…
❤5
Forwarded from MoscowPython Conf Channel
⠀
Друзья, у нас открыт прием докладов на Moscow Python Conf 2023, которая пройдет 19 и 20 мая в рамках международного форума по практической безопасности Positive Hack Days
⠀
▪️Заявки принимаем до 17 апреля.
▪️Решение по каждому докладу примем 20 апреля.
⠀
Нам интересны доклады про Legacy, Python и highload-проекты, AI, ML и ChatGPT, про будущее языка, MLOps и дата -инжиниринг, тестирование кода, уязвимости в Python, Codestyle на Python и многое другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Выложили материалы с 81-го митапа - посмотреть видео можно у нас на канале - https://www.youtube.com/playlist?list=PLv_zOGKKxVpj-n2qLkEM2Hj96LO6uqgQw
А слайды доступны на сайте moscowpython.ru
Напомним, что на встрече прозвучали доклады:
- Евгений Соколов (YADRO, тимлид команды разработки СХД Tatlin). Лучший язык — это… или Пайтон против Суслика
- Максим Безруков (Ред Софт, middle/senior developer). Кто такой syslog, зачем читать RFC-* и причём тут Django
- Николай Марков (Principal Architect в Aligned Research Group). Контейнерные змеи
Встреча прошла при поддержке компаний Yadro, Geekfactor.io, Evrone.com
В следующий раз встречаемся на Moscow Python Conf 19 и 20 мая (подробности - на conf.python.ru/moscow/2023)
На июнь и июль также уже запланированы встречи, но об этом позже. :)
А слайды доступны на сайте moscowpython.ru
Напомним, что на встрече прозвучали доклады:
- Евгений Соколов (YADRO, тимлид команды разработки СХД Tatlin). Лучший язык — это… или Пайтон против Суслика
- Максим Безруков (Ред Софт, middle/senior developer). Кто такой syslog, зачем читать RFC-* и причём тут Django
- Николай Марков (Principal Architect в Aligned Research Group). Контейнерные змеи
Встреча прошла при поддержке компаний Yadro, Geekfactor.io, Evrone.com
В следующий раз встречаемся на Moscow Python Conf 19 и 20 мая (подробности - на conf.python.ru/moscow/2023)
На июнь и июль также уже запланированы встречи, но об этом позже. :)
🔥6❤🔥2
Forwarded from Хитрый Питон
Вышел LTS-релиз Django - 4.2. Long Term Support означает, что этот релиз будут поддерживать несколько лет, до 2026 года. Из интересных новинок:
- Реализовали поддержку
- Добавили возможность оставлять комментарии для таблиц и полей БД
- На смену
- In-memory file storage, удобная штука для использования в тестах, приятно учитывая, что
- Минимальная версия postgres теперь - 12-я
- Еще больше поддержки асинхронности -
И самое главное - добавили темную тему для админки. Все, кто не использовал Джангу из-за отсутствия темной темы, могут начинать использовать 🙂
Полный список изменений https://docs.djangoproject.com/en/4.2/releases/4.2/
- Реализовали поддержку
psycopg3. Сейчас поддерживаются обе либы, но от psycopg2 планируют в будущем отказаться- Добавили возможность оставлять комментарии для таблиц и полей БД
- На смену
DEFAULT_FILE_STORAGE и STATICFILES_STORAGE приходит настройка STORAGES, которая позволяет объявлять столько файловых стореджей, сколько нужно- In-memory file storage, удобная штука для использования в тестах, приятно учитывая, что
dj-inmemorystorage уже несколько лет как перестала обновляться- Минимальная версия postgres теперь - 12-я
- Еще больше поддержки асинхронности -
asave(), adelete() и arefresh_from_db() для моделей, плюс aadd(), aclear(), aremove() и aset() для relation managersИ самое главное - добавили темную тему для админки. Все, кто не использовал Джангу из-за отсутствия темной темы, могут начинать использовать 🙂
Полный список изменений https://docs.djangoproject.com/en/4.2/releases/4.2/
Django Project
Django 4.2 release notes | Django documentation
The web framework for perfectionists with deadlines.
👍11❤5🔥2💩1
Forwarded from Хитрый Питон
Завтра, 7 апреля в 14:00 по Москве будем обсуждать новости питона за март в прямом эфире:
- LTS-релиз Django 4.2;
- Pandas 2.0;
- PyTorch 2.0;
- свежее исследование Django-экосистемы от JetBrains.
- предложение по ускорению list comprehensions;
- отклоненное предложение по аналогу node_modules в Python
Приходите поболтать, ставьте лайки и вот это все 🙂 https://www.youtube.com/watch?v=vtjmhIhdweo
- LTS-релиз Django 4.2;
- Pandas 2.0;
- PyTorch 2.0;
- свежее исследование Django-экосистемы от JetBrains.
- предложение по ускорению list comprehensions;
- отклоненное предложение по аналогу node_modules в Python
Приходите поболтать, ставьте лайки и вот это все 🙂 https://www.youtube.com/watch?v=vtjmhIhdweo
YouTube
LTS-релиз Django 4.2 / вышли PyTorch 2.0 и Pandas 2.0 / свежие PEP
Эфир с ответами на вопросы пройдет 13 апреля, оставить вопрос можно в комментариях по ссылке https://youtube.com/live/fd_xgN_zHvk
00:00 - интро
1:20 - вышел LTS-релиз Django 4.2
14:30 - ответ на вопрос
17:26 - релиз Pandas 2.0
25:12 - выход PyTorch 2.0…
00:00 - интро
1:20 - вышел LTS-релиз Django 4.2
14:30 - ответ на вопрос
17:26 - релиз Pandas 2.0
25:12 - выход PyTorch 2.0…
👍3🔥2
Отвечаем на вопросы про Python в прямом эфире
13 апреля в 14:00 по Москве встретимся на трансляции Moscow Python Podcast, где Григорий Петров и Михаил Корнеев ответят на вопросы и комментарии зрителей.
Оставляйте свои вопросы анонимно в форме или публично в комментариях к трансляции — https://www.youtube.com/watch?v=fd_xgN_zHvk
Присоединяйтесь к нам по ссылке!
13 апреля в 14:00 по Москве встретимся на трансляции Moscow Python Podcast, где Григорий Петров и Михаил Корнеев ответят на вопросы и комментарии зрителей.
Оставляйте свои вопросы анонимно в форме или публично в комментариях к трансляции — https://www.youtube.com/watch?v=fd_xgN_zHvk
Присоединяйтесь к нам по ссылке!
Google Docs
Вопрос для Moscow Python Podcast
Привет! Оставляй свой вопрос анонимно в форме ниже. Ответим на него 13 апреля в прямом эфире Moscow Python Podcast
👍3
Коллеги из Yadro опубликовали небольшой отчёт о том, как прошёл наш мартовский митап - рекомендуем к ознакомлению (а также к поддержке "плюсами" :)) https://habr.com/ru/companies/yadro/articles/727580/
Хабр
Материалы python-митапа: Go для питонистов, syslog и контейнерные рантаймы
Привет, Хабр! Этот пост — отчёт с митапа Moscow Python x YADRO. Мы обсуждали отличия языков Python и Go, подробно разобрали работу с протоколом syslog и почти написали свой Docker....
Forwarded from Хитрый Питон
Так получилось, что в апреле мне понадобилось апдейтить Django в двух проектах - один здоровенный монолит с 3.1 до 3.2 и маленький moscowpython.ru с 1.9 до 4.2. Как ни странно, переход 3.1->3.2 попил больше крови из-за кучи зависимостей и легаси кода, но рассказать я хочу не об этом.
Я хочу рассказать о небольшой библиотечке
Итого — это штука, которая позволяет при обновлении не копаться в ченджлогах, а отдать некоторый кусок рефакторинга пир апдейте автоматике. Рекомендую посмотреть на нее, если вам нужно апгрейдить версию джанги.
Ссылка - https://github.com/adamchainz/django-upgrade
Я хочу рассказать о небольшой библиотечке
django-upgrade, которая оказалось очень полезной при обновлении. Ей нужно указать на какую версию ты хочешь обновиться, после чего она шерстит файлы проекта и заменяет всякие deprecated-штуки на их замену из новых версий - например переписывает использование url() на path() в urlconf-ах, заменяет NullBooleanField() на BooleanField(null=True) и все такое прочее. Полный список того, что она делает можно посмотреть в readme.Итого — это штука, которая позволяет при обновлении не копаться в ченджлогах, а отдать некоторый кусок рефакторинга пир апдейте автоматике. Рекомендую посмотреть на нее, если вам нужно апгрейдить версию джанги.
Ссылка - https://github.com/adamchainz/django-upgrade
GitHub
GitHub - adamchainz/django-upgrade: Automatically upgrade your Django projects.
Automatically upgrade your Django projects. Contribute to adamchainz/django-upgrade development by creating an account on GitHub.
👍8