Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE
Привет, Хаброжители! В том году мы делали обзор книги Эрика Мэтиза. На данный момент вышло новое издание с исправленными опечатками и листингами. Сама книга показывает базовые принципы программирования, знакомит со списками, словарями, классами и циклами, учит создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную «стрелялку» с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.
Что делать, если за неделю надо сделать MVP, но не такой, чтобы показать инвестору в лифте, а чтобы с его помощью заработать денег? В докладе мало питона (import django, requests) и много суровой реальности: сайты не нужны, про Телеграм никто не знает, программист может работать без ТЗ
Большинству разработчиков сервисов на Python приходилось менять схему базы данных в какой-то момент жизни сервиса. Эта задача настолько типична, что для неё есть отдельный подмодуль для Django. Всё становится сложнее, если приложение, как типичный микросервис, работает в нескольких экземплярах. И ещё сложнее, если допускать даунтайма сервиса нельзя. В докладе будет рассказано, как эта проблема была решена в Keystone -- сервисе аутентификации и авторизации в OpenStack
Реализуем систему лайков через GenericForeignKey и пишем для нее API силами Django Rest Framework.
В мире Python за первую половину 2017 года произошло множество интересных событий: перенос репозитория проекта на github, интервью с Гвидо на подкасте “Talk Python”, выход новой версии Django и еще много всего. Краткую выжимку вы сможете послушать в нашем традиционном (второй раз — это уже традиция!) докладе на этом Moscow Python Meetup. Будьте в курсе всего нового!
Это продолжение серии статей про оптимизацию Django приложений. Первая часть доступна здесь и рассказывает о профилировании и настройках Django. В этой части мы рассмотрим оптимизацию работы с БД (модели Django).
Django это мощный фреймворк используемый в множестве отличных проектов. Из коробки в нем включено много полезных батареек, которые значительно ускоряют разработку и соответственно уменьшают ее стоимость. Однако, когда проект растет и набирает аудиторию, вы неизбежно столкнетесь с проблемами производительности. В этом посте я попробую рассказать о том с какими проблемами вы можете столкнуться и как их решить.
Это первая статья из серии, здесь будут рассмотрено профилирование и настройки Django.
Для DjangoCMS у каждого разработчика есть возможность написать свой плагин, который можно многократно использовать, но перед этим есть смысл посмотреть на готовые решения. В этой статье я расскажу какие есть сторонние компоненты для DjangoCMS и как их можно использовать в своём проекте.
Сегодняшняя статья будет посвящена сравнению моделей работы с иерархическими данными в PostgreSQL, через Django приложение. В статья я специально не использую чистую реализацию в базе данных, т. к. меня интересует именно производительность в среде, приближенной к боевой.
В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.
Пользователи ищут товары в интернет-магазине, ищут стати, поиск это неотъемлемый компонент сайта. Быстрый и гибкий поиск сложно реализовать средствами реляционных баз данных. Для таких задач используют поисковые движки, один из которых Elasticsearch. Elasticsearch хорошо документирован и доступен из коробки на AWS.
Для работы с elasticsearch используется библиотека elasticsearch-py или elasticsearch-dsl-py. elasticsearch-dsl-py это надстройка над elasticsearch-py, она проста в использовании и поддерживает elasticsearch версии 5.x. На базе этой библиотеки была создана библиотека django-rest-elasticsearch, которая основана на идеологии существующего поиска в Django REST Framework. Ниже я детально распишу как реализовать поиск в Django REST Framework с помощью elasticsearch используя данную библиотеку.
Статья описывает пример использования GenericForeignKey из инструментария Django/Python для создания системы Like Dislike на сайте с использованием полиморфных связей, что позволяет использовать одну модель данных Like Dislike для контента различного типа: Статьи, Комментарии и т.д.
Сложно ли реализовать навигацию для сайта? Разместить на его страницах различного вида меню, навигационные цепочки, предоставить пользователю структурную карту. Давайте ознакомимся с подходом, использующемся в sitetree, который позволяет решать подобные задачи минимальными усилиями.
Некоторое время назад передо мной встала задача: выбрать из таблицы значения по пользователям. Причём, эти значения должны соответствовать определённому регулярному выражению. Но и это не конец условия: из выбранных выражений нужно вытащить substring. Опять же, по регулярке. Сделал я это довольно быстро, и захотелось поделиться опытом с тем, кто ещё не может применять Annotate и Query Expressions на практике
Адаптация статьи REST WORST PRACTICES, © Jacob Kaplan-Moss. Статья написана применительно к Django, но информация будет актуальна для широкого круга специалистов.
Думаю что лучший способ понять как нужно делать, изучить как делать НЕ нужно. Представляю вашему вниманию вредные советы проектировщикам REST API.
Третью часть про Wagtail CMS я решил посветить тем моментам, которые помогли мне снова полюбить Django. Благодаря большому сообществу, которое развивает эту CMS, любой найдет в ней что-то для себя.
В заключительной части будут затронуты следующие моменты: