Moscow Python
1.4K subscribers
75 photos
2 videos
1 file
661 links
Канал Python.ru и Moscow Python. Новости сообщества, события, статьи, интервью.

Чат: @moscowpythonconf
Download Telegram
Forwarded from Elena Mogilnikova
Code Retreat — выездной лагерь в Черногории для разработчиков, которым нужна перезагрузка!
Утром: хайкинг и потрясающие виды. После обеда: актуальное и полезное обучение. После заката: новые друзья и посиделки у костра.
Смена для питонистов: Python со звездочкой 7 - 11 апреля, ведущий Алексей Пирогов.
Присоединяйтесь!
https://coderetreat.me/python
Forwarded from Хитрый Питон
Недавно у меня возникла рабочая задача поревьюить кодовую базу - не очень большую, но и не микросервис - порядка 16 тысяч строк. И по результатам мне нужно было сформулировать свои рекомендации и как-то их аргументировать. И вот я понимаю, что во многих местах код переусложнен, но нужно это как-то аргументировать.

И вот тут мне прямо хорошо зашла тула https://github.com/rohaquinlop/complexipy - это штука для оценки cognitive complexity (можно почитать тут https://habr.com/ru/articles/565652/).

На самом деле есть разные тулы для этого, но complexipy мне понравился скоростью, довольно гибкими настройками и в хорошем смысле замороченностью автора, который пошел за ревью к G. Ann Campbell, которая собственно основной автор методики.
Конечно, у любой методики оценки качества кода есть свои минусы, но чем мне нравится этот конкретный вариант - он хорошо показывает куда смотреть и где скорее всего код требует рефакторинга.
Forwarded from Елизавета Грейм
Всем привет!
Наш подкаст теперь будет выходить по четвергам, поэтому 21 марта в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast со Станиславом Змиевым, Tech Lead of Platform Engineering в Monite и обсудим:
🟡что такое API-First компании и почему они становятся популярными;
🟡как проектировать хорошее API;
🟡что такое API Версионирование и как его правильно готовить.

➡️Когда: 21 марта в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.

🟡Станислав уже записывал с нами выпуск про pathlib.Path.walk, запись можете посмотреть по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Напоминаем, что уже в этот четверг в Сбере состоится наш митап

Нас ожидает 3 доклада:
- Алексей Жиряков (онлайн-кинотеатр KION, TechLead Backend команды витрины). Доверяй, но проверяй: как KION обрабатывает свыше 200М продуктовых событий в сутки.
- Евгений Блинов (VK, Руководитель команды). Токены отмены как паттерн и как библиотека cantok
- Павел Мамаев (Сбер, Ведущий инженер по разработке). Классификация запросов клиентов. Дёшево и сердито

Читайте подробности и регистрируйтесь тут: https://moscowdjango.timepad.ru/event/2800097/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Сбер и Learn Python.

ВАЖНО: Регистрация на митап закроется завтра, так что успевайте регистрироваться. :)

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Forwarded from Хитрый Питон
Мы у себя в компании начали аккуратно переходить на новый менеджер пакетов 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 секунды (!!!)

В общем я очень доволен результатом и рекомендую как минимум посмотреть на эту тулзу.
Forwarded from Елизавета Грейм
Всем привет!
Сегодня, 21 марта в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast со Станиславом Змиевым, Tech Lead of Platform Engineering в Monite и обсудим:
🟡что такое API-First компании и почему они становятся популярными;
🟡как проектировать хорошее API;
🟡что такое API Версионирование и как его правильно готовить.

➡️Когда: 21 марта в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!

Скоро начинаем наш митап.

Просьба гостям митапа не забывать паспорта.
Для тех, кто не смог попасть на встречу доступна трансляция на MoscowPython.ru.
Forwarded from Хитрый Питон
Любопытная статья от Lyft о том, как они полуавтоматически апгрейдят python в 1500+ внутренних репозиториях. Было интересно посмотреть, как они подходят к этому, прямо скажем, непростому вопросу. https://eng.lyft.com/python-upgrade-playbook-1479145d52f4
Напоминаем, что до конца месяца можно зарегистрироваться на курс Learn Python Advanced cо скидкой.

