Эволюция игрового серверного фреймворка на Python. Часть 1 из 2. Слои инфраструктуры

Допустим, у нас большие планы, и мы хотим реализовать серверную часть для всех основных игровых жанров. Однако, прежде, чем приступить к этому, нужно хорошенько подготовиться. Нужно создать такую основу, которая бы подходила для каждой игры, чтобы пото…

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 3. Первый подход к асинхронности

В прошлый раз мы рассмотрели, что такое синхронное программирование, и с какими проблемами с ним сталкивается разработчик. На примере простого сервера с блокирующими сокетами мы увидели, что в синхронно выполняющейся программе все инструкции выполняютс…

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 1. Введение

Дабы исчерпать до дна тему сокетов в Python я решил изучить все возможные способы их использования в данном языке. Чтобы всех их можно было испытать и попробовать на зуб, были созданы 19 версий простого эхо-сервера: от примитивного использования класса…

Websocket или REST? А зачем выбирать?

В этой статье я описываю, как создать систему, в которой абсолютно каждое действие можно выполнять, как с помощью Websocket, так и с помощью обычных запросов на входные точки REST. Узнать больше…

Поиграем в слова? Автоматическое распознавание букв и нахождение слов в игре Слово

В данной статье на примере проекта, архитектура которого приведена на фото, вы сможете найти ответы на следующие вопросы:- Как работает алгоритм нахождения слов в игре типа Boggle?- Как предобработать изображение для дальнейшего распознавания букв с по…

Группировка вебсокет соединений для асинхронного фреймворка Starlette

Доброго дня!

Меня зовут Соболев Андрей и сегодня мы с вами напишем решение для фреймворка Starlette, которое позволит группировать открытые вебсокет соединения.

Вступление
Starlette довольно молодой фреймворк, и какие-то «плюшки» для него приход…