Moscow Python
1.95K subscribers
118 photos
3 videos
2 files
841 links
Канал Python.ru и Moscow Python. Новости сообщества, события, статьи, интервью.

Чат: @moscowpythonconf
Download Telegram
#НеПереключайтеКанал

Сегодня делимся докладом Никиты Соболева (wemake.services) «Убивай мутантов, спаси свой код»
«У вас настроен супер-стрикт-набор валидаторов кода, обязательная аннотация типов без Any и требования стопроцентного покрытия кода тестами? Вот и у нас тоже да. Но тогда для вас не секрет, что ошибки все равно будут. И никакие тесты вас не спасут. Потому что они плохие.

Плохие? Почему плохие? А потому что вы не тестрируете ваши тесты! Приходите на мой доклад, я научу вас как тестировать тесты и упарываться по их качеству».
https://youtube.com/watch?v=-kQh9WFD74E
#НеПереключайтеКанал
Сегодня в эфире Артём Малышев (Drylabs.io) с докладом «Инструменты domain driven design»

«Сложность бывает неотъемлемой и привнесённой. Из доклада вы узнаете, как организовывать первую и минимизировать вторую. Поговорим о том, как построить свой продукт вокруг решаемой проблемы, а не используемого фреймворка. Узнаем, в каком месте лучше вводить typing и dataclasses. Рассмотрим, где нам пригодится контрактное программирование и pydantic. Попробуем библиотеки из проекта dry-python. И, конечно, не обойдётся без тестов. Только практика. Никаких UML-схем и абстрактных фабрик фасадов».
https://youtube.com/watch?v=8mZUZs6RBf4
На Moscow Python Conf++ 27 марта в центре Москвы будет: 3 потока докладов, поток воркшопов и митапов, 4 Core-разработчика (тут мы считаем и заведующего разработкой Pytest и Hypothesis), 6 зарубежных спикеров с нетривиальным опытом, доклады от Microsoft, Wargaming, JetBrains, Parallels, EPAM, Booking.com, Tinkoff и других не менее интересных компаний.

Григорий Петров лично проверил, что в расписании нет ни одной проходной темы, и рассказывает о спикерах в статье на Хабре:
https://habr.com/ru/company/oleg-bunin/blog/488006/
#НеПереключайтеКанал
Сегодня выкладываем доклад Дмитрия Климинского (Авито) «Цены на Avito: как мы управляем миллиардом значений»
«Все цены на Avito выбираются программно: у нас есть команда аналитиков с Machine Learning, множество одновременных экспериментов и миллиард цен на разные услуги в разных городах. В докладе я расскажу про нашу инфраструктуру на Python, как мы работаем с данными, общаемся с аналитиками, отдаем цены для Frontend и быстро ищем нужные значения».
https://youtube.com/watch?v=InYjlYCYNx8
#НеПереключайтеКанал
Сегодня выкладываем доклад Анны Мошкиной (Iponweb) «Как создать десять приложений из одного и не сойти с ума»

«Иногда мечта программиста сбывается, и можно раз за разом создавать одно и то же приложение с небольшими отличиями в логике работы и интерфейсе. А дальше все, как в фильмах ужасов: багфиксы и новые фичи должны применяться ко всем ранее созданным приложениям. И никаких миграций для баз данных!

В докладе я расскажу, как мы делаем такие штуки, динамически создаем приложения по JSON-описанию, используем "пластилиновую" архитектуру базы данных и тестируем одновременно наше "ядро" и десятки созданных приложений. И все это - на базе Django, PostgreSQL и Angular».
https://youtube.com/watch?v=4cq0n14AbnQ
#НеПереключайтеКанал

Сегодня выкладываем доклад Вадима Гончарова и Арсения Габдуллина (Тинькофф) «Эволюция Тинькофф Журнала»

«Мы в Тинькофф стараемся экспериментировать с разными штуками и развивать то, что «взлетело». Так, четыре года назад родился Тинькофф-журнал: эксперимент про обучение людей финансовой грамотности. Эксперимент успешный, и за годы мы эволюционировали проект от простого блога на Wordpress до Django-комбайна с быстрым фронтендом на ReactJS.

Доклад будет про эволюцию: как безболезненно для бизнеса «на лету» менять технологии с сохранением пользовательского опыта, чем Django лучше готовых решений, нужно ли добавлять к ней ReactJS-фронтенд и зачем».
https://youtube.com/watch?v=mUdHD8rP4Yo
#НеПереключайтеКанал
Сегодня делимся докладом Кирилла Дунаева (Яндекс) «Как мы в Яндексе следим за производительностью веб-приложений»
«Большинство разработчиков собирают логи своих приложений. Обращения к базе данных, HTTP-запросы и ответы API, задачи Celery. Логи полезны: там видны пятисотки от внешних сервисов, проседания производительности и неожиданно возросшее время ответа после деплоя в пятницу вечером.

