Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы обсудим Шахматную Идемпотентность. Напишите своими словами, что такое Идемпотентность.
Дата отправки отчёта:
3 сентября 2018 г.
Задание выполнено: за
1 час. 43 мин.
Чему научился:
Добавили возможность находить конкретную игру по АйДи, и добавили эту возможность в адресную строку.
Что было сложным:
Все тесты проходит корректно. Всё ещё "довлеет" надо мной старый баг, влачащийся со времён "ЧессРулз". В конце полухода позиция или не просто не меняется, или снова становится начальной. В Юнити было так же, в Консоли всё работало отлично, ходы меняли позицию, счётчик ходов работал, фигуры ходили корректно. Разумеется, т.к. позиция не меняется, в БД изменения тоже не сохраняются.
Научился: Добавил метод GetGameById, а иначе как мне кажется все желающие при двух или более открытых играх играли бы все в первую или последнюю, потому как ID игры никак не был задействован. Изменил роут в Web API под новый функционал. Добавил в MakeMove проверки на корректность хода: когда партия уже закончена - ходить нельзя, когда такой игры нет, играть в нее тоже нельзя. Трудности: Идемпотентность что-то очень похожее на синглтон. При попытке повторить операцию получаем тот же ответ что получали прошлый раз.