Напомню, что на курсе вас ждёт:

10 недель интенсивной работы
4 трека: практика программирования, инфраструктура, автотесты и работа с Django
Классные кураторы с кучей боевого опыта
Знакомый вам формат обучения: небольшие группы, кураторы, ревью, много практики
2 общих созвона в неделю по вторникам и субботам (с возможностью посмотреть запись)

Курс стартует 18-го мая. В настоящий момент на курс принимается всего 25 человек.

Регистрация доступна на https://learn.python.ru/advanced
Forwarded from Елизавета Грейм
Привет! В этот четверг, 4 апреля в 14:00 (по МСК) встретимся в прямом эфире Moscow Python Podcast и обсудим самые интересные новости марта.

Смотреть прямой эфир можно прямо в YouTube по ссылке.
26-го апреля мы встречаемся в ивент-пространстве "Весна" на 90-м митапе MoscowPython, который проходит при поддержке компании "Самолет".

Нас ожидает 3 доклада:
- Алексей Жиряков (онлайн-кинотеатр KION, TechLead Backend команды витрины). Remote Config и АБ-эксперименты
- Александр Ковалев (IVA Technologies, руководитель группы разработки бизнес логики). SPA без скриптизеров =)
- Антон Ершов (Самолет, руководитель функции бэкенд 10D). SAGA: Координации в мире микросервисов

Читайте подробности и регистрируйтесь тут: https://moscowdjango.timepad.ru/event/2839912/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Самолета и Learn Python.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Forwarded from Хитрый Питон
Я думаю, что многие python-разработчики хотя бы раз в жизни слышали про то, что использование встроенного модуля pickle может быть небезопасным. Но кажется далеко не все знают, в чем заключается "небезопасность". Хорошая статья на lwn, где высокоуровнево разбирается то, как работает pickle и приводятся примеры, как с помощью него вам могут сделать больно.
tl;dr - скачивать веса ml-моделек в pickle-формате - плохая идея. Подробнее тут - https://lwn.net/Articles/964392/
Forwarded from Елизавета Грейм
Всем привет!
Завтра, в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast и обсудим:
🟡релиз ruff 0.3.0
🟡style czar или попытка привести языки к одному стилю
🟡Gemini Pro объявила кеширование «риском безопасности»
🟡Cloudflare запустили поддержку python в cloud-workers-ах
🟡как за год изменилось состояние Web Assembly в Python

➡️Когда: 4 апреля в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
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

буду рад обратной связи!
в ближайших планах:
- починить звук и свет
- избавиться от слова "интересный" в описании примерно всего
- сделать много новых видео по разным темам
А ещё напоминаем, что продолжается регистрация на наш 90-й митап, который состоится 26-го апреля.

Нас ожидает 3 доклада:
- Алексей Жиряков (онлайн-кинотеатр KION, TechLead Backend команды витрины). Remote Config и АБ-эксперименты
- Александр Ковалев (IVA Technologies, руководитель группы разработки бизнес логики). SPA без скриптизеров =)
- Антон Ершов (Самолет, руководитель функции бэкенд 10D). SAGA: Координации в мире микросервисов

Читайте подробности и регистрируйтесь тут: https://moscowdjango.timepad.ru/event/2839912/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Самолета и Learn Python.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Forwarded from Хитрый Питон
Я всегда был сторонником обучения на практических задачах и сам не люблю при изучении новых языков/фреймворков/библиотек решать синтетические задачки. Поэтому мне понравился подход ребят из https://codecrafters.io/ - "напишите Redis, Git или Docker своими руками". Я некоторое время мариновал этот сайт в закладках, но тут во время отпуска решил попробовать.

Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу

У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для go, с которым я знаком поверхностно - мне было очень интересно посмотреть на разные подходы к решению одной и той-же задачи и что-то утащить себе в копилочку
- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного

В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.
Forwarded from Grigory Petrov
🚀 Python Митап: Django VS Litestar, Токены отмены, Liveconfigs и многое другое!

Модератор — Григорий Петров, Devrel Evrone
Эксперт - Никита Соболев, независимый open-source разработчик

🔥 Темы и спикеры:

✔️ Django VS Litestar: кто круче? — Александр Гончаров, Reef Technologies

Рассмотрим относительно новый фреймворк Litestar и сравним его с гигантом Django, чтобы понять, что в новинке круто, а чего не хватает

✔️ Токены отмены: паттерн и тулинг — Евгений Блинов, VK

Узнайте о токенах отмены, элегантном способе описания ограничений в коде и их отмене извне для улучшения тестируемости и читаемости.

✔️ Управляем кодом из админки с помощью Liveconfigs — Денис Дудник, Factory5

Погрузитесь в мир кастомных настроек алгоритмов и бизнес-правил в Django-проектах. Узнайте о django-liveconfigs и его преимуществах перед классическими подходами.

✔️ Доверяй, но проверяй — Алексей Жиряков, KION

Данные основа современного мира, на них обучаются нейросети и другой МЛ, через их призму видят пользователя в продукте, принимают решения по внедрению и поддержке фич, выбирают направления развития.



🗓 24 апреля, начало в 19:00 мск, Среда

🌐 ОНЛАЙН

Регистрация на мероприятие
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Егор Погорелко
Коллеги, всем доброго дня!

22 апреля в МГТУ им. Н.Э. Баумана💛 состоится четвертый тематический день "Интерпретаторы" уникального цикла лекций "Школа фундаментальных технологий разработки безопасного ПО".

Программа дня:

🔵с 14:00 до 16:00 Александр Дроздов, инженер по РБПО и информационной безопасности «Axiom JDK» выступит с лекций "Java VM - внутренний мир виртуальной машины, проблемы JIT компиляции и сборки мусора, организация процесса безопасной разработки ПО"

🔵с 16:00 до 16:30 кофе-брейк

🔵с 16:30 до 18:30 Никита Соболев, независимый open-source разработчик выступит с лекций "Python - история создания, основные идеи и механизмы"

Всего же "Школа фундаментальных технологий РБПО" объединяет 12 лекций (по две в день), зарегистрироваться и ознакомиться с полной программой и спикерами курса можно на сайте и в телеграм-боте✈️.

🗓 Когда? 22.04 (понедельник) с 14:00 до 18:30
📍 Где? Читальный зал МГТУ им. Н.Э. Баумана (Главный учебный корпус, ауд. 345), 2-я Бауманская улица, 5с3

‼️Регистрация для участия необходима!
Please open Telegram to view this post
VIEW IN TELEGRAM
Регистрация на митап, который состоится 26-го апреля, закрывается уже завтра - успевайте регистрироваться!

Напомним, что нас ожидает 3 доклада:
- Алексей Жиряков (онлайн-кинотеатр KION, TechLead Backend команды витрины). Remote Config и АБ-эксперименты
- Александр Ковалев (IVA Technologies, руководитель группы разработки бизнес логики). SPA без скриптизеров =)
- Антон Ершов (Самолет, руководитель функции бэкенд 10D). SAGA: Координации в мире микросервисов

Читайте подробности и регистрируйтесь тут: https://moscowdjango.timepad.ru/event/2839912/

Онлайн-трансляция пройдёт на https://moscowpython.ru

Митап проходит при поддержке Geekfactor.io, Evrone, Самолета и Learn Python.

Заявки на доклады на следующих митапах подавайте на https://bit.ly/mp-speaker
Короткое напоминание, что через пару часов закроется регистрация на наш 90-й митап.
Успевайте зарегистрироваться, если хотите прийти: https://moscowdjango.timepad.ru/event/2839912/