Web программирование

Рекурсивные отношения моделей в Django

| Python

В разработке современных веб-приложений часто возникает ситуации, когда техническое задание подразумевает использование рекурсивных отношений. Одним из хорошо известных примеров такого рода является определение объектов сотрудников и их отношение к менеджерам, которые также являются сотрудниками. Обратите внимание на циклический характер этого утверждения. Это именно то, что подразумевается под рекурсивными отношениями. В этой статье будет представлено простое Django приложения для работы с персоналом с рекурсивными отношениями между сотрудниками и менеджерами.

Читать дальше →

Кадрирование картинки в командной строке

| Python

Если вы любите фотографировать, то вероятно, время от времени обрезаете свои фотографии. Некоторые фотографы кадрируют свои фотографии, чтобы избавиться от фонового шума или просто сфокусировать взгляд зрителя на каком-либо предмете. Мне нравятся кадрировать фотографии с высоким разрешением цветов и других растений, чтобы было похоже, что фотограф был ещё ближе к объекту.

Читать дальше →

Создание чата с использованием Django Channels

| Python

Стандартное Django приложение обрабатывает HTTP запросы, используя рабочий цикл запрос-ответ. Запрос создаётся браузером пользователя, далее он выполняется соответствующим Django view, которое возвращает ответ пользователю. Цикл запрос-ответ не подходит для приложений реального времени, которые требуют частых запросов к серверу. Новые стандарты, такие как websockets и HTTP2 позволяют устранить некоторые из этих недостатков. WebSockets – это новый протокол связи, который обеспечивает полнодуплексные каналы связи по одному TCP соединению и хорошо подходит для приложений реального времени. Открытие и поддержание соединения с сервером с помощью websocket очень дёшево с точки зрения потребления памяти и вычислительных ресурсов процессора.

Читать дальше →