За годы работы с Django-приложениями мы в Яндекс заметили, что разные приложения пишут в лог примерно одно и то же. А мы, разработчики, не любим писать один и тот же код!

В докладе я расскажу про нашу внутреннюю библиотеку, которая автоматически подключается к нашим Django-приложениям и сама собирает множество логов, включая работы с ORM и HTTP-запросами. Кроме логов, я расскажу про нашу культуру работы с ними: кросс-дежурства, примеры "плохих" и "хороших" графиков, на что мы обращаем внимание, а что лучше игнорировать».
https://youtube.com/watch?v=Gf4okDx44W0
Выложили материалы с 72-го митапа, который прошёл 30-го января в Kaspersky.
Напомню, что на митапе прозвучали доклады:
- C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ (Павел Филонов, Kaspersky)
- NLP cookbook: анализируем тексты на Python с минимальными знаниями о машинном обучении (Пётр Ермаков, Lamoda / Datagym)
- Django в стартапе: от 0 до 150 000 строк кода, не жертвуя качеством (Фёдор Борщёв, ГдеМатериал)
Видео доступны на нашем канале: https://www.youtube.com/playlist?list=PLv_zOGKKxVpgnRTLQEmYmOfXjHTyVad0a
Слайды - на нашем сайте: http://www.moscowpython.ru/meetup/72/
#НеПереключайтеКанал

Сегодня в эфире доклад Олега Ермакова (ЦИАН) «Как мы делаем предсказуемо хорошие микросервисы»

«Мы в ЦИАН любим микросервисы: на C#, на JS и, конечно же, на Python. Когда создаешь микросервис в 50-й раз, уже видишь повторяющиеся шаги и примерно представляешь себе "минимальный джентльменский набор" того, что должно быть внутри.

Как программисты мы любим автоматизировать повторяющиеся задачи, и создали у себя небольшую фабрику по созданию микросервисов.

В докладе расскажу о нашем подходе к созданию микросервисов:
- генерацию базового шаблона;
- покажу, что скрывается в недрах каждого сервиса: нашу библиотеку "cian-core";
- о подходе к взаимодействию между сервисами, включая походы в базы данных;
- о логах и трассировке запросов;
- о том как конфигурируем, деплоим и мониторим микросервисы в продакшне».
https://youtube.com/watch?v=qv-l1oxZFmM
#НеПереключайтеКанал
Сегодня выкладываем доклад Ильи Лебедева (Bestsoctor.ru) «Как варить вкусный статический анализ кода»

«У вас настроен супер-стрикт-набор валидаторов кода, обязательная аннотация типов без Any и требования стопроцентного покрытия кода тестами? У меня тоже нет. Это не потому, что мы с вами бесполезные и непрофессиональные разработчики, а потому что надо дело делать, а не типы вылизывать.

В докладе я расскажу, как придумать и внедрить систему статического анализа, которая совмещает плюсы со всех сторон: позволяет релизить фичи быстрее, код делает лучше, а разработчиков дружнее. Покажу пару примеров и расскажу про свой опыт».
https://youtube.com/watch?v=Riylu4HngfI
#НеПереключайтеКанал

Сегодня делимся видео доклада «Async и await в production» Сергея Борисова (ДомКлик)

«В "Домклик" больше 50 Python-разработчиков, и мы используем асинхронное программирование с самого начала наших проектов. Польза от корутин с async и await огромна, но вместе с этой пользой приходят специфические сложности. Неожиданно для разработчиков течет память, не ловятся исключения, а доступные "асинхронные" библиотеки для типовых задач часто очень сырые.

В докладе я расскажу про наш опыт написания асинхронного кода, и как мы решаем возникающие трудности, начиная от отладки и заканчивая выбором тех или иных библиотек».
https://youtube.com/watch?v=6pjuJSvt2to
Moscow Python Conf++, считай, через месяц. У Программного комитета всё готово, а работа организаторов мероприятия и спикеров в самом разгаре. Пора подключаться и участникам!

Начнем подробно изучать расписание с доклада-введения — «Introduction to low-level profiling and tracing».

🗂 Christian Heimes — Core-разработчик CPython, член Python security team и Python Software Foundation, работает в Red Hat и специализируется на профилировании и ускорении Python-кода.
📆 27 марта в 16:00 в зале 3 Кристиан расскажет, как понять, почему код тормозит и что с этим делать.

📌 NB: Этот доклад отлично дополнит воркшоп Алексея Романова из Wargaming.
#НеПереключайтеКанал

