Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE
Михаил Новиков (Fasttrack, Тимлид)
С одной стороны — это доклад о том, как построить low-code платформу на базе Django Template Language, сделать ее безопасной и дать пользователям описывать бизнес-процессы на языке джанго-шаблонов. С другой — это рассказ для продвинутых (и не очень) разработчиков, как можно извратить джангу и пользоваться абсолютно всеми ее компонентами не по назначению☺ мы переписали роутер, urlconf, middleware, написали свою систему вьюх, свой template engine на базе родного джанговского и тд. Полезное для слушателей — на примере нашего "Django внутри Django" я расскажу о кишках самой джанги, об интересных паттернах, которые в ней применяются (например, миддлвары, которые начиная с версии 2 сделаны в функциональном стиле), об инсайтах по оптимизации (например, оказывается, резолв по урезанной части urlconf’а примерно в 10 раз быстрее резолва по полному urlconf’у) и так далее
Сегодня едва ли не в каждой серьёзной IT-компании от соискателей с порога требуют владения soft skills. Но если, скажем, о Django или Tornado есть книжки и туториалы с достоверными best practices, то о навыках взаимодействия в команде в индустрии часто высказывают диаметрально противоположные мнения. Что же такое soft skills, что ими не является, как их правильно готовить и реально ли наработать?
Из доклада вы узнаете все подробности из жизни внутренних механизмов Django: от первого байта HTTP запроса до последнего байта ответа. Настоящая феерия от том, как работает парсер форм, как компилируется SQL, как реализован шаблонизатор для HTML, как управляется connection pool и т.д. Всё это в хронологическом порядке обработки WSGI объектов.
Во время многих операций по изменению схемы базы данных сервис не может корректно работать на запись. В докладе я расскажу о том, какие операции в PostgreSql требуют длительных блокировок и как мы в Формах Яндекс.Коннекта обеспечиваем почти стопроцентную доступность сервиса на запись во время выполнения таких операций. Также мы поговорим о Django-библиотеке, призванной автоматизировать некоторые из описанных процессов
При разработке сервисов на django, мы столкнулись с тем, что не пользуемся большей частью пакета django-rest-framework, о чем я упоминал на Moscow Python Conf 2017. В итоге мы сделали свой небольшой пакет для простой реализации REST API в Django проектах
В современном мире есть куча нюансов, которые нужно учесть при старте вашего приложения: конфигурация, деплой, тесты, CI, удобство разработки. Расскажу про Bleeding Edge технологии, основная цель которых сделать ваш проект безопасным и удобным
Много лет работая с Django, мне часто приходилось дорабатывать встроенные решения, либо заменять их на свои собственные реализации. На встрече речь пойдёт о механизме HTTP-кэширования Django, об эффективном его использовании и о том, как сделать этот инструмент ещё более эффективным, устранив в нем несколько проблем и добавив новых возможностей. Заодно, разберём лучшие практики HTTP-кэширования и попробуем решить главнейшую проблему в программировании - инвалидацию кэша
Слайды: https://conf.python.ru/django-and-http-cash/
Протокол HTTP/2 поддерживается всеми современными браузерами. Google performance team пропагандирует его адаптацию. Всё больше известных сайтов начинают предоставлять его поддержку наравне с обычным HTTP. Доклад о том, зачем нам это всё надо, какие преимущества в целом даёт и как это готовить в питоне. Да, про Django тоже будет
Слайды: https://conf.python.ru/http2-glazami-potrebitelya/
Занимаюсь разработкой почти 25 лет. Последние 4 года пишу backend и утилиты на Python. В докладе расскажу, из чего можно построить сеть однотипных веб-сайтов с централизованным управлением пользователями и публикуемыми материалами. Как обычно, пишем максимально абстрактный код, чтобы избежать постоянного переписывания кода и "допиливания" под каждый сайт. Я рассмотрю выбранный и отвергнутый инструментарий (Django, Redis, RabbitMQ, Celery, Docker), подход к синхронизации данных, вспомню про любимые аббревиатуры DRY и MVP и расскажу про некоторые ошибки и недоработки. Постараюсь успеть рассказать про deploy
Слайды: https://conf.python.ru/distributed-django/
Сергей Федосеев рассказал о том, как ведётся разработка Django, как можно поучаствовать в этом процессе, а также о своём пути к тому, чтобы стать членом команды Django.
Презентация: https://docs.google.com/presentation/d/106kCANM2AcAz_lyB3gWkoq3E3Le3Yx0NUy4jUA20bz0/
Степан Родионов рассказал о реализованной архитектуре хранения данных на одном из наших SaaS-проектов, реализованных на Django. В ходе доклада он представил пошаговое решение, которое вы сможете использовать в своих проектах, а также показал, какой структуры хранения данных нам удалось добиться, какие положительные и отрицательные эффекты это дало. Доклад будет интересен разработчикам ввиду того, что будет показано, как кастомизировать работу Django в слое доступа к данным.
Презентация: https://speakerdeck.com/pychel/stiepan-rodionov-multi-tenant-django
"Занимаюсь разработкой почти 25 лет. Последние 4 года пишу backend и утилиты на Python. В докладе расскажу, из чего можно построить сеть однотипных веб-сайтов с централизованным управлением пользователями и публикуемыми материалами. Как обычно, пишем максимально абстрактный код, чтобы избежать постоянного переписывания кода и "допиливания" под каждый сайт. Я рассмотрю выбранный и отвергнутый инструментарий (Django, Redis, RabbitMQ, Celery, Docker), подход к синхронизации данных, вспомню про любимые аббревиатуры DRY и MVP и расскажу про некоторые ошибки и недоработки. Постараюсь успеть рассказать про deploy".
Слайды: https://conf.python.ru/distributed-django/
"Много лет работая с Django, мне часто приходилось дорабатывать встроенные решения, либо заменять их на свои собственные реализации. На встрече речь пойдёт о механизме HTTP-кэширования Django, об эффективном его использовании и о том, как сделать этот инструмент ещё более эффективным, устранив в нем несколько проблем и добавив новых возможностей. Заодно, разберём лучшие практики HTTP-кэширования и попробуем решить главнейшую проблему в программировании - инвалидацию кэша".
Слайды: https://conf.python.ru/django-and-http-cash/
"Протокол HTTP/2 поддерживается всеми современными браузерами. Google performance team пропагандирует его адаптацию. Всё больше известных сайтов начинают предоставлять его поддержку наравне с обычным HTTP. Доклад о том, зачем нам это всё надо, какие преимущества в целом даёт и как это готовить в питоне. Да, про Django тоже будет".
Слайды: https://conf.python.ru/http2-glazami-potrebitelya/
Видео со встречи сообщества PyNSK.
Докладчик: Анатолий Щербаков
О докладе:
Софт для автоматизации бизнеса составляет значительную часть всего существующего на планете программного обеспечения. Рассмотрим требования к нему и особенности его разработки. Оценим, насколько Python для этого подходит, и облегчают ли фреймворки жизнь в кровавом энтерпрайзе.
Слайды: https://www.slideshare.net/PyNSK/python-django-79202374
Что делать, если за неделю надо сделать MVP, но не такой, чтобы показать инвестору в лифте, а чтобы с его помощью заработать денег? В докладе мало питона (import django, requests) и много суровой реальности: сайты не нужны, про Телеграм никто не знает, программист может работать без ТЗ
Большинству разработчиков сервисов на Python приходилось менять схему базы данных в какой-то момент жизни сервиса. Эта задача настолько типична, что для неё есть отдельный подмодуль для Django. Всё становится сложнее, если приложение, как типичный микросервис, работает в нескольких экземплярах. И ещё сложнее, если допускать даунтайма сервиса нельзя. В докладе будет рассказано, как эта проблема была решена в Keystone -- сервисе аутентификации и авторизации в OpenStack