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

Чат: @moscowpythonconf
Download Telegram
Компании Drylabs.io и Фабрика информационных технологий представляют Белгородский Python Meetup.
В программе доклады:
- Валентин Домбровский (сооснователь Drylabs и MoscowPython). Как мы учим разработчиков на примерах курсов Learn Python и Drylabs
- Артём Малышев (CTO и сооснователь Drylabs). Domain Driven Design Toolkit
- Никита Соболев (CTO wemake.services). Метрики сложности кода: как сделать просто и хорошо

Мероприятие состоится 8-го февраля по адресу г. Белгород, ул. Королёва, д. 2а. Начало - в 11 часов утра.
Бесплатная регистрация - по ссылке https://bel.cultreg.ru/events/26097/vstrecha-python-meetup

Онлайн-трансляция будет доступна на странице https://vk.com/fabit_ru
Не переключайте канал!
Мы долго думали, как нам лучше открыть видео с Moscow Python Conf 2019 и таки придумали.
Начиная со следующего понедельника на Ютуб-канале MoscowPython - https://www.youtube.com/channel/UC-OVMPlMA3-YCIeg4z5z23A будет появляться по одному видео доклада (всего их 24).
Разумеется, также там продолжат появляться наши подкасты. видео с последнего митапа и кое-что ещё, о чём вы узнаете чуть позже.
Так что подписывайтесь на наш канал - там говорят про Python!
#НеПереключайтеКанал
Запускаем акцию #НеПереключайтеКанал - каждый рабочий день в течение февраля (и немножко марта) мы будем выкладывать по одному видео доклада с Moscow Python Conf 2019.
И первый доклад "Как развивался Python в Яндекс / Александр Кошелев (Яндекс)"
"12 лет назад начался эксперимент по использованию Python в серьезных продуктах компании. Эксперимент получился удачным (кто бы сомневался!) и Python начал свое победное поползновение по сервисам компании. Яндекс.Афиша, Яндекс.Погода - через некоторое время сервисов стало очень много, и вместе с ними начали появляться "лучшие практики" и "устоявшиеся подходы" к решению разных задач".
https://www.youtube.com/watch?v=_5XVRRdDSn8
Продолжаем акцию #НеПереключайтеКанал
На очереди доклад Виталия Левченко «Go vs. Python»
« Go — волшебное слово, решение всех проблем продакшна разом и одновременно негодная технология без эксепшнов. Истина посередине, поэтому поговорим о конкретных примерах:
• asyncio vs горутины;
• производительность узких мест;
• лаконичность vs простота кода;
• порог входа;
• тулинг и паттерны поиска проблем и оптимизации производительности;
• обслуживание в продакшне.

В качестве бонуса простой кейс, где внедрение Go сразу дало 10-кратный выигрыш производительности».
https://youtube.com/watch?v=a8oEETIRpCk
#НеПереключайтеКанал
Сегодня в рубрике доклад Максима Лапшина (Erlyvideo) «Elixir как цель развития для python async».

https://youtube.com/watch?v=SyThlZhuUBQ
«Питон длительное время существует в контексте других языков программирования и впитывает концепции из соседних окружений.

Tornado был скопирован с libevent. Asyncio тоже был позаимствован.

Я хочу рассказать о существующем рядом наборе концепций параллельных вычислений, чтобы программисты на питоне, которые по какой-то причине о них не знают, были готовы и знали, куда двигается прогресс.

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

Сегодня концепции, которые легли в основу платформы erlang почти 30 лет назад в том или в ином виде находят своё проявление в системах типа http://seastar.io/

Хочу рассказать о том, в каком направлении вынуждена развиваться система, которая продолжает мигрировать от простого линейного кода к libevent и дальше».
Channel photo updated
«Темные силы не дремлют. Они пробираются в дивное королевство Python и используют черную магию, чтобы осквернить главную реликвию — чистый код. Однако опасны не только злые чары.

Сегодня я расскажу о страшных чудовищах, которые, возможно, уже обжились в вашем коде и готовы устанавливать свои правила. Здесь нужен герой, который защитит безмятежный мир от злобных тварей. И именно вы станете тем, кто сразится с ними!»
https://habr.com/ru/company/oleg-bunin/blog/485960/
#НеПереключайтеКанал
Сегодня выкладываем доклад Вадима Пономарёва (Jexia) «OpenStack - Python-проект в 12 миллионов строк»
«Доклад будет состоять из 6-ти частей.

Историческая справка: что это за проект, когда был основан проект и зачем, кем разрабатывалась первая версия, кто занимается им сейчас.

Как устроен: карта всего проекта в целом, микросервисная архитектура проекта, кем и зачем используется в настоящее время.

Размер проекта и комьюнити: количество проектов, количество репозиториев, количество строк в цифрах, сервис для сбора статистики комьюнити, какие компании участвуют в разработке.

Как ведется разработка: workflow проекта, используемые инструменты, выпуск релизов, управление зависимостями, как выполняется codereview и сколько в целом уделяется этому внимания. Кратко о документации проекта и сколько ей уделяется внимания. Об отдельном проекте для разворачивания среды разработки devstack.

Библиотеки и собственные решения OpenStack (проекты OSLO): о самых интересных библиотеках, написанных комьюнити OpenStack, какие проблемы решали, и что в итоге получилось».
https://youtube.com/watch?v=coD5f4ALGug
#НеПереключайтеКанал
Сегодня выкладываем доклад Алексея Фирсова (ADV) «История aiopg»
«Почему появилась библиотека aiopg, какие были совершены ошибки (только мое мнение)? Разберемся, что это. ORM? Драйвер? Может быть, все вместе? Может, это что-то другое? Попробуем сравнить aiopg vs asyncpg».
https://youtube.com/watch?v=i1IVcaN2Z-A
#НеПереключайтеКанал

Следующий доклад - выступление Кирилла Борисова (Booking) «Укрощая зверя: legacy-код, тесты и вы»

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

В этом докладе с вами поделятся выжимкой более чем 10-летного опыта работы со старым кодом, попытками внедрить в него тесты и не сойти с ума.

О чем вы узнаете:
* как начать разговор с вашим начальством и не быть осмеянным;
* возможные векторы атаки на "логово зверя";
* какие грабли могут поджидать ступивших на этот путь;
* всякие мелочи, которые вам пригодятся (или нет)».
https://youtube.com/watch?v=qn5fCeZ9MAs
#НеПереключайтеКанал

Сегодня делимся докладом Никиты Соболева (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