Сегодня делимся докладом Владимира Пузакова (Rambler&Co) «Разработка плагинов к mypy»

«Mypy помогает нам писать качественный код. Но не со всеми ситуациями он может справиться в одиночку. Для решения этой проблемы в mypy есть плагины. В данном докладе будет рассказано о ситуациях, в которых их нужно писать. Я покажу, как писать свой плагин для решения этих проблем, какие инструменты есть в mypy для этого, и как тестировать свой плагин».
https://youtube.com/watch?v=l7hDWA5uC0A
🗂Андрей Светлов — Python Core Developer, разработчик asyncio и автор aiohttp.

🗓 Доклад Андрея традиционно посвящен асинхронности и называется «Многопоточность и async/await: подход разный, проблемы общие». Проблемы современных разработчиков с использованием асинхронного подхода далеко не новы. Копнув немного вглубь истории разработки, узнаем, как похожие проблемы решались 10, 20 лет назад, и попробуем понять, как с ними удобнее всего справляться сейчас.
#НеПереключайтеКанал

Сегодня выкладываем доклад Николая Фоминых (S7) «Делаем Dashboard для авиакомпании: Dash и не только».

«У нас в S7 много разных данных, например, мы собираем параметры наших самолетов и определяем лучшее время для техосмотра. Данные сложные, их много, показывать надо разным людям с разными целями. На ум сразу приходят Grafana и Dash, но действительно ли это лучшие решения?

Мы проанализировали много решений, и в докладе я расскажу об их сильных и слабых сторонах, а также области применения. Больше всего достанется нашему любимому Dash: пытаясь сделать на нем все, что нужно, мы набили все возможные шишки. И теперь хотим делиться!»
https://youtube.com/watch?v=mzIB5zxn6kg
Кирилл Борисов в прошлом году рассказывал о работе с legacy-кодом и попытках внедрить в него тесты. Читайте в статье по следам того выступления, как укрощать зверя, то есть legacy-код: работать с кодом и людьми, внедрять тестирование, и зачем вообще это нужно разработчику.

А 27 марта Кирилл расскажет о технической стороне рефакторинга кода с Python 2 на Python 3. Что может быть актуальнее, да еще если подкреплено опытом такой крупной компании как Booking.com!
#НеПереключайтеКанал

Сегодня делимся докладом Никиты Левоновича (Квестоделы) «Micropython для квестов в реальности и аркадных игр»

«Квестоделы применяют Micropython для разработки квестов в реальности последнего поколения и аркадных игр.

Современный квеструм - это около 15 электронно-вычислительных устройств, общающихся по сети (MQTT). Большинство из этих ЭВУ - микроконтроллеры (ESP32), которые управляют периферийными устройствами: mp3-плееры, реле и различные датчики, и используют устройства ввода-вывода: дисплеи, диоды, кнопки, клавиатуры и многие другие.

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

Доклад будет посвящен формированию архитектуры, используемой командой КВЕСТОДЕЛЫ для решения подобных задач на micropython применительно к популярным микроконтроллерам от Espressif Systems».
https://youtube.com/watch?v=1Vtgikz8ZyY
Мы так и не определились, считать ли Python Core-разработчиком заведующего разработкой Pytest и Hypothesis, помогите нам 🤔

В любом случаем, ждём доклад «Sufficiently Advanced Testing» с нетерпением.

🗂 Zac Hatfield-Dodds — Core-разработчик библиотеки для написания unit-тестов и мэйнтейнер Pytest. В ходе доклада Зак поделится своим мнением о современном тестировании и обсудит с гостями конференции их вопросы.
#НеПереключайтеКанал

Сегодня у нас доклад Benjamin Peterson (Dropbox) «Python Governance»

«Last summer, Guido van Rossum retired as BDFL of Python. Consequently, the CPython project has had to adopt a new governance model. This talk will cover the history of the Python project, how the new CPython governance model was selected, and what the future might hold for CPython and the Python language».

https://youtube.com/watch?v=CuhBzwYBdII
Шесть спикеров Moscow Python Conf++ сделают доклады на английском. Мы сгруппировали их в один поток в третьем зале (и пометили «en» в расписании). Синхронного перевода не будет — мы пробовали, получается плохо — поэтому если считаете, что это помешает получить максимум пользы, выбирайте другие выступления. Для этого у нас четыре параллельных трека.

🗂 Nicola Iarocci — автор большого количества популярных библиотек и создатель REST-фреймворка Eve.

🗓 Свой доклад Николя посвятит фреймворку для валидации данных Cerberus. С вопросами валидации данных рано или поздно сталкивается каждый проект, поэтому настоятельно рекомендуем.