Компания
65,61
рейтинг
18 ноября 2013 в 13:26

Разработка → Видео октябрьских докладов Python Meetup tutorial

image

В последнюю пятницу октября в Минске традиционно прошел Python Meetup, на котором вприкуску с бургерами были зачитаны три доклада от спецов из компаний Viber, Melesta и Wargaming.net. На этот раз прошлись по недостаткам Python, разобрались на примере, с какими проблемами можно столкнуться при портировании на Python, а также рассмотрели все этапы разработки серверов на Python для социальных игр. Все видео, а также ссылки на презентации можно найти чуть ниже.


1. Портируем на Python 3, Никита Гришко, Wargaming.net | COOO «Гейм Стрим»


Почему стоит все чаще задумываться о поддержке Python 3, и с какими проблемами можно столкнуться при портировании. Рассмотрим на примерах из Sentry как добавить поддержку Python 3 с использованием 2to3, tox и six.

2. Социальный игровой сервер на Python: от первого коммита до продакшена, Алексей Романов, Melesta


Важными потребностями современного человека являются: общение с другими людьми и игры. На стыке двух этих потребностей и возникли различные игровые приложения в социальных сетях. Обычно такие приложения требуют наличия серверной стороны, способной справляться с высокими нагрузками. В данном докладе Алексей делится опытом разработки серверов на Python для социальных игр, начиная от этапа разработки дизайнерского документа и заканчивая выпуском игры в продакшн и её дальнейшей поддержкой.

3. Недостатки Python, Кирилл Лашкевич notorca, Viber


В докладе раскрыты слабые места Python, проблемы с GC, функциональным стилем, реализацией стандартных структур данных и интерпретатора CPython.

PS: 29 ноября состоится очередной митап на около-python-овские темы. Будут зачитаны 4 доклада:

1.Введение в GIL и новый GIL Андрей Нехайчик gnomeby, Wargaming.net | COOO «Гейм Стрим»
— Треды, отличия от потоков.
— Как использовать треды.
— Тестирование производительности (и облом).
— Представление GIL, как он работает.
— Освобождение по I/O, 100 тиков.
— Зачем нужен GIL.
— Проблемы переключения потоков (медленный захват).
— Проблема 100 тиков.
— Проблема отсутствия приоритетов и их типов.
— Новый GIL, 5 миллисекунд, drop_request.
— Когда drop_request не работает.
— Соревнование CPU и I/O тредов.
— Как борются с GIL: тезисы о numpy, Jython, multiprocessing.

2. Использование gevent для эмуляции высокой нагрузки , Александр Колесень, SiliconMint
Обязательное действие перед выпуском более-менее серьёзного проекта — тестирование производительности. На высоконагруженных проектах нужно точно знать, какую нагрузку они могут выдержать, причём заранее. Следовательно, нужен способ эмуляции высокой конкурентности, желательно чтобы в теории он позволял полностью загрузить канал траффиком. К тому же, неплохо было бы, чтобы для этого не нужно было использовать несколько десятков серверов. В докладе будет рассказано об опыте использования gevent для подобной задачи, что позволило бы обойтись одним t1.micro инстансом, с которого выполняется тестирование.

3. Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные велосипеды., Роман Иманкулов, doist.io
Когда необходимо заставить веб-приложение выполнить тяжелую работу без ухудшения user experience, или нужно по-быстрому собрать кластер на коленке, возникает потребность в распределенном выполнении очередей команд. В докладе будут рассмотрены варианты организации таких очередей подручными средствами, будет выяснено, чем так хорош Celery, есть ли у него достойные альтернативы, и как написать рабочий менеджер очередей в тридцать строчек кода.

4. Опциональная типизация в Python, Андрей Власовских, JetBrains
С появлением новых библиотек и диалектов для типизации Python вновь оживилась
дискуссия о необходимости и способах введения опциональных типов в Python. В докладе будет рассказано о текущем состоянии этой области, в том числе и об инициативах JetBrains.

Как всегда, на митапе вас ждет неформальная обстановка, интересные вопросы по темам докладчиков и вкусные бургеры. Все подробности можно найти на нашей страничке в FB. Всем быть, всем до встречи!
Автор: @Wargaming

Похожие публикации

Комментарии (10)

  • –1
    Жаль, я меня там не было:'(
  • –1
    Про GIL я бы послушал, вот только живу в Москве.
    • +1
      Все доклады будут сниматься на видео (в том числе и про GIL), а готовые ролики можно будет посмотреть в нашем блоге спустя всего пару недель.
    • 0
      Про GIL могу порекомендовать посмотреть вот это видео с Django Meetup www.youtube.com/watch?v=AWX4JnAnjBE
      • 0
        Спасибо, посмотрю на досуге.
      • 0
        Не очень понятно, как причина использания GIL из видео связана с тем, что написано в доках:

        «This lock is necessary mainly because CPython's memory management is not thread-safe»
        • 0
          А в чем вы видите противоречие? Суть как раз в том, что сам код питона написан без мороки с thread-safe'овостью, и это как раз то, что решает GIL.
          • 0
            «Управление памятью» и «весь код питона» — разные по объёму составляющие интерпретатора.
            • 0
              Насколько я понимаю, в данном контексте под «управлением памятью» можно понимать практически все, что угодно. Как вариант, пересчет размера списка после добавления в него элементов. Или доступ на запись к объекту без взятия мьютекса. Вот для того, чтобы при этом не возникало проблем, GIL и написан.
  • 0
    notorca, есть ощущение, что спроектировать язык зарание невозможно в принципе. Если язык живёт — он разваивается, и как бы он ни был хорошо спроектирван изначально, он изменяется. Мастерство в том, чтобы сохранять при этом стабильность. Если язык не развивается — он мёртв. А вот использовать ли мёртвый язык, и совершать ли ритуалы вуду — личное дело каждого.

    Год, или два назад на PyCon US был доклад «Что Питон может заимствовать из Java», так вот у вас получилось в том же духе, только название менее честное.

    Вдогонку: «ретарнов», «йелд» и «нонов» не бывает %)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка