Рубрика «Moscow Python Conf++» - 2

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

Проблемы исключений

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

Исключения трудно заметить

Существует два типа исключений: «явные» создаются при помощи вызова raise прямо в коде, который вы читаете; «скрытые» запрятаны в используемых функциях, классах, методах.

Проблема в том, что «скрытые» исключения и правда трудно заметить. Покажу на примере чистой функции:

def divide(first: float, second: float) -> float:
    return first / second

Функция просто делит одно число на другое, возвращая float. Типы проверены и можно запустить что-то такое:  

result = divide(1, 0)
print('x / y = ', result)

Заметили? На самом деле до print исполнение программы никогда не дойдет, потому что деление 1 на 0 – невозможная операция, она вызовет ZeroDivisionError. Да, такой код безопасен с точки зрения типов, но его все равно нельзя использовать.
Читать полностью »

Original english version of this article is here.

Это название доклада Alex Viscreanu на Moscow Python Conf ++. До выступления еще две недели, но я, конечно, уже обо всем расспросил Алекса и под катом поделюсь спойлерами и бэкстейджем подготовки доклада: что это за опенсорсный Зоопарк такой, что он делает с нашим Python кодом и чем отличается от mypy сотоварищи.

— Расскажи немного о Kiwi, чем ты занимаешься в компании?

Kiwi.com — онлайн турагентство с секретным соусом. Компания основана в Чехии в 2012 под названием Skypicker, а в 2016 сервис сменил название и переехал на Kiwi.com. Сейчас Kiwi.com в пятерке крупнейших агрегаторов авиабилетов в Европе.

Классная фича Kiwi.com для пользователей в том, что мы находим варианты стыковок для рейсов авиакомпаний, которые обычно не работают вместе, и берем на себя решение всевозможных проблем при стыковке.

Чтобы вы оценили наши масштабы, вот цифры о Kiwi.com: 90 000 000+ ежедневных поисков, 25 000 ежедневно продаваемых мест и более 15 000 000 000 доступных комбинаций рейсов.

Читать полностью »

Если по докладу Артёма Малышева (proofit404) будут снимать фильм, то режиссером выступит Квентин Тарантино — один фильм про Django он уже снял, снимет и второй. Все подробности из жизни внутренних механизмов Django от первого байта HTTP-запроса до последнего байта ответа. Феерия работы парсер-форм, остросюжетная компиляция SQL, спецэффекты реализации шаблонизатора для HTML. Кем и как управляется connection pool? Всё это в хронологическом порядке обработки WSGI-объектов. На всех экранах страны — расшифровка «Django under microscope».

Django under microscope - 1

О спикере: Артём Малышев — основатель проекта Dry Python и Core-разработчик Django Channels версии 1.0. Пишет на Python 5 лет, помогал организовывать митапы «Rannts» по Python в Нижнем Новгороде. Артём может быть знаком вам под ником PROOFIT404. Презентация к докладу хранится здесь.
Читать полностью »

Мы в «Python Junior подкаст» — подкасте для тех, кто хочет лучше разбираться в Python — стараемся всячески способствовать стремлению учиться. Приглашаем экспертов, задаем каверзные вопросы, получаем советы, чему и как учиться начинающему Python-разработчику, или не начинающему, или не Python — всякое бывает.

Сегодня вашему вниманию предлагается текстовая версия нашей беседы с Арсением Габдуллиным, разработчиком Тинькофф-журнала, на тему его будущего доклада на Moscow Python Conf++, но без спойлеров.

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

В беседе участвуют:

  • Григорий Петров, евангелист MoscowPython, руководитель программного комитета Moscow Python Conf ++;
  • Арсений Габдуллин, разработчик Тинькофф-журнала, докладчик MoscowPython Conf++;
  • Злата Обуховская, тимлид Nvidia, евангелист MoscowPython, член программного комитета Moscow Python Conf++;
  • Валентин Домбровский, соорганизатор и сооснователь MoscowPython,

