Блог

  • Учусь хранить пользователей через JSON

    После продолжительного перерыва в программировании я постепенно возвращаюсь в Python.
    Последние недели я в основном занимался обновлением своего self-host окружения: приводил в порядок домашний сервер, сервисы и рабочую инфраструктуру. Но сегодня решил снова сосредоточиться именно на коде.
    Моя текущая цель — написать систему регистрации и авторизации для своей консольной игры. Основная логика уже была готова, но оставалась одна важная проблема — сохранение данных пользователей.
    Существует множество способов организовать хранение данных, но я решил начать с самого простого варианта. Для этого использовал модуль json и контекстный менеджер with.

    Все получилось не с первого раза, напрямую нельзя записать класс в словарь, а затем просто скормить json, хотя выход нашелся:

    json_formatted_string = json.dumps(data, default=lambda o: o.__dict__)

    Двигаемся дальше — важно не выбрать самое сложное решение, а понять основы и двигаться дальше.
    Параллельно продолжаю углубляться в работу с классами, словарями и структурой проекта. Постепенно разбиваю программу на отдельные модули: клиентскую часть, серверную логику и вспомогательные файлы. Конечно, это ещё далеко не полноценная архитектура большого приложения, но уже хороший шаг от одного большого файла к более понятной организации кода. Тем более мне давно было интересно работать с одним проектом, разбитым на множество модулей с перекрестным взаимодействием.
    Сейчас моя задача не написать идеальный проект, а выстроить логику проекта и постепенно усложнять решения. Каждый небольшой шаг делает следующий значительно проще, но одновременно сложнее. Иногда приходится возвращаться к предыдущем решениям и полностью переписывать логику.
    Следующий этап — реализовать передвижение персонажа по локациям, создать простую карту для перемещений и написать основную логику взаимодействия с тестовым миром.