Валентин Домбровский: Арсений, твой доклад без спойлеров — о чем ты нам расскажешь на конференции?
Читать полностью »

В этом посте — расшифровка с избранными моментами из выпуска Python Junior Podcast, записанного на конференции Moscow Python Conf++: поговорили о методиках преподавания Python и о том, нужны ли вообще курсы по программированию.

«Начинайте с митапов», или Нужны ли вообще курсы по программированию - 1
Читать полностью »

Все мы пишем код. Много кода. Само собой, бывают ошибки. Иногда это просто кривой код, а иногда цена ошибки — взорванный космический корабль. Конечно, никто не делает намеренных косяков, все в меру возможностей стараются следить за качеством, но без инструментов статического анализа вряд ли можно быть уверенным, что всё идеально.

Линтеры помогают приводить код к единому стилю и избегать ошибок. Правда, только в том случае, если вы готовы к страданиям, а не отмахиваетесь в конце концов «pylint: disable», только чтобы оно отстало. Какой должен быть линтер, и почему таки не обойтись Pylint, знает Никита Соболев (sobolevn), который понимает и любит линтеры настолько, что даже свою компанию назвал так, чтобы их не расстраивать — wemake.services.

image

Ниже текстовая версия доклада на Moscow Python Conf++ про линтеры, как их делать правильно и как не нужно. В выступлении было много интерактива, онлайна и общения с аудиторией. Спикер по ходу дела проводил опросы и старался переубедить слушателей: смотрел на тренд, и как в дебатах, пытался выровнять соотношение и поменять общественное мнение. Какая-то часть с опросами попала в расшифровку, но не вся, поэтому для полноты картины прилагается видео.
Читать полностью »

Вам сюда, если хотите знать, как приручить широкоизвестный в кругах Python-разработчиков фреймворк под названием Сelery. И даже, если в вашем проекте Celery уверенно выполняет базовые команды, то финтех опыт может открыть вам неизведанные стороны. Потому что финтех — это всегда Big Data, а с ней и необходимость фоновых задач, пакетной обработки, асинхронного API и т.д.
50 оттенков Celery - 1

Прелесть рассказа Олега Чуркина про Celery на Moscow Python Conf ++ помимо подробных инструкций, как настроить Celery под нагрузку и как его мониторить, в том, что можно позаимствовать полезные наработки.

О спикере и проекте: Олег Чуркин (Bahusss) 8 лет разрабатывает Python-проекты разной сложности, работал в многих известных компаниях: Яндексе, Рамблере, РБК, Лаборатории Касперского. Сейчас техлид в финтех-старапе StatusMoney.
Читать полностью »

Почему Kafka? Каковы общие впечатления? Каков состав кластеров? Под катом — дюжина коротких вопросов для Левона Авакяна, отвечающего в Wargaming за надежность, архитектуру приложений, инфраструктуру и продакшн.

Kafka в Wargaming: блицопрос - 1
Читать полностью »

В преддверии нашей Moscow Python Conf++ мы кратко поговорили с Олегом Чуркиным, техлидом финтех-стартапа, о его обширном опыте работы с Celery: полмиллионе фоновых задачах, багах и тестировании.

Celery в нагруженных проектах: немного практики - 1
Читать полностью »

Собрались мы с Олегом Буниным (olegbunin) и Валентином Домбровским поговорить про то, как к осени вместе подготовим классную конференцию про Python, и записали видео.

Под катом наша беседа в текстовом виде. В частности, ответ на самый главный вопрос, зачем вообще нужны конференции. И хочу заметить, не для того, чтобы чему-нибудь научиться – учатся сейчас в интернете (например на Хабре :).

Мы немного поговорили о трендах в экосистеме Python, о темах будущей конференции и организационных фишках. Кстати, обсуждение тем открытое, и каждый может предложить нам позвать конкретного спикера или подсказать направление. Посмотрите, что у нас уже есть, и включайтесь.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js